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

```asm
<main>:
  endbr64
  sub    $0x1f8,%rsp
  movapd D55(%rip),%xmm0
  mov    %fs:0x28,%rax
  mov    %rax,0x1e8(%rsp)
  xor    %eax,%eax
  mov    D264(%rip),%rax
  movaps %xmm0,0x70(%rsp)
  movapd D157(%rip),%xmm0
  mov    %rax,0xe0(%rsp)
  movaps %xmm0,0x80(%rsp)
  movapd D241(%rip),%xmm0
  movaps %xmm0,0x90(%rsp)
  movapd D192(%rip),%xmm0
  movaps %xmm0,0xa0(%rsp)
  movapd D43(%rip),%xmm0
  movaps %xmm0,0xb0(%rsp)
  movapd D281(%rip),%xmm0
  movaps %xmm0,0xc0(%rsp)
  movapd D154(%rip),%xmm0
  movaps %xmm0,0xd0(%rsp)
  movapd D17(%rip),%xmm0
  movaps %xmm0,0xf0(%rsp)
  movapd D133(%rip),%xmm0
  movaps %xmm0,0x100(%rsp)
  movapd D140(%rip),%xmm0
  movaps %xmm0,0x110(%rsp)
  movapd D27(%rip),%xmm0
  movaps %xmm0,0x120(%rsp)
  movapd D176(%rip),%xmm0
  movaps %xmm0,0x130(%rsp)
  movapd D209(%rip),%xmm0
  movaps %xmm0,0x140(%rsp)
  movapd D90(%rip),%xmm0
  movaps %xmm0,0x150(%rsp)
  movapd D156(%rip),%xmm1
  movapd D144(%rip),%xmm0
  mov    D272(%rip),%rax
  movapd D79(%rip),%xmm2
  movaps %xmm0,(%rsp)
  movapd D267(%rip),%xmm0
  movaps %xmm1,0x30(%rsp)
  movaps %xmm1,0x190(%rsp)
  movapd D84(%rip),%xmm1
  mov    %rax,0x160(%rsp)
  mov    D242(%rip),%rax
  movaps %xmm0,0x10(%rsp)
  movapd D234(%rip),%xmm0
  movaps %xmm2,0x50(%rsp)
  movapd D70(%rip),%xmm2
  movaps %xmm1,0x1a0(%rsp)
  movapd D77(%rip),%xmm1
  mov    %rax,0x60(%rsp)
  mov    D102(%rip),%rax
  movaps %xmm0,0x20(%rsp)
  movapd D253(%rip),%xmm0
  movaps %xmm2,0x170(%rsp)
  movapd D14(%rip),%xmm2
  movaps %xmm1,0x1b0(%rsp)
  movapd D260(%rip),%xmm1
  mov    %rax,0x1e0(%rsp)
  xor    %eax,%eax
  movaps %xmm0,0x40(%rsp)
  movaps %xmm2,0x180(%rsp)
  movaps %xmm1,0x1c0(%rsp)
  movaps %xmm0,0x1d0(%rsp)
  call   <testcenter@plt>
  lea    0x70(%rsp),%r8
  mov    $0x3,%ecx
  mov    $0x5,%edx
  mov    %r8,%r9
  mov    $0x3,%esi
  mov    $0x5,%edi
  call   <testcov@plt>
  mov    $0x3,%ecx
  mov    $0x5,%edx
  lea    0xf0(%rsp),%r8
  mov    %r8,%r9
  mov    $0x3,%esi
  mov    $0x5,%edi
  call   <testcov@plt>
  mov    %rsp,%r8
  mov    $0x2,%ecx
  mov    $0x2,%edx
  mov    %r8,%r9
  mov    $0x2,%esi
  mov    $0x2,%edi
  call   <testcov@plt>
  lea    0x20(%rsp),%r8
  mov    $0x3,%ecx
  mov    $0x3,%edx
  mov    %r8,%r9
  mov    $0x3,%esi
  mov    $0x3,%edi
  call   <testcov@plt>
  mov    $0x3,%ecx
  mov    $0x5,%edx
  lea    0x170(%rsp),%r8
  mov    %r8,%r9
  mov    $0x3,%esi
  mov    $0x5,%edi
  call   <testcov@plt>
  mov    0x1e8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L2
  xor    %eax,%eax
  add    $0x1f8,%rsp
  ret
L2:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D55
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D264
datatype: f64
name: extract_symbolic_data
arguments: data_label: D157
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D241
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D192
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D43
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D281
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D154
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D17
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D133
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D140
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D27
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D176
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D209
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D90
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D156
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D144
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D272
datatype: f64
name: extract_symbolic_data
arguments: data_label: D79
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D267
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D84
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D242
datatype: byte[8]
name: extract_symbolic_data
arguments: data_label: D234
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D70
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D77
datatype: f64[2]
name: extract_symbolic_data
arguments: data_label: D102
datatype: byte[8]
name: extract_symbolic_data
arguments: data_label: D253
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D14
datatype: byte[16]
name: extract_symbolic_data
arguments: data_label: D260
datatype: f64[2]

tool: {"D55": [4.0,2.0]}

tool: D264: 0.63

tool: {"D157": [0.6,4.2]}

tool: {"D241": [2.1,0.59]}

tool: {"D192": [3.9,2.0]}

tool: {"D43": [0.58,4.3]}

tool: {"D281": [2.1,0.62]}

tool: {"D154": [4.1,2.2]}

tool: {"D17": [64.0,580.0]}

tool: {"D133": [29.0,66.0]}

tool: {"D140": [570.0,33.0]}

tool: {"D27": [68.0,590.0]}

tool: {"D176": [37.0,69.0]}

tool: {"D209": [660.0,46.0]}

tool: {"D90": [73.0,600.0]}

tool: {"D156": [0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x40]}

tool: {"D144": [3.0,7.0]}

tool: D272: 55

tool: {"D79": [4.0,1.0]}

tool: {"D267": [2.0,4.0]}

tool: {"D84": [0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x40]}

tool: {"D242": [0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x40]}

tool: {"D234": [2.0,5.0]}

tool: {"D70": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x40]}

tool: {"D77": [4.0,7.0]}

tool: {"D102": [0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x40]}

tool: {"D253": [0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x40]}

tool: {"D14": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0xc0]}

tool: {"D260": [3.0,5.0]}

assistant: ```c
int main(void) {
  double X1[5][3] = {
      {4.0, 2.0, 0.6}, {4.2, 2.1, 0.59}, {3.9, 2.0, 0.58}, {4.3, 2.1, 0.62}, {4.1, 2.2, 0.63},
  };
  double X2[5][3] = {
      {64.0, 580.0, 29.0}, {66.0, 570.0, 33.0}, {68.0, 590.0, 37.0}, {69.0, 660.0, 46.0}, {73.0, 600.0, 55.0},
  };
  double X3[2][2] = {
      {3.0, 7.0},
      {2.0, 4.0},
  };
  double X4[3][3] = {
      {2, 5, 9},
      {3, 8, 7},
      {4, 1, 5},
  };
  double X5[5][3] = {
      {1, 8, 1}, {-4, 9, 3}, {5, 10, 4}, {7, 3, 5}, {8, 7, 6},
  };
  testcenter();
  testcov(5, 3, 5, 3, X1, X1);
  testcov(5, 3, 5, 3, X2, X2);
  testcov(2, 2, 2, 2, X3, X3);
  testcov(3, 3, 3, 3, X4, X4);
  testcov(5, 3, 5, 3, X5, X5);
  return 0;
}
```