user: Converte this assembly snippet into its equivalent C code:

```asm
<getJstet>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xe0,%rsp
  mov    %edi,-0x84(%rbp)
  movsd  %xmm0,-0x90(%rbp)
  movsd  %xmm1,-0x98(%rbp)
  mov    %rsi,-0xa0(%rbp)
  mov    %rdx,-0xa8(%rbp)
  mov    %rcx,-0xb0(%rbp)
  mov    %r8,-0xb8(%rbp)
  mov    %r9,-0xc0(%rbp)
  mov    0x10(%rbp),%rax
  mov    %rax,-0xc8(%rbp)
  mov    0x18(%rbp),%rax
  mov    %rax,-0xd0(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movl   $0x0,-0x70(%rbp)
  movl   $0x0,-0x6c(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movl   $0x0,-0x78(%rbp)
  jmp    L139
L263:
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L288
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L288
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  D50(%rip),%xmm0
  divsd  %xmm1,%xmm0
  movsd  -0x58(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm2
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm2,%xmm1
  divsd  %xmm1,%xmm0
  movsd  -0x60(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
L288:
  addl   $0x1,-0x78(%rbp)
L139:
  mov    -0x78(%rbp),%eax
  cmp    -0x84(%rbp),%eax
  jl     L263
  movsd  -0x60(%rbp),%xmm0
  divsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  mov    -0x84(%rbp),%eax
  add    %eax,%eax
  cltq
  shl    $0x3,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x40(%rbp)
  movl   $0x0,-0x78(%rbp)
  jmp    L389
L226:
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  movsd  D50(%rip),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x78(%rbp)
L389:
  mov    -0x78(%rbp),%eax
  cmp    -0x84(%rbp),%eax
  jl     L226
  mov    -0xb8(%rbp),%rdi
  mov    -0x40(%rbp),%rcx
  mov    -0xb0(%rbp),%rdx
  mov    -0xa8(%rbp),%rsi
  mov    -0x84(%rbp),%eax
  mov    %rdi,%r8
  mov    %eax,%edi
  call   <w_ave@plt>
L209:
  lea    -0x68(%rbp),%rdi
  mov    -0x40(%rbp),%rcx
  mov    -0xb0(%rbp),%rdx
  mov    -0xa8(%rbp),%rsi
  mov    -0x84(%rbp),%eax
  mov    %rdi,%r8
  mov    %eax,%edi
  call   <w_ave@plt>
  mov    -0xb8(%rbp),%rax
  movsd  (%rax),%xmm0
  movsd  -0x68(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  comisd %xmm1,%xmm0
  jbe    L59
  mov    -0xb8(%rbp),%rax
  movsd  (%rax),%xmm0
  movsd  -0x68(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  jmp    L256
L59:
  mov    -0xb8(%rbp),%rax
  movsd  (%rax),%xmm0
  movsd  -0x68(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movq   D15(%rip),%xmm1
  xorpd  %xmm1,%xmm0
L256:
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0x68(%rbp),%xmm0
  mov    -0xb8(%rbp),%rax
  movsd  %xmm0,(%rax)
  movsd  -0x38(%rbp),%xmm0
  comisd D52(%rip),%xmm0
  ja     L209
  mov    -0x40(%rbp),%rax
  mov    %rax,%rdi
  call   <free@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sdl -0x84(%rbp),%xmm0
  mov    -0x84(%rbp),%eax
  sub    $0x1,%eax
  pxor   %xmm1,%xmm1
  cvtsi2sd %eax,%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x84(%rbp),%eax
  add    %eax,%eax
  cltq
  shl    $0x3,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x28(%rbp)
  mov    -0x84(%rbp),%eax
  add    %eax,%eax
  cltq
  shl    $0x3,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x20(%rbp)
  mov    -0x84(%rbp),%eax
  add    %eax,%eax
  cltq
  shl    $0x3,%eax
  mov    %eax,%edi
  call   <malloc@plt>
  mov    %rax,-0x18(%rbp)
  movl   $0x0,-0x74(%rbp)
  jmp    L372
L321:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L194
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L194
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0xb8(%rbp),%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  mulsd  -0x30(%rbp),%xmm0
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  divsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L194:
  addl   $0x1,-0x74(%rbp)
L372:
  mov    -0x74(%rbp),%eax
  cmp    -0x84(%rbp),%eax
  jl     L321
  mov    -0xc8(%rbp),%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  movl   $0x0,-0x74(%rbp)
  jmp    L67
L156:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L24
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L24
  mov    -0xc8(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm2,%xmm2
  comisd %xmm2,%xmm0
  jbe    L81
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  jmp    L292
L81:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D15(%rip),%xmm2
  xorpd  %xmm2,%xmm0
L292:
  addsd  %xmm1,%xmm0
  mov    -0xc8(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  -0x50(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
L24:
  addl   $0x1,-0x74(%rbp)
L67:
  mov    -0x74(%rbp),%eax
  cmp    -0x84(%rbp),%eax
  jl     L156
  mov    -0xc8(%rbp),%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sdl -0x84(%rbp),%xmm1
  divsd  %xmm1,%xmm0
  mov    -0xc8(%rbp),%rax
  movsd  %xmm0,(%rax)
  pxor   %xmm1,%xmm1
  cvtsi2sdl -0x84(%rbp),%xmm1
  movsd  -0x50(%rbp),%xmm0
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movsd  D83(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0xc8(%rbp),%rax
  movsd  (%rax),%xmm0
  divsd  -0x50(%rbp),%xmm0
  mov    -0xc8(%rbp),%rax
  movsd  %xmm0,(%rax)
  movl   $0x0,-0x70(%rbp)
  movl   $0x0,-0x74(%rbp)
  jmp    L186
L261:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L49
  mov    -0x74(%rbp),%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L49
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L49
  mov    -0x74(%rbp),%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  ucomisd %xmm0,%xmm0
  jp     L49
  mov    -0x74(%rbp),%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  comisd %xmm1,%xmm0
  jbe    L74
  mov    -0x74(%rbp),%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  jmp    L171
L74:
  mov    -0x74(%rbp),%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  subsd  %xmm1,%xmm0
  movq   D15(%rip),%xmm1
  xorpd  %xmm1,%xmm0
L171:
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x10(%rbp),%xmm0
  comisd -0x90(%rbp),%xmm0
  jbe    L117
  cmpl   $0x0,-0x70(%rbp)
  jne    L117
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  D50(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movsd  D107(%rip),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x6c(%rbp)
  movl   $0x0,-0x70(%rbp)
L117:
  movsd  -0x10(%rbp),%xmm0
  comisd -0x90(%rbp),%xmm0
  jbe    L20
  cmpl   $0x0,-0x70(%rbp)
  je     L20
  movl   $0x0,-0x70(%rbp)
L20:
  movsd  -0x90(%rbp),%xmm0
  comisd -0x10(%rbp),%xmm0
  jb     L49
  mov    -0x74(%rbp),%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movsd  D50(%rip),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x6c(%rbp)
  movl   $0x1,-0x70(%rbp)
L49:
  addl   $0x1,-0x74(%rbp)
L186:
  mov    -0x84(%rbp),%eax
  sub    $0x1,%eax
  cmp    %eax,-0x74(%rbp)
  jl     L261
  cmpl   $0x0,-0x70(%rbp)
  jne    L46
  mov    -0x84(%rbp),%eax
  cltq
  shl    $0x3,%rax
  lea    -0x8(%rax),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  cltq
  shl    $0x3,%rax
  lea    -0x8(%rax),%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  D50(%rip),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x6c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movsd  D107(%rip),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x6c(%rbp)
L46:
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0xc0(%rbp),%rax
  pxor   %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  movl   $0x0,-0x74(%rbp)
  jmp    L129
L178:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm2,%xmm2
  comisd %xmm2,%xmm0
  jbe    L79
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  jmp    L311
L79:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D15(%rip),%xmm2
  xorpd  %xmm2,%xmm0
L311:
  divsd  %xmm0,%xmm1
  movsd  %xmm1,-0xd8(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  pxor   %xmm1,%xmm1
  comisd %xmm1,%xmm0
  jbe    L230
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  mov    (%rax),%rax
  jmp    L342
L230:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movq   D15(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movq   %xmm0,%rax
L342:
  movq   %rax,%xmm0
  call   <sqrt@plt>
  mulsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0xc0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0xc0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  movsd  -0x48(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  addl   $0x1,-0x74(%rbp)
L129:
  mov    -0x74(%rbp),%eax
  cmp    -0x6c(%rbp),%eax
  jl     L178
  mov    -0xc0(%rbp),%rax
  movsd  (%rax),%xmm0
  divsd  -0x48(%rbp),%xmm0
  mov    -0xc0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0xc0(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0xc8(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  -0x48(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  mov    -0xd0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0xc0(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  mov    -0xc0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x28(%rbp),%rax
  mov    %rax,%rdi
  call   <free@plt>
  mov    -0x20(%rbp),%rax
  mov    %rax,%rdi
  call   <free@plt>
  mov    -0x18(%rbp),%rax
  mov    %rax,%rdi
  call   <free@plt>
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L17
  call   <__stack_chk_fail@plt>
L17:
  leave
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D50
type_guessed: f64
name: disassemble_data
arguments: data_tag: D15
type_guessed: f32[2]
name: disassemble_data
arguments: data_tag: D52
type_guessed: f64[2]
name: disassemble_data
arguments: data_tag: D83
type_guessed: f64
name: disassemble_data
arguments: data_tag: D107
type_guessed: f64

tool: D50: 1

tool: {"D15": [0.0,-0.0]}

tool: {"D52": [0.00001,0.798]}

tool: D83: 0.798

tool: D107: 0.1

assistant: ```c
void getJstet(int ngood, double tmin, double wkmax, double *time, double *mag, double *sig, double *wtave, double *jst, double *kur, double *lst) {
  int i, j, flag = 0, npair = 0;
  double dt, wave = 0.0, sigma = 0.0, *ws, wtave1, delta, *delt, *pk, *wk, dumval, s = 0.0, weight;
  for (i = 0; i < ngood; i++) {
    if (!isnan(mag[i]) && !isnan(sig[i])) {
      sigma += 1.0 / (sig[i] * sig[i]);
      wave += mag[i] / (sig[i] * sig[i]);
    }
  }
  wave /= sigma;
  ws = (double *)malloc(2 * ngood * sizeof(double));
  for (i = 0; i < ngood; i++)
    ws[i] = 1.0;
  w_ave(ngood, mag, sig, ws, wtave);
  do {
    w_ave(ngood, mag, sig, ws, &wtave1);
    delta = ((*wtave - wtave1) > 0 ? (*wtave - wtave1) : -(*wtave - wtave1));
    *wtave = wtave1;
  } while (delta > 0.00001);
  free(ws);
  dumval = sqrt((double)ngood / (double)(ngood - 1));
  delt = (double *)malloc(2 * ngood * sizeof(double));
  pk = (double *)malloc(2 * ngood * sizeof(double));
  wk = (double *)malloc(2 * ngood * sizeof(double));
  for (j = 0; j < ngood; j++)
    if (!isnan(mag[j]) && !isnan(sig[j]))
      delt[j] = dumval * (mag[j] - *wtave) / sig[j];
  *kur = 0.0;
  for (j = 0; j < ngood; j++) {
    if (!isnan(mag[j]) && !isnan(sig[j])) {
      *kur += ((delt[j]) > 0 ? (delt[j]) : -(delt[j]));
      s += (delt[j] * delt[j]);
    }
  }
  *kur /= (double)ngood;
  s = 0.798 * sqrt(s / (double)ngood);
  *kur /= s;
  flag = 0;
  for (j = 0; j < ngood - 1; j++) {
    if (!isnan(mag[j]) && !isnan(mag[j + 1]) && !isnan(sig[j]) && !isnan(sig[j + 1])) {
      dt = ((time[j + 1] - time[j]) > 0 ? (time[j + 1] - time[j]) : -(time[j + 1] - time[j]));
      if (dt > tmin && !flag) {
        pk[npair] = (delt[j] * delt[j]) - 1.0;
        wk[npair] = 0.1;
        npair++;
        flag = 0;
      }
      if (dt > tmin && flag)
        flag = 0;
      if (dt <= tmin) {
        pk[npair] = delt[j + 1] * delt[j];
        wk[npair] = 1.0;
        npair++;
        flag = 1;
      }
    }
  }
  if (!flag) {
    pk[npair] = (delt[ngood - 1] * delt[ngood - 1]) - 1.0;
    wk[npair] = 0.1;
    npair++;
  }
  weight = 0.0;
  *jst = 0.0;
  for (j = 0; j < npair; j++) {
    s = pk[j] / ((pk[j]) > 0 ? (pk[j]) : -(pk[j])) * sqrt(((pk[j]) > 0 ? (pk[j]) : -(pk[j])));
    *jst += wk[j] * s;
    weight += wk[j];
  }
  *jst /= weight;
  *lst = (*jst) * (*kur) * weight / wkmax;
  *jst = (*jst) * weight / wkmax;
  free(delt);
  free(pk);
  free(wk);
}
```