// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/harmonic.c
// Function: harmonic_fast_pk_at_kvec_and_zvec
int harmonic_fast_pk_at_kvec_and_zvec(
                                      struct background * pba,
                                      struct harmonic * phr,
                                      double * kvec,
                                      int kvec_size,
                                      double * zvec,
                                      int zvec_size,
                                      double * pk_tot_out, // pk_tot_out[index_zvec*kvec_size+index_kvec],
                                                           // already allocated
                                                           //(or NULL if user knows there is no _m output)
                                      double * pk_cb_tot_out, // idem
                                      int nonlinear
                                      ) {
  enum pk_outputs pk_output;

  fprintf(stderr," -> [WARNING:] You are calling the function harmonic_fast_pks_at_kvec_and_zvec() which is deprecated since v2.8. It will soon be removed. Use fourier_pk_at_kvec_and_zvec() instead.\n");

  if (nonlinear == _TRUE_)
    pk_output = pk_nonlinear;
  else
    pk_output = pk_linear;

  class_call(fourier_pks_at_kvec_and_zvec(
                                          pba,
                                          phr->pfo,
                                          pk_output,
                                          kvec,
                                          kvec_size,
                                          zvec,
                                          zvec_size,
                                          pk_tot_out,
                                          pk_cb_tot_out),
             phr->pfo->error_message,
             phr->error_message);

  return _SUCCESS_;
}

// Assembly:
subq $0x858, %rsp            # imm = 0x858
movl 0x870(%rsp), %eax
movq 0x868(%rsp), %rax
movq 0x860(%rsp), %rax
movq %rdi, 0x848(%rsp)
movq %rsi, 0x840(%rsp)
movq %rdx, 0x838(%rsp)
movl %ecx, 0x834(%rsp)
movq %r8, 0x828(%rsp)
movl %r9d, 0x824(%rsp)
movq 0xf152c(%rip), %rax     # 0x243fd0
movq (%rax), %rdi
leaq 0xb3c45(%rip), %rsi     # 0x2066f3
movb $0x0, %al
callq 0x84e0
cmpl $0x1, 0x870(%rsp)
jne 0x152acc
movl $0x1, 0x820(%rsp)
jmp 0x152ad7
movl $0x0, 0x820(%rsp)
movq 0x848(%rsp), %rdi
movq 0x840(%rsp), %rax
movq 0xe0(%rax), %rsi
movl 0x820(%rsp), %edx
movq 0x838(%rsp), %rcx
movl 0x834(%rsp), %r8d
movq 0x828(%rsp), %r9
movl 0x824(%rsp), %r11d
movq 0x860(%rsp), %r10
movq 0x868(%rsp), %rax
movl %r11d, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x126720
cmpl $0x1, %eax
jne 0x152ba8
leaq 0x20(%rsp), %rdi
movq 0x840(%rsp), %rax
movq 0xe0(%rax), %rcx
addq $0x192, %rcx            # imm = 0x192
leaq 0x7f879(%rip), %rsi     # 0x1d23d8
leaq 0xb3c43(%rip), %rdx     # 0x2067a9
movb $0x0, %al
callq 0x5b9c0
movq 0x840(%rsp), %rdi
addq $0xea, %rdi
leaq 0x20(%rsp), %r8
leaq 0x7f4ac(%rip), %rsi     # 0x1d2034
leaq 0xb3c8f(%rip), %rdx     # 0x20681e
movl $0x632, %ecx            # imm = 0x632
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x854(%rsp)
jmp 0x152bb3
movl $0x0, 0x854(%rsp)
movl 0x854(%rsp), %eax
addq $0x858, %rsp            # imm = 0x858
retq
nopw %cs:(%rax,%rax)