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

```asm
<confid>:
  endbr64
  sub    $0x248,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x238(%rsp)
  xor    %eax,%eax
  mov    D407(%rip),%rax
  mov    %rax,0x128(%rsp)
  mov    D189(%rip),%rax
  mov    %rax,0x130(%rsp)
  mov    D588(%rip),%rax
  mov    %rax,0x138(%rsp)
  mov    D12(%rip),%rax
  mov    %rax,0x140(%rsp)
  mov    D181(%rip),%rax
  mov    %rax,0x148(%rsp)
  mov    D269(%rip),%rax
  mov    %rax,0x150(%rsp)
  mov    D343(%rip),%rax
  mov    %rax,0x158(%rsp)
  mov    D393(%rip),%rax
  mov    %rax,0x160(%rsp)
  mov    D494(%rip),%rax
  mov    %rax,0x168(%rsp)
  mov    D322(%rip),%rax
  mov    %rax,0x170(%rsp)
  mov    D566(%rip),%rax
  mov    %rax,0x178(%rsp)
  mov    D478(%rip),%rax
  mov    %rax,0x180(%rsp)
  mov    D511(%rip),%rax
  mov    %rax,0x188(%rsp)
  mov    D64(%rip),%rax
  mov    %rax,0x190(%rsp)
  mov    D575(%rip),%rax
  mov    %rax,0x198(%rsp)
  mov    D222(%rip),%rax
  mov    %rax,0x1a0(%rsp)
  mov    D257(%rip),%rax
  mov    %rax,0x1a8(%rsp)
  mov    D509(%rip),%rax
  mov    %rax,0x1b0(%rsp)
  mov    D165(%rip),%rax
  mov    %rax,0x1b8(%rsp)
  mov    D462(%rip),%rax
  mov    %rax,0x1c0(%rsp)
  mov    D324(%rip),%rax
  mov    %rax,0x1c8(%rsp)
  mov    D394(%rip),%rax
  mov    %rax,0x1d0(%rsp)
  mov    D285(%rip),%rax
  mov    %rax,0x1d8(%rsp)
  mov    D248(%rip),%rax
  mov    %rax,0x1e0(%rsp)
  mov    D544(%rip),%rax
  mov    %rax,0x1e8(%rsp)
  mov    D548(%rip),%rax
  mov    %rax,0x1f0(%rsp)
  mov    D127(%rip),%rax
  mov    %rax,0x1f8(%rsp)
  mov    D118(%rip),%rax
  mov    %rax,0x200(%rsp)
  mov    D476(%rip),%rax
  mov    %rax,0x208(%rsp)
  mov    D11(%rip),%rax
  mov    %rax,0x210(%rsp)
  mov    D474(%rip),%rax
  mov    %rax,0x8(%rsp)
  mov    D389(%rip),%rax
  mov    %rax,0x10(%rsp)
  mov    D267(%rip),%rax
  mov    %rax,0x18(%rsp)
  mov    D19(%rip),%rax
  mov    %rax,0x20(%rsp)
  mov    D205(%rip),%rax
  mov    %rax,0x28(%rsp)
  mov    D235(%rip),%rax
  mov    %rax,0x30(%rsp)
  mov    D284(%rip),%rax
  mov    %rax,0x38(%rsp)
  mov    D195(%rip),%rax
  mov    %rax,0x40(%rsp)
  mov    D46(%rip),%rax
  mov    %rax,0x48(%rsp)
  mov    D413(%rip),%rax
  mov    %rax,0x50(%rsp)
  mov    D266(%rip),%rax
  mov    %rax,0x58(%rsp)
  mov    D367(%rip),%rax
  mov    %rax,0x60(%rsp)
  mov    D44(%rip),%rax
  mov    %rax,0x68(%rsp)
  mov    D185(%rip),%rax
  mov    %rax,0x70(%rsp)
  mov    D504(%rip),%rax
  mov    %rax,0x78(%rsp)
  mov    D9(%rip),%rax
  mov    %rax,0x80(%rsp)
  mov    D436(%rip),%rax
  mov    %rax,0x88(%rsp)
  mov    D47(%rip),%rax
  mov    %rax,0x90(%rsp)
  mov    D349(%rip),%rax
  mov    %rax,0x98(%rsp)
  mov    D477(%rip),%rax
  mov    %rax,0xa0(%rsp)
  mov    D115(%rip),%rax
  mov    %rax,0xa8(%rsp)
  mov    D340(%rip),%rax
  mov    %rax,0xb0(%rsp)
  mov    D166(%rip),%rax
  mov    %rax,0xb8(%rsp)
  mov    D408(%rip),%rax
  mov    %rax,0xc0(%rsp)
  mov    D106(%rip),%rax
  mov    %rax,0xc8(%rsp)
  mov    D0(%rip),%rax
  mov    %rax,0xd0(%rsp)
  mov    D194(%rip),%rax
  mov    %rax,0xd8(%rsp)
  mov    D485(%rip),%rax
  mov    %rax,0xe0(%rsp)
  mov    D355(%rip),%rax
  mov    %rax,0xe8(%rsp)
  mov    D231(%rip),%rax
  mov    %rax,0xf0(%rsp)
  cmp    $0x5f,%edi
  je     L44
  pxor   %xmm0,%xmm0
  cmp    $0x63,%edi
  je     L19
L38:
  mov    0x238(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L2
  add    $0x248,%rsp
  ret
L44:
  movslq %esi,%rsi
  movsd  0x120(%rsp,%rsi,8),%xmm0
  jmp    L38
L19:
  movslq %esi,%rsi
  movsd  (%rsp,%rsi,8),%xmm0
  jmp    L38
L2:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: data_label: D407
datatype: f64
name: unpack_data
arguments: data_label: D189
datatype: f64
name: unpack_data
arguments: data_label: D588
datatype: f64
name: unpack_data
arguments: data_label: D12
datatype: f64
name: unpack_data
arguments: data_label: D181
datatype: f64
name: unpack_data
arguments: data_label: D269
datatype: f64
name: unpack_data
arguments: data_label: D343
datatype: f64
name: unpack_data
arguments: data_label: D393
datatype: f64
name: unpack_data
arguments: data_label: D494
datatype: f64
name: unpack_data
arguments: data_label: D322
datatype: f64
name: unpack_data
arguments: data_label: D566
datatype: f64
name: unpack_data
arguments: data_label: D478
datatype: f64
name: unpack_data
arguments: data_label: D511
datatype: f64
name: unpack_data
arguments: data_label: D64
datatype: f64
name: unpack_data
arguments: data_label: D575
datatype: f64
name: unpack_data
arguments: data_label: D222
datatype: f64
name: unpack_data
arguments: data_label: D257
datatype: f64
name: unpack_data
arguments: data_label: D509
datatype: f64
name: unpack_data
arguments: data_label: D165
datatype: f64
name: unpack_data
arguments: data_label: D462
datatype: f64
name: unpack_data
arguments: data_label: D324
datatype: f64
name: unpack_data
arguments: data_label: D394
datatype: f64
name: unpack_data
arguments: data_label: D285
datatype: f64
name: unpack_data
arguments: data_label: D248
datatype: f64
name: unpack_data
arguments: data_label: D544
datatype: f64
name: unpack_data
arguments: data_label: D548
datatype: f64
name: unpack_data
arguments: data_label: D127
datatype: f64
name: unpack_data
arguments: data_label: D118
datatype: f64
name: unpack_data
arguments: data_label: D476
datatype: f64
name: unpack_data
arguments: data_label: D11
datatype: f64
name: unpack_data
arguments: data_label: D474
datatype: f64
name: unpack_data
arguments: data_label: D389
datatype: f64
name: unpack_data
arguments: data_label: D267
datatype: f64
name: unpack_data
arguments: data_label: D19
datatype: f64
name: unpack_data
arguments: data_label: D205
datatype: f64
name: unpack_data
arguments: data_label: D235
datatype: f64
name: unpack_data
arguments: data_label: D284
datatype: f64
name: unpack_data
arguments: data_label: D195
datatype: f64
name: unpack_data
arguments: data_label: D46
datatype: f64
name: unpack_data
arguments: data_label: D413
datatype: f64
name: unpack_data
arguments: data_label: D266
datatype: f64
name: unpack_data
arguments: data_label: D367
datatype: f64
name: unpack_data
arguments: data_label: D44
datatype: f64
name: unpack_data
arguments: data_label: D185
datatype: f64
name: unpack_data
arguments: data_label: D504
datatype: f64
name: unpack_data
arguments: data_label: D9
datatype: f64
name: unpack_data
arguments: data_label: D436
datatype: f64
name: unpack_data
arguments: data_label: D47
datatype: f64
name: unpack_data
arguments: data_label: D349
datatype: f64
name: unpack_data
arguments: data_label: D477
datatype: f64
name: unpack_data
arguments: data_label: D115
datatype: f64
name: unpack_data
arguments: data_label: D340
datatype: f64
name: unpack_data
arguments: data_label: D166
datatype: f64
name: unpack_data
arguments: data_label: D408
datatype: f64
name: unpack_data
arguments: data_label: D106
datatype: f64
name: unpack_data
arguments: data_label: D0
datatype: f64
name: unpack_data
arguments: data_label: D194
datatype: f64
name: unpack_data
arguments: data_label: D485
datatype: f64
name: unpack_data
arguments: data_label: D355
datatype: f64
name: unpack_data
arguments: data_label: D231
datatype: f64

tool: D407: 12.706

tool: D189: 4.303

tool: D588: 3.182

tool: D12: 2.776

tool: D181: 2.571

tool: D269: 2.447

tool: D343: 2.365

tool: D393: 2.306

tool: D494: 2.262

tool: D322: 2.228

tool: D566: 2.201

tool: D478: 2.179

tool: D511: 2.16

tool: D64: 2.145

tool: D575: 2.131

tool: D222: 2.12

tool: D257: 2.11

tool: D509: 2.101

tool: D165: 2.093

tool: D462: 2.086

tool: D324: 2.08

tool: D394: 2.074

tool: D285: 2.069

tool: D248: 2.064

tool: D544: 2.06

tool: D548: 2.056

tool: D127: 2.052

tool: D118: 2.048

tool: D476: 2.045

tool: D11: 2.042

tool: D474: 63.657

tool: D389: 9.925

tool: D267: 5.841

tool: D19: 4.604

tool: D205: 4.032

tool: D235: 3.707

tool: D284: 3.499

tool: D195: 3.355

tool: D46: 3.25

tool: D413: 3.169

tool: D266: 3.106

tool: D367: 3.055

tool: D44: 3.012

tool: D185: 2.977

tool: D504: 2.947

tool: D9: 2.921

tool: D436: 2.898

tool: D47: 2.878

tool: D349: 2.861

tool: D477: 2.845

tool: D115: 2.831

tool: D340: 2.819

tool: D166: 2.807

tool: D408: 2.797

tool: D106: 2.787

tool: D0: 2.779

tool: D194: 2.771

tool: D485: 2.763

tool: D355: 2.756

tool: D231: 2.75

assistant: ```c
double confid(int level, int freedom) {
  double t99[35], t95[35];
  t95[1] = 12.706;
  t95[2] = 4.303;
  t95[3] = 3.182;
  t95[4] = 2.776;
  t95[5] = 2.571;
  t95[6] = 2.447;
  t95[7] = 2.365;
  t95[8] = 2.306;
  t95[9] = 2.262;
  t95[10] = 2.228;
  t95[11] = 2.201;
  t95[12] = 2.179;
  t95[13] = 2.160;
  t95[14] = 2.145;
  t95[15] = 2.131;
  t95[16] = 2.120;
  t95[17] = 2.110;
  t95[18] = 2.101;
  t95[19] = 2.093;
  t95[20] = 2.086;
  t95[21] = 2.080;
  t95[22] = 2.074;
  t95[23] = 2.069;
  t95[24] = 2.064;
  t95[25] = 2.060;
  t95[26] = 2.056;
  t95[27] = 2.052;
  t95[28] = 2.048;
  t95[29] = 2.045;
  t95[30] = 2.042;
  t99[1] = 63.657;
  t99[2] = 9.925;
  t99[3] = 5.841;
  t99[4] = 4.604;
  t99[5] = 4.032;
  t99[6] = 3.707;
  t99[7] = 3.499;
  t99[8] = 3.355;
  t99[9] = 3.250;
  t99[10] = 3.169;
  t99[11] = 3.106;
  t99[12] = 3.055;
  t99[13] = 3.012;
  t99[14] = 2.977;
  t99[15] = 2.947;
  t99[16] = 2.921;
  t99[17] = 2.898;
  t99[18] = 2.878;
  t99[19] = 2.861;
  t99[20] = 2.845;
  t99[21] = 2.831;
  t99[22] = 2.819;
  t99[23] = 2.807;
  t99[24] = 2.797;
  t99[25] = 2.787;
  t99[26] = 2.779;
  t99[27] = 2.771;
  t99[28] = 2.763;
  t99[29] = 2.756;
  t99[30] = 2.750;
  if (level == 95) {
    return (t95[freedom]);
  } else if (level == 99) {
    return (t99[freedom]);
  } else {
    return (0);
  }
}
```