user: What is the c source code of the assembly code below?

```asm
<airBesselI1ExpScaled>:
  endbr64
  push   %rbx
  sub    $0x10,%rsp
  movq   %xmm0,%rbx
  movapd %xmm0,%xmm1
  comisd D250(%rip),%xmm0
  jbe    L17
L29:
  movsd  D52(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L16
  movq   %rbx,%xmm4
  divsd  D48(%rip),%xmm4
  mulsd  %xmm4,%xmm4
  movapd %xmm4,%xmm0
  mulsd  D238(%rip),%xmm0
  addsd  D248(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D224(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D198(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D214(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D177(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm4,%xmm5
  mulsd  D39(%rip),%xmm5
  movsd  D142(%rip),%xmm3
  subsd  %xmm5,%xmm3
  movapd %xmm3,%xmm2
  mulsd  %xmm4,%xmm2
  subsd  D184(%rip),%xmm2
  mulsd  %xmm4,%xmm2
  addsd  D0(%rip),%xmm2
  divsd  %xmm2,%xmm0
  movsd  %xmm0,0x8(%rsp)
  xorpd  D92(%rip),%xmm1
  movapd %xmm1,%xmm0
  call   <exp@plt>
  mulsd  0x8(%rsp),%xmm0
L40:
  pxor   %xmm1,%xmm1
  movq   %rbx,%xmm7
  comisd %xmm7,%xmm1
  ja     L19
L44:
  add    $0x10,%rsp
  pop    %rbx
  ret
L17:
  xorpd  D92(%rip),%xmm1
  jmp    L29
L16:
  movsd  D48(%rip),%xmm4
  divsd  %xmm1,%xmm4
  movapd %xmm4,%xmm0
  mulsd  D225(%rip),%xmm0
  addsd  D171(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  subsd  D95(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D193(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  subsd  D128(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  addsd  D87(%rip),%xmm0
  movapd %xmm4,%xmm5
  mulsd  D28(%rip),%xmm5
  movsd  D78(%rip),%xmm3
  subsd  %xmm5,%xmm3
  movapd %xmm3,%xmm2
  mulsd  %xmm4,%xmm2
  subsd  D168(%rip),%xmm2
  mulsd  %xmm4,%xmm2
  addsd  D0(%rip),%xmm2
  divsd  %xmm2,%xmm0
  movsd  %xmm0,0x8(%rsp)
  movapd %xmm1,%xmm0
  call   <sqrt@plt>
  mov    %eax,%ecx
  mov    $0x1,%eax
  cltd
  idiv   %ecx
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mulsd  0x8(%rsp),%xmm0
  jmp    L40
L19:
  xorpd  D92(%rip),%xmm0
  jmp    L44
```

tool_calls: name: extract_symbolic_data
arguments: tag: D250
type_guessed: f64[2]
name: extract_symbolic_data
arguments: tag: D52
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D48
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D238
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D248
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D224
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D198
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D214
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D177
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D39
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D142
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D184
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D0
type_guessed: byte[8]
name: extract_symbolic_data
arguments: tag: D92
type_guessed: byte[16]
name: extract_symbolic_data
arguments: tag: D225
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D171
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D95
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D193
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D128
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D87
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D28
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D78
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D168
type_guessed: f64

tool: {"D250": [0.0,6.449305566387246]}

tool: D52: 6.449305566387246

tool: D48: 6.45

tool: D238: 0.0792323006694466

tool: D248: 0.6092719473097832

tool: D224: 2.0569974969268707

tool: D198: 3.3554331305863787

tool: D214: 2.370331499358438

tool: D177: 0.4999999998235554

tool: D39: 0.006777712190188699

tool: D142: 0.08677361454866868

tool: D184: 0.4596495788370524

tool: {"D0": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f]}

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

tool: D225: 7.03849046144657e-05

tool: D171: 0.00248933264397244

tool: D95: 0.0766281832045885

tool: D193: 0.40311772245257

tool: D128: 0.669339325353065

tool: D87: 0.398942280267484

tool: D28: 0.142824922601647

tool: D78: 0.919118239717915

tool: D168: 1.61964537617937

assistant: ```c
double airBesselI1ExpScaled(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));
    b *= exp(-ax);
  } 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 *= 1 / sqrt(ax);
  }
  return x < 0.0 ? -b : b;
}
```