user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<CDFNormal>:
  endbr64
  push   %rbx
  movapd %xmm0,%xmm1
  pxor   %xmm3,%xmm3
  xor    %ebx,%ebx
  mulsd  %xmm0,%xmm0
  sub    $0x10,%rsp
  comisd %xmm1,%xmm3
  movsd  D225(%rip),%xmm2
  mulsd  %xmm2,%xmm0
  jbe    L34
  xorpd  D207(%rip),%xmm1
  mov    $0x1,%ebx
L34:
  movsd  D191(%rip),%xmm3
  comisd %xmm1,%xmm3
  jbe    L28
  movsd  D165(%rip),%xmm6
  movsd  D93(%rip),%xmm3
  movsd  D197(%rip),%xmm4
  movsd  D166(%rip),%xmm5
  addsd  %xmm0,%xmm6
  mulsd  %xmm0,%xmm4
  addsd  %xmm0,%xmm5
  addsd  D65(%rip),%xmm0
  divsd  %xmm6,%xmm3
  addsd  %xmm3,%xmm0
  movsd  D138(%rip),%xmm3
  divsd  %xmm0,%xmm3
  movsd  D172(%rip),%xmm0
  subsd  %xmm3,%xmm5
  divsd  %xmm5,%xmm4
  subsd  %xmm4,%xmm0
  mulsd  %xmm0,%xmm1
  subsd  %xmm1,%xmm2
  movapd %xmm2,%xmm0
L5:
  test   %ebx,%ebx
  jne    L15
  movsd  D9(%rip),%xmm1
  subsd  %xmm0,%xmm1
  movapd %xmm1,%xmm0
L15:
  add    $0x10,%rsp
  pop    %rbx
  ret
  nopw   0x0(%rax,%rax,1)
L28:
  xorpd  D207(%rip),%xmm0
  movsd  %xmm1,0x8(%rsp)
  call   <exp@plt>
  movsd  0x8(%rsp),%xmm1
  movsd  D183(%rip),%xmm4
  movsd  D123(%rip),%xmm2
  movsd  D28(%rip),%xmm3
  addsd  %xmm1,%xmm4
  mulsd  D101(%rip),%xmm0
  addsd  %xmm1,%xmm3
  divsd  %xmm4,%xmm2
  movsd  D58(%rip),%xmm4
  addsd  %xmm1,%xmm4
  addsd  %xmm4,%xmm2
  movsd  D63(%rip),%xmm4
  divsd  %xmm2,%xmm4
  movsd  D115(%rip),%xmm2
  subsd  %xmm4,%xmm3
  divsd  %xmm3,%xmm2
  movapd %xmm1,%xmm3
  subsd  D129(%rip),%xmm3
  addsd  %xmm3,%xmm2
  movsd  D196(%rip),%xmm3
  divsd  %xmm2,%xmm3
  movsd  D31(%rip),%xmm2
  addsd  %xmm1,%xmm2
  subsd  D151(%rip),%xmm1
  addsd  %xmm2,%xmm3
  movsd  D228(%rip),%xmm2
  divsd  %xmm3,%xmm2
  addsd  %xmm2,%xmm1
  divsd  %xmm1,%xmm0
  jmp    L5
```

tool_calls: name: retrieve_data
arguments: data_label: D225
datatype: byte[8]
name: retrieve_data
arguments: data_label: D207
datatype: byte[16]
name: retrieve_data
arguments: data_label: D191
datatype: f64
name: retrieve_data
arguments: data_label: D165
datatype: f64
name: retrieve_data
arguments: data_label: D93
datatype: f64
name: retrieve_data
arguments: data_label: D197
datatype: byte[8]
name: retrieve_data
arguments: data_label: D166
datatype: f64
name: retrieve_data
arguments: data_label: D65
datatype: f64
name: retrieve_data
arguments: data_label: D138
datatype: f64
name: retrieve_data
arguments: data_label: D172
datatype: byte[8]
name: retrieve_data
arguments: data_label: D9
datatype: byte[8]
name: retrieve_data
arguments: data_label: D183
datatype: f64
name: retrieve_data
arguments: data_label: D123
datatype: f64
name: retrieve_data
arguments: data_label: D28
datatype: f64
name: retrieve_data
arguments: data_label: D101
datatype: f64
name: retrieve_data
arguments: data_label: D58
datatype: f64
name: retrieve_data
arguments: data_label: D63
datatype: f64
name: retrieve_data
arguments: data_label: D115
datatype: f64
name: retrieve_data
arguments: data_label: D129
datatype: f64
name: retrieve_data
arguments: data_label: D196
datatype: f64
name: retrieve_data
arguments: data_label: D31
datatype: byte[8]
name: retrieve_data
arguments: data_label: D151
datatype: byte[8]
name: retrieve_data
arguments: data_label: D228
datatype: f64

tool: {"D225": [0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x3f]}

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

tool: D191: 1.28

tool: D165: 5.92885724438

tool: D93: 48.6959930692

tool: {"D197": [0x2a,0xb0,0x7b,0x97,0x04,0x98,0xd9,0x3f]}

tool: D166: 5.75885480458

tool: D65: 2.62433121679

tool: D138: 29.8213557808

tool: {"D172": [0xb9,0xe9,0xdf,0x33,0x45,0x88,0xd9,0x3f]}

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

tool: D183: 3.99019417011

tool: D123: 30.789933034

tool: D28: 4.8385912808

tool: D101: 0.398942280385

tool: D58: 0.742380924027

tool: D63: 15.1508972451

tool: D115: 5.29330324926

tool: D129: 0.151679116635

tool: D196: 1.98615381364

tool: {"D31": [0x69,0x7b,0x9c,0x45,0x6b,0x16,0x3a,0x3f]}

tool: {"D151": [0x78,0x99,0x0a,0xba,0xd3,0x6d,0x64,0x3e]}

tool: D228: 1.00000615302

assistant: ```c
double CDFNormal(double x) {
  int invers = 0;
  double p, t = 1.28, y = x * x / 2;
  if (x < 0) {
    invers = 1;
    x = -x;
  }
  if (x < t)
    p = .5 - x * (.398942280444 - .399903438504 * y / (y + 5.75885480458 - 29.8213557808 / (y + 2.62433121679 + 48.6959930692 / (y + 5.92885724438))));
  else {
    p = 0.398942280385 * exp(-y) / (x - 3.8052e-8 + 1.00000615302 / (x + 3.98064794e-4 + 1.98615381364 / (x - 0.151679116635 + 5.29330324926 / (x + 4.8385912808 - 15.1508972451 / (x + 0.742380924027 + 30.789933034 / (x + 3.99019417011))))));
  }
  return (invers ? p : 1 - p);
}
```