// File: /workspace/github_c_makefile_star2_O0/ugobas[P]tnm/anharmonic_tnm.c
// Function: Compute_V1
float Compute_V1(struct interaction *Int, float r)
{
  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;}
    if(Int->A1)V+=Int->A1; 
    if(Int->A2)V+=2.0*Int->A2*f;
    if(Int->A4)V+=4.0*Int->A4*f*f*f;
    V*=-f1;
  }else if(r<=Int->r2){
    double d=(r-Int->r2), d2=d*d;
    V=Int->a1+2*Int->a2*d+3*Int->a3*d2+4*Int->a4*d2*d+5*Int->a5*d2*d2;
  }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->B1)V+=Int->B1; 
    if(Int->B2)V+=2*Int->B2*f;
    if(Int->B4)V+=4*Int->B4*f*f*f;
    V*=-f1;
  }else if(r<C_THR){
    // Final interpolation region
    double d=(r-C_THR), d2=d*d;
    V=3*Int->b3*d2+4*Int->b4*d2*d+5*Int->b5*d2*d2;
  }
  return(V);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movss %xmm0, -0x14(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x28605
xorps %xmm0, %xmm0
movss %xmm0, -0x4(%rbp)
jmp 0x28ada
xorps %xmm0, %xmm0
movsd %xmm0, -0x20(%rbp)
movss -0x14(%rbp), %xmm1
movq -0x10(%rbp), %rax
movss 0x10(%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x287a5
leaq 0x62f81(%rip), %rax     # 0x8b5ac
cmpl $0x0, (%rax)
je 0x28687
movss -0x14(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x63a54(%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 0x63a2e(%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 0x286cb
leaq 0x63a06(%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 0x639db(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
movq -0x10(%rbp), %rax
movsd 0x38(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x286e1
jp 0x286e1
jmp 0x286f4
movq -0x10(%rbp), %rax
movsd 0x38(%rax), %xmm0
addsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movsd 0x40(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x2870a
jp 0x2870a
jmp 0x28732
movq -0x10(%rbp), %rax
movsd 0x4d942(%rip), %xmm0    # 0x76058
mulsd 0x40(%rax), %xmm0
movsd -0x28(%rbp), %xmm2
movsd -0x20(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movsd 0x48(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x28748
jp 0x28748
jmp 0x2877a
movq -0x10(%rbp), %rax
movsd 0x538d4(%rip), %xmm0    # 0x7c028
mulsd 0x48(%rax), %xmm0
mulsd -0x28(%rbp), %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
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x28acc
movss -0x14(%rbp), %xmm1
movq -0x10(%rbp), %rax
movss 0x14(%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x28883
movss -0x14(%rbp), %xmm0
movq -0x10(%rbp), %rax
subss 0x14(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x38(%rbp), %xmm0
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movq -0x10(%rbp), %rax
movsd 0x78(%rax), %xmm0
movq -0x10(%rbp), %rax
movsd 0x4d861(%rip), %xmm1    # 0x76058
mulsd 0x80(%rax), %xmm1
movsd -0x38(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x10(%rbp), %rax
movsd 0x53c20(%rip), %xmm0    # 0x7c438
mulsd 0x88(%rax), %xmm0
movsd -0x40(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq -0x10(%rbp), %rax
movsd 0x537ef(%rip), %xmm1    # 0x7c028
mulsd 0x90(%rax), %xmm1
mulsd -0x40(%rbp), %xmm1
movsd -0x38(%rbp), %xmm2
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x10(%rbp), %rax
movsd 0x53bd1(%rip), %xmm0    # 0x7c430
mulsd 0x98(%rax), %xmm0
mulsd -0x40(%rbp), %xmm0
movsd -0x40(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x28aca
movss -0x14(%rbp), %xmm1
movq -0x10(%rbp), %rax
movss 0x18(%rax), %xmm0
ucomiss %xmm1, %xmm0
jb 0x28a1b
leaq 0x62d0b(%rip), %rax     # 0x8b5ac
cmpl $0x0, (%rax)
je 0x288fd
movss -0x14(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
leaq 0x637de(%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 0x637b8(%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 0x28941
leaq 0x63790(%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 0x63765(%rip), %rax     # 0x8c094
movss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
mulsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
movq -0x10(%rbp), %rax
movsd 0x58(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x28957
jp 0x28957
jmp 0x2896a
movq -0x10(%rbp), %rax
movsd 0x58(%rax), %xmm0
addsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movsd 0x60(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x28980
jp 0x28980
jmp 0x289a8
movq -0x10(%rbp), %rax
movsd 0x4d6cc(%rip), %xmm0    # 0x76058
mulsd 0x60(%rax), %xmm0
movsd -0x28(%rbp), %xmm2
movsd -0x20(%rbp), %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
movq -0x10(%rbp), %rax
movsd 0x68(%rax), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x289be
jp 0x289be
jmp 0x289f0
movq -0x10(%rbp), %rax
movsd 0x5365e(%rip), %xmm0    # 0x7c028
mulsd 0x68(%rax), %xmm0
mulsd -0x28(%rbp), %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
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
mulsd -0x20(%rbp), %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x28ac8
movss -0x14(%rbp), %xmm1
leaq 0x63601(%rip), %rax     # 0x8c028
movss (%rax), %xmm0
ucomiss %xmm1, %xmm0
jbe 0x28ac6
movss -0x14(%rbp), %xmm0
leaq 0x635e8(%rip), %rax     # 0x8c028
subss (%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd %xmm0, -0x48(%rbp)
movsd -0x48(%rbp), %xmm0
mulsd -0x48(%rbp), %xmm0
movsd %xmm0, -0x50(%rbp)
movq -0x10(%rbp), %rax
movsd 0x539d0(%rip), %xmm1    # 0x7c438
mulsd 0xa0(%rax), %xmm1
movsd -0x50(%rbp), %xmm2
movq -0x10(%rbp), %rax
movsd 0x535a7(%rip), %xmm0    # 0x7c028
mulsd 0xa8(%rax), %xmm0
mulsd -0x50(%rbp), %xmm0
mulsd -0x48(%rbp), %xmm0
mulsd %xmm2, %xmm1
addsd %xmm0, %xmm1
movq -0x10(%rbp), %rax
movsd 0x53989(%rip), %xmm0    # 0x7c430
mulsd 0xb0(%rax), %xmm0
mulsd -0x50(%rbp), %xmm0
movsd -0x50(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x20(%rbp)
jmp 0x28ac8
jmp 0x28aca
jmp 0x28acc
movsd -0x20(%rbp), %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x4(%rbp)
movss -0x4(%rbp), %xmm0
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)