user: 下面的汇编指令对应的C源代码是什么:

```asm
<blocked>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %rdi,-0x18(%rbp)
  mov    %rsi,-0x20(%rbp)
  mov    %rdx,-0x28(%rbp)
  mov    %rcx,-0x30(%rbp)
  mov    %r8,-0x38(%rbp)
  mov    %r9,-0x40(%rbp)
  movl   $0x0,-0x8(%rbp)
  jmp    L25
L55:
  movl   $0x0,-0x4(%rbp)
  jmp    L10
L39:
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x4(%rbp)
L10:
  cmpl   $0xfff,-0x4(%rbp)
  jle    L39
  movl   $0x0,-0x4(%rbp)
  jmp    L9
L22:
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x4(%rbp)
L9:
  cmpl   $0xfff,-0x4(%rbp)
  jle    L22
  movl   $0x0,-0x4(%rbp)
  jmp    L1
L75:
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x18(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x20(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x28(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x4(%rbp)
L1:
  cmpl   $0xfff,-0x4(%rbp)
  jle    L75
  movl   $0x0,-0x4(%rbp)
  jmp    L47
L114:
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x30(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x38(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x40(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x4(%rbp)
L47:
  cmpl   $0xfff,-0x4(%rbp)
  jle    L114
  movl   $0x0,-0x4(%rbp)
  jmp    L19
L92:
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x48(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x50(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  addss  %xmm0,%xmm1
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x58(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x4(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  addss  %xmm1,%xmm0
  movss  %xmm0,(%rax)
  addl   $0x1,-0x4(%rbp)
L19:
  cmpl   $0xfff,-0x4(%rbp)
  jle    L92
  addq   $0x4000,-0x18(%rbp)
  addq   $0x4000,-0x20(%rbp)
  addq   $0x4000,-0x28(%rbp)
  addq   $0x4000,-0x30(%rbp)
  addq   $0x4000,-0x38(%rbp)
  addq   $0x4000,-0x40(%rbp)
  addq   $0x4000,0x10(%rbp)
  addq   $0x4000,0x18(%rbp)
  addq   $0x4000,0x20(%rbp)
  addq   $0x4000,0x28(%rbp)
  addq   $0x4000,0x30(%rbp)
  addq   $0x4000,0x38(%rbp)
  addq   $0x4000,0x40(%rbp)
  addq   $0x4000,0x48(%rbp)
  addq   $0x4000,0x50(%rbp)
  addq   $0x4000,0x58(%rbp)
  addl   $0x1,-0x8(%rbp)
L25:
  cmpl   $0xfff,-0x8(%rbp)
  jle    L55
  nop
  nop
  pop    %rbp
  ret
```

assistant: ```c
void blocked(float *restrict a, float *restrict b, float *restrict c, float *restrict d, float *restrict e, float *restrict f, float *restrict g, float *restrict h, float *restrict k, float *restrict l, float *restrict m, float *restrict n, float *restrict o, float *restrict p, float *restrict q, float *restrict r) {
  int i, j;
  for (i = 0; i < 4096; i++) {
    for (j = 0; j < 4096; j++) {
      a[j] = a[j] + b[j] + c[j] + d[j];
    }
    for (j = 0; j < 4096; j++) {
      a[j] = a[j] + e[j] + f[j] + g[j];
    }
    for (j = 0; j < 4096; j++) {
      a[j] = a[j] + h[j] + k[j] + l[j];
    }
    for (j = 0; j < 4096; j++) {
      a[j] = a[j] + m[j] + n[j] + o[j];
    }
    for (j = 0; j < 4096; j++) {
      a[j] = a[j] + p[j] + q[j] + r[j];
    }
    a += 4096;
    b += 4096;
    c += 4096;
    d += 4096;
    e += 4096;
    f += 4096;
    g += 4096;
    h += 4096;
    k += 4096;
    l += 4096;
    m += 4096;
    n += 4096;
    o += 4096;
    p += 4096;
    q += 4096;
    r += 4096;
  }
}
```