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

```asm
<bessi0>:
  endbr64
  push   %rbx
  sub    $0x10,%rsp
  movapd %xmm0,%xmm3
  andpd  D127(%rip),%xmm3
  movsd  %xmm3,(%rsp)
  movsd  D94(%rip),%xmm1
  comisd %xmm3,%xmm1
  jbe    L18
  movapd %xmm0,%xmm1
  divsd  D94(%rip),%xmm1
  mulsd  %xmm1,%xmm1
  movapd %xmm1,%xmm0
  mulsd  D157(%rip),%xmm0
  addsd  D106(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  addsd  D77(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  addsd  D51(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  addsd  D112(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  addsd  D18(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  addsd  D24(%rip),%xmm0
L28:
  add    $0x10,%rsp
  pop    %rbx
  ret
L18:
  movsd  D94(%rip),%xmm0
  movsd  (%rsp),%xmm5
  divsd  %xmm5,%xmm0
  movsd  %xmm0,0x8(%rsp)
  movapd %xmm5,%xmm0
  call   <exp@plt>
  movq   %xmm0,%rbx
  pxor   %xmm0,%xmm0
  movsd  (%rsp),%xmm5
  ucomisd %xmm5,%xmm0
  ja     L1
  sqrtsd %xmm5,%xmm5
  movapd %xmm5,%xmm1
L16:
  movsd  0x8(%rsp),%xmm4
  movapd %xmm4,%xmm0
  mulsd  D66(%rip),%xmm0
  subsd  D149(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D89(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  subsd  D138(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D71(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  subsd  D118(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D107(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D62(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D152(%rip),%xmm0
  movq   %rbx,%xmm2
  divsd  %xmm1,%xmm2
  mulsd  %xmm2,%xmm0
  jmp    L28
L1:
  movsd  (%rsp),%xmm0
  call   <sqrt@plt>
  movapd %xmm0,%xmm1
  jmp    L16
```

tool_calls: name: parse_data
arguments: data_tag: D127
type_infered: qword[2]
name: parse_data
arguments: data_tag: D94
type_infered: f64
name: parse_data
arguments: data_tag: D157
type_infered: byte[8]
name: parse_data
arguments: data_tag: D106
type_infered: byte[8]
name: parse_data
arguments: data_tag: D77
type_infered: f64
name: parse_data
arguments: data_tag: D51
type_infered: f64
name: parse_data
arguments: data_tag: D112
type_infered: f64
name: parse_data
arguments: data_tag: D18
type_infered: f64
name: parse_data
arguments: data_tag: D24
type_infered: f64
name: parse_data
arguments: data_tag: D66
type_infered: byte[8]
name: parse_data
arguments: data_tag: D149
type_infered: byte[8]
name: parse_data
arguments: data_tag: D89
type_infered: byte[8]
name: parse_data
arguments: data_tag: D138
type_infered: byte[8]
name: parse_data
arguments: data_tag: D71
type_infered: byte[8]
name: parse_data
arguments: data_tag: D118
type_infered: byte[8]
name: parse_data
arguments: data_tag: D107
type_infered: byte[8]
name: parse_data
arguments: data_tag: D62
type_infered: byte[8]
name: parse_data
arguments: data_tag: D152
type_infered: f64

tool: {"D127": [0x7fffffffffffffff,0x0000000000000000]}

tool: D94: 3.75

tool: {"D157": [0x74,0x48,0xc5,0x5a,0xd7,0xc3,0x72,0x3f]}

tool: {"D106": [0xfd,0xe5,0x49,0x88,0xa8,0x78,0xa2,0x3f]}

tool: D77: 0.2659732

tool: D51: 1.2067492

tool: D112: 3.0899424

tool: D18: 3.5156229

tool: D24: 1

tool: {"D66": [0x88,0x7f,0x3b,0xfd,0x5e,0x12,0x70,0x3f]}

tool: {"D149": [0x55,0x4c,0x08,0xca,0x2b,0xdf,0x90,0x3f]}

tool: {"D89": [0xe3,0x5a,0xe5,0xf0,0xe6,0xfc,0x9a,0x3f]}

tool: {"D138": [0x16,0xc7,0xfd,0x1e,0x27,0x12,0x95,0x3f]}

tool: {"D71": [0x54,0xd1,0x50,0x8a,0xf3,0xc3,0x82,0x3f]}

tool: {"D118": [0x4a,0x89,0x13,0x4e,0xc1,0xd0,0x59,0x3f]}

tool: {"D107": [0xdb,0xd5,0x92,0x2b,0x48,0x75,0x62,0x3f]}

tool: {"D62": [0x1c,0x9d,0x2d,0xff,0xa5,0x35,0x8b,0x3f]}

tool: D152: 0.39894228

assistant: ```c
double bessi0(double x) {
  double ax, ans;
  static double P[7] = {1.0, 3.5156229, 3.0899424, 1.2067492, 0.2659732, 0.360768e-1, 0.45813e-2};
  static double Q[9] = {0.39894228, 0.1328592e-1, 0.225319e-2, -0.157565e-2, 0.916281e-2, -0.2057706e-1, 0.2635537e-1, -0.1647633e-1, 0.392377e-2};
  double y;
  if ((ax = fabs(x)) < 3.75) {
    y = x / 3.75;
    y *= y;
    ans = P[0] + y * (P[1] + y * (P[2] + y * (P[3] + y * (P[4] + y * (P[5] + y * P[6])))));
  } else {
    y = 3.75 / ax;
    ans = (exp(ax) / sqrt(ax)) * (Q[0] + y * (Q[1] + y * (Q[2] + y * (Q[3] + y * (Q[4] + y * (Q[5] + y * (Q[6] + y * (Q[7] + y * Q[8]))))))));
  }
  return ans;
}
```