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

```asm
<HO_14>:
  endbr64
  sub    $0x88,%rsp
  movsd  %xmm1,0x8(%rsp)
  movsd  D118(%rip),%xmm1
  movsd  %xmm0,0x10(%rsp)
  call   <pow@plt>
  movsd  0x8(%rsp),%xmm4
  movapd %xmm0,%xmm1
  movsd  D200(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  mulsd  %xmm4,%xmm0
  mulsd  %xmm1,%xmm0
  call   <exp@plt>
  movsd  0x10(%rsp),%xmm3
  movsd  D65(%rip),%xmm1
  movsd  %xmm0,0x78(%rsp)
  movapd %xmm3,%xmm0
  movsd  %xmm3,0x18(%rsp)
  call   <pow@plt>
  movsd  D165(%rip),%xmm11
  movsd  %xmm0,0x10(%rsp)
  movsd  0x8(%rsp),%xmm0
  movapd %xmm11,%xmm1
  call   <pow@plt>
  movsd  D39(%rip),%xmm5
  movsd  %xmm0,0x70(%rsp)
  movsd  0x8(%rsp),%xmm0
  movapd %xmm5,%xmm1
  call   <pow@plt>
  movsd  D151(%rip),%xmm12
  movsd  %xmm0,0x68(%rsp)
  movsd  0x8(%rsp),%xmm0
  movapd %xmm12,%xmm1
  call   <pow@plt>
  movsd  D190(%rip),%xmm6
  movsd  0x18(%rsp),%xmm3
  movsd  %xmm0,0x60(%rsp)
  movapd %xmm6,%xmm1
  movapd %xmm3,%xmm0
  movsd  %xmm3,0x20(%rsp)
  call   <pow@plt>
  movsd  D13(%rip),%xmm13
  movsd  %xmm0,0x18(%rsp)
  movsd  0x8(%rsp),%xmm0
  movapd %xmm13,%xmm1
  call   <pow@plt>
  movsd  0x20(%rsp),%xmm3
  movsd  D97(%rip),%xmm1
  movsd  %xmm0,0x58(%rsp)
  movapd %xmm3,%xmm0
  movsd  %xmm3,0x28(%rsp)
  call   <pow@plt>
  mov    D97(%rip),%rax
  movsd  %xmm0,0x20(%rsp)
  movsd  0x8(%rsp),%xmm0
  movq   %rax,%xmm1
  call   <pow@plt>
  movsd  0x28(%rsp),%xmm3
  mov    D13(%rip),%rax
  movsd  %xmm0,0x50(%rsp)
  movq   %rax,%xmm1
  movapd %xmm3,%xmm0
  movsd  %xmm3,0x30(%rsp)
  call   <pow@plt>
  mov    D190(%rip),%rax
  movsd  %xmm0,0x28(%rsp)
  movsd  0x8(%rsp),%xmm0
  movq   %rax,%xmm1
  call   <pow@plt>
  movsd  0x30(%rsp),%xmm3
  mov    D151(%rip),%rax
  movsd  %xmm0,0x48(%rsp)
  movq   %rax,%xmm1
  movapd %xmm3,%xmm0
  movsd  %xmm3,0x38(%rsp)
  call   <pow@plt>
  movsd  0x38(%rsp),%xmm3
  mov    D165(%rip),%rax
  movsd  %xmm0,0x30(%rsp)
  movq   %rax,%xmm1
  movapd %xmm3,%xmm0
  movsd  %xmm3,0x40(%rsp)
  call   <pow@plt>
  movsd  0x40(%rsp),%xmm3
  mov    D39(%rip),%rax
  movsd  %xmm0,0x38(%rsp)
  movq   %rax,%xmm1
  movapd %xmm3,%xmm0
  call   <pow@plt>
  movsd  0x70(%rsp),%xmm2
  movsd  D199(%rip),%xmm1
  movsd  0x40(%rsp),%xmm3
  movsd  0x68(%rsp),%xmm10
  movapd %xmm0,%xmm5
  mulsd  %xmm2,%xmm1
  movsd  0x60(%rsp),%xmm9
  movsd  0x58(%rsp),%xmm8
  movsd  0x50(%rsp),%xmm7
  mulsd  D44(%rip),%xmm7
  movsd  0x48(%rsp),%xmm6
  mulsd  D201(%rip),%xmm6
  movsd  0x8(%rsp),%xmm2
  movsd  0x78(%rsp),%xmm4
  mulsd  D193(%rip),%xmm4
  mulsd  %xmm3,%xmm1
  mulsd  %xmm3,%xmm1
  movapd %xmm1,%xmm0
  movsd  D48(%rip),%xmm1
  mulsd  %xmm10,%xmm1
  subsd  %xmm1,%xmm0
  movsd  D198(%rip),%xmm1
  mulsd  %xmm9,%xmm1
  mulsd  0x18(%rsp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  D43(%rip),%xmm1
  mulsd  %xmm8,%xmm1
  mulsd  0x20(%rsp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  0x28(%rsp),%xmm1
  mulsd  %xmm7,%xmm1
  subsd  %xmm1,%xmm0
  movsd  0x30(%rsp),%xmm1
  mulsd  %xmm6,%xmm1
  addsd  %xmm1,%xmm0
  movsd  D54(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  0x38(%rsp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  0x10(%rsp),%xmm1
  add    $0x88,%rsp
  mulsd  %xmm4,%xmm1
  addsd  %xmm5,%xmm0
  mulsd  %xmm1,%xmm0
  ret
```

tool_calls: name: retrieve_data
arguments: label: D118
datatype: byte[8]
name: retrieve_data
arguments: label: D200
datatype: byte[8]
name: retrieve_data
arguments: label: D65
datatype: byte[8]
name: retrieve_data
arguments: label: D165
datatype: f64
name: retrieve_data
arguments: label: D39
datatype: f64
name: retrieve_data
arguments: label: D151
datatype: f64
name: retrieve_data
arguments: label: D190
datatype: f64
name: retrieve_data
arguments: label: D13
datatype: f64
name: retrieve_data
arguments: label: D97
datatype: f64
name: retrieve_data
arguments: label: D199
datatype: byte[8]
name: retrieve_data
arguments: label: D44
datatype: f64
name: retrieve_data
arguments: label: D201
datatype: f64
name: retrieve_data
arguments: label: D193
datatype: byte[8]
name: retrieve_data
arguments: label: D48
datatype: byte[8]
name: retrieve_data
arguments: label: D198
datatype: f64
name: retrieve_data
arguments: label: D43
datatype: f64
name: retrieve_data
arguments: label: D54
datatype: f64

tool: {"D118": [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0]}

tool: {"D200": [0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xbf]}

tool: {"D65": [0x00,0x00,0x00,0x00,0x00,0x00,0x2d,0xc0]}

tool: D165: 12

tool: D39: 14

tool: D151: 10

tool: D190: 4

tool: D13: 8

tool: D97: 6

tool: {"D199": [0x54,0x57,0xa4,0xef,0xe4,0x10,0xa6,0x3f]}

tool: D44: 18.66666669

tool: D201: 28.00000003

tool: {"D193": [0x9a,0x99,0x99,0x99,0xf5,0xc7,0xf8,0xc0]}

tool: {"D48": [0x86,0xbf,0x69,0x8c,0xb2,0x09,0x4f,0x3f]}

tool: D198: 0.7111111118

tool: D43: 5.333333339

tool: D54: 14.00000002

assistant: ```c
double HO_14(const double L, const double x) {
  double retval = -0.1015033500e6 * exp(-0.5000000000e0 * x * x * pow(L, -0.2e1)) * pow(L, -0.29e2 / 0.2e1) * (0.4309764314e-1 * pow(x, 0.12e2) * L * L - 0.9472009486e-3 * pow(x, 0.14e2) - 0.7111111118e0 * pow(x, 0.10e2) * pow(L, 0.4e1) + 0.5333333339e1 * pow(x, 0.8e1) * pow(L, 0.6e1) - 0.1866666669e2 * pow(x, 0.6e1) * pow(L, 0.8e1) + 0.2800000003e2 * pow(x, 0.4e1) * pow(L, 0.10e2) - 0.1400000002e2 * x * x * pow(L, 0.12e2) + 0.1000000000e1 * pow(L, 0.14e2));
  return retval;
}
```