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

```asm
<cose>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  movss  %xmm0,-0x14(%rbp)
  pxor   %xmm1,%xmm1
  cvtss2sd -0x14(%rbp),%xmm1
  movsd  D62(%rip),%xmm0
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x14(%rbp)
  pxor   %xmm0,%xmm0
  cvtss2sd -0x14(%rbp),%xmm0
  comisd D14(%rip),%xmm0
  jbe    L57
  pxor   %xmm0,%xmm0
  cvtss2sd -0x14(%rbp),%xmm0
  movsd  D51(%rip),%xmm1
  subsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x14(%rbp)
L57:
  pxor   %xmm0,%xmm0
  movss  %xmm0,-0x4(%rbp)
  pxor   %xmm0,%xmm0
  comiss -0x14(%rbp),%xmm0
  jbe    L52
  pxor   %xmm1,%xmm1
  cvtss2sd -0x14(%rbp),%xmm1
  movsd  D120(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  pxor   %xmm2,%xmm2
  cvtss2sd -0x14(%rbp),%xmm2
  movsd  D69(%rip),%xmm0
  mulsd  %xmm0,%xmm2
  pxor   %xmm0,%xmm0
  cvtss2sd -0x14(%rbp),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x4(%rbp)
  pxor   %xmm0,%xmm0
  comiss -0x4(%rbp),%xmm0
  jbe    L59
  movss  -0x4(%rbp),%xmm0
  movss  D99(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mulss  -0x4(%rbp),%xmm0
  subss  -0x4(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D38(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtss2sd -0x4(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x4(%rbp)
  jmp    L1
L59:
  movss  -0x4(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  subss  -0x4(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D38(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtss2sd -0x4(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x4(%rbp)
  jmp    L1
L52:
  pxor   %xmm1,%xmm1
  cvtss2sd -0x14(%rbp),%xmm1
  movsd  D120(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm2,%xmm2
  cvtss2sd -0x14(%rbp),%xmm2
  movsd  D69(%rip),%xmm1
  mulsd  %xmm1,%xmm2
  pxor   %xmm1,%xmm1
  cvtss2sd -0x14(%rbp),%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x4(%rbp)
  pxor   %xmm0,%xmm0
  comiss -0x4(%rbp),%xmm0
  jbe    L65
  movss  -0x4(%rbp),%xmm0
  movss  D99(%rip),%xmm1
  xorps  %xmm1,%xmm0
  mulss  -0x4(%rbp),%xmm0
  subss  -0x4(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D38(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtss2sd -0x4(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x4(%rbp)
  jmp    L1
L65:
  movss  -0x4(%rbp),%xmm0
  mulss  %xmm0,%xmm0
  subss  -0x4(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm1
  movsd  D38(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  cvtss2sd -0x4(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x4(%rbp)
L1:
  movss  -0x4(%rbp),%xmm0
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D62
datatype: f64
name: extract_symbolic_data
arguments: data_label: D14
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D51
datatype: f64
name: extract_symbolic_data
arguments: data_label: D120
datatype: f64
name: extract_symbolic_data
arguments: data_label: D69
datatype: f64
name: extract_symbolic_data
arguments: data_label: D99
datatype: byte[4]
name: extract_symbolic_data
arguments: data_label: D38
datatype: byte[8]

tool: D62: 1.57079632

tool: {"D14": [3.14159265,6.28318531]}

tool: D51: 6.28318531

tool: D120: 1.27323954

tool: D69: 0.405284735

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

tool: {"D38": [0xcd,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x3f]}

assistant: ```c
float cose(float x) {
  x += 1.57079632;
  if (x > 3.14159265)
    x -= 6.28318531;
  float result = 0.0;
  if (x < 0) {
    result = 1.27323954 * x + 0.405284735 * x * x;
    if (result < 0)
      result = .225 * (result * -result - result) + result;
    else
      result = .225 * (result * result - result) + result;
  } else {
    result = 1.27323954 * x - 0.405284735 * x * x;
    if (result < 0)
      result = .225 * (result * -result - result) + result;
    else
      result = .225 * (result * result - result) + result;
  }
  return result;
}
```