user: What is the c source code of the assembly code below:

```asm
<print_to_file>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  lea    D38(%rip),%r13
  push   %r12
  mov    %rdi,%r12
  push   %rbp
  mov    %rdi,%rbp
  push   %rbx
  lea    0x410(%rdi),%rbx
  sub    $0x8,%rsp
  cs nopw 0x0(%rax,%rax,1)
L10:
  movsd  0x50(%rbp),%xmm2
  movsd  0x38(%rbp),%xmm1
  mov    %r13,%rdi
  mov    $0x3,%eax
  movsd  0x0(%rbp),%xmm0
  add    $0x68,%rbp
  call   <printf@plt>
  cmp    %rbx,%rbp
  jne    L10
  lea    D36(%rip),%r14
  lea    D32(%rip),%rdi
  mov    %r12,%r13
  mov    %r14,%rsi
  lea    D79(%rip),%rbp
  call   <fopen@plt>
  mov    %rax,%r15
  nopl   0x0(%rax,%rax,1)
L17:
  movsd  0x8(%r13),%xmm1
  mov    %rbp,%rsi
  mov    %r15,%rdi
  add    $0x68,%r13
  movsd  -0x68(%r13),%xmm0
  call   <fprintf@plt>
  cmp    %rbx,%r13
  jne    L17
  mov    %r15,%rdi
  mov    %r12,%r13
  call   <fclose@plt>
  mov    %r14,%rsi
  lea    D64(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r15
  nopl   (%rax)
L69:
  movsd  0x38(%r13),%xmm1
  mov    %rbp,%rsi
  mov    %r15,%rdi
  add    $0x68,%r13
  movsd  -0x68(%r13),%xmm0
  call   <fprintf@plt>
  cmp    %rbx,%r13
  jne    L69
  mov    %r15,%rdi
  mov    %r12,%r13
  call   <fclose@plt>
  mov    %r14,%rsi
  lea    D22(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r15
  nopl   (%rax)
L47:
  movsd  0x20(%r13),%xmm1
  mov    %rbp,%rsi
  mov    %r15,%rdi
  add    $0x68,%r13
  movsd  -0x68(%r13),%xmm0
  call   <fprintf@plt>
  cmp    %rbx,%r13
  jne    L47
  mov    %r15,%rdi
  mov    %r12,%r13
  call   <fclose@plt>
  mov    %r14,%rsi
  lea    D15(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r15
  nopl   (%rax)
L11:
  movsd  0x40(%r13),%xmm1
  mov    %rbp,%rsi
  mov    %r15,%rdi
  add    $0x68,%r13
  movsd  -0x68(%r13),%xmm0
  call   <fprintf@plt>
  cmp    %rbx,%r13
  jne    L11
  mov    %r15,%rdi
  mov    %r12,%r13
  call   <fclose@plt>
  mov    %r14,%rsi
  lea    D8(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r15
  nopl   (%rax)
L16:
  movsd  0x48(%r13),%xmm1
  mov    %rbp,%rsi
  mov    %r15,%rdi
  add    $0x68,%r13
  movsd  -0x68(%r13),%xmm0
  call   <fprintf@plt>
  cmp    %rbx,%r13
  jne    L16
  mov    %r15,%rdi
  mov    %r12,%r13
  call   <fclose@plt>
  mov    %r14,%rsi
  lea    D29(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r15
  nopl   (%rax)
L13:
  movsd  0x50(%r13),%xmm1
  mov    %rbp,%rsi
  mov    %r15,%rdi
  add    $0x68,%r13
  movsd  -0x68(%r13),%xmm0
  call   <fprintf@plt>
  cmp    %rbx,%r13
  jne    L13
  mov    %r15,%rdi
  mov    %r12,%r13
  call   <fclose@plt>
  mov    %r14,%rsi
  lea    D55(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r15
  nopl   (%rax)
L42:
  movsd  0x58(%r13),%xmm1
  mov    %rbp,%rsi
  mov    %r15,%rdi
  add    $0x68,%r13
  movsd  -0x68(%r13),%xmm0
  call   <fprintf@plt>
  cmp    %rbx,%r13
  jne    L42
  mov    %r15,%rdi
  call   <fclose@plt>
  mov    %r14,%rsi
  lea    D31(%rip),%rdi
  call   <fopen@plt>
  mov    %rax,%r13
  nopw   0x0(%rax,%rax,1)
L76:
  movsd  (%r12),%xmm0
  mov    %rbp,%rsi
  mov    %r13,%rdi
  add    $0x68,%r12
  movsd  -0x8(%r12),%xmm1
  call   <fprintf@plt>
  cmp    %rbx,%r12
  jne    L76
  add    $0x8,%rsp
  mov    %r13,%rdi
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  jmp    1080 <fclose@plt>
```

tool_calls: name: retrieve_data
arguments: data_label: D38
type_guessed: string
name: retrieve_data
arguments: data_label: D36
type_guessed: string
name: retrieve_data
arguments: data_label: D32
type_guessed: string
name: retrieve_data
arguments: data_label: D79
type_guessed: string
name: retrieve_data
arguments: data_label: D64
type_guessed: string
name: retrieve_data
arguments: data_label: D22
type_guessed: string
name: retrieve_data
arguments: data_label: D15
type_guessed: string
name: retrieve_data
arguments: data_label: D8
type_guessed: string
name: retrieve_data
arguments: data_label: D29
type_guessed: string
name: retrieve_data
arguments: data_label: D55
type_guessed: string
name: retrieve_data
arguments: data_label: D31
type_guessed: string

tool: D38: 		%f		%f		%f


tool: D36: w+

tool: D32: e_avg.dat

tool: D79: %f	%f


tool: D64: e_avg_persite.dat

tool: D22: m_avg.dat

tool: D15: m_avg_persite.dat

tool: D8: c.dat

tool: D29: c_persite.dat

tool: D55: x.dat

tool: D31: 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);
}
```