user: 提供的汇编代码用C语言表示会是什么样子:

```asm
<addnod_>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x40,%rsp
  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   $0x4,0x18(%rbp)
  subq   $0x8,-0x38(%rbp)
  subq   $0x8,-0x30(%rbp)
  subq   $0x8,-0x28(%rbp)
  subq   $0x4,-0x40(%rbp)
  subq   $0x4,0x10(%rbp)
  mov    -0x20(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,D28(%rip)
  mov    D28(%rip),%eax
  cmp    $0x3,%eax
  jle    L266
  mov    D28(%rip),%eax
  sub    $0x1,%eax
  mov    %eax,D359(%rip)
  mov    -0x18(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,D159(%rip)
  mov    D159(%rip),%eax
  test   %eax,%eax
  jg     L350
  mov    D359(%rip),%eax
  mov    %eax,D1006(%rip)
L350:
  mov    D28(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,D1006(%rip)
  mov    D28(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,D995(%rip)
  mov    D28(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,D1009(%rip)
  mov    0x18(%rbp),%rax
  lea    0x4(%rax),%rsi
  mov    0x10(%rbp),%rax
  lea    0x4(%rax),%rcx
  mov    -0x40(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x38(%rbp),%rax
  lea    0x8(%rax),%r9
  mov    -0x30(%rbp),%rax
  lea    0x8(%rax),%r8
  mov    -0x28(%rbp),%rax
  add    $0x8,%rax
  sub    $0x8,%rsp
  lea    D295(%rip),%rdi
  push   %rdi
  lea    D473(%rip),%rdi
  push   %rdi
  lea    D114(%rip),%rdi
  push   %rdi
  lea    D946(%rip),%rdi
  push   %rdi
  lea    D373(%rip),%rdi
  push   %rdi
  lea    D543(%rip),%rdi
  push   %rdi
  push   %rsi
  push   %rcx
  push   %rdx
  mov    %rax,%rcx
  lea    D359(%rip),%rax
  mov    %rax,%rdx
  lea    D1006(%rip),%rax
  mov    %rax,%rsi
  lea    D1006(%rip),%rax
  mov    %rax,%rdi
  call   <trfind_@plt>
  add    $0x50,%rsp
  mov    D114(%rip),%eax
  test   %eax,%eax
  je     L317
  mov    D295(%rip),%eax
  test   %eax,%eax
  je     L285
  mov    D114(%rip),%eax
  mov    %eax,D65(%rip)
  movsd  D1006(%rip),%xmm0
  mov    D65(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L340
  ucomisd %xmm1,%xmm0
  jne    L340
  movsd  D995(%rip),%xmm0
  mov    D65(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L340
  ucomisd %xmm1,%xmm0
  jne    L340
  movsd  D1009(%rip),%xmm0
  mov    D65(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L340
  ucomisd %xmm1,%xmm0
  je     L292
L340:
  mov    D473(%rip),%eax
  mov    %eax,D453(%rip)
  movsd  D1006(%rip),%xmm0
  mov    D453(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L44
  ucomisd %xmm1,%xmm0
  jne    L44
  movsd  D995(%rip),%xmm0
  mov    D453(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L44
  ucomisd %xmm1,%xmm0
  jne    L44
  movsd  D1009(%rip),%xmm0
  mov    D453(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L44
  ucomisd %xmm1,%xmm0
  je     L74
L44:
  mov    D295(%rip),%eax
  mov    %eax,D453(%rip)
  movsd  D1006(%rip),%xmm0
  mov    D453(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L380
  ucomisd %xmm1,%xmm0
  jne    L380
  movsd  D995(%rip),%xmm0
  mov    D453(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L380
  ucomisd %xmm1,%xmm0
  jne    L380
  movsd  D1009(%rip),%xmm0
  mov    D453(%rip),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  ucomisd %xmm1,%xmm0
  jp     L380
  ucomisd %xmm1,%xmm0
  je     L341
L380:
  mov    0x18(%rbp),%rax
  add    $0x4,%rax
  mov    0x10(%rbp),%rdx
  lea    0x4(%rdx),%rcx
  mov    -0x40(%rbp),%rdx
  add    $0x4,%rdx
  push   0x20(%rbp)
  push   %rax
  mov    %rcx,%r9
  mov    %rdx,%r8
  lea    D295(%rip),%rax
  mov    %rax,%rcx
  lea    D473(%rip),%rax
  mov    %rax,%rdx
  lea    D114(%rip),%rax
  mov    %rax,%rsi
  lea    D28(%rip),%rax
  mov    %rax,%rdi
  call   <intadd_@plt>
  add    $0x10,%rsp
  jmp    L155
L285:
  mov    D114(%rip),%edx
  mov    D473(%rip),%eax
  cmp    %eax,%edx
  je     L175
  mov    0x18(%rbp),%rax
  lea    0x4(%rax),%rcx
  mov    0x10(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x40(%rbp),%rax
  add    $0x4,%rax
  sub    $0x8,%rsp
  push   0x20(%rbp)
  mov    %rcx,%r9
  mov    %rdx,%r8
  mov    %rax,%rcx
  lea    D473(%rip),%rax
  mov    %rax,%rdx
  lea    D114(%rip),%rax
  mov    %rax,%rsi
  lea    D28(%rip),%rax
  mov    %rax,%rdi
  call   <bdyadd_@plt>
  add    $0x10,%rsp
  jmp    L155
L175:
  mov    0x18(%rbp),%rax
  lea    0x4(%rax),%rsi
  mov    0x10(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x40(%rbp),%rax
  add    $0x4,%rax
  mov    0x20(%rbp),%rcx
  mov    %rcx,%r9
  mov    %rsi,%r8
  mov    %rdx,%rcx
  mov    %rax,%rdx
  lea    D114(%rip),%rax
  mov    %rax,%rsi
  lea    D28(%rip),%rax
  mov    %rax,%rdi
  call   <covsph_@plt>
L155:
  mov    0x28(%rbp),%rax
  movl   $0x0,(%rax)
  mov    D28(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x18(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  mov    %eax,D453(%rip)
  mov    D453(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  mov    %eax,D5(%rip)
  mov    D5(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  mov    %eax,D35(%rip)
  mov    D5(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  mov    %eax,D983(%rip)
  mov    D983(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  mov    %eax,D315(%rip)
L361:
  mov    0x10(%rbp),%rax
  lea    0x4(%rax),%rcx
  mov    -0x40(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    D315(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rsi
  mov    0x18(%rbp),%rax
  add    %rsi,%rax
  lea    D35(%rip),%rsi
  mov    %rax,%rdi
  call   <lstptr_@plt>
  mov    %eax,D763(%rip)
  mov    D763(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  test   %eax,%eax
  js     L184
  mov    D763(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  mov    %eax,D763(%rip)
  mov    D763(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  mov    %eax,D763(%rip)
  mov    D983(%rip),%eax
  mov    %eax,D981(%rip)
  mov    -0x38(%rbp),%rax
  add    $0x8,%rax
  mov    -0x30(%rbp),%rdx
  lea    0x8(%rdx),%rcx
  mov    -0x28(%rbp),%rdx
  add    $0x8,%rdx
  sub    $0x8,%rsp
  push   %rax
  mov    %rcx,%r9
  mov    %rdx,%r8
  lea    D35(%rip),%rax
  mov    %rax,%rcx
  lea    D315(%rip),%rax
  mov    %rax,%rdx
  lea    D28(%rip),%rax
  mov    %rax,%rsi
  lea    D763(%rip),%rax
  mov    %rax,%rdi
  call   <swptst_@plt>
  add    $0x10,%rsp
  test   %eax,%eax
  je     L200
  mov    0x18(%rbp),%rax
  add    $0x4,%rax
  mov    0x10(%rbp),%rdx
  lea    0x4(%rdx),%rsi
  mov    -0x40(%rbp),%rdx
  lea    0x4(%rdx),%rcx
  lea    D983(%rip),%rdx
  push   %rdx
  push   %rax
  mov    %rsi,%r9
  mov    %rcx,%r8
  lea    D35(%rip),%rax
  mov    %rax,%rcx
  lea    D315(%rip),%rax
  mov    %rax,%rdx
  lea    D28(%rip),%rax
  mov    %rax,%rsi
  lea    D763(%rip),%rax
  mov    %rax,%rdi
  call   <swap_@plt>
  add    $0x10,%rsp
  mov    D983(%rip),%eax
  test   %eax,%eax
  jne    L71
  mov    D981(%rip),%eax
  mov    %eax,D613(%rip)
  jmp    L164
L71:
  mov    D763(%rip),%eax
  mov    %eax,D613(%rip)
  jmp    L361
L184:
  nop
  jmp    L164
L200:
  nop
L164:
  mov    D613(%rip),%edx
  mov    D5(%rip),%eax
  cmp    %eax,%edx
  je     L348
  mov    D613(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  test   %eax,%eax
  jns    L227
L348:
  mov    $0x0,%eax
  jmp    L324
L227:
  mov    D613(%rip),%eax
  mov    %eax,D613(%rip)
  mov    D613(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  mov    %eax,D613(%rip)
  mov    D613(%rip),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%eax
  mov    %eax,-0x4(%rbp)
  mov    -0x4(%rbp),%eax
  mov    %eax,%edx
  neg    %edx
  cmovns %edx,%eax
  mov    %eax,D613(%rip)
  jmp    L361
L266:
  nop
  mov    0x28(%rbp),%rax
  movl   $0xffffffff,(%rax)
  mov    $0x0,%eax
  jmp    L324
L317:
  nop
  mov    0x28(%rbp),%rax
  movl   $0xfffffffe,(%rax)
  mov    $0x0,%eax
  jmp    L324
L292:
  nop
  jmp    L281
L74:
  nop
  jmp    L281
L341:
  nop
L281:
  mov    D453(%rip),%edx
  mov    0x28(%rbp),%rax
  mov    %edx,(%rax)
  mov    $0x0,%eax
L324:
  leave
  ret
```

assistant: ```c
int addnod_(int *nst, int *k, double *x, double *y, double *z__, int *list, int *lptr, int *lend, int *lnew, int *ier) {
  int i__1;
  static int l;
  static double p[3], b1, b2, b3;
  static int i1, i2, i3, kk, lp, in1, io1, io2, km1, lpf, ist, lpo1;
  static int lpo1s;
  --lend;
  --z__;
  --y;
  --x;
  --list;
  --lptr;
  kk = *k;
  if (kk < 4) {
    goto L3;
  }
  km1 = kk - 1;
  ist = *nst;
  if (ist < 1) {
    ist = km1;
  }
  p[0] = x[kk];
  p[1] = y[kk];
  p[2] = z__[kk];
  trfind_(&ist, p, &km1, &x[1], &y[1], &z__[1], &list[1], &lptr[1], &lend[1], &b1, &b2, &b3, &i1, &i2, &i3);
  if (i1 == 0) {
    goto L4;
  }
  if (i3 != 0) {
    l = i1;
    if (p[0] == x[l] && p[1] == y[l] && p[2] == z__[l]) {
      goto L5;
    }
    l = i2;
    if (p[0] == x[l] && p[1] == y[l] && p[2] == z__[l]) {
      goto L5;
    }
    l = i3;
    if (p[0] == x[l] && p[1] == y[l] && p[2] == z__[l]) {
      goto L5;
    }
    intadd_(&kk, &i1, &i2, &i3, &list[1], &lptr[1], &lend[1], lnew);
  } else {
    if (i1 != i2) {
      bdyadd_(&kk, &i1, &i2, &list[1], &lptr[1], &lend[1], lnew);
    } else {
      covsph_(&kk, &i1, &list[1], &lptr[1], &lend[1], lnew);
    }
  }
  *ier = 0;
  lp = lend[kk];
  lpf = lptr[lp];
  io2 = list[lpf];
  lpo1 = lptr[lpf];
  io1 = (i__1 = list[lpo1], ((i__1) >= 0 ? (i__1) : -(i__1)));
L1:
  lp = lstptr_(&lend[io1], &io2, &list[1], &lptr[1]);
  if (list[lp] < 0) {
    goto L2;
  }
  lp = lptr[lp];
  in1 = (i__1 = list[lp], ((i__1) >= 0 ? (i__1) : -(i__1)));
  lpo1s = lpo1;
  if (!swptst_(&in1, &kk, &io1, &io2, &x[1], &y[1], &z__[1])) {
    goto L2;
  }
  swap_(&in1, &kk, &io1, &io2, &list[1], &lptr[1], &lend[1], &lpo1);
  if (lpo1 == 0) {
    lpo1 = lpo1s;
    goto L2;
  }
  io1 = in1;
  goto L1;
L2:
  if (lpo1 == lpf || list[lpo1] < 0) {
    return 0;
  }
  io2 = io1;
  lpo1 = lptr[lpo1];
  io1 = (i__1 = list[lpo1], ((i__1) >= 0 ? (i__1) : -(i__1)));
  goto L1;
L3:
  *ier = -1;
  return 0;
L4:
  *ier = -2;
  return 0;
L5:
  *ier = l;
  return 0;
}
```