user: Translate the below assembly code into C programming language:

```asm
<confid>:
  endbr64
  sub    $0x248,%rsp
  movapd D103(%rip),%xmm0
  mov    %fs:0x28,%rax
  mov    %rax,0x238(%rsp)
  xor    %eax,%eax
  movups %xmm0,0x128(%rsp)
  movapd D213(%rip),%xmm0
  movups %xmm0,0x138(%rsp)
  movapd D75(%rip),%xmm0
  movups %xmm0,0x148(%rsp)
  movapd D13(%rip),%xmm0
  movups %xmm0,0x158(%rsp)
  movapd D17(%rip),%xmm0
  movups %xmm0,0x168(%rsp)
  movapd D245(%rip),%xmm0
  movups %xmm0,0x178(%rsp)
  movapd D267(%rip),%xmm0
  movups %xmm0,0x188(%rsp)
  movapd D280(%rip),%xmm0
  movups %xmm0,0x198(%rsp)
  movapd D93(%rip),%xmm0
  movups %xmm0,0x1a8(%rsp)
  movapd D124(%rip),%xmm0
  movups %xmm0,0x1b8(%rsp)
  movapd D47(%rip),%xmm0
  movups %xmm0,0x1c8(%rsp)
  movapd D151(%rip),%xmm0
  movups %xmm0,0x1d8(%rsp)
  movapd D77(%rip),%xmm0
  movups %xmm0,0x1e8(%rsp)
  movapd D219(%rip),%xmm0
  movups %xmm0,0x1f8(%rsp)
  movapd D101(%rip),%xmm0
  movups %xmm0,0x208(%rsp)
  movapd D12(%rip),%xmm0
  movups %xmm0,0x8(%rsp)
  movapd D244(%rip),%xmm0
  movups %xmm0,0x18(%rsp)
  movapd D250(%rip),%xmm0
  movups %xmm0,0x28(%rsp)
  movapd D254(%rip),%xmm0
  movups %xmm0,0x38(%rsp)
  movapd D114(%rip),%xmm0
  movups %xmm0,0x48(%rsp)
  movapd D39(%rip),%xmm0
  movups %xmm0,0x58(%rsp)
  movapd D154(%rip),%xmm0
  movups %xmm0,0x68(%rsp)
  movapd D42(%rip),%xmm0
  movups %xmm0,0x78(%rsp)
  movapd D248(%rip),%xmm0
  movups %xmm0,0x88(%rsp)
  movapd D237(%rip),%xmm0
  movups %xmm0,0x98(%rsp)
  movapd D170(%rip),%xmm0
  movups %xmm0,0xa8(%rsp)
  movapd D272(%rip),%xmm0
  movups %xmm0,0xb8(%rsp)
  movapd D165(%rip),%xmm0
  movups %xmm0,0xc8(%rsp)
  movapd D126(%rip),%xmm0
  movups %xmm0,0xd8(%rsp)
  movapd D56(%rip),%xmm0
  movups %xmm0,0xe8(%rsp)
  cmp    $0x5f,%edi
  je     L21
  pxor   %xmm0,%xmm0
  cmp    $0x63,%edi
  jne    L18
  movslq %esi,%rsi
  movsd  (%rsp,%rsi,8),%xmm0
L18:
  mov    0x238(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L35
  add    $0x248,%rsp
  ret
  nopw   0x0(%rax,%rax,1)
L21:
  movslq %esi,%rsi
  movsd  0x120(%rsp,%rsi,8),%xmm0
  jmp    L18
L35:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: retrieve_data
arguments: tag: D103
datatype: f64[2]
name: retrieve_data
arguments: tag: D213
datatype: f64[2]
name: retrieve_data
arguments: tag: D75
datatype: f64[2]
name: retrieve_data
arguments: tag: D13
datatype: f64[2]
name: retrieve_data
arguments: tag: D17
datatype: f64[2]
name: retrieve_data
arguments: tag: D245
datatype: f64[2]
name: retrieve_data
arguments: tag: D267
datatype: f64[2]
name: retrieve_data
arguments: tag: D280
datatype: f64[2]
name: retrieve_data
arguments: tag: D93
datatype: f64[2]
name: retrieve_data
arguments: tag: D124
datatype: f64[2]
name: retrieve_data
arguments: tag: D47
datatype: f64[2]
name: retrieve_data
arguments: tag: D151
datatype: f64[2]
name: retrieve_data
arguments: tag: D77
datatype: f64[2]
name: retrieve_data
arguments: tag: D219
datatype: f64[2]
name: retrieve_data
arguments: tag: D101
datatype: f64[2]
name: retrieve_data
arguments: tag: D12
datatype: f64[2]
name: retrieve_data
arguments: tag: D244
datatype: f64[2]
name: retrieve_data
arguments: tag: D250
datatype: f64[2]
name: retrieve_data
arguments: tag: D254
datatype: f64[2]
name: retrieve_data
arguments: tag: D114
datatype: f64[2]
name: retrieve_data
arguments: tag: D39
datatype: f64[2]
name: retrieve_data
arguments: tag: D154
datatype: f64[2]
name: retrieve_data
arguments: tag: D42
datatype: f64[2]
name: retrieve_data
arguments: tag: D248
datatype: f64[2]
name: retrieve_data
arguments: tag: D237
datatype: f64[2]
name: retrieve_data
arguments: tag: D170
datatype: f64[2]
name: retrieve_data
arguments: tag: D272
datatype: f64[2]
name: retrieve_data
arguments: tag: D165
datatype: f64[2]
name: retrieve_data
arguments: tag: D126
datatype: f64[2]
name: retrieve_data
arguments: tag: D56
datatype: f64[2]

tool: {"D103": [12.706,4.303]}

tool: {"D213": [3.182,2.776]}

tool: {"D75": [2.571,2.447]}

tool: {"D13": [2.365,2.306]}

tool: {"D17": [2.262,2.228]}

tool: {"D245": [2.201,2.179]}

tool: {"D267": [2.16,2.145]}

tool: {"D280": [2.131,2.12]}

tool: {"D93": [2.11,2.101]}

tool: {"D124": [2.093,2.086]}

tool: {"D47": [2.08,2.074]}

tool: {"D151": [2.069,2.064]}

tool: {"D77": [2.06,2.056]}

tool: {"D219": [2.052,2.048]}

tool: {"D101": [2.045,2.042]}

tool: {"D12": [63.657,9.925]}

tool: {"D244": [5.841,4.604]}

tool: {"D250": [4.032,3.707]}

tool: {"D254": [3.499,3.355]}

tool: {"D114": [3.25,3.169]}

tool: {"D39": [3.106,3.055]}

tool: {"D154": [3.012,2.977]}

tool: {"D42": [2.947,2.921]}

tool: {"D248": [2.898,2.878]}

tool: {"D237": [2.861,2.845]}

tool: {"D170": [2.831,2.819]}

tool: {"D272": [2.807,2.797]}

tool: {"D165": [2.787,2.779]}

tool: {"D126": [2.771,2.763]}

tool: {"D56": [2.756,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);
  }
}
```