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

```asm
<swptst_>:
  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)
  subq   $0x8,0x10(%rbp)
  subq   $0x8,-0x40(%rbp)
  subq   $0x8,-0x38(%rbp)
  mov    -0x30(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,D42(%rip)
  mov    -0x30(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,D95(%rip)
  mov    -0x30(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,D228(%rip)
  mov    -0x18(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  D42(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,D241(%rip)
  mov    -0x20(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  D42(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,D276(%rip)
  mov    -0x28(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  D42(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,D188(%rip)
  mov    -0x18(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  D95(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,D273(%rip)
  mov    -0x20(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  D95(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,D195(%rip)
  mov    -0x28(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  D95(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,D136(%rip)
  mov    -0x18(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  D228(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,D298(%rip)
  mov    -0x20(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  D228(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,D59(%rip)
  mov    -0x28(%rbp),%rax
  mov    (%rax),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  D228(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,D218(%rip)
  movsd  D195(%rip),%xmm1
  movsd  D298(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D273(%rip),%xmm2
  movsd  D59(%rip),%xmm1
  mulsd  %xmm1,%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  D188(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  D276(%rip),%xmm2
  movsd  D298(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  movsd  D241(%rip),%xmm3
  movsd  D59(%rip),%xmm2
  mulsd  %xmm2,%xmm3
  movapd %xmm1,%xmm2
  subsd  %xmm3,%xmm2
  movsd  D136(%rip),%xmm1
  mulsd  %xmm1,%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  D276(%rip),%xmm2
  movsd  D273(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  movsd  D241(%rip),%xmm3
  movsd  D195(%rip),%xmm2
  mulsd  %xmm2,%xmm3
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  movsd  D218(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  comisd %xmm1,%xmm0
  seta   %al
  movzbl %al,%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  pop    %rbp
  ret
```

assistant: ```c
int swptst_(int *n1, int *n2, int *n3, int *n4, double *x, double *y, double *z__) {
  int ret_val;
  static double x4, y4, z4, dx1, dx2, dx3, dy1, dy2, dy3, dz1, dz2, dz3;
  --z__;
  --y;
  --x;
  x4 = x[*n4];
  y4 = y[*n4];
  z4 = z__[*n4];
  dx1 = x[*n1] - x4;
  dx2 = x[*n2] - x4;
  dx3 = x[*n3] - x4;
  dy1 = y[*n1] - y4;
  dy2 = y[*n2] - y4;
  dy3 = y[*n3] - y4;
  dz1 = z__[*n1] - z4;
  dz2 = z__[*n2] - z4;
  dz3 = z__[*n3] - z4;
  ret_val = dx3 * (dy2 * dz1 - dy1 * dz2) - dy3 * (dx2 * dz1 - dx1 * dz2) + dz3 * (dx2 * dy1 - dx1 * dy2) > 0.;
  return ret_val;
}
```