// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/primordial.c
// Function: primordial_inflation_hubble
int primordial_inflation_hubble(
                                struct primordial * ppm,
                                double phi,
                                double * H,
                                double * dH,
                                double * ddH,
                                double * dddH
                                ) {

  *H =    ppm->H0 + phi*ppm->H1 + pow(phi,2)/2.*ppm->H2 + pow(phi,3)/6.*ppm->H3 + pow(phi,4)/24.*ppm->H4;
  *dH =   ppm->H1 + phi*ppm->H2 + pow(phi,2)/2.*ppm->H3 + pow(phi,3)/6.*ppm->H4;
  *ddH =  ppm->H2 + phi*ppm->H3 + pow(phi,2)/2.*ppm->H4;
  *dddH = ppm->H3 + phi*ppm->H4;

  return _SUCCESS_;

}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x60(%rsp)
movsd %xmm0, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq %rdx, 0x48(%rsp)
movq %rcx, 0x40(%rsp)
movq %r8, 0x38(%rsp)
movq 0x60(%rsp), %rax
movsd 0x1d8(%rax), %xmm1
movsd 0x58(%rsp), %xmm0
movq 0x60(%rsp), %rax
movsd 0x1e0(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x8(%rsp)
movsd 0x58(%rsp), %xmm0
movl $0x2, %edi
callq 0x5b970
movsd 0x8(%rsp), %xmm1
movsd 0xb96f1(%rip), %xmm2    # 0x1d2c80
divsd %xmm2, %xmm0
movq 0x60(%rsp), %rax
movsd 0x1e8(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x10(%rsp)
movsd 0x58(%rsp), %xmm0
movl $0x3, %edi
callq 0x5b970
movsd 0x10(%rsp), %xmm1
movsd 0xba0bc(%rip), %xmm2    # 0x1d3688
divsd %xmm2, %xmm0
movq 0x60(%rsp), %rax
movsd 0x1f0(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x18(%rsp)
movsd 0x58(%rsp), %xmm0
movl $0x4, %edi
callq 0x5b970
movsd 0x18(%rsp), %xmm1
movsd 0xba087(%rip), %xmm2    # 0x1d3690
divsd %xmm2, %xmm0
movq 0x60(%rsp), %rax
movsd 0x1f8(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x50(%rsp), %rax
movsd %xmm0, (%rax)
movq 0x60(%rsp), %rax
movsd 0x1e0(%rax), %xmm1
movsd 0x58(%rsp), %xmm0
movq 0x60(%rsp), %rax
movsd 0x1e8(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x20(%rsp)
movsd 0x58(%rsp), %xmm0
movl $0x2, %edi
callq 0x5b970
movsd 0x20(%rsp), %xmm1
movsd 0xb9609(%rip), %xmm2    # 0x1d2c80
divsd %xmm2, %xmm0
movq 0x60(%rsp), %rax
movsd 0x1f0(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x28(%rsp)
movsd 0x58(%rsp), %xmm0
movl $0x3, %edi
callq 0x5b970
movsd 0x28(%rsp), %xmm1
movsd 0xb9fd4(%rip), %xmm2    # 0x1d3688
divsd %xmm2, %xmm0
movq 0x60(%rsp), %rax
movsd 0x1f8(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x48(%rsp), %rax
movsd %xmm0, (%rax)
movq 0x60(%rsp), %rax
movsd 0x1e8(%rax), %xmm1
movsd 0x58(%rsp), %xmm0
movq 0x60(%rsp), %rax
movsd 0x1f0(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, 0x30(%rsp)
movsd 0x58(%rsp), %xmm0
movl $0x2, %edi
callq 0x5b970
movsd 0x30(%rsp), %xmm1
movsd 0xb955e(%rip), %xmm2    # 0x1d2c80
divsd %xmm2, %xmm0
movq 0x60(%rsp), %rax
movsd 0x1f8(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x40(%rsp), %rax
movsd %xmm0, (%rax)
movq 0x60(%rsp), %rax
movsd 0x1f0(%rax), %xmm1
movsd 0x58(%rsp), %xmm0
movq 0x60(%rsp), %rax
movsd 0x1f8(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq 0x38(%rsp), %rax
movsd %xmm0, (%rax)
xorl %eax, %eax
addq $0x68, %rsp
retq
nopl (%rax)