user: 请将以下的汇编代码转换成C语言代码：

```asm
<unitcdf>:
  endbr64
  comisd D42(%rip),%xmm0
  ja     L51
  movsd  D349(%rip),%xmm2
  movapd %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  comisd %xmm1,%xmm2
  ja     L49
  movsd  D251(%rip),%xmm3
  movapd %xmm1,%xmm2
  andpd  D477(%rip),%xmm2
  movsd  D410(%rip),%xmm0
  comisd %xmm2,%xmm3
  ja     L49
  movsd  D20(%rip),%xmm3
  comisd %xmm2,%xmm3
  ja     L7
  sub    $0x18,%rsp
  movsd  D185(%rip),%xmm4
  movsd  D53(%rip),%xmm0
  mulsd  %xmm1,%xmm4
  comisd %xmm2,%xmm0
  mulsd  %xmm1,%xmm4
  jbe    L53
  movsd  D384(%rip),%xmm0
  movsd  D194(%rip),%xmm3
  movsd  %xmm1,0x8(%rsp)
  mulsd  %xmm2,%xmm0
  addsd  %xmm2,%xmm3
  addsd  D10(%rip),%xmm0
  mulsd  %xmm2,%xmm3
  mulsd  %xmm2,%xmm0
  addsd  D39(%rip),%xmm3
  addsd  D127(%rip),%xmm0
  mulsd  %xmm2,%xmm3
  mulsd  %xmm2,%xmm0
  addsd  D359(%rip),%xmm3
  addsd  D374(%rip),%xmm0
  mulsd  %xmm2,%xmm3
  mulsd  %xmm2,%xmm0
  addsd  D226(%rip),%xmm3
  addsd  D295(%rip),%xmm0
  mulsd  %xmm2,%xmm3
  mulsd  %xmm2,%xmm0
  addsd  D392(%rip),%xmm3
  addsd  D41(%rip),%xmm0
  mulsd  %xmm2,%xmm3
  mulsd  %xmm2,%xmm0
  addsd  D456(%rip),%xmm3
  addsd  D173(%rip),%xmm0
  mulsd  %xmm2,%xmm3
  mulsd  %xmm2,%xmm0
  addsd  D243(%rip),%xmm3
  addsd  D306(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  %xmm3,%xmm2
  addsd  D142(%rip),%xmm0
  addsd  D311(%rip),%xmm2
  divsd  %xmm2,%xmm0
  movsd  %xmm0,(%rsp)
  movapd %xmm4,%xmm0
  call   <exp@plt>
  mulsd  (%rsp),%xmm0
  movsd  0x8(%rsp),%xmm1
L58:
  comisd D467(%rip),%xmm1
  jbe    L45
  movsd  D425(%rip),%xmm1
  subsd  %xmm0,%xmm1
  movapd %xmm1,%xmm0
L45:
  add    $0x18,%rsp
  ret
  nopl   0x0(%rax)
L49:
  ret
  nopl   0x0(%rax)
L51:
  movsd  D425(%rip),%xmm0
  ret
  nopl   0x0(%rax)
L7:
  movapd %xmm1,%xmm4
  movsd  D112(%rip),%xmm2
  movsd  D499(%rip),%xmm3
  mulsd  %xmm1,%xmm4
  mulsd  %xmm4,%xmm2
  addsd  %xmm4,%xmm3
  addsd  D241(%rip),%xmm2
  mulsd  %xmm4,%xmm3
  mulsd  %xmm4,%xmm2
  addsd  D495(%rip),%xmm3
  addsd  D486(%rip),%xmm2
  mulsd  %xmm4,%xmm3
  mulsd  %xmm4,%xmm2
  addsd  D253(%rip),%xmm3
  addsd  D12(%rip),%xmm2
  mulsd  %xmm4,%xmm3
  mulsd  %xmm4,%xmm2
  addsd  D389(%rip),%xmm3
  addsd  D71(%rip),%xmm2
  divsd  %xmm3,%xmm2
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
  nopl   (%rax)
L53:
  movapd %xmm1,%xmm0
  movsd  D425(%rip),%xmm5
  movsd  D383(%rip),%xmm3
  movsd  %xmm1,0x8(%rsp)
  mulsd  %xmm1,%xmm0
  divsd  %xmm0,%xmm5
  movsd  D28(%rip),%xmm0
  mulsd  %xmm5,%xmm0
  addsd  %xmm5,%xmm3
  addsd  D8(%rip),%xmm0
  mulsd  %xmm5,%xmm3
  mulsd  %xmm5,%xmm0
  addsd  D67(%rip),%xmm3
  addsd  D209(%rip),%xmm0
  mulsd  %xmm5,%xmm3
  mulsd  %xmm5,%xmm0
  addsd  D353(%rip),%xmm3
  addsd  D325(%rip),%xmm0
  mulsd  %xmm5,%xmm3
  mulsd  %xmm5,%xmm0
  addsd  D310(%rip),%xmm3
  addsd  D54(%rip),%xmm0
  mulsd  %xmm5,%xmm3
  mulsd  %xmm5,%xmm0
  addsd  D190(%rip),%xmm3
  addsd  D133(%rip),%xmm0
  divsd  %xmm3,%xmm0
  movsd  D404(%rip),%xmm3
  mulsd  %xmm5,%xmm0
  subsd  %xmm0,%xmm3
  movapd %xmm4,%xmm0
  divsd  %xmm2,%xmm3
  movsd  %xmm3,(%rsp)
  call   <exp@plt>
  movsd  0x8(%rsp),%xmm1
  mulsd  (%rsp),%xmm0
  jmp    L58
```

tool_calls: name: retrieve_data
arguments: data_label: D42
type_guessed: f64[2]
name: retrieve_data
arguments: data_label: D349
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D251
type_guessed: f32[2]
name: retrieve_data
arguments: data_label: D477
type_guessed: qword[2]
name: retrieve_data
arguments: data_label: D410
type_guessed: f64
name: retrieve_data
arguments: data_label: D20
type_guessed: f64
name: retrieve_data
arguments: data_label: D185
type_guessed: f32[2]
name: retrieve_data
arguments: data_label: D53
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D384
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D194
type_guessed: f64
name: retrieve_data
arguments: data_label: D10
type_guessed: f64
name: retrieve_data
arguments: data_label: D39
type_guessed: f64
name: retrieve_data
arguments: data_label: D127
type_guessed: f64
name: retrieve_data
arguments: data_label: D359
type_guessed: f64
name: retrieve_data
arguments: data_label: D374
type_guessed: f64
name: retrieve_data
arguments: data_label: D226
type_guessed: f64
name: retrieve_data
arguments: data_label: D295
type_guessed: f64
name: retrieve_data
arguments: data_label: D392
type_guessed: f64
name: retrieve_data
arguments: data_label: D41
type_guessed: f64
name: retrieve_data
arguments: data_label: D456
type_guessed: f64
name: retrieve_data
arguments: data_label: D173
type_guessed: f64
name: retrieve_data
arguments: data_label: D243
type_guessed: f64
name: retrieve_data
arguments: data_label: D306
type_guessed: f64
name: retrieve_data
arguments: data_label: D142
type_guessed: f64
name: retrieve_data
arguments: data_label: D311
type_guessed: f64
name: retrieve_data
arguments: data_label: D467
type_guessed: f32
name: retrieve_data
arguments: data_label: D425
type_guessed: f64
name: retrieve_data
arguments: data_label: D112
type_guessed: f64
name: retrieve_data
arguments: data_label: D499
type_guessed: f64
name: retrieve_data
arguments: data_label: D241
type_guessed: f64
name: retrieve_data
arguments: data_label: D495
type_guessed: f64
name: retrieve_data
arguments: data_label: D486
type_guessed: f64
name: retrieve_data
arguments: data_label: D253
type_guessed: f64
name: retrieve_data
arguments: data_label: D12
type_guessed: f64
name: retrieve_data
arguments: data_label: D389
type_guessed: f64
name: retrieve_data
arguments: data_label: D71
type_guessed: f64
name: retrieve_data
arguments: data_label: D383
type_guessed: f64
name: retrieve_data
arguments: data_label: D28
type_guessed: f64
name: retrieve_data
arguments: data_label: D8
type_guessed: f64
name: retrieve_data
arguments: data_label: D67
type_guessed: f64
name: retrieve_data
arguments: data_label: D209
type_guessed: f64
name: retrieve_data
arguments: data_label: D353
type_guessed: f64
name: retrieve_data
arguments: data_label: D325
type_guessed: f64
name: retrieve_data
arguments: data_label: D310
type_guessed: f64
name: retrieve_data
arguments: data_label: D54
type_guessed: f64
name: retrieve_data
arguments: data_label: D190
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D133
type_guessed: byte[8]
name: retrieve_data
arguments: data_label: D404
type_guessed: f64

tool: {"D42": [8.572,-37.519]}

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

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

tool: {"D477": [0x7fffffffffffffff,0x0000000000000000]}

tool: D410: 0.5

tool: D20: 0.66291

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

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

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

tool: D194: 22.266688044328117

tool: D10: 0.39894151208813466

tool: D39: 235.387901782625

tool: D127: 8.883149794388377

tool: D359: 1519.3775994075547

tool: D374: 93.50665613217785

tool: D226: 6485.558298266761

tool: D295: 597.2702763948002

tool: D392: 18615.571640885097

tool: D41: 2494.5375852903726

tool: D456: 34900.95272114598

tool: D173: 6848.190450536283

tool: D243: 38912.00328609327

tool: D306: 11602.65143764735

tool: D142: 9842.714838383978

tool: D311: 19685.429676859992

tool: D467: 0

tool: D425: 1

tool: D112: 0.06568233791820745

tool: D499: 47.202581904688245

tool: D241: 2.2352520354606837

tool: D495: 976.0985517377767

tool: D486: 161.02823106855587

tool: D253: 10260.932208618979

tool: D12: 1067.6894854603709

tool: D389: 45507.78933502673

tool: D71: 18154.98125334356

tool: D383: 1.284260096144911

tool: D28: 0.023073441764940174

tool: D8: 0.215898534057957

tool: D67: 0.4682382124808651

tool: D209: 0.12740116116024736

tool: D353: 0.06598813786892856

tool: D325: 0.022235277870649807

tool: D310: 0.0037823963320275824

tool: D54: 0.0014216191932278934

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

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

tool: D404: 0.3989422804014327

assistant: ```c
double unitcdf(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;
}
```