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

```asm
<test>:
  endbr64
  sub    $0x108,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0xf8(%rsp)
  xor    %eax,%eax
  movq   $0x0,(%rsp)
  mov    D191(%rip),%rax
  mov    %rax,0x8(%rsp)
  mov    D281(%rip),%rax
  mov    %rax,0x10(%rsp)
  mov    D84(%rip),%rax
  mov    %rax,0x18(%rsp)
  mov    D69(%rip),%rax
  mov    %rax,0x20(%rsp)
  mov    D183(%rip),%rax
  mov    %rax,0x28(%rsp)
  mov    D98(%rip),%rax
  mov    %rax,0x30(%rsp)
  mov    D114(%rip),%rax
  mov    %rax,0x38(%rsp)
  mov    D78(%rip),%rax
  mov    %rax,0x40(%rsp)
  mov    D138(%rip),%rax
  mov    %rax,0x48(%rsp)
  mov    D225(%rip),%rax
  mov    %rax,0x50(%rsp)
  mov    D87(%rip),%rax
  mov    %rax,0x58(%rsp)
  mov    D132(%rip),%rax
  mov    %rax,0x60(%rsp)
  mov    D284(%rip),%rax
  mov    %rax,0x68(%rsp)
  mov    D164(%rip),%rax
  mov    %rax,0x70(%rsp)
  mov    D111(%rip),%rax
  mov    %rax,0x78(%rsp)
  mov    D170(%rip),%rax
  mov    %rax,0x80(%rsp)
  mov    D260(%rip),%rax
  mov    %rax,0x88(%rsp)
  mov    D103(%rip),%rax
  mov    %rax,0x90(%rsp)
  mov    D279(%rip),%rax
  mov    %rax,0x98(%rsp)
  mov    D33(%rip),%rax
  mov    %rax,0xa0(%rsp)
  mov    D115(%rip),%rax
  mov    %rax,0xa8(%rsp)
  mov    D230(%rip),%rax
  mov    %rax,0xb0(%rsp)
  mov    D220(%rip),%rax
  mov    %rax,0xb8(%rsp)
  mov    D149(%rip),%rax
  mov    %rax,0xc0(%rsp)
  mov    D232(%rip),%rax
  mov    %rax,0xc8(%rsp)
  mov    D77(%rip),%rax
  mov    %rax,0xd0(%rsp)
  mov    D268(%rip),%rax
  mov    %rax,0xd8(%rsp)
  mov    D106(%rip),%rax
  mov    %rax,0xe0(%rsp)
  mov    D54(%rip),%rax
  mov    %rax,0xe8(%rsp)
  mov    %edi,%edi
  movsd  (%rsp,%rdi,8),%xmm0
  mov    0xf8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L8
  add    $0x108,%rsp
  ret
L8:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: read_data
arguments: data_label: D191
type_infered: f64
name: read_data
arguments: data_label: D281
type_infered: f64
name: read_data
arguments: data_label: D84
type_infered: f64
name: read_data
arguments: data_label: D69
type_infered: f64
name: read_data
arguments: data_label: D183
type_infered: f64
name: read_data
arguments: data_label: D98
type_infered: f64
name: read_data
arguments: data_label: D114
type_infered: f64
name: read_data
arguments: data_label: D78
type_infered: f64
name: read_data
arguments: data_label: D138
type_infered: f64
name: read_data
arguments: data_label: D225
type_infered: f64
name: read_data
arguments: data_label: D87
type_infered: f64
name: read_data
arguments: data_label: D132
type_infered: f64
name: read_data
arguments: data_label: D284
type_infered: f64
name: read_data
arguments: data_label: D164
type_infered: f64
name: read_data
arguments: data_label: D111
type_infered: f64
name: read_data
arguments: data_label: D170
type_infered: f64
name: read_data
arguments: data_label: D260
type_infered: f64
name: read_data
arguments: data_label: D103
type_infered: f64
name: read_data
arguments: data_label: D279
type_infered: f64
name: read_data
arguments: data_label: D33
type_infered: f64
name: read_data
arguments: data_label: D115
type_infered: f64
name: read_data
arguments: data_label: D230
type_infered: f64
name: read_data
arguments: data_label: D220
type_infered: f64
name: read_data
arguments: data_label: D149
type_infered: f64
name: read_data
arguments: data_label: D232
type_infered: f64
name: read_data
arguments: data_label: D77
type_infered: f64
name: read_data
arguments: data_label: D268
type_infered: f64
name: read_data
arguments: data_label: D106
type_infered: f64
name: read_data
arguments: data_label: D54
type_infered: f64

tool: D191: 12.706

tool: D281: 4.303

tool: D84: 3.182

tool: D69: 2.776

tool: D183: 2.571

tool: D98: 2.447

tool: D114: 2.365

tool: D78: 2.306

tool: D138: 2.262

tool: D225: 2.228

tool: D87: 2.201

tool: D132: 2.179

tool: D284: 2.16

tool: D164: 2.145

tool: D111: 2.131

tool: D170: 2.12

tool: D260: 2.11

tool: D103: 2.101

tool: D279: 2.093

tool: D33: 2.086

tool: D115: 2.08

tool: D230: 2.074

tool: D220: 2.069

tool: D149: 2.064

tool: D232: 2.06

tool: D77: 2.056

tool: D268: 2.052

tool: D106: 2.048

tool: D54: 2.045

assistant: ```c
double test(unsigned X) {
  double student_t[30] = {0.0, 12.706, 4.303, 3.182, 2.776, 2.571, 2.447, 2.365, 2.306, 2.262, 2.228, 2.201, 2.179, 2.160, 2.145, 2.131, 2.120, 2.110, 2.101, 2.093, 2.086, 2.080, 2.074, 2.069, 2.064, 2.060, 2.056, 2.052, 2.048, 2.045};
  return student_t[X];
}
```