user: 请将以下的汇编代码转换成C语言代码：

```asm
<Tags>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xe0,%rsp
  mov    %rdi,-0xd8(%rbp)
  mov    %rsi,-0xe0(%rbp)
  mov    -0xd8(%rbp),%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  add    $0x8,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xe0(%rbp),%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  mov    -0xd0(%rbp),%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0xc8(%rbp)
  mov    -0xe0(%rbp),%rax
  movsd  0x8(%rax),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  mov    -0xc0(%rbp),%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0xb8(%rbp)
  movsd  -0xc8(%rbp),%xmm1
  movsd  D49(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0xd8(%rbp),%rax
  add    $0x10,%rax
  mulsd  -0xb8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  lea    0x18(%rax),%rdx
  mov    -0xd8(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0xc0(%rbp),%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0xe0(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  mov    -0xa8(%rbp),%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xe0(%rbp),%rax
  movsd  0x18(%rax),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  mov    -0x98(%rbp),%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x90(%rbp)
  mov    -0x98(%rbp),%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x88(%rbp)
  movsd  -0x88(%rbp),%xmm1
  movsd  D57(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  D204(%rip),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  -0xb0(%rbp),%xmm1
  movsd  D57(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  mulsd  -0x90(%rbp),%xmm0
  movsd  -0xb8(%rbp),%xmm1
  mulsd  -0x80(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  mov    -0xd0(%rbp),%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x70(%rbp)
  mov    -0xa8(%rbp),%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x68(%rbp)
  movsd  -0xc8(%rbp),%xmm0
  mulsd  -0x78(%rbp),%xmm0
  movsd  -0x70(%rbp),%xmm2
  movsd  D57(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x68(%rbp),%xmm1
  mulsd  -0x90(%rbp),%xmm1
  mov    -0xd8(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  lea    0x28(%rax),%rdx
  mov    -0xd8(%rbp),%rax
  movsd  0x20(%rax),%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0xd8(%rbp),%rax
  lea    0x30(%rax),%rdx
  mov    -0xd8(%rbp),%rax
  movsd  0x28(%rax),%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0xe0(%rbp),%rax
  movsd  0x20(%rax),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  mov    -0x60(%rbp),%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x58(%rbp)
  mov    -0xe0(%rbp),%rax
  movsd  0x28(%rax),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x50(%rbp),%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x50(%rbp),%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x40(%rbp)
  movsd  -0x40(%rbp),%xmm1
  movsd  D26(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  D105(%rip),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0x88(%rbp),%xmm1
  movsd  D26(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  movsd  -0x90(%rbp),%xmm1
  mulsd  -0x38(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  mov    -0x60(%rbp),%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x28(%rbp)
  movsd  -0xa0(%rbp),%xmm0
  mulsd  -0x30(%rbp),%xmm0
  movsd  -0x68(%rbp),%xmm2
  movsd  D26(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x28(%rbp),%xmm1
  mulsd  -0x48(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  -0x90(%rbp),%xmm1
  movsd  D26(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  -0x58(%rbp),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  movsd  D154(%rip),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x88(%rbp),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0x20(%rbp),%xmm0
  movsd  -0xb8(%rbp),%xmm1
  mulsd  -0x18(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x68(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x30(%rbp),%xmm1
  movsd  -0xa0(%rbp),%xmm2
  movsd  D26(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x28(%rbp),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0xc8(%rbp),%xmm1
  movsd  D114(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  -0x10(%rbp),%xmm0
  movsd  -0x70(%rbp),%xmm2
  movsd  D114(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x8(%rbp),%xmm1
  mov    -0xd8(%rbp),%rax
  add    $0x38,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  add    $0x40,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  add    $0x48,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x70(%rbp),%xmm1
  movsd  D49(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0xd8(%rbp),%rax
  add    $0x50,%rax
  mulsd  -0xb8(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  lea    0x58(%rax),%rdx
  mov    -0xd8(%rbp),%rax
  movsd  0x50(%rax),%xmm0
  movsd  %xmm0,(%rdx)
  movsd  -0x70(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x78(%rbp),%xmm1
  movsd  -0xc8(%rbp),%xmm2
  movsd  D57(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x68(%rbp),%xmm0
  mulsd  -0x90(%rbp),%xmm0
  mov    -0xd8(%rbp),%rax
  add    $0x60,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  lea    0x68(%rax),%rdx
  mov    -0xd8(%rbp),%rax
  movsd  0x60(%rax),%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0xd8(%rbp),%rax
  lea    0x70(%rax),%rdx
  mov    -0xd8(%rbp),%rax
  movsd  0x68(%rax),%xmm0
  movsd  %xmm0,(%rdx)
  movsd  -0x70(%rbp),%xmm1
  movsd  D114(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x10(%rbp),%xmm1
  movsd  -0xc8(%rbp),%xmm2
  movsd  D114(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x8(%rbp),%xmm0
  mov    -0xd8(%rbp),%rax
  add    $0x78,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  add    $0x88,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  add    $0x90,%rax
  movsd  -0xb0(%rbp),%xmm1
  movsd  D49(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  lea    0x98(%rax),%rdx
  mov    -0xd8(%rbp),%rax
  movsd  0x90(%rax),%xmm0
  movsd  %xmm0,(%rdx)
  movsd  -0xb8(%rbp),%xmm1
  movsd  D162(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  mulsd  -0x90(%rbp),%xmm0
  movsd  -0xb0(%rbp),%xmm1
  mulsd  -0x80(%rbp),%xmm1
  mov    -0xd8(%rbp),%rax
  add    $0xa0,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0xd8(%rbp),%rax
  lea    0xa8(%rax),%rdx
  mov    -0xd8(%rbp),%rax
  movsd  0xa0(%rax),%xmm0
  movsd  %xmm0,(%rdx)
  mov    -0xd8(%rbp),%rax
  lea    0xb0(%rax),%rdx
  mov    -0xd8(%rbp),%rax
  movsd  0xa8(%rax),%xmm0
  movsd  %xmm0,(%rdx)
  movsd  -0xb8(%rbp),%xmm1
  movsd  D114(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x20(%rbp),%xmm1
  movsd  D207(%rip),%xmm0
  subsd  %xmm1,%xmm0
  movsd  -0xb0(%rbp),%xmm2
  movsd  D114(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  mov    -0xd8(%rbp),%rax
  add    $0xb8,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  nop
  leave
  ret
```

tool_calls: name: read_data
arguments: label: D49
type_guessed: f64
name: read_data
arguments: label: D57
type_guessed: f64
name: read_data
arguments: label: D204
type_guessed: byte[8]
name: read_data
arguments: label: D26
type_guessed: f64
name: read_data
arguments: label: D105
type_guessed: byte[8]
name: read_data
arguments: label: D154
type_guessed: f64
name: read_data
arguments: label: D114
type_guessed: byte[8]
name: read_data
arguments: label: D162
type_guessed: byte[8]
name: read_data
arguments: label: D207
type_guessed: byte[8]

tool: D49: 0.45

tool: D57: 0.48

tool: {"D204": [0xcd,0xcc,0xcc,0xcc,0xcc,0xcc,0xdc,0xbf]}

tool: D26: 0.11004

tool: {"D105": [0x00,0xae,0x64,0xc7,0x46,0x20,0x06,0xc0]}

tool: D154: 6.7391

tool: {"D114": [0xeb,0xe6,0xbb,0x0e,0x7a,0xdd,0xa2,0x3f]}

tool: {"D162": [0xb8,0x1e,0x85,0xeb,0x51,0xb8,0xde,0xbf]}

tool: {"D207": [0x51,0xca,0x30,0xb4,0x71,0xd4,0x6b,0xbf]}

assistant: ```c
void Tags(T, q) double T[24];
double q[7];
{
  double t1;
  double t10;
  double t11;
  double t14;
  double t16;
  double t18;
  double t2;
  double t20;
  double t21;
  double t25;
  double t26;
  double t28;
  double t29;
  double t3;
  double t32;
  double t34;
  double t36;
  double t38;
  double t4;
  double t42;
  double t48;
  double t50;
  double t57;
  double t6;
  double t7;
  double t8;
  {
    T[0] = 0.0;
    T[1] = 0.0;
    t1 = q[0];
    t2 = cos(t1);
    t3 = q[1];
    t4 = sin(t3);
    T[2] = 0.45 * t2 * t4;
    T[3] = T[2];
    t6 = cos(t3);
    t7 = q[2];
    t8 = cos(t7);
    t10 = q[3];
    t11 = sin(t10);
    t14 = cos(t10);
    t16 = -0.45 - 0.48 * t14;
    t18 = 0.48 * t6 * t8 * t11 - t4 * t16;
    t20 = sin(t1);
    t21 = sin(t7);
    T[4] = t2 * t18 - 0.48 * t20 * t21 * t11;
    T[5] = T[4];
    T[6] = T[5];
    t25 = q[4];
    t26 = cos(t25);
    t28 = q[5];
    t29 = sin(t28);
    t32 = cos(t28);
    t34 = -0.276576E1 - 0.11004 * t32;
    t36 = 0.11004 * t14 * t26 * t29 - t11 * t34;
    t38 = sin(t25);
    t42 = t8 * t36 - 0.11004 * t21 * t38 * t29;
    t48 = -0.67391E1 + 0.11004 * t11 * t26 * t29 + t14 * t34;
    t50 = t6 * t42 - t4 * t48;
    t57 = t21 * t36 + 0.11004 * t8 * t38 * t29;
    T[7] = 0.3684598379E-1 * t2 * t50 - 0.3684598379E-1 * t20 * t57;
    T[8] = 0.0;
    T[9] = 0.0;
    T[10] = 0.45 * t20 * t4;
    T[11] = T[10];
    T[12] = t20 * t18 + 0.48 * t2 * t21 * t11;
    T[13] = T[12];
    T[14] = T[13];
    T[15] = 0.3684598379E-1 * t20 * t50 + 0.3684598379E-1 * t2 * t57;
    T[16] = 0.0;
    T[17] = 0.0;
    T[18] = 0.45 * t6;
    T[19] = T[18];
    T[20] = -0.48 * t4 * t8 * t11 - t6 * t16;
    T[21] = T[20];
    T[22] = T[21];
    T[23] = -0.3397199705E-2 - 0.3684598379E-1 * t4 * t42 - 0.3684598379E-1 * t6 * t48;
    return;
  }
}
```