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

```asm
<revbin_permute_16>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %rdi,-0x68(%rbp)
  mov    -0x68(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  0x18(%rax),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x68(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x68(%rbp),%rax
  movsd  0x80(%rax),%xmm1
  movsd  0x88(%rax),%xmm0
  movsd  %xmm1,(%rdx)
  movsd  %xmm0,0x8(%rdx)
  mov    -0x68(%rbp),%rax
  sub    $0xffffffffffffff80,%rax
  movsd  -0x60(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,0x8(%rax)
  mov    -0x68(%rbp),%rax
  movsd  0x20(%rax),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  0x28(%rax),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0x68(%rbp),%rax
  lea    0x20(%rax),%rdx
  mov    -0x68(%rbp),%rax
  movsd  0x40(%rax),%xmm1
  movsd  0x48(%rax),%xmm0
  movsd  %xmm1,(%rdx)
  movsd  %xmm0,0x8(%rdx)
  mov    -0x68(%rbp),%rax
  add    $0x40,%rax
  movsd  -0x50(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,0x8(%rax)
  mov    -0x68(%rbp),%rax
  movsd  0x30(%rax),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  0x38(%rax),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x68(%rbp),%rax
  lea    0x30(%rax),%rdx
  mov    -0x68(%rbp),%rax
  movsd  0xc0(%rax),%xmm1
  movsd  0xc8(%rax),%xmm0
  movsd  %xmm1,(%rdx)
  movsd  %xmm0,0x8(%rdx)
  mov    -0x68(%rbp),%rax
  add    $0xc0,%rax
  movsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x38(%rbp),%xmm0
  movsd  %xmm0,0x8(%rax)
  mov    -0x68(%rbp),%rax
  movsd  0x50(%rax),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  0x58(%rax),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0x68(%rbp),%rax
  lea    0x50(%rax),%rdx
  mov    -0x68(%rbp),%rax
  movsd  0xa0(%rax),%xmm1
  movsd  0xa8(%rax),%xmm0
  movsd  %xmm1,(%rdx)
  movsd  %xmm0,0x8(%rdx)
  mov    -0x68(%rbp),%rax
  add    $0xa0,%rax
  movsd  -0x30(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,0x8(%rax)
  mov    -0x68(%rbp),%rax
  movsd  0x70(%rax),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  0x78(%rax),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  mov    -0x68(%rbp),%rax
  lea    0x70(%rax),%rdx
  mov    -0x68(%rbp),%rax
  movsd  0xe0(%rax),%xmm1
  movsd  0xe8(%rax),%xmm0
  movsd  %xmm1,(%rdx)
  movsd  %xmm0,0x8(%rdx)
  mov    -0x68(%rbp),%rax
  add    $0xe0,%rax
  movsd  -0x20(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x18(%rbp),%xmm0
  movsd  %xmm0,0x8(%rax)
  mov    -0x68(%rbp),%rax
  movsd  0xb0(%rax),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  0xb8(%rax),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x68(%rbp),%rax
  lea    0xb0(%rax),%rdx
  mov    -0x68(%rbp),%rax
  movsd  0xd0(%rax),%xmm1
  movsd  0xd8(%rax),%xmm0
  movsd  %xmm1,(%rdx)
  movsd  %xmm0,0x8(%rdx)
  mov    -0x68(%rbp),%rax
  add    $0xd0,%rax
  movsd  -0x10(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  movsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,0x8(%rax)
  nop
  pop    %rbp
  ret
```

assistant: ```c
void revbin_permute_16(double _Complex *f) {
  {
    double _Complex t = f[1];
    f[1] = f[8];
    f[8] = t;
  };
  {
    double _Complex t = f[2];
    f[2] = f[4];
    f[4] = t;
  };
  {
    double _Complex t = f[3];
    f[3] = f[12];
    f[12] = t;
  };
  {
    double _Complex t = f[5];
    f[5] = f[10];
    f[10] = t;
  };
  {
    double _Complex t = f[7];
    f[7] = f[14];
    f[14] = t;
  };
  {
    double _Complex t = f[11];
    f[11] = f[13];
    f[13] = t;
  };
}
```