// File: /workspace/github_c_makefile_star2_O0/PoulinV[P]AxiCLASS/build/../source/primordial.c
// Function: primordial_inflation_get_epsilon
int primordial_inflation_get_epsilon(
                                     struct primordial * ppm,
                                     double phi,
                                     double * epsilon
                                     ) {

  double V,dV,ddV;
  double H,dH,ddH,dddH;

  switch (ppm->primordial_spec_type) {

  case inflation_V:
  case inflation_V_end:

    class_call(primordial_inflation_potential(ppm,
                                              phi,
                                              &V,&dV,&ddV),
               ppm->error_message,
               ppm->error_message);

    *epsilon = 1./16./_PI_*pow(dV/V,2);
    //*eta = 1./8./pi*(ddV/V)
    break;

  case inflation_H:

    class_call(primordial_inflation_hubble(ppm,
                                           phi,
                                           &H,&dH,&ddH,&dddH),
               ppm->error_message,
               ppm->error_message);

    *epsilon = 1./4./_PI_*pow(dH/H,2);
    break;

  default:
    class_stop(ppm->error_message,"ppm->primordial_spec_type=%d different from possible relevant cases",ppm->primordial_spec_type);
    break;
  }

  return _SUCCESS_;
}

// Assembly:
subq $0x2068, %rsp           # imm = 0x2068
movq %rdi, 0x2058(%rsp)
movsd %xmm0, 0x2050(%rsp)
movq %rsi, 0x2048(%rsp)
movq 0x2058(%rsp), %rax
movl 0x18(%rax), %eax
movl %eax, 0xc(%rsp)
subl $0x2, %eax
je 0x120934
jmp 0x120916
movl 0xc(%rsp), %eax
subl $0x3, %eax
je 0x120a10
jmp 0x120925
movl 0xc(%rsp), %eax
subl $0x4, %eax
jne 0x120af1
jmp 0x120934
movq 0x2058(%rsp), %rdi
movsd 0x2050(%rsp), %xmm0
leaq 0x2040(%rsp), %rsi
leaq 0x2038(%rsp), %rdx
leaq 0x2030(%rsp), %rcx
callq 0x1189b0
cmpl $0x1, %eax
jne 0x1209d4
leaq 0x1810(%rsp), %rdi
movq 0x2058(%rsp), %rcx
addq $0x32a, %rcx            # imm = 0x32A
leaq 0xb1a53(%rip), %rsi     # 0x1d23d8
leaq 0xddefa(%rip), %rdx     # 0x1fe886
movb $0x0, %al
callq 0x5b9c0
movq 0x2058(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x1810(%rsp), %r8
leaq 0xb1683(%rip), %rsi     # 0x1d2034
leaq 0xddf04(%rip), %rdx     # 0x1fe8bc
movl $0x9c5, %ecx            # imm = 0x9C5
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x2064(%rsp)
jmp 0x120b73
movsd 0x2038(%rsp), %xmm0
divsd 0x2040(%rsp), %xmm0
movl $0x2, %edi
callq 0x5b970
movaps %xmm0, %xmm1
movsd 0xdba35(%rip), %xmm0    # 0x1fc430
mulsd %xmm1, %xmm0
movq 0x2048(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0x120b68
movq 0x2058(%rsp), %rdi
movsd 0x2050(%rsp), %xmm0
leaq 0x2028(%rsp), %rsi
leaq 0x2020(%rsp), %rdx
leaq 0x2018(%rsp), %rcx
leaq 0x2010(%rsp), %r8
callq 0x119520
cmpl $0x1, %eax
jne 0x120ab8
leaq 0x1010(%rsp), %rdi
movq 0x2058(%rsp), %rcx
addq $0x32a, %rcx            # imm = 0x32A
leaq 0xb196f(%rip), %rsi     # 0x1d23d8
leaq 0xdde6d(%rip), %rdx     # 0x1fe8dd
movb $0x0, %al
callq 0x5b9c0
movq 0x2058(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x1010(%rsp), %r8
leaq 0xb159f(%rip), %rsi     # 0x1d2034
leaq 0xdde20(%rip), %rdx     # 0x1fe8bc
movl $0x9d1, %ecx            # imm = 0x9D1
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x2064(%rsp)
jmp 0x120b73
movsd 0x2020(%rsp), %xmm0
divsd 0x2028(%rsp), %xmm0
movl $0x2, %edi
callq 0x5b970
movaps %xmm0, %xmm1
movsd 0xdb901(%rip), %xmm0    # 0x1fc3e0
mulsd %xmm1, %xmm0
movq 0x2048(%rsp), %rax
movsd %xmm0, (%rax)
jmp 0x120b68
leaq 0x810(%rsp), %rdi
movq 0x2058(%rsp), %rax
movl 0x18(%rax), %edx
leaq 0xdccf1(%rip), %rsi     # 0x1fd7fc
movb $0x0, %al
callq 0x5b9c0
leaq 0x10(%rsp), %rdi
leaq 0x810(%rsp), %rdx
leaq 0xb1a47(%rip), %rsi     # 0x1d256d
movb $0x0, %al
callq 0x5b9c0
movq 0x2058(%rsp), %rdi
addq $0x32a, %rdi            # imm = 0x32A
leaq 0x10(%rsp), %r8
leaq 0xb14ec(%rip), %rsi     # 0x1d2034
leaq 0xddd6d(%rip), %rdx     # 0x1fe8bc
movl $0x9d7, %ecx            # imm = 0x9D7
movb $0x0, %al
callq 0x5b9c0
movl $0x1, 0x2064(%rsp)
jmp 0x120b73
movl $0x0, 0x2064(%rsp)
movl 0x2064(%rsp), %eax
addq $0x2068, %rsp           # imm = 0x2068
retq
nopw %cs:(%rax,%rax)