user: What would the C source look like for the assembly code provided here:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %r12
  push   %rbx
  sub    $0x30,%rsp
  mov    %edi,-0x34(%rbp)
  mov    %rsi,-0x40(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x18(%rbp)
  xor    %eax,%eax
  movl   $0x0,-0x24(%rbp)
  mov    $0xffffffff,%edi
  call   <acos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x20(%rbp)
  cmpl   $0x4,-0x34(%rbp)
  jne    L5
  mov    -0x40(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rax
  lea    -0x2c(%rbp),%rdx
  lea    D1(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sscanf@plt>
  mov    -0x40(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rax
  lea    -0x28(%rbp),%rdx
  lea    D1(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sscanf@plt>
  mov    -0x40(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%rax
  lea    -0x24(%rbp),%rdx
  lea    D1(%rip),%rcx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <sscanf@plt>
  mov    -0x2c(%rbp),%eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  mov    -0x24(%rbp),%edx
  imul   %edx,%eax
  mov    %eax,%ebx
  mov    -0x2c(%rbp),%eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  mov    -0x24(%rbp),%edx
  imul   %edx,%eax
  mov    %ebx,%edx
  mov    %eax,%esi
  lea    D50(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    -0x28(%rbp),%eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  mov    -0x24(%rbp),%edx
  imul   %edx,%eax
  mov    %eax,%ebx
  mov    -0x28(%rbp),%eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  mov    -0x24(%rbp),%edx
  imul   %edx,%eax
  mov    %ebx,%edx
  mov    %eax,%esi
  lea    D84(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    -0x28(%rbp),%eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  mov    %eax,%ebx
  mov    -0x2c(%rbp),%eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  sub    %eax,%ebx
  mov    %ebx,%edx
  mov    -0x24(%rbp),%eax
  mov    %edx,%ebx
  imul   %eax,%ebx
  mov    -0x28(%rbp),%eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  mov    %eax,%r12d
  mov    -0x2c(%rbp),%eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  D127(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  mov    %r12d,%edx
  sub    %eax,%edx
  mov    -0x24(%rbp),%eax
  imul   %edx,%eax
  mov    %ebx,%edx
  mov    %eax,%esi
  lea    D11(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
L5:
  mov    $0x0,%eax
  mov    -0x18(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L14
  call   <__stack_chk_fail@plt>
L14:
  add    $0x30,%rsp
  pop    %rbx
  pop    %r12
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D1
data_type: string
name: extract_symbolic_data
arguments: data_tag: D127
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D50
data_type: string
name: extract_symbolic_data
arguments: data_tag: D84
data_type: string
name: extract_symbolic_data
arguments: data_tag: D11
data_type: string

tool: D1: %d

tool: {"D127": [0x00,0x00,0x00,0x00,0x00,0x80,0x66,0x40]}

tool: D50: (x1,y1) : (%f,%f)


tool: D84: (x2,y2) : (%f,%f)


tool: D11: Vector : (%f,%f)


assistant: ```c
int main(int argc, char **argv) {
  int tTa1, tTa2;
  int r = 0;
  double pi = acos(-1);
  if (argc == 4) {
    sscanf(argv[1], "%d", &tTa1);
    sscanf(argv[2], "%d", &tTa2);
    sscanf(argv[3], "%d", &r);
    printf("(x1,y1) : (%f,%f)\n", r * sin(pi * tTa1 / 180), r * cos(pi * tTa1 / 180));
    printf("(x2,y2) : (%f,%f)\n", r * sin(pi * tTa2 / 180), r * cos(pi * tTa2 / 180));
    printf("Vector : (%f,%f)\n", r * (sin(pi * tTa2 / 180) - sin(pi * tTa1 / 180)), r * (cos(pi * tTa2 / 180) - cos(pi * tTa1 / 180)));
  } else {
  }
  return 0;
}
```