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

```asm
<test>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x110,%rsp
  mov    %edi,-0x104(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x100(%rbp)
  movsd  D8(%rip),%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  D57(%rip),%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  movsd  D197(%rip),%xmm0
  movsd  %xmm0,-0xe8(%rbp)
  movsd  D25(%rip),%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  movsd  D210(%rip),%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  D231(%rip),%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  movsd  D39(%rip),%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  movsd  D255(%rip),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movsd  D245(%rip),%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  movsd  D288(%rip),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  D91(%rip),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  D218(%rip),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  D248(%rip),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  D69(%rip),%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movsd  D154(%rip),%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  D283(%rip),%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  D60(%rip),%xmm0
  movsd  %xmm0,-0x78(%rbp)
  movsd  D21(%rip),%xmm0
  movsd  %xmm0,-0x70(%rbp)
  movsd  D50(%rip),%xmm0
  movsd  %xmm0,-0x68(%rbp)
  movsd  D191(%rip),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  D282(%rip),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D265(%rip),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  D181(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  D202(%rip),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  D40(%rip),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  D144(%rip),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  D157(%rip),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  D73(%rip),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  D225(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x104(%rbp),%eax
  movsd  -0x100(%rbp,%rax,8),%xmm0
  movq   %xmm0,%rax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L2
  call   <__stack_chk_fail@plt>
L2:
  movq   %rax,%xmm0
  leave
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D8
type_infered: f64
name: disassemble_data
arguments: tag: D57
type_infered: f64
name: disassemble_data
arguments: tag: D197
type_infered: f64
name: disassemble_data
arguments: tag: D25
type_infered: f64
name: disassemble_data
arguments: tag: D210
type_infered: f64
name: disassemble_data
arguments: tag: D231
type_infered: f64
name: disassemble_data
arguments: tag: D39
type_infered: f64
name: disassemble_data
arguments: tag: D255
type_infered: f64
name: disassemble_data
arguments: tag: D245
type_infered: f64
name: disassemble_data
arguments: tag: D288
type_infered: f64
name: disassemble_data
arguments: tag: D91
type_infered: f64
name: disassemble_data
arguments: tag: D218
type_infered: f64
name: disassemble_data
arguments: tag: D248
type_infered: f64
name: disassemble_data
arguments: tag: D69
type_infered: f64
name: disassemble_data
arguments: tag: D154
type_infered: f64
name: disassemble_data
arguments: tag: D283
type_infered: f64
name: disassemble_data
arguments: tag: D60
type_infered: f64
name: disassemble_data
arguments: tag: D21
type_infered: f64
name: disassemble_data
arguments: tag: D50
type_infered: f64
name: disassemble_data
arguments: tag: D191
type_infered: f64
name: disassemble_data
arguments: tag: D282
type_infered: f64
name: disassemble_data
arguments: tag: D265
type_infered: f64
name: disassemble_data
arguments: tag: D181
type_infered: f64
name: disassemble_data
arguments: tag: D202
type_infered: f64
name: disassemble_data
arguments: tag: D40
type_infered: f64
name: disassemble_data
arguments: tag: D144
type_infered: f64
name: disassemble_data
arguments: tag: D157
type_infered: f64
name: disassemble_data
arguments: tag: D73
type_infered: f64
name: disassemble_data
arguments: tag: D225
type_infered: f64

tool: D8: 12.706

tool: D57: 4.303

tool: D197: 3.182

tool: D25: 2.776

tool: D210: 2.571

tool: D231: 2.447

tool: D39: 2.365

tool: D255: 2.306

tool: D245: 2.262

tool: D288: 2.228

tool: D91: 2.201

tool: D218: 2.179

tool: D248: 2.16

tool: D69: 2.145

tool: D154: 2.131

tool: D283: 2.12

tool: D60: 2.11

tool: D21: 2.101

tool: D50: 2.093

tool: D191: 2.086

tool: D282: 2.08

tool: D265: 2.074

tool: D181: 2.069

tool: D202: 2.064

tool: D40: 2.06

tool: D144: 2.056

tool: D157: 2.052

tool: D73: 2.048

tool: D225: 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];
}
```