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

```asm
<arithmetic>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x40,%rsp
  movl   $0x6,-0x3c(%rbp)
  movl   $0x9,-0x38(%rbp)
  movsd  D364(%rip),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D560(%rip),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  D31(%rip),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  D396(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D162(%rip),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x3c(%rbp),%edx
  mov    -0x38(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  sub    -0x38(%rbp),%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  imul   -0x38(%rbp),%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  cltd
  idivl  -0x38(%rbp)
  mov    %eax,-0x34(%rbp)
  mov    -0x38(%rbp),%eax
  cltd
  idivl  -0x3c(%rbp)
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  cltd
  idivl  -0x38(%rbp)
  mov    %edx,-0x34(%rbp)
  mov    -0x38(%rbp),%eax
  cltd
  idivl  -0x3c(%rbp)
  mov    %edx,-0x34(%rbp)
  mov    -0x38(%rbp),%eax
  sub    -0x3c(%rbp),%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  sub    -0x38(%rbp),%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  mov    %eax,%edx
  mov    -0x38(%rbp),%eax
  imul   %edx,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  cltd
  idivl  -0x38(%rbp)
  mov    %eax,-0x34(%rbp)
  mov    -0x38(%rbp),%eax
  neg    %eax
  cltd
  idivl  -0x3c(%rbp)
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  cltd
  idivl  -0x38(%rbp)
  mov    %edx,-0x34(%rbp)
  mov    -0x38(%rbp),%eax
  neg    %eax
  cltd
  idivl  -0x3c(%rbp)
  mov    %edx,-0x34(%rbp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x38(%rbp),%xmm0
  pxor   %xmm3,%xmm3
  cvtsi2sdl -0x3c(%rbp),%xmm3
  movq   %xmm3,%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x3c(%rbp),%xmm0
  pxor   %xmm4,%xmm4
  cvtsi2sdl -0x38(%rbp),%xmm4
  movq   %xmm4,%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x38(%rbp),%xmm0
  mov    -0x3c(%rbp),%eax
  neg    %eax
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movq   %xmm5,%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x3c(%rbp),%xmm0
  mov    -0x38(%rbp),%eax
  neg    %eax
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movq   %xmm6,%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x38(%rbp),%eax
  neg    %eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  pxor   %xmm7,%xmm7
  cvtsi2sdl -0x3c(%rbp),%xmm7
  movq   %xmm7,%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  pxor   %xmm3,%xmm3
  cvtsi2sdl -0x38(%rbp),%xmm3
  movq   %xmm3,%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x38(%rbp),%eax
  neg    %eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mov    -0x3c(%rbp),%eax
  neg    %eax
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movq   %xmm4,%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mov    -0x38(%rbp),%eax
  neg    %eax
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movq   %xmm5,%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  pxor   %xmm6,%xmm6
  cvtsi2sdl -0x3c(%rbp),%xmm6
  movq   %xmm6,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movq   %xmm7,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  pxor   %xmm3,%xmm3
  cvtsi2sdl -0x3c(%rbp),%xmm3
  movq   %xmm3,%rax
  movq   %rax,%xmm0
  call   <log@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movq   %xmm4,%rax
  movq   %rax,%xmm0
  call   <log@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  pxor   %xmm5,%xmm5
  cvtsi2sdl -0x3c(%rbp),%xmm5
  movq   %xmm5,%rax
  movq   %rax,%xmm0
  call   <log2@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movq   %xmm6,%rax
  movq   %rax,%xmm0
  call   <log2@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  pxor   %xmm7,%xmm7
  cvtsi2sdl -0x3c(%rbp),%xmm7
  movq   %xmm7,%rax
  movq   %rax,%xmm0
  call   <log10@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x3c(%rbp),%eax
  neg    %eax
  pxor   %xmm3,%xmm3
  cvtsi2sd %eax,%xmm3
  movq   %xmm3,%rax
  movq   %rax,%xmm0
  call   <log10@plt>
  cvttsd2si %xmm0,%eax
  mov    %eax,-0x34(%rbp)
  movsd  -0x30(%rbp),%xmm0
  addsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  subsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  mulsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  divsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  divsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  subsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  subsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movsd  -0x28(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  divsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  divsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movsd  -0x30(%rbp),%xmm0
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x30(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  mov    -0x28(%rbp),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  movapd %xmm0,%xmm2
  xorpd  %xmm1,%xmm2
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movapd %xmm2,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  movapd %xmm0,%xmm2
  xorpd  %xmm1,%xmm2
  movsd  -0x28(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movapd %xmm2,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x30(%rbp),%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x30(%rbp),%rax
  movq   %rax,%xmm0
  call   <log@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <log@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x30(%rbp),%rax
  movq   %rax,%xmm0
  call   <log2@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <log2@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  mov    -0x30(%rbp),%rax
  movq   %rax,%xmm0
  call   <log10@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <log10@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x10(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x20(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x18(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x10(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x20(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x18(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x10(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <tan@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x20(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <tan@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x18(%rbp),%xmm1
  movsd  D12(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <tan@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  divsd  %xmm0,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <atan@plt>
  movsd  D127(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  D12(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  divsd  %xmm0,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <atan@plt>
  movsd  D127(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  D12(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x30(%rbp),%xmm0
  divsd  -0x28(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <atan@plt>
  movsd  D127(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  D12(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  divsd  -0x30(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <atan@plt>
  movsd  D127(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  D12(%rip),%xmm2
  movapd %xmm0,%xmm1
  divsd  %xmm2,%xmm1
  pxor   %xmm0,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  divsd  -0x30(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <atan@plt>
  movsd  D127(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  D12(%rip),%xmm2
  movapd %xmm0,%xmm1
  divsd  %xmm2,%xmm1
  movsd  D127(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  divsd  -0x30(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <atan@plt>
  movsd  D127(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  D12(%rip),%xmm2
  movapd %xmm0,%xmm1
  divsd  %xmm2,%xmm1
  movsd  D127(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movq   D9(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  divsd  -0x30(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <atan@plt>
  movsd  D127(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  D12(%rip),%xmm2
  movapd %xmm0,%xmm1
  divsd  %xmm2,%xmm1
  movsd  D10(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  nop
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: tag: D364
data_type: f64
name: retrieve_data
arguments: tag: D560
data_type: f64
name: retrieve_data
arguments: tag: D31
data_type: f64
name: retrieve_data
arguments: tag: D396
data_type: f64
name: retrieve_data
arguments: tag: D162
data_type: f64
name: retrieve_data
arguments: tag: D9
data_type: byte[8]
name: retrieve_data
arguments: tag: D12
data_type: f64
name: retrieve_data
arguments: tag: D127
data_type: f64
name: retrieve_data
arguments: tag: D10
data_type: byte[8]

tool: D364: 6

tool: D560: 9

tool: D31: 45

tool: D396: 60

tool: D162: 30

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

tool: D12: 3.14159265

tool: D127: 180

tool: {"D10": [0x00,0x00,0x00,0x00,0x00,0x80,0x76,0x40]}

assistant: ```c
void arithmetic() {
  int a;
  int b;
  int c;
  a = 6;
  b = 9;
  double aa = 6, bb = 9, cc;
  double fortyfive = 45, sixty = 60, thirty = 30;
  c = a + b;
  c = a - b;
  c = a * b;
  c = a / b;
  c = b / a;
  c = a % b;
  c = b % a;
  c = -a + b;
  c = -a - b;
  c = -a * b;
  c = -a / b;
  c = -b / a;
  c = -a % b;
  c = -b % a;
  c = pow(a, b);
  c = pow(b, a);
  c = pow(-a, b);
  c = pow(-b, a);
  c = pow(a, -b);
  c = pow(b, -a);
  c = pow(-a, -b);
  c = pow(-b, -a);
  c = sqrt(a);
  c = sqrt(-a);
  c = log(a);
  c = log(-a);
  c = log2(a);
  c = log2(-a);
  c = log10(a);
  c = log10(-a);
  cc = aa + bb;
  cc = aa - bb;
  cc = aa * bb;
  cc = aa / bb;
  cc = bb / aa;
  cc = -aa + bb;
  cc = -aa - bb;
  cc = -aa * bb;
  cc = -aa / bb;
  cc = -bb / aa;
  cc = pow(aa, bb);
  cc = pow(bb, aa);
  cc = pow(-aa, bb);
  cc = pow(-bb, aa);
  cc = pow(aa, -bb);
  cc = pow(bb, -aa);
  cc = pow(-aa, -bb);
  cc = pow(-bb, -aa);
  cc = sqrt(aa);
  cc = sqrt(-aa);
  cc = log(aa);
  cc = log(-aa);
  cc = log2(aa);
  cc = log2(-aa);
  cc = log10(aa);
  cc = log10(-aa);
  cc = sin(aa * 3.14159265);
  cc = sin(bb * 3.14159265);
  cc = sin(thirty * 3.14159265 / 180.0);
  cc = sin(fortyfive * 3.14159265 / 180.0);
  cc = sin(sixty * 3.14159265 / 180.0);
  cc = cos(aa * 3.14159265);
  cc = cos(bb * 3.14159265);
  cc = cos(thirty * 3.14159265 / 180.0);
  cc = cos(fortyfive * 3.14159265 / 180.0);
  cc = cos(sixty * 3.14159265 / 180.0);
  cc = tan(thirty * 3.14159265 / 180.0);
  cc = tan(fortyfive * 3.14159265 / 180.0);
  cc = tan(sixty * 3.14159265 / 180.0);
  cc = atan(aa / aa) * 180 / 3.14159265;
  cc = atan(bb / bb) * 180 / 3.14159265;
  cc = atan(aa / bb) * 180 / 3.14159265;
  cc = atan(bb / aa) * 180 / 3.14159265 + 0;
  cc = atan(bb / -aa) * 180 / 3.14159265 + 180;
  cc = atan(bb / aa) * 180 / 3.14159265 + 180;
  cc = atan(-bb / aa) * 180 / 3.14159265 + 360;
}
```