user: What would the C source look like for the assembly code provided here:

```asm
<OUT__1__6755__>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rdi,%rsi
  mov    0xa0(%rdi),%rcx
  mov    0x98(%rdi),%rdx
  mov    0x90(%rdi),%rax
  mov    0x88(%rdi),%r15
  mov    0x80(%rdi),%r14
  mov    0x78(%rdi),%r13
  mov    0x70(%rdi),%rdi
  mov    0x68(%rsi),%rbx
  mov    %rbx,-0x48(%rsp)
  mov    0x60(%rsi),%r11
  mov    %r11,-0x28(%rsp)
  mov    0x58(%rsi),%r12
  mov    0x50(%rsi),%rbx
  mov    %rbx,-0x40(%rsp)
  mov    0x48(%rsi),%rbx
  mov    %rbx,-0x20(%rsp)
  mov    0x40(%rsi),%rbp
  mov    0x38(%rsi),%rbx
  mov    %rbx,-0x38(%rsp)
  mov    0x30(%rsi),%rbx
  mov    %rbx,-0x18(%rsp)
  mov    0x28(%rsi),%rbx
  mov    0x20(%rsi),%r10
  mov    %r10,-0x30(%rsp)
  mov    0x18(%rsi),%r10
  mov    %r10,-0x10(%rsp)
  mov    0x10(%rsi),%r10
  mov    0x8(%rsi),%r9
  mov    %r9,-0x50(%rsp)
  mov    (%rsi),%rsi
  mov    %rsi,-0x8(%rsp)
  movl   $0x0,(%r11)
  cmpl   $0x0,(%rsi)
  jle    L2
L27:
  mov    -0x48(%rsp),%rsi
  movl   $0x0,(%rsi)
  mov    -0x50(%rsp),%rsi
  mov    (%rsi),%r8d
  test   %r8d,%r8d
  jle    L8
L33:
  movl   $0x0,(%rdi)
  mov    (%r10),%r8d
  test   %r8d,%r8d
  jle    L34
L26:
  movslq (%rax),%r8
  mov    0x0(%r13),%rsi
  lea    (%rsi,%r8,8),%rsi
  movslq (%rcx),%r11
  movslq (%rdx),%r9
  mov    (%r14),%r8
  mov    %r8,-0x58(%rsp)
  mov    (%r15),%r8
  movsd  (%r8,%r11,8),%xmm1
  mov    -0x58(%rsp),%r11
  mulsd  (%r11,%r9,8),%xmm1
  movsd  (%rsi),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rsi)
  mov    (%r12),%esi
  add    %esi,(%rcx)
  mov    0x0(%rbp),%esi
  add    %esi,(%rdx)
  mov    (%rbx),%esi
  add    %esi,(%rax)
  mov    (%rdi),%esi
  add    $0x1,%esi
  mov    %esi,(%rdi)
  mov    (%r10),%r8d
  cmp    %r8d,%esi
  jl     L26
L34:
  imul   (%r12),%r8d
  mov    -0x40(%rsp),%rsi
  mov    (%rsi),%esi
  sub    %r8d,%esi
  add    %esi,(%rcx)
  mov    (%r10),%r8d
  imul   0x0(%rbp),%r8d
  mov    -0x38(%rsp),%rsi
  mov    (%rsi),%esi
  sub    %r8d,%esi
  add    %esi,(%rdx)
  mov    (%r10),%r8d
  imul   (%rbx),%r8d
  mov    -0x30(%rsp),%rsi
  mov    (%rsi),%esi
  sub    %r8d,%esi
  add    %esi,(%rax)
  mov    -0x48(%rsp),%r9
  mov    (%r9),%esi
  mov    %esi,-0x58(%rsp)
  add    $0x1,%esi
  mov    %esi,(%r9)
  mov    -0x50(%rsp),%r11
  mov    (%r11),%r8d
  cmp    %r8d,%esi
  jl     L33
L8:
  mov    -0x40(%rsp),%rsi
  imul   (%rsi),%r8d
  mov    -0x20(%rsp),%rsi
  mov    (%rsi),%esi
  sub    %r8d,%esi
  add    %esi,(%rcx)
  mov    -0x50(%rsp),%r11
  mov    (%r11),%r8d
  mov    -0x38(%rsp),%rsi
  imul   (%rsi),%r8d
  mov    -0x18(%rsp),%rsi
  mov    (%rsi),%esi
  sub    %r8d,%esi
  add    %esi,(%rdx)
  mov    (%r11),%r8d
  mov    -0x30(%rsp),%rsi
  imul   (%rsi),%r8d
  mov    -0x10(%rsp),%rsi
  mov    (%rsi),%esi
  sub    %r8d,%esi
  add    %esi,(%rax)
  mov    -0x28(%rsp),%r11
  mov    (%r11),%esi
  mov    %esi,-0x58(%rsp)
  add    $0x1,%esi
  mov    %esi,(%r11)
  mov    -0x8(%rsp),%r11
  cmp    (%r11),%esi
  jl     L27
L2:
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
```

assistant: ```c
void OUT__1__6755__(void **__out_argv) {
  int *Ai = (int *)(__out_argv[20]);
  int *xi = (int *)(__out_argv[19]);
  int *ri = (int *)(__out_argv[18]);
  double **Ap = (double **)(__out_argv[17]);
  double **xp = (double **)(__out_argv[16]);
  double **rp = (double **)(__out_argv[15]);
  int *loopi = (int *)(__out_argv[14]);
  int *loopj = (int *)(__out_argv[13]);
  int *loopk = (int *)(__out_argv[12]);
  int *hypre__sx1 = (int *)(__out_argv[11]);
  int *hypre__sy1 = (int *)(__out_argv[10]);
  int *hypre__sz1 = (int *)(__out_argv[9]);
  int *hypre__sx2 = (int *)(__out_argv[8]);
  int *hypre__sy2 = (int *)(__out_argv[7]);
  int *hypre__sz2 = (int *)(__out_argv[6]);
  int *hypre__sx3 = (int *)(__out_argv[5]);
  int *hypre__sy3 = (int *)(__out_argv[4]);
  int *hypre__sz3 = (int *)(__out_argv[3]);
  int *hypre__nx = (int *)(__out_argv[2]);
  int *hypre__ny = (int *)(__out_argv[1]);
  int *hypre__nz = (int *)(__out_argv[0]);
  for (*loopk = 0; *loopk < *hypre__nz; (*loopk)++) {
    for (*loopj = 0; *loopj < *hypre__ny; (*loopj)++) {
      for (*loopi = 0; *loopi < *hypre__nx; (*loopi)++) {
        { (*rp)[*ri] -= (((*Ap)[*Ai]) * ((*xp)[*xi])); }
        *Ai += *hypre__sx1;
        *xi += *hypre__sx2;
        *ri += *hypre__sx3;
      }
      *Ai += (*hypre__sy1 - (*hypre__nx * *hypre__sx1));
      *xi += (*hypre__sy2 - (*hypre__nx * *hypre__sx2));
      *ri += (*hypre__sy3 - (*hypre__nx * *hypre__sx3));
    }
    *Ai += (*hypre__sz1 - (*hypre__ny * *hypre__sy1));
    *xi += (*hypre__sz2 - (*hypre__ny * *hypre__sy2));
    *ri += (*hypre__sz3 - (*hypre__ny * *hypre__sy3));
  }
}
```