// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/fourier.c
// Function: fourier_pk_analytic_nowiggle
int fourier_pk_analytic_nowiggle(
                                 struct precision *ppr,
                                 struct background *pba,
                                 struct primordial * ppm,
                                 struct fourier *pfo
                                 ) {

  /* Eisenstein & Hu, implemented exactly like in HMcode, except
     for contribution of primodial spectrum (amplitude, tilt), now
     more accurate */
  class_call(hmcode_eisenstein_hu(ppr,
                                  pba,
                                  ppm,
                                  pfo,
                                  pfo->ln_k,
                                  pfo->k_size_extra,
                                  pfo->ln_pk_l_an_extra),
             pfo->error_message,
             pfo->error_message);

  class_call(array_spline_table_lines(pfo->ln_k,
                                      pfo->k_size_extra,
                                      pfo->ln_pk_l_an_extra,
                                      1,
                                      pfo->ddln_pk_l_an_extra,
                                      _SPLINE_NATURAL_,
                                      pfo->error_message),
             pfo->error_message,
             pfo->error_message);

  return _SUCCESS_;
}

// Assembly:
subq $0x1038, %rsp           # imm = 0x1038
movq %rdi, 0x1028(%rsp)
movq %rsi, 0x1020(%rsp)
movq %rdx, 0x1018(%rsp)
movq %rcx, 0x1010(%rsp)
movq 0x1028(%rsp), %rdi
movq 0x1020(%rsp), %rsi
movq 0x1018(%rsp), %rdx
movq 0x1010(%rsp), %rcx
movq 0x1010(%rsp), %rax
movq 0x80(%rax), %r8
movq 0x1010(%rsp), %rax
movl 0x104(%rax), %r9d
movq 0x1010(%rsp), %rax
movq 0x118(%rax), %rax
movq %rax, (%rsp)
callq 0x1c1420
cmpl $0x1, %eax
jne 0x12e1ff
leaq 0x810(%rsp), %rdi
movq 0x1010(%rsp), %rcx
addq $0x192, %rcx            # imm = 0x192
leaq 0xa4228(%rip), %rsi     # 0x1d23d8
leaq 0xd40af(%rip), %rdx     # 0x202266
movb $0x0, %al
callq 0x5b9c0
movq 0x1010(%rsp), %rdi
addq $0x192, %rdi            # imm = 0x192
leaq 0x810(%rsp), %r8
leaq 0xa3e58(%rip), %rsi     # 0x1d2034
leaq 0xd40e1(%rip), %rdx     # 0x2022c4
movl $0xa20, %ecx            # imm = 0xA20
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1034(%rsp)
jmp 0x12e2cd
movq 0x1010(%rsp), %rax
movq 0x80(%rax), %rdi
movq 0x1010(%rsp), %rax
movl 0x104(%rax), %esi
movq 0x1010(%rsp), %rax
movq 0x118(%rax), %rdx
movq 0x1010(%rsp), %rax
movq 0x120(%rax), %r8
movq 0x1010(%rsp), %rax
addq $0x192, %rax            # imm = 0x192
movl $0x1, %ecx
xorl %r9d, %r9d
movq %rax, (%rsp)
callq 0x1cf90
cmpl $0x1, %eax
jne 0x12e2c2
leaq 0x10(%rsp), %rdi
movq 0x1010(%rsp), %rcx
addq $0x192, %rcx            # imm = 0x192
leaq 0xa415f(%rip), %rsi     # 0x1d23d8
leaq 0xd4061(%rip), %rdx     # 0x2022e1
movb $0x0, %al
callq 0x5b9c0
movq 0x1010(%rsp), %rdi
addq $0x192, %rdi            # imm = 0x192
leaq 0x10(%rsp), %r8
leaq 0xa3d92(%rip), %rsi     # 0x1d2034
leaq 0xd401b(%rip), %rdx     # 0x2022c4
movl $0xa2a, %ecx            # imm = 0xA2A
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x1034(%rsp)
jmp 0x12e2cd
movl $0x0, 0x1034(%rsp)
movl 0x1034(%rsp), %eax
addq $0x1038, %rsp           # imm = 0x1038
retq
nopl (%rax)