user: Converte this assembly snippet into its equivalent C code:

```asm
<bessi1_salahat_exponScaled>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  movsd  %xmm0,-0x8(%rbp)
  movsd  D62(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L5
  movsd  -0x8(%rbp),%xmm1
  movsd  D331(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D168(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D216(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D232(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm3
  addsd  -0x10(%rbp),%xmm3
  movsd  %xmm3,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D135(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D156(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  addsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D201(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D273(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm5
  addsd  -0x10(%rbp),%xmm5
  movsd  %xmm5,-0x10(%rbp)
  fldl   -0x10(%rbp)
  jmp    L11
L5:
  movsd  D37(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L54
  movsd  -0x8(%rbp),%xmm1
  movsd  D77(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D18(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D342(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D122(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm7
  addsd  -0x10(%rbp),%xmm7
  movsd  %xmm7,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D155(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D344(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  addsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D106(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D110(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm4
  addsd  -0x10(%rbp),%xmm4
  movsd  %xmm4,-0x10(%rbp)
  fldl   -0x10(%rbp)
  jmp    L11
L54:
  movsd  D325(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L24
  movsd  -0x8(%rbp),%xmm1
  movsd  D315(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D211(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D314(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D349(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm5
  addsd  -0x10(%rbp),%xmm5
  movsd  %xmm5,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D22(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D176(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  addsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D82(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D230(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm6
  addsd  -0x10(%rbp),%xmm6
  movsd  %xmm6,-0x10(%rbp)
  fldl   -0x10(%rbp)
  jmp    L11
L24:
  movsd  -0x8(%rbp),%xmm1
  movsd  D213(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D277(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D219(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D338(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm4
  addsd  -0x10(%rbp),%xmm4
  movsd  %xmm4,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D71(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D259(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  addsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x8(%rbp),%xmm1
  movsd  D73(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movq   %xmm1,%rax
  movq   %rax,%xmm0
  call   <expl@plt>
  movsd  D241(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm2
  addsd  -0x10(%rbp),%xmm2
  movsd  %xmm2,-0x10(%rbp)
  fldl   -0x10(%rbp)
L11:
  leave
  ret
```

tool_calls: name: unpack_data
arguments: label: D62
data_type: f64
name: unpack_data
arguments: label: D331
data_type: byte[8]
name: unpack_data
arguments: label: D168
data_type: byte[8]
name: unpack_data
arguments: label: D216
data_type: byte[8]
name: unpack_data
arguments: label: D232
data_type: byte[8]
name: unpack_data
arguments: label: D135
data_type: byte[8]
name: unpack_data
arguments: label: D156
data_type: byte[8]
name: unpack_data
arguments: label: D201
data_type: byte[8]
name: unpack_data
arguments: label: D273
data_type: byte[8]
name: unpack_data
arguments: label: D37
data_type: byte[8]
name: unpack_data
arguments: label: D77
data_type: byte[8]
name: unpack_data
arguments: label: D18
data_type: byte[8]
name: unpack_data
arguments: label: D342
data_type: byte[8]
name: unpack_data
arguments: label: D122
data_type: byte[8]
name: unpack_data
arguments: label: D155
data_type: byte[8]
name: unpack_data
arguments: label: D344
data_type: byte[8]
name: unpack_data
arguments: label: D106
data_type: byte[8]
name: unpack_data
arguments: label: D110
data_type: byte[8]
name: unpack_data
arguments: label: D325
data_type: f64
name: unpack_data
arguments: label: D315
data_type: byte[8]
name: unpack_data
arguments: label: D211
data_type: byte[8]
name: unpack_data
arguments: label: D314
data_type: byte[8]
name: unpack_data
arguments: label: D349
data_type: byte[8]
name: unpack_data
arguments: label: D22
data_type: byte[8]
name: unpack_data
arguments: label: D176
data_type: byte[8]
name: unpack_data
arguments: label: D82
data_type: byte[8]
name: unpack_data
arguments: label: D230
data_type: byte[8]
name: unpack_data
arguments: label: D213
data_type: byte[8]
name: unpack_data
arguments: label: D277
data_type: byte[8]
name: unpack_data
arguments: label: D219
data_type: byte[8]
name: unpack_data
arguments: label: D338
data_type: byte[8]
name: unpack_data
arguments: label: D71
data_type: byte[8]
name: unpack_data
arguments: label: D259
data_type: byte[8]
name: unpack_data
arguments: label: D73
data_type: byte[8]
name: unpack_data
arguments: label: D241
data_type: byte[8]

tool: D62: 11.5

tool: {"D331": [0xd0,0x00,0xde,0x02,0x09,0x8a,0xcf,0xbf]}

tool: {"D168": [0x7e,0x42,0x66,0xfc,0x35,0x38,0xa5,0xbf]}

tool: {"D216": [0x80,0xd0,0xb3,0x59,0xf5,0xb9,0x9a,0xbf]}

tool: {"D232": [0x87,0x86,0x1f,0x18,0x17,0x79,0x6f,0xbf]}

tool: {"D135": [0x70,0x3d,0x0a,0xd7,0xa3,0x70,0xfb,0xbf]}

tool: {"D156": [0x5c,0xfe,0x43,0xfa,0xed,0x6b,0xe8,0xbf]}

tool: {"D201": [0xaa,0x82,0x51,0x49,0x9d,0x80,0xe8,0xbf]}

tool: {"D273": [0x4d,0x85,0x36,0x08,0x8c,0x58,0xc7,0xbf]}

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

tool: {"D77": [0x21,0xb0,0x72,0x68,0x91,0xed,0xe0,0xbf]}

tool: {"D18": [0x9a,0x51,0x3d,0xe3,0x0c,0x0f,0xc2,0xbf]}

tool: {"D342": [0xcd,0xcc,0xcc,0xcc,0xcc,0x8c,0x64,0xc0]}

tool: {"D122": [0x6a,0x87,0xbf,0x26,0x6b,0x34,0x54,0xc0]}

tool: {"D155": [0xc0,0xad,0xd8,0x5f,0x76,0x4f,0x8e,0xbf]}

tool: {"D344": [0x13,0x11,0x87,0x11,0x67,0xea,0x5a,0xbf]}

tool: {"D106": [0x6c,0x34,0x80,0xb7,0x40,0x82,0xc2,0xbf]}

tool: {"D110": [0x6a,0xef,0x8d,0x00,0xf2,0x4e,0x93,0xbf]}

tool: D325: 37.25

tool: {"D315": [0xa0,0x4e,0x40,0x13,0x61,0xc3,0x93,0xbf]}

tool: {"D211": [0xc3,0x59,0x01,0x53,0x40,0xb9,0x61,0xbf]}

tool: {"D314": [0x90,0x53,0x74,0x24,0x97,0xff,0xc0,0xbf]}

tool: {"D349": [0xce,0x57,0x6e,0x0e,0x7c,0xb1,0x8c,0xbf]}

tool: {"D22": [0x20,0x31,0x08,0xac,0x1c,0x5a,0xb4,0x3f]}

tool: {"D176": [0xec,0x57,0x97,0x6c,0x9f,0x02,0xee,0xbe]}

tool: {"D82": [0x80,0xc0,0xca,0xa1,0x45,0xb6,0xa3,0x3f]}

tool: {"D230": [0xa9,0xe8,0xcd,0xb0,0x6a,0x73,0x20,0x3f]}

tool: {"D213": [0x38,0xdf,0x4f,0x8d,0x97,0x6e,0xc2,0x3f]}

tool: {"D277": [0x4b,0x71,0xf5,0x36,0x31,0xd9,0xf7,0x3d]}

tool: {"D219": [0x80,0x14,0xae,0x47,0xe1,0x7a,0x74,0xbf]}

tool: {"D338": [0x37,0xab,0x77,0xb8,0x1d,0x1a,0x36,0xbf]}

tool: {"D71": [0x40,0xa4,0xdf,0xbe,0x0e,0x9c,0xdb,0xbf]}

tool: {"D259": [0x7d,0x25,0x6a,0x4b,0x18,0x2b,0x98,0xbf]}

tool: {"D73": [0xe0,0xce,0xf7,0x53,0xe3,0xa5,0xab,0xbf]}

tool: {"D241": [0x5f,0x18,0xb7,0x0b,0xac,0x67,0x71,0xbf]}

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