user: 下面的汇编指令对应的C源代码是什么：

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  movl   $0x3,-0x10(%rbp)
  movl   $0x6,-0xc(%rbp)
  movsd  D59(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  pxor   %xmm2,%xmm2
  cvtsi2sdl -0x10(%rbp),%xmm2
  movq   %xmm2,%rax
  movq   %rax,%xmm0
  lea    D43(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  pxor   %xmm3,%xmm3
  cvtsi2sdl -0xc(%rbp),%xmm3
  movq   %xmm3,%rax
  movq   %rax,%xmm0
  lea    D125(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    -0x10(%rbp),%edx
  mov    -0xc(%rbp),%eax
  add    %edx,%eax
  pxor   %xmm4,%xmm4
  cvtsi2sd %eax,%xmm4
  movq   %xmm4,%rax
  movq   %rax,%xmm0
  lea    D85(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    -0x10(%rbp),%eax
  sub    -0xc(%rbp),%eax
  pxor   %xmm5,%xmm5
  cvtsi2sd %eax,%xmm5
  movq   %xmm5,%rax
  movq   %rax,%xmm0
  lea    D30(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    -0x10(%rbp),%eax
  cltd
  idivl  -0xc(%rbp)
  pxor   %xmm6,%xmm6
  cvtsi2sd %eax,%xmm6
  movq   %xmm6,%rax
  movq   %rax,%xmm0
  lea    D81(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    -0x10(%rbp),%eax
  imul   -0xc(%rbp),%eax
  pxor   %xmm7,%xmm7
  cvtsi2sd %eax,%xmm7
  movq   %xmm7,%rax
  movq   %rax,%xmm0
  lea    D3(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    -0x8(%rbp),%rax
  movq   %rax,%xmm0
  lea    D25(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  pxor   %xmm2,%xmm2
  cvtsi2sdl -0xc(%rbp),%xmm2
  movq   %xmm2,%rax
  movq   %rax,%xmm0
  lea    D125(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0xc(%rbp),%xmm0
  addsd  -0x8(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  lea    D124(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  pxor   %xmm1,%xmm1
  cvtsi2sdl -0xc(%rbp),%xmm1
  movsd  -0x8(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  lea    D40(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  pxor   %xmm1,%xmm1
  cvtsi2sdl -0xc(%rbp),%xmm1
  movsd  -0x8(%rbp),%xmm0
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  lea    D22(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0xc(%rbp),%xmm0
  mulsd  -0x8(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  lea    D112(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  leave
  ret
```

tool_calls: name: unpack_data
arguments: data_label: D59
type: f64
name: unpack_data
arguments: data_label: D43
type: string
name: unpack_data
arguments: data_label: D125
type: string
name: unpack_data
arguments: data_label: D85
type: string
name: unpack_data
arguments: data_label: D30
type: string
name: unpack_data
arguments: data_label: D81
type: string
name: unpack_data
arguments: data_label: D3
type: string
name: unpack_data
arguments: data_label: D25
type: string
name: unpack_data
arguments: data_label: D124
type: string
name: unpack_data
arguments: data_label: D40
type: string
name: unpack_data
arguments: data_label: D22
type: string
name: unpack_data
arguments: data_label: D112
type: string

tool: D59: 1.2

tool: D43: a=%d


tool: D125: b=%d


tool: D85: a+b=%d


tool: D30: a-b=%d


tool: D81: a/b=%d


tool: D3: a*b=%d


tool: D25: c=%lf


tool: D124: c+b=%lf


tool: D40: c-b=%lf


tool: D22: c/b=%lf


tool: D112: c*b=%lf


assistant: ```c
int main() {
  int a;
  int b;
  double c;
  a = 3;
  b = 6;
  c = 1.2;
  printf("a=%d\n", a);
  printf("b=%d\n", b);
  printf("a+b=%d\n", a + b);
  printf("a-b=%d\n", a - b);
  printf("a/b=%d\n", a / b);
  printf("a*b=%d\n", a * b);
  printf("c=%lf\n", c);
  printf("b=%d\n", b);
  printf("c+b=%lf\n", c + b);
  printf("c-b=%lf\n", c - b);
  printf("c/b=%lf\n", c / b);
  printf("c*b=%lf\n", c * b);
  return 0;
  return 0;
}
```