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

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    -0x9000(%rsp),%r11
L1233:
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  cmp    %r11,%rsp
  jne    L1233
  sub    $0xce0,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    $0x0,%eax
  call   <check_offloading@plt>
  movl   $0x0,-0x9cd4(%rbp)
  movl   $0x0,-0x9cd0(%rbp)
  jmp    L2124
L915:
  mov    -0x9cd0(%rbp),%eax
  cltq
  movsd  D1245(%rip),%xmm0
  movsd  %xmm0,-0x5d10(%rbp,%rax,8)
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x9cd0(%rbp),%xmm0
  mov    -0x9cd0(%rbp),%eax
  cltq
  movsd  %xmm0,-0x3e10(%rbp,%rax,8)
  mov    -0x9cd0(%rbp),%eax
  neg    %eax
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  mov    -0x9cd0(%rbp),%eax
  cltq
  movsd  %xmm0,-0x1f10(%rbp,%rax,8)
  addl   $0x1,-0x9cd0(%rbp)
L2124:
  cmpl   $0x3df,-0x9cd0(%rbp)
  jle    L915
  movl   $0x0,-0x9ccc(%rbp)
  jmp    L466
L2419:
  mov    -0x9ccc(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9ccc(%rbp)
L466:
  cmpl   $0x3df,-0x9ccc(%rbp)
  jle    L2419
  movl   $0x0,-0x9cc8(%rbp)
  jmp    L1726
L846:
  movl   $0x0,-0x9cc4(%rbp)
  jmp    L47
L1602:
  mov    -0x9cc4(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9cc4(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9cc4(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9cc4(%rbp)
L47:
  cmpl   $0x1ff,-0x9cc4(%rbp)
  jle    L1602
  addl   $0x1,-0x9cc8(%rbp)
L1726:
  cmpl   $0x0,-0x9cc8(%rbp)
  jle    L846
  movl   $0x0,-0x9cc0(%rbp)
  jmp    L78
L435:
  mov    -0x9cc0(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L607
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L1337
L607:
  mov    -0x9cc0(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9cc0(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1337:
  addl   $0x1,-0x9cc0(%rbp)
L78:
  cmpl   $0x1ff,-0x9cc0(%rbp)
  jle    L435
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L2490
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L1821
L2490:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L1821:
  movl   $0x0,-0x9cbc(%rbp)
  jmp    L1470
L1769:
  mov    -0x9cbc(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9cbc(%rbp)
L1470:
  cmpl   $0x3df,-0x9cbc(%rbp)
  jle    L1769
  movl   $0x0,-0x9cb8(%rbp)
  jmp    L1087
L601:
  movl   $0x0,-0x9cb4(%rbp)
  jmp    L528
L2346:
  mov    -0x9cb4(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9cb4(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9cb4(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9cb4(%rbp)
L528:
  cmpl   $0x1f3,-0x9cb4(%rbp)
  jle    L2346
  addl   $0x1,-0x9cb8(%rbp)
L1087:
  cmpl   $0x0,-0x9cb8(%rbp)
  jle    L601
  movl   $0x0,-0x9cb0(%rbp)
  jmp    L248
L1910:
  mov    -0x9cb0(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L546
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L2328
L546:
  mov    -0x9cb0(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9cb0(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L2328:
  addl   $0x1,-0x9cb0(%rbp)
L248:
  cmpl   $0x1f3,-0x9cb0(%rbp)
  jle    L1910
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L2182
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L2097
L2182:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L2097:
  movl   $0x0,-0x9cac(%rbp)
  jmp    L2638
L1564:
  mov    -0x9cac(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9cac(%rbp)
L2638:
  cmpl   $0x3df,-0x9cac(%rbp)
  jle    L1564
  movl   $0x0,-0x9ca8(%rbp)
  jmp    L664
L1673:
  movl   $0x0,-0x9ca4(%rbp)
  jmp    L1930
L1449:
  mov    -0x9ca4(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9ca4(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9ca4(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9ca4(%rbp)
L1930:
  cmpl   $0x7a,-0x9ca4(%rbp)
  jle    L1449
  addl   $0x1,-0x9ca8(%rbp)
L664:
  cmpl   $0x0,-0x9ca8(%rbp)
  jle    L1673
  movl   $0x0,-0x9ca0(%rbp)
  jmp    L1437
L685:
  mov    -0x9ca0(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L2017
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L1365
L2017:
  mov    -0x9ca0(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9ca0(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1365:
  addl   $0x1,-0x9ca0(%rbp)
L1437:
  cmpl   $0x7a,-0x9ca0(%rbp)
  jle    L685
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L1120
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L251
L1120:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L251:
  movl   $0x0,-0x9c9c(%rbp)
  jmp    L2607
L83:
  mov    -0x9c9c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c9c(%rbp)
L2607:
  cmpl   $0x3df,-0x9c9c(%rbp)
  jle    L83
  movl   $0x0,-0x9c98(%rbp)
  jmp    L2285
L1764:
  movl   $0x0,-0x9c94(%rbp)
  jmp    L2556
L623:
  mov    -0x9c94(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9c94(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9c94(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c94(%rbp)
L2556:
  cmpl   $0x1ff,-0x9c94(%rbp)
  jle    L623
  addl   $0x1,-0x9c98(%rbp)
L2285:
  cmpl   $0x0,-0x9c98(%rbp)
  jle    L1764
  movl   $0x0,-0x9c90(%rbp)
  jmp    L146
L480:
  mov    -0x9c90(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L1061
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L1418
L1061:
  mov    -0x9c90(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9c90(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1418:
  addl   $0x1,-0x9c90(%rbp)
L146:
  cmpl   $0x1ff,-0x9c90(%rbp)
  jle    L480
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L18
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L1005
L18:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L1005:
  movl   $0x0,-0x9c8c(%rbp)
  jmp    L2080
L913:
  mov    -0x9c8c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c8c(%rbp)
L2080:
  cmpl   $0x3df,-0x9c8c(%rbp)
  jle    L913
  movl   $0x0,-0x9c88(%rbp)
  jmp    L857
L1791:
  movl   $0x0,-0x9c84(%rbp)
  jmp    L2062
L772:
  mov    -0x9c84(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9c84(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9c84(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c84(%rbp)
L2062:
  cmpl   $0x1ff,-0x9c84(%rbp)
  jle    L772
  addl   $0x1,-0x9c88(%rbp)
L857:
  cmpl   $0x0,-0x9c88(%rbp)
  jle    L1791
  movl   $0x0,-0x9c80(%rbp)
  jmp    L404
L2636:
  mov    -0x9c80(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L1343
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L2154
L1343:
  mov    -0x9c80(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9c80(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L2154:
  addl   $0x1,-0x9c80(%rbp)
L404:
  cmpl   $0x1ff,-0x9c80(%rbp)
  jle    L2636
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L1826
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L1338
L1826:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L1338:
  movl   $0x0,-0x9c7c(%rbp)
  jmp    L976
L799:
  mov    -0x9c7c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c7c(%rbp)
L976:
  cmpl   $0x3df,-0x9c7c(%rbp)
  jle    L799
  movl   $0xa,-0x9b6c(%rbp)
  mov    $0x200,%eax
  cltd
  idivl  -0x9b6c(%rbp)
  mov    %eax,-0x9b68(%rbp)
  movl   $0x0,-0x9c78(%rbp)
  jmp    L1759
L1892:
  movl   $0x0,-0x9c74(%rbp)
  jmp    L432
L1076:
  mov    -0x9c74(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9c74(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9c74(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c74(%rbp)
L432:
  cmpl   $0x1ff,-0x9c74(%rbp)
  jle    L1076
  addl   $0x1,-0x9c78(%rbp)
L1759:
  cmpl   $0x0,-0x9c78(%rbp)
  jle    L1892
  movl   $0x0,-0x9c70(%rbp)
  jmp    L2067
L1179:
  mov    -0x9c70(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L1136
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L2218
L1136:
  mov    -0x9c70(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9c70(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L2218:
  addl   $0x1,-0x9c70(%rbp)
L2067:
  cmpl   $0x1ff,-0x9c70(%rbp)
  jle    L1179
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L345
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L2586
L345:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L2586:
  movl   $0x0,-0x9c6c(%rbp)
  jmp    L2422
L2202:
  mov    -0x9c6c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c6c(%rbp)
L2422:
  cmpl   $0x3df,-0x9c6c(%rbp)
  jle    L2202
  movl   $0x0,-0x9c68(%rbp)
  jmp    L193
L2008:
  movl   $0x0,-0x9c64(%rbp)
  jmp    L1425
L167:
  mov    -0x9c64(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9c64(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9c64(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c64(%rbp)
L1425:
  cmpl   $0x1f3,-0x9c64(%rbp)
  jle    L167
  addl   $0x1,-0x9c68(%rbp)
L193:
  cmpl   $0x0,-0x9c68(%rbp)
  jle    L2008
  movl   $0x0,-0x9c60(%rbp)
  jmp    L2278
L862:
  mov    -0x9c60(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L2578
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L1548
L2578:
  mov    -0x9c60(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9c60(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1548:
  addl   $0x1,-0x9c60(%rbp)
L2278:
  cmpl   $0x1f3,-0x9c60(%rbp)
  jle    L862
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L1878
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L273
L1878:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L273:
  movl   $0x0,-0x9c5c(%rbp)
  jmp    L1509
L910:
  mov    -0x9c5c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c5c(%rbp)
L1509:
  cmpl   $0x3df,-0x9c5c(%rbp)
  jle    L910
  movl   $0x0,-0x9c58(%rbp)
  jmp    L445
L2042:
  movl   $0x0,-0x9c54(%rbp)
  jmp    L342
L1621:
  mov    -0x9c54(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9c54(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9c54(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c54(%rbp)
L342:
  cmpl   $0x1f3,-0x9c54(%rbp)
  jle    L1621
  addl   $0x1,-0x9c58(%rbp)
L445:
  cmpl   $0x0,-0x9c58(%rbp)
  jle    L2042
  movl   $0x0,-0x9c50(%rbp)
  jmp    L909
L2613:
  mov    -0x9c50(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L505
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L944
L505:
  mov    -0x9c50(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9c50(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L944:
  addl   $0x1,-0x9c50(%rbp)
L909:
  cmpl   $0x1f3,-0x9c50(%rbp)
  jle    L2613
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L1368
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L316
L1368:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L316:
  movl   $0x0,-0x9c4c(%rbp)
  jmp    L729
L1583:
  mov    -0x9c4c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c4c(%rbp)
L729:
  cmpl   $0x3df,-0x9c4c(%rbp)
  jle    L1583
  movl   $0xa,-0x9b6c(%rbp)
  mov    $0x1f4,%eax
  cltd
  idivl  -0x9b6c(%rbp)
  mov    %eax,-0x9b68(%rbp)
  movl   $0x0,-0x9c48(%rbp)
  jmp    L1226
L239:
  movl   $0x0,-0x9c44(%rbp)
  jmp    L593
L1510:
  mov    -0x9c44(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9c44(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9c44(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c44(%rbp)
L593:
  cmpl   $0x1f3,-0x9c44(%rbp)
  jle    L1510
  addl   $0x1,-0x9c48(%rbp)
L1226:
  cmpl   $0x0,-0x9c48(%rbp)
  jle    L239
  movl   $0x0,-0x9c40(%rbp)
  jmp    L2103
L1055:
  mov    -0x9c40(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L454
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L1861
L454:
  mov    -0x9c40(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9c40(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1861:
  addl   $0x1,-0x9c40(%rbp)
L2103:
  cmpl   $0x1f3,-0x9c40(%rbp)
  jle    L1055
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L879
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L2005
L879:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L2005:
  movl   $0x0,-0x9c3c(%rbp)
  jmp    L963
L2291:
  mov    -0x9c3c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c3c(%rbp)
L963:
  cmpl   $0x3df,-0x9c3c(%rbp)
  jle    L2291
  movl   $0x0,-0x9c38(%rbp)
  jmp    L2332
L389:
  movl   $0x0,-0x9c34(%rbp)
  jmp    L390
L1441:
  mov    -0x9c34(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9c34(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9c34(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c34(%rbp)
L390:
  cmpl   $0x7a,-0x9c34(%rbp)
  jle    L1441
  addl   $0x1,-0x9c38(%rbp)
L2332:
  cmpl   $0x0,-0x9c38(%rbp)
  jle    L389
  movl   $0x0,-0x9c30(%rbp)
  jmp    L1052
L2059:
  mov    -0x9c30(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L1524
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L1208
L1524:
  mov    -0x9c30(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9c30(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1208:
  addl   $0x1,-0x9c30(%rbp)
L1052:
  cmpl   $0x7a,-0x9c30(%rbp)
  jle    L2059
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L2473
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L1651
L2473:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L1651:
  movl   $0x0,-0x9c2c(%rbp)
  jmp    L659
L2600:
  mov    -0x9c2c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c2c(%rbp)
L659:
  cmpl   $0x3df,-0x9c2c(%rbp)
  jle    L2600
  movl   $0x0,-0x9c28(%rbp)
  jmp    L697
L2238:
  movl   $0x0,-0x9c24(%rbp)
  jmp    L757
L1500:
  mov    -0x9c24(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9c24(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9c24(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c24(%rbp)
L757:
  cmpl   $0x7a,-0x9c24(%rbp)
  jle    L1500
  addl   $0x1,-0x9c28(%rbp)
L697:
  cmpl   $0x0,-0x9c28(%rbp)
  jle    L2238
  movl   $0x0,-0x9c20(%rbp)
  jmp    L1810
L1241:
  mov    -0x9c20(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L303
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L1267
L303:
  mov    -0x9c20(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9c20(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1267:
  addl   $0x1,-0x9c20(%rbp)
L1810:
  cmpl   $0x7a,-0x9c20(%rbp)
  jle    L1241
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L1560
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L2542
L1560:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L2542:
  movl   $0x0,-0x9c1c(%rbp)
  jmp    L1611
L1406:
  mov    -0x9c1c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c1c(%rbp)
L1611:
  cmpl   $0x3df,-0x9c1c(%rbp)
  jle    L1406
  movl   $0xa,-0x9b6c(%rbp)
  mov    $0x7b,%eax
  cltd
  idivl  -0x9b6c(%rbp)
  mov    %eax,-0x9b68(%rbp)
  movl   $0x0,-0x9c18(%rbp)
  jmp    L509
L1768:
  movl   $0x0,-0x9c14(%rbp)
  jmp    L1571
L70:
  mov    -0x9c14(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9c14(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9c14(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c14(%rbp)
L1571:
  cmpl   $0x7a,-0x9c14(%rbp)
  jle    L70
  addl   $0x1,-0x9c18(%rbp)
L509:
  cmpl   $0x0,-0x9c18(%rbp)
  jle    L1768
  movl   $0x0,-0x9c10(%rbp)
  jmp    L1807
L2493:
  mov    -0x9c10(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L1192
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L299
L1192:
  mov    -0x9c10(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1245(%rip),%rdx
  mov    -0x9c10(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D640(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L299:
  addl   $0x1,-0x9c10(%rbp)
L1807:
  cmpl   $0x7a,-0x9c10(%rbp)
  jle    L2493
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L562
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L81
L562:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L81:
  movl   $0x0,-0x9c0c(%rbp)
  jmp    L1997
L1843:
  mov    -0x9c0c(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9c0c(%rbp)
L1997:
  cmpl   $0x3df,-0x9c0c(%rbp)
  jle    L1843
  movl   $0x0,-0x9c08(%rbp)
  jmp    L1576
L762:
  mov    -0x9c08(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x7c10(%rbp,%rax,8)
  addl   $0x1,-0x9c08(%rbp)
L1576:
  cmpl   $0x3df,-0x9c08(%rbp)
  jle    L762
  movsd  D1323(%rip),%xmm0
  movsd  %xmm0,-0x9b50(%rbp)
  movsd  D1398(%rip),%xmm0
  movsd  %xmm0,-0x9b48(%rbp)
  movl   $0x0,-0x9c04(%rbp)
  jmp    L929
L1466:
  movl   $0x0,-0x9c00(%rbp)
  jmp    L2534
L754:
  movsd  D1323(%rip),%xmm0
  movsd  %xmm0,-0x9b50(%rbp)
  movsd  D121(%rip),%xmm0
  movsd  %xmm0,-0x9b48(%rbp)
  mov    -0x9c00(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  addsd  -0x9b50(%rbp),%xmm0
  mov    -0x9c00(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  mov    -0x9c00(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm0
  addsd  -0x9b48(%rbp),%xmm0
  mov    -0x9c00(%rbp),%eax
  cltq
  movsd  %xmm0,-0x7c10(%rbp,%rax,8)
  addl   $0x1,-0x9c00(%rbp)
L2534:
  cmpl   $0x3df,-0x9c00(%rbp)
  jle    L754
  addl   $0x1,-0x9c04(%rbp)
L929:
  cmpl   $0x0,-0x9c04(%rbp)
  jle    L1466
  movl   $0x0,-0x9bfc(%rbp)
  jmp    L357
L583:
  mov    -0x9bfc(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  ucomisd D1323(%rip),%xmm0
  jp     L140
  ucomisd D1323(%rip),%xmm0
  je     L2094
L140:
  mov    -0x9bfc(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D1323(%rip),%rdx
  mov    -0x9bfc(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D1274(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L2094:
  mov    -0x9bfc(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm0
  ucomisd D121(%rip),%xmm0
  jp     L1855
  ucomisd D121(%rip),%xmm0
  je     L1751
L1855:
  mov    -0x9bfc(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm0
  mov    D121(%rip),%rdx
  mov    -0x9bfc(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D588(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1751:
  addl   $0x1,-0x9bfc(%rbp)
L357:
  cmpl   $0x3df,-0x9bfc(%rbp)
  jle    L583
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L1415
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L214
L1415:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L214:
  movl   $0x0,-0x9bf8(%rbp)
  jmp    L288
L2136:
  mov    -0x9bf8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9bf8(%rbp)
L288:
  cmpl   $0x3df,-0x9bf8(%rbp)
  jle    L2136
  movl   $0x0,-0x9bf4(%rbp)
  jmp    L1284
L1178:
  mov    -0x9bf4(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x7c10(%rbp,%rax,8)
  addl   $0x1,-0x9bf4(%rbp)
L1284:
  cmpl   $0x3df,-0x9bf4(%rbp)
  jle    L1178
  movsd  D1323(%rip),%xmm0
  movsd  %xmm0,-0x9b50(%rbp)
  movsd  D1398(%rip),%xmm0
  movsd  %xmm0,-0x9b48(%rbp)
  movl   $0x0,-0x9bf0(%rbp)
  jmp    L2462
L1867:
  movl   $0x0,-0x9bec(%rbp)
  jmp    L531
L1507:
  movsd  -0x9b50(%rbp),%xmm1
  movsd  D121(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x9b50(%rbp)
  movsd  -0x9b48(%rbp),%xmm1
  movsd  D1319(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x9b48(%rbp)
  mov    -0x9bec(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  addsd  -0x9b50(%rbp),%xmm0
  mov    -0x9bec(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  mov    -0x9bec(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm0
  addsd  -0x9b48(%rbp),%xmm0
  mov    -0x9bec(%rbp),%eax
  cltq
  movsd  %xmm0,-0x7c10(%rbp,%rax,8)
  addl   $0x1,-0x9bec(%rbp)
L531:
  cmpl   $0x7f,-0x9bec(%rbp)
  jle    L1507
  addl   $0x1,-0x9bf0(%rbp)
L2462:
  cmpl   $0x0,-0x9bf0(%rbp)
  jle    L1867
  movl   $0x0,-0x9be8(%rbp)
  jmp    L1897
L1056:
  mov    -0x9be8(%rbp),%eax
  and    $0x1,%eax
  test   %eax,%eax
  jne    L826
  mov    -0x9be8(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  ucomisd D481(%rip),%xmm0
  jp     L2524
  ucomisd D481(%rip),%xmm0
  je     L1741
L2524:
  mov    -0x9be8(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D481(%rip),%rdx
  mov    -0x9be8(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D1274(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1741:
  mov    -0x9be8(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm0
  ucomisd D726(%rip),%xmm0
  jp     L987
  ucomisd D726(%rip),%xmm0
  je     L2619
L987:
  mov    -0x9be8(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm0
  mov    D726(%rip),%rdx
  mov    -0x9be8(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D588(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
  jmp    L2619
L826:
  mov    -0x9be8(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  ucomisd D354(%rip),%xmm0
  jp     L1491
  ucomisd D354(%rip),%xmm0
  je     L501
L1491:
  mov    -0x9be8(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D354(%rip),%rdx
  mov    -0x9be8(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D1274(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L501:
  mov    -0x9be8(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm0
  ucomisd D1136(%rip),%xmm0
  jp     L2187
  ucomisd D1136(%rip),%xmm0
  je     L2619
L2187:
  mov    -0x9be8(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm0
  mov    D1136(%rip),%rdx
  mov    -0x9be8(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D588(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L2619:
  addl   $0x1,-0x9be8(%rbp)
L1897:
  cmpl   $0x7f,-0x9be8(%rbp)
  jle    L1056
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L461
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L1294
L461:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L1294:
  movl   $0xffffffff,-0x9b18(%rbp)
  movl   $0xffffffff,-0x9b14(%rbp)
  movl   $0x0,-0x9be4(%rbp)
  jmp    L1138
L2552:
  mov    $0x0,%eax
  call   <omp_get_team_num@plt>
  mov    %eax,-0x9b18(%rbp)
  addl   $0x1,-0x9be4(%rbp)
L1138:
  mov    $0x0,%eax
  call   <omp_get_num_teams@plt>
  cmp    %eax,-0x9be4(%rbp)
  jl     L2552
  mov    -0x9b18(%rbp),%eax
  cmp    $0x9,%eax
  je     L1164
  mov    -0x9b18(%rbp),%eax
  mov    $0x9,%edx
  mov    %eax,%esi
  lea    D508(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1164:
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L98
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L2271
L98:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L2271:
  movl   $0x0,-0x9be0(%rbp)
  jmp    L880
L1606:
  mov    -0x9be0(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9be0(%rbp)
L880:
  cmpl   $0x3df,-0x9be0(%rbp)
  jle    L1606
  movl   $0x0,-0x9bdc(%rbp)
  jmp    L2165
L1900:
  mov    -0x9bdc(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x7c10(%rbp,%rax,8)
  addl   $0x1,-0x9bdc(%rbp)
L2165:
  cmpl   $0x3df,-0x9bdc(%rbp)
  jle    L1900
  movl   $0x20,-0x9b64(%rbp)
  movl   $0x40,-0x9b60(%rbp)
  mov    -0x9b60(%rbp),%eax
  mov    %eax,-0x9b5c(%rbp)
  movl   $0x0,-0x9bd8(%rbp)
  jmp    L1640
L2223:
  movl   $0x0,-0x9bd4(%rbp)
  jmp    L197
L863:
  mov    -0x9bd4(%rbp),%eax
  mov    %eax,-0x9bd0(%rbp)
  jmp    L364
L874:
  mov    -0x9bd0(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9bd0(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm2
  mov    -0x9bd0(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9bd0(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9bd0(%rbp)
L364:
  mov    -0x9bd4(%rbp),%edx
  mov    -0x9b5c(%rbp),%eax
  add    %edx,%eax
  cmp    %eax,-0x9bd0(%rbp)
  jl     L874
  mov    -0x9b5c(%rbp),%eax
  add    %eax,-0x9bd4(%rbp)
L197:
  cmpl   $0xff,-0x9bd4(%rbp)
  jle    L863
  addl   $0x1,-0x9bd8(%rbp)
L1640:
  cmpl   $0x0,-0x9bd8(%rbp)
  jle    L2223
  movl   $0x0,-0x9bcc(%rbp)
  jmp    L669
L50:
  mov    -0x9bcc(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L816
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L1975
L816:
  mov    -0x9bcc(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D481(%rip),%rdx
  mov    -0x9bcc(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D1274(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1975:
  addl   $0x1,-0x9bcc(%rbp)
L669:
  cmpl   $0xff,-0x9bcc(%rbp)
  jle    L50
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L2096
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L243
L2096:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L243:
  movl   $0x0,-0x9bc8(%rbp)
  jmp    L1699
L41:
  mov    -0x9bc8(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9bc8(%rbp)
L1699:
  cmpl   $0x3df,-0x9bc8(%rbp)
  jle    L41
  movl   $0x0,-0x9bc4(%rbp)
  jmp    L1256
L2588:
  mov    -0x9bc4(%rbp),%eax
  cltq
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x7c10(%rbp,%rax,8)
  addl   $0x1,-0x9bc4(%rbp)
L1256:
  cmpl   $0x3df,-0x9bc4(%rbp)
  jle    L2588
  movl   $0x20,-0x9b64(%rbp)
  movl   $0x40,-0x9b60(%rbp)
  mov    -0x9b60(%rbp),%eax
  mov    %eax,-0x9b5c(%rbp)
  movl   $0x0,-0x9bc0(%rbp)
  jmp    L363
L397:
  movl   $0x0,-0x9bbc(%rbp)
  jmp    L1379
L1113:
  mov    -0x9bbc(%rbp),%edx
  mov    -0x9b5c(%rbp),%eax
  add    %edx,%eax
  cmp    $0x1fd,%eax
  jg     L1853
  mov    -0x9bbc(%rbp),%edx
  mov    -0x9b5c(%rbp),%eax
  add    %edx,%eax
  jmp    L527
L1853:
  mov    $0x200,%eax
L527:
  mov    %eax,-0x9b54(%rbp)
  mov    -0x9bbc(%rbp),%eax
  mov    %eax,-0x9bb8(%rbp)
  jmp    L1706
L118:
  mov    -0x9bb8(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm1
  mov    -0x9bb8(%rbp),%eax
  cltq
  movsd  -0x7c10(%rbp,%rax,8),%xmm2
  mov    -0x9bb8(%rbp),%eax
  cltq
  movsd  -0x5d10(%rbp,%rax,8),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x9bb8(%rbp),%eax
  cltq
  movsd  %xmm0,-0x9b10(%rbp,%rax,8)
  addl   $0x1,-0x9bb8(%rbp)
L1706:
  mov    -0x9bb8(%rbp),%eax
  cmp    -0x9b54(%rbp),%eax
  jl     L118
  mov    -0x9b5c(%rbp),%eax
  add    %eax,-0x9bbc(%rbp)
L1379:
  cmpl   $0x1fd,-0x9bbc(%rbp)
  jle    L1113
  addl   $0x1,-0x9bc0(%rbp)
L363:
  cmpl   $0x0,-0x9bc0(%rbp)
  jle    L397
  movl   $0x0,-0x9bb4(%rbp)
  jmp    L1429
L1416:
  mov    -0x9bb4(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L1823
  movsd  D1245(%rip),%xmm1
  ucomisd %xmm1,%xmm0
  je     L1047
L1823:
  mov    -0x9bb4(%rbp),%eax
  cltq
  movsd  -0x9b10(%rbp,%rax,8),%xmm0
  mov    D481(%rip),%rdx
  mov    -0x9bb4(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rdx,%xmm0
  mov    %eax,%esi
  lea    D1274(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L1047:
  addl   $0x1,-0x9bb4(%rbp)
L1429:
  cmpl   $0xff,-0x9bb4(%rbp)
  jle    L1416
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L721
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L1725
L721:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L1725:
  mov    $0x782000,%edi
  call   <malloc@plt>
  mov    %rax,-0x9b40(%rbp)
  mov    $0x782000,%edi
  call   <malloc@plt>
  mov    %rax,-0x9b38(%rbp)
  mov    $0x782000,%edi
  call   <malloc@plt>
  mov    %rax,-0x9b30(%rbp)
  movl   $0x0,-0x9bb0(%rbp)
  jmp    L1496
L485:
  movl   $0x0,-0x9bac(%rbp)
  jmp    L2270
L1895:
  mov    -0x9bb0(%rbp),%eax
  imul   $0x3e0,%eax,%edx
  mov    -0x9bac(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b40(%rbp),%rax
  add    %rdx,%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x9bb0(%rbp),%eax
  imul   $0x3e0,%eax,%edx
  mov    -0x9bac(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b38(%rbp),%rax
  add    %rdx,%rax
  movsd  D1245(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x9bb0(%rbp),%eax
  imul   $0x3e0,%eax,%edx
  mov    -0x9bac(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b30(%rbp),%rax
  add    %rdx,%rax
  movsd  D1323(%rip),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x9bac(%rbp)
L2270:
  cmpl   $0x3df,-0x9bac(%rbp)
  jle    L1895
  addl   $0x1,-0x9bb0(%rbp)
L1496:
  cmpl   $0x3df,-0x9bb0(%rbp)
  jle    L485
  movl   $0x0,-0x9ba8(%rbp)
  jmp    L569
L1356:
  movl   $0x0,-0x9ba4(%rbp)
  jmp    L1992
L1512:
  movl   $0x0,-0x9ba0(%rbp)
  jmp    L1678
L1245:
  mov    -0x9ba4(%rbp),%eax
  imul   $0x3e0,%eax,%edx
  mov    -0x9ba0(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x9ba4(%rbp),%eax
  imul   $0x3e0,%eax,%edx
  mov    -0x9ba0(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b38(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm2
  mov    -0x9ba4(%rbp),%eax
  imul   $0x3e0,%eax,%edx
  mov    -0x9ba0(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b30(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm2,%xmm0
  mov    -0x9ba4(%rbp),%eax
  imul   $0x3e0,%eax,%edx
  mov    -0x9ba0(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b40(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x9ba0(%rbp)
L1678:
  cmpl   $0x3df,-0x9ba0(%rbp)
  jle    L1245
  addl   $0x1,-0x9ba4(%rbp)
L1992:
  cmpl   $0x3df,-0x9ba4(%rbp)
  jle    L1512
  addl   $0x1,-0x9ba8(%rbp)
L569:
  cmpl   $0x0,-0x9ba8(%rbp)
  jle    L1356
  movl   $0x0,-0x9b9c(%rbp)
  jmp    L431
L824:
  movl   $0x0,-0x9b98(%rbp)
  jmp    L2360
L711:
  mov    -0x9b9c(%rbp),%eax
  imul   $0x3e0,%eax,%edx
  mov    -0x9b98(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd D121(%rip),%xmm0
  jp     L2384
  ucomisd D121(%rip),%xmm0
  je     L453
L2384:
  mov    -0x9b9c(%rbp),%eax
  imul   $0x3e0,%eax,%edx
  mov    -0x9b98(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    D121(%rip),%rcx
  mov    -0x9b98(%rbp),%edx
  mov    -0x9b9c(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rcx,%xmm0
  mov    %eax,%esi
  lea    D122(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L453:
  addl   $0x1,-0x9b98(%rbp)
L2360:
  cmpl   $0x3df,-0x9b98(%rbp)
  jle    L711
  addl   $0x1,-0x9b9c(%rbp)
L431:
  cmpl   $0x3df,-0x9b9c(%rbp)
  jle    L824
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L858
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L52
L858:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L52:
  movl   $0x7c,-0x9b58(%rbp)
  mov    -0x9b58(%rbp),%eax
  imul   %eax,%eax
  imul   -0x9b58(%rbp),%eax
  cltq
  shl    $0x3,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x9b28(%rbp)
  mov    -0x9b58(%rbp),%eax
  imul   %eax,%eax
  imul   -0x9b58(%rbp),%eax
  cltq
  shl    $0x3,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x9b20(%rbp)
  movl   $0x0,-0x9b94(%rbp)
  jmp    L2436
L157:
  movl   $0x0,-0x9b90(%rbp)
  jmp    L420
L1535:
  movl   $0x0,-0x9b8c(%rbp)
  jmp    L1694
L1062:
  mov    -0x9b94(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  mov    %eax,%edx
  mov    -0x9b90(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  add    %eax,%edx
  mov    -0x9b8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b28(%rbp),%rax
  add    %rdx,%rax
  movsd  D1323(%rip),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x9b94(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  mov    %eax,%edx
  mov    -0x9b90(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  add    %eax,%edx
  mov    -0x9b8c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b20(%rbp),%rax
  add    %rdx,%rax
  movsd  D121(%rip),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x9b8c(%rbp)
L1694:
  mov    -0x9b8c(%rbp),%eax
  cmp    -0x9b58(%rbp),%eax
  jl     L1062
  addl   $0x1,-0x9b90(%rbp)
L420:
  mov    -0x9b90(%rbp),%eax
  cmp    -0x9b58(%rbp),%eax
  jl     L1535
  addl   $0x1,-0x9b94(%rbp)
L2436:
  mov    -0x9b94(%rbp),%eax
  cmp    -0x9b58(%rbp),%eax
  jl     L157
  movl   $0x0,-0x9b88(%rbp)
  jmp    L2200
L2570:
  movl   $0x0,-0x9b84(%rbp)
  jmp    L295
L691:
  movl   $0x0,-0x9b80(%rbp)
  jmp    L60
L2249:
  movl   $0x0,-0x9b7c(%rbp)
  jmp    L2649
L2206:
  mov    -0x9b84(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  mov    %eax,%edx
  mov    -0x9b80(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  add    %eax,%edx
  mov    -0x9b7c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x9b84(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  mov    %eax,%edx
  mov    -0x9b80(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  add    %eax,%edx
  mov    -0x9b7c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x9b84(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  mov    %eax,%edx
  mov    -0x9b80(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  add    %eax,%edx
  mov    -0x9b7c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b28(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x9b7c(%rbp)
L2649:
  mov    -0x9b7c(%rbp),%eax
  cmp    -0x9b58(%rbp),%eax
  jl     L2206
  addl   $0x1,-0x9b80(%rbp)
L60:
  mov    -0x9b80(%rbp),%eax
  cmp    -0x9b58(%rbp),%eax
  jl     L2249
  addl   $0x1,-0x9b84(%rbp)
L295:
  mov    -0x9b84(%rbp),%eax
  cmp    -0x9b58(%rbp),%eax
  jl     L691
  addl   $0x1,-0x9b88(%rbp)
L2200:
  cmpl   $0x0,-0x9b88(%rbp)
  jle    L2570
  movl   $0x0,-0x9b78(%rbp)
  jmp    L699
L86:
  movl   $0x0,-0x9b74(%rbp)
  jmp    L806
L171:
  movl   $0x0,-0x9b70(%rbp)
  jmp    L2180
L1506:
  mov    -0x9b78(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  mov    %eax,%edx
  mov    -0x9b74(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  add    %eax,%edx
  mov    -0x9b70(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd D481(%rip),%xmm0
  jp     L2014
  ucomisd D481(%rip),%xmm0
  je     L2508
L2014:
  mov    -0x9b78(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  mov    %eax,%edx
  mov    -0x9b74(%rbp),%eax
  imul   -0x9b58(%rbp),%eax
  add    %eax,%edx
  mov    -0x9b70(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x9b28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    D121(%rip),%rcx
  mov    -0x9b74(%rbp),%edx
  mov    -0x9b78(%rbp),%eax
  movapd %xmm0,%xmm1
  movq   %rcx,%xmm0
  mov    %eax,%esi
  lea    D122(%rip),%rax
  mov    %rax,%rdi
  mov    $0x2,%eax
  call   <printf@plt>
  movl   $0x1,-0x9cd4(%rbp)
L2508:
  addl   $0x1,-0x9b70(%rbp)
L2180:
  mov    -0x9b70(%rbp),%eax
  cmp    -0x9b58(%rbp),%eax
  jl     L1506
  addl   $0x1,-0x9b74(%rbp)
L806:
  mov    -0x9b74(%rbp),%eax
  cmp    -0x9b58(%rbp),%eax
  jl     L171
  addl   $0x1,-0x9b78(%rbp)
L699:
  mov    -0x9b78(%rbp),%eax
  cmp    -0x9b58(%rbp),%eax
  jl     L86
  cmpl   $0x0,-0x9cd4(%rbp)
  je     L998
  lea    D539(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  jmp    L1533
L998:
  lea    D1157(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
L1533:
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L525
  call   <__stack_chk_fail@plt>
L525:
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: label: D1245
datatype: f64
name: retrieve_data
arguments: label: D640
datatype: string
name: retrieve_data
arguments: label: D539
datatype: string
name: retrieve_data
arguments: label: D1157
datatype: string
name: retrieve_data
arguments: label: D1323
datatype: f64
name: retrieve_data
arguments: label: D1398
datatype: f64
name: retrieve_data
arguments: label: D121
datatype: f64
name: retrieve_data
arguments: label: D1274
datatype: string
name: retrieve_data
arguments: label: D588
datatype: string
name: retrieve_data
arguments: label: D1319
datatype: f64
name: retrieve_data
arguments: label: D481
datatype: f32[2]
name: retrieve_data
arguments: label: D726
datatype: f32[2]
name: retrieve_data
arguments: label: D354
datatype: f32[2]
name: retrieve_data
arguments: label: D1136
datatype: f32[2]
name: retrieve_data
arguments: label: D508
datatype: string
name: retrieve_data
arguments: label: D122
datatype: string

tool: D1245: 1

tool: D640: Error at %d, h = %lf, d = %lf


tool: D539: Failed

tool: D1157: Succeeded

tool: D1323: 2

tool: D1398: 4

tool: D121: 3

tool: D1274: Error at A[%d], h = %lf, d = %lf


tool: D588: Error at B[%d], h = %lf, d = %lf


tool: D1319: 7

tool: {"D481": [0.0,2.3125]}

tool: {"D726": [0.0,2.59375]}

tool: {"D354": [0.0,2.5]}

tool: {"D1136": [0.0,2.78125]}

tool: D508: lastpriv value is %d and should have been %d


tool: D122: Error at (%d,%d), h = %lf, d = %lf


assistant: ```c
int main(void) {
  check_offloading();
  double A[(992)], B[(992)], C[(992)], D[(992)], E[(992)];
  int fail = 0;
  {
    int i;
    for (i = 0; i < (992); i++) {
      {
        C[i] = 1;
        D[i] = i;
        E[i] = -i;
      }
    }
  };
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute num_teams(512)
    for (int i = 0; i < 512; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 512; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute num_teams(256)
    for (int i = 0; i < 500; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 500; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute num_teams(256)
    for (int i = 0; i < 123; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 123; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute dist_schedule(static, 1) num_teams(512)
    for (int i = 0; i < 512; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 512; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute dist_schedule(static, 512) num_teams(512)
    for (int i = 0; i < 512; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 512; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  int ten = 10;
  int chunkSize = 512 / ten;
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute dist_schedule(static, chunkSize) num_teams(512)
    for (int i = 0; i < 512; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 512; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute dist_schedule(static, 1) num_teams(256)
    for (int i = 0; i < 500; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 500; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute dist_schedule(static, 500) num_teams(256)
    for (int i = 0; i < 500; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 500; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  ten = 10;
  chunkSize = 500 / ten;
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute dist_schedule(static, chunkSize) num_teams(256)
    for (int i = 0; i < 500; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 500; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute dist_schedule(static, 1) num_teams(256)
    for (int i = 0; i < 123; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 123; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute dist_schedule(static, 123) num_teams(256)
    for (int i = 0; i < 123; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 123; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  ten = 10;
  chunkSize = 123 / ten;
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute dist_schedule(static, chunkSize) num_teams(256)
    for (int i = 0; i < 123; i++) {
      A[i] += C[i];
    }
  }
  for (int i = 0; i < 123; i++)
    if (A[i] != (1)) {
      printf("Error at %d, h = %lf, d = %lf\n", i, (double)(1), A[i]);
      fail = 1;
    }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  {
    int i;
    for (i = 0; i < (992); i++) {
      B[i] = 0;
    }
  };
  double p = 2.0, q = 4.0;
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute private(p, q) num_teams(256)
    for (int i = 0; i < (992); i++) {
      p = 2;
      q = 3;
      A[i] += p;
      B[i] += q;
    }
  }
  for (int i = 0; i < (992); i++) {
    if (A[i] != (1) * 2) {
      printf("Error at A[%d], h = %lf, d = %lf\n", i, (double)(1) * 2, A[i]);
      fail = 1;
    }
    if (B[i] != (1) * 3) {
      printf("Error at B[%d], h = %lf, d = %lf\n", i, (double)(1) * 3, B[i]);
      fail = 1;
    }
  }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  {
    int i;
    for (i = 0; i < (992); i++) {
      B[i] = 0;
    }
  };
  p = 2.0, q = 4.0;
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute firstprivate(p, q) num_teams(64)
    for (int i = 0; i < 128; i++) {
      p += 3.0;
      q += 7.0;
      A[i] += p;
      B[i] += q;
    }
  }
  for (int i = 0; i < 128; i++) {
    if (i % 2 == 0) {
      if (A[i] != (2.0 + 3.0) * (1)) {
        printf("Error at A[%d], h = %lf, d = %lf\n", i, (double)(2.0 + 3.0) * (1), A[i]);
        fail = 1;
      }
      if (B[i] != (4.0 + 7.0) * (1)) {
        printf("Error at B[%d], h = %lf, d = %lf\n", i, (double)(4.0 + 7.0) * (1), B[i]);
        fail = 1;
      }
    } else {
      if (A[i] != (2.0 + 3.0 * 2) * (1)) {
        printf("Error at A[%d], h = %lf, d = %lf\n", i, (double)(2.0 + 3.0 * 2) * (1), A[i]);
        fail = 1;
      }
      if (B[i] != (4.0 + 7.0 * 2) * (1)) {
        printf("Error at B[%d], h = %lf, d = %lf\n", i, (double)(4.0 + 7.0 * 2) * (1), B[i]);
        fail = 1;
      }
    }
  }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  int lastpriv[2] = {-1, -1};
#pragma omp target teams distribute lastprivate(lastpriv) num_teams(10)
  for (int i = 0; i < omp_get_num_teams(); i++) {
    lastpriv[0] = omp_get_team_num();
  }
  if (lastpriv[0] != 9) {
    printf("lastpriv value is %d and should have been %d\n", lastpriv[0], 9);
    fail = 1;
  }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  {
    int i;
    for (i = 0; i < (992); i++) {
      B[i] = 0;
    }
  };
  int nte = 32;
  int tl = 64;
  int blockSize = tl;
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute num_teams(nte) thread_limit(tl)
    for (int j = 0; j < 256; j += blockSize) {
#pragma omp parallel for
      for (int i = j; i < j + blockSize; i++) {
        A[i] += B[i] + C[i];
      }
    }
  }
  for (int i = 0; i < 256; i++) {
    if (A[i] != (1)) {
      printf("Error at A[%d], h = %lf, d = %lf\n", i, (double)(2.0 + 3.0) * (1), A[i]);
      fail = 1;
    }
  }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  {
    int i;
    for (i = 0; i < (992); i++) {
      A[i] = 0;
    }
  };
  {
    int i;
    for (i = 0; i < (992); i++) {
      B[i] = 0;
    }
  };
  nte = 32;
  tl = 64;
  blockSize = tl;
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute num_teams(nte) thread_limit(tl)
    for (int j = 0; j < 510; j += blockSize) {
      int ub = (j + blockSize < 510) ? (j + blockSize) : 512;
#pragma omp parallel for
      for (int i = j; i < ub; i++) {
        A[i] += B[i] + C[i];
      }
    }
  }
  for (int i = 0; i < 256; i++) {
    if (A[i] != (1)) {
      printf("Error at A[%d], h = %lf, d = %lf\n", i, (double)(2.0 + 3.0) * (1), A[i]);
      fail = 1;
    }
  }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  double *S = (double *)malloc((992) * (992) * sizeof(double));
  double *T = (double *)malloc((992) * (992) * sizeof(double));
  double *U = (double *)malloc((992) * (992) * sizeof(double));
  for (int i = 0; i < (992); i++)
    for (int j = 0; j < (992); j++) {
      S[i * (992) + j] = 0.0;
      T[i * (992) + j] = 1.0;
      U[i * (992) + j] = 2.0;
    }
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute collapse(2) map(tofrom : S[:N * N]), map(to : T[:N * N], U[:N * N]) num_teams(512)
    for (int i = 0; i < (992); i++)
      for (int j = 0; j < (992); j++)
        S[i * (992) + j] += T[i * (992) + j] + U[i * (992) + j];
  }
  for (int i = 0; i < (992); i++)
    for (int j = 0; j < (992); j++)
      if (S[i * (992) + j] != (1) * 3.0) {
        printf("Error at (%d,%d), h = %lf, d = %lf\n", i, j, (double)(1) * 3.0, S[i * (992) + j]);
        fail = 1;
      }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  int M = (992) / 8;
  double *V = (double *)malloc(M * M * M * sizeof(double));
  double *Z = (double *)malloc(M * M * M * sizeof(double));
  for (int i = 0; i < M; i++)
    for (int j = 0; j < M; j++)
      for (int k = 0; k < M; k++) {
        V[i * M * M + j * M + k] = 2.0;
        Z[i * M * M + j * M + k] = 3.0;
      }
  for (int t = 0; t < (1); t++) {
#pragma omp target teams distribute collapse(3) map(tofrom : V[:M * M * M]), map(to : Z[:M * M * M]) num_teams(512)
    for (int i = 0; i < M; i++)
      for (int j = 0; j < M; j++)
        for (int k = 0; k < M; k++)
          V[i * M * M + j * M + k] += Z[i * M * M + j * M + k];
  }
  for (int i = 0; i < M; i++)
    for (int j = 0; j < M; j++)
      for (int k = 0; k < M; k++)
        if (V[i * M * M + j * M + k] != 2.0 + (1) * 3.0) {
          printf("Error at (%d,%d), h = %lf, d = %lf\n", i, j, (double)(1) * 3.0, V[i * M * M + j * M + k]);
          fail = 1;
        }
  if (fail)
    printf("Failed\n");
  else
    printf("Succeeded\n");
  return 0;
}
```