// File: /workspace/github_c_makefile_star2_O0/ugobas[P]tnm/anharmonic_tnm.c
// Function: Compute_V2
float Compute_V2(struct interaction *Int, float r, int no_min)
{
  if(Int==NULL)return(0);
  double V=0, f, f1;
  if(r<=Int->r1){
    if(POW){f=pow(r,-lambda); f1=lambda*f/r;}
    else{f=exp(-lambda*r); f1=lambda*f;}
    V=2.0*Int->A2+12.0*Int->A4*f*f;
    V*=(f1*f1);
    if(no_min){
      double f2=f;
      if(POW){f2*=lambda*lambda;}else{f2*=lambda*(lambda+1)/(r*r);}
      V+=(Int->A1+2*Int->A2*f+4*Int->A4*f*f*f)*f2;
    }
  }else if(r<=Int->r2){
    double d=(r-Int->r2), d2=d*d;
    V=2*Int->a2+6*Int->a3*d+12*Int->a4*d2+20*Int->a5*d2*d;
  }else if(r<=Int->r3){
    if(POW){f=pow(r,-lambda); f1=lambda*f/r;}
    else{f=exp(-lambda*r); f1=lambda*f;}
    if(Int->B2)V+=2.0*Int->B2;
    if(Int->B4)V+=12.0*Int->B4*f*f;
    V*=(f1*f1);
    if(no_min){
      double f2=f;
      if(POW){f2*=lambda*lambda;}else{f2*=lambda*(lambda+1)/(r*r);}
      V+=(Int->B1+2*Int->B2*f+4*Int->B4*f*f*f)*f2;
    }
  }else if(r< C_THR){
    // Final interpolation region
    double d=(r-C_THR), d2=d*d;
    V=6*Int->b3*d+12*Int->b4*d2+20*Int->b5*d2*d;
  }
  return(V);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movq %rdi, -0x10(%rbp)
movss %xmm0, -0x14(%rbp)
movl %esi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x28b18
xorps %xmm0, %xmm0
movss %xmm0, -0x4(%rbp)
jmp 0x290bc
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
movss -0x14(%rbp), %xmm1
movq -0x10(%rbp), %rax
movss 0x10(%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x28d12
leaq 0x62a6e(%rip), %rax     # 0x8b5ac
cmpl $0x0, (%rax)
je 0x28b9a
movss -0x14(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x63541(%rip), %rax     # 0x8c094
movss (%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
cvtss2sd %xmm1, %xmm1
callq 0x1080
movsd %xmm0, -0x28(%rbp)
leaq 0x6351b(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x28(%rbp), %xmm0
movss -0x14(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
jmp 0x28bde
leaq 0x634f3(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss -0x14(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x1230
movsd %xmm0, -0x28(%rbp)
leaq 0x634c8(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
movq -0x10(%rbp), %rax
movsd 0x40(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd 0x53855(%rip), %xmm1    # 0x7c448
mulsd 0x48(%rax), %xmm1
mulsd -0x28(%rbp), %xmm1
mulsd -0x28(%rbp), %xmm1
addsd %xmm0, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x30(%rbp), %xmm0
mulsd -0x30(%rbp), %xmm0
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x28d0d
movsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
leaq 0x6296e(%rip), %rax     # 0x8b5ac
cmpl $0x0, (%rax)
je 0x28c69
leaq 0x6344a(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
leaq 0x6343f(%rip), %rax     # 0x8c094
mulss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
jmp 0x28ca7
leaq 0x63424(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
movss 0x4d414(%rip), %xmm1    # 0x76090
leaq 0x63411(%rip), %rax     # 0x8c094
addss (%rax), %xmm1
mulss %xmm1, %xmm0
movss -0x14(%rbp), %xmm1
mulss -0x14(%rbp), %xmm1
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movq -0x10(%rbp), %rax
movsd 0x38(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd 0x4d39c(%rip), %xmm1    # 0x76058
mulsd 0x40(%rax), %xmm1
movsd -0x28(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x10(%rbp), %rax
movsd 0x5334e(%rip), %xmm0    # 0x7c028
mulsd 0x48(%rax), %xmm0
mulsd -0x28(%rbp), %xmm0
mulsd -0x28(%rbp), %xmm0
movsd -0x28(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x38(%rbp), %xmm2
movsd -0x20(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x290ae
movss -0x14(%rbp), %xmm1
movq -0x10(%rbp), %rax
movss 0x14(%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x28dcd
movss -0x14(%rbp), %xmm0
movq -0x10(%rbp), %rax
subss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x40(%rbp), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x48(%rbp)
movq -0x10(%rbp), %rax
movsd 0x80(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd 0x536e9(%rip), %xmm1    # 0x7c450
mulsd 0x88(%rax), %xmm1
mulsd -0x40(%rbp), %xmm1
addsd %xmm0, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movsd 0x536c0(%rip), %xmm1    # 0x7c448
mulsd 0x90(%rax), %xmm1
movsd -0x48(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x10(%rbp), %rax
movsd 0x53697(%rip), %xmm0    # 0x7c440
mulsd 0x98(%rax), %xmm0
mulsd -0x48(%rbp), %xmm0
movsd -0x40(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x290ac
movss -0x14(%rbp), %xmm1
movq -0x10(%rbp), %rax
movss 0x18(%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x29002
leaq 0x627c1(%rip), %rax     # 0x8b5ac
cmpl $0x0, (%rax)
je 0x28e47
movss -0x14(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x63294(%rip), %rax     # 0x8c094
movss (%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
cvtss2sd %xmm1, %xmm1
callq 0x1080
movsd %xmm0, -0x28(%rbp)
leaq 0x6326e(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x28(%rbp), %xmm0
movss -0x14(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
divsd %xmm1, %xmm0
movsd %xmm0, -0x30(%rbp)
jmp 0x28e8b
leaq 0x63246(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
mulss -0x14(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x1230
movsd %xmm0, -0x28(%rbp)
leaq 0x6321b(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
movq -0x10(%rbp), %rax
movsd 0x60(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x28ea1
jp 0x28ea1
jmp 0x28ebc
movq -0x10(%rbp), %rax
movsd 0x60(%rax), %xmm0
movsd -0x20(%rbp), %xmm1
addsd %xmm0, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movsd 0x68(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x28ed2
jp 0x28ed2
jmp 0x28eff
movq -0x10(%rbp), %rax
movsd 0x5356a(%rip), %xmm0    # 0x7c448
mulsd 0x68(%rax), %xmm0
mulsd -0x28(%rbp), %xmm0
movsd -0x28(%rbp), %xmm2
movsd -0x20(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x30(%rbp), %xmm0
mulsd -0x30(%rbp), %xmm0
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x28ffd
movsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
leaq 0x6267e(%rip), %rax     # 0x8b5ac
cmpl $0x0, (%rax)
je 0x28f59
leaq 0x6315a(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
leaq 0x6314f(%rip), %rax     # 0x8c094
mulss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
jmp 0x28f97
leaq 0x63134(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
movss 0x4d124(%rip), %xmm1    # 0x76090
leaq 0x63121(%rip), %rax     # 0x8c094
addss (%rax), %xmm1
mulss %xmm1, %xmm0
movss -0x14(%rbp), %xmm1
mulss -0x14(%rbp), %xmm1
divss %xmm1, %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x50(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movq -0x10(%rbp), %rax
movsd 0x58(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd 0x4d0ac(%rip), %xmm1    # 0x76058
mulsd 0x60(%rax), %xmm1
movsd -0x28(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x10(%rbp), %rax
movsd 0x5305e(%rip), %xmm0    # 0x7c028
mulsd 0x68(%rax), %xmm0
mulsd -0x28(%rbp), %xmm0
mulsd -0x28(%rbp), %xmm0
movsd -0x28(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd -0x50(%rbp), %xmm2
movsd -0x20(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x290aa
movss -0x14(%rbp), %xmm1
leaq 0x6301a(%rip), %rax     # 0x8c028
movss (%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x290a8
movss -0x14(%rbp), %xmm0
leaq 0x63001(%rip), %rax     # 0x8c028
subss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x58(%rbp)
movsd -0x58(%rbp), %xmm0
mulsd -0x58(%rbp), %xmm0
movsd %xmm0, -0x60(%rbp)
movq -0x10(%rbp), %rax
movsd 0x53401(%rip), %xmm1    # 0x7c450
mulsd 0xa0(%rax), %xmm1
movsd -0x58(%rbp), %xmm2
movq -0x10(%rbp), %rax
movsd 0x533e0(%rip), %xmm0    # 0x7c448
mulsd 0xa8(%rax), %xmm0
mulsd -0x60(%rbp), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x10(%rbp), %rax
movsd 0x533b7(%rip), %xmm0    # 0x7c440
mulsd 0xb0(%rax), %xmm0
mulsd -0x60(%rbp), %xmm0
movsd -0x58(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x290aa
jmp 0x290ac
jmp 0x290ae
movsd -0x20(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x4(%rbp)
movss -0x4(%rbp), %xmm0
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)