user: Please show me the C implementation that matches the assembly code listed below:

```asm
<unitcdfP>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x30,%rsp
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x28(%rbp),%xmm0
  comisd D146(%rip),%xmm0
  jbe    L42
  movsd  D426(%rip),%xmm0
  jmp    L21
L42:
  movsd  D372(%rip),%xmm0
  comisd -0x28(%rbp),%xmm0
  jbe    L53
  pxor   %xmm0,%xmm0
  jmp    L21
L53:
  movsd  -0x28(%rbp),%xmm0
  movq   D126(%rip),%xmm1
  andpd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D76(%rip),%xmm0
  comisd -0x18(%rbp),%xmm0
  jbe    L73
  movsd  D309(%rip),%xmm0
  jmp    L21
L73:
  movsd  D202(%rip),%xmm0
  comisd -0x18(%rbp),%xmm0
  jbe    L16
  movsd  -0x28(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x10(%rbp),%xmm1
  movsd  D464(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  D205(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x10(%rbp),%xmm1
  movsd  D114(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x10(%rbp),%xmm1
  movsd  D167(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x10(%rbp),%xmm1
  movsd  D53(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x10(%rbp),%xmm2
  movsd  D458(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x10(%rbp),%xmm2
  movsd  D170(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x10(%rbp),%xmm2
  movsd  D3(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x10(%rbp),%xmm2
  movsd  D189(%rip),%xmm1
  addsd  %xmm2,%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  movsd  D309(%rip),%xmm0
  addsd  %xmm1,%xmm0
  jmp    L21
L16:
  movsd  D64(%rip),%xmm0
  comisd -0x18(%rbp),%xmm0
  jbe    L3
  movsd  -0x18(%rbp),%xmm1
  movsd  D423(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  D277(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  movsd  D26(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  movsd  D25(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  movsd  D88(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  movsd  D271(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  movsd  D92(%rip),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x18(%rbp),%xmm0
  movapd %xmm0,%xmm1
  movsd  D425(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  movsd  D9(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x18(%rbp),%xmm2
  movsd  D209(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x18(%rbp),%xmm2
  movsd  D188(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x18(%rbp),%xmm2
  movsd  D215(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x18(%rbp),%xmm2
  movsd  D22(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x18(%rbp),%xmm2
  movsd  D225(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x18(%rbp),%xmm2
  movsd  D27(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x18(%rbp),%xmm2
  movsd  D367(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x18(%rbp),%xmm2
  movsd  D452(%rip),%xmm1
  addsd  %xmm2,%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D443(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  -0x28(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <exp@plt>
  movsd  -0x8(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  jmp    L39
L3:
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  %xmm0,%xmm1
  movsd  D426(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x10(%rbp),%xmm1
  movsd  D178(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  D59(%rip),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x10(%rbp),%xmm0
  movapd %xmm0,%xmm1
  movsd  D110(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x10(%rbp),%xmm1
  movsd  D314(%rip),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x10(%rbp),%xmm0
  movapd %xmm0,%xmm1
  movsd  D244(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x10(%rbp),%xmm1
  movsd  D352(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x10(%rbp),%xmm2
  movsd  D403(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x10(%rbp),%xmm2
  movsd  D86(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x10(%rbp),%xmm2
  movsd  D432(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x10(%rbp),%xmm2
  movsd  D504(%rip),%xmm1
  addsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x10(%rbp),%xmm2
  movsd  D355(%rip),%xmm1
  addsd  %xmm2,%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x10(%rbp),%xmm0
  mulsd  -0x8(%rbp),%xmm0
  movapd %xmm0,%xmm1
  movsd  D250(%rip),%xmm0
  subsd  %xmm1,%xmm0
  divsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D443(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm4
  mulsd  -0x28(%rbp),%xmm4
  movq   %xmm4,%rax
  movq   %rax,%xmm0
  call   <exp@plt>
  mulsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
L39:
  movsd  -0x28(%rbp),%xmm0
  pxor   %xmm1,%xmm1
  comisd %xmm1,%xmm0
  jbe    L38
  movsd  D426(%rip),%xmm0
  subsd  -0x18(%rbp),%xmm0
  jmp    L21
L38:
  movsd  -0x18(%rbp),%xmm0
L21:
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  leave
  ret
```

tool_calls: name: read_data
arguments: data_tag: D146
type_infered: f64[2]
name: read_data
arguments: data_tag: D426
type_infered: f64
name: read_data
arguments: data_tag: D372
type_infered: byte[8]
name: read_data
arguments: data_tag: D126
type_infered: qword
name: read_data
arguments: data_tag: D76
type_infered: f32[2]
name: read_data
arguments: data_tag: D309
type_infered: f64
name: read_data
arguments: data_tag: D202
type_infered: f64
name: read_data
arguments: data_tag: D464
type_infered: f64
name: read_data
arguments: data_tag: D205
type_infered: f64
name: read_data
arguments: data_tag: D114
type_infered: f64
name: read_data
arguments: data_tag: D167
type_infered: f64
name: read_data
arguments: data_tag: D53
type_infered: f64
name: read_data
arguments: data_tag: D458
type_infered: f64
name: read_data
arguments: data_tag: D170
type_infered: f64
name: read_data
arguments: data_tag: D3
type_infered: f64
name: read_data
arguments: data_tag: D189
type_infered: f64
name: read_data
arguments: data_tag: D64
type_infered: byte[8]
name: read_data
arguments: data_tag: D423
type_infered: byte[8]
name: read_data
arguments: data_tag: D277
type_infered: f64
name: read_data
arguments: data_tag: D26
type_infered: f64
name: read_data
arguments: data_tag: D25
type_infered: f64
name: read_data
arguments: data_tag: D88
type_infered: f64
name: read_data
arguments: data_tag: D271
type_infered: f64
name: read_data
arguments: data_tag: D92
type_infered: f64
name: read_data
arguments: data_tag: D425
type_infered: f64
name: read_data
arguments: data_tag: D9
type_infered: f64
name: read_data
arguments: data_tag: D209
type_infered: f64
name: read_data
arguments: data_tag: D188
type_infered: f64
name: read_data
arguments: data_tag: D215
type_infered: f64
name: read_data
arguments: data_tag: D22
type_infered: f64
name: read_data
arguments: data_tag: D225
type_infered: f64
name: read_data
arguments: data_tag: D27
type_infered: f64
name: read_data
arguments: data_tag: D367
type_infered: f64
name: read_data
arguments: data_tag: D452
type_infered: f64
name: read_data
arguments: data_tag: D443
type_infered: f32[2]
name: read_data
arguments: data_tag: D178
type_infered: f64
name: read_data
arguments: data_tag: D59
type_infered: f64
name: read_data
arguments: data_tag: D110
type_infered: f64
name: read_data
arguments: data_tag: D314
type_infered: f64
name: read_data
arguments: data_tag: D244
type_infered: f64
name: read_data
arguments: data_tag: D352
type_infered: byte[8]
name: read_data
arguments: data_tag: D403
type_infered: f64
name: read_data
arguments: data_tag: D86
type_infered: f64
name: read_data
arguments: data_tag: D432
type_infered: f64
name: read_data
arguments: data_tag: D504
type_infered: f64
name: read_data
arguments: data_tag: D355
type_infered: byte[8]
name: read_data
arguments: data_tag: D250
type_infered: f64

tool: {"D146": [8.572,1.0]}

tool: D426: 1

tool: {"D372": [0xdf,0x4f,0x8d,0x97,0x6e,0xc2,0x42,0xc0]}

tool: D126: 9223372036854775807

tool: {"D76": [0.0,0.01953125]}

tool: D309: 0.5

tool: D202: 0.66291

tool: D464: 0.06568233791820745

tool: D205: 2.2352520354606837

tool: D114: 161.02823106855587

tool: D167: 1067.6894854603709

tool: D53: 18154.98125334356

tool: D458: 47.202581904688245

tool: D170: 976.0985517377767

tool: D3: 10260.932208618979

tool: D189: 45507.78933502673

tool: {"D64": [0xcd,0x3b,0x7f,0x66,0x9e,0xa0,0x16,0x40]}

tool: {"D423": [0x15,0x58,0x5f,0x3c,0x70,0x1e,0x47,0x3e]}

tool: D277: 0.39894151208813466

tool: D26: 8.883149794388377

tool: D25: 93.50665613217785

tool: D88: 597.2702763948002

tool: D271: 2494.5375852903726

tool: D92: 6848.190450536283

tool: D425: 11602.65143764735

tool: D9: 9842.714838383978

tool: D209: 22.266688044328117

tool: D188: 235.387901782625

tool: D215: 1519.3775994075547

tool: D22: 6485.558298266761

tool: D225: 18615.571640885097

tool: D27: 34900.95272114598

tool: D367: 38912.00328609327

tool: D452: 19685.429676859992

tool: {"D443": [0.0,-1.75]}

tool: D178: 0.023073441764940174

tool: D59: 0.215898534057957

tool: D110: 0.12740116116024736

tool: D314: 0.022235277870649807

tool: D244: 0.0014216191932278934

tool: {"D352": [0x83,0xc4,0x6d,0x88,0xed,0x86,0xfe,0x3e]}

tool: D403: 1.284260096144911

tool: D86: 0.4682382124808651

tool: D432: 0.06598813786892856

tool: D504: 0.0037823963320275824

tool: {"D355": [0xd1,0xba,0x14,0xa0,0x47,0x21,0x13,0x3f]}

tool: D250: 0.3989422804014327

assistant: ```c
double unitcdfP(double x) {
  double y, z, u;
  if (x > 8.572)
    return 1.0;
  if (x < -37.519)
    return 0.0;
  z = fabs(x);
  if (z < 0.5 * 2.2204460492503131e-16)
    return 0.5;
  if (z < 0.66291) {
    y = x * x;
    z = ((((0.065682337918207449113 * y + 2.2352520354606839287) * y + 161.02823106855587881) * y + 1067.6894854603709582) * y + 18154.981253343561249) / ((((y + 47.20258190468824187) * y + 976.09855173777669322) * y + 10260.932208618978205) * y + 45507.789335026729956);
    return 0.5 + x * z;
  }
  if (z < 4 * 1.41421356237309504880168872421) {
    u = ((((((((1.0765576773720192317e-8 * z + 0.39894151208813466764) * z + 8.8831497943883759412) * z + 93.506656132177855979) * z + 597.27027639480026226) * z + 2494.5375852903726711) * z + 6848.1904505362823326) * z + 11602.651437647350124) * z + 9842.7148383839780218) / ((((((((z + 22.266688044328115691) * z + 235.38790178262499861) * z + 1519.377599407554805) * z + 6485.558298266760755) * z + 18615.571640885098091) * z + 34900.952721145977266) * z + 38912.003286093271411) * z + 19685.429676859990727);
    z = u * exp(-0.5 * x * x);
  } else {
    y = 1 / (x * x);
    u = (((((0.02307344176494017303 * y + 0.21589853405795699) * y + 0.1274011611602473639) * y + 0.022235277870649807) * y + 0.001421619193227893466) * y + 2.9112874951168792e-5) / (((((y + 1.28426009614491121) * y + 0.468238212480865118) * y + 0.0659881378689285515) * y + 0.00378239633202758244) * y + 7.29751555083966205e-5);
    z = (((0.39894228040143267793994605993) - y * u) / z) * exp(-0.5 * x * x);
  }
  return (x > 0) ? 1 - z : z;
}
```