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

```asm
<print_to_file>:
  endbr64
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rdi,%rbp
  lea    0x410(%rdi),%rbx
  mov    %rdi,%r12
  lea    D20(%rip),%r13
L57:
  movsd  0x50(%r12),%xmm2
  movsd  0x38(%r12),%xmm1
  movsd  (%r12),%xmm0
  mov    %r13,%rdi
  mov    $0x3,%eax
  call   <printf@plt>
  add    $0x68,%r12
  cmp    %rbx,%r12
  jne    L57
  lea    D132(%rip),%rsi
  lea    D57(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r13
  mov    %rbp,%r12
  lea    D110(%rip),%r14
L3:
  movsd  0x8(%r12),%xmm1
  movsd  (%r12),%xmm0
  mov    %r14,%rsi
  mov    %r13,%rdi
  call   <fprintf@plt>
  add    $0x68,%r12
  cmp    %rbx,%r12
  jne    L3
  mov    %r13,%rdi
  call   <fclose@plt>
  lea    D132(%rip),%rsi
  lea    D14(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r13
  mov    %rbp,%r12
  lea    D110(%rip),%r14
L60:
  movsd  0x38(%r12),%xmm1
  movsd  (%r12),%xmm0
  mov    %r14,%rsi
  mov    %r13,%rdi
  call   <fprintf@plt>
  add    $0x68,%r12
  cmp    %rbx,%r12
  jne    L60
  mov    %r13,%rdi
  call   <fclose@plt>
  lea    D132(%rip),%rsi
  lea    D195(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r13
  mov    %rbp,%r12
  lea    D110(%rip),%r14
L89:
  movsd  0x20(%r12),%xmm1
  movsd  (%r12),%xmm0
  mov    %r14,%rsi
  mov    %r13,%rdi
  call   <fprintf@plt>
  add    $0x68,%r12
  cmp    %rbx,%r12
  jne    L89
  mov    %r13,%rdi
  call   <fclose@plt>
  lea    D132(%rip),%rsi
  lea    D112(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r13
  mov    %rbp,%r12
  lea    D110(%rip),%r14
L18:
  movsd  0x40(%r12),%xmm1
  movsd  (%r12),%xmm0
  mov    %r14,%rsi
  mov    %r13,%rdi
  call   <fprintf@plt>
  add    $0x68,%r12
  cmp    %rbx,%r12
  jne    L18
  mov    %r13,%rdi
  call   <fclose@plt>
  lea    D132(%rip),%rsi
  lea    D249(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r13
  mov    %rbp,%r12
  lea    D110(%rip),%r14
L1:
  movsd  0x48(%r12),%xmm1
  movsd  (%r12),%xmm0
  mov    %r14,%rsi
  mov    %r13,%rdi
  call   <fprintf@plt>
  add    $0x68,%r12
  cmp    %rbx,%r12
  jne    L1
  mov    %r13,%rdi
  call   <fclose@plt>
  lea    D132(%rip),%rsi
  lea    D161(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r13
  mov    %rbp,%r12
  lea    D110(%rip),%r14
L14:
  movsd  0x50(%r12),%xmm1
  movsd  (%r12),%xmm0
  mov    %r14,%rsi
  mov    %r13,%rdi
  call   <fprintf@plt>
  add    $0x68,%r12
  cmp    %rbx,%r12
  jne    L14
  mov    %r13,%rdi
  call   <fclose@plt>
  lea    D132(%rip),%rsi
  lea    D95(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r13
  mov    %rbp,%r12
  lea    D110(%rip),%r14
L68:
  movsd  0x58(%r12),%xmm1
  movsd  (%r12),%xmm0
  mov    %r14,%rsi
  mov    %r13,%rdi
  call   <fprintf@plt>
  add    $0x68,%r12
  cmp    %rbx,%r12
  jne    L68
  mov    %r13,%rdi
  call   <fclose@plt>
  lea    D132(%rip),%rsi
  lea    D145(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r12
  lea    D110(%rip),%r13
L61:
  movsd  0x60(%rbp),%xmm1
  movsd  0x0(%rbp),%xmm0
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <fprintf@plt>
  add    $0x68,%rbp
  cmp    %rbx,%rbp
  jne    L61
  mov    %r12,%rdi
  call   <fclose@plt>
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D20
datatype: string
name: extract_symbolic_data
arguments: data_label: D132
datatype: string
name: extract_symbolic_data
arguments: data_label: D57
datatype: string
name: extract_symbolic_data
arguments: data_label: D110
datatype: string
name: extract_symbolic_data
arguments: data_label: D14
datatype: string
name: extract_symbolic_data
arguments: data_label: D195
datatype: string
name: extract_symbolic_data
arguments: data_label: D112
datatype: string
name: extract_symbolic_data
arguments: data_label: D249
datatype: string
name: extract_symbolic_data
arguments: data_label: D161
datatype: string
name: extract_symbolic_data
arguments: data_label: D95
datatype: string
name: extract_symbolic_data
arguments: data_label: D145
datatype: string

tool: D20: 		%f		%f		%f


tool: D132: w+

tool: D57: e_avg.dat

tool: D110: %f	%f


tool: D14: e_avg_persite.dat

tool: D195: m_avg.dat

tool: D112: m_avg_persite.dat

tool: D249: c.dat

tool: D161: c_persite.dat

tool: D95: x.dat

tool: D145: x_persite.dat

assistant: ```c
void print_to_file(double data[][13]) {
  FILE *file;
  int i;
  if (0)
    printf("\t\tTemp\t\t<E/N>\t\tC/N\n");
  {
    for (i = 0; i < 10; i++)
      printf("\t\t%f\t\t%f\t\t%f\n", data[i][0], data[i][7], data[i][10]);
  }
  file = fopen("e_avg.dat", "w+");
  for (i = 0; i < 10; i++) {
    fprintf(file, "%f\t%f\n", data[i][0], data[i][1]);
  }
  fclose(file);
  file = fopen("e_avg_persite.dat", "w+");
  for (i = 0; i < 10; i++) {
    fprintf(file, "%f\t%f\n", data[i][0], data[i][7]);
  }
  fclose(file);
  file = fopen("m_avg.dat", "w+");
  for (i = 0; i < 10; i++) {
    fprintf(file, "%f\t%f\n", data[i][0], data[i][4]);
  }
  fclose(file);
  file = fopen("m_avg_persite.dat", "w+");
  for (i = 0; i < 10; i++) {
    fprintf(file, "%f\t%f\n", data[i][0], data[i][8]);
  }
  fclose(file);
  file = fopen("c.dat", "w+");
  for (i = 0; i < 10; i++) {
    fprintf(file, "%f\t%f\n", data[i][0], data[i][9]);
  }
  fclose(file);
  file = fopen("c_persite.dat", "w+");
  for (i = 0; i < 10; i++) {
    fprintf(file, "%f\t%f\n", data[i][0], data[i][10]);
  }
  fclose(file);
  file = fopen("x.dat", "w+");
  for (i = 0; i < 10; i++) {
    fprintf(file, "%f\t%f\n", data[i][0], data[i][11]);
  }
  fclose(file);
  file = fopen("x_persite.dat", "w+");
  for (i = 0; i < 10; i++) {
    fprintf(file, "%f\t%f\n", data[i][0], data[i][12]);
  }
  fclose(file);
}
```