user: Translate the below assembly code into C programming language:

```asm
<print_buffers>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x48,%rsp
  mov    %rsi,%r14
  mov    %rdx,0x20(%rsp)
  mov    %rcx,0x28(%rsp)
  mov    %r8,0x30(%rsp)
  mov    %r9,%r12
  mov    0xc8(%rsp),%r13d
  lea    D55(%rip),%rsi
  call   <fopen@plt>
  mov    %rax,(%rsp)
  movl   $0x0,0x14(%rsp)
  cmpl   $0x0,0xd8(%rsp)
  jle    L569
  mov    %r12,0x38(%rsp)
  mov    %r13d,%r12d
  mov    %r14,%r13
  mov    0xc0(%rsp),%r14d
  jmp    L166
L1323:
  sub    $0x8,%rsp
  push   %r12
  mov    0xe0(%rsp),%eax
  push   %rax
  push   %r14
  mov    0xd8(%rsp),%eax
  push   %rax
  push   %rbx
  push   %rbp
  push   %r15
  mov    0x50(%rsp),%r9d
  mov    0x58(%rsp),%r8d
  mov    0x4c(%rsp),%ecx
  mov    0x5c(%rsp),%edx
  mov    0x48(%rsp),%esi
  mov    0x54(%rsp),%edi
  call   <Blocal_index@plt>
  add    $0x40,%rsp
  movsd  0x0(%r13,%rax,8),%xmm0
  mov    0x20(%rsp),%rdx
  lea    D32(%rip),%rsi
  mov    (%rsp),%rdi
  mov    $0x1,%eax
  call   <fprintf@plt>
  add    $0x1,%ebx
  cmp    %ebx,%r12d
  jne    L1323
L1234:
  add    $0x1,%ebp
  cmp    %ebp,%r14d
  je     L1346
L1004:
  mov    $0x0,%ebx
  test   %r12d,%r12d
  jg     L1323
  jmp    L1234
L1346:
  add    $0x1,%r15d
  cmp    %r15d,0xb8(%rsp)
  je     L1086
L281:
  mov    $0x0,%ebp
  jmp    L1004
L1086:
  addl   $0x1,0x10(%rsp)
  mov    0x10(%rsp),%eax
  cmp    %eax,0xd0(%rsp)
  je     L864
L1151:
  mov    $0x0,%r15d
  jmp    L281
L864:
  mov    0x18(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,%r14d
  je     L948
  mov    %eax,0x18(%rsp)
L36:
  movl   $0x0,0x10(%rsp)
  cmpl   $0x0,0xd0(%rsp)
  jg     L1151
  jmp    L864
L948:
  addl   $0x1,0xc(%rsp)
  mov    0xc(%rsp),%eax
  cmp    %eax,0xb8(%rsp)
  je     L509
L698:
  movl   $0x0,0x18(%rsp)
  jmp    L36
L509:
  mov    0x1c(%rsp),%esi
  lea    0x1(%rsi),%eax
  cmp    0x18(%rsp),%esi
  je     L438
  mov    %eax,0x1c(%rsp)
L941:
  movl   $0x0,0xc(%rsp)
  jmp    L698
L438:
  addl   $0x1,0x8(%rsp)
  mov    0x8(%rsp),%eax
  cmp    %eax,0xb8(%rsp)
  je     L35
L1223:
  movl   $0x0,0x1c(%rsp)
  test   %r14d,%r14d
  jg     L941
  jmp    L438
L35:
  mov    0x14(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,0xd8(%rsp)
  je     L265
  mov    %eax,0x14(%rsp)
L166:
  movl   $0x0,0x8(%rsp)
  cmpl   $0x0,0xb8(%rsp)
  jg     L1223
  jmp    L35
L1197:
  sub    $0x8,%rsp
  push   %r13
  mov    0xe0(%rsp),%eax
  push   %rax
  push   %r14
  push   %r12
  push   %rbx
  push   %rbp
  push   %r15
  mov    0x50(%rsp),%r9d
  mov    0x58(%rsp),%r8d
  mov    0x4c(%rsp),%ecx
  mov    0x60(%rsp),%edx
  mov    0x48(%rsp),%esi
  mov    0x5c(%rsp),%edi
  call   <Blocal_index@plt>
  add    $0x40,%rsp
  mov    0x28(%rsp),%rdx
  movsd  (%rdx,%rax,8),%xmm0
  mov    0x30(%rsp),%rdx
  lea    D32(%rip),%rsi
  mov    (%rsp),%rdi
  mov    $0x1,%eax
  call   <fprintf@plt>
  add    $0x1,%ebx
  cmp    %ebx,%r13d
  jne    L1197
L830:
  add    $0x1,%ebp
  cmp    %ebp,%r14d
  je     L732
L191:
  mov    $0x0,%ebx
  test   %r13d,%r13d
  jg     L1197
  jmp    L830
L732:
  add    $0x1,%r15d
  cmp    %r15d,%r12d
  je     L101
L707:
  mov    $0x0,%ebp
  jmp    L191
L101:
  addl   $0x1,0x10(%rsp)
  mov    0x10(%rsp),%eax
  cmp    %eax,0xd0(%rsp)
  je     L705
L1302:
  mov    $0x0,%r15d
  jmp    L707
L705:
  mov    0x18(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,%r14d
  je     L759
  mov    %eax,0x18(%rsp)
L1187:
  movl   $0x0,0x10(%rsp)
  cmpl   $0x0,0xd0(%rsp)
  jg     L1302
  jmp    L705
L759:
  addl   $0x1,0xc(%rsp)
  mov    0xc(%rsp),%eax
  cmp    %eax,%r12d
  je     L564
L1245:
  movl   $0x0,0x18(%rsp)
  jmp    L1187
L564:
  mov    0x20(%rsp),%esi
  lea    0x1(%rsi),%eax
  cmp    0x18(%rsp),%esi
  je     L1161
  mov    %eax,0x20(%rsp)
L329:
  movl   $0x0,0xc(%rsp)
  jmp    L1245
L1161:
  addl   $0x1,0x8(%rsp)
  mov    0x8(%rsp),%eax
  cmp    %eax,%r12d
  je     L1146
L839:
  movl   $0x0,0x20(%rsp)
  test   %r14d,%r14d
  jg     L329
  jmp    L1161
L1146:
  mov    0x1c(%rsp),%esi
  lea    0x1(%rsi),%eax
  cmp    %esi,0x14(%rsp)
  je     L567
  mov    %eax,0x1c(%rsp)
L1363:
  movl   $0x0,0x8(%rsp)
  test   %r12d,%r12d
  jg     L839
  jmp    L1146
L265:
  mov    %r12d,%r13d
  movl   $0x0,0x1c(%rsp)
  mov    0xb8(%rsp),%r12d
  mov    0xc0(%rsp),%r14d
  jmp    L1363
L567:
  mov    0x38(%rsp),%r12
L569:
  movl   $0x0,0x1c(%rsp)
  test   %r13d,%r13d
  jle    L1322
  mov    %r12,0x20(%rsp)
  jmp    L1059
L926:
  push   %r12
  push   %r13
  mov    0xd0(%rsp),%eax
  push   %rax
  mov    0xd0(%rsp),%eax
  push   %rax
  mov    0x3c(%rsp),%eax
  push   %rax
  push   %rbp
  push   %r14
  push   %r15
  mov    0x48(%rsp),%r9d
  mov    0x4c(%rsp),%r8d
  mov    0x54(%rsp),%ecx
  mov    0x58(%rsp),%edx
  mov    0x50(%rsp),%esi
  mov    %ebx,%edi
  call   <Bdouble_index@plt>
  add    $0x40,%rsp
  mov    0x20(%rsp),%rcx
  movsd  (%rcx,%rax,8),%xmm0
  mov    0x80(%rsp),%rdx
  lea    D32(%rip),%rsi
  mov    (%rsp),%rdi
  mov    $0x1,%eax
  call   <fprintf@plt>
  add    $0x1,%ebx
  cmp    %ebx,0xd8(%rsp)
  jne    L926
L405:
  lea    0x1(%rbp),%eax
  cmp    %eax,%r13d
  je     L157
  mov    %eax,%ebp
L1013:
  mov    $0x0,%ebx
  cmpl   $0x0,0xd8(%rsp)
  jg     L926
  jmp    L405
L157:
  mov    0x8(%rsp),%esi
  lea    0x1(%rsi),%eax
  cmp    %ebp,%esi
  je     L189
  mov    %eax,0x8(%rsp)
L858:
  mov    $0x0,%ebp
  jmp    L1013
L189:
  mov    0xc(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,0xc0(%rsp)
  je     L1155
  mov    %eax,0xc(%rsp)
L110:
  movl   $0x0,0x8(%rsp)
  test   %r13d,%r13d
  jg     L858
  jmp    L189
L1155:
  mov    0x14(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,0xb8(%rsp)
  je     L175
  mov    %eax,0x14(%rsp)
L266:
  movl   $0x0,0xc(%rsp)
  jmp    L110
L175:
  lea    0x1(%r14),%eax
  cmp    0xc(%rsp),%r14d
  je     L960
  mov    %eax,%r14d
L807:
  movl   $0x0,0x14(%rsp)
  jmp    L266
L960:
  lea    0x1(%r15),%eax
  cmp    0x14(%rsp),%r15d
  je     L153
  mov    %eax,%r15d
L1052:
  mov    $0x0,%r14d
  jmp    L807
L153:
  mov    0x18(%rsp),%esi
  lea    0x1(%rsi),%eax
  cmp    0xc(%rsp),%esi
  je     L668
  mov    %eax,0x18(%rsp)
L1284:
  mov    $0x0,%r15d
  jmp    L1052
L668:
  addl   $0x1,0x10(%rsp)
  mov    0x10(%rsp),%eax
  cmp    %eax,0xb8(%rsp)
  je     L1281
L1416:
  movl   $0x0,0x18(%rsp)
  cmpl   $0x0,0xc0(%rsp)
  jg     L1284
  jmp    L668
L1281:
  mov    %r12d,%r13d
L598:
  mov    0x1c(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,%r13d
  je     L1258
  mov    %eax,0x1c(%rsp)
L1059:
  movl   $0x0,0x10(%rsp)
  cmpl   $0x0,0xb8(%rsp)
  jle    L598
  mov    %r13d,%r12d
  mov    0xd0(%rsp),%r13d
  jmp    L1416
L493:
  mov    0x8(%rsp),%eax
  push   %rax
  push   %r13
  mov    0xd0(%rsp),%eax
  push   %rax
  mov    0xd0(%rsp),%eax
  push   %rax
  push   %r12
  push   %rbp
  push   %r14
  push   %r15
  mov    0x4c(%rsp),%r9d
  mov    0x50(%rsp),%r8d
  mov    0x58(%rsp),%ecx
  mov    0x60(%rsp),%edx
  mov    0x54(%rsp),%esi
  mov    %ebx,%edi
  call   <Bdouble_index@plt>
  add    $0x40,%rsp
  mov    0x88(%rsp),%rcx
  movsd  (%rcx,%rax,8),%xmm0
  mov    0x90(%rsp),%rdx
  lea    D32(%rip),%rsi
  mov    (%rsp),%rdi
  mov    $0x1,%eax
  call   <fprintf@plt>
  add    $0x1,%ebx
  cmp    %ebx,0xd8(%rsp)
  jne    L493
L0:
  lea    0x1(%rbp),%eax
  cmp    %eax,%r13d
  je     L818
  mov    %eax,%ebp
L1096:
  mov    $0x0,%ebx
  cmpl   $0x0,0xd8(%rsp)
  jg     L493
  jmp    L0
L818:
  mov    0xc(%rsp),%esi
  lea    0x1(%rsi),%eax
  cmp    %ebp,%esi
  je     L1230
  mov    %eax,0xc(%rsp)
L819:
  mov    $0x0,%ebp
  jmp    L1096
L1230:
  mov    0x10(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,0xc0(%rsp)
  je     L1085
  mov    %eax,0x10(%rsp)
L434:
  movl   $0x0,0xc(%rsp)
  test   %r13d,%r13d
  jg     L819
  jmp    L1230
L1085:
  mov    0x18(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,0xb8(%rsp)
  je     L1394
  mov    %eax,0x18(%rsp)
L1244:
  movl   $0x0,0x10(%rsp)
  jmp    L434
L1394:
  lea    0x1(%r14),%eax
  cmp    0x10(%rsp),%r14d
  je     L121
  mov    %eax,%r14d
L630:
  movl   $0x0,0x18(%rsp)
  jmp    L1244
L121:
  lea    0x1(%r15),%eax
  cmp    0x18(%rsp),%r15d
  je     L337
  mov    %eax,%r15d
L453:
  mov    $0x0,%r14d
  jmp    L630
L337:
  mov    0x20(%rsp),%esi
  lea    0x1(%rsi),%eax
  cmp    0x10(%rsp),%esi
  je     L131
  mov    %eax,0x20(%rsp)
L536:
  mov    $0x0,%r15d
  jmp    L453
L131:
  addl   $0x1,0x14(%rsp)
  mov    0x14(%rsp),%eax
  cmp    %eax,0xb8(%rsp)
  je     L1294
L435:
  movl   $0x0,0x20(%rsp)
  cmpl   $0x0,0xc0(%rsp)
  jg     L536
  jmp    L131
L1294:
  lea    0x1(%r12),%eax
  cmp    %r12d,0x1c(%rsp)
  je     L366
  mov    %eax,%r12d
L33:
  movl   $0x0,0x14(%rsp)
  cmpl   $0x0,0xb8(%rsp)
  jg     L435
  jmp    L1294
L1258:
  mov    %eax,0x8(%rsp)
  mov    $0x0,%r13d
  mov    %r13d,%r12d
  mov    0xd0(%rsp),%r13d
  jmp    L33
L162:
  mov    0x8(%rsp),%eax
  push   %rax
  mov    0xd8(%rsp),%eax
  push   %rax
  mov    0xd0(%rsp),%eax
  push   %rax
  mov    0xd0(%rsp),%eax
  push   %rax
  push   %r15
  push   %rbp
  push   %r14
  push   %r13
  mov    %r12d,%r9d
  mov    0x4c(%rsp),%r8d
  mov    0x54(%rsp),%ecx
  mov    0x58(%rsp),%edx
  mov    0x50(%rsp),%esi
  mov    %ebx,%edi
  call   <Bdouble_index@plt>
  add    $0x38,%rsp
  mov    0xa0(%rsp),%rdi
  movsd  (%rdi,%rax,8),%xmm0
  push   %r15
  push   %rbp
  push   %r14
  push   %r13
  push   %r12
  mov    0x3c(%rsp),%eax
  push   %rax
  mov    0x4c(%rsp),%eax
  push   %rax
  mov    0x58(%rsp),%r9d
  mov    0x50(%rsp),%r8d
  mov    %ebx,%ecx
  mov    0xe0(%rsp),%rdx
  lea    D27(%rip),%rsi
  mov    0x40(%rsp),%rdi
  mov    $0x1,%eax
  call   <fprintf@plt>
  add    $0x1,%ebx
  add    $0x40,%rsp
  cmp    %ebx,0xd8(%rsp)
  jne    L162
L361:
  lea    0x1(%rbp),%eax
  cmp    %eax,0xd0(%rsp)
  je     L1139
  mov    %eax,%ebp
L827:
  mov    $0x0,%ebx
  cmpl   $0x0,0xd8(%rsp)
  jg     L162
  jmp    L361
L1139:
  lea    0x1(%r12),%eax
  cmp    %ebp,%r12d
  je     L1221
  mov    %eax,%r12d
L1297:
  mov    $0x0,%ebp
  jmp    L827
L1221:
  mov    0xc(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,0xc0(%rsp)
  je     L622
  mov    %eax,0xc(%rsp)
L1001:
  mov    $0x0,%r12d
  cmpl   $0x0,0xd0(%rsp)
  jg     L1297
  jmp    L1221
L622:
  mov    0x14(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,0xb8(%rsp)
  je     L154
  mov    %eax,0x14(%rsp)
L838:
  movl   $0x0,0xc(%rsp)
  jmp    L1001
L154:
  lea    0x1(%r14),%eax
  cmp    0xc(%rsp),%r14d
  je     L464
  mov    %eax,%r14d
L208:
  movl   $0x0,0x14(%rsp)
  jmp    L838
L464:
  lea    0x1(%r13),%eax
  cmp    0x14(%rsp),%r13d
  je     L1032
  mov    %eax,%r13d
L447:
  mov    $0x0,%r14d
  jmp    L208
L1032:
  mov    0x18(%rsp),%edx
  lea    0x1(%rdx),%eax
  cmp    0xc(%rsp),%edx
  je     L635
  mov    %eax,0x18(%rsp)
L235:
  mov    $0x0,%r13d
  jmp    L447
L635:
  mov    %r15d,%r13d
L526:
  addl   $0x1,0x10(%rsp)
  mov    0x10(%rsp),%eax
  cmp    %eax,0xb8(%rsp)
  je     L841
L226:
  movl   $0x0,0x18(%rsp)
  mov    %r13d,%r15d
  cmpl   $0x0,0xc0(%rsp)
  jg     L235
  jmp    L526
L841:
  lea    0x1(%r13),%eax
  cmp    %r13d,0x1c(%rsp)
  je     L29
  mov    %eax,%r13d
L1380:
  movl   $0x0,0x10(%rsp)
  cmpl   $0x0,0xb8(%rsp)
  jg     L226
  jmp    L841
L366:
  mov    $0x0,%r13d
  jmp    L1380
L620:
  mov    0x8(%rsp),%eax
  push   %rax
  mov    0xd8(%rsp),%eax
  push   %rax
  mov    0xd0(%rsp),%eax
  push   %rax
  mov    0xd0(%rsp),%eax
  push   %rax
  push   %r15
  push   %rbp
  push   %r14
  push   %r13
  mov    %r12d,%r9d
  mov    0x4c(%rsp),%r8d
  mov    0x54(%rsp),%ecx
  mov    0x58(%rsp),%edx
  mov    0x50(%rsp),%esi
  mov    %ebx,%edi
  call   <Bdouble_index@plt>
  add    $0x38,%rsp
  mov    0xb0(%rsp),%rdi
  movsd  (%rdi,%rax,8),%xmm0
  push   %r15
  push   %rbp
  push   %r14
  push   %r13
  push   %r12
  mov    0x3c(%rsp),%eax
  push   %rax
  mov    0x4c(%rsp),%eax
  push   %rax
  mov    0x58(%rsp),%r9d
  mov    0x50(%rsp),%r8d
  mov    %ebx,%ecx
  mov    0xf0(%rsp),%rdx
  lea    D27(%rip),%rsi
  mov    0x40(%rsp),%rdi
  mov    $0x1,%eax
  call   <fprintf@plt>
  add    $0x1,%ebx
  add    $0x40,%rsp
  cmp    %ebx,0xd8(%rsp)
  jne    L620
L685:
  lea    0x1(%rbp),%eax
  cmp    %eax,0xd0(%rsp)
  je     L943
  mov    %eax,%ebp
L22:
  mov    $0x0,%ebx
  cmpl   $0x0,0xd8(%rsp)
  jg     L620
  jmp    L685
L943:
  lea    0x1(%r12),%eax
  cmp    %ebp,%r12d
  je     L880
  mov    %eax,%r12d
L155:
  mov    $0x0,%ebp
  jmp    L22
L880:
  mov    0xc(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,0xc0(%rsp)
  je     L675
  mov    %eax,0xc(%rsp)
L865:
  mov    $0x0,%r12d
  cmpl   $0x0,0xd0(%rsp)
  jg     L155
  jmp    L880
L675:
  mov    0x14(%rsp),%eax
  add    $0x1,%eax
  cmp    %eax,0xb8(%rsp)
  je     L994
  mov    %eax,0x14(%rsp)
L722:
  movl   $0x0,0xc(%rsp)
  jmp    L865
L994:
  lea    0x1(%r14),%eax
  cmp    0xc(%rsp),%r14d
  je     L44
  mov    %eax,%r14d
L680:
  movl   $0x0,0x14(%rsp)
  jmp    L722
L44:
  lea    0x1(%r13),%eax
  cmp    0x14(%rsp),%r13d
  je     L179
  mov    %eax,%r13d
L251:
  mov    $0x0,%r14d
  jmp    L680
L179:
  mov    0x18(%rsp),%esi
  lea    0x1(%rsi),%eax
  cmp    0xc(%rsp),%esi
  je     L549
  mov    %eax,0x18(%rsp)
L439:
  mov    $0x0,%r13d
  jmp    L251
L549:
  mov    %r15d,%r13d
L570:
  addl   $0x1,0x10(%rsp)
  mov    0x10(%rsp),%eax
  cmp    %eax,0xb8(%rsp)
  je     L689
L46:
  movl   $0x0,0x18(%rsp)
  mov    %r13d,%r15d
  cmpl   $0x0,0xc0(%rsp)
  jg     L439
  jmp    L570
L689:
  lea    0x1(%r13),%eax
  cmp    %r13d,0x1c(%rsp)
  je     L1322
  mov    %eax,%r13d
L1305:
  movl   $0x0,0x10(%rsp)
  cmpl   $0x0,0xb8(%rsp)
  jg     L46
  jmp    L689
L29:
  mov    $0x0,%r13d
  jmp    L1305
L1322:
  mov    (%rsp),%rdi
  call   <fclose@plt>
  add    $0x48,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

tool_calls: name: unpack_data
arguments: tag: D55
type_infered: string
name: unpack_data
arguments: tag: D32
type_infered: string
name: unpack_data
arguments: tag: D27
type_infered: string

tool: D55: w

tool: D32: %s = %lf


tool: D27: %s = %lf - (t=%d,iCprime=%d,iSprime=%d,kCprime=%d,kSprime=%d,x=%d,jCprime=%d,jSprime=%d,x2=%d,m=%d)


assistant: ```c
void print_buffers(char *file_name, const double *B1_Blocal_re, char *B1_Blocal_re_name, const double *B1_Blocal_im, char *B1_Blocal_im_name, const double *B1_Bsingle_re, char *B1_Bsingle_re_name, const double *B1_Bsingle_im, char *B1_Bsingle_im_name, const double *B1_Bdouble_re, char *B1_Bdouble_re_name, const double *B1_Bdouble_im, char *B1_Bdouble_im_name, const int Nc, const int Ns, const int Nsrc, const int Vsnk, const int Nt, const int Nw) {
  FILE *f = fopen(file_name, "w");
  for (int t = 0; t < Nt; t++)
    for (int iCprime = 0; iCprime < Nc; iCprime++)
      for (int iSprime = 0; iSprime < Ns; iSprime++)
        for (int kCprime = 0; kCprime < Nc; kCprime++)
          for (int kSprime = 0; kSprime < Ns; kSprime++)
            for (int x = 0; x < Vsnk; x++)
              for (int jCprime = 0; jCprime < Nc; jCprime++)
                for (int jSprime = 0; jSprime < Ns; jSprime++)
                  for (int m = 0; m < Nsrc; m++)
                    fprintf(f, "%s = %lf\n", B1_Blocal_re_name, B1_Blocal_re[Blocal_index(t, iCprime, iSprime, kCprime, kSprime, x, jCprime, jSprime, m, Nc, Ns, Vsnk, Nsrc)]);
  for (int t = 0; t < Nt; t++)
    for (int iCprime = 0; iCprime < Nc; iCprime++)
      for (int iSprime = 0; iSprime < Ns; iSprime++)
        for (int kCprime = 0; kCprime < Nc; kCprime++)
          for (int kSprime = 0; kSprime < Ns; kSprime++)
            for (int x = 0; x < Vsnk; x++)
              for (int jCprime = 0; jCprime < Nc; jCprime++)
                for (int jSprime = 0; jSprime < Ns; jSprime++)
                  for (int m = 0; m < Nsrc; m++)
                    fprintf(f, "%s = %lf\n", B1_Blocal_im_name, B1_Blocal_im[Blocal_index(t, iCprime, iSprime, kCprime, kSprime, x, jCprime, jSprime, m, Nc, Ns, Vsnk, Nsrc)]);
  for (int m = 0; m < Nsrc; m++)
    for (int iCprime = 0; iCprime < Nc; iCprime++)
      for (int iSprime = 0; iSprime < Ns; iSprime++)
        for (int jCprime = 0; jCprime < Nc; jCprime++)
          for (int jSprime = 0; jSprime < Ns; jSprime++)
            for (int kCprime = 0; kCprime < Nc; kCprime++)
              for (int kSprime = 0; kSprime < Ns; kSprime++)
                for (int x = 0; x < Vsnk; x++)
                  for (int x2 = 0; x2 < Vsnk; x2++)
                    for (int t = 0; t < Nt; t++)
                      fprintf(f, "%s = %lf\n", B1_Bsingle_re_name, B1_Bsingle_re[Bdouble_index(t, iCprime, iSprime, kCprime, kSprime, x, jCprime, jSprime, x2, m, Nc, Ns, Vsnk, Nsrc)]);
  for (int m = 0; m < Nsrc; m++)
    for (int iCprime = 0; iCprime < Nc; iCprime++)
      for (int iSprime = 0; iSprime < Ns; iSprime++)
        for (int jCprime = 0; jCprime < Nc; jCprime++)
          for (int jSprime = 0; jSprime < Ns; jSprime++)
            for (int kCprime = 0; kCprime < Nc; kCprime++)
              for (int kSprime = 0; kSprime < Ns; kSprime++)
                for (int x = 0; x < Vsnk; x++)
                  for (int x2 = 0; x2 < Vsnk; x2++)
                    for (int t = 0; t < Nt; t++)
                      fprintf(f, "%s = %lf\n", B1_Bsingle_im_name, B1_Bsingle_im[Bdouble_index(t, iCprime, iSprime, kCprime, kSprime, x, jCprime, jSprime, x2, m, Nc, Ns, Vsnk, Nsrc)]);
  for (int m = 0; m < Nsrc; m++)
    for (int iCprime = 0; iCprime < Nc; iCprime++)
      for (int iSprime = 0; iSprime < Ns; iSprime++)
        for (int jCprime = 0; jCprime < Nc; jCprime++)
          for (int jSprime = 0; jSprime < Ns; jSprime++)
            for (int kCprime = 0; kCprime < Nc; kCprime++)
              for (int kSprime = 0; kSprime < Ns; kSprime++)
                for (int x = 0; x < Vsnk; x++)
                  for (int x2 = 0; x2 < Vsnk; x2++)
                    for (int t = 0; t < Nt; t++)
                      fprintf(f, "%s = %lf - (t=%d,iCprime=%d,iSprime=%d,kCprime=%d,kSprime=%d,x=%d,jCprime=%d,jSprime=%d,x2=%d,m=%d)\n", B1_Bdouble_re_name, B1_Bdouble_re[Bdouble_index(t, iCprime, iSprime, kCprime, kSprime, x, jCprime, jSprime, x2, m, Nc, Ns, Vsnk, Nsrc)], t, iCprime, iSprime, kCprime, kSprime, x, jCprime, jSprime, x2, m);
  for (int m = 0; m < Nsrc; m++)
    for (int iCprime = 0; iCprime < Nc; iCprime++)
      for (int iSprime = 0; iSprime < Ns; iSprime++)
        for (int jCprime = 0; jCprime < Nc; jCprime++)
          for (int jSprime = 0; jSprime < Ns; jSprime++)
            for (int kCprime = 0; kCprime < Nc; kCprime++)
              for (int kSprime = 0; kSprime < Ns; kSprime++)
                for (int x = 0; x < Vsnk; x++)
                  for (int x2 = 0; x2 < Vsnk; x2++)
                    for (int t = 0; t < Nt; t++)
                      fprintf(f, "%s = %lf - (t=%d,iCprime=%d,iSprime=%d,kCprime=%d,kSprime=%d,x=%d,jCprime=%d,jSprime=%d,x2=%d,m=%d)\n", B1_Bdouble_im_name, B1_Bdouble_im[Bdouble_index(t, iCprime, iSprime, kCprime, kSprime, x, jCprime, jSprime, x2, m, Nc, Ns, Vsnk, Nsrc)], t, iCprime, iSprime, kCprime, kSprime, x, jCprime, jSprime, x2, m);
  fclose(f);
}
```