user: 请从给定的汇编指令推导出C源代码：

```asm
<Worley>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x88,%rsp
  mov    %rsi,%r13
  mov    %rdx,%r12
  mov    %rcx,%rbx
  mov    %r8,%r15
  mov    %fs:0x28,%rax
  mov    %rax,0x78(%rsp)
  xor    %eax,%eax
  test   %rsi,%rsi
  jle    L265
  mov    %rdx,%rax
  lea    (%rdx,%rsi,8),%rdx
  movsd  D61(%rip),%xmm0
L527:
  movsd  %xmm0,(%rax)
  add    $0x8,%rax
  cmp    %rdx,%rax
  jne    L527
L265:
  movsd  D9(%rip),%xmm0
  movapd %xmm0,%xmm2
  mulsd  (%rdi),%xmm2
  movsd  %xmm2,0x60(%rsp)
  movapd %xmm0,%xmm1
  mulsd  0x8(%rdi),%xmm1
  movsd  %xmm1,0x68(%rsp)
  mulsd  0x10(%rdi),%xmm0
  movsd  %xmm0,0x70(%rsp)
  pxor   %xmm3,%xmm3
  comisd %xmm2,%xmm3
  ja     L284
  cvttsd2si %xmm2,%rax
  mov    %rax,0x8(%rsp)
L178:
  pxor   %xmm2,%xmm2
  comisd %xmm1,%xmm2
  ja     L140
  cvttsd2si %xmm1,%rax
  mov    %rax,(%rsp)
L121:
  pxor   %xmm1,%xmm1
  comisd %xmm0,%xmm1
  ja     L448
  cvttsd2si %xmm0,%r14
L262:
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    %r14,%rdx
  mov    0x10(%rsp),%rsi
  mov    0x18(%rsp),%rbp
  mov    %rbp,%rdi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %rbp,%xmm0
  movsd  0x70(%rsp),%xmm3
  subsd  %xmm0,%xmm3
  pxor   %xmm0,%xmm0
  cvtsi2sdq 0x10(%rsp),%xmm0
  movsd  0x78(%rsp),%xmm2
  subsd  %xmm0,%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2sd %r14,%xmm0
  movsd  0x80(%rsp),%xmm1
  subsd  %xmm0,%xmm1
  movsd  D1(%rip),%xmm0
  movapd %xmm0,%xmm4
  subsd  %xmm3,%xmm4
  mulsd  %xmm4,%xmm4
  movsd  %xmm4,0x30(%rsp)
  movapd %xmm0,%xmm4
  subsd  %xmm2,%xmm4
  mulsd  %xmm4,%xmm4
  movsd  %xmm4,0x38(%rsp)
  subsd  %xmm1,%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,0x20(%rsp)
  movapd %xmm3,%xmm6
  mulsd  %xmm3,%xmm6
  movsd  %xmm6,0x48(%rsp)
  mulsd  %xmm2,%xmm2
  movsd  %xmm2,0x40(%rsp)
  mulsd  %xmm1,%xmm1
  movsd  %xmm1,0x28(%rsp)
  lea    0x0(,%r13,8),%rax
  mov    %rax,0x68(%rsp)
  lea    -0x8(%r12,%rax,1),%rbp
  add    $0x10,%rsp
  movsd  0x0(%rbp),%xmm0
  comisd %xmm6,%xmm0
  ja     L584
L243:
  movsd  0x0(%rbp),%xmm0
  comisd 0x30(%rsp),%xmm0
  ja     L379
L295:
  movsd  0x0(%rbp),%xmm0
  comisd 0x18(%rsp),%xmm0
  ja     L169
L171:
  movsd  0x0(%rbp),%xmm0
  comisd 0x20(%rsp),%xmm0
  ja     L125
L162:
  movsd  0x0(%rbp),%xmm0
  comisd 0x28(%rsp),%xmm0
  ja     L91
L268:
  movsd  0x0(%rbp),%xmm0
  comisd 0x10(%rsp),%xmm0
  ja     L22
L422:
  movsd  0x38(%rsp),%xmm7
  addsd  0x30(%rsp),%xmm7
  movsd  %xmm7,0x40(%rsp)
  movsd  0x0(%rbp),%xmm0
  comisd %xmm7,%xmm0
  ja     L361
L556:
  movsd  0x0(%rbp),%xmm1
  movsd  0x38(%rsp),%xmm0
  addsd  0x18(%rsp),%xmm0
  comisd %xmm0,%xmm1
  ja     L565
L504:
  movsd  0x0(%rbp),%xmm1
  movsd  0x30(%rsp),%xmm0
  addsd  0x18(%rsp),%xmm0
  comisd %xmm0,%xmm1
  ja     L627
L42:
  movsd  0x20(%rsp),%xmm4
  addsd  0x28(%rsp),%xmm4
  movsd  %xmm4,0x48(%rsp)
  movsd  0x0(%rbp),%xmm0
  comisd %xmm4,%xmm0
  ja     L318
L629:
  movsd  0x0(%rbp),%xmm1
  movsd  0x20(%rsp),%xmm0
  addsd  0x10(%rsp),%xmm0
  comisd %xmm0,%xmm1
  ja     L572
L259:
  movsd  0x0(%rbp),%xmm1
  movsd  0x28(%rsp),%xmm0
  addsd  0x10(%rsp),%xmm0
  comisd %xmm0,%xmm1
  ja     L48
L599:
  movsd  0x28(%rsp),%xmm3
  addsd  0x38(%rsp),%xmm3
  movsd  %xmm3,0x50(%rsp)
  movsd  0x0(%rbp),%xmm0
  comisd %xmm3,%xmm0
  ja     L153
L569:
  movsd  0x38(%rsp),%xmm0
  addsd  0x10(%rsp),%xmm0
  movsd  0x0(%rbp),%xmm1
  comisd %xmm0,%xmm1
  ja     L129
L12:
  movsd  0x0(%rbp),%xmm1
  movsd  0x10(%rsp),%xmm0
  addsd  0x30(%rsp),%xmm0
  comisd %xmm0,%xmm1
  ja     L554
L274:
  movsd  0x30(%rsp),%xmm6
  addsd  0x20(%rsp),%xmm6
  movsd  %xmm6,0x30(%rsp)
  movsd  0x0(%rbp),%xmm0
  comisd %xmm6,%xmm0
  ja     L304
L77:
  movsd  0x20(%rsp),%xmm0
  addsd  0x18(%rsp),%xmm0
  movsd  0x0(%rbp),%xmm1
  comisd %xmm0,%xmm1
  ja     L415
L564:
  movsd  0x28(%rsp),%xmm0
  addsd  0x18(%rsp),%xmm0
  movsd  0x0(%rbp),%xmm1
  comisd %xmm0,%xmm1
  ja     L476
L10:
  movsd  0x0(%rbp),%xmm1
  movsd  0x40(%rsp),%xmm0
  addsd  0x18(%rsp),%xmm0
  comisd %xmm0,%xmm1
  ja     L21
L313:
  movsd  0x40(%rsp),%xmm0
  addsd  0x10(%rsp),%xmm0
  movsd  0x0(%rbp),%xmm1
  comisd %xmm0,%xmm1
  ja     L327
L249:
  movsd  0x0(%rbp),%xmm1
  movsd  0x50(%rsp),%xmm0
  addsd  0x18(%rsp),%xmm0
  comisd %xmm0,%xmm1
  ja     L388
L185:
  movsd  0x50(%rsp),%xmm0
  addsd  0x10(%rsp),%xmm0
  movsd  0x0(%rbp),%xmm1
  comisd %xmm0,%xmm1
  ja     L616
L276:
  movsd  0x0(%rbp),%xmm1
  movsd  0x30(%rsp),%xmm0
  addsd  0x18(%rsp),%xmm0
  comisd %xmm0,%xmm1
  ja     L43
L573:
  movsd  0x30(%rsp),%xmm0
  addsd  0x10(%rsp),%xmm0
  movsd  0x0(%rbp),%xmm1
  comisd %xmm0,%xmm1
  ja     L86
L593:
  movsd  0x18(%rsp),%xmm0
  addsd  0x48(%rsp),%xmm0
  movsd  0x0(%rbp),%xmm1
  comisd %xmm0,%xmm1
  ja     L339
L489:
  movsd  0x48(%rsp),%xmm0
  addsd  0x10(%rsp),%xmm0
  movsd  0x0(%rbp),%xmm1
  comisd %xmm0,%xmm1
  ja     L511
L139:
  test   %r13,%r13
  jle    L364
  mov    %r12,%rbp
  add    0x58(%rsp),%r12
L18:
  mov    %rbp,%r13
  movsd  0x0(%rbp),%xmm0
  pxor   %xmm5,%xmm5
  ucomisd %xmm0,%xmm5
  ja     L97
  sqrtsd %xmm0,%xmm0
L338:
  mulsd  D13(%rip),%xmm0
  movsd  %xmm0,0x0(%r13)
  movsd  D13(%rip),%xmm0
  mulsd  (%rbx),%xmm0
  movsd  %xmm0,(%rbx)
  movsd  D13(%rip),%xmm0
  mulsd  0x8(%rbx),%xmm0
  movsd  %xmm0,0x8(%rbx)
  movsd  D13(%rip),%xmm0
  mulsd  0x10(%rbx),%xmm0
  movsd  %xmm0,0x10(%rbx)
  add    $0x8,%rbp
  add    $0x18,%rbx
  cmp    %r12,%rbp
  jne    L18
L364:
  mov    0x78(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L633
  add    $0x88,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L284:
  cvttsd2si %xmm2,%rax
  sub    $0x1,%rax
  mov    %rax,0x8(%rsp)
  jmp    L178
L140:
  cvttsd2si %xmm1,%rax
  sub    $0x1,%rax
  mov    %rax,(%rsp)
  jmp    L121
L448:
  cvttsd2si %xmm0,%r14
  sub    $0x1,%r14
  jmp    L262
L584:
  mov    0x8(%rsp),%rax
  lea    -0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    %r14,%rdx
  mov    0x10(%rsp),%rsi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L243
L379:
  mov    (%rsp),%rax
  lea    -0x1(%rax),%rsi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    %r14,%rdx
  mov    0x18(%rsp),%rdi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L295
L169:
  lea    -0x1(%r14),%rdx
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x10(%rsp),%rsi
  mov    0x18(%rsp),%rdi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L171
L125:
  mov    0x8(%rsp),%rax
  lea    0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    %r14,%rdx
  mov    0x10(%rsp),%rsi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L162
L91:
  mov    (%rsp),%rax
  lea    0x1(%rax),%rsi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    %r14,%rdx
  mov    0x18(%rsp),%rdi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L268
L22:
  lea    0x1(%r14),%rdx
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x10(%rsp),%rsi
  mov    0x18(%rsp),%rdi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L422
L361:
  mov    (%rsp),%rax
  lea    -0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    -0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    %r14,%rdx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L556
L565:
  lea    -0x1(%r14),%rdx
  mov    0x8(%rsp),%rax
  lea    -0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x10(%rsp),%rsi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L504
L627:
  lea    -0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    -0x1(%rax),%rsi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x18(%rsp),%rdi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L42
L318:
  mov    (%rsp),%rax
  lea    0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    %r14,%rdx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L629
L572:
  lea    0x1(%r14),%rdx
  mov    0x8(%rsp),%rax
  lea    0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x10(%rsp),%rsi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L259
L48:
  lea    0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    0x1(%rax),%rsi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x18(%rsp),%rdi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L599
L153:
  mov    (%rsp),%rax
  lea    0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    -0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    %r14,%rdx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L569
L129:
  lea    0x1(%r14),%rdx
  mov    0x8(%rsp),%rax
  lea    -0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x10(%rsp),%rsi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L12
L554:
  lea    0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    -0x1(%rax),%rsi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x18(%rsp),%rdi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L274
L304:
  mov    (%rsp),%rax
  lea    -0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    %r14,%rdx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L77
L415:
  lea    -0x1(%r14),%rdx
  mov    0x8(%rsp),%rax
  lea    0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x10(%rsp),%rsi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L564
L476:
  lea    -0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    0x1(%rax),%rsi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    0x18(%rsp),%rdi
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L10
L21:
  lea    -0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    -0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    -0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L313
L327:
  lea    0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    -0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    -0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L249
L388:
  lea    -0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    -0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L185
L616:
  lea    0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    -0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L276
L43:
  lea    -0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    -0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L573
L86:
  lea    0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    -0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L593
L339:
  lea    -0x1(%r14),%rdx
  mov    (%rsp),%rax
  lea    0x1(%rax),%rsi
  mov    0x8(%rsp),%rax
  lea    0x1(%rax),%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L489
L511:
  lea    0x1(%r14),%rdx
  mov    (%rsp),%rsi
  add    $0x1,%rsi
  mov    0x8(%rsp),%rdi
  add    $0x1,%rdi
  push   %r15
  push   %rbx
  mov    %r12,%r9
  lea    0x70(%rsp),%r8
  mov    %r13,%rcx
  mov    $0x0,%eax
  call   <AddSamples@plt>
  add    $0x10,%rsp
  jmp    L139
L97:
  call   <sqrt@plt>
  jmp    L338
L633:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: data_label: D61
datatype: f64
name: parse_data
arguments: data_label: D9
datatype: f64
name: parse_data
arguments: data_label: D1
datatype: f64
name: parse_data
arguments: data_label: D13
datatype: byte[8]

tool: D61: 999999.9

tool: D9: 0.39815

tool: D1: 1

tool: {"D13": [0xe6,0x39,0x55,0x3f,0xca,0x17,0x04,0x40]}

assistant: ```c
void Worley(double at[3], long max_order, double *F, double (*delta)[3], unsigned long *ID) {
  double x2, y2, z2, mx2, my2, mz2;
  double new_at[3];
  long int_at[3], i;
  for (i = 0; i < max_order; i++)
    F[i] = 999999.9;
  new_at[0] = 0.398150 * at[0];
  new_at[1] = 0.398150 * at[1];
  new_at[2] = 0.398150 * at[2];
  int_at[0] = ((new_at[0]) < 0 ? ((long)new_at[0] - 1) : ((long)new_at[0]));
  int_at[1] = ((new_at[1]) < 0 ? ((long)new_at[1] - 1) : ((long)new_at[1]));
  int_at[2] = ((new_at[2]) < 0 ? ((long)new_at[2] - 1) : ((long)new_at[2]));
  AddSamples(int_at[0], int_at[1], int_at[2], max_order, new_at, F, delta, ID);
  x2 = new_at[0] - int_at[0];
  y2 = new_at[1] - int_at[1];
  z2 = new_at[2] - int_at[2];
  mx2 = (1.0 - x2) * (1.0 - x2);
  my2 = (1.0 - y2) * (1.0 - y2);
  mz2 = (1.0 - z2) * (1.0 - z2);
  x2 *= x2;
  y2 *= y2;
  z2 *= z2;
  if (x2 < F[max_order - 1])
    AddSamples(int_at[0] - 1, int_at[1], int_at[2], max_order, new_at, F, delta, ID);
  if (y2 < F[max_order - 1])
    AddSamples(int_at[0], int_at[1] - 1, int_at[2], max_order, new_at, F, delta, ID);
  if (z2 < F[max_order - 1])
    AddSamples(int_at[0], int_at[1], int_at[2] - 1, max_order, new_at, F, delta, ID);
  if (mx2 < F[max_order - 1])
    AddSamples(int_at[0] + 1, int_at[1], int_at[2], max_order, new_at, F, delta, ID);
  if (my2 < F[max_order - 1])
    AddSamples(int_at[0], int_at[1] + 1, int_at[2], max_order, new_at, F, delta, ID);
  if (mz2 < F[max_order - 1])
    AddSamples(int_at[0], int_at[1], int_at[2] + 1, max_order, new_at, F, delta, ID);
  if (x2 + y2 < F[max_order - 1])
    AddSamples(int_at[0] - 1, int_at[1] - 1, int_at[2], max_order, new_at, F, delta, ID);
  if (x2 + z2 < F[max_order - 1])
    AddSamples(int_at[0] - 1, int_at[1], int_at[2] - 1, max_order, new_at, F, delta, ID);
  if (y2 + z2 < F[max_order - 1])
    AddSamples(int_at[0], int_at[1] - 1, int_at[2] - 1, max_order, new_at, F, delta, ID);
  if (mx2 + my2 < F[max_order - 1])
    AddSamples(int_at[0] + 1, int_at[1] + 1, int_at[2], max_order, new_at, F, delta, ID);
  if (mx2 + mz2 < F[max_order - 1])
    AddSamples(int_at[0] + 1, int_at[1], int_at[2] + 1, max_order, new_at, F, delta, ID);
  if (my2 + mz2 < F[max_order - 1])
    AddSamples(int_at[0], int_at[1] + 1, int_at[2] + 1, max_order, new_at, F, delta, ID);
  if (x2 + my2 < F[max_order - 1])
    AddSamples(int_at[0] - 1, int_at[1] + 1, int_at[2], max_order, new_at, F, delta, ID);
  if (x2 + mz2 < F[max_order - 1])
    AddSamples(int_at[0] - 1, int_at[1], int_at[2] + 1, max_order, new_at, F, delta, ID);
  if (y2 + mz2 < F[max_order - 1])
    AddSamples(int_at[0], int_at[1] - 1, int_at[2] + 1, max_order, new_at, F, delta, ID);
  if (mx2 + y2 < F[max_order - 1])
    AddSamples(int_at[0] + 1, int_at[1] - 1, int_at[2], max_order, new_at, F, delta, ID);
  if (mx2 + z2 < F[max_order - 1])
    AddSamples(int_at[0] + 1, int_at[1], int_at[2] - 1, max_order, new_at, F, delta, ID);
  if (my2 + z2 < F[max_order - 1])
    AddSamples(int_at[0], int_at[1] + 1, int_at[2] - 1, max_order, new_at, F, delta, ID);
  if (x2 + y2 + z2 < F[max_order - 1])
    AddSamples(int_at[0] - 1, int_at[1] - 1, int_at[2] - 1, max_order, new_at, F, delta, ID);
  if (x2 + y2 + mz2 < F[max_order - 1])
    AddSamples(int_at[0] - 1, int_at[1] - 1, int_at[2] + 1, max_order, new_at, F, delta, ID);
  if (x2 + my2 + z2 < F[max_order - 1])
    AddSamples(int_at[0] - 1, int_at[1] + 1, int_at[2] - 1, max_order, new_at, F, delta, ID);
  if (x2 + my2 + mz2 < F[max_order - 1])
    AddSamples(int_at[0] - 1, int_at[1] + 1, int_at[2] + 1, max_order, new_at, F, delta, ID);
  if (mx2 + y2 + z2 < F[max_order - 1])
    AddSamples(int_at[0] + 1, int_at[1] - 1, int_at[2] - 1, max_order, new_at, F, delta, ID);
  if (mx2 + y2 + mz2 < F[max_order - 1])
    AddSamples(int_at[0] + 1, int_at[1] - 1, int_at[2] + 1, max_order, new_at, F, delta, ID);
  if (mx2 + my2 + z2 < F[max_order - 1])
    AddSamples(int_at[0] + 1, int_at[1] + 1, int_at[2] - 1, max_order, new_at, F, delta, ID);
  if (mx2 + my2 + mz2 < F[max_order - 1])
    AddSamples(int_at[0] + 1, int_at[1] + 1, int_at[2] + 1, max_order, new_at, F, delta, ID);
  for (i = 0; i < max_order; i++) {
    F[i] = sqrt(F[i]) * (1.0 / 0.398150);
    delta[i][0] *= (1.0 / 0.398150);
    delta[i][1] *= (1.0 / 0.398150);
    delta[i][2] *= (1.0 / 0.398150);
  }
  return;
}
```