user: 这段汇编代码用C语言表示是什么样的？

```asm
<airBesselI1>:
  endbr64
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm1
  movapd %xmm0,%xmm4
  comisd %xmm2,%xmm0
  ja     L58
  xorpd  D32(%rip),%xmm4
L58:
  movsd  D15(%rip),%xmm0
  comisd %xmm4,%xmm0
  jbe    L14
  movapd %xmm1,%xmm5
  divsd  D199(%rip),%xmm5
  movsd  D87(%rip),%xmm0
  comisd %xmm1,%xmm2
  mulsd  %xmm5,%xmm5
  movsd  D93(%rip),%xmm3
  mulsd  %xmm5,%xmm0
  addsd  D223(%rip),%xmm0
  mulsd  %xmm5,%xmm0
  addsd  D205(%rip),%xmm0
  mulsd  %xmm5,%xmm0
  addsd  D178(%rip),%xmm0
  mulsd  %xmm5,%xmm0
  addsd  D220(%rip),%xmm0
  mulsd  %xmm5,%xmm0
  addsd  D136(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  movsd  D74(%rip),%xmm4
  mulsd  %xmm5,%xmm4
  subsd  %xmm4,%xmm3
  mulsd  %xmm5,%xmm3
  subsd  D110(%rip),%xmm3
  mulsd  %xmm5,%xmm3
  addsd  D7(%rip),%xmm3
  divsd  %xmm3,%xmm0
  ja     L56
  ret
  nopl   0x0(%rax,%rax,1)
L56:
  xorpd  D32(%rip),%xmm0
  ret
  nopl   0x0(%rax)
L14:
  sub    $0x28,%rsp
  movsd  D199(%rip),%xmm6
  movsd  D35(%rip),%xmm0
  movsd  D158(%rip),%xmm7
  movsd  D13(%rip),%xmm5
  movsd  %xmm1,0x18(%rsp)
  divsd  %xmm4,%xmm6
  movsd  %xmm4,0x10(%rsp)
  mulsd  %xmm6,%xmm0
  addsd  D96(%rip),%xmm0
  mulsd  %xmm6,%xmm7
  mulsd  %xmm6,%xmm0
  subsd  D244(%rip),%xmm0
  subsd  %xmm7,%xmm5
  mulsd  %xmm6,%xmm0
  addsd  D133(%rip),%xmm0
  movapd %xmm5,%xmm3
  mulsd  %xmm6,%xmm3
  subsd  D92(%rip),%xmm3
  mulsd  %xmm6,%xmm0
  subsd  D245(%rip),%xmm0
  mulsd  %xmm6,%xmm3
  addsd  D7(%rip),%xmm3
  mulsd  %xmm6,%xmm0
  addsd  D203(%rip),%xmm0
  divsd  %xmm3,%xmm0
  movsd  %xmm0,0x8(%rsp)
  movapd %xmm4,%xmm0
  call   <exp@plt>
  movsd  0x10(%rsp),%xmm4
  pxor   %xmm2,%xmm2
  movsd  0x18(%rsp),%xmm1
  movapd %xmm0,%xmm3
  ucomisd %xmm4,%xmm2
  ja     L50
  sqrtsd %xmm4,%xmm4
L49:
  divsd  %xmm4,%xmm3
  comisd %xmm1,%xmm2
  movsd  0x8(%rsp),%xmm0
  mulsd  %xmm3,%xmm0
  ja     L43
  add    $0x28,%rsp
  ret
  cs nopw 0x0(%rax,%rax,1)
L43:
  xorpd  D32(%rip),%xmm0
  add    $0x28,%rsp
  ret
L50:
  movsd  %xmm0,0x10(%rsp)
  movapd %xmm4,%xmm0
  movsd  %xmm1,0x18(%rsp)
  call   <sqrt@plt>
  movsd  0x18(%rsp),%xmm1
  movsd  0x10(%rsp),%xmm3
  pxor   %xmm2,%xmm2
  movapd %xmm0,%xmm4
  jmp    L49
```

tool_calls: name: unpack_data
arguments: data_tag: D32
type_guessed: f32[4]
name: unpack_data
arguments: data_tag: D15
type_guessed: f64
name: unpack_data
arguments: data_tag: D199
type_guessed: f64
name: unpack_data
arguments: data_tag: D87
type_guessed: f64
name: unpack_data
arguments: data_tag: D93
type_guessed: f64
name: unpack_data
arguments: data_tag: D223
type_guessed: f64
name: unpack_data
arguments: data_tag: D205
type_guessed: f64
name: unpack_data
arguments: data_tag: D178
type_guessed: f64
name: unpack_data
arguments: data_tag: D220
type_guessed: f64
name: unpack_data
arguments: data_tag: D136
type_guessed: f64
name: unpack_data
arguments: data_tag: D74
type_guessed: f64
name: unpack_data
arguments: data_tag: D110
type_guessed: f64
name: unpack_data
arguments: data_tag: D7
type_guessed: f32[2]
name: unpack_data
arguments: data_tag: D35
type_guessed: f64
name: unpack_data
arguments: data_tag: D158
type_guessed: f64
name: unpack_data
arguments: data_tag: D13
type_guessed: f64
name: unpack_data
arguments: data_tag: D96
type_guessed: f64
name: unpack_data
arguments: data_tag: D244
type_guessed: f64
name: unpack_data
arguments: data_tag: D133
type_guessed: f64
name: unpack_data
arguments: data_tag: D92
type_guessed: f64
name: unpack_data
arguments: data_tag: D245
type_guessed: f64
name: unpack_data
arguments: data_tag: D203
type_guessed: f64

tool: {"D32": [0.0,-0.0,0.0,0.0]}

tool: D15: 6.449305566387246

tool: D199: 6.45

tool: D87: 0.0792323006694466

tool: D93: 0.08677361454866868

tool: D223: 0.6092719473097832

tool: D205: 2.0569974969268707

tool: D178: 3.3554331305863787

tool: D220: 2.370331499358438

tool: D136: 0.4999999998235554

tool: D74: 0.006777712190188699

tool: D110: 0.4596495788370524

tool: {"D7": [0.0,1.875]}

tool: D35: 7.03849046144657e-05

tool: D158: 0.142824922601647

tool: D13: 0.919118239717915

tool: D96: 0.00248933264397244

tool: D244: 0.0766281832045885

tool: D133: 0.40311772245257

tool: D92: 1.61964537617937

tool: D245: 0.669339325353065

tool: D203: 0.398942280267484

assistant: ```c
double airBesselI1(double x) {
  double b, ax, y;
  ax = ((x) > 0.0f ? (x) : -(x));
  if (ax < 6.449305566387246) {
    y = x / 6.45;
    y *= y;
    b = ax * (0.4999999998235554 + y * (2.370331499358438 + y * (3.3554331305863787 + y * (2.0569974969268707 + (0.6092719473097832 + 0.0792323006694466 * y) * y)))) / (1 + y * (-0.4596495788370524 + (0.08677361454866868 - 0.006777712190188699 * y) * y));
  } else {
    y = 6.45 / ax;
    b = (0.398942280267484 + y * (-0.669339325353065 + y * (0.40311772245257 + y * (-0.0766281832045885 + (0.00248933264397244 + 0.0000703849046144657 * y) * y)))) / (1 + y * (-1.61964537617937 + (0.919118239717915 - 0.142824922601647 * y) * y));
    b *= exp(ax) / sqrt(ax);
  }
  return x < 0.0 ? -b : b;
}
```