user: 下面的汇编指令对应的C源代码是什么：

```asm
<bessi1_salahat>:
  endbr64
  push   %rbx
  sub    $0x10,%rsp
  movapd %xmm0,%xmm3
  movsd  %xmm0,(%rsp)
  movsd  D251(%rip),%xmm0
  comisd %xmm3,%xmm0
  ja     L21
  movsd  D337(%rip),%xmm0
  comisd (%rsp),%xmm0
  ja     L36
  movsd  D185(%rip),%xmm0
  movsd  (%rsp),%xmm2
  comisd %xmm2,%xmm0
  jbe    L1
  movapd %xmm2,%xmm0
  mulsd  D276(%rip),%xmm0
  call   <expl@plt>
  movq   %xmm0,%rbx
  movsd  (%rsp),%xmm0
  mulsd  D230(%rip),%xmm0
  call   <expl@plt>
  movapd %xmm0,%xmm1
  movq   %rbx,%xmm5
  mulsd  D229(%rip),%xmm5
  mulsd  D205(%rip),%xmm1
  movapd %xmm5,%xmm6
  addsd  %xmm1,%xmm6
  movsd  %xmm6,0x8(%rsp)
  movsd  (%rsp),%xmm0
  mulsd  D329(%rip),%xmm0
  call   <expl@plt>
  mulsd  D105(%rip),%xmm0
  movapd %xmm0,%xmm7
  addsd  0x8(%rsp),%xmm7
  movsd  %xmm7,0x8(%rsp)
  movsd  (%rsp),%xmm0
  mulsd  D315(%rip),%xmm0
  call   <expl@plt>
  mulsd  D61(%rip),%xmm0
  addsd  0x8(%rsp),%xmm0
  movsd  %xmm0,(%rsp)
  fldl   (%rsp)
L46:
  add    $0x10,%rsp
  pop    %rbx
  ret
L21:
  movapd %xmm3,%xmm0
  mulsd  D47(%rip),%xmm0
  call   <expl@plt>
  movq   %xmm0,%rbx
  movsd  (%rsp),%xmm0
  mulsd  D8(%rip),%xmm0
  call   <expl@plt>
  movapd %xmm0,%xmm1
  movq   %rbx,%xmm4
  mulsd  D130(%rip),%xmm4
  mulsd  D235(%rip),%xmm1
  movapd %xmm4,%xmm5
  addsd  %xmm1,%xmm5
  movsd  %xmm5,0x8(%rsp)
  movsd  (%rsp),%xmm0
  mulsd  D186(%rip),%xmm0
  call   <expl@plt>
  mulsd  D245(%rip),%xmm0
  movapd %xmm0,%xmm4
  addsd  0x8(%rsp),%xmm4
  movsd  %xmm4,0x8(%rsp)
  movsd  (%rsp),%xmm0
  mulsd  D309(%rip),%xmm0
  call   <expl@plt>
  mulsd  D86(%rip),%xmm0
  addsd  0x8(%rsp),%xmm0
  movsd  %xmm0,(%rsp)
  fldl   (%rsp)
  jmp    L46
L36:
  movsd  (%rsp),%xmm0
  mulsd  D197(%rip),%xmm0
  call   <expl@plt>
  movq   %xmm0,%rbx
  movsd  (%rsp),%xmm0
  mulsd  D273(%rip),%xmm0
  call   <expl@plt>
  movapd %xmm0,%xmm1
  movq   %rbx,%xmm2
  mulsd  D314(%rip),%xmm2
  mulsd  D234(%rip),%xmm1
  movapd %xmm2,%xmm5
  addsd  %xmm1,%xmm5
  movsd  %xmm5,0x8(%rsp)
  movsd  (%rsp),%xmm0
  mulsd  D66(%rip),%xmm0
  call   <expl@plt>
  mulsd  D258(%rip),%xmm0
  movapd %xmm0,%xmm6
  addsd  0x8(%rsp),%xmm6
  movsd  %xmm6,0x8(%rsp)
  movsd  (%rsp),%xmm0
  mulsd  D151(%rip),%xmm0
  call   <expl@plt>
  mulsd  D103(%rip),%xmm0
  addsd  0x8(%rsp),%xmm0
  movsd  %xmm0,(%rsp)
  fldl   (%rsp)
  jmp    L46
L1:
  movsd  (%rsp),%xmm0
  mulsd  D73(%rip),%xmm0
  call   <expl@plt>
  movq   %xmm0,%rbx
  movsd  (%rsp),%xmm0
  mulsd  D0(%rip),%xmm0
  call   <expl@plt>
  movapd %xmm0,%xmm1
  movq   %rbx,%xmm5
  mulsd  D173(%rip),%xmm5
  mulsd  D325(%rip),%xmm1
  movapd %xmm5,%xmm6
  addsd  %xmm1,%xmm6
  movsd  %xmm6,0x8(%rsp)
  movsd  (%rsp),%xmm0
  mulsd  D157(%rip),%xmm0
  call   <expl@plt>
  mulsd  D280(%rip),%xmm0
  movapd %xmm0,%xmm7
  addsd  0x8(%rsp),%xmm7
  movsd  %xmm7,0x8(%rsp)
  movsd  (%rsp),%xmm0
  mulsd  D247(%rip),%xmm0
  call   <expl@plt>
  mulsd  D311(%rip),%xmm0
  addsd  0x8(%rsp),%xmm0
  movsd  %xmm0,(%rsp)
  fldl   (%rsp)
  jmp    L46
```

tool_calls: name: parse_data
arguments: data_label: D251
datatype: f64
name: parse_data
arguments: data_label: D337
datatype: byte[8]
name: parse_data
arguments: data_label: D185
datatype: f64
name: parse_data
arguments: data_label: D276
datatype: f64
name: parse_data
arguments: data_label: D230
datatype: f64
name: parse_data
arguments: data_label: D229
datatype: byte[8]
name: parse_data
arguments: data_label: D205
datatype: byte[8]
name: parse_data
arguments: data_label: D329
datatype: f64
name: parse_data
arguments: data_label: D105
datatype: byte[8]
name: parse_data
arguments: data_label: D315
datatype: f64
name: parse_data
arguments: data_label: D61
datatype: byte[8]
name: parse_data
arguments: data_label: D47
datatype: f64
name: parse_data
arguments: data_label: D8
datatype: f64
name: parse_data
arguments: data_label: D130
datatype: byte[8]
name: parse_data
arguments: data_label: D235
datatype: byte[8]
name: parse_data
arguments: data_label: D186
datatype: byte[8]
name: parse_data
arguments: data_label: D245
datatype: byte[8]
name: parse_data
arguments: data_label: D309
datatype: f64
name: parse_data
arguments: data_label: D86
datatype: byte[8]
name: parse_data
arguments: data_label: D197
datatype: f64
name: parse_data
arguments: data_label: D273
datatype: byte[8]
name: parse_data
arguments: data_label: D314
datatype: byte[8]
name: parse_data
arguments: data_label: D234
datatype: byte[8]
name: parse_data
arguments: data_label: D66
datatype: f64
name: parse_data
arguments: data_label: D258
datatype: byte[8]
name: parse_data
arguments: data_label: D151
datatype: f64
name: parse_data
arguments: data_label: D103
datatype: byte[8]
name: parse_data
arguments: data_label: D73
datatype: f64
name: parse_data
arguments: data_label: D0
datatype: f64
name: parse_data
arguments: data_label: D173
datatype: byte[8]
name: parse_data
arguments: data_label: D325
datatype: byte[8]
name: parse_data
arguments: data_label: D157
datatype: f64
name: parse_data
arguments: data_label: D280
datatype: byte[8]
name: parse_data
arguments: data_label: D247
datatype: f64
name: parse_data
arguments: data_label: D311
datatype: byte[8]

tool: D251: 11.5

tool: {"D337": [0x00,0x00,0x00,0x00,0x00,0x00,0x34,0x40]}

tool: D185: 37.25

tool: D276: 0.9807

tool: D230: 0.8672

tool: {"D229": [0xbc,0xa5,0x49,0xe7,0xcb,0x24,0xbc,0x3f]}

tool: {"D205": [0x3b,0x93,0xec,0xc7,0xdc,0x6b,0xb7,0x3f]}

tool: D329: 1.0795

tool: {"D105": [0x8e,0x4b,0xc9,0x30,0xf6,0x77,0x29,0xbf]}

tool: D315: 1.0385

tool: {"D61": [0x2d,0x76,0x5e,0xd7,0xed,0xbb,0x6b,0x3f]}

tool: D47: 0.7536

tool: D8: 0.9739

tool: {"D130": [0x8c,0x65,0x7e,0x5e,0x86,0x39,0xc0,0x3f]}

tool: {"D235": [0x2e,0xd2,0x9b,0xbc,0x8e,0x59,0xc2,0x3f]}

tool: {"D186": [0xe1,0x7a,0x14,0xae,0x47,0xe1,0xe6,0xbf]}

tool: {"D245": [0x3e,0xe8,0xd9,0xac,0xfa,0x5c,0xd4,0xbf]}

tool: D309: 0.2343

tool: {"D86": [0x50,0x67,0xf6,0x92,0x29,0x93,0xac,0x3f]}

tool: D197: 0.471

tool: {"D273": [0xcd,0xcc,0xcc,0xcc,0xcc,0x6c,0x64,0xc0]}

tool: {"D314": [0x60,0x9c,0xae,0xdd,0x2c,0x14,0xc0,0x3f]}

tool: {"D234": [0xbe,0xd9,0xe6,0xc6,0xf4,0x14,0x54,0xc0]}

tool: D66: 0.9852

tool: {"D258": [0x8d,0x06,0x95,0x5d,0xd5,0xfe,0xbb,0x3f]}

tool: D151: 0.8554

tool: {"D103": [0xaf,0x81,0x42,0x77,0x28,0x8e,0xbc,0x3f]}

tool: D73: 1.144

tool: D0: 0.995

tool: {"D173": [0xda,0xf5,0x21,0x8a,0xcb,0xae,0x27,0x3e]}

tool: {"D325": [0x14,0x06,0x65,0x1a,0x4d,0x2e,0xb1,0x3f]}

tool: D157: 0.5686

tool: {"D280": [0x79,0x5a,0xa4,0xa7,0xcd,0xda,0x9f,0x3f]}

tool: D247: 0.946

tool: {"D311": [0xff,0x3f,0xca,0x5f,0x8c,0x0e,0xb3,0x3f]}

assistant: ```c
long double bessi1_salahat(double x) {
  if (x < 11.5)
    return 0.1682 * 0.7536 * expl(x * 0.7536) + 0.1472 * 0.9739 * expl(x * 0.9739) + 0.4450 * -0.715 * expl(x * -0.715) + 0.2382 * 0.2343 * expl(x * 0.2343);
  else if (x < 20)
    return 0.2667 * 0.4710 * expl(x * 0.4710) + 0.4916 * -163.4 * expl(x * -163.4) + 0.1110 * 0.9852 * expl(x * 0.9852) + 0.1304 * 0.8554 * expl(x * 0.8554);
  else if (x < 37.25)
    return 0.1121 * 0.9807 * expl(x * 0.9807) + 0.1055 * 0.8672 * expl(x * 0.8672) + -0.00018 * 1.0795 * expl(x * 1.0795) + 0.00326 * 1.0385 * expl(x * 1.0385);
  else
    return 2.41E-9 * 1.144 * expl(x * 1.144) + 0.06745 * 0.995 * expl(x * 0.995) + 0.05471 * 0.5686 * expl(x * 0.5686) + 0.07869 * 0.946 * expl(x * 0.946);
}
```