Created
March 27, 2016 12:55
-
-
Save vedranmiletic/3a836854abdf13c60db4 to your computer and use it in GitHub Desktop.
GROMACS OpenCL kernel for AMD in LLVM IR
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = 'input.cl' | |
target datalayout = "e-p:32:32-p1:64:64-p2:64:64-p3:32:32-p4:64:64-p5:32:32-p24:64:64-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64" | |
target triple = "amdgcn--" | |
%struct.nbnxn_sci_t = type { i32, i32, i32, i32 } | |
%struct.nbnxn_cj4_t = type { [4 x i32], [2 x %struct.nbnxn_im_ei_t] } | |
%struct.nbnxn_im_ei_t = type { i32, i32 } | |
%struct.nbnxn_excl_t = type { [32 x i32] } | |
; Function Attrs: nounwind | |
define void @memset_f3(<3 x float> addrspace(1)* nocapture %buf, float %value, i32 %Nbuf) #0 { | |
entry: | |
%x.i.i = tail call i32 @llvm.amdgcn.workgroup.id.x() #5 | |
%x.i12.i = tail call i32 @llvm.r600.read.local.size.x() #2 | |
%mul26.i = mul i32 %x.i12.i, %x.i.i | |
%x.i4.i = tail call i32 @llvm.amdgcn.workitem.id.x() #5, !range !35 | |
%add.i = add i32 %x.i4.i, %mul26.i | |
%cmp = icmp ult i32 %add.i, %Nbuf | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%splat.splatinsert = insertelement <3 x float> undef, float %value, i32 0 | |
%0 = sext i32 %add.i to i64 | |
%arrayidx = getelementptr inbounds <3 x float>, <3 x float> addrspace(1)* %buf, i64 %0 | |
%extractVec = shufflevector <3 x float> %splat.splatinsert, <3 x float> undef, <4 x i32> <i32 0, i32 0, i32 0, i32 undef> | |
%storetmp = bitcast <3 x float> addrspace(1)* %arrayidx to <4 x float> addrspace(1)* | |
store <4 x float> %extractVec, <4 x float> addrspace(1)* %storetmp, align 16, !tbaa !36 | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
ret void | |
} | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.lifetime.start(i64, i8* nocapture) #1 | |
; Function Attrs: argmemonly nounwind | |
declare void @llvm.lifetime.end(i64, i8* nocapture) #1 | |
; Function Attrs: nounwind | |
define void @memset_f2(<2 x float> addrspace(1)* nocapture %buf, float %value, i32 %Nbuf) #0 { | |
entry: | |
%x.i.i = tail call i32 @llvm.amdgcn.workgroup.id.x() #5 | |
%x.i12.i = tail call i32 @llvm.r600.read.local.size.x() #2 | |
%mul26.i = mul i32 %x.i12.i, %x.i.i | |
%x.i4.i = tail call i32 @llvm.amdgcn.workitem.id.x() #5, !range !35 | |
%add.i = add i32 %x.i4.i, %mul26.i | |
%cmp = icmp ult i32 %add.i, %Nbuf | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%splat.splatinsert = insertelement <2 x float> undef, float %value, i32 0 | |
%splat.splat = shufflevector <2 x float> %splat.splatinsert, <2 x float> undef, <2 x i32> zeroinitializer | |
%0 = sext i32 %add.i to i64 | |
%arrayidx = getelementptr inbounds <2 x float>, <2 x float> addrspace(1)* %buf, i64 %0 | |
store <2 x float> %splat.splat, <2 x float> addrspace(1)* %arrayidx, align 8, !tbaa !36 | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @memset_f(float addrspace(1)* nocapture %buf, float %value, i32 %Nbuf) #0 { | |
entry: | |
%x.i.i = tail call i32 @llvm.amdgcn.workgroup.id.x() #5 | |
%x.i12.i = tail call i32 @llvm.r600.read.local.size.x() #2 | |
%mul26.i = mul i32 %x.i12.i, %x.i.i | |
%x.i4.i = tail call i32 @llvm.amdgcn.workitem.id.x() #5, !range !35 | |
%add.i = add i32 %x.i4.i, %mul26.i | |
%cmp = icmp ult i32 %add.i, %Nbuf | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%0 = sext i32 %add.i to i64 | |
%arrayidx = getelementptr inbounds float, float addrspace(1)* %buf, i64 %0 | |
store float %value, float addrspace(1)* %arrayidx, align 4, !tbaa !39 | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
ret void | |
} | |
; Function Attrs: nounwind | |
define void @zero_e_fshift(float addrspace(1)* nocapture %fshift, float addrspace(1)* nocapture %e_lj, float addrspace(1)* nocapture %e_el, i32 %Nbuf) #0 { | |
entry: | |
%x.i.i = tail call i32 @llvm.amdgcn.workgroup.id.x() #5 | |
%x.i12.i = tail call i32 @llvm.r600.read.local.size.x() #2 | |
%mul26.i = mul i32 %x.i12.i, %x.i.i | |
%x.i4.i = tail call i32 @llvm.amdgcn.workitem.id.x() #5, !range !35 | |
%add.i = add i32 %x.i4.i, %mul26.i | |
%cmp = icmp ult i32 %add.i, %Nbuf | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%0 = sext i32 %add.i to i64 | |
%arrayidx = getelementptr inbounds float, float addrspace(1)* %fshift, i64 %0 | |
store float 0.000000e+00, float addrspace(1)* %arrayidx, align 4, !tbaa !39 | |
br label %if.end | |
if.end: ; preds = %if.then, %entry | |
%cmp1 = icmp eq i32 %add.i, 0 | |
br i1 %cmp1, label %if.then2, label %if.end3 | |
if.then2: ; preds = %if.end | |
store float 0.000000e+00, float addrspace(1)* %e_lj, align 4, !tbaa !39 | |
store float 0.000000e+00, float addrspace(1)* %e_el, align 4, !tbaa !39 | |
br label %if.end3 | |
if.end3: ; preds = %if.then2, %if.end | |
ret void | |
} | |
; Function Attrs: nounwind readnone | |
declare float @llvm.fmuladd.f32(float, float, float) #2 | |
; Function Attrs: norecurse nounwind | |
define internal fastcc void @reduce_force_j_generic(float addrspace(3)* nocapture readonly %f_buf, float addrspace(1)* nocapture %fout, i32 %tidxi, i32 %tidxj, i32 %aidx) unnamed_addr #3 { | |
entry: | |
%cmp = icmp slt i32 %tidxi, 3 | |
br i1 %cmp, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%mul = shl i32 %tidxj, 3 | |
%cmp217 = icmp eq i32 %mul, 2147483640 | |
br i1 %cmp217, label %for.cond.cleanup, label %for.body.lr.ph | |
for.body.lr.ph: ; preds = %if.then | |
%mul3 = shl i32 %tidxi, 6 | |
%add4 = add nsw i32 %mul, %mul3 | |
%arrayidx = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add4 | |
%0 = load float, float addrspace(3)* %arrayidx, align 4, !tbaa !39 | |
%add5 = fadd float %0, 0.000000e+00 | |
%inc = or i32 %mul, 1 | |
%add4.1 = add nsw i32 %inc, %mul3 | |
%arrayidx.1 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add4.1 | |
%1 = load float, float addrspace(3)* %arrayidx.1, align 4, !tbaa !39 | |
%add5.1 = fadd float %add5, %1 | |
%inc.1 = or i32 %mul3, 1 | |
%add4.2 = add i32 %inc.1, %inc | |
%arrayidx.2 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add4.2 | |
%2 = load float, float addrspace(3)* %arrayidx.2, align 4, !tbaa !39 | |
%add5.2 = fadd float %add5.1, %2 | |
%inc.2 = or i32 %mul, 3 | |
%add4.3 = add nsw i32 %inc.2, %mul3 | |
%arrayidx.3 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add4.3 | |
%3 = load float, float addrspace(3)* %arrayidx.3, align 4, !tbaa !39 | |
%add5.3 = fadd float %add5.2, %3 | |
%add4.4 = add i32 %inc.1, %inc.2 | |
%arrayidx.4 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add4.4 | |
%4 = load float, float addrspace(3)* %arrayidx.4, align 4, !tbaa !39 | |
%add5.4 = fadd float %add5.3, %4 | |
%inc.4 = or i32 %mul3, 2 | |
%add4.5 = add i32 %inc.4, %inc.2 | |
%arrayidx.5 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add4.5 | |
%5 = load float, float addrspace(3)* %arrayidx.5, align 4, !tbaa !39 | |
%add5.5 = fadd float %add5.4, %5 | |
%inc.5 = or i32 %mul3, 3 | |
%add4.6 = add i32 %inc.5, %inc.2 | |
%arrayidx.6 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add4.6 | |
%6 = load float, float addrspace(3)* %arrayidx.6, align 4, !tbaa !39 | |
%add5.6 = fadd float %add5.5, %6 | |
%inc.6 = or i32 %mul, 7 | |
%add4.7 = add nsw i32 %inc.6, %mul3 | |
%arrayidx.7 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add4.7 | |
%7 = load float, float addrspace(3)* %arrayidx.7, align 4, !tbaa !39 | |
%add5.7 = fadd float %add5.6, %7 | |
br label %for.cond.cleanup | |
for.cond.cleanup: ; preds = %if.then, %for.body.lr.ph | |
%f.0.lcssa = phi float [ 0.000000e+00, %if.then ], [ %add5.7, %for.body.lr.ph ] | |
%mul6 = mul nsw i32 %aidx, 3 | |
%add7 = add nsw i32 %mul6, %tidxi | |
%8 = sext i32 %add7 to i64 | |
%arrayidx8 = getelementptr inbounds float, float addrspace(1)* %fout, i64 %8 | |
%9 = load volatile float, float addrspace(1)* %arrayidx8, align 4, !tbaa !39 | |
%10 = bitcast float %9 to i32 | |
%11 = bitcast float addrspace(1)* %arrayidx8 to i32 addrspace(1)* | |
br label %do.body.i | |
do.body.i: ; preds = %do.body.i, %for.cond.cleanup | |
%current.sroa.0.0.i = phi i32 [ %10, %for.cond.cleanup ], [ %15, %do.body.i ] | |
%12 = bitcast i32 %current.sroa.0.0.i to float | |
%add.i = fadd float %f.0.lcssa, %12 | |
%13 = bitcast float %add.i to i32 | |
%14 = cmpxchg volatile i32 addrspace(1)* %11, i32 %current.sroa.0.0.i, i32 %13 seq_cst seq_cst | |
%15 = extractvalue { i32, i1 } %14, 0 | |
%cmp.i = extractvalue { i32, i1 } %14, 1 | |
br i1 %cmp.i, label %if.end.loopexit, label %do.body.i | |
if.end.loopexit: ; preds = %do.body.i | |
br label %if.end | |
if.end: ; preds = %if.end.loopexit, %entry | |
ret void | |
} | |
; Function Attrs: norecurse nounwind | |
define internal fastcc void @reduce_force_i_pow2(float addrspace(3)* nocapture %f_buf, float addrspace(1)* nocapture %fout, float* nocapture %fshift_buf, i1 zeroext %bCalcFshift, i32 %tidxi, i32 %tidxj, i32 %aidx) unnamed_addr #3 { | |
entry: | |
%mul3 = shl i32 %tidxj, 3 | |
%add4 = add nsw i32 %mul3, %tidxi | |
%arrayidx5 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add4 | |
%add9 = add i32 %tidxi, 64 | |
%add14 = add i32 %mul3, %add9 | |
%arrayidx15 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add14 | |
%add19 = add i32 %tidxi, 128 | |
%add24 = add i32 %mul3, %add19 | |
%arrayidx25 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add24 | |
%cmp1 = icmp slt i32 %tidxj, 4 | |
br i1 %cmp1, label %if.end, label %if.end44 | |
if.end: ; preds = %entry | |
%mul = add i32 %mul3, 32 | |
%add2 = add nsw i32 %mul, %tidxi | |
%arrayidx = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add2 | |
%0 = load volatile float, float addrspace(3)* %arrayidx, align 4, !tbaa !39 | |
%1 = load volatile float, float addrspace(3)* %arrayidx5, align 4, !tbaa !39 | |
%add6 = fadd float %0, %1 | |
store volatile float %add6, float addrspace(3)* %arrayidx5, align 4, !tbaa !39 | |
%add10 = add i32 %mul, %add9 | |
%arrayidx11 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add10 | |
%2 = load volatile float, float addrspace(3)* %arrayidx11, align 4, !tbaa !39 | |
%3 = load volatile float, float addrspace(3)* %arrayidx15, align 4, !tbaa !39 | |
%add16 = fadd float %2, %3 | |
store volatile float %add16, float addrspace(3)* %arrayidx15, align 4, !tbaa !39 | |
%add20 = add i32 %mul, %add19 | |
%arrayidx21 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add20 | |
%4 = load volatile float, float addrspace(3)* %arrayidx21, align 4, !tbaa !39 | |
%5 = load volatile float, float addrspace(3)* %arrayidx25, align 4, !tbaa !39 | |
%add26 = fadd float %4, %5 | |
store volatile float %add26, float addrspace(3)* %arrayidx25, align 4, !tbaa !39 | |
%cmp1.1 = icmp slt i32 %tidxj, 2 | |
br i1 %cmp1.1, label %if.end.1.thread, label %if.end.1 | |
if.then28: ; preds = %if.end.1.thread, %if.end.1 | |
%mul29 = shl nsw i32 %tidxj, 6 | |
%add30 = add i32 %mul29, %tidxi | |
%arrayidx31 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add30 | |
%6 = load volatile float, float addrspace(3)* %arrayidx31, align 4, !tbaa !39 | |
%add35 = add i32 %add30, 8 | |
%arrayidx36 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add35 | |
%7 = load volatile float, float addrspace(3)* %arrayidx36, align 4, !tbaa !39 | |
%add37 = fadd float %6, %7 | |
%mul38 = mul nsw i32 %aidx, 3 | |
%add39 = add nsw i32 %mul38, %tidxj | |
%8 = sext i32 %add39 to i64 | |
%arrayidx40 = getelementptr inbounds float, float addrspace(1)* %fout, i64 %8 | |
%9 = load volatile float, float addrspace(1)* %arrayidx40, align 4, !tbaa !39 | |
%10 = bitcast float %9 to i32 | |
%11 = bitcast float addrspace(1)* %arrayidx40 to i32 addrspace(1)* | |
br label %do.body.i | |
do.body.i: ; preds = %do.body.i, %if.then28 | |
%current.sroa.0.0.i = phi i32 [ %10, %if.then28 ], [ %15, %do.body.i ] | |
%12 = bitcast i32 %current.sroa.0.0.i to float | |
%add.i = fadd float %add37, %12 | |
%13 = bitcast float %add.i to i32 | |
%14 = cmpxchg volatile i32 addrspace(1)* %11, i32 %current.sroa.0.0.i, i32 %13 seq_cst seq_cst | |
%15 = extractvalue { i32, i1 } %14, 0 | |
%cmp.i = extractvalue { i32, i1 } %14, 1 | |
br i1 %cmp.i, label %atomicAdd_g_f.exit, label %do.body.i | |
atomicAdd_g_f.exit: ; preds = %do.body.i | |
br i1 %bCalcFshift, label %if.then41, label %if.end44 | |
if.then41: ; preds = %atomicAdd_g_f.exit | |
%16 = load float, float* %fshift_buf, align 4, !tbaa !39 | |
%add42 = fadd float %add37, %16 | |
store float %add42, float* %fshift_buf, align 4, !tbaa !39 | |
br label %if.end44 | |
if.end44: ; preds = %entry, %atomicAdd_g_f.exit, %if.then41, %if.end.1 | |
ret void | |
if.end.1.thread: ; preds = %if.end | |
%mul.1 = add i32 %mul3, 16 | |
%add2.1 = add nsw i32 %mul.1, %tidxi | |
%arrayidx.1 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add2.1 | |
%17 = load volatile float, float addrspace(3)* %arrayidx.1, align 4, !tbaa !39 | |
%18 = load volatile float, float addrspace(3)* %arrayidx5, align 4, !tbaa !39 | |
%add6.1 = fadd float %17, %18 | |
store volatile float %add6.1, float addrspace(3)* %arrayidx5, align 4, !tbaa !39 | |
%add10.1 = add i32 %mul.1, %add9 | |
%arrayidx11.1 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add10.1 | |
%19 = load volatile float, float addrspace(3)* %arrayidx11.1, align 4, !tbaa !39 | |
%20 = load volatile float, float addrspace(3)* %arrayidx15, align 4, !tbaa !39 | |
%add16.1 = fadd float %19, %20 | |
store volatile float %add16.1, float addrspace(3)* %arrayidx15, align 4, !tbaa !39 | |
%add20.1 = add i32 %mul.1, %add19 | |
%arrayidx21.1 = getelementptr inbounds float, float addrspace(3)* %f_buf, i32 %add20.1 | |
%21 = load volatile float, float addrspace(3)* %arrayidx21.1, align 4, !tbaa !39 | |
%22 = load volatile float, float addrspace(3)* %arrayidx25, align 4, !tbaa !39 | |
%add26.1 = fadd float %21, %22 | |
store volatile float %add26.1, float addrspace(3)* %arrayidx25, align 4, !tbaa !39 | |
br label %if.then28 | |
if.end.1: ; preds = %if.end | |
%cmp27 = icmp slt i32 %tidxj, 3 | |
br i1 %cmp27, label %if.then28, label %if.end44 | |
} | |
; Function Attrs: norecurse nounwind | |
define internal fastcc void @reduce_energy_pow2(float addrspace(3)* nocapture %buf, float addrspace(1)* nocapture %e_lj, float addrspace(1)* nocapture %e_el, i32 %tidx) unnamed_addr #3 { | |
entry: | |
%arrayidx2 = getelementptr inbounds float, float addrspace(3)* %buf, i32 %tidx | |
%add4 = add i32 %tidx, 64 | |
%arrayidx8 = getelementptr inbounds float, float addrspace(3)* %buf, i32 %add4 | |
%cmp1 = icmp ult i32 %tidx, 16 | |
br i1 %cmp1, label %if.end, label %if.end22 | |
if.end: ; preds = %entry | |
%add = add i32 %tidx, 16 | |
%arrayidx = getelementptr inbounds float, float addrspace(3)* %buf, i32 %add | |
%0 = load volatile float, float addrspace(3)* %arrayidx, align 4, !tbaa !39 | |
%1 = load volatile float, float addrspace(3)* %arrayidx2, align 4, !tbaa !39 | |
%add3 = fadd float %0, %1 | |
store volatile float %add3, float addrspace(3)* %arrayidx2, align 4, !tbaa !39 | |
%add5 = add i32 %tidx, 80 | |
%arrayidx6 = getelementptr inbounds float, float addrspace(3)* %buf, i32 %add5 | |
%2 = load volatile float, float addrspace(3)* %arrayidx6, align 4, !tbaa !39 | |
%3 = load volatile float, float addrspace(3)* %arrayidx8, align 4, !tbaa !39 | |
%add9 = fadd float %2, %3 | |
store volatile float %add9, float addrspace(3)* %arrayidx8, align 4, !tbaa !39 | |
%cmp1.1 = icmp ult i32 %tidx, 8 | |
br i1 %cmp1.1, label %if.end.1, label %if.end22 | |
if.then11: ; preds = %if.end.3 | |
%4 = load volatile float, float addrspace(3)* %buf, align 4, !tbaa !39 | |
%arrayidx14 = getelementptr inbounds float, float addrspace(3)* %buf, i32 1 | |
%5 = load volatile float, float addrspace(3)* %arrayidx14, align 4, !tbaa !39 | |
%add15 = fadd float %4, %5 | |
%arrayidx17 = getelementptr inbounds float, float addrspace(3)* %buf, i32 64 | |
%6 = load volatile float, float addrspace(3)* %arrayidx17, align 4, !tbaa !39 | |
%arrayidx20 = getelementptr inbounds float, float addrspace(3)* %buf, i32 65 | |
%7 = load volatile float, float addrspace(3)* %arrayidx20, align 4, !tbaa !39 | |
%8 = load volatile float, float addrspace(1)* %e_lj, align 4, !tbaa !39 | |
%9 = bitcast float %8 to i32 | |
%10 = bitcast float addrspace(1)* %e_lj to i32 addrspace(1)* | |
br label %do.body.i | |
do.body.i: ; preds = %do.body.i, %if.then11 | |
%current.sroa.0.0.i = phi i32 [ %9, %if.then11 ], [ %14, %do.body.i ] | |
%11 = bitcast i32 %current.sroa.0.0.i to float | |
%add.i = fadd float %add15, %11 | |
%12 = bitcast float %add.i to i32 | |
%13 = cmpxchg volatile i32 addrspace(1)* %10, i32 %current.sroa.0.0.i, i32 %12 seq_cst seq_cst | |
%14 = extractvalue { i32, i1 } %13, 0 | |
%cmp.i = extractvalue { i32, i1 } %13, 1 | |
br i1 %cmp.i, label %atomicAdd_g_f.exit, label %do.body.i | |
atomicAdd_g_f.exit: ; preds = %do.body.i | |
%add21 = fadd float %6, %7 | |
%15 = load volatile float, float addrspace(1)* %e_el, align 4, !tbaa !39 | |
%16 = bitcast float %15 to i32 | |
%17 = bitcast float addrspace(1)* %e_el to i32 addrspace(1)* | |
br label %do.body.i51 | |
do.body.i51: ; preds = %do.body.i51, %atomicAdd_g_f.exit | |
%current.sroa.0.0.i48 = phi i32 [ %16, %atomicAdd_g_f.exit ], [ %21, %do.body.i51 ] | |
%18 = bitcast i32 %current.sroa.0.0.i48 to float | |
%add.i49 = fadd float %add21, %18 | |
%19 = bitcast float %add.i49 to i32 | |
%20 = cmpxchg volatile i32 addrspace(1)* %17, i32 %current.sroa.0.0.i48, i32 %19 seq_cst seq_cst | |
%21 = extractvalue { i32, i1 } %20, 0 | |
%cmp.i50 = extractvalue { i32, i1 } %20, 1 | |
br i1 %cmp.i50, label %if.end22.loopexit, label %do.body.i51 | |
if.end22.loopexit: ; preds = %do.body.i51 | |
br label %if.end22 | |
if.end22: ; preds = %if.end22.loopexit, %entry, %if.end, %if.end.1, %if.end.2, %if.end.3 | |
ret void | |
if.end.1: ; preds = %if.end | |
%add.1 = add i32 %tidx, 8 | |
%arrayidx.1 = getelementptr inbounds float, float addrspace(3)* %buf, i32 %add.1 | |
%22 = load volatile float, float addrspace(3)* %arrayidx.1, align 4, !tbaa !39 | |
%23 = load volatile float, float addrspace(3)* %arrayidx2, align 4, !tbaa !39 | |
%add3.1 = fadd float %22, %23 | |
store volatile float %add3.1, float addrspace(3)* %arrayidx2, align 4, !tbaa !39 | |
%add5.1 = add i32 %tidx, 72 | |
%arrayidx6.1 = getelementptr inbounds float, float addrspace(3)* %buf, i32 %add5.1 | |
%24 = load volatile float, float addrspace(3)* %arrayidx6.1, align 4, !tbaa !39 | |
%25 = load volatile float, float addrspace(3)* %arrayidx8, align 4, !tbaa !39 | |
%add9.1 = fadd float %24, %25 | |
store volatile float %add9.1, float addrspace(3)* %arrayidx8, align 4, !tbaa !39 | |
%cmp1.2 = icmp ult i32 %tidx, 4 | |
br i1 %cmp1.2, label %if.end.2, label %if.end22 | |
if.end.2: ; preds = %if.end.1 | |
%add.2 = add i32 %tidx, 4 | |
%arrayidx.2 = getelementptr inbounds float, float addrspace(3)* %buf, i32 %add.2 | |
%26 = load volatile float, float addrspace(3)* %arrayidx.2, align 4, !tbaa !39 | |
%27 = load volatile float, float addrspace(3)* %arrayidx2, align 4, !tbaa !39 | |
%add3.2 = fadd float %26, %27 | |
store volatile float %add3.2, float addrspace(3)* %arrayidx2, align 4, !tbaa !39 | |
%add5.2 = add i32 %tidx, 68 | |
%arrayidx6.2 = getelementptr inbounds float, float addrspace(3)* %buf, i32 %add5.2 | |
%28 = load volatile float, float addrspace(3)* %arrayidx6.2, align 4, !tbaa !39 | |
%29 = load volatile float, float addrspace(3)* %arrayidx8, align 4, !tbaa !39 | |
%add9.2 = fadd float %28, %29 | |
store volatile float %add9.2, float addrspace(3)* %arrayidx8, align 4, !tbaa !39 | |
%cmp1.3 = icmp ult i32 %tidx, 2 | |
br i1 %cmp1.3, label %if.end.3, label %if.end22 | |
if.end.3: ; preds = %if.end.2 | |
%add.3 = add i32 %tidx, 2 | |
%arrayidx.3 = getelementptr inbounds float, float addrspace(3)* %buf, i32 %add.3 | |
%30 = load volatile float, float addrspace(3)* %arrayidx.3, align 4, !tbaa !39 | |
%31 = load volatile float, float addrspace(3)* %arrayidx2, align 4, !tbaa !39 | |
%add3.3 = fadd float %30, %31 | |
store volatile float %add3.3, float addrspace(3)* %arrayidx2, align 4, !tbaa !39 | |
%add5.3 = add i32 %tidx, 66 | |
%arrayidx6.3 = getelementptr inbounds float, float addrspace(3)* %buf, i32 %add5.3 | |
%32 = load volatile float, float addrspace(3)* %arrayidx6.3, align 4, !tbaa !39 | |
%33 = load volatile float, float addrspace(3)* %arrayidx8, align 4, !tbaa !39 | |
%add9.3 = fadd float %32, %33 | |
store volatile float %add9.3, float addrspace(3)* %arrayidx8, align 4, !tbaa !39 | |
%cmp10 = icmp eq i32 %tidx, 0 | |
br i1 %cmp10, label %if.then11, label %if.end22 | |
} | |
; Function Attrs: nounwind | |
define void @nbnxn_kernel_ElecEw_VdwLJ_F_opencl(i32 %ntypes, i32 %nbparam_params_eeltype, i32 %nbparam_params_vdwtype, float %nbparam_params_epsfac, float %nbparam_params_c_rf, float %nbparam_params_two_k_rf, float %nbparam_params_ewald_beta, float %nbparam_params_sh_ewald, float %nbparam_params_sh_lj_ewald, float %nbparam_params_ewaldcoeff_lj, float %nbparam_params_rcoulomb_sq, float %nbparam_params_rvdw_sq, float %nbparam_params_rvdw_switch, float %nbparam_params_rlist_sq, float %nbparam_params_dispersion_shift_c2, float %nbparam_params_dispersion_shift_c3, float %nbparam_params_dispersion_shift_cpot, float %nbparam_params_repulsion_shift_c2, float %nbparam_params_repulsion_shift_c3, float %nbparam_params_repulsion_shift_cpot, float %nbparam_params_vdw_switch_c3, float %nbparam_params_vdw_switch_c4, float %nbparam_params_vdw_switch_c5, float %nbparam_params_coulomb_tab_size, float %nbparam_params_coulomb_tab_scale, <4 x float> addrspace(1)* noalias nocapture readonly %xq, float addrspace(1)* noalias nocapture %f, float addrspace(1)* noalias nocapture readnone %e_lj, float addrspace(1)* noalias nocapture readnone %e_el, float addrspace(1)* noalias nocapture %fshift, i32 addrspace(1)* noalias nocapture readonly %atom_types, float addrspace(1)* noalias nocapture readonly %shift_vec, float addrspace(2)* nocapture readonly %nbfp_climg2d, float addrspace(2)* nocapture readnone %nbfp_comb_climg2d, float addrspace(2)* nocapture readnone %coulomb_tab_climg2d, %struct.nbnxn_sci_t addrspace(1)* nocapture readonly %pl_sci, %struct.nbnxn_cj4_t addrspace(1)* nocapture readonly %pl_cj4, %struct.nbnxn_excl_t addrspace(1)* nocapture readonly %excl, i32 %bCalcFshift, <4 x float> addrspace(3)* nocapture %xqib, float addrspace(1)* nocapture readnone %debug_buffer) #0 { | |
entry: | |
%fshift_buf = alloca float, align 4 | |
%mul = fmul float %nbparam_params_ewald_beta, %nbparam_params_ewald_beta | |
%mul19 = fmul float %mul, %nbparam_params_ewald_beta | |
%x.i = tail call i32 @llvm.amdgcn.workitem.id.x() #5, !range !35 | |
%y.i = tail call i32 @llvm.amdgcn.workitem.id.y() #5, !range !35 | |
%x.i475 = tail call i32 @llvm.r600.read.local.size.x() #2 | |
%mul23 = mul i32 %x.i475, %y.i | |
%add = add i32 %mul23, %x.i | |
%x.i476 = tail call i32 @llvm.amdgcn.workgroup.id.x() #5 | |
%div = lshr i32 %add, 5 | |
%0 = bitcast float* %fshift_buf to i8* | |
call void @llvm.lifetime.start(i64 4, i8* %0) #5 | |
%add.ptr = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 64 | |
%1 = bitcast <4 x float> addrspace(3)* %add.ptr to i32 addrspace(3)* | |
%2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 0 | |
%3 = sext i32 %x.i476 to i64 | |
%nb_sci.sroa.0.0..sroa_idx = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 0 | |
%nb_sci.sroa.0.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.0.0..sroa_idx, align 4 | |
%nb_sci.sroa.4.0..sroa_idx278 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 1 | |
%nb_sci.sroa.4.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.4.0..sroa_idx278, align 4 | |
%nb_sci.sroa.10.0..sroa_idx285 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 2 | |
%nb_sci.sroa.10.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.10.0..sroa_idx285, align 4 | |
%nb_sci.sroa.11.0..sroa_idx287 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 3 | |
%nb_sci.sroa.11.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.11.0..sroa_idx287, align 4 | |
%mul29 = shl nsw i32 %nb_sci.sroa.0.0.copyload, 3 | |
%add30 = add i32 %mul29, %y.i | |
%mul31 = shl i32 %add30, 3 | |
%add32 = add i32 %mul31, %x.i | |
%4 = sext i32 %add32 to i64 | |
%arrayidx33 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %4 | |
%5 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx33, align 16, !tbaa !36 | |
%mul34 = mul nsw i32 %nb_sci.sroa.4.0.copyload, 3 | |
%6 = sext i32 %mul34 to i64 | |
%arrayidx35 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %6 | |
%7 = load float, float addrspace(1)* %arrayidx35, align 4, !tbaa !39 | |
%vecinit = insertelement <4 x float> undef, float %7, i32 0 | |
%add38 = add nsw i32 %mul34, 1 | |
%8 = sext i32 %add38 to i64 | |
%arrayidx39 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %8 | |
%9 = load float, float addrspace(1)* %arrayidx39, align 4, !tbaa !39 | |
%vecinit40 = insertelement <4 x float> %vecinit, float %9, i32 1 | |
%add43 = add nsw i32 %mul34, 2 | |
%10 = sext i32 %add43 to i64 | |
%arrayidx44 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %10 | |
%11 = load float, float addrspace(1)* %arrayidx44, align 4, !tbaa !39 | |
%vecinit45 = insertelement <4 x float> %vecinit40, float %11, i32 2 | |
%vecinit46 = insertelement <4 x float> %vecinit45, float 0.000000e+00, i32 3 | |
%add47 = fadd <4 x float> %5, %vecinit46 | |
%12 = extractelement <4 x float> %add47, i32 3 | |
%mul49 = fmul float %12, %nbparam_params_epsfac | |
%13 = insertelement <4 x float> %add47, float %mul49, i32 3 | |
%mul50 = shl nuw nsw i32 %y.i, 3 | |
%add51 = add nuw nsw i32 %mul50, %x.i | |
%arrayidx52 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add51 | |
store <4 x float> %13, <4 x float> addrspace(3)* %arrayidx52, align 16, !tbaa !36 | |
%14 = or i32 %add, 32 | |
%15 = icmp eq i32 %14, 32 | |
br i1 %15, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%add.ptr27 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 192 | |
%arrayidx56474 = getelementptr inbounds float, float addrspace(3)* %add.ptr27, i32 %div | |
%arrayidx56 = bitcast float addrspace(3)* %arrayidx56474 to i32 addrspace(3)* | |
store volatile i32 0, i32 addrspace(3)* %arrayidx56, align 4, !tbaa !41 | |
br label %if.end | |
if.end: ; preds = %entry, %if.then | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%cmp61482 = icmp slt i32 %nb_sci.sroa.10.0.copyload, %nb_sci.sroa.11.0.copyload | |
br i1 %cmp61482, label %for.body63.lr.ph, label %if.end.for.end223_crit_edge | |
if.end.for.end223_crit_edge: ; preds = %if.end | |
%.pre = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add | |
%.pre744 = add i32 %add, 64 | |
%.pre745 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre744 | |
%.pre746 = add i32 %add, 128 | |
%.pre747 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre746 | |
%.pre793 = shl i32 %nb_sci.sroa.0.0.copyload, 6 | |
%.pre794 = add i32 %.pre793, %x.i | |
%.pre795 = or i32 %.pre793, 8 | |
%.pre796 = add i32 %.pre795, %x.i | |
%.pre797 = or i32 %.pre793, 16 | |
%.pre798 = add i32 %.pre797, %x.i | |
%.pre799 = or i32 %.pre793, 24 | |
%.pre800 = add i32 %.pre799, %x.i | |
%.pre801 = or i32 %.pre793, 32 | |
%.pre802 = add i32 %.pre801, %x.i | |
%.pre803 = or i32 %.pre793, 40 | |
%.pre804 = add i32 %.pre803, %x.i | |
%.pre805 = or i32 %.pre793, 48 | |
%.pre806 = add i32 %.pre805, %x.i | |
%.pre807 = or i32 %.pre793, 56 | |
%.pre808 = add i32 %.pre807, %x.i | |
br label %for.end223 | |
for.body63.lr.ph: ; preds = %if.end | |
%16 = zext i32 %div to i64 | |
%and = and i32 %add, 31 | |
%17 = zext i32 %and to i64 | |
%18 = or i32 %y.i, 4 | |
%19 = icmp eq i32 %18, 4 | |
%cmp78 = icmp ult i32 %x.i, 4 | |
%or.cond261 = and i1 %cmp78, %19 | |
%20 = zext i32 %x.i to i64 | |
%add86 = add nuw nsw i32 %y.i, %x.i | |
%arrayidx87 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add86 | |
%mul101 = and i32 %y.i, 4 | |
%cmp145 = icmp ugt i32 %y.i, %x.i | |
%notlhs = icmp ne i32 %nb_sci.sroa.4.0.copyload, 22 | |
%arrayidx211 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add | |
%add212 = add i32 %add, 64 | |
%arrayidx213 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add212 | |
%add214 = add i32 %add, 128 | |
%arrayidx215 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add214 | |
%21 = sext i32 %nb_sci.sroa.10.0.copyload to i64 | |
%add103.3 = or i32 %mul101, 3 | |
%arrayidx104.3 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add103.3 | |
%22 = or i32 %mul29, 7 | |
%add123.7.3 = add nuw nsw i32 %x.i, 56 | |
%arrayidx124.7.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add123.7.3 | |
%add119.7.3 = shl i32 %nb_sci.sroa.0.0.copyload, 6 | |
%mul120.7.3 = or i32 %add119.7.3, 56 | |
%add121.7.3 = add i32 %mul120.7.3, %x.i | |
%23 = sext i32 %add121.7.3 to i64 | |
%arrayidx152.7.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %23 | |
%24 = or i32 %mul29, 6 | |
%add123.6.3 = add nuw nsw i32 %x.i, 48 | |
%arrayidx124.6.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add123.6.3 | |
%mul120.6.3 = or i32 %add119.7.3, 48 | |
%add121.6.3 = add i32 %mul120.6.3, %x.i | |
%25 = sext i32 %add121.6.3 to i64 | |
%arrayidx152.6.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %25 | |
%26 = or i32 %mul29, 5 | |
%add123.5.3 = add nuw nsw i32 %x.i, 40 | |
%arrayidx124.5.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add123.5.3 | |
%mul120.5.3 = or i32 %add119.7.3, 40 | |
%add121.5.3 = add i32 %mul120.5.3, %x.i | |
%27 = sext i32 %add121.5.3 to i64 | |
%arrayidx152.5.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %27 | |
%28 = or i32 %mul29, 4 | |
%add123.4.3 = add nuw nsw i32 %x.i, 32 | |
%arrayidx124.4.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add123.4.3 | |
%mul120.4.3 = or i32 %add119.7.3, 32 | |
%add121.4.3 = add i32 %mul120.4.3, %x.i | |
%29 = sext i32 %add121.4.3 to i64 | |
%arrayidx152.4.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %29 | |
%30 = or i32 %mul29, 3 | |
%add123.3.3 = add nuw nsw i32 %x.i, 24 | |
%arrayidx124.3.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add123.3.3 | |
%mul120.3.3 = or i32 %add119.7.3, 24 | |
%add121.3.3 = add i32 %mul120.3.3, %x.i | |
%31 = sext i32 %add121.3.3 to i64 | |
%arrayidx152.3.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %31 | |
%32 = or i32 %mul29, 2 | |
%add123.2.3 = add nuw nsw i32 %x.i, 16 | |
%arrayidx124.2.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add123.2.3 | |
%mul120.2.3 = or i32 %add119.7.3, 16 | |
%add121.2.3 = add i32 %mul120.2.3, %x.i | |
%33 = sext i32 %add121.2.3 to i64 | |
%arrayidx152.2.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %33 | |
%34 = or i32 %mul29, 1 | |
%add123.1.3 = add nuw nsw i32 %x.i, 8 | |
%arrayidx124.1.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add123.1.3 | |
%mul120.1.3 = or i32 %add119.7.3, 8 | |
%add121.1.3 = add i32 %mul120.1.3, %x.i | |
%35 = sext i32 %add121.1.3 to i64 | |
%arrayidx152.1.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %35 | |
%arrayidx124.3607 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %x.i | |
%add121.3621 = add i32 %add119.7.3, %x.i | |
%36 = sext i32 %add121.3621 to i64 | |
%arrayidx152.3622 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %36 | |
%add103.2 = or i32 %mul101, 2 | |
%arrayidx104.2 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add103.2 | |
%add103.1 = or i32 %mul101, 1 | |
%arrayidx104.1 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add103.1 | |
%arrayidx104 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %mul101 | |
br label %for.body63 | |
for.body63: ; preds = %for.inc221, %for.body63.lr.ph | |
%fci_buf.sroa.37.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body63.lr.ph ], [ %fci_buf.sroa.37.2, %for.inc221 ] | |
%37 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body63.lr.ph ], [ %89, %for.inc221 ] | |
%38 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body63.lr.ph ], [ %90, %for.inc221 ] | |
%39 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body63.lr.ph ], [ %91, %for.inc221 ] | |
%40 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body63.lr.ph ], [ %92, %for.inc221 ] | |
%41 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body63.lr.ph ], [ %93, %for.inc221 ] | |
%42 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body63.lr.ph ], [ %94, %for.inc221 ] | |
%43 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body63.lr.ph ], [ %95, %for.inc221 ] | |
%loadVec4200.7 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body63.lr.ph ], [ %loadVec4200.7738, %for.inc221 ] | |
%loadVec4200.6 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body63.lr.ph ], [ %loadVec4200.6728, %for.inc221 ] | |
%loadVec4200.5 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body63.lr.ph ], [ %loadVec4200.5718, %for.inc221 ] | |
%loadVec4200.4 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body63.lr.ph ], [ %loadVec4200.4708, %for.inc221 ] | |
%loadVec4200.3 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body63.lr.ph ], [ %loadVec4200.3698, %for.inc221 ] | |
%loadVec4200.2 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body63.lr.ph ], [ %loadVec4200.2688, %for.inc221 ] | |
%loadVec4200.1 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body63.lr.ph ], [ %loadVec4200.1678, %for.inc221 ] | |
%loadVec4200 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body63.lr.ph ], [ %loadVec4200668, %for.inc221 ] | |
%indvars.iv = phi i64 [ %21, %for.body63.lr.ph ], [ %indvars.iv.next, %for.inc221 ] | |
%excl_ind = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv, i32 1, i64 %16, i32 1 | |
%44 = load i32, i32 addrspace(1)* %excl_ind, align 4, !tbaa !43 | |
%imask69 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv, i32 1, i64 %16, i32 0 | |
%45 = load i32, i32 addrspace(1)* %imask69, align 4, !tbaa !45 | |
%46 = sext i32 %44 to i64 | |
%arrayidx71 = getelementptr inbounds %struct.nbnxn_excl_t, %struct.nbnxn_excl_t addrspace(1)* %excl, i64 %46, i32 0, i64 %17 | |
%47 = load i32, i32 addrspace(1)* %arrayidx71, align 4, !tbaa !41 | |
%tobool = icmp eq i32 %45, 0 | |
br i1 %tobool, label %for.inc221, label %if.then72 | |
if.then72: ; preds = %for.body63 | |
br i1 %or.cond261, label %if.then80, label %for.body92.preheader | |
if.then80: ; preds = %if.then72 | |
%arrayidx83 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv, i32 0, i64 %20 | |
%48 = load i32, i32 addrspace(1)* %arrayidx83, align 4, !tbaa !41 | |
store i32 %48, i32 addrspace(3)* %arrayidx87, align 4, !tbaa !41 | |
br label %for.body92.preheader | |
for.body92.preheader: ; preds = %if.then72, %if.then80 | |
%and94 = and i32 %45, 255 | |
%tobool95 = icmp eq i32 %and94, 0 | |
br i1 %tobool95, label %for.inc217, label %if.then96 | |
if.then96: ; preds = %for.body92.preheader | |
%49 = load i32, i32 addrspace(3)* %arrayidx104, align 4, !tbaa !41 | |
%mul105 = shl nsw i32 %49, 3 | |
%add106 = add i32 %mul105, %y.i | |
%50 = sext i32 %add106 to i64 | |
%arrayidx107 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %50 | |
%51 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx107, align 16, !tbaa !36 | |
%52 = extractelement <4 x float> %51, i32 3 | |
%arrayidx109 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %50 | |
%53 = load i32, i32 addrspace(1)* %arrayidx109, align 4, !tbaa !41 | |
%and115 = and i32 %45, 1 | |
%tobool116 = icmp eq i32 %and115, 0 | |
br i1 %tobool116, label %if.end206, label %if.then117 | |
if.then117: ; preds = %if.then96 | |
%54 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.3607, align 16, !tbaa !36 | |
%55 = fsub <4 x float> %54, %51 | |
%56 = extractelement <4 x float> %55, i32 0 | |
%57 = extractelement <4 x float> %55, i32 1 | |
%mul3.i.i = fmul float %57, %57 | |
%58 = tail call float @llvm.fmuladd.f32(float %56, float %56, float %mul3.i.i) #5 | |
%59 = extractelement <4 x float> %55, i32 2 | |
%60 = tail call float @llvm.fmuladd.f32(float %59, float %59, float %58) #5 | |
%and137 = and i32 %47, 1 | |
%tobool138 = icmp ne i32 %and137, 0 | |
%cond = select i1 %tobool138, float 1.000000e+00, float 0.000000e+00 | |
%notrhs = icmp ne i32 %mul29, %49 | |
%not.or.cond = or i1 %notlhs, %notrhs | |
%cmp145. = or i1 %cmp145, %not.or.cond | |
%conv147 = uitofp i1 %cmp145. to float | |
%mul148 = fmul float %conv147, %nbparam_params_rcoulomb_sq | |
%cmp149 = fcmp olt float %60, %mul148 | |
br i1 %cmp149, label %if.then151, label %if.end206 | |
if.then151: ; preds = %if.then117 | |
%extractVec135 = shufflevector <4 x float> %55, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%61 = extractelement <4 x float> %54, i32 3 | |
%62 = load i32, i32 addrspace(1)* %arrayidx152.3622, align 4, !tbaa !41 | |
%mul153 = mul nsw i32 %62, %ntypes | |
%add154 = add nsw i32 %mul153, %53 | |
%mul155 = shl nsw i32 %add154, 1 | |
%63 = sext i32 %mul155 to i64 | |
%arrayidx156 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %63 | |
%64 = load float, float addrspace(2)* %arrayidx156, align 4, !tbaa !39 | |
%add160 = or i32 %mul155, 1 | |
%65 = sext i32 %add160 to i64 | |
%arrayidx161 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %65 | |
%66 = load float, float addrspace(2)* %arrayidx161, align 4, !tbaa !39 | |
%sub162 = fsub float 1.000000e+00, %cond | |
%67 = tail call float @llvm.fmuladd.f32(float %sub162, float 0x3D71979980000000, float %60) | |
%cmp.i.i = fcmp olt float %67, 0.000000e+00 | |
%call.i.i = tail call float @llvm.sqrt.f32(float %67) #6 | |
%call.i.i.op = fdiv float 1.000000e+00, %call.i.i | |
%div165 = select i1 %cmp.i.i, float 0x7FF8000000000000, float %call.i.i.op | |
%mul166 = fmul float %div165, %div165 | |
%mul167 = fmul float %mul166, %mul166 | |
%mul168 = fmul float %mul166, %mul167 | |
%mul169 = fmul float %cond, %mul168 | |
%neg = fsub float -0.000000e+00, %64 | |
%68 = tail call float @llvm.fmuladd.f32(float %66, float %mul169, float %neg) | |
%mul171 = fmul float %mul169, %68 | |
%mul172 = fmul float %mul166, %mul171 | |
%mul173 = fmul float %52, %61 | |
%mul174 = fmul float %cond, %mul166 | |
%mul176 = fmul float %mul, %67 | |
%mul.i = fmul float %mul176, %mul176 | |
%69 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i, float 0x3FBDA79640000000) #5 | |
%70 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i, float 0x3FE03C5780000000) #5 | |
%71 = tail call float @llvm.fmuladd.f32(float %69, float %mul.i, float 1.000000e+00) #5 | |
%72 = tail call float @llvm.fmuladd.f32(float %70, float %mul176, float %71) #5 | |
%div.i = fdiv float 1.000000e+00, %72, !fpmath !46 | |
%73 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i, float 0xBF0BFF7260000000) #5 | |
%74 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i, float 0x3F50794180000000) #5 | |
%75 = tail call float @llvm.fmuladd.f32(float %73, float %mul.i, float 0xBF93BDB200000000) #5 | |
%76 = tail call float @llvm.fmuladd.f32(float %74, float %mul.i, float 0x3FB1D5E760000000) #5 | |
%77 = tail call float @llvm.fmuladd.f32(float %75, float %mul.i, float 0xBFE81272E0000000) #5 | |
%78 = tail call float @llvm.fmuladd.f32(float %76, float %mul176, float %77) #5 | |
%mul11.i = fmul float %78, %div.i | |
%mul178 = fmul float %mul19, %mul11.i | |
%79 = tail call float @llvm.fmuladd.f32(float %mul174, float %div165, float %mul178) | |
%80 = tail call float @llvm.fmuladd.f32(float %mul173, float %79, float %mul172) | |
%splat.splatinsert = insertelement <3 x float> undef, float %80, i32 0 | |
%splat.splat = shufflevector <3 x float> %splat.splatinsert, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183 = fmul <3 x float> %extractVec135, %splat.splat | |
%sub192 = fsub <3 x float> zeroinitializer, %mul183 | |
%extractVec193 = shufflevector <3 x float> %sub192, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201 = shufflevector <4 x float> %loadVec4200, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202 = fadd <3 x float> %extractVec201, %mul183 | |
%extractVec203 = shufflevector <3 x float> %add202, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206 | |
if.end206: ; preds = %if.then96, %if.then117, %if.then151 | |
%81 = phi <3 x float> [ %add202, %if.then151 ], [ %43, %if.then117 ], [ %43, %if.then96 ] | |
%loadVec4200673 = phi <4 x float> [ %extractVec203, %if.then151 ], [ %loadVec4200, %if.then117 ], [ %loadVec4200, %if.then96 ] | |
%fcj_buf.sroa.0.1 = phi <4 x float> [ %extractVec193, %if.then151 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then117 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then96 ] | |
%and115.1 = and i32 %45, 2 | |
%tobool116.1 = icmp eq i32 %and115.1, 0 | |
br i1 %tobool116.1, label %if.end206.1, label %if.then117.1 | |
for.inc217: ; preds = %for.body92.preheader, %if.end206.7 | |
%fci_buf.sroa.37.1 = phi <4 x float> [ %fci_buf.sroa.37.0, %for.body92.preheader ], [ %fci_buf.sroa.37.4, %if.end206.7 ] | |
%82 = phi <3 x float> [ %37, %for.body92.preheader ], [ %303, %if.end206.7 ] | |
%83 = phi <3 x float> [ %38, %for.body92.preheader ], [ %275, %if.end206.7 ] | |
%84 = phi <3 x float> [ %39, %for.body92.preheader ], [ %247, %if.end206.7 ] | |
%85 = phi <3 x float> [ %40, %for.body92.preheader ], [ %219, %if.end206.7 ] | |
%86 = phi <3 x float> [ %41, %for.body92.preheader ], [ %191, %if.end206.7 ] | |
%87 = phi <3 x float> [ %42, %for.body92.preheader ], [ %163, %if.end206.7 ] | |
%88 = phi <3 x float> [ %43, %for.body92.preheader ], [ %81, %if.end206.7 ] | |
%loadVec4200.7.1 = phi <4 x float> [ %loadVec4200.7, %for.body92.preheader ], [ %loadVec4200.7743, %if.end206.7 ] | |
%loadVec4200.6.1 = phi <4 x float> [ %loadVec4200.6, %for.body92.preheader ], [ %loadVec4200.6733, %if.end206.7 ] | |
%loadVec4200.5.1 = phi <4 x float> [ %loadVec4200.5, %for.body92.preheader ], [ %loadVec4200.5723, %if.end206.7 ] | |
%loadVec4200.4.1 = phi <4 x float> [ %loadVec4200.4, %for.body92.preheader ], [ %loadVec4200.4713, %if.end206.7 ] | |
%loadVec4200.3.1 = phi <4 x float> [ %loadVec4200.3, %for.body92.preheader ], [ %loadVec4200.3703, %if.end206.7 ] | |
%loadVec4200.2.1 = phi <4 x float> [ %loadVec4200.2, %for.body92.preheader ], [ %loadVec4200.2693, %if.end206.7 ] | |
%loadVec4200.1.1 = phi <4 x float> [ %loadVec4200.1, %for.body92.preheader ], [ %loadVec4200.1683, %if.end206.7 ] | |
%loadVec4200.1539 = phi <4 x float> [ %loadVec4200, %for.body92.preheader ], [ %loadVec4200673, %if.end206.7 ] | |
%and94.1 = and i32 %45, 65280 | |
%tobool95.1 = icmp eq i32 %and94.1, 0 | |
br i1 %tobool95.1, label %for.inc217.1, label %if.then96.1 | |
for.inc221: ; preds = %for.inc217.2, %if.end206.7.3, %for.body63 | |
%fci_buf.sroa.37.2 = phi <4 x float> [ %fci_buf.sroa.37.0, %for.body63 ], [ %fci_buf.sroa.37.8, %for.inc217.2 ], [ %fci_buf.sroa.37.9, %if.end206.7.3 ] | |
%89 = phi <3 x float> [ %37, %for.body63 ], [ %803, %for.inc217.2 ], [ %1010, %if.end206.7.3 ] | |
%90 = phi <3 x float> [ %38, %for.body63 ], [ %804, %for.inc217.2 ], [ %982, %if.end206.7.3 ] | |
%91 = phi <3 x float> [ %39, %for.body63 ], [ %805, %for.inc217.2 ], [ %954, %if.end206.7.3 ] | |
%92 = phi <3 x float> [ %40, %for.body63 ], [ %806, %for.inc217.2 ], [ %926, %if.end206.7.3 ] | |
%93 = phi <3 x float> [ %41, %for.body63 ], [ %807, %for.inc217.2 ], [ %898, %if.end206.7.3 ] | |
%94 = phi <3 x float> [ %42, %for.body63 ], [ %808, %for.inc217.2 ], [ %870, %if.end206.7.3 ] | |
%95 = phi <3 x float> [ %43, %for.body63 ], [ %809, %for.inc217.2 ], [ %842, %if.end206.7.3 ] | |
%loadVec4200.7738 = phi <4 x float> [ %loadVec4200.7, %for.body63 ], [ %loadVec4200.7.3, %for.inc217.2 ], [ %loadVec4200.7736, %if.end206.7.3 ] | |
%loadVec4200.6728 = phi <4 x float> [ %loadVec4200.6, %for.body63 ], [ %loadVec4200.6.3, %for.inc217.2 ], [ %loadVec4200.6726, %if.end206.7.3 ] | |
%loadVec4200.5718 = phi <4 x float> [ %loadVec4200.5, %for.body63 ], [ %loadVec4200.5.3, %for.inc217.2 ], [ %loadVec4200.5716, %if.end206.7.3 ] | |
%loadVec4200.4708 = phi <4 x float> [ %loadVec4200.4, %for.body63 ], [ %loadVec4200.4.3, %for.inc217.2 ], [ %loadVec4200.4706, %if.end206.7.3 ] | |
%loadVec4200.3698 = phi <4 x float> [ %loadVec4200.3, %for.body63 ], [ %loadVec4200.3.3, %for.inc217.2 ], [ %loadVec4200.3696, %if.end206.7.3 ] | |
%loadVec4200.2688 = phi <4 x float> [ %loadVec4200.2, %for.body63 ], [ %loadVec4200.2.3, %for.inc217.2 ], [ %loadVec4200.2686, %if.end206.7.3 ] | |
%loadVec4200.1678 = phi <4 x float> [ %loadVec4200.1, %for.body63 ], [ %loadVec4200.1.3, %for.inc217.2 ], [ %loadVec4200.1676, %if.end206.7.3 ] | |
%loadVec4200668 = phi <4 x float> [ %loadVec4200, %for.body63 ], [ %loadVec4200.3655, %for.inc217.2 ], [ %loadVec4200666, %if.end206.7.3 ] | |
%indvars.iv.next = add nsw i64 %indvars.iv, 1 | |
%lftr.wideiv = trunc i64 %indvars.iv.next to i32 | |
%exitcond = icmp eq i32 %lftr.wideiv, %nb_sci.sroa.11.0.copyload | |
br i1 %exitcond, label %for.end223.loopexit, label %for.body63 | |
for.end223.loopexit: ; preds = %for.inc221 | |
%.lcssa832 = phi <3 x float> [ %95, %for.inc221 ] | |
%.lcssa831 = phi <3 x float> [ %94, %for.inc221 ] | |
%.lcssa830 = phi <3 x float> [ %93, %for.inc221 ] | |
%.lcssa829 = phi <3 x float> [ %92, %for.inc221 ] | |
%.lcssa828 = phi <3 x float> [ %91, %for.inc221 ] | |
%.lcssa827 = phi <3 x float> [ %90, %for.inc221 ] | |
%.lcssa = phi <3 x float> [ %89, %for.inc221 ] | |
%fci_buf.sroa.37.2.lcssa = phi <4 x float> [ %fci_buf.sroa.37.2, %for.inc221 ] | |
br label %for.end223 | |
for.end223: ; preds = %for.end223.loopexit, %if.end.for.end223_crit_edge | |
%add236.7.pre-phi = phi i32 [ %.pre808, %if.end.for.end223_crit_edge ], [ %add121.7.3, %for.end223.loopexit ] | |
%add236.6.pre-phi = phi i32 [ %.pre806, %if.end.for.end223_crit_edge ], [ %add121.6.3, %for.end223.loopexit ] | |
%add236.5.pre-phi = phi i32 [ %.pre804, %if.end.for.end223_crit_edge ], [ %add121.5.3, %for.end223.loopexit ] | |
%add236.4.pre-phi = phi i32 [ %.pre802, %if.end.for.end223_crit_edge ], [ %add121.4.3, %for.end223.loopexit ] | |
%add236.3.pre-phi = phi i32 [ %.pre800, %if.end.for.end223_crit_edge ], [ %add121.3.3, %for.end223.loopexit ] | |
%add236.2.pre-phi = phi i32 [ %.pre798, %if.end.for.end223_crit_edge ], [ %add121.2.3, %for.end223.loopexit ] | |
%add236.1.pre-phi = phi i32 [ %.pre796, %if.end.for.end223_crit_edge ], [ %add121.1.3, %for.end223.loopexit ] | |
%add236.pre-phi = phi i32 [ %.pre794, %if.end.for.end223_crit_edge ], [ %add121.3621, %for.end223.loopexit ] | |
%fci_buf.sroa.37.3 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.end.for.end223_crit_edge ], [ %fci_buf.sroa.37.2.lcssa, %for.end223.loopexit ] | |
%arrayidx244.pre-phi = phi float addrspace(3)* [ %.pre747, %if.end.for.end223_crit_edge ], [ %arrayidx215, %for.end223.loopexit ] | |
%arrayidx241.pre-phi = phi float addrspace(3)* [ %.pre745, %if.end.for.end223_crit_edge ], [ %arrayidx213, %for.end223.loopexit ] | |
%arrayidx238.pre-phi = phi float addrspace(3)* [ %.pre, %if.end.for.end223_crit_edge ], [ %arrayidx211, %for.end223.loopexit ] | |
%96 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end223_crit_edge ], [ %.lcssa, %for.end223.loopexit ] | |
%97 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end223_crit_edge ], [ %.lcssa827, %for.end223.loopexit ] | |
%98 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end223_crit_edge ], [ %.lcssa828, %for.end223.loopexit ] | |
%99 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end223_crit_edge ], [ %.lcssa829, %for.end223.loopexit ] | |
%100 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end223_crit_edge ], [ %.lcssa830, %for.end223.loopexit ] | |
%101 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end223_crit_edge ], [ %.lcssa831, %for.end223.loopexit ] | |
%102 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end223_crit_edge ], [ %.lcssa832, %for.end223.loopexit ] | |
store float 0.000000e+00, float* %fshift_buf, align 4, !tbaa !39 | |
%tobool245748 = icmp ne i32 %bCalcFshift, 0 | |
%not.cmp225 = icmp ne i32 %nb_sci.sroa.4.0.copyload, 22 | |
%tobool245 = and i1 %tobool245748, %not.cmp225 | |
%103 = extractelement <3 x float> %102, i32 0 | |
store float %103, float addrspace(3)* %arrayidx238.pre-phi, align 4, !tbaa !39 | |
%104 = extractelement <3 x float> %102, i32 1 | |
store float %104, float addrspace(3)* %arrayidx241.pre-phi, align 4, !tbaa !39 | |
%105 = extractelement <3 x float> %102, i32 2 | |
store float %105, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool245, i32 %x.i, i32 %y.i, i32 %add236.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%106 = extractelement <3 x float> %101, i32 0 | |
store float %106, float addrspace(3)* %arrayidx238.pre-phi, align 4, !tbaa !39 | |
%107 = extractelement <3 x float> %101, i32 1 | |
store float %107, float addrspace(3)* %arrayidx241.pre-phi, align 4, !tbaa !39 | |
%108 = extractelement <3 x float> %101, i32 2 | |
store float %108, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool245, i32 %x.i, i32 %y.i, i32 %add236.1.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%109 = extractelement <3 x float> %100, i32 0 | |
store float %109, float addrspace(3)* %arrayidx238.pre-phi, align 4, !tbaa !39 | |
%110 = extractelement <3 x float> %100, i32 1 | |
store float %110, float addrspace(3)* %arrayidx241.pre-phi, align 4, !tbaa !39 | |
%111 = extractelement <3 x float> %100, i32 2 | |
store float %111, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool245, i32 %x.i, i32 %y.i, i32 %add236.2.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%112 = extractelement <3 x float> %99, i32 0 | |
store float %112, float addrspace(3)* %arrayidx238.pre-phi, align 4, !tbaa !39 | |
%113 = extractelement <3 x float> %99, i32 1 | |
store float %113, float addrspace(3)* %arrayidx241.pre-phi, align 4, !tbaa !39 | |
%114 = extractelement <3 x float> %99, i32 2 | |
store float %114, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool245, i32 %x.i, i32 %y.i, i32 %add236.3.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%115 = extractelement <3 x float> %98, i32 0 | |
store float %115, float addrspace(3)* %arrayidx238.pre-phi, align 4, !tbaa !39 | |
%116 = extractelement <3 x float> %98, i32 1 | |
store float %116, float addrspace(3)* %arrayidx241.pre-phi, align 4, !tbaa !39 | |
%117 = extractelement <3 x float> %98, i32 2 | |
store float %117, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool245, i32 %x.i, i32 %y.i, i32 %add236.4.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%118 = extractelement <3 x float> %97, i32 0 | |
store float %118, float addrspace(3)* %arrayidx238.pre-phi, align 4, !tbaa !39 | |
%119 = extractelement <3 x float> %97, i32 1 | |
store float %119, float addrspace(3)* %arrayidx241.pre-phi, align 4, !tbaa !39 | |
%120 = extractelement <3 x float> %97, i32 2 | |
store float %120, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool245, i32 %x.i, i32 %y.i, i32 %add236.5.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%121 = extractelement <3 x float> %96, i32 0 | |
store float %121, float addrspace(3)* %arrayidx238.pre-phi, align 4, !tbaa !39 | |
%122 = extractelement <3 x float> %96, i32 1 | |
store float %122, float addrspace(3)* %arrayidx241.pre-phi, align 4, !tbaa !39 | |
%123 = extractelement <3 x float> %96, i32 2 | |
store float %123, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool245, i32 %x.i, i32 %y.i, i32 %add236.6.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%124 = extractelement <4 x float> %fci_buf.sroa.37.3, i32 0 | |
store float %124, float addrspace(3)* %arrayidx238.pre-phi, align 4, !tbaa !39 | |
%125 = extractelement <4 x float> %fci_buf.sroa.37.3, i32 1 | |
store float %125, float addrspace(3)* %arrayidx241.pre-phi, align 4, !tbaa !39 | |
%126 = extractelement <4 x float> %fci_buf.sroa.37.3, i32 2 | |
store float %126, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool245, i32 %x.i, i32 %y.i, i32 %add236.7.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%cmp251 = icmp ult i32 %y.i, 3 | |
%or.cond262 = and i1 %cmp251, %tobool245 | |
br i1 %or.cond262, label %if.then253, label %if.end259 | |
if.then253: ; preds = %for.end223 | |
%add256 = add i32 %mul34, %y.i | |
%127 = sext i32 %add256 to i64 | |
%arrayidx257 = getelementptr inbounds float, float addrspace(1)* %fshift, i64 %127 | |
%128 = load float, float* %fshift_buf, align 4, !tbaa !39 | |
%129 = load volatile float, float addrspace(1)* %arrayidx257, align 4, !tbaa !39 | |
%130 = bitcast float %129 to i32 | |
%131 = bitcast float addrspace(1)* %arrayidx257 to i32 addrspace(1)* | |
br label %do.body.i | |
do.body.i: ; preds = %do.body.i, %if.then253 | |
%current.sroa.0.0.i = phi i32 [ %130, %if.then253 ], [ %135, %do.body.i ] | |
%132 = bitcast i32 %current.sroa.0.0.i to float | |
%add.i = fadd float %128, %132 | |
%133 = bitcast float %add.i to i32 | |
%134 = cmpxchg volatile i32 addrspace(1)* %131, i32 %current.sroa.0.0.i, i32 %133 seq_cst seq_cst | |
%135 = extractvalue { i32, i1 } %134, 0 | |
%cmp.i = extractvalue { i32, i1 } %134, 1 | |
br i1 %cmp.i, label %if.end259.loopexit, label %do.body.i | |
if.end259.loopexit: ; preds = %do.body.i | |
br label %if.end259 | |
if.end259: ; preds = %if.end259.loopexit, %for.end223 | |
call void @llvm.lifetime.end(i64 4, i8* %0) #5 | |
ret void | |
if.then117.1: ; preds = %if.end206 | |
%136 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.1.3, align 16, !tbaa !36 | |
%137 = fsub <4 x float> %136, %51 | |
%138 = extractelement <4 x float> %137, i32 0 | |
%139 = extractelement <4 x float> %137, i32 1 | |
%mul3.i.i.1 = fmul float %139, %139 | |
%140 = tail call float @llvm.fmuladd.f32(float %138, float %138, float %mul3.i.i.1) #5 | |
%141 = extractelement <4 x float> %137, i32 2 | |
%142 = tail call float @llvm.fmuladd.f32(float %141, float %141, float %140) #5 | |
%and137.1 = and i32 %47, 2 | |
%tobool138.1 = icmp ne i32 %and137.1, 0 | |
%cond.1 = select i1 %tobool138.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1 = icmp ne i32 %34, %49 | |
%not.or.cond.1 = or i1 %notlhs, %notrhs.1 | |
%cmp145..1 = or i1 %cmp145, %not.or.cond.1 | |
%conv147.1 = uitofp i1 %cmp145..1 to float | |
%mul148.1 = fmul float %conv147.1, %nbparam_params_rcoulomb_sq | |
%cmp149.1 = fcmp olt float %142, %mul148.1 | |
br i1 %cmp149.1, label %if.then151.1, label %if.end206.1 | |
if.then151.1: ; preds = %if.then117.1 | |
%extractVec135.1 = shufflevector <4 x float> %137, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%143 = extractelement <4 x float> %136, i32 3 | |
%144 = load i32, i32 addrspace(1)* %arrayidx152.1.3, align 4, !tbaa !41 | |
%mul153.1 = mul nsw i32 %144, %ntypes | |
%add154.1 = add nsw i32 %mul153.1, %53 | |
%mul155.1 = shl nsw i32 %add154.1, 1 | |
%145 = sext i32 %mul155.1 to i64 | |
%arrayidx156.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %145 | |
%146 = load float, float addrspace(2)* %arrayidx156.1, align 4, !tbaa !39 | |
%add160.1 = or i32 %mul155.1, 1 | |
%147 = sext i32 %add160.1 to i64 | |
%arrayidx161.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %147 | |
%148 = load float, float addrspace(2)* %arrayidx161.1, align 4, !tbaa !39 | |
%sub162.1 = fsub float 1.000000e+00, %cond.1 | |
%149 = tail call float @llvm.fmuladd.f32(float %sub162.1, float 0x3D71979980000000, float %142) | |
%cmp.i.i.1 = fcmp olt float %149, 0.000000e+00 | |
%call.i.i.1 = tail call float @llvm.sqrt.f32(float %149) #6 | |
%call.i.i.op.1 = fdiv float 1.000000e+00, %call.i.i.1 | |
%div165.1 = select i1 %cmp.i.i.1, float 0x7FF8000000000000, float %call.i.i.op.1 | |
%mul166.1 = fmul float %div165.1, %div165.1 | |
%mul167.1 = fmul float %mul166.1, %mul166.1 | |
%mul168.1 = fmul float %mul166.1, %mul167.1 | |
%mul169.1 = fmul float %cond.1, %mul168.1 | |
%neg.1 = fsub float -0.000000e+00, %146 | |
%150 = tail call float @llvm.fmuladd.f32(float %148, float %mul169.1, float %neg.1) | |
%mul171.1 = fmul float %mul169.1, %150 | |
%mul172.1 = fmul float %mul166.1, %mul171.1 | |
%mul173.1 = fmul float %52, %143 | |
%mul174.1 = fmul float %cond.1, %mul166.1 | |
%mul176.1 = fmul float %mul, %149 | |
%mul.i.1 = fmul float %mul176.1, %mul176.1 | |
%151 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1, float 0x3FBDA79640000000) #5 | |
%152 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1, float 0x3FE03C5780000000) #5 | |
%153 = tail call float @llvm.fmuladd.f32(float %151, float %mul.i.1, float 1.000000e+00) #5 | |
%154 = tail call float @llvm.fmuladd.f32(float %152, float %mul176.1, float %153) #5 | |
%div.i.1 = fdiv float 1.000000e+00, %154, !fpmath !46 | |
%155 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1, float 0xBF0BFF7260000000) #5 | |
%156 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1, float 0x3F50794180000000) #5 | |
%157 = tail call float @llvm.fmuladd.f32(float %155, float %mul.i.1, float 0xBF93BDB200000000) #5 | |
%158 = tail call float @llvm.fmuladd.f32(float %156, float %mul.i.1, float 0x3FB1D5E760000000) #5 | |
%159 = tail call float @llvm.fmuladd.f32(float %157, float %mul.i.1, float 0xBFE81272E0000000) #5 | |
%160 = tail call float @llvm.fmuladd.f32(float %158, float %mul176.1, float %159) #5 | |
%mul11.i.1 = fmul float %160, %div.i.1 | |
%mul178.1 = fmul float %mul19, %mul11.i.1 | |
%161 = tail call float @llvm.fmuladd.f32(float %mul174.1, float %div165.1, float %mul178.1) | |
%162 = tail call float @llvm.fmuladd.f32(float %mul173.1, float %161, float %mul172.1) | |
%splat.splatinsert.1 = insertelement <3 x float> undef, float %162, i32 0 | |
%splat.splat.1 = shufflevector <3 x float> %splat.splatinsert.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.1 = fmul <3 x float> %extractVec135.1, %splat.splat.1 | |
%extractVec191.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.1 = fsub <3 x float> %extractVec191.1, %mul183.1 | |
%extractVec193.1 = shufflevector <3 x float> %sub192.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.1 = shufflevector <4 x float> %loadVec4200.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.1 = fadd <3 x float> %extractVec201.1, %mul183.1 | |
%extractVec203.1 = shufflevector <3 x float> %add202.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.1 | |
if.end206.1: ; preds = %if.then151.1, %if.then117.1, %if.end206 | |
%163 = phi <3 x float> [ %add202.1, %if.then151.1 ], [ %42, %if.then117.1 ], [ %42, %if.end206 ] | |
%loadVec4200.1683 = phi <4 x float> [ %extractVec203.1, %if.then151.1 ], [ %loadVec4200.1, %if.then117.1 ], [ %loadVec4200.1, %if.end206 ] | |
%fcj_buf.sroa.0.1.1 = phi <4 x float> [ %extractVec193.1, %if.then151.1 ], [ %fcj_buf.sroa.0.1, %if.then117.1 ], [ %fcj_buf.sroa.0.1, %if.end206 ] | |
%and115.2 = and i32 %45, 4 | |
%tobool116.2 = icmp eq i32 %and115.2, 0 | |
br i1 %tobool116.2, label %if.end206.2, label %if.then117.2 | |
if.then117.2: ; preds = %if.end206.1 | |
%164 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.2.3, align 16, !tbaa !36 | |
%165 = fsub <4 x float> %164, %51 | |
%166 = extractelement <4 x float> %165, i32 0 | |
%167 = extractelement <4 x float> %165, i32 1 | |
%mul3.i.i.2 = fmul float %167, %167 | |
%168 = tail call float @llvm.fmuladd.f32(float %166, float %166, float %mul3.i.i.2) #5 | |
%169 = extractelement <4 x float> %165, i32 2 | |
%170 = tail call float @llvm.fmuladd.f32(float %169, float %169, float %168) #5 | |
%and137.2 = and i32 %47, 4 | |
%tobool138.2 = icmp ne i32 %and137.2, 0 | |
%cond.2 = select i1 %tobool138.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2 = icmp ne i32 %32, %49 | |
%not.or.cond.2 = or i1 %notlhs, %notrhs.2 | |
%cmp145..2 = or i1 %cmp145, %not.or.cond.2 | |
%conv147.2 = uitofp i1 %cmp145..2 to float | |
%mul148.2 = fmul float %conv147.2, %nbparam_params_rcoulomb_sq | |
%cmp149.2 = fcmp olt float %170, %mul148.2 | |
br i1 %cmp149.2, label %if.then151.2, label %if.end206.2 | |
if.then151.2: ; preds = %if.then117.2 | |
%extractVec135.2 = shufflevector <4 x float> %165, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%171 = extractelement <4 x float> %164, i32 3 | |
%172 = load i32, i32 addrspace(1)* %arrayidx152.2.3, align 4, !tbaa !41 | |
%mul153.2 = mul nsw i32 %172, %ntypes | |
%add154.2 = add nsw i32 %mul153.2, %53 | |
%mul155.2 = shl nsw i32 %add154.2, 1 | |
%173 = sext i32 %mul155.2 to i64 | |
%arrayidx156.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %173 | |
%174 = load float, float addrspace(2)* %arrayidx156.2, align 4, !tbaa !39 | |
%add160.2 = or i32 %mul155.2, 1 | |
%175 = sext i32 %add160.2 to i64 | |
%arrayidx161.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %175 | |
%176 = load float, float addrspace(2)* %arrayidx161.2, align 4, !tbaa !39 | |
%sub162.2 = fsub float 1.000000e+00, %cond.2 | |
%177 = tail call float @llvm.fmuladd.f32(float %sub162.2, float 0x3D71979980000000, float %170) | |
%cmp.i.i.2 = fcmp olt float %177, 0.000000e+00 | |
%call.i.i.2 = tail call float @llvm.sqrt.f32(float %177) #6 | |
%call.i.i.op.2 = fdiv float 1.000000e+00, %call.i.i.2 | |
%div165.2 = select i1 %cmp.i.i.2, float 0x7FF8000000000000, float %call.i.i.op.2 | |
%mul166.2 = fmul float %div165.2, %div165.2 | |
%mul167.2 = fmul float %mul166.2, %mul166.2 | |
%mul168.2 = fmul float %mul166.2, %mul167.2 | |
%mul169.2 = fmul float %cond.2, %mul168.2 | |
%neg.2 = fsub float -0.000000e+00, %174 | |
%178 = tail call float @llvm.fmuladd.f32(float %176, float %mul169.2, float %neg.2) | |
%mul171.2 = fmul float %mul169.2, %178 | |
%mul172.2 = fmul float %mul166.2, %mul171.2 | |
%mul173.2 = fmul float %52, %171 | |
%mul174.2 = fmul float %cond.2, %mul166.2 | |
%mul176.2 = fmul float %mul, %177 | |
%mul.i.2 = fmul float %mul176.2, %mul176.2 | |
%179 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2, float 0x3FBDA79640000000) #5 | |
%180 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2, float 0x3FE03C5780000000) #5 | |
%181 = tail call float @llvm.fmuladd.f32(float %179, float %mul.i.2, float 1.000000e+00) #5 | |
%182 = tail call float @llvm.fmuladd.f32(float %180, float %mul176.2, float %181) #5 | |
%div.i.2 = fdiv float 1.000000e+00, %182, !fpmath !46 | |
%183 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2, float 0xBF0BFF7260000000) #5 | |
%184 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2, float 0x3F50794180000000) #5 | |
%185 = tail call float @llvm.fmuladd.f32(float %183, float %mul.i.2, float 0xBF93BDB200000000) #5 | |
%186 = tail call float @llvm.fmuladd.f32(float %184, float %mul.i.2, float 0x3FB1D5E760000000) #5 | |
%187 = tail call float @llvm.fmuladd.f32(float %185, float %mul.i.2, float 0xBFE81272E0000000) #5 | |
%188 = tail call float @llvm.fmuladd.f32(float %186, float %mul176.2, float %187) #5 | |
%mul11.i.2 = fmul float %188, %div.i.2 | |
%mul178.2 = fmul float %mul19, %mul11.i.2 | |
%189 = tail call float @llvm.fmuladd.f32(float %mul174.2, float %div165.2, float %mul178.2) | |
%190 = tail call float @llvm.fmuladd.f32(float %mul173.2, float %189, float %mul172.2) | |
%splat.splatinsert.2 = insertelement <3 x float> undef, float %190, i32 0 | |
%splat.splat.2 = shufflevector <3 x float> %splat.splatinsert.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.2 = fmul <3 x float> %extractVec135.2, %splat.splat.2 | |
%extractVec191.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.2 = fsub <3 x float> %extractVec191.2, %mul183.2 | |
%extractVec193.2 = shufflevector <3 x float> %sub192.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.2 = shufflevector <4 x float> %loadVec4200.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.2 = fadd <3 x float> %extractVec201.2, %mul183.2 | |
%extractVec203.2 = shufflevector <3 x float> %add202.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.2 | |
if.end206.2: ; preds = %if.then151.2, %if.then117.2, %if.end206.1 | |
%191 = phi <3 x float> [ %add202.2, %if.then151.2 ], [ %41, %if.then117.2 ], [ %41, %if.end206.1 ] | |
%loadVec4200.2693 = phi <4 x float> [ %extractVec203.2, %if.then151.2 ], [ %loadVec4200.2, %if.then117.2 ], [ %loadVec4200.2, %if.end206.1 ] | |
%fcj_buf.sroa.0.1.2 = phi <4 x float> [ %extractVec193.2, %if.then151.2 ], [ %fcj_buf.sroa.0.1.1, %if.then117.2 ], [ %fcj_buf.sroa.0.1.1, %if.end206.1 ] | |
%and115.3 = and i32 %45, 8 | |
%tobool116.3 = icmp eq i32 %and115.3, 0 | |
br i1 %tobool116.3, label %if.end206.3, label %if.then117.3 | |
if.then117.3: ; preds = %if.end206.2 | |
%192 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.3.3, align 16, !tbaa !36 | |
%193 = fsub <4 x float> %192, %51 | |
%194 = extractelement <4 x float> %193, i32 0 | |
%195 = extractelement <4 x float> %193, i32 1 | |
%mul3.i.i.3 = fmul float %195, %195 | |
%196 = tail call float @llvm.fmuladd.f32(float %194, float %194, float %mul3.i.i.3) #5 | |
%197 = extractelement <4 x float> %193, i32 2 | |
%198 = tail call float @llvm.fmuladd.f32(float %197, float %197, float %196) #5 | |
%and137.3 = and i32 %47, 8 | |
%tobool138.3 = icmp ne i32 %and137.3, 0 | |
%cond.3 = select i1 %tobool138.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3 = icmp ne i32 %30, %49 | |
%not.or.cond.3 = or i1 %notlhs, %notrhs.3 | |
%cmp145..3 = or i1 %cmp145, %not.or.cond.3 | |
%conv147.3 = uitofp i1 %cmp145..3 to float | |
%mul148.3 = fmul float %conv147.3, %nbparam_params_rcoulomb_sq | |
%cmp149.3 = fcmp olt float %198, %mul148.3 | |
br i1 %cmp149.3, label %if.then151.3, label %if.end206.3 | |
if.then151.3: ; preds = %if.then117.3 | |
%extractVec135.3 = shufflevector <4 x float> %193, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%199 = extractelement <4 x float> %192, i32 3 | |
%200 = load i32, i32 addrspace(1)* %arrayidx152.3.3, align 4, !tbaa !41 | |
%mul153.3 = mul nsw i32 %200, %ntypes | |
%add154.3 = add nsw i32 %mul153.3, %53 | |
%mul155.3 = shl nsw i32 %add154.3, 1 | |
%201 = sext i32 %mul155.3 to i64 | |
%arrayidx156.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %201 | |
%202 = load float, float addrspace(2)* %arrayidx156.3, align 4, !tbaa !39 | |
%add160.3 = or i32 %mul155.3, 1 | |
%203 = sext i32 %add160.3 to i64 | |
%arrayidx161.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %203 | |
%204 = load float, float addrspace(2)* %arrayidx161.3, align 4, !tbaa !39 | |
%sub162.3 = fsub float 1.000000e+00, %cond.3 | |
%205 = tail call float @llvm.fmuladd.f32(float %sub162.3, float 0x3D71979980000000, float %198) | |
%cmp.i.i.3 = fcmp olt float %205, 0.000000e+00 | |
%call.i.i.3 = tail call float @llvm.sqrt.f32(float %205) #6 | |
%call.i.i.op.3 = fdiv float 1.000000e+00, %call.i.i.3 | |
%div165.3 = select i1 %cmp.i.i.3, float 0x7FF8000000000000, float %call.i.i.op.3 | |
%mul166.3 = fmul float %div165.3, %div165.3 | |
%mul167.3 = fmul float %mul166.3, %mul166.3 | |
%mul168.3 = fmul float %mul166.3, %mul167.3 | |
%mul169.3 = fmul float %cond.3, %mul168.3 | |
%neg.3 = fsub float -0.000000e+00, %202 | |
%206 = tail call float @llvm.fmuladd.f32(float %204, float %mul169.3, float %neg.3) | |
%mul171.3 = fmul float %mul169.3, %206 | |
%mul172.3 = fmul float %mul166.3, %mul171.3 | |
%mul173.3 = fmul float %52, %199 | |
%mul174.3 = fmul float %cond.3, %mul166.3 | |
%mul176.3 = fmul float %mul, %205 | |
%mul.i.3 = fmul float %mul176.3, %mul176.3 | |
%207 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3, float 0x3FBDA79640000000) #5 | |
%208 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3, float 0x3FE03C5780000000) #5 | |
%209 = tail call float @llvm.fmuladd.f32(float %207, float %mul.i.3, float 1.000000e+00) #5 | |
%210 = tail call float @llvm.fmuladd.f32(float %208, float %mul176.3, float %209) #5 | |
%div.i.3 = fdiv float 1.000000e+00, %210, !fpmath !46 | |
%211 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3, float 0xBF0BFF7260000000) #5 | |
%212 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3, float 0x3F50794180000000) #5 | |
%213 = tail call float @llvm.fmuladd.f32(float %211, float %mul.i.3, float 0xBF93BDB200000000) #5 | |
%214 = tail call float @llvm.fmuladd.f32(float %212, float %mul.i.3, float 0x3FB1D5E760000000) #5 | |
%215 = tail call float @llvm.fmuladd.f32(float %213, float %mul.i.3, float 0xBFE81272E0000000) #5 | |
%216 = tail call float @llvm.fmuladd.f32(float %214, float %mul176.3, float %215) #5 | |
%mul11.i.3 = fmul float %216, %div.i.3 | |
%mul178.3 = fmul float %mul19, %mul11.i.3 | |
%217 = tail call float @llvm.fmuladd.f32(float %mul174.3, float %div165.3, float %mul178.3) | |
%218 = tail call float @llvm.fmuladd.f32(float %mul173.3, float %217, float %mul172.3) | |
%splat.splatinsert.3 = insertelement <3 x float> undef, float %218, i32 0 | |
%splat.splat.3 = shufflevector <3 x float> %splat.splatinsert.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.3 = fmul <3 x float> %extractVec135.3, %splat.splat.3 | |
%extractVec191.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.3 = fsub <3 x float> %extractVec191.3, %mul183.3 | |
%extractVec193.3 = shufflevector <3 x float> %sub192.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.3 = shufflevector <4 x float> %loadVec4200.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.3 = fadd <3 x float> %extractVec201.3, %mul183.3 | |
%extractVec203.3 = shufflevector <3 x float> %add202.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.3 | |
if.end206.3: ; preds = %if.then151.3, %if.then117.3, %if.end206.2 | |
%219 = phi <3 x float> [ %add202.3, %if.then151.3 ], [ %40, %if.then117.3 ], [ %40, %if.end206.2 ] | |
%loadVec4200.3703 = phi <4 x float> [ %extractVec203.3, %if.then151.3 ], [ %loadVec4200.3, %if.then117.3 ], [ %loadVec4200.3, %if.end206.2 ] | |
%fcj_buf.sroa.0.1.3 = phi <4 x float> [ %extractVec193.3, %if.then151.3 ], [ %fcj_buf.sroa.0.1.2, %if.then117.3 ], [ %fcj_buf.sroa.0.1.2, %if.end206.2 ] | |
%and115.4 = and i32 %45, 16 | |
%tobool116.4 = icmp eq i32 %and115.4, 0 | |
br i1 %tobool116.4, label %if.end206.4, label %if.then117.4 | |
if.then117.4: ; preds = %if.end206.3 | |
%220 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.4.3, align 16, !tbaa !36 | |
%221 = fsub <4 x float> %220, %51 | |
%222 = extractelement <4 x float> %221, i32 0 | |
%223 = extractelement <4 x float> %221, i32 1 | |
%mul3.i.i.4 = fmul float %223, %223 | |
%224 = tail call float @llvm.fmuladd.f32(float %222, float %222, float %mul3.i.i.4) #5 | |
%225 = extractelement <4 x float> %221, i32 2 | |
%226 = tail call float @llvm.fmuladd.f32(float %225, float %225, float %224) #5 | |
%and137.4 = and i32 %47, 16 | |
%tobool138.4 = icmp ne i32 %and137.4, 0 | |
%cond.4 = select i1 %tobool138.4, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.4 = icmp ne i32 %28, %49 | |
%not.or.cond.4 = or i1 %notlhs, %notrhs.4 | |
%cmp145..4 = or i1 %cmp145, %not.or.cond.4 | |
%conv147.4 = uitofp i1 %cmp145..4 to float | |
%mul148.4 = fmul float %conv147.4, %nbparam_params_rcoulomb_sq | |
%cmp149.4 = fcmp olt float %226, %mul148.4 | |
br i1 %cmp149.4, label %if.then151.4, label %if.end206.4 | |
if.then151.4: ; preds = %if.then117.4 | |
%extractVec135.4 = shufflevector <4 x float> %221, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%227 = extractelement <4 x float> %220, i32 3 | |
%228 = load i32, i32 addrspace(1)* %arrayidx152.4.3, align 4, !tbaa !41 | |
%mul153.4 = mul nsw i32 %228, %ntypes | |
%add154.4 = add nsw i32 %mul153.4, %53 | |
%mul155.4 = shl nsw i32 %add154.4, 1 | |
%229 = sext i32 %mul155.4 to i64 | |
%arrayidx156.4 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %229 | |
%230 = load float, float addrspace(2)* %arrayidx156.4, align 4, !tbaa !39 | |
%add160.4 = or i32 %mul155.4, 1 | |
%231 = sext i32 %add160.4 to i64 | |
%arrayidx161.4 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %231 | |
%232 = load float, float addrspace(2)* %arrayidx161.4, align 4, !tbaa !39 | |
%sub162.4 = fsub float 1.000000e+00, %cond.4 | |
%233 = tail call float @llvm.fmuladd.f32(float %sub162.4, float 0x3D71979980000000, float %226) | |
%cmp.i.i.4 = fcmp olt float %233, 0.000000e+00 | |
%call.i.i.4 = tail call float @llvm.sqrt.f32(float %233) #6 | |
%call.i.i.op.4 = fdiv float 1.000000e+00, %call.i.i.4 | |
%div165.4 = select i1 %cmp.i.i.4, float 0x7FF8000000000000, float %call.i.i.op.4 | |
%mul166.4 = fmul float %div165.4, %div165.4 | |
%mul167.4 = fmul float %mul166.4, %mul166.4 | |
%mul168.4 = fmul float %mul166.4, %mul167.4 | |
%mul169.4 = fmul float %cond.4, %mul168.4 | |
%neg.4 = fsub float -0.000000e+00, %230 | |
%234 = tail call float @llvm.fmuladd.f32(float %232, float %mul169.4, float %neg.4) | |
%mul171.4 = fmul float %mul169.4, %234 | |
%mul172.4 = fmul float %mul166.4, %mul171.4 | |
%mul173.4 = fmul float %52, %227 | |
%mul174.4 = fmul float %cond.4, %mul166.4 | |
%mul176.4 = fmul float %mul, %233 | |
%mul.i.4 = fmul float %mul176.4, %mul176.4 | |
%235 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.4, float 0x3FBDA79640000000) #5 | |
%236 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.4, float 0x3FE03C5780000000) #5 | |
%237 = tail call float @llvm.fmuladd.f32(float %235, float %mul.i.4, float 1.000000e+00) #5 | |
%238 = tail call float @llvm.fmuladd.f32(float %236, float %mul176.4, float %237) #5 | |
%div.i.4 = fdiv float 1.000000e+00, %238, !fpmath !46 | |
%239 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.4, float 0xBF0BFF7260000000) #5 | |
%240 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.4, float 0x3F50794180000000) #5 | |
%241 = tail call float @llvm.fmuladd.f32(float %239, float %mul.i.4, float 0xBF93BDB200000000) #5 | |
%242 = tail call float @llvm.fmuladd.f32(float %240, float %mul.i.4, float 0x3FB1D5E760000000) #5 | |
%243 = tail call float @llvm.fmuladd.f32(float %241, float %mul.i.4, float 0xBFE81272E0000000) #5 | |
%244 = tail call float @llvm.fmuladd.f32(float %242, float %mul176.4, float %243) #5 | |
%mul11.i.4 = fmul float %244, %div.i.4 | |
%mul178.4 = fmul float %mul19, %mul11.i.4 | |
%245 = tail call float @llvm.fmuladd.f32(float %mul174.4, float %div165.4, float %mul178.4) | |
%246 = tail call float @llvm.fmuladd.f32(float %mul173.4, float %245, float %mul172.4) | |
%splat.splatinsert.4 = insertelement <3 x float> undef, float %246, i32 0 | |
%splat.splat.4 = shufflevector <3 x float> %splat.splatinsert.4, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.4 = fmul <3 x float> %extractVec135.4, %splat.splat.4 | |
%extractVec191.4 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.4 = fsub <3 x float> %extractVec191.4, %mul183.4 | |
%extractVec193.4 = shufflevector <3 x float> %sub192.4, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.4 = shufflevector <4 x float> %loadVec4200.4, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.4 = fadd <3 x float> %extractVec201.4, %mul183.4 | |
%extractVec203.4 = shufflevector <3 x float> %add202.4, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.4 | |
if.end206.4: ; preds = %if.then151.4, %if.then117.4, %if.end206.3 | |
%247 = phi <3 x float> [ %add202.4, %if.then151.4 ], [ %39, %if.then117.4 ], [ %39, %if.end206.3 ] | |
%loadVec4200.4713 = phi <4 x float> [ %extractVec203.4, %if.then151.4 ], [ %loadVec4200.4, %if.then117.4 ], [ %loadVec4200.4, %if.end206.3 ] | |
%fcj_buf.sroa.0.1.4 = phi <4 x float> [ %extractVec193.4, %if.then151.4 ], [ %fcj_buf.sroa.0.1.3, %if.then117.4 ], [ %fcj_buf.sroa.0.1.3, %if.end206.3 ] | |
%and115.5 = and i32 %45, 32 | |
%tobool116.5 = icmp eq i32 %and115.5, 0 | |
br i1 %tobool116.5, label %if.end206.5, label %if.then117.5 | |
if.then117.5: ; preds = %if.end206.4 | |
%248 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.5.3, align 16, !tbaa !36 | |
%249 = fsub <4 x float> %248, %51 | |
%250 = extractelement <4 x float> %249, i32 0 | |
%251 = extractelement <4 x float> %249, i32 1 | |
%mul3.i.i.5 = fmul float %251, %251 | |
%252 = tail call float @llvm.fmuladd.f32(float %250, float %250, float %mul3.i.i.5) #5 | |
%253 = extractelement <4 x float> %249, i32 2 | |
%254 = tail call float @llvm.fmuladd.f32(float %253, float %253, float %252) #5 | |
%and137.5 = and i32 %47, 32 | |
%tobool138.5 = icmp ne i32 %and137.5, 0 | |
%cond.5 = select i1 %tobool138.5, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.5 = icmp ne i32 %26, %49 | |
%not.or.cond.5 = or i1 %notlhs, %notrhs.5 | |
%cmp145..5 = or i1 %cmp145, %not.or.cond.5 | |
%conv147.5 = uitofp i1 %cmp145..5 to float | |
%mul148.5 = fmul float %conv147.5, %nbparam_params_rcoulomb_sq | |
%cmp149.5 = fcmp olt float %254, %mul148.5 | |
br i1 %cmp149.5, label %if.then151.5, label %if.end206.5 | |
if.then151.5: ; preds = %if.then117.5 | |
%extractVec135.5 = shufflevector <4 x float> %249, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%255 = extractelement <4 x float> %248, i32 3 | |
%256 = load i32, i32 addrspace(1)* %arrayidx152.5.3, align 4, !tbaa !41 | |
%mul153.5 = mul nsw i32 %256, %ntypes | |
%add154.5 = add nsw i32 %mul153.5, %53 | |
%mul155.5 = shl nsw i32 %add154.5, 1 | |
%257 = sext i32 %mul155.5 to i64 | |
%arrayidx156.5 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %257 | |
%258 = load float, float addrspace(2)* %arrayidx156.5, align 4, !tbaa !39 | |
%add160.5 = or i32 %mul155.5, 1 | |
%259 = sext i32 %add160.5 to i64 | |
%arrayidx161.5 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %259 | |
%260 = load float, float addrspace(2)* %arrayidx161.5, align 4, !tbaa !39 | |
%sub162.5 = fsub float 1.000000e+00, %cond.5 | |
%261 = tail call float @llvm.fmuladd.f32(float %sub162.5, float 0x3D71979980000000, float %254) | |
%cmp.i.i.5 = fcmp olt float %261, 0.000000e+00 | |
%call.i.i.5 = tail call float @llvm.sqrt.f32(float %261) #6 | |
%call.i.i.op.5 = fdiv float 1.000000e+00, %call.i.i.5 | |
%div165.5 = select i1 %cmp.i.i.5, float 0x7FF8000000000000, float %call.i.i.op.5 | |
%mul166.5 = fmul float %div165.5, %div165.5 | |
%mul167.5 = fmul float %mul166.5, %mul166.5 | |
%mul168.5 = fmul float %mul166.5, %mul167.5 | |
%mul169.5 = fmul float %cond.5, %mul168.5 | |
%neg.5 = fsub float -0.000000e+00, %258 | |
%262 = tail call float @llvm.fmuladd.f32(float %260, float %mul169.5, float %neg.5) | |
%mul171.5 = fmul float %mul169.5, %262 | |
%mul172.5 = fmul float %mul166.5, %mul171.5 | |
%mul173.5 = fmul float %52, %255 | |
%mul174.5 = fmul float %cond.5, %mul166.5 | |
%mul176.5 = fmul float %mul, %261 | |
%mul.i.5 = fmul float %mul176.5, %mul176.5 | |
%263 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.5, float 0x3FBDA79640000000) #5 | |
%264 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.5, float 0x3FE03C5780000000) #5 | |
%265 = tail call float @llvm.fmuladd.f32(float %263, float %mul.i.5, float 1.000000e+00) #5 | |
%266 = tail call float @llvm.fmuladd.f32(float %264, float %mul176.5, float %265) #5 | |
%div.i.5 = fdiv float 1.000000e+00, %266, !fpmath !46 | |
%267 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.5, float 0xBF0BFF7260000000) #5 | |
%268 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.5, float 0x3F50794180000000) #5 | |
%269 = tail call float @llvm.fmuladd.f32(float %267, float %mul.i.5, float 0xBF93BDB200000000) #5 | |
%270 = tail call float @llvm.fmuladd.f32(float %268, float %mul.i.5, float 0x3FB1D5E760000000) #5 | |
%271 = tail call float @llvm.fmuladd.f32(float %269, float %mul.i.5, float 0xBFE81272E0000000) #5 | |
%272 = tail call float @llvm.fmuladd.f32(float %270, float %mul176.5, float %271) #5 | |
%mul11.i.5 = fmul float %272, %div.i.5 | |
%mul178.5 = fmul float %mul19, %mul11.i.5 | |
%273 = tail call float @llvm.fmuladd.f32(float %mul174.5, float %div165.5, float %mul178.5) | |
%274 = tail call float @llvm.fmuladd.f32(float %mul173.5, float %273, float %mul172.5) | |
%splat.splatinsert.5 = insertelement <3 x float> undef, float %274, i32 0 | |
%splat.splat.5 = shufflevector <3 x float> %splat.splatinsert.5, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.5 = fmul <3 x float> %extractVec135.5, %splat.splat.5 | |
%extractVec191.5 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.5 = fsub <3 x float> %extractVec191.5, %mul183.5 | |
%extractVec193.5 = shufflevector <3 x float> %sub192.5, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.5 = shufflevector <4 x float> %loadVec4200.5, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.5 = fadd <3 x float> %extractVec201.5, %mul183.5 | |
%extractVec203.5 = shufflevector <3 x float> %add202.5, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.5 | |
if.end206.5: ; preds = %if.then151.5, %if.then117.5, %if.end206.4 | |
%275 = phi <3 x float> [ %add202.5, %if.then151.5 ], [ %38, %if.then117.5 ], [ %38, %if.end206.4 ] | |
%loadVec4200.5723 = phi <4 x float> [ %extractVec203.5, %if.then151.5 ], [ %loadVec4200.5, %if.then117.5 ], [ %loadVec4200.5, %if.end206.4 ] | |
%fcj_buf.sroa.0.1.5 = phi <4 x float> [ %extractVec193.5, %if.then151.5 ], [ %fcj_buf.sroa.0.1.4, %if.then117.5 ], [ %fcj_buf.sroa.0.1.4, %if.end206.4 ] | |
%and115.6 = and i32 %45, 64 | |
%tobool116.6 = icmp eq i32 %and115.6, 0 | |
br i1 %tobool116.6, label %if.end206.6, label %if.then117.6 | |
if.then117.6: ; preds = %if.end206.5 | |
%276 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.6.3, align 16, !tbaa !36 | |
%277 = fsub <4 x float> %276, %51 | |
%278 = extractelement <4 x float> %277, i32 0 | |
%279 = extractelement <4 x float> %277, i32 1 | |
%mul3.i.i.6 = fmul float %279, %279 | |
%280 = tail call float @llvm.fmuladd.f32(float %278, float %278, float %mul3.i.i.6) #5 | |
%281 = extractelement <4 x float> %277, i32 2 | |
%282 = tail call float @llvm.fmuladd.f32(float %281, float %281, float %280) #5 | |
%and137.6 = and i32 %47, 64 | |
%tobool138.6 = icmp ne i32 %and137.6, 0 | |
%cond.6 = select i1 %tobool138.6, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.6 = icmp ne i32 %24, %49 | |
%not.or.cond.6 = or i1 %notlhs, %notrhs.6 | |
%cmp145..6 = or i1 %cmp145, %not.or.cond.6 | |
%conv147.6 = uitofp i1 %cmp145..6 to float | |
%mul148.6 = fmul float %conv147.6, %nbparam_params_rcoulomb_sq | |
%cmp149.6 = fcmp olt float %282, %mul148.6 | |
br i1 %cmp149.6, label %if.then151.6, label %if.end206.6 | |
if.then151.6: ; preds = %if.then117.6 | |
%extractVec135.6 = shufflevector <4 x float> %277, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%283 = extractelement <4 x float> %276, i32 3 | |
%284 = load i32, i32 addrspace(1)* %arrayidx152.6.3, align 4, !tbaa !41 | |
%mul153.6 = mul nsw i32 %284, %ntypes | |
%add154.6 = add nsw i32 %mul153.6, %53 | |
%mul155.6 = shl nsw i32 %add154.6, 1 | |
%285 = sext i32 %mul155.6 to i64 | |
%arrayidx156.6 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %285 | |
%286 = load float, float addrspace(2)* %arrayidx156.6, align 4, !tbaa !39 | |
%add160.6 = or i32 %mul155.6, 1 | |
%287 = sext i32 %add160.6 to i64 | |
%arrayidx161.6 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %287 | |
%288 = load float, float addrspace(2)* %arrayidx161.6, align 4, !tbaa !39 | |
%sub162.6 = fsub float 1.000000e+00, %cond.6 | |
%289 = tail call float @llvm.fmuladd.f32(float %sub162.6, float 0x3D71979980000000, float %282) | |
%cmp.i.i.6 = fcmp olt float %289, 0.000000e+00 | |
%call.i.i.6 = tail call float @llvm.sqrt.f32(float %289) #6 | |
%call.i.i.op.6 = fdiv float 1.000000e+00, %call.i.i.6 | |
%div165.6 = select i1 %cmp.i.i.6, float 0x7FF8000000000000, float %call.i.i.op.6 | |
%mul166.6 = fmul float %div165.6, %div165.6 | |
%mul167.6 = fmul float %mul166.6, %mul166.6 | |
%mul168.6 = fmul float %mul166.6, %mul167.6 | |
%mul169.6 = fmul float %cond.6, %mul168.6 | |
%neg.6 = fsub float -0.000000e+00, %286 | |
%290 = tail call float @llvm.fmuladd.f32(float %288, float %mul169.6, float %neg.6) | |
%mul171.6 = fmul float %mul169.6, %290 | |
%mul172.6 = fmul float %mul166.6, %mul171.6 | |
%mul173.6 = fmul float %52, %283 | |
%mul174.6 = fmul float %cond.6, %mul166.6 | |
%mul176.6 = fmul float %mul, %289 | |
%mul.i.6 = fmul float %mul176.6, %mul176.6 | |
%291 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.6, float 0x3FBDA79640000000) #5 | |
%292 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.6, float 0x3FE03C5780000000) #5 | |
%293 = tail call float @llvm.fmuladd.f32(float %291, float %mul.i.6, float 1.000000e+00) #5 | |
%294 = tail call float @llvm.fmuladd.f32(float %292, float %mul176.6, float %293) #5 | |
%div.i.6 = fdiv float 1.000000e+00, %294, !fpmath !46 | |
%295 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.6, float 0xBF0BFF7260000000) #5 | |
%296 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.6, float 0x3F50794180000000) #5 | |
%297 = tail call float @llvm.fmuladd.f32(float %295, float %mul.i.6, float 0xBF93BDB200000000) #5 | |
%298 = tail call float @llvm.fmuladd.f32(float %296, float %mul.i.6, float 0x3FB1D5E760000000) #5 | |
%299 = tail call float @llvm.fmuladd.f32(float %297, float %mul.i.6, float 0xBFE81272E0000000) #5 | |
%300 = tail call float @llvm.fmuladd.f32(float %298, float %mul176.6, float %299) #5 | |
%mul11.i.6 = fmul float %300, %div.i.6 | |
%mul178.6 = fmul float %mul19, %mul11.i.6 | |
%301 = tail call float @llvm.fmuladd.f32(float %mul174.6, float %div165.6, float %mul178.6) | |
%302 = tail call float @llvm.fmuladd.f32(float %mul173.6, float %301, float %mul172.6) | |
%splat.splatinsert.6 = insertelement <3 x float> undef, float %302, i32 0 | |
%splat.splat.6 = shufflevector <3 x float> %splat.splatinsert.6, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.6 = fmul <3 x float> %extractVec135.6, %splat.splat.6 | |
%extractVec191.6 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.6 = fsub <3 x float> %extractVec191.6, %mul183.6 | |
%extractVec193.6 = shufflevector <3 x float> %sub192.6, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.6 = shufflevector <4 x float> %loadVec4200.6, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.6 = fadd <3 x float> %extractVec201.6, %mul183.6 | |
%extractVec203.6 = shufflevector <3 x float> %add202.6, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.6 | |
if.end206.6: ; preds = %if.then151.6, %if.then117.6, %if.end206.5 | |
%303 = phi <3 x float> [ %add202.6, %if.then151.6 ], [ %37, %if.then117.6 ], [ %37, %if.end206.5 ] | |
%loadVec4200.6733 = phi <4 x float> [ %extractVec203.6, %if.then151.6 ], [ %loadVec4200.6, %if.then117.6 ], [ %loadVec4200.6, %if.end206.5 ] | |
%fcj_buf.sroa.0.1.6 = phi <4 x float> [ %extractVec193.6, %if.then151.6 ], [ %fcj_buf.sroa.0.1.5, %if.then117.6 ], [ %fcj_buf.sroa.0.1.5, %if.end206.5 ] | |
%and115.7 = and i32 %45, 128 | |
%tobool116.7 = icmp eq i32 %and115.7, 0 | |
br i1 %tobool116.7, label %if.end206.7, label %if.then117.7 | |
if.then117.7: ; preds = %if.end206.6 | |
%304 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.7.3, align 16, !tbaa !36 | |
%305 = fsub <4 x float> %304, %51 | |
%306 = extractelement <4 x float> %305, i32 0 | |
%307 = extractelement <4 x float> %305, i32 1 | |
%mul3.i.i.7 = fmul float %307, %307 | |
%308 = tail call float @llvm.fmuladd.f32(float %306, float %306, float %mul3.i.i.7) #5 | |
%309 = extractelement <4 x float> %305, i32 2 | |
%310 = tail call float @llvm.fmuladd.f32(float %309, float %309, float %308) #5 | |
%and137.7 = and i32 %47, 128 | |
%tobool138.7 = icmp ne i32 %and137.7, 0 | |
%cond.7 = select i1 %tobool138.7, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.7 = icmp ne i32 %22, %49 | |
%not.or.cond.7 = or i1 %notlhs, %notrhs.7 | |
%cmp145..7 = or i1 %cmp145, %not.or.cond.7 | |
%conv147.7 = uitofp i1 %cmp145..7 to float | |
%mul148.7 = fmul float %conv147.7, %nbparam_params_rcoulomb_sq | |
%cmp149.7 = fcmp olt float %310, %mul148.7 | |
br i1 %cmp149.7, label %if.then151.7, label %if.end206.7 | |
if.then151.7: ; preds = %if.then117.7 | |
%extractVec135.7 = shufflevector <4 x float> %305, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%311 = extractelement <4 x float> %304, i32 3 | |
%312 = load i32, i32 addrspace(1)* %arrayidx152.7.3, align 4, !tbaa !41 | |
%mul153.7 = mul nsw i32 %312, %ntypes | |
%add154.7 = add nsw i32 %mul153.7, %53 | |
%mul155.7 = shl nsw i32 %add154.7, 1 | |
%313 = sext i32 %mul155.7 to i64 | |
%arrayidx156.7 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %313 | |
%314 = load float, float addrspace(2)* %arrayidx156.7, align 4, !tbaa !39 | |
%add160.7 = or i32 %mul155.7, 1 | |
%315 = sext i32 %add160.7 to i64 | |
%arrayidx161.7 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %315 | |
%316 = load float, float addrspace(2)* %arrayidx161.7, align 4, !tbaa !39 | |
%sub162.7 = fsub float 1.000000e+00, %cond.7 | |
%317 = tail call float @llvm.fmuladd.f32(float %sub162.7, float 0x3D71979980000000, float %310) | |
%cmp.i.i.7 = fcmp olt float %317, 0.000000e+00 | |
%call.i.i.7 = tail call float @llvm.sqrt.f32(float %317) #6 | |
%call.i.i.op.7 = fdiv float 1.000000e+00, %call.i.i.7 | |
%div165.7 = select i1 %cmp.i.i.7, float 0x7FF8000000000000, float %call.i.i.op.7 | |
%mul166.7 = fmul float %div165.7, %div165.7 | |
%mul167.7 = fmul float %mul166.7, %mul166.7 | |
%mul168.7 = fmul float %mul166.7, %mul167.7 | |
%mul169.7 = fmul float %cond.7, %mul168.7 | |
%neg.7 = fsub float -0.000000e+00, %314 | |
%318 = tail call float @llvm.fmuladd.f32(float %316, float %mul169.7, float %neg.7) | |
%mul171.7 = fmul float %mul169.7, %318 | |
%mul172.7 = fmul float %mul166.7, %mul171.7 | |
%mul173.7 = fmul float %52, %311 | |
%mul174.7 = fmul float %cond.7, %mul166.7 | |
%mul176.7 = fmul float %mul, %317 | |
%mul.i.7 = fmul float %mul176.7, %mul176.7 | |
%319 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.7, float 0x3FBDA79640000000) #5 | |
%320 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.7, float 0x3FE03C5780000000) #5 | |
%321 = tail call float @llvm.fmuladd.f32(float %319, float %mul.i.7, float 1.000000e+00) #5 | |
%322 = tail call float @llvm.fmuladd.f32(float %320, float %mul176.7, float %321) #5 | |
%div.i.7 = fdiv float 1.000000e+00, %322, !fpmath !46 | |
%323 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.7, float 0xBF0BFF7260000000) #5 | |
%324 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.7, float 0x3F50794180000000) #5 | |
%325 = tail call float @llvm.fmuladd.f32(float %323, float %mul.i.7, float 0xBF93BDB200000000) #5 | |
%326 = tail call float @llvm.fmuladd.f32(float %324, float %mul.i.7, float 0x3FB1D5E760000000) #5 | |
%327 = tail call float @llvm.fmuladd.f32(float %325, float %mul.i.7, float 0xBFE81272E0000000) #5 | |
%328 = tail call float @llvm.fmuladd.f32(float %326, float %mul176.7, float %327) #5 | |
%mul11.i.7 = fmul float %328, %div.i.7 | |
%mul178.7 = fmul float %mul19, %mul11.i.7 | |
%329 = tail call float @llvm.fmuladd.f32(float %mul174.7, float %div165.7, float %mul178.7) | |
%330 = tail call float @llvm.fmuladd.f32(float %mul173.7, float %329, float %mul172.7) | |
%splat.splatinsert.7 = insertelement <3 x float> undef, float %330, i32 0 | |
%splat.splat.7 = shufflevector <3 x float> %splat.splatinsert.7, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.7 = fmul <3 x float> %extractVec135.7, %splat.splat.7 | |
%extractVec191.7 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.7 = fsub <3 x float> %extractVec191.7, %mul183.7 | |
%extractVec193.7 = shufflevector <3 x float> %sub192.7, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.7 = shufflevector <4 x float> %loadVec4200.7, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.7 = fadd <3 x float> %extractVec201.7, %mul183.7 | |
%extractVec203.7 = shufflevector <3 x float> %add202.7, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.7 | |
if.end206.7: ; preds = %if.then151.7, %if.then117.7, %if.end206.6 | |
%fci_buf.sroa.37.4 = phi <4 x float> [ %fci_buf.sroa.37.0, %if.end206.6 ], [ %extractVec203.7, %if.then151.7 ], [ %fci_buf.sroa.37.0, %if.then117.7 ] | |
%loadVec4200.7743 = phi <4 x float> [ %loadVec4200.7, %if.end206.6 ], [ %extractVec203.7, %if.then151.7 ], [ %loadVec4200.7, %if.then117.7 ] | |
%fcj_buf.sroa.0.1.7 = phi <4 x float> [ %fcj_buf.sroa.0.1.6, %if.end206.6 ], [ %extractVec193.7, %if.then151.7 ], [ %fcj_buf.sroa.0.1.6, %if.then117.7 ] | |
%331 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 0 | |
store float %331, float addrspace(3)* %arrayidx211, align 4, !tbaa !39 | |
%332 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 1 | |
store float %332, float addrspace(3)* %arrayidx213, align 4, !tbaa !39 | |
%333 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 2 | |
store float %333, float addrspace(3)* %arrayidx215, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add106) | |
br label %for.inc217 | |
if.then96.1: ; preds = %for.inc217 | |
%334 = load i32, i32 addrspace(3)* %arrayidx104.1, align 4, !tbaa !41 | |
%mul105.1 = shl nsw i32 %334, 3 | |
%add106.1 = add i32 %mul105.1, %y.i | |
%335 = sext i32 %add106.1 to i64 | |
%arrayidx107.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %335 | |
%336 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx107.1, align 16, !tbaa !36 | |
%337 = extractelement <4 x float> %336, i32 3 | |
%arrayidx109.1 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %335 | |
%338 = load i32, i32 addrspace(1)* %arrayidx109.1, align 4, !tbaa !41 | |
%and115.1489 = and i32 %45, 256 | |
%tobool116.1490 = icmp eq i32 %and115.1489, 0 | |
br i1 %tobool116.1490, label %if.end206.1546, label %if.then117.1502 | |
if.then117.1502: ; preds = %if.then96.1 | |
%339 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.3607, align 16, !tbaa !36 | |
%340 = fsub <4 x float> %339, %336 | |
%341 = extractelement <4 x float> %340, i32 0 | |
%342 = extractelement <4 x float> %340, i32 1 | |
%mul3.i.i.1492 = fmul float %342, %342 | |
%343 = tail call float @llvm.fmuladd.f32(float %341, float %341, float %mul3.i.i.1492) #5 | |
%344 = extractelement <4 x float> %340, i32 2 | |
%345 = tail call float @llvm.fmuladd.f32(float %344, float %344, float %343) #5 | |
%and137.1493 = and i32 %47, 256 | |
%tobool138.1494 = icmp ne i32 %and137.1493, 0 | |
%cond.1495 = select i1 %tobool138.1494, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1496 = icmp ne i32 %mul29, %334 | |
%not.or.cond.1497 = or i1 %notlhs, %notrhs.1496 | |
%cmp145..1498 = or i1 %cmp145, %not.or.cond.1497 | |
%conv147.1499 = uitofp i1 %cmp145..1498 to float | |
%mul148.1500 = fmul float %conv147.1499, %nbparam_params_rcoulomb_sq | |
%cmp149.1501 = fcmp olt float %345, %mul148.1500 | |
br i1 %cmp149.1501, label %if.then151.1543, label %if.end206.1546 | |
if.then151.1543: ; preds = %if.then117.1502 | |
%extractVec135.1503 = shufflevector <4 x float> %340, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%346 = extractelement <4 x float> %339, i32 3 | |
%347 = load i32, i32 addrspace(1)* %arrayidx152.3622, align 4, !tbaa !41 | |
%mul153.1507 = mul nsw i32 %347, %ntypes | |
%add154.1508 = add nsw i32 %mul153.1507, %338 | |
%mul155.1509 = shl nsw i32 %add154.1508, 1 | |
%348 = sext i32 %mul155.1509 to i64 | |
%arrayidx156.1510 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %348 | |
%349 = load float, float addrspace(2)* %arrayidx156.1510, align 4, !tbaa !39 | |
%add160.1511 = or i32 %mul155.1509, 1 | |
%350 = sext i32 %add160.1511 to i64 | |
%arrayidx161.1512 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %350 | |
%351 = load float, float addrspace(2)* %arrayidx161.1512, align 4, !tbaa !39 | |
%sub162.1513 = fsub float 1.000000e+00, %cond.1495 | |
%352 = tail call float @llvm.fmuladd.f32(float %sub162.1513, float 0x3D71979980000000, float %345) | |
%cmp.i.i.1514 = fcmp olt float %352, 0.000000e+00 | |
%call.i.i.1515 = tail call float @llvm.sqrt.f32(float %352) #6 | |
%call.i.i.op.1516 = fdiv float 1.000000e+00, %call.i.i.1515 | |
%div165.1517 = select i1 %cmp.i.i.1514, float 0x7FF8000000000000, float %call.i.i.op.1516 | |
%mul166.1518 = fmul float %div165.1517, %div165.1517 | |
%mul167.1519 = fmul float %mul166.1518, %mul166.1518 | |
%mul168.1520 = fmul float %mul166.1518, %mul167.1519 | |
%mul169.1521 = fmul float %cond.1495, %mul168.1520 | |
%neg.1522 = fsub float -0.000000e+00, %349 | |
%353 = tail call float @llvm.fmuladd.f32(float %351, float %mul169.1521, float %neg.1522) | |
%mul171.1523 = fmul float %mul169.1521, %353 | |
%mul172.1524 = fmul float %mul166.1518, %mul171.1523 | |
%mul173.1525 = fmul float %337, %346 | |
%mul174.1526 = fmul float %cond.1495, %mul166.1518 | |
%mul176.1527 = fmul float %mul, %352 | |
%mul.i.1528 = fmul float %mul176.1527, %mul176.1527 | |
%354 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1528, float 0x3FBDA79640000000) #5 | |
%355 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1528, float 0x3FE03C5780000000) #5 | |
%356 = tail call float @llvm.fmuladd.f32(float %354, float %mul.i.1528, float 1.000000e+00) #5 | |
%357 = tail call float @llvm.fmuladd.f32(float %355, float %mul176.1527, float %356) #5 | |
%div.i.1529 = fdiv float 1.000000e+00, %357, !fpmath !46 | |
%358 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1528, float 0xBF0BFF7260000000) #5 | |
%359 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1528, float 0x3F50794180000000) #5 | |
%360 = tail call float @llvm.fmuladd.f32(float %358, float %mul.i.1528, float 0xBF93BDB200000000) #5 | |
%361 = tail call float @llvm.fmuladd.f32(float %359, float %mul.i.1528, float 0x3FB1D5E760000000) #5 | |
%362 = tail call float @llvm.fmuladd.f32(float %360, float %mul.i.1528, float 0xBFE81272E0000000) #5 | |
%363 = tail call float @llvm.fmuladd.f32(float %361, float %mul176.1527, float %362) #5 | |
%mul11.i.1530 = fmul float %363, %div.i.1529 | |
%mul178.1531 = fmul float %mul19, %mul11.i.1530 | |
%364 = tail call float @llvm.fmuladd.f32(float %mul174.1526, float %div165.1517, float %mul178.1531) | |
%365 = tail call float @llvm.fmuladd.f32(float %mul173.1525, float %364, float %mul172.1524) | |
%splat.splatinsert.1532 = insertelement <3 x float> undef, float %365, i32 0 | |
%splat.splat.1533 = shufflevector <3 x float> %splat.splatinsert.1532, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.1534 = fmul <3 x float> %extractVec135.1503, %splat.splat.1533 | |
%sub192.1535 = fsub <3 x float> zeroinitializer, %mul183.1534 | |
%extractVec193.1536 = shufflevector <3 x float> %sub192.1535, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.1540 = shufflevector <4 x float> %loadVec4200.1539, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.1541 = fadd <3 x float> %extractVec201.1540, %mul183.1534 | |
%extractVec203.1542 = shufflevector <3 x float> %add202.1541, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.1546 | |
if.end206.1546: ; preds = %if.then151.1543, %if.then117.1502, %if.then96.1 | |
%366 = phi <3 x float> [ %add202.1541, %if.then151.1543 ], [ %88, %if.then117.1502 ], [ %88, %if.then96.1 ] | |
%loadVec4200664 = phi <4 x float> [ %extractVec203.1542, %if.then151.1543 ], [ %loadVec4200.1539, %if.then117.1502 ], [ %loadVec4200.1539, %if.then96.1 ] | |
%fcj_buf.sroa.0.1.1544 = phi <4 x float> [ %extractVec193.1536, %if.then151.1543 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then117.1502 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then96.1 ] | |
%and115.1.1 = and i32 %45, 512 | |
%tobool116.1.1 = icmp eq i32 %and115.1.1, 0 | |
br i1 %tobool116.1.1, label %if.end206.1.1, label %if.then117.1.1 | |
if.then117.1.1: ; preds = %if.end206.1546 | |
%367 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.1.3, align 16, !tbaa !36 | |
%368 = fsub <4 x float> %367, %336 | |
%369 = extractelement <4 x float> %368, i32 0 | |
%370 = extractelement <4 x float> %368, i32 1 | |
%mul3.i.i.1.1 = fmul float %370, %370 | |
%371 = tail call float @llvm.fmuladd.f32(float %369, float %369, float %mul3.i.i.1.1) #5 | |
%372 = extractelement <4 x float> %368, i32 2 | |
%373 = tail call float @llvm.fmuladd.f32(float %372, float %372, float %371) #5 | |
%and137.1.1 = and i32 %47, 512 | |
%tobool138.1.1 = icmp ne i32 %and137.1.1, 0 | |
%cond.1.1 = select i1 %tobool138.1.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1.1 = icmp ne i32 %34, %334 | |
%not.or.cond.1.1 = or i1 %notlhs, %notrhs.1.1 | |
%cmp145..1.1 = or i1 %cmp145, %not.or.cond.1.1 | |
%conv147.1.1 = uitofp i1 %cmp145..1.1 to float | |
%mul148.1.1 = fmul float %conv147.1.1, %nbparam_params_rcoulomb_sq | |
%cmp149.1.1 = fcmp olt float %373, %mul148.1.1 | |
br i1 %cmp149.1.1, label %if.then151.1.1, label %if.end206.1.1 | |
if.then151.1.1: ; preds = %if.then117.1.1 | |
%extractVec135.1.1 = shufflevector <4 x float> %368, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%374 = extractelement <4 x float> %367, i32 3 | |
%375 = load i32, i32 addrspace(1)* %arrayidx152.1.3, align 4, !tbaa !41 | |
%mul153.1.1 = mul nsw i32 %375, %ntypes | |
%add154.1.1 = add nsw i32 %mul153.1.1, %338 | |
%mul155.1.1 = shl nsw i32 %add154.1.1, 1 | |
%376 = sext i32 %mul155.1.1 to i64 | |
%arrayidx156.1.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %376 | |
%377 = load float, float addrspace(2)* %arrayidx156.1.1, align 4, !tbaa !39 | |
%add160.1.1 = or i32 %mul155.1.1, 1 | |
%378 = sext i32 %add160.1.1 to i64 | |
%arrayidx161.1.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %378 | |
%379 = load float, float addrspace(2)* %arrayidx161.1.1, align 4, !tbaa !39 | |
%sub162.1.1 = fsub float 1.000000e+00, %cond.1.1 | |
%380 = tail call float @llvm.fmuladd.f32(float %sub162.1.1, float 0x3D71979980000000, float %373) | |
%cmp.i.i.1.1 = fcmp olt float %380, 0.000000e+00 | |
%call.i.i.1.1 = tail call float @llvm.sqrt.f32(float %380) #6 | |
%call.i.i.op.1.1 = fdiv float 1.000000e+00, %call.i.i.1.1 | |
%div165.1.1 = select i1 %cmp.i.i.1.1, float 0x7FF8000000000000, float %call.i.i.op.1.1 | |
%mul166.1.1 = fmul float %div165.1.1, %div165.1.1 | |
%mul167.1.1 = fmul float %mul166.1.1, %mul166.1.1 | |
%mul168.1.1 = fmul float %mul166.1.1, %mul167.1.1 | |
%mul169.1.1 = fmul float %cond.1.1, %mul168.1.1 | |
%neg.1.1 = fsub float -0.000000e+00, %377 | |
%381 = tail call float @llvm.fmuladd.f32(float %379, float %mul169.1.1, float %neg.1.1) | |
%mul171.1.1 = fmul float %mul169.1.1, %381 | |
%mul172.1.1 = fmul float %mul166.1.1, %mul171.1.1 | |
%mul173.1.1 = fmul float %337, %374 | |
%mul174.1.1 = fmul float %cond.1.1, %mul166.1.1 | |
%mul176.1.1 = fmul float %mul, %380 | |
%mul.i.1.1 = fmul float %mul176.1.1, %mul176.1.1 | |
%382 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1.1, float 0x3FBDA79640000000) #5 | |
%383 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1.1, float 0x3FE03C5780000000) #5 | |
%384 = tail call float @llvm.fmuladd.f32(float %382, float %mul.i.1.1, float 1.000000e+00) #5 | |
%385 = tail call float @llvm.fmuladd.f32(float %383, float %mul176.1.1, float %384) #5 | |
%div.i.1.1 = fdiv float 1.000000e+00, %385, !fpmath !46 | |
%386 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1.1, float 0xBF0BFF7260000000) #5 | |
%387 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1.1, float 0x3F50794180000000) #5 | |
%388 = tail call float @llvm.fmuladd.f32(float %386, float %mul.i.1.1, float 0xBF93BDB200000000) #5 | |
%389 = tail call float @llvm.fmuladd.f32(float %387, float %mul.i.1.1, float 0x3FB1D5E760000000) #5 | |
%390 = tail call float @llvm.fmuladd.f32(float %388, float %mul.i.1.1, float 0xBFE81272E0000000) #5 | |
%391 = tail call float @llvm.fmuladd.f32(float %389, float %mul176.1.1, float %390) #5 | |
%mul11.i.1.1 = fmul float %391, %div.i.1.1 | |
%mul178.1.1 = fmul float %mul19, %mul11.i.1.1 | |
%392 = tail call float @llvm.fmuladd.f32(float %mul174.1.1, float %div165.1.1, float %mul178.1.1) | |
%393 = tail call float @llvm.fmuladd.f32(float %mul173.1.1, float %392, float %mul172.1.1) | |
%splat.splatinsert.1.1 = insertelement <3 x float> undef, float %393, i32 0 | |
%splat.splat.1.1 = shufflevector <3 x float> %splat.splatinsert.1.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.1.1 = fmul <3 x float> %extractVec135.1.1, %splat.splat.1.1 | |
%extractVec191.1.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1544, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.1.1 = fsub <3 x float> %extractVec191.1.1, %mul183.1.1 | |
%extractVec193.1.1 = shufflevector <3 x float> %sub192.1.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.1.1 = shufflevector <4 x float> %loadVec4200.1.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.1.1 = fadd <3 x float> %extractVec201.1.1, %mul183.1.1 | |
%extractVec203.1.1 = shufflevector <3 x float> %add202.1.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.1.1 | |
if.end206.1.1: ; preds = %if.then151.1.1, %if.then117.1.1, %if.end206.1546 | |
%394 = phi <3 x float> [ %add202.1.1, %if.then151.1.1 ], [ %87, %if.then117.1.1 ], [ %87, %if.end206.1546 ] | |
%loadVec4200.1674 = phi <4 x float> [ %extractVec203.1.1, %if.then151.1.1 ], [ %loadVec4200.1.1, %if.then117.1.1 ], [ %loadVec4200.1.1, %if.end206.1546 ] | |
%fcj_buf.sroa.0.1.1.1 = phi <4 x float> [ %extractVec193.1.1, %if.then151.1.1 ], [ %fcj_buf.sroa.0.1.1544, %if.then117.1.1 ], [ %fcj_buf.sroa.0.1.1544, %if.end206.1546 ] | |
%and115.2.1 = and i32 %45, 1024 | |
%tobool116.2.1 = icmp eq i32 %and115.2.1, 0 | |
br i1 %tobool116.2.1, label %if.end206.2.1, label %if.then117.2.1 | |
if.then117.2.1: ; preds = %if.end206.1.1 | |
%395 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.2.3, align 16, !tbaa !36 | |
%396 = fsub <4 x float> %395, %336 | |
%397 = extractelement <4 x float> %396, i32 0 | |
%398 = extractelement <4 x float> %396, i32 1 | |
%mul3.i.i.2.1 = fmul float %398, %398 | |
%399 = tail call float @llvm.fmuladd.f32(float %397, float %397, float %mul3.i.i.2.1) #5 | |
%400 = extractelement <4 x float> %396, i32 2 | |
%401 = tail call float @llvm.fmuladd.f32(float %400, float %400, float %399) #5 | |
%and137.2.1 = and i32 %47, 1024 | |
%tobool138.2.1 = icmp ne i32 %and137.2.1, 0 | |
%cond.2.1 = select i1 %tobool138.2.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2.1 = icmp ne i32 %32, %334 | |
%not.or.cond.2.1 = or i1 %notlhs, %notrhs.2.1 | |
%cmp145..2.1 = or i1 %cmp145, %not.or.cond.2.1 | |
%conv147.2.1 = uitofp i1 %cmp145..2.1 to float | |
%mul148.2.1 = fmul float %conv147.2.1, %nbparam_params_rcoulomb_sq | |
%cmp149.2.1 = fcmp olt float %401, %mul148.2.1 | |
br i1 %cmp149.2.1, label %if.then151.2.1, label %if.end206.2.1 | |
if.then151.2.1: ; preds = %if.then117.2.1 | |
%extractVec135.2.1 = shufflevector <4 x float> %396, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%402 = extractelement <4 x float> %395, i32 3 | |
%403 = load i32, i32 addrspace(1)* %arrayidx152.2.3, align 4, !tbaa !41 | |
%mul153.2.1 = mul nsw i32 %403, %ntypes | |
%add154.2.1 = add nsw i32 %mul153.2.1, %338 | |
%mul155.2.1 = shl nsw i32 %add154.2.1, 1 | |
%404 = sext i32 %mul155.2.1 to i64 | |
%arrayidx156.2.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %404 | |
%405 = load float, float addrspace(2)* %arrayidx156.2.1, align 4, !tbaa !39 | |
%add160.2.1 = or i32 %mul155.2.1, 1 | |
%406 = sext i32 %add160.2.1 to i64 | |
%arrayidx161.2.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %406 | |
%407 = load float, float addrspace(2)* %arrayidx161.2.1, align 4, !tbaa !39 | |
%sub162.2.1 = fsub float 1.000000e+00, %cond.2.1 | |
%408 = tail call float @llvm.fmuladd.f32(float %sub162.2.1, float 0x3D71979980000000, float %401) | |
%cmp.i.i.2.1 = fcmp olt float %408, 0.000000e+00 | |
%call.i.i.2.1 = tail call float @llvm.sqrt.f32(float %408) #6 | |
%call.i.i.op.2.1 = fdiv float 1.000000e+00, %call.i.i.2.1 | |
%div165.2.1 = select i1 %cmp.i.i.2.1, float 0x7FF8000000000000, float %call.i.i.op.2.1 | |
%mul166.2.1 = fmul float %div165.2.1, %div165.2.1 | |
%mul167.2.1 = fmul float %mul166.2.1, %mul166.2.1 | |
%mul168.2.1 = fmul float %mul166.2.1, %mul167.2.1 | |
%mul169.2.1 = fmul float %cond.2.1, %mul168.2.1 | |
%neg.2.1 = fsub float -0.000000e+00, %405 | |
%409 = tail call float @llvm.fmuladd.f32(float %407, float %mul169.2.1, float %neg.2.1) | |
%mul171.2.1 = fmul float %mul169.2.1, %409 | |
%mul172.2.1 = fmul float %mul166.2.1, %mul171.2.1 | |
%mul173.2.1 = fmul float %337, %402 | |
%mul174.2.1 = fmul float %cond.2.1, %mul166.2.1 | |
%mul176.2.1 = fmul float %mul, %408 | |
%mul.i.2.1 = fmul float %mul176.2.1, %mul176.2.1 | |
%410 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2.1, float 0x3FBDA79640000000) #5 | |
%411 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2.1, float 0x3FE03C5780000000) #5 | |
%412 = tail call float @llvm.fmuladd.f32(float %410, float %mul.i.2.1, float 1.000000e+00) #5 | |
%413 = tail call float @llvm.fmuladd.f32(float %411, float %mul176.2.1, float %412) #5 | |
%div.i.2.1 = fdiv float 1.000000e+00, %413, !fpmath !46 | |
%414 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2.1, float 0xBF0BFF7260000000) #5 | |
%415 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2.1, float 0x3F50794180000000) #5 | |
%416 = tail call float @llvm.fmuladd.f32(float %414, float %mul.i.2.1, float 0xBF93BDB200000000) #5 | |
%417 = tail call float @llvm.fmuladd.f32(float %415, float %mul.i.2.1, float 0x3FB1D5E760000000) #5 | |
%418 = tail call float @llvm.fmuladd.f32(float %416, float %mul.i.2.1, float 0xBFE81272E0000000) #5 | |
%419 = tail call float @llvm.fmuladd.f32(float %417, float %mul176.2.1, float %418) #5 | |
%mul11.i.2.1 = fmul float %419, %div.i.2.1 | |
%mul178.2.1 = fmul float %mul19, %mul11.i.2.1 | |
%420 = tail call float @llvm.fmuladd.f32(float %mul174.2.1, float %div165.2.1, float %mul178.2.1) | |
%421 = tail call float @llvm.fmuladd.f32(float %mul173.2.1, float %420, float %mul172.2.1) | |
%splat.splatinsert.2.1 = insertelement <3 x float> undef, float %421, i32 0 | |
%splat.splat.2.1 = shufflevector <3 x float> %splat.splatinsert.2.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.2.1 = fmul <3 x float> %extractVec135.2.1, %splat.splat.2.1 | |
%extractVec191.2.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.2.1 = fsub <3 x float> %extractVec191.2.1, %mul183.2.1 | |
%extractVec193.2.1 = shufflevector <3 x float> %sub192.2.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.2.1 = shufflevector <4 x float> %loadVec4200.2.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.2.1 = fadd <3 x float> %extractVec201.2.1, %mul183.2.1 | |
%extractVec203.2.1 = shufflevector <3 x float> %add202.2.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.2.1 | |
if.end206.2.1: ; preds = %if.then151.2.1, %if.then117.2.1, %if.end206.1.1 | |
%422 = phi <3 x float> [ %add202.2.1, %if.then151.2.1 ], [ %86, %if.then117.2.1 ], [ %86, %if.end206.1.1 ] | |
%loadVec4200.2684 = phi <4 x float> [ %extractVec203.2.1, %if.then151.2.1 ], [ %loadVec4200.2.1, %if.then117.2.1 ], [ %loadVec4200.2.1, %if.end206.1.1 ] | |
%fcj_buf.sroa.0.1.2.1 = phi <4 x float> [ %extractVec193.2.1, %if.then151.2.1 ], [ %fcj_buf.sroa.0.1.1.1, %if.then117.2.1 ], [ %fcj_buf.sroa.0.1.1.1, %if.end206.1.1 ] | |
%and115.3.1 = and i32 %45, 2048 | |
%tobool116.3.1 = icmp eq i32 %and115.3.1, 0 | |
br i1 %tobool116.3.1, label %if.end206.3.1, label %if.then117.3.1 | |
if.then117.3.1: ; preds = %if.end206.2.1 | |
%423 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.3.3, align 16, !tbaa !36 | |
%424 = fsub <4 x float> %423, %336 | |
%425 = extractelement <4 x float> %424, i32 0 | |
%426 = extractelement <4 x float> %424, i32 1 | |
%mul3.i.i.3.1 = fmul float %426, %426 | |
%427 = tail call float @llvm.fmuladd.f32(float %425, float %425, float %mul3.i.i.3.1) #5 | |
%428 = extractelement <4 x float> %424, i32 2 | |
%429 = tail call float @llvm.fmuladd.f32(float %428, float %428, float %427) #5 | |
%and137.3.1 = and i32 %47, 2048 | |
%tobool138.3.1 = icmp ne i32 %and137.3.1, 0 | |
%cond.3.1 = select i1 %tobool138.3.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3.1 = icmp ne i32 %30, %334 | |
%not.or.cond.3.1 = or i1 %notlhs, %notrhs.3.1 | |
%cmp145..3.1 = or i1 %cmp145, %not.or.cond.3.1 | |
%conv147.3.1 = uitofp i1 %cmp145..3.1 to float | |
%mul148.3.1 = fmul float %conv147.3.1, %nbparam_params_rcoulomb_sq | |
%cmp149.3.1 = fcmp olt float %429, %mul148.3.1 | |
br i1 %cmp149.3.1, label %if.then151.3.1, label %if.end206.3.1 | |
if.then151.3.1: ; preds = %if.then117.3.1 | |
%extractVec135.3.1 = shufflevector <4 x float> %424, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%430 = extractelement <4 x float> %423, i32 3 | |
%431 = load i32, i32 addrspace(1)* %arrayidx152.3.3, align 4, !tbaa !41 | |
%mul153.3.1 = mul nsw i32 %431, %ntypes | |
%add154.3.1 = add nsw i32 %mul153.3.1, %338 | |
%mul155.3.1 = shl nsw i32 %add154.3.1, 1 | |
%432 = sext i32 %mul155.3.1 to i64 | |
%arrayidx156.3.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %432 | |
%433 = load float, float addrspace(2)* %arrayidx156.3.1, align 4, !tbaa !39 | |
%add160.3.1 = or i32 %mul155.3.1, 1 | |
%434 = sext i32 %add160.3.1 to i64 | |
%arrayidx161.3.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %434 | |
%435 = load float, float addrspace(2)* %arrayidx161.3.1, align 4, !tbaa !39 | |
%sub162.3.1 = fsub float 1.000000e+00, %cond.3.1 | |
%436 = tail call float @llvm.fmuladd.f32(float %sub162.3.1, float 0x3D71979980000000, float %429) | |
%cmp.i.i.3.1 = fcmp olt float %436, 0.000000e+00 | |
%call.i.i.3.1 = tail call float @llvm.sqrt.f32(float %436) #6 | |
%call.i.i.op.3.1 = fdiv float 1.000000e+00, %call.i.i.3.1 | |
%div165.3.1 = select i1 %cmp.i.i.3.1, float 0x7FF8000000000000, float %call.i.i.op.3.1 | |
%mul166.3.1 = fmul float %div165.3.1, %div165.3.1 | |
%mul167.3.1 = fmul float %mul166.3.1, %mul166.3.1 | |
%mul168.3.1 = fmul float %mul166.3.1, %mul167.3.1 | |
%mul169.3.1 = fmul float %cond.3.1, %mul168.3.1 | |
%neg.3.1 = fsub float -0.000000e+00, %433 | |
%437 = tail call float @llvm.fmuladd.f32(float %435, float %mul169.3.1, float %neg.3.1) | |
%mul171.3.1 = fmul float %mul169.3.1, %437 | |
%mul172.3.1 = fmul float %mul166.3.1, %mul171.3.1 | |
%mul173.3.1 = fmul float %337, %430 | |
%mul174.3.1 = fmul float %cond.3.1, %mul166.3.1 | |
%mul176.3.1 = fmul float %mul, %436 | |
%mul.i.3.1 = fmul float %mul176.3.1, %mul176.3.1 | |
%438 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3.1, float 0x3FBDA79640000000) #5 | |
%439 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3.1, float 0x3FE03C5780000000) #5 | |
%440 = tail call float @llvm.fmuladd.f32(float %438, float %mul.i.3.1, float 1.000000e+00) #5 | |
%441 = tail call float @llvm.fmuladd.f32(float %439, float %mul176.3.1, float %440) #5 | |
%div.i.3.1 = fdiv float 1.000000e+00, %441, !fpmath !46 | |
%442 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3.1, float 0xBF0BFF7260000000) #5 | |
%443 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3.1, float 0x3F50794180000000) #5 | |
%444 = tail call float @llvm.fmuladd.f32(float %442, float %mul.i.3.1, float 0xBF93BDB200000000) #5 | |
%445 = tail call float @llvm.fmuladd.f32(float %443, float %mul.i.3.1, float 0x3FB1D5E760000000) #5 | |
%446 = tail call float @llvm.fmuladd.f32(float %444, float %mul.i.3.1, float 0xBFE81272E0000000) #5 | |
%447 = tail call float @llvm.fmuladd.f32(float %445, float %mul176.3.1, float %446) #5 | |
%mul11.i.3.1 = fmul float %447, %div.i.3.1 | |
%mul178.3.1 = fmul float %mul19, %mul11.i.3.1 | |
%448 = tail call float @llvm.fmuladd.f32(float %mul174.3.1, float %div165.3.1, float %mul178.3.1) | |
%449 = tail call float @llvm.fmuladd.f32(float %mul173.3.1, float %448, float %mul172.3.1) | |
%splat.splatinsert.3.1 = insertelement <3 x float> undef, float %449, i32 0 | |
%splat.splat.3.1 = shufflevector <3 x float> %splat.splatinsert.3.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.3.1 = fmul <3 x float> %extractVec135.3.1, %splat.splat.3.1 | |
%extractVec191.3.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.3.1 = fsub <3 x float> %extractVec191.3.1, %mul183.3.1 | |
%extractVec193.3.1 = shufflevector <3 x float> %sub192.3.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.3.1 = shufflevector <4 x float> %loadVec4200.3.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.3.1 = fadd <3 x float> %extractVec201.3.1, %mul183.3.1 | |
%extractVec203.3.1 = shufflevector <3 x float> %add202.3.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.3.1 | |
if.end206.3.1: ; preds = %if.then151.3.1, %if.then117.3.1, %if.end206.2.1 | |
%450 = phi <3 x float> [ %add202.3.1, %if.then151.3.1 ], [ %85, %if.then117.3.1 ], [ %85, %if.end206.2.1 ] | |
%loadVec4200.3694 = phi <4 x float> [ %extractVec203.3.1, %if.then151.3.1 ], [ %loadVec4200.3.1, %if.then117.3.1 ], [ %loadVec4200.3.1, %if.end206.2.1 ] | |
%fcj_buf.sroa.0.1.3.1 = phi <4 x float> [ %extractVec193.3.1, %if.then151.3.1 ], [ %fcj_buf.sroa.0.1.2.1, %if.then117.3.1 ], [ %fcj_buf.sroa.0.1.2.1, %if.end206.2.1 ] | |
%and115.4.1 = and i32 %45, 4096 | |
%tobool116.4.1 = icmp eq i32 %and115.4.1, 0 | |
br i1 %tobool116.4.1, label %if.end206.4.1, label %if.then117.4.1 | |
if.then117.4.1: ; preds = %if.end206.3.1 | |
%451 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.4.3, align 16, !tbaa !36 | |
%452 = fsub <4 x float> %451, %336 | |
%453 = extractelement <4 x float> %452, i32 0 | |
%454 = extractelement <4 x float> %452, i32 1 | |
%mul3.i.i.4.1 = fmul float %454, %454 | |
%455 = tail call float @llvm.fmuladd.f32(float %453, float %453, float %mul3.i.i.4.1) #5 | |
%456 = extractelement <4 x float> %452, i32 2 | |
%457 = tail call float @llvm.fmuladd.f32(float %456, float %456, float %455) #5 | |
%and137.4.1 = and i32 %47, 4096 | |
%tobool138.4.1 = icmp ne i32 %and137.4.1, 0 | |
%cond.4.1 = select i1 %tobool138.4.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.4.1 = icmp ne i32 %28, %334 | |
%not.or.cond.4.1 = or i1 %notlhs, %notrhs.4.1 | |
%cmp145..4.1 = or i1 %cmp145, %not.or.cond.4.1 | |
%conv147.4.1 = uitofp i1 %cmp145..4.1 to float | |
%mul148.4.1 = fmul float %conv147.4.1, %nbparam_params_rcoulomb_sq | |
%cmp149.4.1 = fcmp olt float %457, %mul148.4.1 | |
br i1 %cmp149.4.1, label %if.then151.4.1, label %if.end206.4.1 | |
if.then151.4.1: ; preds = %if.then117.4.1 | |
%extractVec135.4.1 = shufflevector <4 x float> %452, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%458 = extractelement <4 x float> %451, i32 3 | |
%459 = load i32, i32 addrspace(1)* %arrayidx152.4.3, align 4, !tbaa !41 | |
%mul153.4.1 = mul nsw i32 %459, %ntypes | |
%add154.4.1 = add nsw i32 %mul153.4.1, %338 | |
%mul155.4.1 = shl nsw i32 %add154.4.1, 1 | |
%460 = sext i32 %mul155.4.1 to i64 | |
%arrayidx156.4.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %460 | |
%461 = load float, float addrspace(2)* %arrayidx156.4.1, align 4, !tbaa !39 | |
%add160.4.1 = or i32 %mul155.4.1, 1 | |
%462 = sext i32 %add160.4.1 to i64 | |
%arrayidx161.4.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %462 | |
%463 = load float, float addrspace(2)* %arrayidx161.4.1, align 4, !tbaa !39 | |
%sub162.4.1 = fsub float 1.000000e+00, %cond.4.1 | |
%464 = tail call float @llvm.fmuladd.f32(float %sub162.4.1, float 0x3D71979980000000, float %457) | |
%cmp.i.i.4.1 = fcmp olt float %464, 0.000000e+00 | |
%call.i.i.4.1 = tail call float @llvm.sqrt.f32(float %464) #6 | |
%call.i.i.op.4.1 = fdiv float 1.000000e+00, %call.i.i.4.1 | |
%div165.4.1 = select i1 %cmp.i.i.4.1, float 0x7FF8000000000000, float %call.i.i.op.4.1 | |
%mul166.4.1 = fmul float %div165.4.1, %div165.4.1 | |
%mul167.4.1 = fmul float %mul166.4.1, %mul166.4.1 | |
%mul168.4.1 = fmul float %mul166.4.1, %mul167.4.1 | |
%mul169.4.1 = fmul float %cond.4.1, %mul168.4.1 | |
%neg.4.1 = fsub float -0.000000e+00, %461 | |
%465 = tail call float @llvm.fmuladd.f32(float %463, float %mul169.4.1, float %neg.4.1) | |
%mul171.4.1 = fmul float %mul169.4.1, %465 | |
%mul172.4.1 = fmul float %mul166.4.1, %mul171.4.1 | |
%mul173.4.1 = fmul float %337, %458 | |
%mul174.4.1 = fmul float %cond.4.1, %mul166.4.1 | |
%mul176.4.1 = fmul float %mul, %464 | |
%mul.i.4.1 = fmul float %mul176.4.1, %mul176.4.1 | |
%466 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.4.1, float 0x3FBDA79640000000) #5 | |
%467 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.4.1, float 0x3FE03C5780000000) #5 | |
%468 = tail call float @llvm.fmuladd.f32(float %466, float %mul.i.4.1, float 1.000000e+00) #5 | |
%469 = tail call float @llvm.fmuladd.f32(float %467, float %mul176.4.1, float %468) #5 | |
%div.i.4.1 = fdiv float 1.000000e+00, %469, !fpmath !46 | |
%470 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.4.1, float 0xBF0BFF7260000000) #5 | |
%471 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.4.1, float 0x3F50794180000000) #5 | |
%472 = tail call float @llvm.fmuladd.f32(float %470, float %mul.i.4.1, float 0xBF93BDB200000000) #5 | |
%473 = tail call float @llvm.fmuladd.f32(float %471, float %mul.i.4.1, float 0x3FB1D5E760000000) #5 | |
%474 = tail call float @llvm.fmuladd.f32(float %472, float %mul.i.4.1, float 0xBFE81272E0000000) #5 | |
%475 = tail call float @llvm.fmuladd.f32(float %473, float %mul176.4.1, float %474) #5 | |
%mul11.i.4.1 = fmul float %475, %div.i.4.1 | |
%mul178.4.1 = fmul float %mul19, %mul11.i.4.1 | |
%476 = tail call float @llvm.fmuladd.f32(float %mul174.4.1, float %div165.4.1, float %mul178.4.1) | |
%477 = tail call float @llvm.fmuladd.f32(float %mul173.4.1, float %476, float %mul172.4.1) | |
%splat.splatinsert.4.1 = insertelement <3 x float> undef, float %477, i32 0 | |
%splat.splat.4.1 = shufflevector <3 x float> %splat.splatinsert.4.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.4.1 = fmul <3 x float> %extractVec135.4.1, %splat.splat.4.1 | |
%extractVec191.4.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.4.1 = fsub <3 x float> %extractVec191.4.1, %mul183.4.1 | |
%extractVec193.4.1 = shufflevector <3 x float> %sub192.4.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.4.1 = shufflevector <4 x float> %loadVec4200.4.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.4.1 = fadd <3 x float> %extractVec201.4.1, %mul183.4.1 | |
%extractVec203.4.1 = shufflevector <3 x float> %add202.4.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.4.1 | |
if.end206.4.1: ; preds = %if.then151.4.1, %if.then117.4.1, %if.end206.3.1 | |
%478 = phi <3 x float> [ %add202.4.1, %if.then151.4.1 ], [ %84, %if.then117.4.1 ], [ %84, %if.end206.3.1 ] | |
%loadVec4200.4704 = phi <4 x float> [ %extractVec203.4.1, %if.then151.4.1 ], [ %loadVec4200.4.1, %if.then117.4.1 ], [ %loadVec4200.4.1, %if.end206.3.1 ] | |
%fcj_buf.sroa.0.1.4.1 = phi <4 x float> [ %extractVec193.4.1, %if.then151.4.1 ], [ %fcj_buf.sroa.0.1.3.1, %if.then117.4.1 ], [ %fcj_buf.sroa.0.1.3.1, %if.end206.3.1 ] | |
%and115.5.1 = and i32 %45, 8192 | |
%tobool116.5.1 = icmp eq i32 %and115.5.1, 0 | |
br i1 %tobool116.5.1, label %if.end206.5.1, label %if.then117.5.1 | |
if.then117.5.1: ; preds = %if.end206.4.1 | |
%479 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.5.3, align 16, !tbaa !36 | |
%480 = fsub <4 x float> %479, %336 | |
%481 = extractelement <4 x float> %480, i32 0 | |
%482 = extractelement <4 x float> %480, i32 1 | |
%mul3.i.i.5.1 = fmul float %482, %482 | |
%483 = tail call float @llvm.fmuladd.f32(float %481, float %481, float %mul3.i.i.5.1) #5 | |
%484 = extractelement <4 x float> %480, i32 2 | |
%485 = tail call float @llvm.fmuladd.f32(float %484, float %484, float %483) #5 | |
%and137.5.1 = and i32 %47, 8192 | |
%tobool138.5.1 = icmp ne i32 %and137.5.1, 0 | |
%cond.5.1 = select i1 %tobool138.5.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.5.1 = icmp ne i32 %26, %334 | |
%not.or.cond.5.1 = or i1 %notlhs, %notrhs.5.1 | |
%cmp145..5.1 = or i1 %cmp145, %not.or.cond.5.1 | |
%conv147.5.1 = uitofp i1 %cmp145..5.1 to float | |
%mul148.5.1 = fmul float %conv147.5.1, %nbparam_params_rcoulomb_sq | |
%cmp149.5.1 = fcmp olt float %485, %mul148.5.1 | |
br i1 %cmp149.5.1, label %if.then151.5.1, label %if.end206.5.1 | |
if.then151.5.1: ; preds = %if.then117.5.1 | |
%extractVec135.5.1 = shufflevector <4 x float> %480, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%486 = extractelement <4 x float> %479, i32 3 | |
%487 = load i32, i32 addrspace(1)* %arrayidx152.5.3, align 4, !tbaa !41 | |
%mul153.5.1 = mul nsw i32 %487, %ntypes | |
%add154.5.1 = add nsw i32 %mul153.5.1, %338 | |
%mul155.5.1 = shl nsw i32 %add154.5.1, 1 | |
%488 = sext i32 %mul155.5.1 to i64 | |
%arrayidx156.5.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %488 | |
%489 = load float, float addrspace(2)* %arrayidx156.5.1, align 4, !tbaa !39 | |
%add160.5.1 = or i32 %mul155.5.1, 1 | |
%490 = sext i32 %add160.5.1 to i64 | |
%arrayidx161.5.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %490 | |
%491 = load float, float addrspace(2)* %arrayidx161.5.1, align 4, !tbaa !39 | |
%sub162.5.1 = fsub float 1.000000e+00, %cond.5.1 | |
%492 = tail call float @llvm.fmuladd.f32(float %sub162.5.1, float 0x3D71979980000000, float %485) | |
%cmp.i.i.5.1 = fcmp olt float %492, 0.000000e+00 | |
%call.i.i.5.1 = tail call float @llvm.sqrt.f32(float %492) #6 | |
%call.i.i.op.5.1 = fdiv float 1.000000e+00, %call.i.i.5.1 | |
%div165.5.1 = select i1 %cmp.i.i.5.1, float 0x7FF8000000000000, float %call.i.i.op.5.1 | |
%mul166.5.1 = fmul float %div165.5.1, %div165.5.1 | |
%mul167.5.1 = fmul float %mul166.5.1, %mul166.5.1 | |
%mul168.5.1 = fmul float %mul166.5.1, %mul167.5.1 | |
%mul169.5.1 = fmul float %cond.5.1, %mul168.5.1 | |
%neg.5.1 = fsub float -0.000000e+00, %489 | |
%493 = tail call float @llvm.fmuladd.f32(float %491, float %mul169.5.1, float %neg.5.1) | |
%mul171.5.1 = fmul float %mul169.5.1, %493 | |
%mul172.5.1 = fmul float %mul166.5.1, %mul171.5.1 | |
%mul173.5.1 = fmul float %337, %486 | |
%mul174.5.1 = fmul float %cond.5.1, %mul166.5.1 | |
%mul176.5.1 = fmul float %mul, %492 | |
%mul.i.5.1 = fmul float %mul176.5.1, %mul176.5.1 | |
%494 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.5.1, float 0x3FBDA79640000000) #5 | |
%495 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.5.1, float 0x3FE03C5780000000) #5 | |
%496 = tail call float @llvm.fmuladd.f32(float %494, float %mul.i.5.1, float 1.000000e+00) #5 | |
%497 = tail call float @llvm.fmuladd.f32(float %495, float %mul176.5.1, float %496) #5 | |
%div.i.5.1 = fdiv float 1.000000e+00, %497, !fpmath !46 | |
%498 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.5.1, float 0xBF0BFF7260000000) #5 | |
%499 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.5.1, float 0x3F50794180000000) #5 | |
%500 = tail call float @llvm.fmuladd.f32(float %498, float %mul.i.5.1, float 0xBF93BDB200000000) #5 | |
%501 = tail call float @llvm.fmuladd.f32(float %499, float %mul.i.5.1, float 0x3FB1D5E760000000) #5 | |
%502 = tail call float @llvm.fmuladd.f32(float %500, float %mul.i.5.1, float 0xBFE81272E0000000) #5 | |
%503 = tail call float @llvm.fmuladd.f32(float %501, float %mul176.5.1, float %502) #5 | |
%mul11.i.5.1 = fmul float %503, %div.i.5.1 | |
%mul178.5.1 = fmul float %mul19, %mul11.i.5.1 | |
%504 = tail call float @llvm.fmuladd.f32(float %mul174.5.1, float %div165.5.1, float %mul178.5.1) | |
%505 = tail call float @llvm.fmuladd.f32(float %mul173.5.1, float %504, float %mul172.5.1) | |
%splat.splatinsert.5.1 = insertelement <3 x float> undef, float %505, i32 0 | |
%splat.splat.5.1 = shufflevector <3 x float> %splat.splatinsert.5.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.5.1 = fmul <3 x float> %extractVec135.5.1, %splat.splat.5.1 | |
%extractVec191.5.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.5.1 = fsub <3 x float> %extractVec191.5.1, %mul183.5.1 | |
%extractVec193.5.1 = shufflevector <3 x float> %sub192.5.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.5.1 = shufflevector <4 x float> %loadVec4200.5.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.5.1 = fadd <3 x float> %extractVec201.5.1, %mul183.5.1 | |
%extractVec203.5.1 = shufflevector <3 x float> %add202.5.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.5.1 | |
if.end206.5.1: ; preds = %if.then151.5.1, %if.then117.5.1, %if.end206.4.1 | |
%506 = phi <3 x float> [ %add202.5.1, %if.then151.5.1 ], [ %83, %if.then117.5.1 ], [ %83, %if.end206.4.1 ] | |
%loadVec4200.5714 = phi <4 x float> [ %extractVec203.5.1, %if.then151.5.1 ], [ %loadVec4200.5.1, %if.then117.5.1 ], [ %loadVec4200.5.1, %if.end206.4.1 ] | |
%fcj_buf.sroa.0.1.5.1 = phi <4 x float> [ %extractVec193.5.1, %if.then151.5.1 ], [ %fcj_buf.sroa.0.1.4.1, %if.then117.5.1 ], [ %fcj_buf.sroa.0.1.4.1, %if.end206.4.1 ] | |
%and115.6.1 = and i32 %45, 16384 | |
%tobool116.6.1 = icmp eq i32 %and115.6.1, 0 | |
br i1 %tobool116.6.1, label %if.end206.6.1, label %if.then117.6.1 | |
if.then117.6.1: ; preds = %if.end206.5.1 | |
%507 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.6.3, align 16, !tbaa !36 | |
%508 = fsub <4 x float> %507, %336 | |
%509 = extractelement <4 x float> %508, i32 0 | |
%510 = extractelement <4 x float> %508, i32 1 | |
%mul3.i.i.6.1 = fmul float %510, %510 | |
%511 = tail call float @llvm.fmuladd.f32(float %509, float %509, float %mul3.i.i.6.1) #5 | |
%512 = extractelement <4 x float> %508, i32 2 | |
%513 = tail call float @llvm.fmuladd.f32(float %512, float %512, float %511) #5 | |
%and137.6.1 = and i32 %47, 16384 | |
%tobool138.6.1 = icmp ne i32 %and137.6.1, 0 | |
%cond.6.1 = select i1 %tobool138.6.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.6.1 = icmp ne i32 %24, %334 | |
%not.or.cond.6.1 = or i1 %notlhs, %notrhs.6.1 | |
%cmp145..6.1 = or i1 %cmp145, %not.or.cond.6.1 | |
%conv147.6.1 = uitofp i1 %cmp145..6.1 to float | |
%mul148.6.1 = fmul float %conv147.6.1, %nbparam_params_rcoulomb_sq | |
%cmp149.6.1 = fcmp olt float %513, %mul148.6.1 | |
br i1 %cmp149.6.1, label %if.then151.6.1, label %if.end206.6.1 | |
if.then151.6.1: ; preds = %if.then117.6.1 | |
%extractVec135.6.1 = shufflevector <4 x float> %508, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%514 = extractelement <4 x float> %507, i32 3 | |
%515 = load i32, i32 addrspace(1)* %arrayidx152.6.3, align 4, !tbaa !41 | |
%mul153.6.1 = mul nsw i32 %515, %ntypes | |
%add154.6.1 = add nsw i32 %mul153.6.1, %338 | |
%mul155.6.1 = shl nsw i32 %add154.6.1, 1 | |
%516 = sext i32 %mul155.6.1 to i64 | |
%arrayidx156.6.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %516 | |
%517 = load float, float addrspace(2)* %arrayidx156.6.1, align 4, !tbaa !39 | |
%add160.6.1 = or i32 %mul155.6.1, 1 | |
%518 = sext i32 %add160.6.1 to i64 | |
%arrayidx161.6.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %518 | |
%519 = load float, float addrspace(2)* %arrayidx161.6.1, align 4, !tbaa !39 | |
%sub162.6.1 = fsub float 1.000000e+00, %cond.6.1 | |
%520 = tail call float @llvm.fmuladd.f32(float %sub162.6.1, float 0x3D71979980000000, float %513) | |
%cmp.i.i.6.1 = fcmp olt float %520, 0.000000e+00 | |
%call.i.i.6.1 = tail call float @llvm.sqrt.f32(float %520) #6 | |
%call.i.i.op.6.1 = fdiv float 1.000000e+00, %call.i.i.6.1 | |
%div165.6.1 = select i1 %cmp.i.i.6.1, float 0x7FF8000000000000, float %call.i.i.op.6.1 | |
%mul166.6.1 = fmul float %div165.6.1, %div165.6.1 | |
%mul167.6.1 = fmul float %mul166.6.1, %mul166.6.1 | |
%mul168.6.1 = fmul float %mul166.6.1, %mul167.6.1 | |
%mul169.6.1 = fmul float %cond.6.1, %mul168.6.1 | |
%neg.6.1 = fsub float -0.000000e+00, %517 | |
%521 = tail call float @llvm.fmuladd.f32(float %519, float %mul169.6.1, float %neg.6.1) | |
%mul171.6.1 = fmul float %mul169.6.1, %521 | |
%mul172.6.1 = fmul float %mul166.6.1, %mul171.6.1 | |
%mul173.6.1 = fmul float %337, %514 | |
%mul174.6.1 = fmul float %cond.6.1, %mul166.6.1 | |
%mul176.6.1 = fmul float %mul, %520 | |
%mul.i.6.1 = fmul float %mul176.6.1, %mul176.6.1 | |
%522 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.6.1, float 0x3FBDA79640000000) #5 | |
%523 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.6.1, float 0x3FE03C5780000000) #5 | |
%524 = tail call float @llvm.fmuladd.f32(float %522, float %mul.i.6.1, float 1.000000e+00) #5 | |
%525 = tail call float @llvm.fmuladd.f32(float %523, float %mul176.6.1, float %524) #5 | |
%div.i.6.1 = fdiv float 1.000000e+00, %525, !fpmath !46 | |
%526 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.6.1, float 0xBF0BFF7260000000) #5 | |
%527 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.6.1, float 0x3F50794180000000) #5 | |
%528 = tail call float @llvm.fmuladd.f32(float %526, float %mul.i.6.1, float 0xBF93BDB200000000) #5 | |
%529 = tail call float @llvm.fmuladd.f32(float %527, float %mul.i.6.1, float 0x3FB1D5E760000000) #5 | |
%530 = tail call float @llvm.fmuladd.f32(float %528, float %mul.i.6.1, float 0xBFE81272E0000000) #5 | |
%531 = tail call float @llvm.fmuladd.f32(float %529, float %mul176.6.1, float %530) #5 | |
%mul11.i.6.1 = fmul float %531, %div.i.6.1 | |
%mul178.6.1 = fmul float %mul19, %mul11.i.6.1 | |
%532 = tail call float @llvm.fmuladd.f32(float %mul174.6.1, float %div165.6.1, float %mul178.6.1) | |
%533 = tail call float @llvm.fmuladd.f32(float %mul173.6.1, float %532, float %mul172.6.1) | |
%splat.splatinsert.6.1 = insertelement <3 x float> undef, float %533, i32 0 | |
%splat.splat.6.1 = shufflevector <3 x float> %splat.splatinsert.6.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.6.1 = fmul <3 x float> %extractVec135.6.1, %splat.splat.6.1 | |
%extractVec191.6.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.6.1 = fsub <3 x float> %extractVec191.6.1, %mul183.6.1 | |
%extractVec193.6.1 = shufflevector <3 x float> %sub192.6.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.6.1 = shufflevector <4 x float> %loadVec4200.6.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.6.1 = fadd <3 x float> %extractVec201.6.1, %mul183.6.1 | |
%extractVec203.6.1 = shufflevector <3 x float> %add202.6.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.6.1 | |
if.end206.6.1: ; preds = %if.then151.6.1, %if.then117.6.1, %if.end206.5.1 | |
%534 = phi <3 x float> [ %add202.6.1, %if.then151.6.1 ], [ %82, %if.then117.6.1 ], [ %82, %if.end206.5.1 ] | |
%loadVec4200.6724 = phi <4 x float> [ %extractVec203.6.1, %if.then151.6.1 ], [ %loadVec4200.6.1, %if.then117.6.1 ], [ %loadVec4200.6.1, %if.end206.5.1 ] | |
%fcj_buf.sroa.0.1.6.1 = phi <4 x float> [ %extractVec193.6.1, %if.then151.6.1 ], [ %fcj_buf.sroa.0.1.5.1, %if.then117.6.1 ], [ %fcj_buf.sroa.0.1.5.1, %if.end206.5.1 ] | |
%and115.7.1 = and i32 %45, 32768 | |
%tobool116.7.1 = icmp eq i32 %and115.7.1, 0 | |
br i1 %tobool116.7.1, label %if.end206.7.1, label %if.then117.7.1 | |
if.then117.7.1: ; preds = %if.end206.6.1 | |
%535 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.7.3, align 16, !tbaa !36 | |
%536 = fsub <4 x float> %535, %336 | |
%537 = extractelement <4 x float> %536, i32 0 | |
%538 = extractelement <4 x float> %536, i32 1 | |
%mul3.i.i.7.1 = fmul float %538, %538 | |
%539 = tail call float @llvm.fmuladd.f32(float %537, float %537, float %mul3.i.i.7.1) #5 | |
%540 = extractelement <4 x float> %536, i32 2 | |
%541 = tail call float @llvm.fmuladd.f32(float %540, float %540, float %539) #5 | |
%and137.7.1 = and i32 %47, 32768 | |
%tobool138.7.1 = icmp ne i32 %and137.7.1, 0 | |
%cond.7.1 = select i1 %tobool138.7.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.7.1 = icmp ne i32 %22, %334 | |
%not.or.cond.7.1 = or i1 %notlhs, %notrhs.7.1 | |
%cmp145..7.1 = or i1 %cmp145, %not.or.cond.7.1 | |
%conv147.7.1 = uitofp i1 %cmp145..7.1 to float | |
%mul148.7.1 = fmul float %conv147.7.1, %nbparam_params_rcoulomb_sq | |
%cmp149.7.1 = fcmp olt float %541, %mul148.7.1 | |
br i1 %cmp149.7.1, label %if.then151.7.1, label %if.end206.7.1 | |
if.then151.7.1: ; preds = %if.then117.7.1 | |
%extractVec135.7.1 = shufflevector <4 x float> %536, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%542 = extractelement <4 x float> %535, i32 3 | |
%543 = load i32, i32 addrspace(1)* %arrayidx152.7.3, align 4, !tbaa !41 | |
%mul153.7.1 = mul nsw i32 %543, %ntypes | |
%add154.7.1 = add nsw i32 %mul153.7.1, %338 | |
%mul155.7.1 = shl nsw i32 %add154.7.1, 1 | |
%544 = sext i32 %mul155.7.1 to i64 | |
%arrayidx156.7.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %544 | |
%545 = load float, float addrspace(2)* %arrayidx156.7.1, align 4, !tbaa !39 | |
%add160.7.1 = or i32 %mul155.7.1, 1 | |
%546 = sext i32 %add160.7.1 to i64 | |
%arrayidx161.7.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %546 | |
%547 = load float, float addrspace(2)* %arrayidx161.7.1, align 4, !tbaa !39 | |
%sub162.7.1 = fsub float 1.000000e+00, %cond.7.1 | |
%548 = tail call float @llvm.fmuladd.f32(float %sub162.7.1, float 0x3D71979980000000, float %541) | |
%cmp.i.i.7.1 = fcmp olt float %548, 0.000000e+00 | |
%call.i.i.7.1 = tail call float @llvm.sqrt.f32(float %548) #6 | |
%call.i.i.op.7.1 = fdiv float 1.000000e+00, %call.i.i.7.1 | |
%div165.7.1 = select i1 %cmp.i.i.7.1, float 0x7FF8000000000000, float %call.i.i.op.7.1 | |
%mul166.7.1 = fmul float %div165.7.1, %div165.7.1 | |
%mul167.7.1 = fmul float %mul166.7.1, %mul166.7.1 | |
%mul168.7.1 = fmul float %mul166.7.1, %mul167.7.1 | |
%mul169.7.1 = fmul float %cond.7.1, %mul168.7.1 | |
%neg.7.1 = fsub float -0.000000e+00, %545 | |
%549 = tail call float @llvm.fmuladd.f32(float %547, float %mul169.7.1, float %neg.7.1) | |
%mul171.7.1 = fmul float %mul169.7.1, %549 | |
%mul172.7.1 = fmul float %mul166.7.1, %mul171.7.1 | |
%mul173.7.1 = fmul float %337, %542 | |
%mul174.7.1 = fmul float %cond.7.1, %mul166.7.1 | |
%mul176.7.1 = fmul float %mul, %548 | |
%mul.i.7.1 = fmul float %mul176.7.1, %mul176.7.1 | |
%550 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.7.1, float 0x3FBDA79640000000) #5 | |
%551 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.7.1, float 0x3FE03C5780000000) #5 | |
%552 = tail call float @llvm.fmuladd.f32(float %550, float %mul.i.7.1, float 1.000000e+00) #5 | |
%553 = tail call float @llvm.fmuladd.f32(float %551, float %mul176.7.1, float %552) #5 | |
%div.i.7.1 = fdiv float 1.000000e+00, %553, !fpmath !46 | |
%554 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.7.1, float 0xBF0BFF7260000000) #5 | |
%555 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.7.1, float 0x3F50794180000000) #5 | |
%556 = tail call float @llvm.fmuladd.f32(float %554, float %mul.i.7.1, float 0xBF93BDB200000000) #5 | |
%557 = tail call float @llvm.fmuladd.f32(float %555, float %mul.i.7.1, float 0x3FB1D5E760000000) #5 | |
%558 = tail call float @llvm.fmuladd.f32(float %556, float %mul.i.7.1, float 0xBFE81272E0000000) #5 | |
%559 = tail call float @llvm.fmuladd.f32(float %557, float %mul176.7.1, float %558) #5 | |
%mul11.i.7.1 = fmul float %559, %div.i.7.1 | |
%mul178.7.1 = fmul float %mul19, %mul11.i.7.1 | |
%560 = tail call float @llvm.fmuladd.f32(float %mul174.7.1, float %div165.7.1, float %mul178.7.1) | |
%561 = tail call float @llvm.fmuladd.f32(float %mul173.7.1, float %560, float %mul172.7.1) | |
%splat.splatinsert.7.1 = insertelement <3 x float> undef, float %561, i32 0 | |
%splat.splat.7.1 = shufflevector <3 x float> %splat.splatinsert.7.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.7.1 = fmul <3 x float> %extractVec135.7.1, %splat.splat.7.1 | |
%extractVec191.7.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.7.1 = fsub <3 x float> %extractVec191.7.1, %mul183.7.1 | |
%extractVec193.7.1 = shufflevector <3 x float> %sub192.7.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.7.1 = shufflevector <4 x float> %loadVec4200.7.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.7.1 = fadd <3 x float> %extractVec201.7.1, %mul183.7.1 | |
%extractVec203.7.1 = shufflevector <3 x float> %add202.7.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.7.1 | |
if.end206.7.1: ; preds = %if.then151.7.1, %if.then117.7.1, %if.end206.6.1 | |
%fci_buf.sroa.37.5 = phi <4 x float> [ %fci_buf.sroa.37.1, %if.end206.6.1 ], [ %extractVec203.7.1, %if.then151.7.1 ], [ %fci_buf.sroa.37.1, %if.then117.7.1 ] | |
%loadVec4200.7734 = phi <4 x float> [ %loadVec4200.7.1, %if.end206.6.1 ], [ %extractVec203.7.1, %if.then151.7.1 ], [ %loadVec4200.7.1, %if.then117.7.1 ] | |
%fcj_buf.sroa.0.1.7.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.1, %if.end206.6.1 ], [ %extractVec193.7.1, %if.then151.7.1 ], [ %fcj_buf.sroa.0.1.6.1, %if.then117.7.1 ] | |
%562 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 0 | |
store float %562, float addrspace(3)* %arrayidx211, align 4, !tbaa !39 | |
%563 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 1 | |
store float %563, float addrspace(3)* %arrayidx213, align 4, !tbaa !39 | |
%564 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 2 | |
store float %564, float addrspace(3)* %arrayidx215, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add106.1) | |
br label %for.inc217.1 | |
for.inc217.1: ; preds = %if.end206.7.1, %for.inc217 | |
%fci_buf.sroa.37.6 = phi <4 x float> [ %fci_buf.sroa.37.1, %for.inc217 ], [ %fci_buf.sroa.37.5, %if.end206.7.1 ] | |
%565 = phi <3 x float> [ %82, %for.inc217 ], [ %534, %if.end206.7.1 ] | |
%566 = phi <3 x float> [ %83, %for.inc217 ], [ %506, %if.end206.7.1 ] | |
%567 = phi <3 x float> [ %84, %for.inc217 ], [ %478, %if.end206.7.1 ] | |
%568 = phi <3 x float> [ %85, %for.inc217 ], [ %450, %if.end206.7.1 ] | |
%569 = phi <3 x float> [ %86, %for.inc217 ], [ %422, %if.end206.7.1 ] | |
%570 = phi <3 x float> [ %87, %for.inc217 ], [ %394, %if.end206.7.1 ] | |
%571 = phi <3 x float> [ %88, %for.inc217 ], [ %366, %if.end206.7.1 ] | |
%loadVec4200.7.2 = phi <4 x float> [ %loadVec4200.7.1, %for.inc217 ], [ %loadVec4200.7734, %if.end206.7.1 ] | |
%loadVec4200.6.2 = phi <4 x float> [ %loadVec4200.6.1, %for.inc217 ], [ %loadVec4200.6724, %if.end206.7.1 ] | |
%loadVec4200.5.2 = phi <4 x float> [ %loadVec4200.5.1, %for.inc217 ], [ %loadVec4200.5714, %if.end206.7.1 ] | |
%loadVec4200.4.2 = phi <4 x float> [ %loadVec4200.4.1, %for.inc217 ], [ %loadVec4200.4704, %if.end206.7.1 ] | |
%loadVec4200.3.2 = phi <4 x float> [ %loadVec4200.3.1, %for.inc217 ], [ %loadVec4200.3694, %if.end206.7.1 ] | |
%loadVec4200.2.2 = phi <4 x float> [ %loadVec4200.2.1, %for.inc217 ], [ %loadVec4200.2684, %if.end206.7.1 ] | |
%loadVec4200.1.2 = phi <4 x float> [ %loadVec4200.1.1, %for.inc217 ], [ %loadVec4200.1674, %if.end206.7.1 ] | |
%loadVec4200.2597 = phi <4 x float> [ %loadVec4200.1539, %for.inc217 ], [ %loadVec4200664, %if.end206.7.1 ] | |
%and94.2 = and i32 %45, 16711680 | |
%tobool95.2 = icmp eq i32 %and94.2, 0 | |
br i1 %tobool95.2, label %for.inc217.2, label %if.then96.2 | |
if.then96.2: ; preds = %for.inc217.1 | |
%572 = load i32, i32 addrspace(3)* %arrayidx104.2, align 4, !tbaa !41 | |
%mul105.2 = shl nsw i32 %572, 3 | |
%add106.2 = add i32 %mul105.2, %y.i | |
%573 = sext i32 %add106.2 to i64 | |
%arrayidx107.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %573 | |
%574 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx107.2, align 16, !tbaa !36 | |
%575 = extractelement <4 x float> %574, i32 3 | |
%arrayidx109.2 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %573 | |
%576 = load i32, i32 addrspace(1)* %arrayidx109.2, align 4, !tbaa !41 | |
%and115.2547 = and i32 %45, 65536 | |
%tobool116.2548 = icmp eq i32 %and115.2547, 0 | |
br i1 %tobool116.2548, label %if.end206.2604, label %if.then117.2560 | |
if.then117.2560: ; preds = %if.then96.2 | |
%577 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.3607, align 16, !tbaa !36 | |
%578 = fsub <4 x float> %577, %574 | |
%579 = extractelement <4 x float> %578, i32 0 | |
%580 = extractelement <4 x float> %578, i32 1 | |
%mul3.i.i.2550 = fmul float %580, %580 | |
%581 = tail call float @llvm.fmuladd.f32(float %579, float %579, float %mul3.i.i.2550) #5 | |
%582 = extractelement <4 x float> %578, i32 2 | |
%583 = tail call float @llvm.fmuladd.f32(float %582, float %582, float %581) #5 | |
%and137.2551 = and i32 %47, 65536 | |
%tobool138.2552 = icmp ne i32 %and137.2551, 0 | |
%cond.2553 = select i1 %tobool138.2552, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2554 = icmp ne i32 %mul29, %572 | |
%not.or.cond.2555 = or i1 %notlhs, %notrhs.2554 | |
%cmp145..2556 = or i1 %cmp145, %not.or.cond.2555 | |
%conv147.2557 = uitofp i1 %cmp145..2556 to float | |
%mul148.2558 = fmul float %conv147.2557, %nbparam_params_rcoulomb_sq | |
%cmp149.2559 = fcmp olt float %583, %mul148.2558 | |
br i1 %cmp149.2559, label %if.then151.2601, label %if.end206.2604 | |
if.then151.2601: ; preds = %if.then117.2560 | |
%extractVec135.2561 = shufflevector <4 x float> %578, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%584 = extractelement <4 x float> %577, i32 3 | |
%585 = load i32, i32 addrspace(1)* %arrayidx152.3622, align 4, !tbaa !41 | |
%mul153.2565 = mul nsw i32 %585, %ntypes | |
%add154.2566 = add nsw i32 %mul153.2565, %576 | |
%mul155.2567 = shl nsw i32 %add154.2566, 1 | |
%586 = sext i32 %mul155.2567 to i64 | |
%arrayidx156.2568 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %586 | |
%587 = load float, float addrspace(2)* %arrayidx156.2568, align 4, !tbaa !39 | |
%add160.2569 = or i32 %mul155.2567, 1 | |
%588 = sext i32 %add160.2569 to i64 | |
%arrayidx161.2570 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %588 | |
%589 = load float, float addrspace(2)* %arrayidx161.2570, align 4, !tbaa !39 | |
%sub162.2571 = fsub float 1.000000e+00, %cond.2553 | |
%590 = tail call float @llvm.fmuladd.f32(float %sub162.2571, float 0x3D71979980000000, float %583) | |
%cmp.i.i.2572 = fcmp olt float %590, 0.000000e+00 | |
%call.i.i.2573 = tail call float @llvm.sqrt.f32(float %590) #6 | |
%call.i.i.op.2574 = fdiv float 1.000000e+00, %call.i.i.2573 | |
%div165.2575 = select i1 %cmp.i.i.2572, float 0x7FF8000000000000, float %call.i.i.op.2574 | |
%mul166.2576 = fmul float %div165.2575, %div165.2575 | |
%mul167.2577 = fmul float %mul166.2576, %mul166.2576 | |
%mul168.2578 = fmul float %mul166.2576, %mul167.2577 | |
%mul169.2579 = fmul float %cond.2553, %mul168.2578 | |
%neg.2580 = fsub float -0.000000e+00, %587 | |
%591 = tail call float @llvm.fmuladd.f32(float %589, float %mul169.2579, float %neg.2580) | |
%mul171.2581 = fmul float %mul169.2579, %591 | |
%mul172.2582 = fmul float %mul166.2576, %mul171.2581 | |
%mul173.2583 = fmul float %575, %584 | |
%mul174.2584 = fmul float %cond.2553, %mul166.2576 | |
%mul176.2585 = fmul float %mul, %590 | |
%mul.i.2586 = fmul float %mul176.2585, %mul176.2585 | |
%592 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2586, float 0x3FBDA79640000000) #5 | |
%593 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2586, float 0x3FE03C5780000000) #5 | |
%594 = tail call float @llvm.fmuladd.f32(float %592, float %mul.i.2586, float 1.000000e+00) #5 | |
%595 = tail call float @llvm.fmuladd.f32(float %593, float %mul176.2585, float %594) #5 | |
%div.i.2587 = fdiv float 1.000000e+00, %595, !fpmath !46 | |
%596 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2586, float 0xBF0BFF7260000000) #5 | |
%597 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2586, float 0x3F50794180000000) #5 | |
%598 = tail call float @llvm.fmuladd.f32(float %596, float %mul.i.2586, float 0xBF93BDB200000000) #5 | |
%599 = tail call float @llvm.fmuladd.f32(float %597, float %mul.i.2586, float 0x3FB1D5E760000000) #5 | |
%600 = tail call float @llvm.fmuladd.f32(float %598, float %mul.i.2586, float 0xBFE81272E0000000) #5 | |
%601 = tail call float @llvm.fmuladd.f32(float %599, float %mul176.2585, float %600) #5 | |
%mul11.i.2588 = fmul float %601, %div.i.2587 | |
%mul178.2589 = fmul float %mul19, %mul11.i.2588 | |
%602 = tail call float @llvm.fmuladd.f32(float %mul174.2584, float %div165.2575, float %mul178.2589) | |
%603 = tail call float @llvm.fmuladd.f32(float %mul173.2583, float %602, float %mul172.2582) | |
%splat.splatinsert.2590 = insertelement <3 x float> undef, float %603, i32 0 | |
%splat.splat.2591 = shufflevector <3 x float> %splat.splatinsert.2590, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.2592 = fmul <3 x float> %extractVec135.2561, %splat.splat.2591 | |
%sub192.2593 = fsub <3 x float> zeroinitializer, %mul183.2592 | |
%extractVec193.2594 = shufflevector <3 x float> %sub192.2593, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.2598 = shufflevector <4 x float> %loadVec4200.2597, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.2599 = fadd <3 x float> %extractVec201.2598, %mul183.2592 | |
%extractVec203.2600 = shufflevector <3 x float> %add202.2599, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.2604 | |
if.end206.2604: ; preds = %if.then151.2601, %if.then117.2560, %if.then96.2 | |
%604 = phi <3 x float> [ %add202.2599, %if.then151.2601 ], [ %571, %if.then117.2560 ], [ %571, %if.then96.2 ] | |
%loadVec4200665 = phi <4 x float> [ %extractVec203.2600, %if.then151.2601 ], [ %loadVec4200.2597, %if.then117.2560 ], [ %loadVec4200.2597, %if.then96.2 ] | |
%fcj_buf.sroa.0.1.2602 = phi <4 x float> [ %extractVec193.2594, %if.then151.2601 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then117.2560 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then96.2 ] | |
%and115.1.2 = and i32 %45, 131072 | |
%tobool116.1.2 = icmp eq i32 %and115.1.2, 0 | |
br i1 %tobool116.1.2, label %if.end206.1.2, label %if.then117.1.2 | |
if.then117.1.2: ; preds = %if.end206.2604 | |
%605 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.1.3, align 16, !tbaa !36 | |
%606 = fsub <4 x float> %605, %574 | |
%607 = extractelement <4 x float> %606, i32 0 | |
%608 = extractelement <4 x float> %606, i32 1 | |
%mul3.i.i.1.2 = fmul float %608, %608 | |
%609 = tail call float @llvm.fmuladd.f32(float %607, float %607, float %mul3.i.i.1.2) #5 | |
%610 = extractelement <4 x float> %606, i32 2 | |
%611 = tail call float @llvm.fmuladd.f32(float %610, float %610, float %609) #5 | |
%and137.1.2 = and i32 %47, 131072 | |
%tobool138.1.2 = icmp ne i32 %and137.1.2, 0 | |
%cond.1.2 = select i1 %tobool138.1.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1.2 = icmp ne i32 %34, %572 | |
%not.or.cond.1.2 = or i1 %notlhs, %notrhs.1.2 | |
%cmp145..1.2 = or i1 %cmp145, %not.or.cond.1.2 | |
%conv147.1.2 = uitofp i1 %cmp145..1.2 to float | |
%mul148.1.2 = fmul float %conv147.1.2, %nbparam_params_rcoulomb_sq | |
%cmp149.1.2 = fcmp olt float %611, %mul148.1.2 | |
br i1 %cmp149.1.2, label %if.then151.1.2, label %if.end206.1.2 | |
if.then151.1.2: ; preds = %if.then117.1.2 | |
%extractVec135.1.2 = shufflevector <4 x float> %606, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%612 = extractelement <4 x float> %605, i32 3 | |
%613 = load i32, i32 addrspace(1)* %arrayidx152.1.3, align 4, !tbaa !41 | |
%mul153.1.2 = mul nsw i32 %613, %ntypes | |
%add154.1.2 = add nsw i32 %mul153.1.2, %576 | |
%mul155.1.2 = shl nsw i32 %add154.1.2, 1 | |
%614 = sext i32 %mul155.1.2 to i64 | |
%arrayidx156.1.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %614 | |
%615 = load float, float addrspace(2)* %arrayidx156.1.2, align 4, !tbaa !39 | |
%add160.1.2 = or i32 %mul155.1.2, 1 | |
%616 = sext i32 %add160.1.2 to i64 | |
%arrayidx161.1.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %616 | |
%617 = load float, float addrspace(2)* %arrayidx161.1.2, align 4, !tbaa !39 | |
%sub162.1.2 = fsub float 1.000000e+00, %cond.1.2 | |
%618 = tail call float @llvm.fmuladd.f32(float %sub162.1.2, float 0x3D71979980000000, float %611) | |
%cmp.i.i.1.2 = fcmp olt float %618, 0.000000e+00 | |
%call.i.i.1.2 = tail call float @llvm.sqrt.f32(float %618) #6 | |
%call.i.i.op.1.2 = fdiv float 1.000000e+00, %call.i.i.1.2 | |
%div165.1.2 = select i1 %cmp.i.i.1.2, float 0x7FF8000000000000, float %call.i.i.op.1.2 | |
%mul166.1.2 = fmul float %div165.1.2, %div165.1.2 | |
%mul167.1.2 = fmul float %mul166.1.2, %mul166.1.2 | |
%mul168.1.2 = fmul float %mul166.1.2, %mul167.1.2 | |
%mul169.1.2 = fmul float %cond.1.2, %mul168.1.2 | |
%neg.1.2 = fsub float -0.000000e+00, %615 | |
%619 = tail call float @llvm.fmuladd.f32(float %617, float %mul169.1.2, float %neg.1.2) | |
%mul171.1.2 = fmul float %mul169.1.2, %619 | |
%mul172.1.2 = fmul float %mul166.1.2, %mul171.1.2 | |
%mul173.1.2 = fmul float %575, %612 | |
%mul174.1.2 = fmul float %cond.1.2, %mul166.1.2 | |
%mul176.1.2 = fmul float %mul, %618 | |
%mul.i.1.2 = fmul float %mul176.1.2, %mul176.1.2 | |
%620 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1.2, float 0x3FBDA79640000000) #5 | |
%621 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1.2, float 0x3FE03C5780000000) #5 | |
%622 = tail call float @llvm.fmuladd.f32(float %620, float %mul.i.1.2, float 1.000000e+00) #5 | |
%623 = tail call float @llvm.fmuladd.f32(float %621, float %mul176.1.2, float %622) #5 | |
%div.i.1.2 = fdiv float 1.000000e+00, %623, !fpmath !46 | |
%624 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1.2, float 0xBF0BFF7260000000) #5 | |
%625 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1.2, float 0x3F50794180000000) #5 | |
%626 = tail call float @llvm.fmuladd.f32(float %624, float %mul.i.1.2, float 0xBF93BDB200000000) #5 | |
%627 = tail call float @llvm.fmuladd.f32(float %625, float %mul.i.1.2, float 0x3FB1D5E760000000) #5 | |
%628 = tail call float @llvm.fmuladd.f32(float %626, float %mul.i.1.2, float 0xBFE81272E0000000) #5 | |
%629 = tail call float @llvm.fmuladd.f32(float %627, float %mul176.1.2, float %628) #5 | |
%mul11.i.1.2 = fmul float %629, %div.i.1.2 | |
%mul178.1.2 = fmul float %mul19, %mul11.i.1.2 | |
%630 = tail call float @llvm.fmuladd.f32(float %mul174.1.2, float %div165.1.2, float %mul178.1.2) | |
%631 = tail call float @llvm.fmuladd.f32(float %mul173.1.2, float %630, float %mul172.1.2) | |
%splat.splatinsert.1.2 = insertelement <3 x float> undef, float %631, i32 0 | |
%splat.splat.1.2 = shufflevector <3 x float> %splat.splatinsert.1.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.1.2 = fmul <3 x float> %extractVec135.1.2, %splat.splat.1.2 | |
%extractVec191.1.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2602, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.1.2 = fsub <3 x float> %extractVec191.1.2, %mul183.1.2 | |
%extractVec193.1.2 = shufflevector <3 x float> %sub192.1.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.1.2 = shufflevector <4 x float> %loadVec4200.1.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.1.2 = fadd <3 x float> %extractVec201.1.2, %mul183.1.2 | |
%extractVec203.1.2 = shufflevector <3 x float> %add202.1.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.1.2 | |
if.end206.1.2: ; preds = %if.then151.1.2, %if.then117.1.2, %if.end206.2604 | |
%632 = phi <3 x float> [ %add202.1.2, %if.then151.1.2 ], [ %570, %if.then117.1.2 ], [ %570, %if.end206.2604 ] | |
%loadVec4200.1675 = phi <4 x float> [ %extractVec203.1.2, %if.then151.1.2 ], [ %loadVec4200.1.2, %if.then117.1.2 ], [ %loadVec4200.1.2, %if.end206.2604 ] | |
%fcj_buf.sroa.0.1.1.2 = phi <4 x float> [ %extractVec193.1.2, %if.then151.1.2 ], [ %fcj_buf.sroa.0.1.2602, %if.then117.1.2 ], [ %fcj_buf.sroa.0.1.2602, %if.end206.2604 ] | |
%and115.2.2 = and i32 %45, 262144 | |
%tobool116.2.2 = icmp eq i32 %and115.2.2, 0 | |
br i1 %tobool116.2.2, label %if.end206.2.2, label %if.then117.2.2 | |
if.then117.2.2: ; preds = %if.end206.1.2 | |
%633 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.2.3, align 16, !tbaa !36 | |
%634 = fsub <4 x float> %633, %574 | |
%635 = extractelement <4 x float> %634, i32 0 | |
%636 = extractelement <4 x float> %634, i32 1 | |
%mul3.i.i.2.2 = fmul float %636, %636 | |
%637 = tail call float @llvm.fmuladd.f32(float %635, float %635, float %mul3.i.i.2.2) #5 | |
%638 = extractelement <4 x float> %634, i32 2 | |
%639 = tail call float @llvm.fmuladd.f32(float %638, float %638, float %637) #5 | |
%and137.2.2 = and i32 %47, 262144 | |
%tobool138.2.2 = icmp ne i32 %and137.2.2, 0 | |
%cond.2.2 = select i1 %tobool138.2.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2.2 = icmp ne i32 %32, %572 | |
%not.or.cond.2.2 = or i1 %notlhs, %notrhs.2.2 | |
%cmp145..2.2 = or i1 %cmp145, %not.or.cond.2.2 | |
%conv147.2.2 = uitofp i1 %cmp145..2.2 to float | |
%mul148.2.2 = fmul float %conv147.2.2, %nbparam_params_rcoulomb_sq | |
%cmp149.2.2 = fcmp olt float %639, %mul148.2.2 | |
br i1 %cmp149.2.2, label %if.then151.2.2, label %if.end206.2.2 | |
if.then151.2.2: ; preds = %if.then117.2.2 | |
%extractVec135.2.2 = shufflevector <4 x float> %634, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%640 = extractelement <4 x float> %633, i32 3 | |
%641 = load i32, i32 addrspace(1)* %arrayidx152.2.3, align 4, !tbaa !41 | |
%mul153.2.2 = mul nsw i32 %641, %ntypes | |
%add154.2.2 = add nsw i32 %mul153.2.2, %576 | |
%mul155.2.2 = shl nsw i32 %add154.2.2, 1 | |
%642 = sext i32 %mul155.2.2 to i64 | |
%arrayidx156.2.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %642 | |
%643 = load float, float addrspace(2)* %arrayidx156.2.2, align 4, !tbaa !39 | |
%add160.2.2 = or i32 %mul155.2.2, 1 | |
%644 = sext i32 %add160.2.2 to i64 | |
%arrayidx161.2.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %644 | |
%645 = load float, float addrspace(2)* %arrayidx161.2.2, align 4, !tbaa !39 | |
%sub162.2.2 = fsub float 1.000000e+00, %cond.2.2 | |
%646 = tail call float @llvm.fmuladd.f32(float %sub162.2.2, float 0x3D71979980000000, float %639) | |
%cmp.i.i.2.2 = fcmp olt float %646, 0.000000e+00 | |
%call.i.i.2.2 = tail call float @llvm.sqrt.f32(float %646) #6 | |
%call.i.i.op.2.2 = fdiv float 1.000000e+00, %call.i.i.2.2 | |
%div165.2.2 = select i1 %cmp.i.i.2.2, float 0x7FF8000000000000, float %call.i.i.op.2.2 | |
%mul166.2.2 = fmul float %div165.2.2, %div165.2.2 | |
%mul167.2.2 = fmul float %mul166.2.2, %mul166.2.2 | |
%mul168.2.2 = fmul float %mul166.2.2, %mul167.2.2 | |
%mul169.2.2 = fmul float %cond.2.2, %mul168.2.2 | |
%neg.2.2 = fsub float -0.000000e+00, %643 | |
%647 = tail call float @llvm.fmuladd.f32(float %645, float %mul169.2.2, float %neg.2.2) | |
%mul171.2.2 = fmul float %mul169.2.2, %647 | |
%mul172.2.2 = fmul float %mul166.2.2, %mul171.2.2 | |
%mul173.2.2 = fmul float %575, %640 | |
%mul174.2.2 = fmul float %cond.2.2, %mul166.2.2 | |
%mul176.2.2 = fmul float %mul, %646 | |
%mul.i.2.2 = fmul float %mul176.2.2, %mul176.2.2 | |
%648 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2.2, float 0x3FBDA79640000000) #5 | |
%649 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2.2, float 0x3FE03C5780000000) #5 | |
%650 = tail call float @llvm.fmuladd.f32(float %648, float %mul.i.2.2, float 1.000000e+00) #5 | |
%651 = tail call float @llvm.fmuladd.f32(float %649, float %mul176.2.2, float %650) #5 | |
%div.i.2.2 = fdiv float 1.000000e+00, %651, !fpmath !46 | |
%652 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2.2, float 0xBF0BFF7260000000) #5 | |
%653 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2.2, float 0x3F50794180000000) #5 | |
%654 = tail call float @llvm.fmuladd.f32(float %652, float %mul.i.2.2, float 0xBF93BDB200000000) #5 | |
%655 = tail call float @llvm.fmuladd.f32(float %653, float %mul.i.2.2, float 0x3FB1D5E760000000) #5 | |
%656 = tail call float @llvm.fmuladd.f32(float %654, float %mul.i.2.2, float 0xBFE81272E0000000) #5 | |
%657 = tail call float @llvm.fmuladd.f32(float %655, float %mul176.2.2, float %656) #5 | |
%mul11.i.2.2 = fmul float %657, %div.i.2.2 | |
%mul178.2.2 = fmul float %mul19, %mul11.i.2.2 | |
%658 = tail call float @llvm.fmuladd.f32(float %mul174.2.2, float %div165.2.2, float %mul178.2.2) | |
%659 = tail call float @llvm.fmuladd.f32(float %mul173.2.2, float %658, float %mul172.2.2) | |
%splat.splatinsert.2.2 = insertelement <3 x float> undef, float %659, i32 0 | |
%splat.splat.2.2 = shufflevector <3 x float> %splat.splatinsert.2.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.2.2 = fmul <3 x float> %extractVec135.2.2, %splat.splat.2.2 | |
%extractVec191.2.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.2.2 = fsub <3 x float> %extractVec191.2.2, %mul183.2.2 | |
%extractVec193.2.2 = shufflevector <3 x float> %sub192.2.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.2.2 = shufflevector <4 x float> %loadVec4200.2.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.2.2 = fadd <3 x float> %extractVec201.2.2, %mul183.2.2 | |
%extractVec203.2.2 = shufflevector <3 x float> %add202.2.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.2.2 | |
if.end206.2.2: ; preds = %if.then151.2.2, %if.then117.2.2, %if.end206.1.2 | |
%660 = phi <3 x float> [ %add202.2.2, %if.then151.2.2 ], [ %569, %if.then117.2.2 ], [ %569, %if.end206.1.2 ] | |
%loadVec4200.2685 = phi <4 x float> [ %extractVec203.2.2, %if.then151.2.2 ], [ %loadVec4200.2.2, %if.then117.2.2 ], [ %loadVec4200.2.2, %if.end206.1.2 ] | |
%fcj_buf.sroa.0.1.2.2 = phi <4 x float> [ %extractVec193.2.2, %if.then151.2.2 ], [ %fcj_buf.sroa.0.1.1.2, %if.then117.2.2 ], [ %fcj_buf.sroa.0.1.1.2, %if.end206.1.2 ] | |
%and115.3.2 = and i32 %45, 524288 | |
%tobool116.3.2 = icmp eq i32 %and115.3.2, 0 | |
br i1 %tobool116.3.2, label %if.end206.3.2, label %if.then117.3.2 | |
if.then117.3.2: ; preds = %if.end206.2.2 | |
%661 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.3.3, align 16, !tbaa !36 | |
%662 = fsub <4 x float> %661, %574 | |
%663 = extractelement <4 x float> %662, i32 0 | |
%664 = extractelement <4 x float> %662, i32 1 | |
%mul3.i.i.3.2 = fmul float %664, %664 | |
%665 = tail call float @llvm.fmuladd.f32(float %663, float %663, float %mul3.i.i.3.2) #5 | |
%666 = extractelement <4 x float> %662, i32 2 | |
%667 = tail call float @llvm.fmuladd.f32(float %666, float %666, float %665) #5 | |
%and137.3.2 = and i32 %47, 524288 | |
%tobool138.3.2 = icmp ne i32 %and137.3.2, 0 | |
%cond.3.2 = select i1 %tobool138.3.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3.2 = icmp ne i32 %30, %572 | |
%not.or.cond.3.2 = or i1 %notlhs, %notrhs.3.2 | |
%cmp145..3.2 = or i1 %cmp145, %not.or.cond.3.2 | |
%conv147.3.2 = uitofp i1 %cmp145..3.2 to float | |
%mul148.3.2 = fmul float %conv147.3.2, %nbparam_params_rcoulomb_sq | |
%cmp149.3.2 = fcmp olt float %667, %mul148.3.2 | |
br i1 %cmp149.3.2, label %if.then151.3.2, label %if.end206.3.2 | |
if.then151.3.2: ; preds = %if.then117.3.2 | |
%extractVec135.3.2 = shufflevector <4 x float> %662, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%668 = extractelement <4 x float> %661, i32 3 | |
%669 = load i32, i32 addrspace(1)* %arrayidx152.3.3, align 4, !tbaa !41 | |
%mul153.3.2 = mul nsw i32 %669, %ntypes | |
%add154.3.2 = add nsw i32 %mul153.3.2, %576 | |
%mul155.3.2 = shl nsw i32 %add154.3.2, 1 | |
%670 = sext i32 %mul155.3.2 to i64 | |
%arrayidx156.3.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %670 | |
%671 = load float, float addrspace(2)* %arrayidx156.3.2, align 4, !tbaa !39 | |
%add160.3.2 = or i32 %mul155.3.2, 1 | |
%672 = sext i32 %add160.3.2 to i64 | |
%arrayidx161.3.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %672 | |
%673 = load float, float addrspace(2)* %arrayidx161.3.2, align 4, !tbaa !39 | |
%sub162.3.2 = fsub float 1.000000e+00, %cond.3.2 | |
%674 = tail call float @llvm.fmuladd.f32(float %sub162.3.2, float 0x3D71979980000000, float %667) | |
%cmp.i.i.3.2 = fcmp olt float %674, 0.000000e+00 | |
%call.i.i.3.2 = tail call float @llvm.sqrt.f32(float %674) #6 | |
%call.i.i.op.3.2 = fdiv float 1.000000e+00, %call.i.i.3.2 | |
%div165.3.2 = select i1 %cmp.i.i.3.2, float 0x7FF8000000000000, float %call.i.i.op.3.2 | |
%mul166.3.2 = fmul float %div165.3.2, %div165.3.2 | |
%mul167.3.2 = fmul float %mul166.3.2, %mul166.3.2 | |
%mul168.3.2 = fmul float %mul166.3.2, %mul167.3.2 | |
%mul169.3.2 = fmul float %cond.3.2, %mul168.3.2 | |
%neg.3.2 = fsub float -0.000000e+00, %671 | |
%675 = tail call float @llvm.fmuladd.f32(float %673, float %mul169.3.2, float %neg.3.2) | |
%mul171.3.2 = fmul float %mul169.3.2, %675 | |
%mul172.3.2 = fmul float %mul166.3.2, %mul171.3.2 | |
%mul173.3.2 = fmul float %575, %668 | |
%mul174.3.2 = fmul float %cond.3.2, %mul166.3.2 | |
%mul176.3.2 = fmul float %mul, %674 | |
%mul.i.3.2 = fmul float %mul176.3.2, %mul176.3.2 | |
%676 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3.2, float 0x3FBDA79640000000) #5 | |
%677 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3.2, float 0x3FE03C5780000000) #5 | |
%678 = tail call float @llvm.fmuladd.f32(float %676, float %mul.i.3.2, float 1.000000e+00) #5 | |
%679 = tail call float @llvm.fmuladd.f32(float %677, float %mul176.3.2, float %678) #5 | |
%div.i.3.2 = fdiv float 1.000000e+00, %679, !fpmath !46 | |
%680 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3.2, float 0xBF0BFF7260000000) #5 | |
%681 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3.2, float 0x3F50794180000000) #5 | |
%682 = tail call float @llvm.fmuladd.f32(float %680, float %mul.i.3.2, float 0xBF93BDB200000000) #5 | |
%683 = tail call float @llvm.fmuladd.f32(float %681, float %mul.i.3.2, float 0x3FB1D5E760000000) #5 | |
%684 = tail call float @llvm.fmuladd.f32(float %682, float %mul.i.3.2, float 0xBFE81272E0000000) #5 | |
%685 = tail call float @llvm.fmuladd.f32(float %683, float %mul176.3.2, float %684) #5 | |
%mul11.i.3.2 = fmul float %685, %div.i.3.2 | |
%mul178.3.2 = fmul float %mul19, %mul11.i.3.2 | |
%686 = tail call float @llvm.fmuladd.f32(float %mul174.3.2, float %div165.3.2, float %mul178.3.2) | |
%687 = tail call float @llvm.fmuladd.f32(float %mul173.3.2, float %686, float %mul172.3.2) | |
%splat.splatinsert.3.2 = insertelement <3 x float> undef, float %687, i32 0 | |
%splat.splat.3.2 = shufflevector <3 x float> %splat.splatinsert.3.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.3.2 = fmul <3 x float> %extractVec135.3.2, %splat.splat.3.2 | |
%extractVec191.3.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.3.2 = fsub <3 x float> %extractVec191.3.2, %mul183.3.2 | |
%extractVec193.3.2 = shufflevector <3 x float> %sub192.3.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.3.2 = shufflevector <4 x float> %loadVec4200.3.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.3.2 = fadd <3 x float> %extractVec201.3.2, %mul183.3.2 | |
%extractVec203.3.2 = shufflevector <3 x float> %add202.3.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.3.2 | |
if.end206.3.2: ; preds = %if.then151.3.2, %if.then117.3.2, %if.end206.2.2 | |
%688 = phi <3 x float> [ %add202.3.2, %if.then151.3.2 ], [ %568, %if.then117.3.2 ], [ %568, %if.end206.2.2 ] | |
%loadVec4200.3695 = phi <4 x float> [ %extractVec203.3.2, %if.then151.3.2 ], [ %loadVec4200.3.2, %if.then117.3.2 ], [ %loadVec4200.3.2, %if.end206.2.2 ] | |
%fcj_buf.sroa.0.1.3.2 = phi <4 x float> [ %extractVec193.3.2, %if.then151.3.2 ], [ %fcj_buf.sroa.0.1.2.2, %if.then117.3.2 ], [ %fcj_buf.sroa.0.1.2.2, %if.end206.2.2 ] | |
%and115.4.2 = and i32 %45, 1048576 | |
%tobool116.4.2 = icmp eq i32 %and115.4.2, 0 | |
br i1 %tobool116.4.2, label %if.end206.4.2, label %if.then117.4.2 | |
if.then117.4.2: ; preds = %if.end206.3.2 | |
%689 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.4.3, align 16, !tbaa !36 | |
%690 = fsub <4 x float> %689, %574 | |
%691 = extractelement <4 x float> %690, i32 0 | |
%692 = extractelement <4 x float> %690, i32 1 | |
%mul3.i.i.4.2 = fmul float %692, %692 | |
%693 = tail call float @llvm.fmuladd.f32(float %691, float %691, float %mul3.i.i.4.2) #5 | |
%694 = extractelement <4 x float> %690, i32 2 | |
%695 = tail call float @llvm.fmuladd.f32(float %694, float %694, float %693) #5 | |
%and137.4.2 = and i32 %47, 1048576 | |
%tobool138.4.2 = icmp ne i32 %and137.4.2, 0 | |
%cond.4.2 = select i1 %tobool138.4.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.4.2 = icmp ne i32 %28, %572 | |
%not.or.cond.4.2 = or i1 %notlhs, %notrhs.4.2 | |
%cmp145..4.2 = or i1 %cmp145, %not.or.cond.4.2 | |
%conv147.4.2 = uitofp i1 %cmp145..4.2 to float | |
%mul148.4.2 = fmul float %conv147.4.2, %nbparam_params_rcoulomb_sq | |
%cmp149.4.2 = fcmp olt float %695, %mul148.4.2 | |
br i1 %cmp149.4.2, label %if.then151.4.2, label %if.end206.4.2 | |
if.then151.4.2: ; preds = %if.then117.4.2 | |
%extractVec135.4.2 = shufflevector <4 x float> %690, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%696 = extractelement <4 x float> %689, i32 3 | |
%697 = load i32, i32 addrspace(1)* %arrayidx152.4.3, align 4, !tbaa !41 | |
%mul153.4.2 = mul nsw i32 %697, %ntypes | |
%add154.4.2 = add nsw i32 %mul153.4.2, %576 | |
%mul155.4.2 = shl nsw i32 %add154.4.2, 1 | |
%698 = sext i32 %mul155.4.2 to i64 | |
%arrayidx156.4.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %698 | |
%699 = load float, float addrspace(2)* %arrayidx156.4.2, align 4, !tbaa !39 | |
%add160.4.2 = or i32 %mul155.4.2, 1 | |
%700 = sext i32 %add160.4.2 to i64 | |
%arrayidx161.4.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %700 | |
%701 = load float, float addrspace(2)* %arrayidx161.4.2, align 4, !tbaa !39 | |
%sub162.4.2 = fsub float 1.000000e+00, %cond.4.2 | |
%702 = tail call float @llvm.fmuladd.f32(float %sub162.4.2, float 0x3D71979980000000, float %695) | |
%cmp.i.i.4.2 = fcmp olt float %702, 0.000000e+00 | |
%call.i.i.4.2 = tail call float @llvm.sqrt.f32(float %702) #6 | |
%call.i.i.op.4.2 = fdiv float 1.000000e+00, %call.i.i.4.2 | |
%div165.4.2 = select i1 %cmp.i.i.4.2, float 0x7FF8000000000000, float %call.i.i.op.4.2 | |
%mul166.4.2 = fmul float %div165.4.2, %div165.4.2 | |
%mul167.4.2 = fmul float %mul166.4.2, %mul166.4.2 | |
%mul168.4.2 = fmul float %mul166.4.2, %mul167.4.2 | |
%mul169.4.2 = fmul float %cond.4.2, %mul168.4.2 | |
%neg.4.2 = fsub float -0.000000e+00, %699 | |
%703 = tail call float @llvm.fmuladd.f32(float %701, float %mul169.4.2, float %neg.4.2) | |
%mul171.4.2 = fmul float %mul169.4.2, %703 | |
%mul172.4.2 = fmul float %mul166.4.2, %mul171.4.2 | |
%mul173.4.2 = fmul float %575, %696 | |
%mul174.4.2 = fmul float %cond.4.2, %mul166.4.2 | |
%mul176.4.2 = fmul float %mul, %702 | |
%mul.i.4.2 = fmul float %mul176.4.2, %mul176.4.2 | |
%704 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.4.2, float 0x3FBDA79640000000) #5 | |
%705 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.4.2, float 0x3FE03C5780000000) #5 | |
%706 = tail call float @llvm.fmuladd.f32(float %704, float %mul.i.4.2, float 1.000000e+00) #5 | |
%707 = tail call float @llvm.fmuladd.f32(float %705, float %mul176.4.2, float %706) #5 | |
%div.i.4.2 = fdiv float 1.000000e+00, %707, !fpmath !46 | |
%708 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.4.2, float 0xBF0BFF7260000000) #5 | |
%709 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.4.2, float 0x3F50794180000000) #5 | |
%710 = tail call float @llvm.fmuladd.f32(float %708, float %mul.i.4.2, float 0xBF93BDB200000000) #5 | |
%711 = tail call float @llvm.fmuladd.f32(float %709, float %mul.i.4.2, float 0x3FB1D5E760000000) #5 | |
%712 = tail call float @llvm.fmuladd.f32(float %710, float %mul.i.4.2, float 0xBFE81272E0000000) #5 | |
%713 = tail call float @llvm.fmuladd.f32(float %711, float %mul176.4.2, float %712) #5 | |
%mul11.i.4.2 = fmul float %713, %div.i.4.2 | |
%mul178.4.2 = fmul float %mul19, %mul11.i.4.2 | |
%714 = tail call float @llvm.fmuladd.f32(float %mul174.4.2, float %div165.4.2, float %mul178.4.2) | |
%715 = tail call float @llvm.fmuladd.f32(float %mul173.4.2, float %714, float %mul172.4.2) | |
%splat.splatinsert.4.2 = insertelement <3 x float> undef, float %715, i32 0 | |
%splat.splat.4.2 = shufflevector <3 x float> %splat.splatinsert.4.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.4.2 = fmul <3 x float> %extractVec135.4.2, %splat.splat.4.2 | |
%extractVec191.4.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.4.2 = fsub <3 x float> %extractVec191.4.2, %mul183.4.2 | |
%extractVec193.4.2 = shufflevector <3 x float> %sub192.4.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.4.2 = shufflevector <4 x float> %loadVec4200.4.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.4.2 = fadd <3 x float> %extractVec201.4.2, %mul183.4.2 | |
%extractVec203.4.2 = shufflevector <3 x float> %add202.4.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.4.2 | |
if.end206.4.2: ; preds = %if.then151.4.2, %if.then117.4.2, %if.end206.3.2 | |
%716 = phi <3 x float> [ %add202.4.2, %if.then151.4.2 ], [ %567, %if.then117.4.2 ], [ %567, %if.end206.3.2 ] | |
%loadVec4200.4705 = phi <4 x float> [ %extractVec203.4.2, %if.then151.4.2 ], [ %loadVec4200.4.2, %if.then117.4.2 ], [ %loadVec4200.4.2, %if.end206.3.2 ] | |
%fcj_buf.sroa.0.1.4.2 = phi <4 x float> [ %extractVec193.4.2, %if.then151.4.2 ], [ %fcj_buf.sroa.0.1.3.2, %if.then117.4.2 ], [ %fcj_buf.sroa.0.1.3.2, %if.end206.3.2 ] | |
%and115.5.2 = and i32 %45, 2097152 | |
%tobool116.5.2 = icmp eq i32 %and115.5.2, 0 | |
br i1 %tobool116.5.2, label %if.end206.5.2, label %if.then117.5.2 | |
if.then117.5.2: ; preds = %if.end206.4.2 | |
%717 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.5.3, align 16, !tbaa !36 | |
%718 = fsub <4 x float> %717, %574 | |
%719 = extractelement <4 x float> %718, i32 0 | |
%720 = extractelement <4 x float> %718, i32 1 | |
%mul3.i.i.5.2 = fmul float %720, %720 | |
%721 = tail call float @llvm.fmuladd.f32(float %719, float %719, float %mul3.i.i.5.2) #5 | |
%722 = extractelement <4 x float> %718, i32 2 | |
%723 = tail call float @llvm.fmuladd.f32(float %722, float %722, float %721) #5 | |
%and137.5.2 = and i32 %47, 2097152 | |
%tobool138.5.2 = icmp ne i32 %and137.5.2, 0 | |
%cond.5.2 = select i1 %tobool138.5.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.5.2 = icmp ne i32 %26, %572 | |
%not.or.cond.5.2 = or i1 %notlhs, %notrhs.5.2 | |
%cmp145..5.2 = or i1 %cmp145, %not.or.cond.5.2 | |
%conv147.5.2 = uitofp i1 %cmp145..5.2 to float | |
%mul148.5.2 = fmul float %conv147.5.2, %nbparam_params_rcoulomb_sq | |
%cmp149.5.2 = fcmp olt float %723, %mul148.5.2 | |
br i1 %cmp149.5.2, label %if.then151.5.2, label %if.end206.5.2 | |
if.then151.5.2: ; preds = %if.then117.5.2 | |
%extractVec135.5.2 = shufflevector <4 x float> %718, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%724 = extractelement <4 x float> %717, i32 3 | |
%725 = load i32, i32 addrspace(1)* %arrayidx152.5.3, align 4, !tbaa !41 | |
%mul153.5.2 = mul nsw i32 %725, %ntypes | |
%add154.5.2 = add nsw i32 %mul153.5.2, %576 | |
%mul155.5.2 = shl nsw i32 %add154.5.2, 1 | |
%726 = sext i32 %mul155.5.2 to i64 | |
%arrayidx156.5.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %726 | |
%727 = load float, float addrspace(2)* %arrayidx156.5.2, align 4, !tbaa !39 | |
%add160.5.2 = or i32 %mul155.5.2, 1 | |
%728 = sext i32 %add160.5.2 to i64 | |
%arrayidx161.5.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %728 | |
%729 = load float, float addrspace(2)* %arrayidx161.5.2, align 4, !tbaa !39 | |
%sub162.5.2 = fsub float 1.000000e+00, %cond.5.2 | |
%730 = tail call float @llvm.fmuladd.f32(float %sub162.5.2, float 0x3D71979980000000, float %723) | |
%cmp.i.i.5.2 = fcmp olt float %730, 0.000000e+00 | |
%call.i.i.5.2 = tail call float @llvm.sqrt.f32(float %730) #6 | |
%call.i.i.op.5.2 = fdiv float 1.000000e+00, %call.i.i.5.2 | |
%div165.5.2 = select i1 %cmp.i.i.5.2, float 0x7FF8000000000000, float %call.i.i.op.5.2 | |
%mul166.5.2 = fmul float %div165.5.2, %div165.5.2 | |
%mul167.5.2 = fmul float %mul166.5.2, %mul166.5.2 | |
%mul168.5.2 = fmul float %mul166.5.2, %mul167.5.2 | |
%mul169.5.2 = fmul float %cond.5.2, %mul168.5.2 | |
%neg.5.2 = fsub float -0.000000e+00, %727 | |
%731 = tail call float @llvm.fmuladd.f32(float %729, float %mul169.5.2, float %neg.5.2) | |
%mul171.5.2 = fmul float %mul169.5.2, %731 | |
%mul172.5.2 = fmul float %mul166.5.2, %mul171.5.2 | |
%mul173.5.2 = fmul float %575, %724 | |
%mul174.5.2 = fmul float %cond.5.2, %mul166.5.2 | |
%mul176.5.2 = fmul float %mul, %730 | |
%mul.i.5.2 = fmul float %mul176.5.2, %mul176.5.2 | |
%732 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.5.2, float 0x3FBDA79640000000) #5 | |
%733 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.5.2, float 0x3FE03C5780000000) #5 | |
%734 = tail call float @llvm.fmuladd.f32(float %732, float %mul.i.5.2, float 1.000000e+00) #5 | |
%735 = tail call float @llvm.fmuladd.f32(float %733, float %mul176.5.2, float %734) #5 | |
%div.i.5.2 = fdiv float 1.000000e+00, %735, !fpmath !46 | |
%736 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.5.2, float 0xBF0BFF7260000000) #5 | |
%737 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.5.2, float 0x3F50794180000000) #5 | |
%738 = tail call float @llvm.fmuladd.f32(float %736, float %mul.i.5.2, float 0xBF93BDB200000000) #5 | |
%739 = tail call float @llvm.fmuladd.f32(float %737, float %mul.i.5.2, float 0x3FB1D5E760000000) #5 | |
%740 = tail call float @llvm.fmuladd.f32(float %738, float %mul.i.5.2, float 0xBFE81272E0000000) #5 | |
%741 = tail call float @llvm.fmuladd.f32(float %739, float %mul176.5.2, float %740) #5 | |
%mul11.i.5.2 = fmul float %741, %div.i.5.2 | |
%mul178.5.2 = fmul float %mul19, %mul11.i.5.2 | |
%742 = tail call float @llvm.fmuladd.f32(float %mul174.5.2, float %div165.5.2, float %mul178.5.2) | |
%743 = tail call float @llvm.fmuladd.f32(float %mul173.5.2, float %742, float %mul172.5.2) | |
%splat.splatinsert.5.2 = insertelement <3 x float> undef, float %743, i32 0 | |
%splat.splat.5.2 = shufflevector <3 x float> %splat.splatinsert.5.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.5.2 = fmul <3 x float> %extractVec135.5.2, %splat.splat.5.2 | |
%extractVec191.5.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.5.2 = fsub <3 x float> %extractVec191.5.2, %mul183.5.2 | |
%extractVec193.5.2 = shufflevector <3 x float> %sub192.5.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.5.2 = shufflevector <4 x float> %loadVec4200.5.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.5.2 = fadd <3 x float> %extractVec201.5.2, %mul183.5.2 | |
%extractVec203.5.2 = shufflevector <3 x float> %add202.5.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.5.2 | |
if.end206.5.2: ; preds = %if.then151.5.2, %if.then117.5.2, %if.end206.4.2 | |
%744 = phi <3 x float> [ %add202.5.2, %if.then151.5.2 ], [ %566, %if.then117.5.2 ], [ %566, %if.end206.4.2 ] | |
%loadVec4200.5715 = phi <4 x float> [ %extractVec203.5.2, %if.then151.5.2 ], [ %loadVec4200.5.2, %if.then117.5.2 ], [ %loadVec4200.5.2, %if.end206.4.2 ] | |
%fcj_buf.sroa.0.1.5.2 = phi <4 x float> [ %extractVec193.5.2, %if.then151.5.2 ], [ %fcj_buf.sroa.0.1.4.2, %if.then117.5.2 ], [ %fcj_buf.sroa.0.1.4.2, %if.end206.4.2 ] | |
%and115.6.2 = and i32 %45, 4194304 | |
%tobool116.6.2 = icmp eq i32 %and115.6.2, 0 | |
br i1 %tobool116.6.2, label %if.end206.6.2, label %if.then117.6.2 | |
if.then117.6.2: ; preds = %if.end206.5.2 | |
%745 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.6.3, align 16, !tbaa !36 | |
%746 = fsub <4 x float> %745, %574 | |
%747 = extractelement <4 x float> %746, i32 0 | |
%748 = extractelement <4 x float> %746, i32 1 | |
%mul3.i.i.6.2 = fmul float %748, %748 | |
%749 = tail call float @llvm.fmuladd.f32(float %747, float %747, float %mul3.i.i.6.2) #5 | |
%750 = extractelement <4 x float> %746, i32 2 | |
%751 = tail call float @llvm.fmuladd.f32(float %750, float %750, float %749) #5 | |
%and137.6.2 = and i32 %47, 4194304 | |
%tobool138.6.2 = icmp ne i32 %and137.6.2, 0 | |
%cond.6.2 = select i1 %tobool138.6.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.6.2 = icmp ne i32 %24, %572 | |
%not.or.cond.6.2 = or i1 %notlhs, %notrhs.6.2 | |
%cmp145..6.2 = or i1 %cmp145, %not.or.cond.6.2 | |
%conv147.6.2 = uitofp i1 %cmp145..6.2 to float | |
%mul148.6.2 = fmul float %conv147.6.2, %nbparam_params_rcoulomb_sq | |
%cmp149.6.2 = fcmp olt float %751, %mul148.6.2 | |
br i1 %cmp149.6.2, label %if.then151.6.2, label %if.end206.6.2 | |
if.then151.6.2: ; preds = %if.then117.6.2 | |
%extractVec135.6.2 = shufflevector <4 x float> %746, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%752 = extractelement <4 x float> %745, i32 3 | |
%753 = load i32, i32 addrspace(1)* %arrayidx152.6.3, align 4, !tbaa !41 | |
%mul153.6.2 = mul nsw i32 %753, %ntypes | |
%add154.6.2 = add nsw i32 %mul153.6.2, %576 | |
%mul155.6.2 = shl nsw i32 %add154.6.2, 1 | |
%754 = sext i32 %mul155.6.2 to i64 | |
%arrayidx156.6.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %754 | |
%755 = load float, float addrspace(2)* %arrayidx156.6.2, align 4, !tbaa !39 | |
%add160.6.2 = or i32 %mul155.6.2, 1 | |
%756 = sext i32 %add160.6.2 to i64 | |
%arrayidx161.6.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %756 | |
%757 = load float, float addrspace(2)* %arrayidx161.6.2, align 4, !tbaa !39 | |
%sub162.6.2 = fsub float 1.000000e+00, %cond.6.2 | |
%758 = tail call float @llvm.fmuladd.f32(float %sub162.6.2, float 0x3D71979980000000, float %751) | |
%cmp.i.i.6.2 = fcmp olt float %758, 0.000000e+00 | |
%call.i.i.6.2 = tail call float @llvm.sqrt.f32(float %758) #6 | |
%call.i.i.op.6.2 = fdiv float 1.000000e+00, %call.i.i.6.2 | |
%div165.6.2 = select i1 %cmp.i.i.6.2, float 0x7FF8000000000000, float %call.i.i.op.6.2 | |
%mul166.6.2 = fmul float %div165.6.2, %div165.6.2 | |
%mul167.6.2 = fmul float %mul166.6.2, %mul166.6.2 | |
%mul168.6.2 = fmul float %mul166.6.2, %mul167.6.2 | |
%mul169.6.2 = fmul float %cond.6.2, %mul168.6.2 | |
%neg.6.2 = fsub float -0.000000e+00, %755 | |
%759 = tail call float @llvm.fmuladd.f32(float %757, float %mul169.6.2, float %neg.6.2) | |
%mul171.6.2 = fmul float %mul169.6.2, %759 | |
%mul172.6.2 = fmul float %mul166.6.2, %mul171.6.2 | |
%mul173.6.2 = fmul float %575, %752 | |
%mul174.6.2 = fmul float %cond.6.2, %mul166.6.2 | |
%mul176.6.2 = fmul float %mul, %758 | |
%mul.i.6.2 = fmul float %mul176.6.2, %mul176.6.2 | |
%760 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.6.2, float 0x3FBDA79640000000) #5 | |
%761 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.6.2, float 0x3FE03C5780000000) #5 | |
%762 = tail call float @llvm.fmuladd.f32(float %760, float %mul.i.6.2, float 1.000000e+00) #5 | |
%763 = tail call float @llvm.fmuladd.f32(float %761, float %mul176.6.2, float %762) #5 | |
%div.i.6.2 = fdiv float 1.000000e+00, %763, !fpmath !46 | |
%764 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.6.2, float 0xBF0BFF7260000000) #5 | |
%765 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.6.2, float 0x3F50794180000000) #5 | |
%766 = tail call float @llvm.fmuladd.f32(float %764, float %mul.i.6.2, float 0xBF93BDB200000000) #5 | |
%767 = tail call float @llvm.fmuladd.f32(float %765, float %mul.i.6.2, float 0x3FB1D5E760000000) #5 | |
%768 = tail call float @llvm.fmuladd.f32(float %766, float %mul.i.6.2, float 0xBFE81272E0000000) #5 | |
%769 = tail call float @llvm.fmuladd.f32(float %767, float %mul176.6.2, float %768) #5 | |
%mul11.i.6.2 = fmul float %769, %div.i.6.2 | |
%mul178.6.2 = fmul float %mul19, %mul11.i.6.2 | |
%770 = tail call float @llvm.fmuladd.f32(float %mul174.6.2, float %div165.6.2, float %mul178.6.2) | |
%771 = tail call float @llvm.fmuladd.f32(float %mul173.6.2, float %770, float %mul172.6.2) | |
%splat.splatinsert.6.2 = insertelement <3 x float> undef, float %771, i32 0 | |
%splat.splat.6.2 = shufflevector <3 x float> %splat.splatinsert.6.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.6.2 = fmul <3 x float> %extractVec135.6.2, %splat.splat.6.2 | |
%extractVec191.6.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.6.2 = fsub <3 x float> %extractVec191.6.2, %mul183.6.2 | |
%extractVec193.6.2 = shufflevector <3 x float> %sub192.6.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.6.2 = shufflevector <4 x float> %loadVec4200.6.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.6.2 = fadd <3 x float> %extractVec201.6.2, %mul183.6.2 | |
%extractVec203.6.2 = shufflevector <3 x float> %add202.6.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.6.2 | |
if.end206.6.2: ; preds = %if.then151.6.2, %if.then117.6.2, %if.end206.5.2 | |
%772 = phi <3 x float> [ %add202.6.2, %if.then151.6.2 ], [ %565, %if.then117.6.2 ], [ %565, %if.end206.5.2 ] | |
%loadVec4200.6725 = phi <4 x float> [ %extractVec203.6.2, %if.then151.6.2 ], [ %loadVec4200.6.2, %if.then117.6.2 ], [ %loadVec4200.6.2, %if.end206.5.2 ] | |
%fcj_buf.sroa.0.1.6.2 = phi <4 x float> [ %extractVec193.6.2, %if.then151.6.2 ], [ %fcj_buf.sroa.0.1.5.2, %if.then117.6.2 ], [ %fcj_buf.sroa.0.1.5.2, %if.end206.5.2 ] | |
%and115.7.2 = and i32 %45, 8388608 | |
%tobool116.7.2 = icmp eq i32 %and115.7.2, 0 | |
br i1 %tobool116.7.2, label %if.end206.7.2, label %if.then117.7.2 | |
if.then117.7.2: ; preds = %if.end206.6.2 | |
%773 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.7.3, align 16, !tbaa !36 | |
%774 = fsub <4 x float> %773, %574 | |
%775 = extractelement <4 x float> %774, i32 0 | |
%776 = extractelement <4 x float> %774, i32 1 | |
%mul3.i.i.7.2 = fmul float %776, %776 | |
%777 = tail call float @llvm.fmuladd.f32(float %775, float %775, float %mul3.i.i.7.2) #5 | |
%778 = extractelement <4 x float> %774, i32 2 | |
%779 = tail call float @llvm.fmuladd.f32(float %778, float %778, float %777) #5 | |
%and137.7.2 = and i32 %47, 8388608 | |
%tobool138.7.2 = icmp ne i32 %and137.7.2, 0 | |
%cond.7.2 = select i1 %tobool138.7.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.7.2 = icmp ne i32 %22, %572 | |
%not.or.cond.7.2 = or i1 %notlhs, %notrhs.7.2 | |
%cmp145..7.2 = or i1 %cmp145, %not.or.cond.7.2 | |
%conv147.7.2 = uitofp i1 %cmp145..7.2 to float | |
%mul148.7.2 = fmul float %conv147.7.2, %nbparam_params_rcoulomb_sq | |
%cmp149.7.2 = fcmp olt float %779, %mul148.7.2 | |
br i1 %cmp149.7.2, label %if.then151.7.2, label %if.end206.7.2 | |
if.then151.7.2: ; preds = %if.then117.7.2 | |
%extractVec135.7.2 = shufflevector <4 x float> %774, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%780 = extractelement <4 x float> %773, i32 3 | |
%781 = load i32, i32 addrspace(1)* %arrayidx152.7.3, align 4, !tbaa !41 | |
%mul153.7.2 = mul nsw i32 %781, %ntypes | |
%add154.7.2 = add nsw i32 %mul153.7.2, %576 | |
%mul155.7.2 = shl nsw i32 %add154.7.2, 1 | |
%782 = sext i32 %mul155.7.2 to i64 | |
%arrayidx156.7.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %782 | |
%783 = load float, float addrspace(2)* %arrayidx156.7.2, align 4, !tbaa !39 | |
%add160.7.2 = or i32 %mul155.7.2, 1 | |
%784 = sext i32 %add160.7.2 to i64 | |
%arrayidx161.7.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %784 | |
%785 = load float, float addrspace(2)* %arrayidx161.7.2, align 4, !tbaa !39 | |
%sub162.7.2 = fsub float 1.000000e+00, %cond.7.2 | |
%786 = tail call float @llvm.fmuladd.f32(float %sub162.7.2, float 0x3D71979980000000, float %779) | |
%cmp.i.i.7.2 = fcmp olt float %786, 0.000000e+00 | |
%call.i.i.7.2 = tail call float @llvm.sqrt.f32(float %786) #6 | |
%call.i.i.op.7.2 = fdiv float 1.000000e+00, %call.i.i.7.2 | |
%div165.7.2 = select i1 %cmp.i.i.7.2, float 0x7FF8000000000000, float %call.i.i.op.7.2 | |
%mul166.7.2 = fmul float %div165.7.2, %div165.7.2 | |
%mul167.7.2 = fmul float %mul166.7.2, %mul166.7.2 | |
%mul168.7.2 = fmul float %mul166.7.2, %mul167.7.2 | |
%mul169.7.2 = fmul float %cond.7.2, %mul168.7.2 | |
%neg.7.2 = fsub float -0.000000e+00, %783 | |
%787 = tail call float @llvm.fmuladd.f32(float %785, float %mul169.7.2, float %neg.7.2) | |
%mul171.7.2 = fmul float %mul169.7.2, %787 | |
%mul172.7.2 = fmul float %mul166.7.2, %mul171.7.2 | |
%mul173.7.2 = fmul float %575, %780 | |
%mul174.7.2 = fmul float %cond.7.2, %mul166.7.2 | |
%mul176.7.2 = fmul float %mul, %786 | |
%mul.i.7.2 = fmul float %mul176.7.2, %mul176.7.2 | |
%788 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.7.2, float 0x3FBDA79640000000) #5 | |
%789 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.7.2, float 0x3FE03C5780000000) #5 | |
%790 = tail call float @llvm.fmuladd.f32(float %788, float %mul.i.7.2, float 1.000000e+00) #5 | |
%791 = tail call float @llvm.fmuladd.f32(float %789, float %mul176.7.2, float %790) #5 | |
%div.i.7.2 = fdiv float 1.000000e+00, %791, !fpmath !46 | |
%792 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.7.2, float 0xBF0BFF7260000000) #5 | |
%793 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.7.2, float 0x3F50794180000000) #5 | |
%794 = tail call float @llvm.fmuladd.f32(float %792, float %mul.i.7.2, float 0xBF93BDB200000000) #5 | |
%795 = tail call float @llvm.fmuladd.f32(float %793, float %mul.i.7.2, float 0x3FB1D5E760000000) #5 | |
%796 = tail call float @llvm.fmuladd.f32(float %794, float %mul.i.7.2, float 0xBFE81272E0000000) #5 | |
%797 = tail call float @llvm.fmuladd.f32(float %795, float %mul176.7.2, float %796) #5 | |
%mul11.i.7.2 = fmul float %797, %div.i.7.2 | |
%mul178.7.2 = fmul float %mul19, %mul11.i.7.2 | |
%798 = tail call float @llvm.fmuladd.f32(float %mul174.7.2, float %div165.7.2, float %mul178.7.2) | |
%799 = tail call float @llvm.fmuladd.f32(float %mul173.7.2, float %798, float %mul172.7.2) | |
%splat.splatinsert.7.2 = insertelement <3 x float> undef, float %799, i32 0 | |
%splat.splat.7.2 = shufflevector <3 x float> %splat.splatinsert.7.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.7.2 = fmul <3 x float> %extractVec135.7.2, %splat.splat.7.2 | |
%extractVec191.7.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.7.2 = fsub <3 x float> %extractVec191.7.2, %mul183.7.2 | |
%extractVec193.7.2 = shufflevector <3 x float> %sub192.7.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.7.2 = shufflevector <4 x float> %loadVec4200.7.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.7.2 = fadd <3 x float> %extractVec201.7.2, %mul183.7.2 | |
%extractVec203.7.2 = shufflevector <3 x float> %add202.7.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.7.2 | |
if.end206.7.2: ; preds = %if.then151.7.2, %if.then117.7.2, %if.end206.6.2 | |
%fci_buf.sroa.37.7 = phi <4 x float> [ %fci_buf.sroa.37.6, %if.end206.6.2 ], [ %extractVec203.7.2, %if.then151.7.2 ], [ %fci_buf.sroa.37.6, %if.then117.7.2 ] | |
%loadVec4200.7735 = phi <4 x float> [ %loadVec4200.7.2, %if.end206.6.2 ], [ %extractVec203.7.2, %if.then151.7.2 ], [ %loadVec4200.7.2, %if.then117.7.2 ] | |
%fcj_buf.sroa.0.1.7.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.2, %if.end206.6.2 ], [ %extractVec193.7.2, %if.then151.7.2 ], [ %fcj_buf.sroa.0.1.6.2, %if.then117.7.2 ] | |
%800 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 0 | |
store float %800, float addrspace(3)* %arrayidx211, align 4, !tbaa !39 | |
%801 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 1 | |
store float %801, float addrspace(3)* %arrayidx213, align 4, !tbaa !39 | |
%802 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 2 | |
store float %802, float addrspace(3)* %arrayidx215, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add106.2) | |
br label %for.inc217.2 | |
for.inc217.2: ; preds = %if.end206.7.2, %for.inc217.1 | |
%fci_buf.sroa.37.8 = phi <4 x float> [ %fci_buf.sroa.37.6, %for.inc217.1 ], [ %fci_buf.sroa.37.7, %if.end206.7.2 ] | |
%803 = phi <3 x float> [ %565, %for.inc217.1 ], [ %772, %if.end206.7.2 ] | |
%804 = phi <3 x float> [ %566, %for.inc217.1 ], [ %744, %if.end206.7.2 ] | |
%805 = phi <3 x float> [ %567, %for.inc217.1 ], [ %716, %if.end206.7.2 ] | |
%806 = phi <3 x float> [ %568, %for.inc217.1 ], [ %688, %if.end206.7.2 ] | |
%807 = phi <3 x float> [ %569, %for.inc217.1 ], [ %660, %if.end206.7.2 ] | |
%808 = phi <3 x float> [ %570, %for.inc217.1 ], [ %632, %if.end206.7.2 ] | |
%809 = phi <3 x float> [ %571, %for.inc217.1 ], [ %604, %if.end206.7.2 ] | |
%loadVec4200.7.3 = phi <4 x float> [ %loadVec4200.7.2, %for.inc217.1 ], [ %loadVec4200.7735, %if.end206.7.2 ] | |
%loadVec4200.6.3 = phi <4 x float> [ %loadVec4200.6.2, %for.inc217.1 ], [ %loadVec4200.6725, %if.end206.7.2 ] | |
%loadVec4200.5.3 = phi <4 x float> [ %loadVec4200.5.2, %for.inc217.1 ], [ %loadVec4200.5715, %if.end206.7.2 ] | |
%loadVec4200.4.3 = phi <4 x float> [ %loadVec4200.4.2, %for.inc217.1 ], [ %loadVec4200.4705, %if.end206.7.2 ] | |
%loadVec4200.3.3 = phi <4 x float> [ %loadVec4200.3.2, %for.inc217.1 ], [ %loadVec4200.3695, %if.end206.7.2 ] | |
%loadVec4200.2.3 = phi <4 x float> [ %loadVec4200.2.2, %for.inc217.1 ], [ %loadVec4200.2685, %if.end206.7.2 ] | |
%loadVec4200.1.3 = phi <4 x float> [ %loadVec4200.1.2, %for.inc217.1 ], [ %loadVec4200.1675, %if.end206.7.2 ] | |
%loadVec4200.3655 = phi <4 x float> [ %loadVec4200.2597, %for.inc217.1 ], [ %loadVec4200665, %if.end206.7.2 ] | |
%tobool95.3 = icmp ult i32 %45, 16777216 | |
br i1 %tobool95.3, label %for.inc221, label %if.then96.3 | |
if.then96.3: ; preds = %for.inc217.2 | |
%810 = load i32, i32 addrspace(3)* %arrayidx104.3, align 4, !tbaa !41 | |
%mul105.3 = shl nsw i32 %810, 3 | |
%add106.3 = add i32 %mul105.3, %y.i | |
%811 = sext i32 %add106.3 to i64 | |
%arrayidx107.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %811 | |
%812 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx107.3, align 16, !tbaa !36 | |
%813 = extractelement <4 x float> %812, i32 3 | |
%arrayidx109.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %811 | |
%814 = load i32, i32 addrspace(1)* %arrayidx109.3, align 4, !tbaa !41 | |
%and115.3605 = and i32 %45, 16777216 | |
%tobool116.3606 = icmp eq i32 %and115.3605, 0 | |
br i1 %tobool116.3606, label %if.end206.3662, label %if.then117.3618 | |
if.then117.3618: ; preds = %if.then96.3 | |
%815 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.3607, align 16, !tbaa !36 | |
%816 = fsub <4 x float> %815, %812 | |
%817 = extractelement <4 x float> %816, i32 0 | |
%818 = extractelement <4 x float> %816, i32 1 | |
%mul3.i.i.3608 = fmul float %818, %818 | |
%819 = tail call float @llvm.fmuladd.f32(float %817, float %817, float %mul3.i.i.3608) #5 | |
%820 = extractelement <4 x float> %816, i32 2 | |
%821 = tail call float @llvm.fmuladd.f32(float %820, float %820, float %819) #5 | |
%and137.3609 = and i32 %47, 16777216 | |
%tobool138.3610 = icmp ne i32 %and137.3609, 0 | |
%cond.3611 = select i1 %tobool138.3610, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3612 = icmp ne i32 %mul29, %810 | |
%not.or.cond.3613 = or i1 %notlhs, %notrhs.3612 | |
%cmp145..3614 = or i1 %cmp145, %not.or.cond.3613 | |
%conv147.3615 = uitofp i1 %cmp145..3614 to float | |
%mul148.3616 = fmul float %conv147.3615, %nbparam_params_rcoulomb_sq | |
%cmp149.3617 = fcmp olt float %821, %mul148.3616 | |
br i1 %cmp149.3617, label %if.then151.3659, label %if.end206.3662 | |
if.then151.3659: ; preds = %if.then117.3618 | |
%extractVec135.3619 = shufflevector <4 x float> %816, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%822 = extractelement <4 x float> %815, i32 3 | |
%823 = load i32, i32 addrspace(1)* %arrayidx152.3622, align 4, !tbaa !41 | |
%mul153.3623 = mul nsw i32 %823, %ntypes | |
%add154.3624 = add nsw i32 %mul153.3623, %814 | |
%mul155.3625 = shl nsw i32 %add154.3624, 1 | |
%824 = sext i32 %mul155.3625 to i64 | |
%arrayidx156.3626 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %824 | |
%825 = load float, float addrspace(2)* %arrayidx156.3626, align 4, !tbaa !39 | |
%add160.3627 = or i32 %mul155.3625, 1 | |
%826 = sext i32 %add160.3627 to i64 | |
%arrayidx161.3628 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %826 | |
%827 = load float, float addrspace(2)* %arrayidx161.3628, align 4, !tbaa !39 | |
%sub162.3629 = fsub float 1.000000e+00, %cond.3611 | |
%828 = tail call float @llvm.fmuladd.f32(float %sub162.3629, float 0x3D71979980000000, float %821) | |
%cmp.i.i.3630 = fcmp olt float %828, 0.000000e+00 | |
%call.i.i.3631 = tail call float @llvm.sqrt.f32(float %828) #6 | |
%call.i.i.op.3632 = fdiv float 1.000000e+00, %call.i.i.3631 | |
%div165.3633 = select i1 %cmp.i.i.3630, float 0x7FF8000000000000, float %call.i.i.op.3632 | |
%mul166.3634 = fmul float %div165.3633, %div165.3633 | |
%mul167.3635 = fmul float %mul166.3634, %mul166.3634 | |
%mul168.3636 = fmul float %mul166.3634, %mul167.3635 | |
%mul169.3637 = fmul float %cond.3611, %mul168.3636 | |
%neg.3638 = fsub float -0.000000e+00, %825 | |
%829 = tail call float @llvm.fmuladd.f32(float %827, float %mul169.3637, float %neg.3638) | |
%mul171.3639 = fmul float %mul169.3637, %829 | |
%mul172.3640 = fmul float %mul166.3634, %mul171.3639 | |
%mul173.3641 = fmul float %813, %822 | |
%mul174.3642 = fmul float %cond.3611, %mul166.3634 | |
%mul176.3643 = fmul float %mul, %828 | |
%mul.i.3644 = fmul float %mul176.3643, %mul176.3643 | |
%830 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3644, float 0x3FBDA79640000000) #5 | |
%831 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3644, float 0x3FE03C5780000000) #5 | |
%832 = tail call float @llvm.fmuladd.f32(float %830, float %mul.i.3644, float 1.000000e+00) #5 | |
%833 = tail call float @llvm.fmuladd.f32(float %831, float %mul176.3643, float %832) #5 | |
%div.i.3645 = fdiv float 1.000000e+00, %833, !fpmath !46 | |
%834 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3644, float 0xBF0BFF7260000000) #5 | |
%835 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3644, float 0x3F50794180000000) #5 | |
%836 = tail call float @llvm.fmuladd.f32(float %834, float %mul.i.3644, float 0xBF93BDB200000000) #5 | |
%837 = tail call float @llvm.fmuladd.f32(float %835, float %mul.i.3644, float 0x3FB1D5E760000000) #5 | |
%838 = tail call float @llvm.fmuladd.f32(float %836, float %mul.i.3644, float 0xBFE81272E0000000) #5 | |
%839 = tail call float @llvm.fmuladd.f32(float %837, float %mul176.3643, float %838) #5 | |
%mul11.i.3646 = fmul float %839, %div.i.3645 | |
%mul178.3647 = fmul float %mul19, %mul11.i.3646 | |
%840 = tail call float @llvm.fmuladd.f32(float %mul174.3642, float %div165.3633, float %mul178.3647) | |
%841 = tail call float @llvm.fmuladd.f32(float %mul173.3641, float %840, float %mul172.3640) | |
%splat.splatinsert.3648 = insertelement <3 x float> undef, float %841, i32 0 | |
%splat.splat.3649 = shufflevector <3 x float> %splat.splatinsert.3648, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.3650 = fmul <3 x float> %extractVec135.3619, %splat.splat.3649 | |
%sub192.3651 = fsub <3 x float> zeroinitializer, %mul183.3650 | |
%extractVec193.3652 = shufflevector <3 x float> %sub192.3651, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.3656 = shufflevector <4 x float> %loadVec4200.3655, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.3657 = fadd <3 x float> %extractVec201.3656, %mul183.3650 | |
%extractVec203.3658 = shufflevector <3 x float> %add202.3657, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.3662 | |
if.end206.3662: ; preds = %if.then151.3659, %if.then117.3618, %if.then96.3 | |
%842 = phi <3 x float> [ %add202.3657, %if.then151.3659 ], [ %809, %if.then117.3618 ], [ %809, %if.then96.3 ] | |
%loadVec4200666 = phi <4 x float> [ %extractVec203.3658, %if.then151.3659 ], [ %loadVec4200.3655, %if.then117.3618 ], [ %loadVec4200.3655, %if.then96.3 ] | |
%fcj_buf.sroa.0.1.3660 = phi <4 x float> [ %extractVec193.3652, %if.then151.3659 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then117.3618 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then96.3 ] | |
%and115.1.3 = and i32 %45, 33554432 | |
%tobool116.1.3 = icmp eq i32 %and115.1.3, 0 | |
br i1 %tobool116.1.3, label %if.end206.1.3, label %if.then117.1.3 | |
if.then117.1.3: ; preds = %if.end206.3662 | |
%843 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.1.3, align 16, !tbaa !36 | |
%844 = fsub <4 x float> %843, %812 | |
%845 = extractelement <4 x float> %844, i32 0 | |
%846 = extractelement <4 x float> %844, i32 1 | |
%mul3.i.i.1.3 = fmul float %846, %846 | |
%847 = tail call float @llvm.fmuladd.f32(float %845, float %845, float %mul3.i.i.1.3) #5 | |
%848 = extractelement <4 x float> %844, i32 2 | |
%849 = tail call float @llvm.fmuladd.f32(float %848, float %848, float %847) #5 | |
%and137.1.3 = and i32 %47, 33554432 | |
%tobool138.1.3 = icmp ne i32 %and137.1.3, 0 | |
%cond.1.3 = select i1 %tobool138.1.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1.3 = icmp ne i32 %34, %810 | |
%not.or.cond.1.3 = or i1 %notlhs, %notrhs.1.3 | |
%cmp145..1.3 = or i1 %cmp145, %not.or.cond.1.3 | |
%conv147.1.3 = uitofp i1 %cmp145..1.3 to float | |
%mul148.1.3 = fmul float %conv147.1.3, %nbparam_params_rcoulomb_sq | |
%cmp149.1.3 = fcmp olt float %849, %mul148.1.3 | |
br i1 %cmp149.1.3, label %if.then151.1.3, label %if.end206.1.3 | |
if.then151.1.3: ; preds = %if.then117.1.3 | |
%extractVec135.1.3 = shufflevector <4 x float> %844, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%850 = extractelement <4 x float> %843, i32 3 | |
%851 = load i32, i32 addrspace(1)* %arrayidx152.1.3, align 4, !tbaa !41 | |
%mul153.1.3 = mul nsw i32 %851, %ntypes | |
%add154.1.3 = add nsw i32 %mul153.1.3, %814 | |
%mul155.1.3 = shl nsw i32 %add154.1.3, 1 | |
%852 = sext i32 %mul155.1.3 to i64 | |
%arrayidx156.1.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %852 | |
%853 = load float, float addrspace(2)* %arrayidx156.1.3, align 4, !tbaa !39 | |
%add160.1.3 = or i32 %mul155.1.3, 1 | |
%854 = sext i32 %add160.1.3 to i64 | |
%arrayidx161.1.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %854 | |
%855 = load float, float addrspace(2)* %arrayidx161.1.3, align 4, !tbaa !39 | |
%sub162.1.3 = fsub float 1.000000e+00, %cond.1.3 | |
%856 = tail call float @llvm.fmuladd.f32(float %sub162.1.3, float 0x3D71979980000000, float %849) | |
%cmp.i.i.1.3 = fcmp olt float %856, 0.000000e+00 | |
%call.i.i.1.3 = tail call float @llvm.sqrt.f32(float %856) #6 | |
%call.i.i.op.1.3 = fdiv float 1.000000e+00, %call.i.i.1.3 | |
%div165.1.3 = select i1 %cmp.i.i.1.3, float 0x7FF8000000000000, float %call.i.i.op.1.3 | |
%mul166.1.3 = fmul float %div165.1.3, %div165.1.3 | |
%mul167.1.3 = fmul float %mul166.1.3, %mul166.1.3 | |
%mul168.1.3 = fmul float %mul166.1.3, %mul167.1.3 | |
%mul169.1.3 = fmul float %cond.1.3, %mul168.1.3 | |
%neg.1.3 = fsub float -0.000000e+00, %853 | |
%857 = tail call float @llvm.fmuladd.f32(float %855, float %mul169.1.3, float %neg.1.3) | |
%mul171.1.3 = fmul float %mul169.1.3, %857 | |
%mul172.1.3 = fmul float %mul166.1.3, %mul171.1.3 | |
%mul173.1.3 = fmul float %813, %850 | |
%mul174.1.3 = fmul float %cond.1.3, %mul166.1.3 | |
%mul176.1.3 = fmul float %mul, %856 | |
%mul.i.1.3 = fmul float %mul176.1.3, %mul176.1.3 | |
%858 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1.3, float 0x3FBDA79640000000) #5 | |
%859 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1.3, float 0x3FE03C5780000000) #5 | |
%860 = tail call float @llvm.fmuladd.f32(float %858, float %mul.i.1.3, float 1.000000e+00) #5 | |
%861 = tail call float @llvm.fmuladd.f32(float %859, float %mul176.1.3, float %860) #5 | |
%div.i.1.3 = fdiv float 1.000000e+00, %861, !fpmath !46 | |
%862 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1.3, float 0xBF0BFF7260000000) #5 | |
%863 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1.3, float 0x3F50794180000000) #5 | |
%864 = tail call float @llvm.fmuladd.f32(float %862, float %mul.i.1.3, float 0xBF93BDB200000000) #5 | |
%865 = tail call float @llvm.fmuladd.f32(float %863, float %mul.i.1.3, float 0x3FB1D5E760000000) #5 | |
%866 = tail call float @llvm.fmuladd.f32(float %864, float %mul.i.1.3, float 0xBFE81272E0000000) #5 | |
%867 = tail call float @llvm.fmuladd.f32(float %865, float %mul176.1.3, float %866) #5 | |
%mul11.i.1.3 = fmul float %867, %div.i.1.3 | |
%mul178.1.3 = fmul float %mul19, %mul11.i.1.3 | |
%868 = tail call float @llvm.fmuladd.f32(float %mul174.1.3, float %div165.1.3, float %mul178.1.3) | |
%869 = tail call float @llvm.fmuladd.f32(float %mul173.1.3, float %868, float %mul172.1.3) | |
%splat.splatinsert.1.3 = insertelement <3 x float> undef, float %869, i32 0 | |
%splat.splat.1.3 = shufflevector <3 x float> %splat.splatinsert.1.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.1.3 = fmul <3 x float> %extractVec135.1.3, %splat.splat.1.3 | |
%extractVec191.1.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3660, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.1.3 = fsub <3 x float> %extractVec191.1.3, %mul183.1.3 | |
%extractVec193.1.3 = shufflevector <3 x float> %sub192.1.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.1.3 = shufflevector <4 x float> %loadVec4200.1.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.1.3 = fadd <3 x float> %extractVec201.1.3, %mul183.1.3 | |
%extractVec203.1.3 = shufflevector <3 x float> %add202.1.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.1.3 | |
if.end206.1.3: ; preds = %if.then151.1.3, %if.then117.1.3, %if.end206.3662 | |
%870 = phi <3 x float> [ %add202.1.3, %if.then151.1.3 ], [ %808, %if.then117.1.3 ], [ %808, %if.end206.3662 ] | |
%loadVec4200.1676 = phi <4 x float> [ %extractVec203.1.3, %if.then151.1.3 ], [ %loadVec4200.1.3, %if.then117.1.3 ], [ %loadVec4200.1.3, %if.end206.3662 ] | |
%fcj_buf.sroa.0.1.1.3 = phi <4 x float> [ %extractVec193.1.3, %if.then151.1.3 ], [ %fcj_buf.sroa.0.1.3660, %if.then117.1.3 ], [ %fcj_buf.sroa.0.1.3660, %if.end206.3662 ] | |
%and115.2.3 = and i32 %45, 67108864 | |
%tobool116.2.3 = icmp eq i32 %and115.2.3, 0 | |
br i1 %tobool116.2.3, label %if.end206.2.3, label %if.then117.2.3 | |
if.then117.2.3: ; preds = %if.end206.1.3 | |
%871 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.2.3, align 16, !tbaa !36 | |
%872 = fsub <4 x float> %871, %812 | |
%873 = extractelement <4 x float> %872, i32 0 | |
%874 = extractelement <4 x float> %872, i32 1 | |
%mul3.i.i.2.3 = fmul float %874, %874 | |
%875 = tail call float @llvm.fmuladd.f32(float %873, float %873, float %mul3.i.i.2.3) #5 | |
%876 = extractelement <4 x float> %872, i32 2 | |
%877 = tail call float @llvm.fmuladd.f32(float %876, float %876, float %875) #5 | |
%and137.2.3 = and i32 %47, 67108864 | |
%tobool138.2.3 = icmp ne i32 %and137.2.3, 0 | |
%cond.2.3 = select i1 %tobool138.2.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2.3 = icmp ne i32 %32, %810 | |
%not.or.cond.2.3 = or i1 %notlhs, %notrhs.2.3 | |
%cmp145..2.3 = or i1 %cmp145, %not.or.cond.2.3 | |
%conv147.2.3 = uitofp i1 %cmp145..2.3 to float | |
%mul148.2.3 = fmul float %conv147.2.3, %nbparam_params_rcoulomb_sq | |
%cmp149.2.3 = fcmp olt float %877, %mul148.2.3 | |
br i1 %cmp149.2.3, label %if.then151.2.3, label %if.end206.2.3 | |
if.then151.2.3: ; preds = %if.then117.2.3 | |
%extractVec135.2.3 = shufflevector <4 x float> %872, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%878 = extractelement <4 x float> %871, i32 3 | |
%879 = load i32, i32 addrspace(1)* %arrayidx152.2.3, align 4, !tbaa !41 | |
%mul153.2.3 = mul nsw i32 %879, %ntypes | |
%add154.2.3 = add nsw i32 %mul153.2.3, %814 | |
%mul155.2.3 = shl nsw i32 %add154.2.3, 1 | |
%880 = sext i32 %mul155.2.3 to i64 | |
%arrayidx156.2.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %880 | |
%881 = load float, float addrspace(2)* %arrayidx156.2.3, align 4, !tbaa !39 | |
%add160.2.3 = or i32 %mul155.2.3, 1 | |
%882 = sext i32 %add160.2.3 to i64 | |
%arrayidx161.2.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %882 | |
%883 = load float, float addrspace(2)* %arrayidx161.2.3, align 4, !tbaa !39 | |
%sub162.2.3 = fsub float 1.000000e+00, %cond.2.3 | |
%884 = tail call float @llvm.fmuladd.f32(float %sub162.2.3, float 0x3D71979980000000, float %877) | |
%cmp.i.i.2.3 = fcmp olt float %884, 0.000000e+00 | |
%call.i.i.2.3 = tail call float @llvm.sqrt.f32(float %884) #6 | |
%call.i.i.op.2.3 = fdiv float 1.000000e+00, %call.i.i.2.3 | |
%div165.2.3 = select i1 %cmp.i.i.2.3, float 0x7FF8000000000000, float %call.i.i.op.2.3 | |
%mul166.2.3 = fmul float %div165.2.3, %div165.2.3 | |
%mul167.2.3 = fmul float %mul166.2.3, %mul166.2.3 | |
%mul168.2.3 = fmul float %mul166.2.3, %mul167.2.3 | |
%mul169.2.3 = fmul float %cond.2.3, %mul168.2.3 | |
%neg.2.3 = fsub float -0.000000e+00, %881 | |
%885 = tail call float @llvm.fmuladd.f32(float %883, float %mul169.2.3, float %neg.2.3) | |
%mul171.2.3 = fmul float %mul169.2.3, %885 | |
%mul172.2.3 = fmul float %mul166.2.3, %mul171.2.3 | |
%mul173.2.3 = fmul float %813, %878 | |
%mul174.2.3 = fmul float %cond.2.3, %mul166.2.3 | |
%mul176.2.3 = fmul float %mul, %884 | |
%mul.i.2.3 = fmul float %mul176.2.3, %mul176.2.3 | |
%886 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2.3, float 0x3FBDA79640000000) #5 | |
%887 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2.3, float 0x3FE03C5780000000) #5 | |
%888 = tail call float @llvm.fmuladd.f32(float %886, float %mul.i.2.3, float 1.000000e+00) #5 | |
%889 = tail call float @llvm.fmuladd.f32(float %887, float %mul176.2.3, float %888) #5 | |
%div.i.2.3 = fdiv float 1.000000e+00, %889, !fpmath !46 | |
%890 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2.3, float 0xBF0BFF7260000000) #5 | |
%891 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2.3, float 0x3F50794180000000) #5 | |
%892 = tail call float @llvm.fmuladd.f32(float %890, float %mul.i.2.3, float 0xBF93BDB200000000) #5 | |
%893 = tail call float @llvm.fmuladd.f32(float %891, float %mul.i.2.3, float 0x3FB1D5E760000000) #5 | |
%894 = tail call float @llvm.fmuladd.f32(float %892, float %mul.i.2.3, float 0xBFE81272E0000000) #5 | |
%895 = tail call float @llvm.fmuladd.f32(float %893, float %mul176.2.3, float %894) #5 | |
%mul11.i.2.3 = fmul float %895, %div.i.2.3 | |
%mul178.2.3 = fmul float %mul19, %mul11.i.2.3 | |
%896 = tail call float @llvm.fmuladd.f32(float %mul174.2.3, float %div165.2.3, float %mul178.2.3) | |
%897 = tail call float @llvm.fmuladd.f32(float %mul173.2.3, float %896, float %mul172.2.3) | |
%splat.splatinsert.2.3 = insertelement <3 x float> undef, float %897, i32 0 | |
%splat.splat.2.3 = shufflevector <3 x float> %splat.splatinsert.2.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.2.3 = fmul <3 x float> %extractVec135.2.3, %splat.splat.2.3 | |
%extractVec191.2.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.2.3 = fsub <3 x float> %extractVec191.2.3, %mul183.2.3 | |
%extractVec193.2.3 = shufflevector <3 x float> %sub192.2.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.2.3 = shufflevector <4 x float> %loadVec4200.2.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.2.3 = fadd <3 x float> %extractVec201.2.3, %mul183.2.3 | |
%extractVec203.2.3 = shufflevector <3 x float> %add202.2.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.2.3 | |
if.end206.2.3: ; preds = %if.then151.2.3, %if.then117.2.3, %if.end206.1.3 | |
%898 = phi <3 x float> [ %add202.2.3, %if.then151.2.3 ], [ %807, %if.then117.2.3 ], [ %807, %if.end206.1.3 ] | |
%loadVec4200.2686 = phi <4 x float> [ %extractVec203.2.3, %if.then151.2.3 ], [ %loadVec4200.2.3, %if.then117.2.3 ], [ %loadVec4200.2.3, %if.end206.1.3 ] | |
%fcj_buf.sroa.0.1.2.3 = phi <4 x float> [ %extractVec193.2.3, %if.then151.2.3 ], [ %fcj_buf.sroa.0.1.1.3, %if.then117.2.3 ], [ %fcj_buf.sroa.0.1.1.3, %if.end206.1.3 ] | |
%and115.3.3 = and i32 %45, 134217728 | |
%tobool116.3.3 = icmp eq i32 %and115.3.3, 0 | |
br i1 %tobool116.3.3, label %if.end206.3.3, label %if.then117.3.3 | |
if.then117.3.3: ; preds = %if.end206.2.3 | |
%899 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.3.3, align 16, !tbaa !36 | |
%900 = fsub <4 x float> %899, %812 | |
%901 = extractelement <4 x float> %900, i32 0 | |
%902 = extractelement <4 x float> %900, i32 1 | |
%mul3.i.i.3.3 = fmul float %902, %902 | |
%903 = tail call float @llvm.fmuladd.f32(float %901, float %901, float %mul3.i.i.3.3) #5 | |
%904 = extractelement <4 x float> %900, i32 2 | |
%905 = tail call float @llvm.fmuladd.f32(float %904, float %904, float %903) #5 | |
%and137.3.3 = and i32 %47, 134217728 | |
%tobool138.3.3 = icmp ne i32 %and137.3.3, 0 | |
%cond.3.3 = select i1 %tobool138.3.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3.3 = icmp ne i32 %30, %810 | |
%not.or.cond.3.3 = or i1 %notlhs, %notrhs.3.3 | |
%cmp145..3.3 = or i1 %cmp145, %not.or.cond.3.3 | |
%conv147.3.3 = uitofp i1 %cmp145..3.3 to float | |
%mul148.3.3 = fmul float %conv147.3.3, %nbparam_params_rcoulomb_sq | |
%cmp149.3.3 = fcmp olt float %905, %mul148.3.3 | |
br i1 %cmp149.3.3, label %if.then151.3.3, label %if.end206.3.3 | |
if.then151.3.3: ; preds = %if.then117.3.3 | |
%extractVec135.3.3 = shufflevector <4 x float> %900, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%906 = extractelement <4 x float> %899, i32 3 | |
%907 = load i32, i32 addrspace(1)* %arrayidx152.3.3, align 4, !tbaa !41 | |
%mul153.3.3 = mul nsw i32 %907, %ntypes | |
%add154.3.3 = add nsw i32 %mul153.3.3, %814 | |
%mul155.3.3 = shl nsw i32 %add154.3.3, 1 | |
%908 = sext i32 %mul155.3.3 to i64 | |
%arrayidx156.3.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %908 | |
%909 = load float, float addrspace(2)* %arrayidx156.3.3, align 4, !tbaa !39 | |
%add160.3.3 = or i32 %mul155.3.3, 1 | |
%910 = sext i32 %add160.3.3 to i64 | |
%arrayidx161.3.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %910 | |
%911 = load float, float addrspace(2)* %arrayidx161.3.3, align 4, !tbaa !39 | |
%sub162.3.3 = fsub float 1.000000e+00, %cond.3.3 | |
%912 = tail call float @llvm.fmuladd.f32(float %sub162.3.3, float 0x3D71979980000000, float %905) | |
%cmp.i.i.3.3 = fcmp olt float %912, 0.000000e+00 | |
%call.i.i.3.3 = tail call float @llvm.sqrt.f32(float %912) #6 | |
%call.i.i.op.3.3 = fdiv float 1.000000e+00, %call.i.i.3.3 | |
%div165.3.3 = select i1 %cmp.i.i.3.3, float 0x7FF8000000000000, float %call.i.i.op.3.3 | |
%mul166.3.3 = fmul float %div165.3.3, %div165.3.3 | |
%mul167.3.3 = fmul float %mul166.3.3, %mul166.3.3 | |
%mul168.3.3 = fmul float %mul166.3.3, %mul167.3.3 | |
%mul169.3.3 = fmul float %cond.3.3, %mul168.3.3 | |
%neg.3.3 = fsub float -0.000000e+00, %909 | |
%913 = tail call float @llvm.fmuladd.f32(float %911, float %mul169.3.3, float %neg.3.3) | |
%mul171.3.3 = fmul float %mul169.3.3, %913 | |
%mul172.3.3 = fmul float %mul166.3.3, %mul171.3.3 | |
%mul173.3.3 = fmul float %813, %906 | |
%mul174.3.3 = fmul float %cond.3.3, %mul166.3.3 | |
%mul176.3.3 = fmul float %mul, %912 | |
%mul.i.3.3 = fmul float %mul176.3.3, %mul176.3.3 | |
%914 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3.3, float 0x3FBDA79640000000) #5 | |
%915 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3.3, float 0x3FE03C5780000000) #5 | |
%916 = tail call float @llvm.fmuladd.f32(float %914, float %mul.i.3.3, float 1.000000e+00) #5 | |
%917 = tail call float @llvm.fmuladd.f32(float %915, float %mul176.3.3, float %916) #5 | |
%div.i.3.3 = fdiv float 1.000000e+00, %917, !fpmath !46 | |
%918 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3.3, float 0xBF0BFF7260000000) #5 | |
%919 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3.3, float 0x3F50794180000000) #5 | |
%920 = tail call float @llvm.fmuladd.f32(float %918, float %mul.i.3.3, float 0xBF93BDB200000000) #5 | |
%921 = tail call float @llvm.fmuladd.f32(float %919, float %mul.i.3.3, float 0x3FB1D5E760000000) #5 | |
%922 = tail call float @llvm.fmuladd.f32(float %920, float %mul.i.3.3, float 0xBFE81272E0000000) #5 | |
%923 = tail call float @llvm.fmuladd.f32(float %921, float %mul176.3.3, float %922) #5 | |
%mul11.i.3.3 = fmul float %923, %div.i.3.3 | |
%mul178.3.3 = fmul float %mul19, %mul11.i.3.3 | |
%924 = tail call float @llvm.fmuladd.f32(float %mul174.3.3, float %div165.3.3, float %mul178.3.3) | |
%925 = tail call float @llvm.fmuladd.f32(float %mul173.3.3, float %924, float %mul172.3.3) | |
%splat.splatinsert.3.3 = insertelement <3 x float> undef, float %925, i32 0 | |
%splat.splat.3.3 = shufflevector <3 x float> %splat.splatinsert.3.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.3.3 = fmul <3 x float> %extractVec135.3.3, %splat.splat.3.3 | |
%extractVec191.3.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.3.3 = fsub <3 x float> %extractVec191.3.3, %mul183.3.3 | |
%extractVec193.3.3 = shufflevector <3 x float> %sub192.3.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.3.3 = shufflevector <4 x float> %loadVec4200.3.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.3.3 = fadd <3 x float> %extractVec201.3.3, %mul183.3.3 | |
%extractVec203.3.3 = shufflevector <3 x float> %add202.3.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.3.3 | |
if.end206.3.3: ; preds = %if.then151.3.3, %if.then117.3.3, %if.end206.2.3 | |
%926 = phi <3 x float> [ %add202.3.3, %if.then151.3.3 ], [ %806, %if.then117.3.3 ], [ %806, %if.end206.2.3 ] | |
%loadVec4200.3696 = phi <4 x float> [ %extractVec203.3.3, %if.then151.3.3 ], [ %loadVec4200.3.3, %if.then117.3.3 ], [ %loadVec4200.3.3, %if.end206.2.3 ] | |
%fcj_buf.sroa.0.1.3.3 = phi <4 x float> [ %extractVec193.3.3, %if.then151.3.3 ], [ %fcj_buf.sroa.0.1.2.3, %if.then117.3.3 ], [ %fcj_buf.sroa.0.1.2.3, %if.end206.2.3 ] | |
%and115.4.3 = and i32 %45, 268435456 | |
%tobool116.4.3 = icmp eq i32 %and115.4.3, 0 | |
br i1 %tobool116.4.3, label %if.end206.4.3, label %if.then117.4.3 | |
if.then117.4.3: ; preds = %if.end206.3.3 | |
%927 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.4.3, align 16, !tbaa !36 | |
%928 = fsub <4 x float> %927, %812 | |
%929 = extractelement <4 x float> %928, i32 0 | |
%930 = extractelement <4 x float> %928, i32 1 | |
%mul3.i.i.4.3 = fmul float %930, %930 | |
%931 = tail call float @llvm.fmuladd.f32(float %929, float %929, float %mul3.i.i.4.3) #5 | |
%932 = extractelement <4 x float> %928, i32 2 | |
%933 = tail call float @llvm.fmuladd.f32(float %932, float %932, float %931) #5 | |
%and137.4.3 = and i32 %47, 268435456 | |
%tobool138.4.3 = icmp ne i32 %and137.4.3, 0 | |
%cond.4.3 = select i1 %tobool138.4.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.4.3 = icmp ne i32 %28, %810 | |
%not.or.cond.4.3 = or i1 %notlhs, %notrhs.4.3 | |
%cmp145..4.3 = or i1 %cmp145, %not.or.cond.4.3 | |
%conv147.4.3 = uitofp i1 %cmp145..4.3 to float | |
%mul148.4.3 = fmul float %conv147.4.3, %nbparam_params_rcoulomb_sq | |
%cmp149.4.3 = fcmp olt float %933, %mul148.4.3 | |
br i1 %cmp149.4.3, label %if.then151.4.3, label %if.end206.4.3 | |
if.then151.4.3: ; preds = %if.then117.4.3 | |
%extractVec135.4.3 = shufflevector <4 x float> %928, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%934 = extractelement <4 x float> %927, i32 3 | |
%935 = load i32, i32 addrspace(1)* %arrayidx152.4.3, align 4, !tbaa !41 | |
%mul153.4.3 = mul nsw i32 %935, %ntypes | |
%add154.4.3 = add nsw i32 %mul153.4.3, %814 | |
%mul155.4.3 = shl nsw i32 %add154.4.3, 1 | |
%936 = sext i32 %mul155.4.3 to i64 | |
%arrayidx156.4.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %936 | |
%937 = load float, float addrspace(2)* %arrayidx156.4.3, align 4, !tbaa !39 | |
%add160.4.3 = or i32 %mul155.4.3, 1 | |
%938 = sext i32 %add160.4.3 to i64 | |
%arrayidx161.4.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %938 | |
%939 = load float, float addrspace(2)* %arrayidx161.4.3, align 4, !tbaa !39 | |
%sub162.4.3 = fsub float 1.000000e+00, %cond.4.3 | |
%940 = tail call float @llvm.fmuladd.f32(float %sub162.4.3, float 0x3D71979980000000, float %933) | |
%cmp.i.i.4.3 = fcmp olt float %940, 0.000000e+00 | |
%call.i.i.4.3 = tail call float @llvm.sqrt.f32(float %940) #6 | |
%call.i.i.op.4.3 = fdiv float 1.000000e+00, %call.i.i.4.3 | |
%div165.4.3 = select i1 %cmp.i.i.4.3, float 0x7FF8000000000000, float %call.i.i.op.4.3 | |
%mul166.4.3 = fmul float %div165.4.3, %div165.4.3 | |
%mul167.4.3 = fmul float %mul166.4.3, %mul166.4.3 | |
%mul168.4.3 = fmul float %mul166.4.3, %mul167.4.3 | |
%mul169.4.3 = fmul float %cond.4.3, %mul168.4.3 | |
%neg.4.3 = fsub float -0.000000e+00, %937 | |
%941 = tail call float @llvm.fmuladd.f32(float %939, float %mul169.4.3, float %neg.4.3) | |
%mul171.4.3 = fmul float %mul169.4.3, %941 | |
%mul172.4.3 = fmul float %mul166.4.3, %mul171.4.3 | |
%mul173.4.3 = fmul float %813, %934 | |
%mul174.4.3 = fmul float %cond.4.3, %mul166.4.3 | |
%mul176.4.3 = fmul float %mul, %940 | |
%mul.i.4.3 = fmul float %mul176.4.3, %mul176.4.3 | |
%942 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.4.3, float 0x3FBDA79640000000) #5 | |
%943 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.4.3, float 0x3FE03C5780000000) #5 | |
%944 = tail call float @llvm.fmuladd.f32(float %942, float %mul.i.4.3, float 1.000000e+00) #5 | |
%945 = tail call float @llvm.fmuladd.f32(float %943, float %mul176.4.3, float %944) #5 | |
%div.i.4.3 = fdiv float 1.000000e+00, %945, !fpmath !46 | |
%946 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.4.3, float 0xBF0BFF7260000000) #5 | |
%947 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.4.3, float 0x3F50794180000000) #5 | |
%948 = tail call float @llvm.fmuladd.f32(float %946, float %mul.i.4.3, float 0xBF93BDB200000000) #5 | |
%949 = tail call float @llvm.fmuladd.f32(float %947, float %mul.i.4.3, float 0x3FB1D5E760000000) #5 | |
%950 = tail call float @llvm.fmuladd.f32(float %948, float %mul.i.4.3, float 0xBFE81272E0000000) #5 | |
%951 = tail call float @llvm.fmuladd.f32(float %949, float %mul176.4.3, float %950) #5 | |
%mul11.i.4.3 = fmul float %951, %div.i.4.3 | |
%mul178.4.3 = fmul float %mul19, %mul11.i.4.3 | |
%952 = tail call float @llvm.fmuladd.f32(float %mul174.4.3, float %div165.4.3, float %mul178.4.3) | |
%953 = tail call float @llvm.fmuladd.f32(float %mul173.4.3, float %952, float %mul172.4.3) | |
%splat.splatinsert.4.3 = insertelement <3 x float> undef, float %953, i32 0 | |
%splat.splat.4.3 = shufflevector <3 x float> %splat.splatinsert.4.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.4.3 = fmul <3 x float> %extractVec135.4.3, %splat.splat.4.3 | |
%extractVec191.4.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.4.3 = fsub <3 x float> %extractVec191.4.3, %mul183.4.3 | |
%extractVec193.4.3 = shufflevector <3 x float> %sub192.4.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.4.3 = shufflevector <4 x float> %loadVec4200.4.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.4.3 = fadd <3 x float> %extractVec201.4.3, %mul183.4.3 | |
%extractVec203.4.3 = shufflevector <3 x float> %add202.4.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.4.3 | |
if.end206.4.3: ; preds = %if.then151.4.3, %if.then117.4.3, %if.end206.3.3 | |
%954 = phi <3 x float> [ %add202.4.3, %if.then151.4.3 ], [ %805, %if.then117.4.3 ], [ %805, %if.end206.3.3 ] | |
%loadVec4200.4706 = phi <4 x float> [ %extractVec203.4.3, %if.then151.4.3 ], [ %loadVec4200.4.3, %if.then117.4.3 ], [ %loadVec4200.4.3, %if.end206.3.3 ] | |
%fcj_buf.sroa.0.1.4.3 = phi <4 x float> [ %extractVec193.4.3, %if.then151.4.3 ], [ %fcj_buf.sroa.0.1.3.3, %if.then117.4.3 ], [ %fcj_buf.sroa.0.1.3.3, %if.end206.3.3 ] | |
%and115.5.3 = and i32 %45, 536870912 | |
%tobool116.5.3 = icmp eq i32 %and115.5.3, 0 | |
br i1 %tobool116.5.3, label %if.end206.5.3, label %if.then117.5.3 | |
if.then117.5.3: ; preds = %if.end206.4.3 | |
%955 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.5.3, align 16, !tbaa !36 | |
%956 = fsub <4 x float> %955, %812 | |
%957 = extractelement <4 x float> %956, i32 0 | |
%958 = extractelement <4 x float> %956, i32 1 | |
%mul3.i.i.5.3 = fmul float %958, %958 | |
%959 = tail call float @llvm.fmuladd.f32(float %957, float %957, float %mul3.i.i.5.3) #5 | |
%960 = extractelement <4 x float> %956, i32 2 | |
%961 = tail call float @llvm.fmuladd.f32(float %960, float %960, float %959) #5 | |
%and137.5.3 = and i32 %47, 536870912 | |
%tobool138.5.3 = icmp ne i32 %and137.5.3, 0 | |
%cond.5.3 = select i1 %tobool138.5.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.5.3 = icmp ne i32 %26, %810 | |
%not.or.cond.5.3 = or i1 %notlhs, %notrhs.5.3 | |
%cmp145..5.3 = or i1 %cmp145, %not.or.cond.5.3 | |
%conv147.5.3 = uitofp i1 %cmp145..5.3 to float | |
%mul148.5.3 = fmul float %conv147.5.3, %nbparam_params_rcoulomb_sq | |
%cmp149.5.3 = fcmp olt float %961, %mul148.5.3 | |
br i1 %cmp149.5.3, label %if.then151.5.3, label %if.end206.5.3 | |
if.then151.5.3: ; preds = %if.then117.5.3 | |
%extractVec135.5.3 = shufflevector <4 x float> %956, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%962 = extractelement <4 x float> %955, i32 3 | |
%963 = load i32, i32 addrspace(1)* %arrayidx152.5.3, align 4, !tbaa !41 | |
%mul153.5.3 = mul nsw i32 %963, %ntypes | |
%add154.5.3 = add nsw i32 %mul153.5.3, %814 | |
%mul155.5.3 = shl nsw i32 %add154.5.3, 1 | |
%964 = sext i32 %mul155.5.3 to i64 | |
%arrayidx156.5.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %964 | |
%965 = load float, float addrspace(2)* %arrayidx156.5.3, align 4, !tbaa !39 | |
%add160.5.3 = or i32 %mul155.5.3, 1 | |
%966 = sext i32 %add160.5.3 to i64 | |
%arrayidx161.5.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %966 | |
%967 = load float, float addrspace(2)* %arrayidx161.5.3, align 4, !tbaa !39 | |
%sub162.5.3 = fsub float 1.000000e+00, %cond.5.3 | |
%968 = tail call float @llvm.fmuladd.f32(float %sub162.5.3, float 0x3D71979980000000, float %961) | |
%cmp.i.i.5.3 = fcmp olt float %968, 0.000000e+00 | |
%call.i.i.5.3 = tail call float @llvm.sqrt.f32(float %968) #6 | |
%call.i.i.op.5.3 = fdiv float 1.000000e+00, %call.i.i.5.3 | |
%div165.5.3 = select i1 %cmp.i.i.5.3, float 0x7FF8000000000000, float %call.i.i.op.5.3 | |
%mul166.5.3 = fmul float %div165.5.3, %div165.5.3 | |
%mul167.5.3 = fmul float %mul166.5.3, %mul166.5.3 | |
%mul168.5.3 = fmul float %mul166.5.3, %mul167.5.3 | |
%mul169.5.3 = fmul float %cond.5.3, %mul168.5.3 | |
%neg.5.3 = fsub float -0.000000e+00, %965 | |
%969 = tail call float @llvm.fmuladd.f32(float %967, float %mul169.5.3, float %neg.5.3) | |
%mul171.5.3 = fmul float %mul169.5.3, %969 | |
%mul172.5.3 = fmul float %mul166.5.3, %mul171.5.3 | |
%mul173.5.3 = fmul float %813, %962 | |
%mul174.5.3 = fmul float %cond.5.3, %mul166.5.3 | |
%mul176.5.3 = fmul float %mul, %968 | |
%mul.i.5.3 = fmul float %mul176.5.3, %mul176.5.3 | |
%970 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.5.3, float 0x3FBDA79640000000) #5 | |
%971 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.5.3, float 0x3FE03C5780000000) #5 | |
%972 = tail call float @llvm.fmuladd.f32(float %970, float %mul.i.5.3, float 1.000000e+00) #5 | |
%973 = tail call float @llvm.fmuladd.f32(float %971, float %mul176.5.3, float %972) #5 | |
%div.i.5.3 = fdiv float 1.000000e+00, %973, !fpmath !46 | |
%974 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.5.3, float 0xBF0BFF7260000000) #5 | |
%975 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.5.3, float 0x3F50794180000000) #5 | |
%976 = tail call float @llvm.fmuladd.f32(float %974, float %mul.i.5.3, float 0xBF93BDB200000000) #5 | |
%977 = tail call float @llvm.fmuladd.f32(float %975, float %mul.i.5.3, float 0x3FB1D5E760000000) #5 | |
%978 = tail call float @llvm.fmuladd.f32(float %976, float %mul.i.5.3, float 0xBFE81272E0000000) #5 | |
%979 = tail call float @llvm.fmuladd.f32(float %977, float %mul176.5.3, float %978) #5 | |
%mul11.i.5.3 = fmul float %979, %div.i.5.3 | |
%mul178.5.3 = fmul float %mul19, %mul11.i.5.3 | |
%980 = tail call float @llvm.fmuladd.f32(float %mul174.5.3, float %div165.5.3, float %mul178.5.3) | |
%981 = tail call float @llvm.fmuladd.f32(float %mul173.5.3, float %980, float %mul172.5.3) | |
%splat.splatinsert.5.3 = insertelement <3 x float> undef, float %981, i32 0 | |
%splat.splat.5.3 = shufflevector <3 x float> %splat.splatinsert.5.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.5.3 = fmul <3 x float> %extractVec135.5.3, %splat.splat.5.3 | |
%extractVec191.5.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.5.3 = fsub <3 x float> %extractVec191.5.3, %mul183.5.3 | |
%extractVec193.5.3 = shufflevector <3 x float> %sub192.5.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.5.3 = shufflevector <4 x float> %loadVec4200.5.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.5.3 = fadd <3 x float> %extractVec201.5.3, %mul183.5.3 | |
%extractVec203.5.3 = shufflevector <3 x float> %add202.5.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.5.3 | |
if.end206.5.3: ; preds = %if.then151.5.3, %if.then117.5.3, %if.end206.4.3 | |
%982 = phi <3 x float> [ %add202.5.3, %if.then151.5.3 ], [ %804, %if.then117.5.3 ], [ %804, %if.end206.4.3 ] | |
%loadVec4200.5716 = phi <4 x float> [ %extractVec203.5.3, %if.then151.5.3 ], [ %loadVec4200.5.3, %if.then117.5.3 ], [ %loadVec4200.5.3, %if.end206.4.3 ] | |
%fcj_buf.sroa.0.1.5.3 = phi <4 x float> [ %extractVec193.5.3, %if.then151.5.3 ], [ %fcj_buf.sroa.0.1.4.3, %if.then117.5.3 ], [ %fcj_buf.sroa.0.1.4.3, %if.end206.4.3 ] | |
%and115.6.3 = and i32 %45, 1073741824 | |
%tobool116.6.3 = icmp eq i32 %and115.6.3, 0 | |
br i1 %tobool116.6.3, label %if.end206.6.3, label %if.then117.6.3 | |
if.then117.6.3: ; preds = %if.end206.5.3 | |
%983 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.6.3, align 16, !tbaa !36 | |
%984 = fsub <4 x float> %983, %812 | |
%985 = extractelement <4 x float> %984, i32 0 | |
%986 = extractelement <4 x float> %984, i32 1 | |
%mul3.i.i.6.3 = fmul float %986, %986 | |
%987 = tail call float @llvm.fmuladd.f32(float %985, float %985, float %mul3.i.i.6.3) #5 | |
%988 = extractelement <4 x float> %984, i32 2 | |
%989 = tail call float @llvm.fmuladd.f32(float %988, float %988, float %987) #5 | |
%and137.6.3 = and i32 %47, 1073741824 | |
%tobool138.6.3 = icmp ne i32 %and137.6.3, 0 | |
%cond.6.3 = select i1 %tobool138.6.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.6.3 = icmp ne i32 %24, %810 | |
%not.or.cond.6.3 = or i1 %notlhs, %notrhs.6.3 | |
%cmp145..6.3 = or i1 %cmp145, %not.or.cond.6.3 | |
%conv147.6.3 = uitofp i1 %cmp145..6.3 to float | |
%mul148.6.3 = fmul float %conv147.6.3, %nbparam_params_rcoulomb_sq | |
%cmp149.6.3 = fcmp olt float %989, %mul148.6.3 | |
br i1 %cmp149.6.3, label %if.then151.6.3, label %if.end206.6.3 | |
if.then151.6.3: ; preds = %if.then117.6.3 | |
%extractVec135.6.3 = shufflevector <4 x float> %984, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%990 = extractelement <4 x float> %983, i32 3 | |
%991 = load i32, i32 addrspace(1)* %arrayidx152.6.3, align 4, !tbaa !41 | |
%mul153.6.3 = mul nsw i32 %991, %ntypes | |
%add154.6.3 = add nsw i32 %mul153.6.3, %814 | |
%mul155.6.3 = shl nsw i32 %add154.6.3, 1 | |
%992 = sext i32 %mul155.6.3 to i64 | |
%arrayidx156.6.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %992 | |
%993 = load float, float addrspace(2)* %arrayidx156.6.3, align 4, !tbaa !39 | |
%add160.6.3 = or i32 %mul155.6.3, 1 | |
%994 = sext i32 %add160.6.3 to i64 | |
%arrayidx161.6.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %994 | |
%995 = load float, float addrspace(2)* %arrayidx161.6.3, align 4, !tbaa !39 | |
%sub162.6.3 = fsub float 1.000000e+00, %cond.6.3 | |
%996 = tail call float @llvm.fmuladd.f32(float %sub162.6.3, float 0x3D71979980000000, float %989) | |
%cmp.i.i.6.3 = fcmp olt float %996, 0.000000e+00 | |
%call.i.i.6.3 = tail call float @llvm.sqrt.f32(float %996) #6 | |
%call.i.i.op.6.3 = fdiv float 1.000000e+00, %call.i.i.6.3 | |
%div165.6.3 = select i1 %cmp.i.i.6.3, float 0x7FF8000000000000, float %call.i.i.op.6.3 | |
%mul166.6.3 = fmul float %div165.6.3, %div165.6.3 | |
%mul167.6.3 = fmul float %mul166.6.3, %mul166.6.3 | |
%mul168.6.3 = fmul float %mul166.6.3, %mul167.6.3 | |
%mul169.6.3 = fmul float %cond.6.3, %mul168.6.3 | |
%neg.6.3 = fsub float -0.000000e+00, %993 | |
%997 = tail call float @llvm.fmuladd.f32(float %995, float %mul169.6.3, float %neg.6.3) | |
%mul171.6.3 = fmul float %mul169.6.3, %997 | |
%mul172.6.3 = fmul float %mul166.6.3, %mul171.6.3 | |
%mul173.6.3 = fmul float %813, %990 | |
%mul174.6.3 = fmul float %cond.6.3, %mul166.6.3 | |
%mul176.6.3 = fmul float %mul, %996 | |
%mul.i.6.3 = fmul float %mul176.6.3, %mul176.6.3 | |
%998 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.6.3, float 0x3FBDA79640000000) #5 | |
%999 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.6.3, float 0x3FE03C5780000000) #5 | |
%1000 = tail call float @llvm.fmuladd.f32(float %998, float %mul.i.6.3, float 1.000000e+00) #5 | |
%1001 = tail call float @llvm.fmuladd.f32(float %999, float %mul176.6.3, float %1000) #5 | |
%div.i.6.3 = fdiv float 1.000000e+00, %1001, !fpmath !46 | |
%1002 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.6.3, float 0xBF0BFF7260000000) #5 | |
%1003 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.6.3, float 0x3F50794180000000) #5 | |
%1004 = tail call float @llvm.fmuladd.f32(float %1002, float %mul.i.6.3, float 0xBF93BDB200000000) #5 | |
%1005 = tail call float @llvm.fmuladd.f32(float %1003, float %mul.i.6.3, float 0x3FB1D5E760000000) #5 | |
%1006 = tail call float @llvm.fmuladd.f32(float %1004, float %mul.i.6.3, float 0xBFE81272E0000000) #5 | |
%1007 = tail call float @llvm.fmuladd.f32(float %1005, float %mul176.6.3, float %1006) #5 | |
%mul11.i.6.3 = fmul float %1007, %div.i.6.3 | |
%mul178.6.3 = fmul float %mul19, %mul11.i.6.3 | |
%1008 = tail call float @llvm.fmuladd.f32(float %mul174.6.3, float %div165.6.3, float %mul178.6.3) | |
%1009 = tail call float @llvm.fmuladd.f32(float %mul173.6.3, float %1008, float %mul172.6.3) | |
%splat.splatinsert.6.3 = insertelement <3 x float> undef, float %1009, i32 0 | |
%splat.splat.6.3 = shufflevector <3 x float> %splat.splatinsert.6.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.6.3 = fmul <3 x float> %extractVec135.6.3, %splat.splat.6.3 | |
%extractVec191.6.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.6.3 = fsub <3 x float> %extractVec191.6.3, %mul183.6.3 | |
%extractVec193.6.3 = shufflevector <3 x float> %sub192.6.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.6.3 = shufflevector <4 x float> %loadVec4200.6.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.6.3 = fadd <3 x float> %extractVec201.6.3, %mul183.6.3 | |
%extractVec203.6.3 = shufflevector <3 x float> %add202.6.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.6.3 | |
if.end206.6.3: ; preds = %if.then151.6.3, %if.then117.6.3, %if.end206.5.3 | |
%1010 = phi <3 x float> [ %add202.6.3, %if.then151.6.3 ], [ %803, %if.then117.6.3 ], [ %803, %if.end206.5.3 ] | |
%loadVec4200.6726 = phi <4 x float> [ %extractVec203.6.3, %if.then151.6.3 ], [ %loadVec4200.6.3, %if.then117.6.3 ], [ %loadVec4200.6.3, %if.end206.5.3 ] | |
%fcj_buf.sroa.0.1.6.3 = phi <4 x float> [ %extractVec193.6.3, %if.then151.6.3 ], [ %fcj_buf.sroa.0.1.5.3, %if.then117.6.3 ], [ %fcj_buf.sroa.0.1.5.3, %if.end206.5.3 ] | |
%tobool116.7.3 = icmp sgt i32 %45, -1 | |
br i1 %tobool116.7.3, label %if.end206.7.3, label %if.then117.7.3 | |
if.then117.7.3: ; preds = %if.end206.6.3 | |
%1011 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.7.3, align 16, !tbaa !36 | |
%1012 = fsub <4 x float> %1011, %812 | |
%1013 = extractelement <4 x float> %1012, i32 0 | |
%1014 = extractelement <4 x float> %1012, i32 1 | |
%mul3.i.i.7.3 = fmul float %1014, %1014 | |
%1015 = tail call float @llvm.fmuladd.f32(float %1013, float %1013, float %mul3.i.i.7.3) #5 | |
%1016 = extractelement <4 x float> %1012, i32 2 | |
%1017 = tail call float @llvm.fmuladd.f32(float %1016, float %1016, float %1015) #5 | |
%tobool138.7.3 = icmp slt i32 %47, 0 | |
%cond.7.3 = select i1 %tobool138.7.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.7.3 = icmp ne i32 %22, %810 | |
%not.or.cond.7.3 = or i1 %notlhs, %notrhs.7.3 | |
%cmp145..7.3 = or i1 %cmp145, %not.or.cond.7.3 | |
%conv147.7.3 = uitofp i1 %cmp145..7.3 to float | |
%mul148.7.3 = fmul float %conv147.7.3, %nbparam_params_rcoulomb_sq | |
%cmp149.7.3 = fcmp olt float %1017, %mul148.7.3 | |
br i1 %cmp149.7.3, label %if.then151.7.3, label %if.end206.7.3 | |
if.then151.7.3: ; preds = %if.then117.7.3 | |
%extractVec135.7.3 = shufflevector <4 x float> %1012, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1018 = extractelement <4 x float> %1011, i32 3 | |
%1019 = load i32, i32 addrspace(1)* %arrayidx152.7.3, align 4, !tbaa !41 | |
%mul153.7.3 = mul nsw i32 %1019, %ntypes | |
%add154.7.3 = add nsw i32 %mul153.7.3, %814 | |
%mul155.7.3 = shl nsw i32 %add154.7.3, 1 | |
%1020 = sext i32 %mul155.7.3 to i64 | |
%arrayidx156.7.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1020 | |
%1021 = load float, float addrspace(2)* %arrayidx156.7.3, align 4, !tbaa !39 | |
%add160.7.3 = or i32 %mul155.7.3, 1 | |
%1022 = sext i32 %add160.7.3 to i64 | |
%arrayidx161.7.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1022 | |
%1023 = load float, float addrspace(2)* %arrayidx161.7.3, align 4, !tbaa !39 | |
%sub162.7.3 = fsub float 1.000000e+00, %cond.7.3 | |
%1024 = tail call float @llvm.fmuladd.f32(float %sub162.7.3, float 0x3D71979980000000, float %1017) | |
%cmp.i.i.7.3 = fcmp olt float %1024, 0.000000e+00 | |
%call.i.i.7.3 = tail call float @llvm.sqrt.f32(float %1024) #6 | |
%call.i.i.op.7.3 = fdiv float 1.000000e+00, %call.i.i.7.3 | |
%div165.7.3 = select i1 %cmp.i.i.7.3, float 0x7FF8000000000000, float %call.i.i.op.7.3 | |
%mul166.7.3 = fmul float %div165.7.3, %div165.7.3 | |
%mul167.7.3 = fmul float %mul166.7.3, %mul166.7.3 | |
%mul168.7.3 = fmul float %mul166.7.3, %mul167.7.3 | |
%mul169.7.3 = fmul float %cond.7.3, %mul168.7.3 | |
%neg.7.3 = fsub float -0.000000e+00, %1021 | |
%1025 = tail call float @llvm.fmuladd.f32(float %1023, float %mul169.7.3, float %neg.7.3) | |
%mul171.7.3 = fmul float %mul169.7.3, %1025 | |
%mul172.7.3 = fmul float %mul166.7.3, %mul171.7.3 | |
%mul173.7.3 = fmul float %813, %1018 | |
%mul174.7.3 = fmul float %cond.7.3, %mul166.7.3 | |
%mul176.7.3 = fmul float %mul, %1024 | |
%mul.i.7.3 = fmul float %mul176.7.3, %mul176.7.3 | |
%1026 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.7.3, float 0x3FBDA79640000000) #5 | |
%1027 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.7.3, float 0x3FE03C5780000000) #5 | |
%1028 = tail call float @llvm.fmuladd.f32(float %1026, float %mul.i.7.3, float 1.000000e+00) #5 | |
%1029 = tail call float @llvm.fmuladd.f32(float %1027, float %mul176.7.3, float %1028) #5 | |
%div.i.7.3 = fdiv float 1.000000e+00, %1029, !fpmath !46 | |
%1030 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.7.3, float 0xBF0BFF7260000000) #5 | |
%1031 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.7.3, float 0x3F50794180000000) #5 | |
%1032 = tail call float @llvm.fmuladd.f32(float %1030, float %mul.i.7.3, float 0xBF93BDB200000000) #5 | |
%1033 = tail call float @llvm.fmuladd.f32(float %1031, float %mul.i.7.3, float 0x3FB1D5E760000000) #5 | |
%1034 = tail call float @llvm.fmuladd.f32(float %1032, float %mul.i.7.3, float 0xBFE81272E0000000) #5 | |
%1035 = tail call float @llvm.fmuladd.f32(float %1033, float %mul176.7.3, float %1034) #5 | |
%mul11.i.7.3 = fmul float %1035, %div.i.7.3 | |
%mul178.7.3 = fmul float %mul19, %mul11.i.7.3 | |
%1036 = tail call float @llvm.fmuladd.f32(float %mul174.7.3, float %div165.7.3, float %mul178.7.3) | |
%1037 = tail call float @llvm.fmuladd.f32(float %mul173.7.3, float %1036, float %mul172.7.3) | |
%splat.splatinsert.7.3 = insertelement <3 x float> undef, float %1037, i32 0 | |
%splat.splat.7.3 = shufflevector <3 x float> %splat.splatinsert.7.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul183.7.3 = fmul <3 x float> %extractVec135.7.3, %splat.splat.7.3 | |
%extractVec191.7.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub192.7.3 = fsub <3 x float> %extractVec191.7.3, %mul183.7.3 | |
%extractVec193.7.3 = shufflevector <3 x float> %sub192.7.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec201.7.3 = shufflevector <4 x float> %loadVec4200.7.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add202.7.3 = fadd <3 x float> %extractVec201.7.3, %mul183.7.3 | |
%extractVec203.7.3 = shufflevector <3 x float> %add202.7.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end206.7.3 | |
if.end206.7.3: ; preds = %if.then151.7.3, %if.then117.7.3, %if.end206.6.3 | |
%fci_buf.sroa.37.9 = phi <4 x float> [ %fci_buf.sroa.37.8, %if.end206.6.3 ], [ %extractVec203.7.3, %if.then151.7.3 ], [ %fci_buf.sroa.37.8, %if.then117.7.3 ] | |
%loadVec4200.7736 = phi <4 x float> [ %loadVec4200.7.3, %if.end206.6.3 ], [ %extractVec203.7.3, %if.then151.7.3 ], [ %loadVec4200.7.3, %if.then117.7.3 ] | |
%fcj_buf.sroa.0.1.7.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.3, %if.end206.6.3 ], [ %extractVec193.7.3, %if.then151.7.3 ], [ %fcj_buf.sroa.0.1.6.3, %if.then117.7.3 ] | |
%1038 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 0 | |
store float %1038, float addrspace(3)* %arrayidx211, align 4, !tbaa !39 | |
%1039 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 1 | |
store float %1039, float addrspace(3)* %arrayidx213, align 4, !tbaa !39 | |
%1040 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 2 | |
store float %1040, float addrspace(3)* %arrayidx215, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add106.3) | |
br label %for.inc221 | |
} | |
; Function Attrs: nounwind | |
define void @nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_opencl(i32 %ntypes, i32 %nbparam_params_eeltype, i32 %nbparam_params_vdwtype, float %nbparam_params_epsfac, float %nbparam_params_c_rf, float %nbparam_params_two_k_rf, float %nbparam_params_ewald_beta, float %nbparam_params_sh_ewald, float %nbparam_params_sh_lj_ewald, float %nbparam_params_ewaldcoeff_lj, float %nbparam_params_rcoulomb_sq, float %nbparam_params_rvdw_sq, float %nbparam_params_rvdw_switch, float %nbparam_params_rlist_sq, float %nbparam_params_dispersion_shift_c2, float %nbparam_params_dispersion_shift_c3, float %nbparam_params_dispersion_shift_cpot, float %nbparam_params_repulsion_shift_c2, float %nbparam_params_repulsion_shift_c3, float %nbparam_params_repulsion_shift_cpot, float %nbparam_params_vdw_switch_c3, float %nbparam_params_vdw_switch_c4, float %nbparam_params_vdw_switch_c5, float %nbparam_params_coulomb_tab_size, float %nbparam_params_coulomb_tab_scale, <4 x float> addrspace(1)* noalias nocapture readonly %xq, float addrspace(1)* noalias nocapture %f, float addrspace(1)* noalias nocapture readnone %e_lj, float addrspace(1)* noalias nocapture readnone %e_el, float addrspace(1)* noalias nocapture %fshift, i32 addrspace(1)* noalias nocapture readonly %atom_types, float addrspace(1)* noalias nocapture readonly %shift_vec, float addrspace(2)* nocapture readonly %nbfp_climg2d, float addrspace(2)* nocapture readnone %nbfp_comb_climg2d, float addrspace(2)* nocapture readnone %coulomb_tab_climg2d, %struct.nbnxn_sci_t addrspace(1)* nocapture readonly %pl_sci, %struct.nbnxn_cj4_t addrspace(1)* nocapture readonly %pl_cj4, %struct.nbnxn_excl_t addrspace(1)* nocapture readonly %excl, i32 %bCalcFshift, <4 x float> addrspace(3)* nocapture %xqib, float addrspace(1)* nocapture readnone %debug_buffer) #0 { | |
entry: | |
%fshift_buf = alloca float, align 4 | |
%mul = fmul float %nbparam_params_ewald_beta, %nbparam_params_ewald_beta | |
%mul21 = fmul float %mul, %nbparam_params_ewald_beta | |
%x.i = tail call i32 @llvm.amdgcn.workitem.id.x() #5, !range !35 | |
%y.i = tail call i32 @llvm.amdgcn.workitem.id.y() #5, !range !35 | |
%x.i485 = tail call i32 @llvm.r600.read.local.size.x() #2 | |
%mul25 = mul i32 %x.i485, %y.i | |
%add = add i32 %mul25, %x.i | |
%x.i486 = tail call i32 @llvm.amdgcn.workgroup.id.x() #5 | |
%div = lshr i32 %add, 5 | |
%0 = bitcast float* %fshift_buf to i8* | |
call void @llvm.lifetime.start(i64 4, i8* %0) #5 | |
%add.ptr = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 64 | |
%1 = bitcast <4 x float> addrspace(3)* %add.ptr to i32 addrspace(3)* | |
%2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 0 | |
%3 = sext i32 %x.i486 to i64 | |
%nb_sci.sroa.0.0..sroa_idx = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 0 | |
%nb_sci.sroa.0.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.0.0..sroa_idx, align 4 | |
%nb_sci.sroa.4.0..sroa_idx284 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 1 | |
%nb_sci.sroa.4.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.4.0..sroa_idx284, align 4 | |
%nb_sci.sroa.10.0..sroa_idx291 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 2 | |
%nb_sci.sroa.10.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.10.0..sroa_idx291, align 4 | |
%nb_sci.sroa.11.0..sroa_idx293 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 3 | |
%nb_sci.sroa.11.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.11.0..sroa_idx293, align 4 | |
%mul31 = shl nsw i32 %nb_sci.sroa.0.0.copyload, 3 | |
%add32 = add i32 %mul31, %y.i | |
%mul33 = shl i32 %add32, 3 | |
%add34 = add i32 %mul33, %x.i | |
%4 = sext i32 %add34 to i64 | |
%arrayidx35 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %4 | |
%5 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx35, align 16, !tbaa !36 | |
%mul36 = mul nsw i32 %nb_sci.sroa.4.0.copyload, 3 | |
%6 = sext i32 %mul36 to i64 | |
%arrayidx37 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %6 | |
%7 = load float, float addrspace(1)* %arrayidx37, align 4, !tbaa !39 | |
%vecinit = insertelement <4 x float> undef, float %7, i32 0 | |
%add40 = add nsw i32 %mul36, 1 | |
%8 = sext i32 %add40 to i64 | |
%arrayidx41 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %8 | |
%9 = load float, float addrspace(1)* %arrayidx41, align 4, !tbaa !39 | |
%vecinit42 = insertelement <4 x float> %vecinit, float %9, i32 1 | |
%add45 = add nsw i32 %mul36, 2 | |
%10 = sext i32 %add45 to i64 | |
%arrayidx46 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %10 | |
%11 = load float, float addrspace(1)* %arrayidx46, align 4, !tbaa !39 | |
%vecinit47 = insertelement <4 x float> %vecinit42, float %11, i32 2 | |
%vecinit48 = insertelement <4 x float> %vecinit47, float 0.000000e+00, i32 3 | |
%add49 = fadd <4 x float> %5, %vecinit48 | |
%12 = extractelement <4 x float> %add49, i32 3 | |
%mul51 = fmul float %12, %nbparam_params_epsfac | |
%13 = insertelement <4 x float> %add49, float %mul51, i32 3 | |
%mul52 = shl nuw nsw i32 %y.i, 3 | |
%add53 = add nuw nsw i32 %mul52, %x.i | |
%arrayidx54 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add53 | |
store <4 x float> %13, <4 x float> addrspace(3)* %arrayidx54, align 16, !tbaa !36 | |
%14 = or i32 %add, 32 | |
%15 = icmp eq i32 %14, 32 | |
br i1 %15, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%add.ptr29 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 192 | |
%arrayidx58484 = getelementptr inbounds float, float addrspace(3)* %add.ptr29, i32 %div | |
%arrayidx58 = bitcast float addrspace(3)* %arrayidx58484 to i32 addrspace(3)* | |
store volatile i32 0, i32 addrspace(3)* %arrayidx58, align 4, !tbaa !41 | |
br label %if.end | |
if.end: ; preds = %entry, %if.then | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%cmp63492 = icmp slt i32 %nb_sci.sroa.10.0.copyload, %nb_sci.sroa.11.0.copyload | |
br i1 %cmp63492, label %for.body65.lr.ph, label %if.end.for.end229_crit_edge | |
if.end.for.end229_crit_edge: ; preds = %if.end | |
%.pre = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add | |
%.pre763 = add i32 %add, 64 | |
%.pre764 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre763 | |
%.pre765 = add i32 %add, 128 | |
%.pre766 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre765 | |
%.pre812 = shl i32 %nb_sci.sroa.0.0.copyload, 6 | |
%.pre813 = add i32 %.pre812, %x.i | |
%.pre814 = or i32 %.pre812, 8 | |
%.pre815 = add i32 %.pre814, %x.i | |
%.pre816 = or i32 %.pre812, 16 | |
%.pre817 = add i32 %.pre816, %x.i | |
%.pre818 = or i32 %.pre812, 24 | |
%.pre819 = add i32 %.pre818, %x.i | |
%.pre820 = or i32 %.pre812, 32 | |
%.pre821 = add i32 %.pre820, %x.i | |
%.pre822 = or i32 %.pre812, 40 | |
%.pre823 = add i32 %.pre822, %x.i | |
%.pre824 = or i32 %.pre812, 48 | |
%.pre825 = add i32 %.pre824, %x.i | |
%.pre826 = or i32 %.pre812, 56 | |
%.pre827 = add i32 %.pre826, %x.i | |
br label %for.end229 | |
for.body65.lr.ph: ; preds = %if.end | |
%16 = zext i32 %div to i64 | |
%and = and i32 %add, 31 | |
%17 = zext i32 %and to i64 | |
%18 = or i32 %y.i, 4 | |
%19 = icmp eq i32 %18, 4 | |
%cmp80 = icmp ult i32 %x.i, 4 | |
%or.cond267 = and i1 %cmp80, %19 | |
%20 = zext i32 %x.i to i64 | |
%add88 = add nuw nsw i32 %y.i, %x.i | |
%arrayidx89 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add88 | |
%mul103 = and i32 %y.i, 4 | |
%cmp147 = icmp ugt i32 %y.i, %x.i | |
%notlhs = icmp ne i32 %nb_sci.sroa.4.0.copyload, 22 | |
%arrayidx217 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add | |
%add218 = add i32 %add, 64 | |
%arrayidx219 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add218 | |
%add220 = add i32 %add, 128 | |
%arrayidx221 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add220 | |
%21 = sext i32 %nb_sci.sroa.10.0.copyload to i64 | |
%add105.3 = or i32 %mul103, 3 | |
%arrayidx106.3 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add105.3 | |
%22 = or i32 %mul31, 7 | |
%add125.7.3 = add nuw nsw i32 %x.i, 56 | |
%arrayidx126.7.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add125.7.3 | |
%add121.7.3 = shl i32 %nb_sci.sroa.0.0.copyload, 6 | |
%mul122.7.3 = or i32 %add121.7.3, 56 | |
%add123.7.3 = add i32 %mul122.7.3, %x.i | |
%23 = sext i32 %add123.7.3 to i64 | |
%arrayidx154.7.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %23 | |
%24 = or i32 %mul31, 6 | |
%add125.6.3 = add nuw nsw i32 %x.i, 48 | |
%arrayidx126.6.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add125.6.3 | |
%mul122.6.3 = or i32 %add121.7.3, 48 | |
%add123.6.3 = add i32 %mul122.6.3, %x.i | |
%25 = sext i32 %add123.6.3 to i64 | |
%arrayidx154.6.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %25 | |
%26 = or i32 %mul31, 5 | |
%add125.5.3 = add nuw nsw i32 %x.i, 40 | |
%arrayidx126.5.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add125.5.3 | |
%mul122.5.3 = or i32 %add121.7.3, 40 | |
%add123.5.3 = add i32 %mul122.5.3, %x.i | |
%27 = sext i32 %add123.5.3 to i64 | |
%arrayidx154.5.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %27 | |
%28 = or i32 %mul31, 4 | |
%add125.4.3 = add nuw nsw i32 %x.i, 32 | |
%arrayidx126.4.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add125.4.3 | |
%mul122.4.3 = or i32 %add121.7.3, 32 | |
%add123.4.3 = add i32 %mul122.4.3, %x.i | |
%29 = sext i32 %add123.4.3 to i64 | |
%arrayidx154.4.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %29 | |
%30 = or i32 %mul31, 3 | |
%add125.3.3 = add nuw nsw i32 %x.i, 24 | |
%arrayidx126.3.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add125.3.3 | |
%mul122.3.3 = or i32 %add121.7.3, 24 | |
%add123.3.3 = add i32 %mul122.3.3, %x.i | |
%31 = sext i32 %add123.3.3 to i64 | |
%arrayidx154.3.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %31 | |
%32 = or i32 %mul31, 2 | |
%add125.2.3 = add nuw nsw i32 %x.i, 16 | |
%arrayidx126.2.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add125.2.3 | |
%mul122.2.3 = or i32 %add121.7.3, 16 | |
%add123.2.3 = add i32 %mul122.2.3, %x.i | |
%33 = sext i32 %add123.2.3 to i64 | |
%arrayidx154.2.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %33 | |
%34 = or i32 %mul31, 1 | |
%add125.1.3 = add nuw nsw i32 %x.i, 8 | |
%arrayidx126.1.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add125.1.3 | |
%mul122.1.3 = or i32 %add121.7.3, 8 | |
%add123.1.3 = add i32 %mul122.1.3, %x.i | |
%35 = sext i32 %add123.1.3 to i64 | |
%arrayidx154.1.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %35 | |
%arrayidx126.3623 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %x.i | |
%add123.3637 = add i32 %add121.7.3, %x.i | |
%36 = sext i32 %add123.3637 to i64 | |
%arrayidx154.3638 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %36 | |
%add105.2 = or i32 %mul103, 2 | |
%arrayidx106.2 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add105.2 | |
%add105.1 = or i32 %mul103, 1 | |
%arrayidx106.1 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add105.1 | |
%arrayidx106 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %mul103 | |
br label %for.body65 | |
for.body65: ; preds = %for.inc227, %for.body65.lr.ph | |
%fci_buf.sroa.37.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body65.lr.ph ], [ %fci_buf.sroa.37.2, %for.inc227 ] | |
%37 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body65.lr.ph ], [ %89, %for.inc227 ] | |
%38 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body65.lr.ph ], [ %90, %for.inc227 ] | |
%39 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body65.lr.ph ], [ %91, %for.inc227 ] | |
%40 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body65.lr.ph ], [ %92, %for.inc227 ] | |
%41 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body65.lr.ph ], [ %93, %for.inc227 ] | |
%42 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body65.lr.ph ], [ %94, %for.inc227 ] | |
%43 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.body65.lr.ph ], [ %95, %for.inc227 ] | |
%loadVec4206.7 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body65.lr.ph ], [ %loadVec4206.7757, %for.inc227 ] | |
%loadVec4206.6 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body65.lr.ph ], [ %loadVec4206.6747, %for.inc227 ] | |
%loadVec4206.5 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body65.lr.ph ], [ %loadVec4206.5737, %for.inc227 ] | |
%loadVec4206.4 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body65.lr.ph ], [ %loadVec4206.4727, %for.inc227 ] | |
%loadVec4206.3 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body65.lr.ph ], [ %loadVec4206.3717, %for.inc227 ] | |
%loadVec4206.2 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body65.lr.ph ], [ %loadVec4206.2707, %for.inc227 ] | |
%loadVec4206.1 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body65.lr.ph ], [ %loadVec4206.1697, %for.inc227 ] | |
%loadVec4206 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body65.lr.ph ], [ %loadVec4206687, %for.inc227 ] | |
%indvars.iv = phi i64 [ %21, %for.body65.lr.ph ], [ %indvars.iv.next, %for.inc227 ] | |
%excl_ind = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv, i32 1, i64 %16, i32 1 | |
%44 = load i32, i32 addrspace(1)* %excl_ind, align 4, !tbaa !43 | |
%imask71 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv, i32 1, i64 %16, i32 0 | |
%45 = load i32, i32 addrspace(1)* %imask71, align 4, !tbaa !45 | |
%46 = sext i32 %44 to i64 | |
%arrayidx73 = getelementptr inbounds %struct.nbnxn_excl_t, %struct.nbnxn_excl_t addrspace(1)* %excl, i64 %46, i32 0, i64 %17 | |
%47 = load i32, i32 addrspace(1)* %arrayidx73, align 4, !tbaa !41 | |
%tobool = icmp eq i32 %45, 0 | |
br i1 %tobool, label %for.inc227, label %if.then74 | |
if.then74: ; preds = %for.body65 | |
br i1 %or.cond267, label %if.then82, label %for.body94.preheader | |
if.then82: ; preds = %if.then74 | |
%arrayidx85 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv, i32 0, i64 %20 | |
%48 = load i32, i32 addrspace(1)* %arrayidx85, align 4, !tbaa !41 | |
store i32 %48, i32 addrspace(3)* %arrayidx89, align 4, !tbaa !41 | |
br label %for.body94.preheader | |
for.body94.preheader: ; preds = %if.then74, %if.then82 | |
%and96 = and i32 %45, 255 | |
%tobool97 = icmp eq i32 %and96, 0 | |
br i1 %tobool97, label %for.inc223, label %if.then98 | |
if.then98: ; preds = %for.body94.preheader | |
%49 = load i32, i32 addrspace(3)* %arrayidx106, align 4, !tbaa !41 | |
%mul107 = shl nsw i32 %49, 3 | |
%add108 = add i32 %mul107, %y.i | |
%50 = sext i32 %add108 to i64 | |
%arrayidx109 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %50 | |
%51 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx109, align 16, !tbaa !36 | |
%52 = extractelement <4 x float> %51, i32 3 | |
%arrayidx111 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %50 | |
%53 = load i32, i32 addrspace(1)* %arrayidx111, align 4, !tbaa !41 | |
%and117 = and i32 %45, 1 | |
%tobool118 = icmp eq i32 %and117, 0 | |
br i1 %tobool118, label %if.end212, label %if.then119 | |
if.then119: ; preds = %if.then98 | |
%54 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.3623, align 16, !tbaa !36 | |
%55 = fsub <4 x float> %54, %51 | |
%56 = extractelement <4 x float> %55, i32 0 | |
%57 = extractelement <4 x float> %55, i32 1 | |
%mul3.i.i = fmul float %57, %57 | |
%58 = tail call float @llvm.fmuladd.f32(float %56, float %56, float %mul3.i.i) #5 | |
%59 = extractelement <4 x float> %55, i32 2 | |
%60 = tail call float @llvm.fmuladd.f32(float %59, float %59, float %58) #5 | |
%and139 = and i32 %47, 1 | |
%tobool140 = icmp ne i32 %and139, 0 | |
%cond = select i1 %tobool140, float 1.000000e+00, float 0.000000e+00 | |
%notrhs = icmp ne i32 %mul31, %49 | |
%not.or.cond = or i1 %notlhs, %notrhs | |
%cmp147. = or i1 %cmp147, %not.or.cond | |
%conv149 = uitofp i1 %cmp147. to float | |
%mul150 = fmul float %conv149, %nbparam_params_rcoulomb_sq | |
%cmp151 = fcmp olt float %60, %mul150 | |
br i1 %cmp151, label %if.then153, label %if.end212 | |
if.then153: ; preds = %if.then119 | |
%extractVec137 = shufflevector <4 x float> %55, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%61 = extractelement <4 x float> %54, i32 3 | |
%62 = load i32, i32 addrspace(1)* %arrayidx154.3638, align 4, !tbaa !41 | |
%mul155 = mul nsw i32 %62, %ntypes | |
%add156 = add nsw i32 %mul155, %53 | |
%mul157 = shl nsw i32 %add156, 1 | |
%63 = sext i32 %mul157 to i64 | |
%arrayidx158 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %63 | |
%64 = load float, float addrspace(2)* %arrayidx158, align 4, !tbaa !39 | |
%add162 = or i32 %mul157, 1 | |
%65 = sext i32 %add162 to i64 | |
%arrayidx163 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %65 | |
%66 = load float, float addrspace(2)* %arrayidx163, align 4, !tbaa !39 | |
%sub164 = fsub float 1.000000e+00, %cond | |
%67 = tail call float @llvm.fmuladd.f32(float %sub164, float 0x3D71979980000000, float %60) | |
%cmp.i.i = fcmp olt float %67, 0.000000e+00 | |
%call.i.i = tail call float @llvm.sqrt.f32(float %67) #6 | |
%call.i.i.op = fdiv float 1.000000e+00, %call.i.i | |
%div167 = select i1 %cmp.i.i, float 0x7FF8000000000000, float %call.i.i.op | |
%mul168 = fmul float %div167, %div167 | |
%mul169 = fmul float %mul168, %mul168 | |
%mul170 = fmul float %mul168, %mul169 | |
%mul171 = fmul float %cond, %mul170 | |
%neg = fsub float -0.000000e+00, %64 | |
%68 = tail call float @llvm.fmuladd.f32(float %66, float %mul171, float %neg) | |
%mul173 = fmul float %mul171, %68 | |
%mul174 = fmul float %mul168, %mul173 | |
%cmp175 = fcmp olt float %67, %nbparam_params_rvdw_sq | |
%cond177 = select i1 %cmp175, float 1.000000e+00, float 0.000000e+00 | |
%mul178 = fmul float %cond177, %mul174 | |
%mul179 = fmul float %52, %61 | |
%mul180 = fmul float %cond, %mul168 | |
%mul182 = fmul float %mul, %67 | |
%mul.i = fmul float %mul182, %mul182 | |
%69 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i, float 0x3FBDA79640000000) #5 | |
%70 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i, float 0x3FE03C5780000000) #5 | |
%71 = tail call float @llvm.fmuladd.f32(float %69, float %mul.i, float 1.000000e+00) #5 | |
%72 = tail call float @llvm.fmuladd.f32(float %70, float %mul182, float %71) #5 | |
%div.i = fdiv float 1.000000e+00, %72, !fpmath !46 | |
%73 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i, float 0xBF0BFF7260000000) #5 | |
%74 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i, float 0x3F50794180000000) #5 | |
%75 = tail call float @llvm.fmuladd.f32(float %73, float %mul.i, float 0xBF93BDB200000000) #5 | |
%76 = tail call float @llvm.fmuladd.f32(float %74, float %mul.i, float 0x3FB1D5E760000000) #5 | |
%77 = tail call float @llvm.fmuladd.f32(float %75, float %mul.i, float 0xBFE81272E0000000) #5 | |
%78 = tail call float @llvm.fmuladd.f32(float %76, float %mul182, float %77) #5 | |
%mul11.i = fmul float %78, %div.i | |
%mul184 = fmul float %mul21, %mul11.i | |
%79 = tail call float @llvm.fmuladd.f32(float %mul180, float %div167, float %mul184) | |
%80 = tail call float @llvm.fmuladd.f32(float %mul179, float %79, float %mul178) | |
%splat.splatinsert = insertelement <3 x float> undef, float %80, i32 0 | |
%splat.splat = shufflevector <3 x float> %splat.splatinsert, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189 = fmul <3 x float> %extractVec137, %splat.splat | |
%sub198 = fsub <3 x float> zeroinitializer, %mul189 | |
%extractVec199 = shufflevector <3 x float> %sub198, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207 = shufflevector <4 x float> %loadVec4206, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208 = fadd <3 x float> %extractVec207, %mul189 | |
%extractVec209 = shufflevector <3 x float> %add208, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212 | |
if.end212: ; preds = %if.then98, %if.then119, %if.then153 | |
%81 = phi <3 x float> [ %add208, %if.then153 ], [ %43, %if.then119 ], [ %43, %if.then98 ] | |
%loadVec4206692 = phi <4 x float> [ %extractVec209, %if.then153 ], [ %loadVec4206, %if.then119 ], [ %loadVec4206, %if.then98 ] | |
%fcj_buf.sroa.0.1 = phi <4 x float> [ %extractVec199, %if.then153 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then119 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then98 ] | |
%and117.1 = and i32 %45, 2 | |
%tobool118.1 = icmp eq i32 %and117.1, 0 | |
br i1 %tobool118.1, label %if.end212.1, label %if.then119.1 | |
for.inc223: ; preds = %for.body94.preheader, %if.end212.7 | |
%fci_buf.sroa.37.1 = phi <4 x float> [ %fci_buf.sroa.37.0, %for.body94.preheader ], [ %fci_buf.sroa.37.4, %if.end212.7 ] | |
%82 = phi <3 x float> [ %37, %for.body94.preheader ], [ %303, %if.end212.7 ] | |
%83 = phi <3 x float> [ %38, %for.body94.preheader ], [ %275, %if.end212.7 ] | |
%84 = phi <3 x float> [ %39, %for.body94.preheader ], [ %247, %if.end212.7 ] | |
%85 = phi <3 x float> [ %40, %for.body94.preheader ], [ %219, %if.end212.7 ] | |
%86 = phi <3 x float> [ %41, %for.body94.preheader ], [ %191, %if.end212.7 ] | |
%87 = phi <3 x float> [ %42, %for.body94.preheader ], [ %163, %if.end212.7 ] | |
%88 = phi <3 x float> [ %43, %for.body94.preheader ], [ %81, %if.end212.7 ] | |
%loadVec4206.7.1 = phi <4 x float> [ %loadVec4206.7, %for.body94.preheader ], [ %loadVec4206.7762, %if.end212.7 ] | |
%loadVec4206.6.1 = phi <4 x float> [ %loadVec4206.6, %for.body94.preheader ], [ %loadVec4206.6752, %if.end212.7 ] | |
%loadVec4206.5.1 = phi <4 x float> [ %loadVec4206.5, %for.body94.preheader ], [ %loadVec4206.5742, %if.end212.7 ] | |
%loadVec4206.4.1 = phi <4 x float> [ %loadVec4206.4, %for.body94.preheader ], [ %loadVec4206.4732, %if.end212.7 ] | |
%loadVec4206.3.1 = phi <4 x float> [ %loadVec4206.3, %for.body94.preheader ], [ %loadVec4206.3722, %if.end212.7 ] | |
%loadVec4206.2.1 = phi <4 x float> [ %loadVec4206.2, %for.body94.preheader ], [ %loadVec4206.2712, %if.end212.7 ] | |
%loadVec4206.1.1 = phi <4 x float> [ %loadVec4206.1, %for.body94.preheader ], [ %loadVec4206.1702, %if.end212.7 ] | |
%loadVec4206.1552 = phi <4 x float> [ %loadVec4206, %for.body94.preheader ], [ %loadVec4206692, %if.end212.7 ] | |
%and96.1 = and i32 %45, 65280 | |
%tobool97.1 = icmp eq i32 %and96.1, 0 | |
br i1 %tobool97.1, label %for.inc223.1, label %if.then98.1 | |
for.inc227: ; preds = %for.inc223.2, %if.end212.7.3, %for.body65 | |
%fci_buf.sroa.37.2 = phi <4 x float> [ %fci_buf.sroa.37.0, %for.body65 ], [ %fci_buf.sroa.37.8, %for.inc223.2 ], [ %fci_buf.sroa.37.9, %if.end212.7.3 ] | |
%89 = phi <3 x float> [ %37, %for.body65 ], [ %803, %for.inc223.2 ], [ %1010, %if.end212.7.3 ] | |
%90 = phi <3 x float> [ %38, %for.body65 ], [ %804, %for.inc223.2 ], [ %982, %if.end212.7.3 ] | |
%91 = phi <3 x float> [ %39, %for.body65 ], [ %805, %for.inc223.2 ], [ %954, %if.end212.7.3 ] | |
%92 = phi <3 x float> [ %40, %for.body65 ], [ %806, %for.inc223.2 ], [ %926, %if.end212.7.3 ] | |
%93 = phi <3 x float> [ %41, %for.body65 ], [ %807, %for.inc223.2 ], [ %898, %if.end212.7.3 ] | |
%94 = phi <3 x float> [ %42, %for.body65 ], [ %808, %for.inc223.2 ], [ %870, %if.end212.7.3 ] | |
%95 = phi <3 x float> [ %43, %for.body65 ], [ %809, %for.inc223.2 ], [ %842, %if.end212.7.3 ] | |
%loadVec4206.7757 = phi <4 x float> [ %loadVec4206.7, %for.body65 ], [ %loadVec4206.7.3, %for.inc223.2 ], [ %loadVec4206.7755, %if.end212.7.3 ] | |
%loadVec4206.6747 = phi <4 x float> [ %loadVec4206.6, %for.body65 ], [ %loadVec4206.6.3, %for.inc223.2 ], [ %loadVec4206.6745, %if.end212.7.3 ] | |
%loadVec4206.5737 = phi <4 x float> [ %loadVec4206.5, %for.body65 ], [ %loadVec4206.5.3, %for.inc223.2 ], [ %loadVec4206.5735, %if.end212.7.3 ] | |
%loadVec4206.4727 = phi <4 x float> [ %loadVec4206.4, %for.body65 ], [ %loadVec4206.4.3, %for.inc223.2 ], [ %loadVec4206.4725, %if.end212.7.3 ] | |
%loadVec4206.3717 = phi <4 x float> [ %loadVec4206.3, %for.body65 ], [ %loadVec4206.3.3, %for.inc223.2 ], [ %loadVec4206.3715, %if.end212.7.3 ] | |
%loadVec4206.2707 = phi <4 x float> [ %loadVec4206.2, %for.body65 ], [ %loadVec4206.2.3, %for.inc223.2 ], [ %loadVec4206.2705, %if.end212.7.3 ] | |
%loadVec4206.1697 = phi <4 x float> [ %loadVec4206.1, %for.body65 ], [ %loadVec4206.1.3, %for.inc223.2 ], [ %loadVec4206.1695, %if.end212.7.3 ] | |
%loadVec4206687 = phi <4 x float> [ %loadVec4206, %for.body65 ], [ %loadVec4206.3674, %for.inc223.2 ], [ %loadVec4206685, %if.end212.7.3 ] | |
%indvars.iv.next = add nsw i64 %indvars.iv, 1 | |
%lftr.wideiv = trunc i64 %indvars.iv.next to i32 | |
%exitcond = icmp eq i32 %lftr.wideiv, %nb_sci.sroa.11.0.copyload | |
br i1 %exitcond, label %for.end229.loopexit, label %for.body65 | |
for.end229.loopexit: ; preds = %for.inc227 | |
%.lcssa851 = phi <3 x float> [ %95, %for.inc227 ] | |
%.lcssa850 = phi <3 x float> [ %94, %for.inc227 ] | |
%.lcssa849 = phi <3 x float> [ %93, %for.inc227 ] | |
%.lcssa848 = phi <3 x float> [ %92, %for.inc227 ] | |
%.lcssa847 = phi <3 x float> [ %91, %for.inc227 ] | |
%.lcssa846 = phi <3 x float> [ %90, %for.inc227 ] | |
%.lcssa = phi <3 x float> [ %89, %for.inc227 ] | |
%fci_buf.sroa.37.2.lcssa = phi <4 x float> [ %fci_buf.sroa.37.2, %for.inc227 ] | |
br label %for.end229 | |
for.end229: ; preds = %for.end229.loopexit, %if.end.for.end229_crit_edge | |
%add242.7.pre-phi = phi i32 [ %.pre827, %if.end.for.end229_crit_edge ], [ %add123.7.3, %for.end229.loopexit ] | |
%add242.6.pre-phi = phi i32 [ %.pre825, %if.end.for.end229_crit_edge ], [ %add123.6.3, %for.end229.loopexit ] | |
%add242.5.pre-phi = phi i32 [ %.pre823, %if.end.for.end229_crit_edge ], [ %add123.5.3, %for.end229.loopexit ] | |
%add242.4.pre-phi = phi i32 [ %.pre821, %if.end.for.end229_crit_edge ], [ %add123.4.3, %for.end229.loopexit ] | |
%add242.3.pre-phi = phi i32 [ %.pre819, %if.end.for.end229_crit_edge ], [ %add123.3.3, %for.end229.loopexit ] | |
%add242.2.pre-phi = phi i32 [ %.pre817, %if.end.for.end229_crit_edge ], [ %add123.2.3, %for.end229.loopexit ] | |
%add242.1.pre-phi = phi i32 [ %.pre815, %if.end.for.end229_crit_edge ], [ %add123.1.3, %for.end229.loopexit ] | |
%add242.pre-phi = phi i32 [ %.pre813, %if.end.for.end229_crit_edge ], [ %add123.3637, %for.end229.loopexit ] | |
%fci_buf.sroa.37.3 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.end.for.end229_crit_edge ], [ %fci_buf.sroa.37.2.lcssa, %for.end229.loopexit ] | |
%arrayidx250.pre-phi = phi float addrspace(3)* [ %.pre766, %if.end.for.end229_crit_edge ], [ %arrayidx221, %for.end229.loopexit ] | |
%arrayidx247.pre-phi = phi float addrspace(3)* [ %.pre764, %if.end.for.end229_crit_edge ], [ %arrayidx219, %for.end229.loopexit ] | |
%arrayidx244.pre-phi = phi float addrspace(3)* [ %.pre, %if.end.for.end229_crit_edge ], [ %arrayidx217, %for.end229.loopexit ] | |
%96 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end229_crit_edge ], [ %.lcssa, %for.end229.loopexit ] | |
%97 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end229_crit_edge ], [ %.lcssa846, %for.end229.loopexit ] | |
%98 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end229_crit_edge ], [ %.lcssa847, %for.end229.loopexit ] | |
%99 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end229_crit_edge ], [ %.lcssa848, %for.end229.loopexit ] | |
%100 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end229_crit_edge ], [ %.lcssa849, %for.end229.loopexit ] | |
%101 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end229_crit_edge ], [ %.lcssa850, %for.end229.loopexit ] | |
%102 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %if.end.for.end229_crit_edge ], [ %.lcssa851, %for.end229.loopexit ] | |
store float 0.000000e+00, float* %fshift_buf, align 4, !tbaa !39 | |
%tobool251767 = icmp ne i32 %bCalcFshift, 0 | |
%not.cmp231 = icmp ne i32 %nb_sci.sroa.4.0.copyload, 22 | |
%tobool251 = and i1 %tobool251767, %not.cmp231 | |
%103 = extractelement <3 x float> %102, i32 0 | |
store float %103, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
%104 = extractelement <3 x float> %102, i32 1 | |
store float %104, float addrspace(3)* %arrayidx247.pre-phi, align 4, !tbaa !39 | |
%105 = extractelement <3 x float> %102, i32 2 | |
store float %105, float addrspace(3)* %arrayidx250.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool251, i32 %x.i, i32 %y.i, i32 %add242.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%106 = extractelement <3 x float> %101, i32 0 | |
store float %106, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
%107 = extractelement <3 x float> %101, i32 1 | |
store float %107, float addrspace(3)* %arrayidx247.pre-phi, align 4, !tbaa !39 | |
%108 = extractelement <3 x float> %101, i32 2 | |
store float %108, float addrspace(3)* %arrayidx250.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool251, i32 %x.i, i32 %y.i, i32 %add242.1.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%109 = extractelement <3 x float> %100, i32 0 | |
store float %109, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
%110 = extractelement <3 x float> %100, i32 1 | |
store float %110, float addrspace(3)* %arrayidx247.pre-phi, align 4, !tbaa !39 | |
%111 = extractelement <3 x float> %100, i32 2 | |
store float %111, float addrspace(3)* %arrayidx250.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool251, i32 %x.i, i32 %y.i, i32 %add242.2.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%112 = extractelement <3 x float> %99, i32 0 | |
store float %112, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
%113 = extractelement <3 x float> %99, i32 1 | |
store float %113, float addrspace(3)* %arrayidx247.pre-phi, align 4, !tbaa !39 | |
%114 = extractelement <3 x float> %99, i32 2 | |
store float %114, float addrspace(3)* %arrayidx250.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool251, i32 %x.i, i32 %y.i, i32 %add242.3.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%115 = extractelement <3 x float> %98, i32 0 | |
store float %115, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
%116 = extractelement <3 x float> %98, i32 1 | |
store float %116, float addrspace(3)* %arrayidx247.pre-phi, align 4, !tbaa !39 | |
%117 = extractelement <3 x float> %98, i32 2 | |
store float %117, float addrspace(3)* %arrayidx250.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool251, i32 %x.i, i32 %y.i, i32 %add242.4.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%118 = extractelement <3 x float> %97, i32 0 | |
store float %118, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
%119 = extractelement <3 x float> %97, i32 1 | |
store float %119, float addrspace(3)* %arrayidx247.pre-phi, align 4, !tbaa !39 | |
%120 = extractelement <3 x float> %97, i32 2 | |
store float %120, float addrspace(3)* %arrayidx250.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool251, i32 %x.i, i32 %y.i, i32 %add242.5.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%121 = extractelement <3 x float> %96, i32 0 | |
store float %121, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
%122 = extractelement <3 x float> %96, i32 1 | |
store float %122, float addrspace(3)* %arrayidx247.pre-phi, align 4, !tbaa !39 | |
%123 = extractelement <3 x float> %96, i32 2 | |
store float %123, float addrspace(3)* %arrayidx250.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool251, i32 %x.i, i32 %y.i, i32 %add242.6.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%124 = extractelement <4 x float> %fci_buf.sroa.37.3, i32 0 | |
store float %124, float addrspace(3)* %arrayidx244.pre-phi, align 4, !tbaa !39 | |
%125 = extractelement <4 x float> %fci_buf.sroa.37.3, i32 1 | |
store float %125, float addrspace(3)* %arrayidx247.pre-phi, align 4, !tbaa !39 | |
%126 = extractelement <4 x float> %fci_buf.sroa.37.3, i32 2 | |
store float %126, float addrspace(3)* %arrayidx250.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool251, i32 %x.i, i32 %y.i, i32 %add242.7.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%cmp257 = icmp ult i32 %y.i, 3 | |
%or.cond268 = and i1 %cmp257, %tobool251 | |
br i1 %or.cond268, label %if.then259, label %if.end265 | |
if.then259: ; preds = %for.end229 | |
%add262 = add i32 %mul36, %y.i | |
%127 = sext i32 %add262 to i64 | |
%arrayidx263 = getelementptr inbounds float, float addrspace(1)* %fshift, i64 %127 | |
%128 = load float, float* %fshift_buf, align 4, !tbaa !39 | |
%129 = load volatile float, float addrspace(1)* %arrayidx263, align 4, !tbaa !39 | |
%130 = bitcast float %129 to i32 | |
%131 = bitcast float addrspace(1)* %arrayidx263 to i32 addrspace(1)* | |
br label %do.body.i | |
do.body.i: ; preds = %do.body.i, %if.then259 | |
%current.sroa.0.0.i = phi i32 [ %130, %if.then259 ], [ %135, %do.body.i ] | |
%132 = bitcast i32 %current.sroa.0.0.i to float | |
%add.i = fadd float %128, %132 | |
%133 = bitcast float %add.i to i32 | |
%134 = cmpxchg volatile i32 addrspace(1)* %131, i32 %current.sroa.0.0.i, i32 %133 seq_cst seq_cst | |
%135 = extractvalue { i32, i1 } %134, 0 | |
%cmp.i = extractvalue { i32, i1 } %134, 1 | |
br i1 %cmp.i, label %if.end265.loopexit, label %do.body.i | |
if.end265.loopexit: ; preds = %do.body.i | |
br label %if.end265 | |
if.end265: ; preds = %if.end265.loopexit, %for.end229 | |
call void @llvm.lifetime.end(i64 4, i8* %0) #5 | |
ret void | |
if.then119.1: ; preds = %if.end212 | |
%136 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.1.3, align 16, !tbaa !36 | |
%137 = fsub <4 x float> %136, %51 | |
%138 = extractelement <4 x float> %137, i32 0 | |
%139 = extractelement <4 x float> %137, i32 1 | |
%mul3.i.i.1 = fmul float %139, %139 | |
%140 = tail call float @llvm.fmuladd.f32(float %138, float %138, float %mul3.i.i.1) #5 | |
%141 = extractelement <4 x float> %137, i32 2 | |
%142 = tail call float @llvm.fmuladd.f32(float %141, float %141, float %140) #5 | |
%and139.1 = and i32 %47, 2 | |
%tobool140.1 = icmp ne i32 %and139.1, 0 | |
%cond.1 = select i1 %tobool140.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1 = icmp ne i32 %34, %49 | |
%not.or.cond.1 = or i1 %notlhs, %notrhs.1 | |
%cmp147..1 = or i1 %cmp147, %not.or.cond.1 | |
%conv149.1 = uitofp i1 %cmp147..1 to float | |
%mul150.1 = fmul float %conv149.1, %nbparam_params_rcoulomb_sq | |
%cmp151.1 = fcmp olt float %142, %mul150.1 | |
br i1 %cmp151.1, label %if.then153.1, label %if.end212.1 | |
if.then153.1: ; preds = %if.then119.1 | |
%extractVec137.1 = shufflevector <4 x float> %137, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%143 = extractelement <4 x float> %136, i32 3 | |
%144 = load i32, i32 addrspace(1)* %arrayidx154.1.3, align 4, !tbaa !41 | |
%mul155.1 = mul nsw i32 %144, %ntypes | |
%add156.1 = add nsw i32 %mul155.1, %53 | |
%mul157.1 = shl nsw i32 %add156.1, 1 | |
%145 = sext i32 %mul157.1 to i64 | |
%arrayidx158.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %145 | |
%146 = load float, float addrspace(2)* %arrayidx158.1, align 4, !tbaa !39 | |
%add162.1 = or i32 %mul157.1, 1 | |
%147 = sext i32 %add162.1 to i64 | |
%arrayidx163.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %147 | |
%148 = load float, float addrspace(2)* %arrayidx163.1, align 4, !tbaa !39 | |
%sub164.1 = fsub float 1.000000e+00, %cond.1 | |
%149 = tail call float @llvm.fmuladd.f32(float %sub164.1, float 0x3D71979980000000, float %142) | |
%cmp.i.i.1 = fcmp olt float %149, 0.000000e+00 | |
%call.i.i.1 = tail call float @llvm.sqrt.f32(float %149) #6 | |
%call.i.i.op.1 = fdiv float 1.000000e+00, %call.i.i.1 | |
%div167.1 = select i1 %cmp.i.i.1, float 0x7FF8000000000000, float %call.i.i.op.1 | |
%mul168.1 = fmul float %div167.1, %div167.1 | |
%mul169.1 = fmul float %mul168.1, %mul168.1 | |
%mul170.1 = fmul float %mul168.1, %mul169.1 | |
%mul171.1 = fmul float %cond.1, %mul170.1 | |
%neg.1 = fsub float -0.000000e+00, %146 | |
%150 = tail call float @llvm.fmuladd.f32(float %148, float %mul171.1, float %neg.1) | |
%mul173.1 = fmul float %mul171.1, %150 | |
%mul174.1 = fmul float %mul168.1, %mul173.1 | |
%cmp175.1 = fcmp olt float %149, %nbparam_params_rvdw_sq | |
%cond177.1 = select i1 %cmp175.1, float 1.000000e+00, float 0.000000e+00 | |
%mul178.1 = fmul float %cond177.1, %mul174.1 | |
%mul179.1 = fmul float %52, %143 | |
%mul180.1 = fmul float %cond.1, %mul168.1 | |
%mul182.1 = fmul float %mul, %149 | |
%mul.i.1 = fmul float %mul182.1, %mul182.1 | |
%151 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1, float 0x3FBDA79640000000) #5 | |
%152 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1, float 0x3FE03C5780000000) #5 | |
%153 = tail call float @llvm.fmuladd.f32(float %151, float %mul.i.1, float 1.000000e+00) #5 | |
%154 = tail call float @llvm.fmuladd.f32(float %152, float %mul182.1, float %153) #5 | |
%div.i.1 = fdiv float 1.000000e+00, %154, !fpmath !46 | |
%155 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1, float 0xBF0BFF7260000000) #5 | |
%156 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1, float 0x3F50794180000000) #5 | |
%157 = tail call float @llvm.fmuladd.f32(float %155, float %mul.i.1, float 0xBF93BDB200000000) #5 | |
%158 = tail call float @llvm.fmuladd.f32(float %156, float %mul.i.1, float 0x3FB1D5E760000000) #5 | |
%159 = tail call float @llvm.fmuladd.f32(float %157, float %mul.i.1, float 0xBFE81272E0000000) #5 | |
%160 = tail call float @llvm.fmuladd.f32(float %158, float %mul182.1, float %159) #5 | |
%mul11.i.1 = fmul float %160, %div.i.1 | |
%mul184.1 = fmul float %mul21, %mul11.i.1 | |
%161 = tail call float @llvm.fmuladd.f32(float %mul180.1, float %div167.1, float %mul184.1) | |
%162 = tail call float @llvm.fmuladd.f32(float %mul179.1, float %161, float %mul178.1) | |
%splat.splatinsert.1 = insertelement <3 x float> undef, float %162, i32 0 | |
%splat.splat.1 = shufflevector <3 x float> %splat.splatinsert.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.1 = fmul <3 x float> %extractVec137.1, %splat.splat.1 | |
%extractVec197.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.1 = fsub <3 x float> %extractVec197.1, %mul189.1 | |
%extractVec199.1 = shufflevector <3 x float> %sub198.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.1 = shufflevector <4 x float> %loadVec4206.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.1 = fadd <3 x float> %extractVec207.1, %mul189.1 | |
%extractVec209.1 = shufflevector <3 x float> %add208.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.1 | |
if.end212.1: ; preds = %if.then153.1, %if.then119.1, %if.end212 | |
%163 = phi <3 x float> [ %add208.1, %if.then153.1 ], [ %42, %if.then119.1 ], [ %42, %if.end212 ] | |
%loadVec4206.1702 = phi <4 x float> [ %extractVec209.1, %if.then153.1 ], [ %loadVec4206.1, %if.then119.1 ], [ %loadVec4206.1, %if.end212 ] | |
%fcj_buf.sroa.0.1.1 = phi <4 x float> [ %extractVec199.1, %if.then153.1 ], [ %fcj_buf.sroa.0.1, %if.then119.1 ], [ %fcj_buf.sroa.0.1, %if.end212 ] | |
%and117.2 = and i32 %45, 4 | |
%tobool118.2 = icmp eq i32 %and117.2, 0 | |
br i1 %tobool118.2, label %if.end212.2, label %if.then119.2 | |
if.then119.2: ; preds = %if.end212.1 | |
%164 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.2.3, align 16, !tbaa !36 | |
%165 = fsub <4 x float> %164, %51 | |
%166 = extractelement <4 x float> %165, i32 0 | |
%167 = extractelement <4 x float> %165, i32 1 | |
%mul3.i.i.2 = fmul float %167, %167 | |
%168 = tail call float @llvm.fmuladd.f32(float %166, float %166, float %mul3.i.i.2) #5 | |
%169 = extractelement <4 x float> %165, i32 2 | |
%170 = tail call float @llvm.fmuladd.f32(float %169, float %169, float %168) #5 | |
%and139.2 = and i32 %47, 4 | |
%tobool140.2 = icmp ne i32 %and139.2, 0 | |
%cond.2 = select i1 %tobool140.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2 = icmp ne i32 %32, %49 | |
%not.or.cond.2 = or i1 %notlhs, %notrhs.2 | |
%cmp147..2 = or i1 %cmp147, %not.or.cond.2 | |
%conv149.2 = uitofp i1 %cmp147..2 to float | |
%mul150.2 = fmul float %conv149.2, %nbparam_params_rcoulomb_sq | |
%cmp151.2 = fcmp olt float %170, %mul150.2 | |
br i1 %cmp151.2, label %if.then153.2, label %if.end212.2 | |
if.then153.2: ; preds = %if.then119.2 | |
%extractVec137.2 = shufflevector <4 x float> %165, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%171 = extractelement <4 x float> %164, i32 3 | |
%172 = load i32, i32 addrspace(1)* %arrayidx154.2.3, align 4, !tbaa !41 | |
%mul155.2 = mul nsw i32 %172, %ntypes | |
%add156.2 = add nsw i32 %mul155.2, %53 | |
%mul157.2 = shl nsw i32 %add156.2, 1 | |
%173 = sext i32 %mul157.2 to i64 | |
%arrayidx158.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %173 | |
%174 = load float, float addrspace(2)* %arrayidx158.2, align 4, !tbaa !39 | |
%add162.2 = or i32 %mul157.2, 1 | |
%175 = sext i32 %add162.2 to i64 | |
%arrayidx163.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %175 | |
%176 = load float, float addrspace(2)* %arrayidx163.2, align 4, !tbaa !39 | |
%sub164.2 = fsub float 1.000000e+00, %cond.2 | |
%177 = tail call float @llvm.fmuladd.f32(float %sub164.2, float 0x3D71979980000000, float %170) | |
%cmp.i.i.2 = fcmp olt float %177, 0.000000e+00 | |
%call.i.i.2 = tail call float @llvm.sqrt.f32(float %177) #6 | |
%call.i.i.op.2 = fdiv float 1.000000e+00, %call.i.i.2 | |
%div167.2 = select i1 %cmp.i.i.2, float 0x7FF8000000000000, float %call.i.i.op.2 | |
%mul168.2 = fmul float %div167.2, %div167.2 | |
%mul169.2 = fmul float %mul168.2, %mul168.2 | |
%mul170.2 = fmul float %mul168.2, %mul169.2 | |
%mul171.2 = fmul float %cond.2, %mul170.2 | |
%neg.2 = fsub float -0.000000e+00, %174 | |
%178 = tail call float @llvm.fmuladd.f32(float %176, float %mul171.2, float %neg.2) | |
%mul173.2 = fmul float %mul171.2, %178 | |
%mul174.2 = fmul float %mul168.2, %mul173.2 | |
%cmp175.2 = fcmp olt float %177, %nbparam_params_rvdw_sq | |
%cond177.2 = select i1 %cmp175.2, float 1.000000e+00, float 0.000000e+00 | |
%mul178.2 = fmul float %cond177.2, %mul174.2 | |
%mul179.2 = fmul float %52, %171 | |
%mul180.2 = fmul float %cond.2, %mul168.2 | |
%mul182.2 = fmul float %mul, %177 | |
%mul.i.2 = fmul float %mul182.2, %mul182.2 | |
%179 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2, float 0x3FBDA79640000000) #5 | |
%180 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2, float 0x3FE03C5780000000) #5 | |
%181 = tail call float @llvm.fmuladd.f32(float %179, float %mul.i.2, float 1.000000e+00) #5 | |
%182 = tail call float @llvm.fmuladd.f32(float %180, float %mul182.2, float %181) #5 | |
%div.i.2 = fdiv float 1.000000e+00, %182, !fpmath !46 | |
%183 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2, float 0xBF0BFF7260000000) #5 | |
%184 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2, float 0x3F50794180000000) #5 | |
%185 = tail call float @llvm.fmuladd.f32(float %183, float %mul.i.2, float 0xBF93BDB200000000) #5 | |
%186 = tail call float @llvm.fmuladd.f32(float %184, float %mul.i.2, float 0x3FB1D5E760000000) #5 | |
%187 = tail call float @llvm.fmuladd.f32(float %185, float %mul.i.2, float 0xBFE81272E0000000) #5 | |
%188 = tail call float @llvm.fmuladd.f32(float %186, float %mul182.2, float %187) #5 | |
%mul11.i.2 = fmul float %188, %div.i.2 | |
%mul184.2 = fmul float %mul21, %mul11.i.2 | |
%189 = tail call float @llvm.fmuladd.f32(float %mul180.2, float %div167.2, float %mul184.2) | |
%190 = tail call float @llvm.fmuladd.f32(float %mul179.2, float %189, float %mul178.2) | |
%splat.splatinsert.2 = insertelement <3 x float> undef, float %190, i32 0 | |
%splat.splat.2 = shufflevector <3 x float> %splat.splatinsert.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.2 = fmul <3 x float> %extractVec137.2, %splat.splat.2 | |
%extractVec197.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.2 = fsub <3 x float> %extractVec197.2, %mul189.2 | |
%extractVec199.2 = shufflevector <3 x float> %sub198.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.2 = shufflevector <4 x float> %loadVec4206.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.2 = fadd <3 x float> %extractVec207.2, %mul189.2 | |
%extractVec209.2 = shufflevector <3 x float> %add208.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.2 | |
if.end212.2: ; preds = %if.then153.2, %if.then119.2, %if.end212.1 | |
%191 = phi <3 x float> [ %add208.2, %if.then153.2 ], [ %41, %if.then119.2 ], [ %41, %if.end212.1 ] | |
%loadVec4206.2712 = phi <4 x float> [ %extractVec209.2, %if.then153.2 ], [ %loadVec4206.2, %if.then119.2 ], [ %loadVec4206.2, %if.end212.1 ] | |
%fcj_buf.sroa.0.1.2 = phi <4 x float> [ %extractVec199.2, %if.then153.2 ], [ %fcj_buf.sroa.0.1.1, %if.then119.2 ], [ %fcj_buf.sroa.0.1.1, %if.end212.1 ] | |
%and117.3 = and i32 %45, 8 | |
%tobool118.3 = icmp eq i32 %and117.3, 0 | |
br i1 %tobool118.3, label %if.end212.3, label %if.then119.3 | |
if.then119.3: ; preds = %if.end212.2 | |
%192 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.3.3, align 16, !tbaa !36 | |
%193 = fsub <4 x float> %192, %51 | |
%194 = extractelement <4 x float> %193, i32 0 | |
%195 = extractelement <4 x float> %193, i32 1 | |
%mul3.i.i.3 = fmul float %195, %195 | |
%196 = tail call float @llvm.fmuladd.f32(float %194, float %194, float %mul3.i.i.3) #5 | |
%197 = extractelement <4 x float> %193, i32 2 | |
%198 = tail call float @llvm.fmuladd.f32(float %197, float %197, float %196) #5 | |
%and139.3 = and i32 %47, 8 | |
%tobool140.3 = icmp ne i32 %and139.3, 0 | |
%cond.3 = select i1 %tobool140.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3 = icmp ne i32 %30, %49 | |
%not.or.cond.3 = or i1 %notlhs, %notrhs.3 | |
%cmp147..3 = or i1 %cmp147, %not.or.cond.3 | |
%conv149.3 = uitofp i1 %cmp147..3 to float | |
%mul150.3 = fmul float %conv149.3, %nbparam_params_rcoulomb_sq | |
%cmp151.3 = fcmp olt float %198, %mul150.3 | |
br i1 %cmp151.3, label %if.then153.3, label %if.end212.3 | |
if.then153.3: ; preds = %if.then119.3 | |
%extractVec137.3 = shufflevector <4 x float> %193, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%199 = extractelement <4 x float> %192, i32 3 | |
%200 = load i32, i32 addrspace(1)* %arrayidx154.3.3, align 4, !tbaa !41 | |
%mul155.3 = mul nsw i32 %200, %ntypes | |
%add156.3 = add nsw i32 %mul155.3, %53 | |
%mul157.3 = shl nsw i32 %add156.3, 1 | |
%201 = sext i32 %mul157.3 to i64 | |
%arrayidx158.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %201 | |
%202 = load float, float addrspace(2)* %arrayidx158.3, align 4, !tbaa !39 | |
%add162.3 = or i32 %mul157.3, 1 | |
%203 = sext i32 %add162.3 to i64 | |
%arrayidx163.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %203 | |
%204 = load float, float addrspace(2)* %arrayidx163.3, align 4, !tbaa !39 | |
%sub164.3 = fsub float 1.000000e+00, %cond.3 | |
%205 = tail call float @llvm.fmuladd.f32(float %sub164.3, float 0x3D71979980000000, float %198) | |
%cmp.i.i.3 = fcmp olt float %205, 0.000000e+00 | |
%call.i.i.3 = tail call float @llvm.sqrt.f32(float %205) #6 | |
%call.i.i.op.3 = fdiv float 1.000000e+00, %call.i.i.3 | |
%div167.3 = select i1 %cmp.i.i.3, float 0x7FF8000000000000, float %call.i.i.op.3 | |
%mul168.3 = fmul float %div167.3, %div167.3 | |
%mul169.3 = fmul float %mul168.3, %mul168.3 | |
%mul170.3 = fmul float %mul168.3, %mul169.3 | |
%mul171.3 = fmul float %cond.3, %mul170.3 | |
%neg.3 = fsub float -0.000000e+00, %202 | |
%206 = tail call float @llvm.fmuladd.f32(float %204, float %mul171.3, float %neg.3) | |
%mul173.3 = fmul float %mul171.3, %206 | |
%mul174.3 = fmul float %mul168.3, %mul173.3 | |
%cmp175.3 = fcmp olt float %205, %nbparam_params_rvdw_sq | |
%cond177.3 = select i1 %cmp175.3, float 1.000000e+00, float 0.000000e+00 | |
%mul178.3 = fmul float %cond177.3, %mul174.3 | |
%mul179.3 = fmul float %52, %199 | |
%mul180.3 = fmul float %cond.3, %mul168.3 | |
%mul182.3 = fmul float %mul, %205 | |
%mul.i.3 = fmul float %mul182.3, %mul182.3 | |
%207 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3, float 0x3FBDA79640000000) #5 | |
%208 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3, float 0x3FE03C5780000000) #5 | |
%209 = tail call float @llvm.fmuladd.f32(float %207, float %mul.i.3, float 1.000000e+00) #5 | |
%210 = tail call float @llvm.fmuladd.f32(float %208, float %mul182.3, float %209) #5 | |
%div.i.3 = fdiv float 1.000000e+00, %210, !fpmath !46 | |
%211 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3, float 0xBF0BFF7260000000) #5 | |
%212 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3, float 0x3F50794180000000) #5 | |
%213 = tail call float @llvm.fmuladd.f32(float %211, float %mul.i.3, float 0xBF93BDB200000000) #5 | |
%214 = tail call float @llvm.fmuladd.f32(float %212, float %mul.i.3, float 0x3FB1D5E760000000) #5 | |
%215 = tail call float @llvm.fmuladd.f32(float %213, float %mul.i.3, float 0xBFE81272E0000000) #5 | |
%216 = tail call float @llvm.fmuladd.f32(float %214, float %mul182.3, float %215) #5 | |
%mul11.i.3 = fmul float %216, %div.i.3 | |
%mul184.3 = fmul float %mul21, %mul11.i.3 | |
%217 = tail call float @llvm.fmuladd.f32(float %mul180.3, float %div167.3, float %mul184.3) | |
%218 = tail call float @llvm.fmuladd.f32(float %mul179.3, float %217, float %mul178.3) | |
%splat.splatinsert.3 = insertelement <3 x float> undef, float %218, i32 0 | |
%splat.splat.3 = shufflevector <3 x float> %splat.splatinsert.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.3 = fmul <3 x float> %extractVec137.3, %splat.splat.3 | |
%extractVec197.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.3 = fsub <3 x float> %extractVec197.3, %mul189.3 | |
%extractVec199.3 = shufflevector <3 x float> %sub198.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.3 = shufflevector <4 x float> %loadVec4206.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.3 = fadd <3 x float> %extractVec207.3, %mul189.3 | |
%extractVec209.3 = shufflevector <3 x float> %add208.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.3 | |
if.end212.3: ; preds = %if.then153.3, %if.then119.3, %if.end212.2 | |
%219 = phi <3 x float> [ %add208.3, %if.then153.3 ], [ %40, %if.then119.3 ], [ %40, %if.end212.2 ] | |
%loadVec4206.3722 = phi <4 x float> [ %extractVec209.3, %if.then153.3 ], [ %loadVec4206.3, %if.then119.3 ], [ %loadVec4206.3, %if.end212.2 ] | |
%fcj_buf.sroa.0.1.3 = phi <4 x float> [ %extractVec199.3, %if.then153.3 ], [ %fcj_buf.sroa.0.1.2, %if.then119.3 ], [ %fcj_buf.sroa.0.1.2, %if.end212.2 ] | |
%and117.4 = and i32 %45, 16 | |
%tobool118.4 = icmp eq i32 %and117.4, 0 | |
br i1 %tobool118.4, label %if.end212.4, label %if.then119.4 | |
if.then119.4: ; preds = %if.end212.3 | |
%220 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.4.3, align 16, !tbaa !36 | |
%221 = fsub <4 x float> %220, %51 | |
%222 = extractelement <4 x float> %221, i32 0 | |
%223 = extractelement <4 x float> %221, i32 1 | |
%mul3.i.i.4 = fmul float %223, %223 | |
%224 = tail call float @llvm.fmuladd.f32(float %222, float %222, float %mul3.i.i.4) #5 | |
%225 = extractelement <4 x float> %221, i32 2 | |
%226 = tail call float @llvm.fmuladd.f32(float %225, float %225, float %224) #5 | |
%and139.4 = and i32 %47, 16 | |
%tobool140.4 = icmp ne i32 %and139.4, 0 | |
%cond.4 = select i1 %tobool140.4, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.4 = icmp ne i32 %28, %49 | |
%not.or.cond.4 = or i1 %notlhs, %notrhs.4 | |
%cmp147..4 = or i1 %cmp147, %not.or.cond.4 | |
%conv149.4 = uitofp i1 %cmp147..4 to float | |
%mul150.4 = fmul float %conv149.4, %nbparam_params_rcoulomb_sq | |
%cmp151.4 = fcmp olt float %226, %mul150.4 | |
br i1 %cmp151.4, label %if.then153.4, label %if.end212.4 | |
if.then153.4: ; preds = %if.then119.4 | |
%extractVec137.4 = shufflevector <4 x float> %221, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%227 = extractelement <4 x float> %220, i32 3 | |
%228 = load i32, i32 addrspace(1)* %arrayidx154.4.3, align 4, !tbaa !41 | |
%mul155.4 = mul nsw i32 %228, %ntypes | |
%add156.4 = add nsw i32 %mul155.4, %53 | |
%mul157.4 = shl nsw i32 %add156.4, 1 | |
%229 = sext i32 %mul157.4 to i64 | |
%arrayidx158.4 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %229 | |
%230 = load float, float addrspace(2)* %arrayidx158.4, align 4, !tbaa !39 | |
%add162.4 = or i32 %mul157.4, 1 | |
%231 = sext i32 %add162.4 to i64 | |
%arrayidx163.4 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %231 | |
%232 = load float, float addrspace(2)* %arrayidx163.4, align 4, !tbaa !39 | |
%sub164.4 = fsub float 1.000000e+00, %cond.4 | |
%233 = tail call float @llvm.fmuladd.f32(float %sub164.4, float 0x3D71979980000000, float %226) | |
%cmp.i.i.4 = fcmp olt float %233, 0.000000e+00 | |
%call.i.i.4 = tail call float @llvm.sqrt.f32(float %233) #6 | |
%call.i.i.op.4 = fdiv float 1.000000e+00, %call.i.i.4 | |
%div167.4 = select i1 %cmp.i.i.4, float 0x7FF8000000000000, float %call.i.i.op.4 | |
%mul168.4 = fmul float %div167.4, %div167.4 | |
%mul169.4 = fmul float %mul168.4, %mul168.4 | |
%mul170.4 = fmul float %mul168.4, %mul169.4 | |
%mul171.4 = fmul float %cond.4, %mul170.4 | |
%neg.4 = fsub float -0.000000e+00, %230 | |
%234 = tail call float @llvm.fmuladd.f32(float %232, float %mul171.4, float %neg.4) | |
%mul173.4 = fmul float %mul171.4, %234 | |
%mul174.4 = fmul float %mul168.4, %mul173.4 | |
%cmp175.4 = fcmp olt float %233, %nbparam_params_rvdw_sq | |
%cond177.4 = select i1 %cmp175.4, float 1.000000e+00, float 0.000000e+00 | |
%mul178.4 = fmul float %cond177.4, %mul174.4 | |
%mul179.4 = fmul float %52, %227 | |
%mul180.4 = fmul float %cond.4, %mul168.4 | |
%mul182.4 = fmul float %mul, %233 | |
%mul.i.4 = fmul float %mul182.4, %mul182.4 | |
%235 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.4, float 0x3FBDA79640000000) #5 | |
%236 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.4, float 0x3FE03C5780000000) #5 | |
%237 = tail call float @llvm.fmuladd.f32(float %235, float %mul.i.4, float 1.000000e+00) #5 | |
%238 = tail call float @llvm.fmuladd.f32(float %236, float %mul182.4, float %237) #5 | |
%div.i.4 = fdiv float 1.000000e+00, %238, !fpmath !46 | |
%239 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.4, float 0xBF0BFF7260000000) #5 | |
%240 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.4, float 0x3F50794180000000) #5 | |
%241 = tail call float @llvm.fmuladd.f32(float %239, float %mul.i.4, float 0xBF93BDB200000000) #5 | |
%242 = tail call float @llvm.fmuladd.f32(float %240, float %mul.i.4, float 0x3FB1D5E760000000) #5 | |
%243 = tail call float @llvm.fmuladd.f32(float %241, float %mul.i.4, float 0xBFE81272E0000000) #5 | |
%244 = tail call float @llvm.fmuladd.f32(float %242, float %mul182.4, float %243) #5 | |
%mul11.i.4 = fmul float %244, %div.i.4 | |
%mul184.4 = fmul float %mul21, %mul11.i.4 | |
%245 = tail call float @llvm.fmuladd.f32(float %mul180.4, float %div167.4, float %mul184.4) | |
%246 = tail call float @llvm.fmuladd.f32(float %mul179.4, float %245, float %mul178.4) | |
%splat.splatinsert.4 = insertelement <3 x float> undef, float %246, i32 0 | |
%splat.splat.4 = shufflevector <3 x float> %splat.splatinsert.4, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.4 = fmul <3 x float> %extractVec137.4, %splat.splat.4 | |
%extractVec197.4 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.4 = fsub <3 x float> %extractVec197.4, %mul189.4 | |
%extractVec199.4 = shufflevector <3 x float> %sub198.4, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.4 = shufflevector <4 x float> %loadVec4206.4, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.4 = fadd <3 x float> %extractVec207.4, %mul189.4 | |
%extractVec209.4 = shufflevector <3 x float> %add208.4, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.4 | |
if.end212.4: ; preds = %if.then153.4, %if.then119.4, %if.end212.3 | |
%247 = phi <3 x float> [ %add208.4, %if.then153.4 ], [ %39, %if.then119.4 ], [ %39, %if.end212.3 ] | |
%loadVec4206.4732 = phi <4 x float> [ %extractVec209.4, %if.then153.4 ], [ %loadVec4206.4, %if.then119.4 ], [ %loadVec4206.4, %if.end212.3 ] | |
%fcj_buf.sroa.0.1.4 = phi <4 x float> [ %extractVec199.4, %if.then153.4 ], [ %fcj_buf.sroa.0.1.3, %if.then119.4 ], [ %fcj_buf.sroa.0.1.3, %if.end212.3 ] | |
%and117.5 = and i32 %45, 32 | |
%tobool118.5 = icmp eq i32 %and117.5, 0 | |
br i1 %tobool118.5, label %if.end212.5, label %if.then119.5 | |
if.then119.5: ; preds = %if.end212.4 | |
%248 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.5.3, align 16, !tbaa !36 | |
%249 = fsub <4 x float> %248, %51 | |
%250 = extractelement <4 x float> %249, i32 0 | |
%251 = extractelement <4 x float> %249, i32 1 | |
%mul3.i.i.5 = fmul float %251, %251 | |
%252 = tail call float @llvm.fmuladd.f32(float %250, float %250, float %mul3.i.i.5) #5 | |
%253 = extractelement <4 x float> %249, i32 2 | |
%254 = tail call float @llvm.fmuladd.f32(float %253, float %253, float %252) #5 | |
%and139.5 = and i32 %47, 32 | |
%tobool140.5 = icmp ne i32 %and139.5, 0 | |
%cond.5 = select i1 %tobool140.5, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.5 = icmp ne i32 %26, %49 | |
%not.or.cond.5 = or i1 %notlhs, %notrhs.5 | |
%cmp147..5 = or i1 %cmp147, %not.or.cond.5 | |
%conv149.5 = uitofp i1 %cmp147..5 to float | |
%mul150.5 = fmul float %conv149.5, %nbparam_params_rcoulomb_sq | |
%cmp151.5 = fcmp olt float %254, %mul150.5 | |
br i1 %cmp151.5, label %if.then153.5, label %if.end212.5 | |
if.then153.5: ; preds = %if.then119.5 | |
%extractVec137.5 = shufflevector <4 x float> %249, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%255 = extractelement <4 x float> %248, i32 3 | |
%256 = load i32, i32 addrspace(1)* %arrayidx154.5.3, align 4, !tbaa !41 | |
%mul155.5 = mul nsw i32 %256, %ntypes | |
%add156.5 = add nsw i32 %mul155.5, %53 | |
%mul157.5 = shl nsw i32 %add156.5, 1 | |
%257 = sext i32 %mul157.5 to i64 | |
%arrayidx158.5 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %257 | |
%258 = load float, float addrspace(2)* %arrayidx158.5, align 4, !tbaa !39 | |
%add162.5 = or i32 %mul157.5, 1 | |
%259 = sext i32 %add162.5 to i64 | |
%arrayidx163.5 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %259 | |
%260 = load float, float addrspace(2)* %arrayidx163.5, align 4, !tbaa !39 | |
%sub164.5 = fsub float 1.000000e+00, %cond.5 | |
%261 = tail call float @llvm.fmuladd.f32(float %sub164.5, float 0x3D71979980000000, float %254) | |
%cmp.i.i.5 = fcmp olt float %261, 0.000000e+00 | |
%call.i.i.5 = tail call float @llvm.sqrt.f32(float %261) #6 | |
%call.i.i.op.5 = fdiv float 1.000000e+00, %call.i.i.5 | |
%div167.5 = select i1 %cmp.i.i.5, float 0x7FF8000000000000, float %call.i.i.op.5 | |
%mul168.5 = fmul float %div167.5, %div167.5 | |
%mul169.5 = fmul float %mul168.5, %mul168.5 | |
%mul170.5 = fmul float %mul168.5, %mul169.5 | |
%mul171.5 = fmul float %cond.5, %mul170.5 | |
%neg.5 = fsub float -0.000000e+00, %258 | |
%262 = tail call float @llvm.fmuladd.f32(float %260, float %mul171.5, float %neg.5) | |
%mul173.5 = fmul float %mul171.5, %262 | |
%mul174.5 = fmul float %mul168.5, %mul173.5 | |
%cmp175.5 = fcmp olt float %261, %nbparam_params_rvdw_sq | |
%cond177.5 = select i1 %cmp175.5, float 1.000000e+00, float 0.000000e+00 | |
%mul178.5 = fmul float %cond177.5, %mul174.5 | |
%mul179.5 = fmul float %52, %255 | |
%mul180.5 = fmul float %cond.5, %mul168.5 | |
%mul182.5 = fmul float %mul, %261 | |
%mul.i.5 = fmul float %mul182.5, %mul182.5 | |
%263 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.5, float 0x3FBDA79640000000) #5 | |
%264 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.5, float 0x3FE03C5780000000) #5 | |
%265 = tail call float @llvm.fmuladd.f32(float %263, float %mul.i.5, float 1.000000e+00) #5 | |
%266 = tail call float @llvm.fmuladd.f32(float %264, float %mul182.5, float %265) #5 | |
%div.i.5 = fdiv float 1.000000e+00, %266, !fpmath !46 | |
%267 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.5, float 0xBF0BFF7260000000) #5 | |
%268 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.5, float 0x3F50794180000000) #5 | |
%269 = tail call float @llvm.fmuladd.f32(float %267, float %mul.i.5, float 0xBF93BDB200000000) #5 | |
%270 = tail call float @llvm.fmuladd.f32(float %268, float %mul.i.5, float 0x3FB1D5E760000000) #5 | |
%271 = tail call float @llvm.fmuladd.f32(float %269, float %mul.i.5, float 0xBFE81272E0000000) #5 | |
%272 = tail call float @llvm.fmuladd.f32(float %270, float %mul182.5, float %271) #5 | |
%mul11.i.5 = fmul float %272, %div.i.5 | |
%mul184.5 = fmul float %mul21, %mul11.i.5 | |
%273 = tail call float @llvm.fmuladd.f32(float %mul180.5, float %div167.5, float %mul184.5) | |
%274 = tail call float @llvm.fmuladd.f32(float %mul179.5, float %273, float %mul178.5) | |
%splat.splatinsert.5 = insertelement <3 x float> undef, float %274, i32 0 | |
%splat.splat.5 = shufflevector <3 x float> %splat.splatinsert.5, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.5 = fmul <3 x float> %extractVec137.5, %splat.splat.5 | |
%extractVec197.5 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.5 = fsub <3 x float> %extractVec197.5, %mul189.5 | |
%extractVec199.5 = shufflevector <3 x float> %sub198.5, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.5 = shufflevector <4 x float> %loadVec4206.5, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.5 = fadd <3 x float> %extractVec207.5, %mul189.5 | |
%extractVec209.5 = shufflevector <3 x float> %add208.5, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.5 | |
if.end212.5: ; preds = %if.then153.5, %if.then119.5, %if.end212.4 | |
%275 = phi <3 x float> [ %add208.5, %if.then153.5 ], [ %38, %if.then119.5 ], [ %38, %if.end212.4 ] | |
%loadVec4206.5742 = phi <4 x float> [ %extractVec209.5, %if.then153.5 ], [ %loadVec4206.5, %if.then119.5 ], [ %loadVec4206.5, %if.end212.4 ] | |
%fcj_buf.sroa.0.1.5 = phi <4 x float> [ %extractVec199.5, %if.then153.5 ], [ %fcj_buf.sroa.0.1.4, %if.then119.5 ], [ %fcj_buf.sroa.0.1.4, %if.end212.4 ] | |
%and117.6 = and i32 %45, 64 | |
%tobool118.6 = icmp eq i32 %and117.6, 0 | |
br i1 %tobool118.6, label %if.end212.6, label %if.then119.6 | |
if.then119.6: ; preds = %if.end212.5 | |
%276 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.6.3, align 16, !tbaa !36 | |
%277 = fsub <4 x float> %276, %51 | |
%278 = extractelement <4 x float> %277, i32 0 | |
%279 = extractelement <4 x float> %277, i32 1 | |
%mul3.i.i.6 = fmul float %279, %279 | |
%280 = tail call float @llvm.fmuladd.f32(float %278, float %278, float %mul3.i.i.6) #5 | |
%281 = extractelement <4 x float> %277, i32 2 | |
%282 = tail call float @llvm.fmuladd.f32(float %281, float %281, float %280) #5 | |
%and139.6 = and i32 %47, 64 | |
%tobool140.6 = icmp ne i32 %and139.6, 0 | |
%cond.6 = select i1 %tobool140.6, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.6 = icmp ne i32 %24, %49 | |
%not.or.cond.6 = or i1 %notlhs, %notrhs.6 | |
%cmp147..6 = or i1 %cmp147, %not.or.cond.6 | |
%conv149.6 = uitofp i1 %cmp147..6 to float | |
%mul150.6 = fmul float %conv149.6, %nbparam_params_rcoulomb_sq | |
%cmp151.6 = fcmp olt float %282, %mul150.6 | |
br i1 %cmp151.6, label %if.then153.6, label %if.end212.6 | |
if.then153.6: ; preds = %if.then119.6 | |
%extractVec137.6 = shufflevector <4 x float> %277, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%283 = extractelement <4 x float> %276, i32 3 | |
%284 = load i32, i32 addrspace(1)* %arrayidx154.6.3, align 4, !tbaa !41 | |
%mul155.6 = mul nsw i32 %284, %ntypes | |
%add156.6 = add nsw i32 %mul155.6, %53 | |
%mul157.6 = shl nsw i32 %add156.6, 1 | |
%285 = sext i32 %mul157.6 to i64 | |
%arrayidx158.6 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %285 | |
%286 = load float, float addrspace(2)* %arrayidx158.6, align 4, !tbaa !39 | |
%add162.6 = or i32 %mul157.6, 1 | |
%287 = sext i32 %add162.6 to i64 | |
%arrayidx163.6 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %287 | |
%288 = load float, float addrspace(2)* %arrayidx163.6, align 4, !tbaa !39 | |
%sub164.6 = fsub float 1.000000e+00, %cond.6 | |
%289 = tail call float @llvm.fmuladd.f32(float %sub164.6, float 0x3D71979980000000, float %282) | |
%cmp.i.i.6 = fcmp olt float %289, 0.000000e+00 | |
%call.i.i.6 = tail call float @llvm.sqrt.f32(float %289) #6 | |
%call.i.i.op.6 = fdiv float 1.000000e+00, %call.i.i.6 | |
%div167.6 = select i1 %cmp.i.i.6, float 0x7FF8000000000000, float %call.i.i.op.6 | |
%mul168.6 = fmul float %div167.6, %div167.6 | |
%mul169.6 = fmul float %mul168.6, %mul168.6 | |
%mul170.6 = fmul float %mul168.6, %mul169.6 | |
%mul171.6 = fmul float %cond.6, %mul170.6 | |
%neg.6 = fsub float -0.000000e+00, %286 | |
%290 = tail call float @llvm.fmuladd.f32(float %288, float %mul171.6, float %neg.6) | |
%mul173.6 = fmul float %mul171.6, %290 | |
%mul174.6 = fmul float %mul168.6, %mul173.6 | |
%cmp175.6 = fcmp olt float %289, %nbparam_params_rvdw_sq | |
%cond177.6 = select i1 %cmp175.6, float 1.000000e+00, float 0.000000e+00 | |
%mul178.6 = fmul float %cond177.6, %mul174.6 | |
%mul179.6 = fmul float %52, %283 | |
%mul180.6 = fmul float %cond.6, %mul168.6 | |
%mul182.6 = fmul float %mul, %289 | |
%mul.i.6 = fmul float %mul182.6, %mul182.6 | |
%291 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.6, float 0x3FBDA79640000000) #5 | |
%292 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.6, float 0x3FE03C5780000000) #5 | |
%293 = tail call float @llvm.fmuladd.f32(float %291, float %mul.i.6, float 1.000000e+00) #5 | |
%294 = tail call float @llvm.fmuladd.f32(float %292, float %mul182.6, float %293) #5 | |
%div.i.6 = fdiv float 1.000000e+00, %294, !fpmath !46 | |
%295 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.6, float 0xBF0BFF7260000000) #5 | |
%296 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.6, float 0x3F50794180000000) #5 | |
%297 = tail call float @llvm.fmuladd.f32(float %295, float %mul.i.6, float 0xBF93BDB200000000) #5 | |
%298 = tail call float @llvm.fmuladd.f32(float %296, float %mul.i.6, float 0x3FB1D5E760000000) #5 | |
%299 = tail call float @llvm.fmuladd.f32(float %297, float %mul.i.6, float 0xBFE81272E0000000) #5 | |
%300 = tail call float @llvm.fmuladd.f32(float %298, float %mul182.6, float %299) #5 | |
%mul11.i.6 = fmul float %300, %div.i.6 | |
%mul184.6 = fmul float %mul21, %mul11.i.6 | |
%301 = tail call float @llvm.fmuladd.f32(float %mul180.6, float %div167.6, float %mul184.6) | |
%302 = tail call float @llvm.fmuladd.f32(float %mul179.6, float %301, float %mul178.6) | |
%splat.splatinsert.6 = insertelement <3 x float> undef, float %302, i32 0 | |
%splat.splat.6 = shufflevector <3 x float> %splat.splatinsert.6, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.6 = fmul <3 x float> %extractVec137.6, %splat.splat.6 | |
%extractVec197.6 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.6 = fsub <3 x float> %extractVec197.6, %mul189.6 | |
%extractVec199.6 = shufflevector <3 x float> %sub198.6, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.6 = shufflevector <4 x float> %loadVec4206.6, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.6 = fadd <3 x float> %extractVec207.6, %mul189.6 | |
%extractVec209.6 = shufflevector <3 x float> %add208.6, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.6 | |
if.end212.6: ; preds = %if.then153.6, %if.then119.6, %if.end212.5 | |
%303 = phi <3 x float> [ %add208.6, %if.then153.6 ], [ %37, %if.then119.6 ], [ %37, %if.end212.5 ] | |
%loadVec4206.6752 = phi <4 x float> [ %extractVec209.6, %if.then153.6 ], [ %loadVec4206.6, %if.then119.6 ], [ %loadVec4206.6, %if.end212.5 ] | |
%fcj_buf.sroa.0.1.6 = phi <4 x float> [ %extractVec199.6, %if.then153.6 ], [ %fcj_buf.sroa.0.1.5, %if.then119.6 ], [ %fcj_buf.sroa.0.1.5, %if.end212.5 ] | |
%and117.7 = and i32 %45, 128 | |
%tobool118.7 = icmp eq i32 %and117.7, 0 | |
br i1 %tobool118.7, label %if.end212.7, label %if.then119.7 | |
if.then119.7: ; preds = %if.end212.6 | |
%304 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.7.3, align 16, !tbaa !36 | |
%305 = fsub <4 x float> %304, %51 | |
%306 = extractelement <4 x float> %305, i32 0 | |
%307 = extractelement <4 x float> %305, i32 1 | |
%mul3.i.i.7 = fmul float %307, %307 | |
%308 = tail call float @llvm.fmuladd.f32(float %306, float %306, float %mul3.i.i.7) #5 | |
%309 = extractelement <4 x float> %305, i32 2 | |
%310 = tail call float @llvm.fmuladd.f32(float %309, float %309, float %308) #5 | |
%and139.7 = and i32 %47, 128 | |
%tobool140.7 = icmp ne i32 %and139.7, 0 | |
%cond.7 = select i1 %tobool140.7, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.7 = icmp ne i32 %22, %49 | |
%not.or.cond.7 = or i1 %notlhs, %notrhs.7 | |
%cmp147..7 = or i1 %cmp147, %not.or.cond.7 | |
%conv149.7 = uitofp i1 %cmp147..7 to float | |
%mul150.7 = fmul float %conv149.7, %nbparam_params_rcoulomb_sq | |
%cmp151.7 = fcmp olt float %310, %mul150.7 | |
br i1 %cmp151.7, label %if.then153.7, label %if.end212.7 | |
if.then153.7: ; preds = %if.then119.7 | |
%extractVec137.7 = shufflevector <4 x float> %305, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%311 = extractelement <4 x float> %304, i32 3 | |
%312 = load i32, i32 addrspace(1)* %arrayidx154.7.3, align 4, !tbaa !41 | |
%mul155.7 = mul nsw i32 %312, %ntypes | |
%add156.7 = add nsw i32 %mul155.7, %53 | |
%mul157.7 = shl nsw i32 %add156.7, 1 | |
%313 = sext i32 %mul157.7 to i64 | |
%arrayidx158.7 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %313 | |
%314 = load float, float addrspace(2)* %arrayidx158.7, align 4, !tbaa !39 | |
%add162.7 = or i32 %mul157.7, 1 | |
%315 = sext i32 %add162.7 to i64 | |
%arrayidx163.7 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %315 | |
%316 = load float, float addrspace(2)* %arrayidx163.7, align 4, !tbaa !39 | |
%sub164.7 = fsub float 1.000000e+00, %cond.7 | |
%317 = tail call float @llvm.fmuladd.f32(float %sub164.7, float 0x3D71979980000000, float %310) | |
%cmp.i.i.7 = fcmp olt float %317, 0.000000e+00 | |
%call.i.i.7 = tail call float @llvm.sqrt.f32(float %317) #6 | |
%call.i.i.op.7 = fdiv float 1.000000e+00, %call.i.i.7 | |
%div167.7 = select i1 %cmp.i.i.7, float 0x7FF8000000000000, float %call.i.i.op.7 | |
%mul168.7 = fmul float %div167.7, %div167.7 | |
%mul169.7 = fmul float %mul168.7, %mul168.7 | |
%mul170.7 = fmul float %mul168.7, %mul169.7 | |
%mul171.7 = fmul float %cond.7, %mul170.7 | |
%neg.7 = fsub float -0.000000e+00, %314 | |
%318 = tail call float @llvm.fmuladd.f32(float %316, float %mul171.7, float %neg.7) | |
%mul173.7 = fmul float %mul171.7, %318 | |
%mul174.7 = fmul float %mul168.7, %mul173.7 | |
%cmp175.7 = fcmp olt float %317, %nbparam_params_rvdw_sq | |
%cond177.7 = select i1 %cmp175.7, float 1.000000e+00, float 0.000000e+00 | |
%mul178.7 = fmul float %cond177.7, %mul174.7 | |
%mul179.7 = fmul float %52, %311 | |
%mul180.7 = fmul float %cond.7, %mul168.7 | |
%mul182.7 = fmul float %mul, %317 | |
%mul.i.7 = fmul float %mul182.7, %mul182.7 | |
%319 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.7, float 0x3FBDA79640000000) #5 | |
%320 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.7, float 0x3FE03C5780000000) #5 | |
%321 = tail call float @llvm.fmuladd.f32(float %319, float %mul.i.7, float 1.000000e+00) #5 | |
%322 = tail call float @llvm.fmuladd.f32(float %320, float %mul182.7, float %321) #5 | |
%div.i.7 = fdiv float 1.000000e+00, %322, !fpmath !46 | |
%323 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.7, float 0xBF0BFF7260000000) #5 | |
%324 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.7, float 0x3F50794180000000) #5 | |
%325 = tail call float @llvm.fmuladd.f32(float %323, float %mul.i.7, float 0xBF93BDB200000000) #5 | |
%326 = tail call float @llvm.fmuladd.f32(float %324, float %mul.i.7, float 0x3FB1D5E760000000) #5 | |
%327 = tail call float @llvm.fmuladd.f32(float %325, float %mul.i.7, float 0xBFE81272E0000000) #5 | |
%328 = tail call float @llvm.fmuladd.f32(float %326, float %mul182.7, float %327) #5 | |
%mul11.i.7 = fmul float %328, %div.i.7 | |
%mul184.7 = fmul float %mul21, %mul11.i.7 | |
%329 = tail call float @llvm.fmuladd.f32(float %mul180.7, float %div167.7, float %mul184.7) | |
%330 = tail call float @llvm.fmuladd.f32(float %mul179.7, float %329, float %mul178.7) | |
%splat.splatinsert.7 = insertelement <3 x float> undef, float %330, i32 0 | |
%splat.splat.7 = shufflevector <3 x float> %splat.splatinsert.7, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.7 = fmul <3 x float> %extractVec137.7, %splat.splat.7 | |
%extractVec197.7 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.7 = fsub <3 x float> %extractVec197.7, %mul189.7 | |
%extractVec199.7 = shufflevector <3 x float> %sub198.7, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.7 = shufflevector <4 x float> %loadVec4206.7, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.7 = fadd <3 x float> %extractVec207.7, %mul189.7 | |
%extractVec209.7 = shufflevector <3 x float> %add208.7, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.7 | |
if.end212.7: ; preds = %if.then153.7, %if.then119.7, %if.end212.6 | |
%fci_buf.sroa.37.4 = phi <4 x float> [ %fci_buf.sroa.37.0, %if.end212.6 ], [ %extractVec209.7, %if.then153.7 ], [ %fci_buf.sroa.37.0, %if.then119.7 ] | |
%loadVec4206.7762 = phi <4 x float> [ %loadVec4206.7, %if.end212.6 ], [ %extractVec209.7, %if.then153.7 ], [ %loadVec4206.7, %if.then119.7 ] | |
%fcj_buf.sroa.0.1.7 = phi <4 x float> [ %fcj_buf.sroa.0.1.6, %if.end212.6 ], [ %extractVec199.7, %if.then153.7 ], [ %fcj_buf.sroa.0.1.6, %if.then119.7 ] | |
%331 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 0 | |
store float %331, float addrspace(3)* %arrayidx217, align 4, !tbaa !39 | |
%332 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 1 | |
store float %332, float addrspace(3)* %arrayidx219, align 4, !tbaa !39 | |
%333 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 2 | |
store float %333, float addrspace(3)* %arrayidx221, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add108) | |
br label %for.inc223 | |
if.then98.1: ; preds = %for.inc223 | |
%334 = load i32, i32 addrspace(3)* %arrayidx106.1, align 4, !tbaa !41 | |
%mul107.1 = shl nsw i32 %334, 3 | |
%add108.1 = add i32 %mul107.1, %y.i | |
%335 = sext i32 %add108.1 to i64 | |
%arrayidx109.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %335 | |
%336 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx109.1, align 16, !tbaa !36 | |
%337 = extractelement <4 x float> %336, i32 3 | |
%arrayidx111.1 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %335 | |
%338 = load i32, i32 addrspace(1)* %arrayidx111.1, align 4, !tbaa !41 | |
%and117.1499 = and i32 %45, 256 | |
%tobool118.1500 = icmp eq i32 %and117.1499, 0 | |
br i1 %tobool118.1500, label %if.end212.1559, label %if.then119.1512 | |
if.then119.1512: ; preds = %if.then98.1 | |
%339 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.3623, align 16, !tbaa !36 | |
%340 = fsub <4 x float> %339, %336 | |
%341 = extractelement <4 x float> %340, i32 0 | |
%342 = extractelement <4 x float> %340, i32 1 | |
%mul3.i.i.1502 = fmul float %342, %342 | |
%343 = tail call float @llvm.fmuladd.f32(float %341, float %341, float %mul3.i.i.1502) #5 | |
%344 = extractelement <4 x float> %340, i32 2 | |
%345 = tail call float @llvm.fmuladd.f32(float %344, float %344, float %343) #5 | |
%and139.1503 = and i32 %47, 256 | |
%tobool140.1504 = icmp ne i32 %and139.1503, 0 | |
%cond.1505 = select i1 %tobool140.1504, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1506 = icmp ne i32 %mul31, %334 | |
%not.or.cond.1507 = or i1 %notlhs, %notrhs.1506 | |
%cmp147..1508 = or i1 %cmp147, %not.or.cond.1507 | |
%conv149.1509 = uitofp i1 %cmp147..1508 to float | |
%mul150.1510 = fmul float %conv149.1509, %nbparam_params_rcoulomb_sq | |
%cmp151.1511 = fcmp olt float %345, %mul150.1510 | |
br i1 %cmp151.1511, label %if.then153.1556, label %if.end212.1559 | |
if.then153.1556: ; preds = %if.then119.1512 | |
%extractVec137.1513 = shufflevector <4 x float> %340, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%346 = extractelement <4 x float> %339, i32 3 | |
%347 = load i32, i32 addrspace(1)* %arrayidx154.3638, align 4, !tbaa !41 | |
%mul155.1517 = mul nsw i32 %347, %ntypes | |
%add156.1518 = add nsw i32 %mul155.1517, %338 | |
%mul157.1519 = shl nsw i32 %add156.1518, 1 | |
%348 = sext i32 %mul157.1519 to i64 | |
%arrayidx158.1520 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %348 | |
%349 = load float, float addrspace(2)* %arrayidx158.1520, align 4, !tbaa !39 | |
%add162.1521 = or i32 %mul157.1519, 1 | |
%350 = sext i32 %add162.1521 to i64 | |
%arrayidx163.1522 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %350 | |
%351 = load float, float addrspace(2)* %arrayidx163.1522, align 4, !tbaa !39 | |
%sub164.1523 = fsub float 1.000000e+00, %cond.1505 | |
%352 = tail call float @llvm.fmuladd.f32(float %sub164.1523, float 0x3D71979980000000, float %345) | |
%cmp.i.i.1524 = fcmp olt float %352, 0.000000e+00 | |
%call.i.i.1525 = tail call float @llvm.sqrt.f32(float %352) #6 | |
%call.i.i.op.1526 = fdiv float 1.000000e+00, %call.i.i.1525 | |
%div167.1527 = select i1 %cmp.i.i.1524, float 0x7FF8000000000000, float %call.i.i.op.1526 | |
%mul168.1528 = fmul float %div167.1527, %div167.1527 | |
%mul169.1529 = fmul float %mul168.1528, %mul168.1528 | |
%mul170.1530 = fmul float %mul168.1528, %mul169.1529 | |
%mul171.1531 = fmul float %cond.1505, %mul170.1530 | |
%neg.1532 = fsub float -0.000000e+00, %349 | |
%353 = tail call float @llvm.fmuladd.f32(float %351, float %mul171.1531, float %neg.1532) | |
%mul173.1533 = fmul float %mul171.1531, %353 | |
%mul174.1534 = fmul float %mul168.1528, %mul173.1533 | |
%cmp175.1535 = fcmp olt float %352, %nbparam_params_rvdw_sq | |
%cond177.1536 = select i1 %cmp175.1535, float 1.000000e+00, float 0.000000e+00 | |
%mul178.1537 = fmul float %cond177.1536, %mul174.1534 | |
%mul179.1538 = fmul float %337, %346 | |
%mul180.1539 = fmul float %cond.1505, %mul168.1528 | |
%mul182.1540 = fmul float %mul, %352 | |
%mul.i.1541 = fmul float %mul182.1540, %mul182.1540 | |
%354 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1541, float 0x3FBDA79640000000) #5 | |
%355 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1541, float 0x3FE03C5780000000) #5 | |
%356 = tail call float @llvm.fmuladd.f32(float %354, float %mul.i.1541, float 1.000000e+00) #5 | |
%357 = tail call float @llvm.fmuladd.f32(float %355, float %mul182.1540, float %356) #5 | |
%div.i.1542 = fdiv float 1.000000e+00, %357, !fpmath !46 | |
%358 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1541, float 0xBF0BFF7260000000) #5 | |
%359 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1541, float 0x3F50794180000000) #5 | |
%360 = tail call float @llvm.fmuladd.f32(float %358, float %mul.i.1541, float 0xBF93BDB200000000) #5 | |
%361 = tail call float @llvm.fmuladd.f32(float %359, float %mul.i.1541, float 0x3FB1D5E760000000) #5 | |
%362 = tail call float @llvm.fmuladd.f32(float %360, float %mul.i.1541, float 0xBFE81272E0000000) #5 | |
%363 = tail call float @llvm.fmuladd.f32(float %361, float %mul182.1540, float %362) #5 | |
%mul11.i.1543 = fmul float %363, %div.i.1542 | |
%mul184.1544 = fmul float %mul21, %mul11.i.1543 | |
%364 = tail call float @llvm.fmuladd.f32(float %mul180.1539, float %div167.1527, float %mul184.1544) | |
%365 = tail call float @llvm.fmuladd.f32(float %mul179.1538, float %364, float %mul178.1537) | |
%splat.splatinsert.1545 = insertelement <3 x float> undef, float %365, i32 0 | |
%splat.splat.1546 = shufflevector <3 x float> %splat.splatinsert.1545, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.1547 = fmul <3 x float> %extractVec137.1513, %splat.splat.1546 | |
%sub198.1548 = fsub <3 x float> zeroinitializer, %mul189.1547 | |
%extractVec199.1549 = shufflevector <3 x float> %sub198.1548, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.1553 = shufflevector <4 x float> %loadVec4206.1552, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.1554 = fadd <3 x float> %extractVec207.1553, %mul189.1547 | |
%extractVec209.1555 = shufflevector <3 x float> %add208.1554, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.1559 | |
if.end212.1559: ; preds = %if.then153.1556, %if.then119.1512, %if.then98.1 | |
%366 = phi <3 x float> [ %add208.1554, %if.then153.1556 ], [ %88, %if.then119.1512 ], [ %88, %if.then98.1 ] | |
%loadVec4206683 = phi <4 x float> [ %extractVec209.1555, %if.then153.1556 ], [ %loadVec4206.1552, %if.then119.1512 ], [ %loadVec4206.1552, %if.then98.1 ] | |
%fcj_buf.sroa.0.1.1557 = phi <4 x float> [ %extractVec199.1549, %if.then153.1556 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then119.1512 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then98.1 ] | |
%and117.1.1 = and i32 %45, 512 | |
%tobool118.1.1 = icmp eq i32 %and117.1.1, 0 | |
br i1 %tobool118.1.1, label %if.end212.1.1, label %if.then119.1.1 | |
if.then119.1.1: ; preds = %if.end212.1559 | |
%367 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.1.3, align 16, !tbaa !36 | |
%368 = fsub <4 x float> %367, %336 | |
%369 = extractelement <4 x float> %368, i32 0 | |
%370 = extractelement <4 x float> %368, i32 1 | |
%mul3.i.i.1.1 = fmul float %370, %370 | |
%371 = tail call float @llvm.fmuladd.f32(float %369, float %369, float %mul3.i.i.1.1) #5 | |
%372 = extractelement <4 x float> %368, i32 2 | |
%373 = tail call float @llvm.fmuladd.f32(float %372, float %372, float %371) #5 | |
%and139.1.1 = and i32 %47, 512 | |
%tobool140.1.1 = icmp ne i32 %and139.1.1, 0 | |
%cond.1.1 = select i1 %tobool140.1.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1.1 = icmp ne i32 %34, %334 | |
%not.or.cond.1.1 = or i1 %notlhs, %notrhs.1.1 | |
%cmp147..1.1 = or i1 %cmp147, %not.or.cond.1.1 | |
%conv149.1.1 = uitofp i1 %cmp147..1.1 to float | |
%mul150.1.1 = fmul float %conv149.1.1, %nbparam_params_rcoulomb_sq | |
%cmp151.1.1 = fcmp olt float %373, %mul150.1.1 | |
br i1 %cmp151.1.1, label %if.then153.1.1, label %if.end212.1.1 | |
if.then153.1.1: ; preds = %if.then119.1.1 | |
%extractVec137.1.1 = shufflevector <4 x float> %368, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%374 = extractelement <4 x float> %367, i32 3 | |
%375 = load i32, i32 addrspace(1)* %arrayidx154.1.3, align 4, !tbaa !41 | |
%mul155.1.1 = mul nsw i32 %375, %ntypes | |
%add156.1.1 = add nsw i32 %mul155.1.1, %338 | |
%mul157.1.1 = shl nsw i32 %add156.1.1, 1 | |
%376 = sext i32 %mul157.1.1 to i64 | |
%arrayidx158.1.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %376 | |
%377 = load float, float addrspace(2)* %arrayidx158.1.1, align 4, !tbaa !39 | |
%add162.1.1 = or i32 %mul157.1.1, 1 | |
%378 = sext i32 %add162.1.1 to i64 | |
%arrayidx163.1.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %378 | |
%379 = load float, float addrspace(2)* %arrayidx163.1.1, align 4, !tbaa !39 | |
%sub164.1.1 = fsub float 1.000000e+00, %cond.1.1 | |
%380 = tail call float @llvm.fmuladd.f32(float %sub164.1.1, float 0x3D71979980000000, float %373) | |
%cmp.i.i.1.1 = fcmp olt float %380, 0.000000e+00 | |
%call.i.i.1.1 = tail call float @llvm.sqrt.f32(float %380) #6 | |
%call.i.i.op.1.1 = fdiv float 1.000000e+00, %call.i.i.1.1 | |
%div167.1.1 = select i1 %cmp.i.i.1.1, float 0x7FF8000000000000, float %call.i.i.op.1.1 | |
%mul168.1.1 = fmul float %div167.1.1, %div167.1.1 | |
%mul169.1.1 = fmul float %mul168.1.1, %mul168.1.1 | |
%mul170.1.1 = fmul float %mul168.1.1, %mul169.1.1 | |
%mul171.1.1 = fmul float %cond.1.1, %mul170.1.1 | |
%neg.1.1 = fsub float -0.000000e+00, %377 | |
%381 = tail call float @llvm.fmuladd.f32(float %379, float %mul171.1.1, float %neg.1.1) | |
%mul173.1.1 = fmul float %mul171.1.1, %381 | |
%mul174.1.1 = fmul float %mul168.1.1, %mul173.1.1 | |
%cmp175.1.1 = fcmp olt float %380, %nbparam_params_rvdw_sq | |
%cond177.1.1 = select i1 %cmp175.1.1, float 1.000000e+00, float 0.000000e+00 | |
%mul178.1.1 = fmul float %cond177.1.1, %mul174.1.1 | |
%mul179.1.1 = fmul float %337, %374 | |
%mul180.1.1 = fmul float %cond.1.1, %mul168.1.1 | |
%mul182.1.1 = fmul float %mul, %380 | |
%mul.i.1.1 = fmul float %mul182.1.1, %mul182.1.1 | |
%382 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1.1, float 0x3FBDA79640000000) #5 | |
%383 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1.1, float 0x3FE03C5780000000) #5 | |
%384 = tail call float @llvm.fmuladd.f32(float %382, float %mul.i.1.1, float 1.000000e+00) #5 | |
%385 = tail call float @llvm.fmuladd.f32(float %383, float %mul182.1.1, float %384) #5 | |
%div.i.1.1 = fdiv float 1.000000e+00, %385, !fpmath !46 | |
%386 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1.1, float 0xBF0BFF7260000000) #5 | |
%387 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1.1, float 0x3F50794180000000) #5 | |
%388 = tail call float @llvm.fmuladd.f32(float %386, float %mul.i.1.1, float 0xBF93BDB200000000) #5 | |
%389 = tail call float @llvm.fmuladd.f32(float %387, float %mul.i.1.1, float 0x3FB1D5E760000000) #5 | |
%390 = tail call float @llvm.fmuladd.f32(float %388, float %mul.i.1.1, float 0xBFE81272E0000000) #5 | |
%391 = tail call float @llvm.fmuladd.f32(float %389, float %mul182.1.1, float %390) #5 | |
%mul11.i.1.1 = fmul float %391, %div.i.1.1 | |
%mul184.1.1 = fmul float %mul21, %mul11.i.1.1 | |
%392 = tail call float @llvm.fmuladd.f32(float %mul180.1.1, float %div167.1.1, float %mul184.1.1) | |
%393 = tail call float @llvm.fmuladd.f32(float %mul179.1.1, float %392, float %mul178.1.1) | |
%splat.splatinsert.1.1 = insertelement <3 x float> undef, float %393, i32 0 | |
%splat.splat.1.1 = shufflevector <3 x float> %splat.splatinsert.1.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.1.1 = fmul <3 x float> %extractVec137.1.1, %splat.splat.1.1 | |
%extractVec197.1.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1557, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.1.1 = fsub <3 x float> %extractVec197.1.1, %mul189.1.1 | |
%extractVec199.1.1 = shufflevector <3 x float> %sub198.1.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.1.1 = shufflevector <4 x float> %loadVec4206.1.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.1.1 = fadd <3 x float> %extractVec207.1.1, %mul189.1.1 | |
%extractVec209.1.1 = shufflevector <3 x float> %add208.1.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.1.1 | |
if.end212.1.1: ; preds = %if.then153.1.1, %if.then119.1.1, %if.end212.1559 | |
%394 = phi <3 x float> [ %add208.1.1, %if.then153.1.1 ], [ %87, %if.then119.1.1 ], [ %87, %if.end212.1559 ] | |
%loadVec4206.1693 = phi <4 x float> [ %extractVec209.1.1, %if.then153.1.1 ], [ %loadVec4206.1.1, %if.then119.1.1 ], [ %loadVec4206.1.1, %if.end212.1559 ] | |
%fcj_buf.sroa.0.1.1.1 = phi <4 x float> [ %extractVec199.1.1, %if.then153.1.1 ], [ %fcj_buf.sroa.0.1.1557, %if.then119.1.1 ], [ %fcj_buf.sroa.0.1.1557, %if.end212.1559 ] | |
%and117.2.1 = and i32 %45, 1024 | |
%tobool118.2.1 = icmp eq i32 %and117.2.1, 0 | |
br i1 %tobool118.2.1, label %if.end212.2.1, label %if.then119.2.1 | |
if.then119.2.1: ; preds = %if.end212.1.1 | |
%395 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.2.3, align 16, !tbaa !36 | |
%396 = fsub <4 x float> %395, %336 | |
%397 = extractelement <4 x float> %396, i32 0 | |
%398 = extractelement <4 x float> %396, i32 1 | |
%mul3.i.i.2.1 = fmul float %398, %398 | |
%399 = tail call float @llvm.fmuladd.f32(float %397, float %397, float %mul3.i.i.2.1) #5 | |
%400 = extractelement <4 x float> %396, i32 2 | |
%401 = tail call float @llvm.fmuladd.f32(float %400, float %400, float %399) #5 | |
%and139.2.1 = and i32 %47, 1024 | |
%tobool140.2.1 = icmp ne i32 %and139.2.1, 0 | |
%cond.2.1 = select i1 %tobool140.2.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2.1 = icmp ne i32 %32, %334 | |
%not.or.cond.2.1 = or i1 %notlhs, %notrhs.2.1 | |
%cmp147..2.1 = or i1 %cmp147, %not.or.cond.2.1 | |
%conv149.2.1 = uitofp i1 %cmp147..2.1 to float | |
%mul150.2.1 = fmul float %conv149.2.1, %nbparam_params_rcoulomb_sq | |
%cmp151.2.1 = fcmp olt float %401, %mul150.2.1 | |
br i1 %cmp151.2.1, label %if.then153.2.1, label %if.end212.2.1 | |
if.then153.2.1: ; preds = %if.then119.2.1 | |
%extractVec137.2.1 = shufflevector <4 x float> %396, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%402 = extractelement <4 x float> %395, i32 3 | |
%403 = load i32, i32 addrspace(1)* %arrayidx154.2.3, align 4, !tbaa !41 | |
%mul155.2.1 = mul nsw i32 %403, %ntypes | |
%add156.2.1 = add nsw i32 %mul155.2.1, %338 | |
%mul157.2.1 = shl nsw i32 %add156.2.1, 1 | |
%404 = sext i32 %mul157.2.1 to i64 | |
%arrayidx158.2.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %404 | |
%405 = load float, float addrspace(2)* %arrayidx158.2.1, align 4, !tbaa !39 | |
%add162.2.1 = or i32 %mul157.2.1, 1 | |
%406 = sext i32 %add162.2.1 to i64 | |
%arrayidx163.2.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %406 | |
%407 = load float, float addrspace(2)* %arrayidx163.2.1, align 4, !tbaa !39 | |
%sub164.2.1 = fsub float 1.000000e+00, %cond.2.1 | |
%408 = tail call float @llvm.fmuladd.f32(float %sub164.2.1, float 0x3D71979980000000, float %401) | |
%cmp.i.i.2.1 = fcmp olt float %408, 0.000000e+00 | |
%call.i.i.2.1 = tail call float @llvm.sqrt.f32(float %408) #6 | |
%call.i.i.op.2.1 = fdiv float 1.000000e+00, %call.i.i.2.1 | |
%div167.2.1 = select i1 %cmp.i.i.2.1, float 0x7FF8000000000000, float %call.i.i.op.2.1 | |
%mul168.2.1 = fmul float %div167.2.1, %div167.2.1 | |
%mul169.2.1 = fmul float %mul168.2.1, %mul168.2.1 | |
%mul170.2.1 = fmul float %mul168.2.1, %mul169.2.1 | |
%mul171.2.1 = fmul float %cond.2.1, %mul170.2.1 | |
%neg.2.1 = fsub float -0.000000e+00, %405 | |
%409 = tail call float @llvm.fmuladd.f32(float %407, float %mul171.2.1, float %neg.2.1) | |
%mul173.2.1 = fmul float %mul171.2.1, %409 | |
%mul174.2.1 = fmul float %mul168.2.1, %mul173.2.1 | |
%cmp175.2.1 = fcmp olt float %408, %nbparam_params_rvdw_sq | |
%cond177.2.1 = select i1 %cmp175.2.1, float 1.000000e+00, float 0.000000e+00 | |
%mul178.2.1 = fmul float %cond177.2.1, %mul174.2.1 | |
%mul179.2.1 = fmul float %337, %402 | |
%mul180.2.1 = fmul float %cond.2.1, %mul168.2.1 | |
%mul182.2.1 = fmul float %mul, %408 | |
%mul.i.2.1 = fmul float %mul182.2.1, %mul182.2.1 | |
%410 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2.1, float 0x3FBDA79640000000) #5 | |
%411 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2.1, float 0x3FE03C5780000000) #5 | |
%412 = tail call float @llvm.fmuladd.f32(float %410, float %mul.i.2.1, float 1.000000e+00) #5 | |
%413 = tail call float @llvm.fmuladd.f32(float %411, float %mul182.2.1, float %412) #5 | |
%div.i.2.1 = fdiv float 1.000000e+00, %413, !fpmath !46 | |
%414 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2.1, float 0xBF0BFF7260000000) #5 | |
%415 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2.1, float 0x3F50794180000000) #5 | |
%416 = tail call float @llvm.fmuladd.f32(float %414, float %mul.i.2.1, float 0xBF93BDB200000000) #5 | |
%417 = tail call float @llvm.fmuladd.f32(float %415, float %mul.i.2.1, float 0x3FB1D5E760000000) #5 | |
%418 = tail call float @llvm.fmuladd.f32(float %416, float %mul.i.2.1, float 0xBFE81272E0000000) #5 | |
%419 = tail call float @llvm.fmuladd.f32(float %417, float %mul182.2.1, float %418) #5 | |
%mul11.i.2.1 = fmul float %419, %div.i.2.1 | |
%mul184.2.1 = fmul float %mul21, %mul11.i.2.1 | |
%420 = tail call float @llvm.fmuladd.f32(float %mul180.2.1, float %div167.2.1, float %mul184.2.1) | |
%421 = tail call float @llvm.fmuladd.f32(float %mul179.2.1, float %420, float %mul178.2.1) | |
%splat.splatinsert.2.1 = insertelement <3 x float> undef, float %421, i32 0 | |
%splat.splat.2.1 = shufflevector <3 x float> %splat.splatinsert.2.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.2.1 = fmul <3 x float> %extractVec137.2.1, %splat.splat.2.1 | |
%extractVec197.2.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.2.1 = fsub <3 x float> %extractVec197.2.1, %mul189.2.1 | |
%extractVec199.2.1 = shufflevector <3 x float> %sub198.2.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.2.1 = shufflevector <4 x float> %loadVec4206.2.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.2.1 = fadd <3 x float> %extractVec207.2.1, %mul189.2.1 | |
%extractVec209.2.1 = shufflevector <3 x float> %add208.2.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.2.1 | |
if.end212.2.1: ; preds = %if.then153.2.1, %if.then119.2.1, %if.end212.1.1 | |
%422 = phi <3 x float> [ %add208.2.1, %if.then153.2.1 ], [ %86, %if.then119.2.1 ], [ %86, %if.end212.1.1 ] | |
%loadVec4206.2703 = phi <4 x float> [ %extractVec209.2.1, %if.then153.2.1 ], [ %loadVec4206.2.1, %if.then119.2.1 ], [ %loadVec4206.2.1, %if.end212.1.1 ] | |
%fcj_buf.sroa.0.1.2.1 = phi <4 x float> [ %extractVec199.2.1, %if.then153.2.1 ], [ %fcj_buf.sroa.0.1.1.1, %if.then119.2.1 ], [ %fcj_buf.sroa.0.1.1.1, %if.end212.1.1 ] | |
%and117.3.1 = and i32 %45, 2048 | |
%tobool118.3.1 = icmp eq i32 %and117.3.1, 0 | |
br i1 %tobool118.3.1, label %if.end212.3.1, label %if.then119.3.1 | |
if.then119.3.1: ; preds = %if.end212.2.1 | |
%423 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.3.3, align 16, !tbaa !36 | |
%424 = fsub <4 x float> %423, %336 | |
%425 = extractelement <4 x float> %424, i32 0 | |
%426 = extractelement <4 x float> %424, i32 1 | |
%mul3.i.i.3.1 = fmul float %426, %426 | |
%427 = tail call float @llvm.fmuladd.f32(float %425, float %425, float %mul3.i.i.3.1) #5 | |
%428 = extractelement <4 x float> %424, i32 2 | |
%429 = tail call float @llvm.fmuladd.f32(float %428, float %428, float %427) #5 | |
%and139.3.1 = and i32 %47, 2048 | |
%tobool140.3.1 = icmp ne i32 %and139.3.1, 0 | |
%cond.3.1 = select i1 %tobool140.3.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3.1 = icmp ne i32 %30, %334 | |
%not.or.cond.3.1 = or i1 %notlhs, %notrhs.3.1 | |
%cmp147..3.1 = or i1 %cmp147, %not.or.cond.3.1 | |
%conv149.3.1 = uitofp i1 %cmp147..3.1 to float | |
%mul150.3.1 = fmul float %conv149.3.1, %nbparam_params_rcoulomb_sq | |
%cmp151.3.1 = fcmp olt float %429, %mul150.3.1 | |
br i1 %cmp151.3.1, label %if.then153.3.1, label %if.end212.3.1 | |
if.then153.3.1: ; preds = %if.then119.3.1 | |
%extractVec137.3.1 = shufflevector <4 x float> %424, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%430 = extractelement <4 x float> %423, i32 3 | |
%431 = load i32, i32 addrspace(1)* %arrayidx154.3.3, align 4, !tbaa !41 | |
%mul155.3.1 = mul nsw i32 %431, %ntypes | |
%add156.3.1 = add nsw i32 %mul155.3.1, %338 | |
%mul157.3.1 = shl nsw i32 %add156.3.1, 1 | |
%432 = sext i32 %mul157.3.1 to i64 | |
%arrayidx158.3.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %432 | |
%433 = load float, float addrspace(2)* %arrayidx158.3.1, align 4, !tbaa !39 | |
%add162.3.1 = or i32 %mul157.3.1, 1 | |
%434 = sext i32 %add162.3.1 to i64 | |
%arrayidx163.3.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %434 | |
%435 = load float, float addrspace(2)* %arrayidx163.3.1, align 4, !tbaa !39 | |
%sub164.3.1 = fsub float 1.000000e+00, %cond.3.1 | |
%436 = tail call float @llvm.fmuladd.f32(float %sub164.3.1, float 0x3D71979980000000, float %429) | |
%cmp.i.i.3.1 = fcmp olt float %436, 0.000000e+00 | |
%call.i.i.3.1 = tail call float @llvm.sqrt.f32(float %436) #6 | |
%call.i.i.op.3.1 = fdiv float 1.000000e+00, %call.i.i.3.1 | |
%div167.3.1 = select i1 %cmp.i.i.3.1, float 0x7FF8000000000000, float %call.i.i.op.3.1 | |
%mul168.3.1 = fmul float %div167.3.1, %div167.3.1 | |
%mul169.3.1 = fmul float %mul168.3.1, %mul168.3.1 | |
%mul170.3.1 = fmul float %mul168.3.1, %mul169.3.1 | |
%mul171.3.1 = fmul float %cond.3.1, %mul170.3.1 | |
%neg.3.1 = fsub float -0.000000e+00, %433 | |
%437 = tail call float @llvm.fmuladd.f32(float %435, float %mul171.3.1, float %neg.3.1) | |
%mul173.3.1 = fmul float %mul171.3.1, %437 | |
%mul174.3.1 = fmul float %mul168.3.1, %mul173.3.1 | |
%cmp175.3.1 = fcmp olt float %436, %nbparam_params_rvdw_sq | |
%cond177.3.1 = select i1 %cmp175.3.1, float 1.000000e+00, float 0.000000e+00 | |
%mul178.3.1 = fmul float %cond177.3.1, %mul174.3.1 | |
%mul179.3.1 = fmul float %337, %430 | |
%mul180.3.1 = fmul float %cond.3.1, %mul168.3.1 | |
%mul182.3.1 = fmul float %mul, %436 | |
%mul.i.3.1 = fmul float %mul182.3.1, %mul182.3.1 | |
%438 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3.1, float 0x3FBDA79640000000) #5 | |
%439 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3.1, float 0x3FE03C5780000000) #5 | |
%440 = tail call float @llvm.fmuladd.f32(float %438, float %mul.i.3.1, float 1.000000e+00) #5 | |
%441 = tail call float @llvm.fmuladd.f32(float %439, float %mul182.3.1, float %440) #5 | |
%div.i.3.1 = fdiv float 1.000000e+00, %441, !fpmath !46 | |
%442 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3.1, float 0xBF0BFF7260000000) #5 | |
%443 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3.1, float 0x3F50794180000000) #5 | |
%444 = tail call float @llvm.fmuladd.f32(float %442, float %mul.i.3.1, float 0xBF93BDB200000000) #5 | |
%445 = tail call float @llvm.fmuladd.f32(float %443, float %mul.i.3.1, float 0x3FB1D5E760000000) #5 | |
%446 = tail call float @llvm.fmuladd.f32(float %444, float %mul.i.3.1, float 0xBFE81272E0000000) #5 | |
%447 = tail call float @llvm.fmuladd.f32(float %445, float %mul182.3.1, float %446) #5 | |
%mul11.i.3.1 = fmul float %447, %div.i.3.1 | |
%mul184.3.1 = fmul float %mul21, %mul11.i.3.1 | |
%448 = tail call float @llvm.fmuladd.f32(float %mul180.3.1, float %div167.3.1, float %mul184.3.1) | |
%449 = tail call float @llvm.fmuladd.f32(float %mul179.3.1, float %448, float %mul178.3.1) | |
%splat.splatinsert.3.1 = insertelement <3 x float> undef, float %449, i32 0 | |
%splat.splat.3.1 = shufflevector <3 x float> %splat.splatinsert.3.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.3.1 = fmul <3 x float> %extractVec137.3.1, %splat.splat.3.1 | |
%extractVec197.3.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.3.1 = fsub <3 x float> %extractVec197.3.1, %mul189.3.1 | |
%extractVec199.3.1 = shufflevector <3 x float> %sub198.3.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.3.1 = shufflevector <4 x float> %loadVec4206.3.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.3.1 = fadd <3 x float> %extractVec207.3.1, %mul189.3.1 | |
%extractVec209.3.1 = shufflevector <3 x float> %add208.3.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.3.1 | |
if.end212.3.1: ; preds = %if.then153.3.1, %if.then119.3.1, %if.end212.2.1 | |
%450 = phi <3 x float> [ %add208.3.1, %if.then153.3.1 ], [ %85, %if.then119.3.1 ], [ %85, %if.end212.2.1 ] | |
%loadVec4206.3713 = phi <4 x float> [ %extractVec209.3.1, %if.then153.3.1 ], [ %loadVec4206.3.1, %if.then119.3.1 ], [ %loadVec4206.3.1, %if.end212.2.1 ] | |
%fcj_buf.sroa.0.1.3.1 = phi <4 x float> [ %extractVec199.3.1, %if.then153.3.1 ], [ %fcj_buf.sroa.0.1.2.1, %if.then119.3.1 ], [ %fcj_buf.sroa.0.1.2.1, %if.end212.2.1 ] | |
%and117.4.1 = and i32 %45, 4096 | |
%tobool118.4.1 = icmp eq i32 %and117.4.1, 0 | |
br i1 %tobool118.4.1, label %if.end212.4.1, label %if.then119.4.1 | |
if.then119.4.1: ; preds = %if.end212.3.1 | |
%451 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.4.3, align 16, !tbaa !36 | |
%452 = fsub <4 x float> %451, %336 | |
%453 = extractelement <4 x float> %452, i32 0 | |
%454 = extractelement <4 x float> %452, i32 1 | |
%mul3.i.i.4.1 = fmul float %454, %454 | |
%455 = tail call float @llvm.fmuladd.f32(float %453, float %453, float %mul3.i.i.4.1) #5 | |
%456 = extractelement <4 x float> %452, i32 2 | |
%457 = tail call float @llvm.fmuladd.f32(float %456, float %456, float %455) #5 | |
%and139.4.1 = and i32 %47, 4096 | |
%tobool140.4.1 = icmp ne i32 %and139.4.1, 0 | |
%cond.4.1 = select i1 %tobool140.4.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.4.1 = icmp ne i32 %28, %334 | |
%not.or.cond.4.1 = or i1 %notlhs, %notrhs.4.1 | |
%cmp147..4.1 = or i1 %cmp147, %not.or.cond.4.1 | |
%conv149.4.1 = uitofp i1 %cmp147..4.1 to float | |
%mul150.4.1 = fmul float %conv149.4.1, %nbparam_params_rcoulomb_sq | |
%cmp151.4.1 = fcmp olt float %457, %mul150.4.1 | |
br i1 %cmp151.4.1, label %if.then153.4.1, label %if.end212.4.1 | |
if.then153.4.1: ; preds = %if.then119.4.1 | |
%extractVec137.4.1 = shufflevector <4 x float> %452, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%458 = extractelement <4 x float> %451, i32 3 | |
%459 = load i32, i32 addrspace(1)* %arrayidx154.4.3, align 4, !tbaa !41 | |
%mul155.4.1 = mul nsw i32 %459, %ntypes | |
%add156.4.1 = add nsw i32 %mul155.4.1, %338 | |
%mul157.4.1 = shl nsw i32 %add156.4.1, 1 | |
%460 = sext i32 %mul157.4.1 to i64 | |
%arrayidx158.4.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %460 | |
%461 = load float, float addrspace(2)* %arrayidx158.4.1, align 4, !tbaa !39 | |
%add162.4.1 = or i32 %mul157.4.1, 1 | |
%462 = sext i32 %add162.4.1 to i64 | |
%arrayidx163.4.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %462 | |
%463 = load float, float addrspace(2)* %arrayidx163.4.1, align 4, !tbaa !39 | |
%sub164.4.1 = fsub float 1.000000e+00, %cond.4.1 | |
%464 = tail call float @llvm.fmuladd.f32(float %sub164.4.1, float 0x3D71979980000000, float %457) | |
%cmp.i.i.4.1 = fcmp olt float %464, 0.000000e+00 | |
%call.i.i.4.1 = tail call float @llvm.sqrt.f32(float %464) #6 | |
%call.i.i.op.4.1 = fdiv float 1.000000e+00, %call.i.i.4.1 | |
%div167.4.1 = select i1 %cmp.i.i.4.1, float 0x7FF8000000000000, float %call.i.i.op.4.1 | |
%mul168.4.1 = fmul float %div167.4.1, %div167.4.1 | |
%mul169.4.1 = fmul float %mul168.4.1, %mul168.4.1 | |
%mul170.4.1 = fmul float %mul168.4.1, %mul169.4.1 | |
%mul171.4.1 = fmul float %cond.4.1, %mul170.4.1 | |
%neg.4.1 = fsub float -0.000000e+00, %461 | |
%465 = tail call float @llvm.fmuladd.f32(float %463, float %mul171.4.1, float %neg.4.1) | |
%mul173.4.1 = fmul float %mul171.4.1, %465 | |
%mul174.4.1 = fmul float %mul168.4.1, %mul173.4.1 | |
%cmp175.4.1 = fcmp olt float %464, %nbparam_params_rvdw_sq | |
%cond177.4.1 = select i1 %cmp175.4.1, float 1.000000e+00, float 0.000000e+00 | |
%mul178.4.1 = fmul float %cond177.4.1, %mul174.4.1 | |
%mul179.4.1 = fmul float %337, %458 | |
%mul180.4.1 = fmul float %cond.4.1, %mul168.4.1 | |
%mul182.4.1 = fmul float %mul, %464 | |
%mul.i.4.1 = fmul float %mul182.4.1, %mul182.4.1 | |
%466 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.4.1, float 0x3FBDA79640000000) #5 | |
%467 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.4.1, float 0x3FE03C5780000000) #5 | |
%468 = tail call float @llvm.fmuladd.f32(float %466, float %mul.i.4.1, float 1.000000e+00) #5 | |
%469 = tail call float @llvm.fmuladd.f32(float %467, float %mul182.4.1, float %468) #5 | |
%div.i.4.1 = fdiv float 1.000000e+00, %469, !fpmath !46 | |
%470 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.4.1, float 0xBF0BFF7260000000) #5 | |
%471 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.4.1, float 0x3F50794180000000) #5 | |
%472 = tail call float @llvm.fmuladd.f32(float %470, float %mul.i.4.1, float 0xBF93BDB200000000) #5 | |
%473 = tail call float @llvm.fmuladd.f32(float %471, float %mul.i.4.1, float 0x3FB1D5E760000000) #5 | |
%474 = tail call float @llvm.fmuladd.f32(float %472, float %mul.i.4.1, float 0xBFE81272E0000000) #5 | |
%475 = tail call float @llvm.fmuladd.f32(float %473, float %mul182.4.1, float %474) #5 | |
%mul11.i.4.1 = fmul float %475, %div.i.4.1 | |
%mul184.4.1 = fmul float %mul21, %mul11.i.4.1 | |
%476 = tail call float @llvm.fmuladd.f32(float %mul180.4.1, float %div167.4.1, float %mul184.4.1) | |
%477 = tail call float @llvm.fmuladd.f32(float %mul179.4.1, float %476, float %mul178.4.1) | |
%splat.splatinsert.4.1 = insertelement <3 x float> undef, float %477, i32 0 | |
%splat.splat.4.1 = shufflevector <3 x float> %splat.splatinsert.4.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.4.1 = fmul <3 x float> %extractVec137.4.1, %splat.splat.4.1 | |
%extractVec197.4.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.4.1 = fsub <3 x float> %extractVec197.4.1, %mul189.4.1 | |
%extractVec199.4.1 = shufflevector <3 x float> %sub198.4.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.4.1 = shufflevector <4 x float> %loadVec4206.4.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.4.1 = fadd <3 x float> %extractVec207.4.1, %mul189.4.1 | |
%extractVec209.4.1 = shufflevector <3 x float> %add208.4.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.4.1 | |
if.end212.4.1: ; preds = %if.then153.4.1, %if.then119.4.1, %if.end212.3.1 | |
%478 = phi <3 x float> [ %add208.4.1, %if.then153.4.1 ], [ %84, %if.then119.4.1 ], [ %84, %if.end212.3.1 ] | |
%loadVec4206.4723 = phi <4 x float> [ %extractVec209.4.1, %if.then153.4.1 ], [ %loadVec4206.4.1, %if.then119.4.1 ], [ %loadVec4206.4.1, %if.end212.3.1 ] | |
%fcj_buf.sroa.0.1.4.1 = phi <4 x float> [ %extractVec199.4.1, %if.then153.4.1 ], [ %fcj_buf.sroa.0.1.3.1, %if.then119.4.1 ], [ %fcj_buf.sroa.0.1.3.1, %if.end212.3.1 ] | |
%and117.5.1 = and i32 %45, 8192 | |
%tobool118.5.1 = icmp eq i32 %and117.5.1, 0 | |
br i1 %tobool118.5.1, label %if.end212.5.1, label %if.then119.5.1 | |
if.then119.5.1: ; preds = %if.end212.4.1 | |
%479 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.5.3, align 16, !tbaa !36 | |
%480 = fsub <4 x float> %479, %336 | |
%481 = extractelement <4 x float> %480, i32 0 | |
%482 = extractelement <4 x float> %480, i32 1 | |
%mul3.i.i.5.1 = fmul float %482, %482 | |
%483 = tail call float @llvm.fmuladd.f32(float %481, float %481, float %mul3.i.i.5.1) #5 | |
%484 = extractelement <4 x float> %480, i32 2 | |
%485 = tail call float @llvm.fmuladd.f32(float %484, float %484, float %483) #5 | |
%and139.5.1 = and i32 %47, 8192 | |
%tobool140.5.1 = icmp ne i32 %and139.5.1, 0 | |
%cond.5.1 = select i1 %tobool140.5.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.5.1 = icmp ne i32 %26, %334 | |
%not.or.cond.5.1 = or i1 %notlhs, %notrhs.5.1 | |
%cmp147..5.1 = or i1 %cmp147, %not.or.cond.5.1 | |
%conv149.5.1 = uitofp i1 %cmp147..5.1 to float | |
%mul150.5.1 = fmul float %conv149.5.1, %nbparam_params_rcoulomb_sq | |
%cmp151.5.1 = fcmp olt float %485, %mul150.5.1 | |
br i1 %cmp151.5.1, label %if.then153.5.1, label %if.end212.5.1 | |
if.then153.5.1: ; preds = %if.then119.5.1 | |
%extractVec137.5.1 = shufflevector <4 x float> %480, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%486 = extractelement <4 x float> %479, i32 3 | |
%487 = load i32, i32 addrspace(1)* %arrayidx154.5.3, align 4, !tbaa !41 | |
%mul155.5.1 = mul nsw i32 %487, %ntypes | |
%add156.5.1 = add nsw i32 %mul155.5.1, %338 | |
%mul157.5.1 = shl nsw i32 %add156.5.1, 1 | |
%488 = sext i32 %mul157.5.1 to i64 | |
%arrayidx158.5.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %488 | |
%489 = load float, float addrspace(2)* %arrayidx158.5.1, align 4, !tbaa !39 | |
%add162.5.1 = or i32 %mul157.5.1, 1 | |
%490 = sext i32 %add162.5.1 to i64 | |
%arrayidx163.5.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %490 | |
%491 = load float, float addrspace(2)* %arrayidx163.5.1, align 4, !tbaa !39 | |
%sub164.5.1 = fsub float 1.000000e+00, %cond.5.1 | |
%492 = tail call float @llvm.fmuladd.f32(float %sub164.5.1, float 0x3D71979980000000, float %485) | |
%cmp.i.i.5.1 = fcmp olt float %492, 0.000000e+00 | |
%call.i.i.5.1 = tail call float @llvm.sqrt.f32(float %492) #6 | |
%call.i.i.op.5.1 = fdiv float 1.000000e+00, %call.i.i.5.1 | |
%div167.5.1 = select i1 %cmp.i.i.5.1, float 0x7FF8000000000000, float %call.i.i.op.5.1 | |
%mul168.5.1 = fmul float %div167.5.1, %div167.5.1 | |
%mul169.5.1 = fmul float %mul168.5.1, %mul168.5.1 | |
%mul170.5.1 = fmul float %mul168.5.1, %mul169.5.1 | |
%mul171.5.1 = fmul float %cond.5.1, %mul170.5.1 | |
%neg.5.1 = fsub float -0.000000e+00, %489 | |
%493 = tail call float @llvm.fmuladd.f32(float %491, float %mul171.5.1, float %neg.5.1) | |
%mul173.5.1 = fmul float %mul171.5.1, %493 | |
%mul174.5.1 = fmul float %mul168.5.1, %mul173.5.1 | |
%cmp175.5.1 = fcmp olt float %492, %nbparam_params_rvdw_sq | |
%cond177.5.1 = select i1 %cmp175.5.1, float 1.000000e+00, float 0.000000e+00 | |
%mul178.5.1 = fmul float %cond177.5.1, %mul174.5.1 | |
%mul179.5.1 = fmul float %337, %486 | |
%mul180.5.1 = fmul float %cond.5.1, %mul168.5.1 | |
%mul182.5.1 = fmul float %mul, %492 | |
%mul.i.5.1 = fmul float %mul182.5.1, %mul182.5.1 | |
%494 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.5.1, float 0x3FBDA79640000000) #5 | |
%495 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.5.1, float 0x3FE03C5780000000) #5 | |
%496 = tail call float @llvm.fmuladd.f32(float %494, float %mul.i.5.1, float 1.000000e+00) #5 | |
%497 = tail call float @llvm.fmuladd.f32(float %495, float %mul182.5.1, float %496) #5 | |
%div.i.5.1 = fdiv float 1.000000e+00, %497, !fpmath !46 | |
%498 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.5.1, float 0xBF0BFF7260000000) #5 | |
%499 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.5.1, float 0x3F50794180000000) #5 | |
%500 = tail call float @llvm.fmuladd.f32(float %498, float %mul.i.5.1, float 0xBF93BDB200000000) #5 | |
%501 = tail call float @llvm.fmuladd.f32(float %499, float %mul.i.5.1, float 0x3FB1D5E760000000) #5 | |
%502 = tail call float @llvm.fmuladd.f32(float %500, float %mul.i.5.1, float 0xBFE81272E0000000) #5 | |
%503 = tail call float @llvm.fmuladd.f32(float %501, float %mul182.5.1, float %502) #5 | |
%mul11.i.5.1 = fmul float %503, %div.i.5.1 | |
%mul184.5.1 = fmul float %mul21, %mul11.i.5.1 | |
%504 = tail call float @llvm.fmuladd.f32(float %mul180.5.1, float %div167.5.1, float %mul184.5.1) | |
%505 = tail call float @llvm.fmuladd.f32(float %mul179.5.1, float %504, float %mul178.5.1) | |
%splat.splatinsert.5.1 = insertelement <3 x float> undef, float %505, i32 0 | |
%splat.splat.5.1 = shufflevector <3 x float> %splat.splatinsert.5.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.5.1 = fmul <3 x float> %extractVec137.5.1, %splat.splat.5.1 | |
%extractVec197.5.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.5.1 = fsub <3 x float> %extractVec197.5.1, %mul189.5.1 | |
%extractVec199.5.1 = shufflevector <3 x float> %sub198.5.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.5.1 = shufflevector <4 x float> %loadVec4206.5.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.5.1 = fadd <3 x float> %extractVec207.5.1, %mul189.5.1 | |
%extractVec209.5.1 = shufflevector <3 x float> %add208.5.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.5.1 | |
if.end212.5.1: ; preds = %if.then153.5.1, %if.then119.5.1, %if.end212.4.1 | |
%506 = phi <3 x float> [ %add208.5.1, %if.then153.5.1 ], [ %83, %if.then119.5.1 ], [ %83, %if.end212.4.1 ] | |
%loadVec4206.5733 = phi <4 x float> [ %extractVec209.5.1, %if.then153.5.1 ], [ %loadVec4206.5.1, %if.then119.5.1 ], [ %loadVec4206.5.1, %if.end212.4.1 ] | |
%fcj_buf.sroa.0.1.5.1 = phi <4 x float> [ %extractVec199.5.1, %if.then153.5.1 ], [ %fcj_buf.sroa.0.1.4.1, %if.then119.5.1 ], [ %fcj_buf.sroa.0.1.4.1, %if.end212.4.1 ] | |
%and117.6.1 = and i32 %45, 16384 | |
%tobool118.6.1 = icmp eq i32 %and117.6.1, 0 | |
br i1 %tobool118.6.1, label %if.end212.6.1, label %if.then119.6.1 | |
if.then119.6.1: ; preds = %if.end212.5.1 | |
%507 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.6.3, align 16, !tbaa !36 | |
%508 = fsub <4 x float> %507, %336 | |
%509 = extractelement <4 x float> %508, i32 0 | |
%510 = extractelement <4 x float> %508, i32 1 | |
%mul3.i.i.6.1 = fmul float %510, %510 | |
%511 = tail call float @llvm.fmuladd.f32(float %509, float %509, float %mul3.i.i.6.1) #5 | |
%512 = extractelement <4 x float> %508, i32 2 | |
%513 = tail call float @llvm.fmuladd.f32(float %512, float %512, float %511) #5 | |
%and139.6.1 = and i32 %47, 16384 | |
%tobool140.6.1 = icmp ne i32 %and139.6.1, 0 | |
%cond.6.1 = select i1 %tobool140.6.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.6.1 = icmp ne i32 %24, %334 | |
%not.or.cond.6.1 = or i1 %notlhs, %notrhs.6.1 | |
%cmp147..6.1 = or i1 %cmp147, %not.or.cond.6.1 | |
%conv149.6.1 = uitofp i1 %cmp147..6.1 to float | |
%mul150.6.1 = fmul float %conv149.6.1, %nbparam_params_rcoulomb_sq | |
%cmp151.6.1 = fcmp olt float %513, %mul150.6.1 | |
br i1 %cmp151.6.1, label %if.then153.6.1, label %if.end212.6.1 | |
if.then153.6.1: ; preds = %if.then119.6.1 | |
%extractVec137.6.1 = shufflevector <4 x float> %508, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%514 = extractelement <4 x float> %507, i32 3 | |
%515 = load i32, i32 addrspace(1)* %arrayidx154.6.3, align 4, !tbaa !41 | |
%mul155.6.1 = mul nsw i32 %515, %ntypes | |
%add156.6.1 = add nsw i32 %mul155.6.1, %338 | |
%mul157.6.1 = shl nsw i32 %add156.6.1, 1 | |
%516 = sext i32 %mul157.6.1 to i64 | |
%arrayidx158.6.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %516 | |
%517 = load float, float addrspace(2)* %arrayidx158.6.1, align 4, !tbaa !39 | |
%add162.6.1 = or i32 %mul157.6.1, 1 | |
%518 = sext i32 %add162.6.1 to i64 | |
%arrayidx163.6.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %518 | |
%519 = load float, float addrspace(2)* %arrayidx163.6.1, align 4, !tbaa !39 | |
%sub164.6.1 = fsub float 1.000000e+00, %cond.6.1 | |
%520 = tail call float @llvm.fmuladd.f32(float %sub164.6.1, float 0x3D71979980000000, float %513) | |
%cmp.i.i.6.1 = fcmp olt float %520, 0.000000e+00 | |
%call.i.i.6.1 = tail call float @llvm.sqrt.f32(float %520) #6 | |
%call.i.i.op.6.1 = fdiv float 1.000000e+00, %call.i.i.6.1 | |
%div167.6.1 = select i1 %cmp.i.i.6.1, float 0x7FF8000000000000, float %call.i.i.op.6.1 | |
%mul168.6.1 = fmul float %div167.6.1, %div167.6.1 | |
%mul169.6.1 = fmul float %mul168.6.1, %mul168.6.1 | |
%mul170.6.1 = fmul float %mul168.6.1, %mul169.6.1 | |
%mul171.6.1 = fmul float %cond.6.1, %mul170.6.1 | |
%neg.6.1 = fsub float -0.000000e+00, %517 | |
%521 = tail call float @llvm.fmuladd.f32(float %519, float %mul171.6.1, float %neg.6.1) | |
%mul173.6.1 = fmul float %mul171.6.1, %521 | |
%mul174.6.1 = fmul float %mul168.6.1, %mul173.6.1 | |
%cmp175.6.1 = fcmp olt float %520, %nbparam_params_rvdw_sq | |
%cond177.6.1 = select i1 %cmp175.6.1, float 1.000000e+00, float 0.000000e+00 | |
%mul178.6.1 = fmul float %cond177.6.1, %mul174.6.1 | |
%mul179.6.1 = fmul float %337, %514 | |
%mul180.6.1 = fmul float %cond.6.1, %mul168.6.1 | |
%mul182.6.1 = fmul float %mul, %520 | |
%mul.i.6.1 = fmul float %mul182.6.1, %mul182.6.1 | |
%522 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.6.1, float 0x3FBDA79640000000) #5 | |
%523 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.6.1, float 0x3FE03C5780000000) #5 | |
%524 = tail call float @llvm.fmuladd.f32(float %522, float %mul.i.6.1, float 1.000000e+00) #5 | |
%525 = tail call float @llvm.fmuladd.f32(float %523, float %mul182.6.1, float %524) #5 | |
%div.i.6.1 = fdiv float 1.000000e+00, %525, !fpmath !46 | |
%526 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.6.1, float 0xBF0BFF7260000000) #5 | |
%527 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.6.1, float 0x3F50794180000000) #5 | |
%528 = tail call float @llvm.fmuladd.f32(float %526, float %mul.i.6.1, float 0xBF93BDB200000000) #5 | |
%529 = tail call float @llvm.fmuladd.f32(float %527, float %mul.i.6.1, float 0x3FB1D5E760000000) #5 | |
%530 = tail call float @llvm.fmuladd.f32(float %528, float %mul.i.6.1, float 0xBFE81272E0000000) #5 | |
%531 = tail call float @llvm.fmuladd.f32(float %529, float %mul182.6.1, float %530) #5 | |
%mul11.i.6.1 = fmul float %531, %div.i.6.1 | |
%mul184.6.1 = fmul float %mul21, %mul11.i.6.1 | |
%532 = tail call float @llvm.fmuladd.f32(float %mul180.6.1, float %div167.6.1, float %mul184.6.1) | |
%533 = tail call float @llvm.fmuladd.f32(float %mul179.6.1, float %532, float %mul178.6.1) | |
%splat.splatinsert.6.1 = insertelement <3 x float> undef, float %533, i32 0 | |
%splat.splat.6.1 = shufflevector <3 x float> %splat.splatinsert.6.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.6.1 = fmul <3 x float> %extractVec137.6.1, %splat.splat.6.1 | |
%extractVec197.6.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.6.1 = fsub <3 x float> %extractVec197.6.1, %mul189.6.1 | |
%extractVec199.6.1 = shufflevector <3 x float> %sub198.6.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.6.1 = shufflevector <4 x float> %loadVec4206.6.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.6.1 = fadd <3 x float> %extractVec207.6.1, %mul189.6.1 | |
%extractVec209.6.1 = shufflevector <3 x float> %add208.6.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.6.1 | |
if.end212.6.1: ; preds = %if.then153.6.1, %if.then119.6.1, %if.end212.5.1 | |
%534 = phi <3 x float> [ %add208.6.1, %if.then153.6.1 ], [ %82, %if.then119.6.1 ], [ %82, %if.end212.5.1 ] | |
%loadVec4206.6743 = phi <4 x float> [ %extractVec209.6.1, %if.then153.6.1 ], [ %loadVec4206.6.1, %if.then119.6.1 ], [ %loadVec4206.6.1, %if.end212.5.1 ] | |
%fcj_buf.sroa.0.1.6.1 = phi <4 x float> [ %extractVec199.6.1, %if.then153.6.1 ], [ %fcj_buf.sroa.0.1.5.1, %if.then119.6.1 ], [ %fcj_buf.sroa.0.1.5.1, %if.end212.5.1 ] | |
%and117.7.1 = and i32 %45, 32768 | |
%tobool118.7.1 = icmp eq i32 %and117.7.1, 0 | |
br i1 %tobool118.7.1, label %if.end212.7.1, label %if.then119.7.1 | |
if.then119.7.1: ; preds = %if.end212.6.1 | |
%535 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.7.3, align 16, !tbaa !36 | |
%536 = fsub <4 x float> %535, %336 | |
%537 = extractelement <4 x float> %536, i32 0 | |
%538 = extractelement <4 x float> %536, i32 1 | |
%mul3.i.i.7.1 = fmul float %538, %538 | |
%539 = tail call float @llvm.fmuladd.f32(float %537, float %537, float %mul3.i.i.7.1) #5 | |
%540 = extractelement <4 x float> %536, i32 2 | |
%541 = tail call float @llvm.fmuladd.f32(float %540, float %540, float %539) #5 | |
%and139.7.1 = and i32 %47, 32768 | |
%tobool140.7.1 = icmp ne i32 %and139.7.1, 0 | |
%cond.7.1 = select i1 %tobool140.7.1, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.7.1 = icmp ne i32 %22, %334 | |
%not.or.cond.7.1 = or i1 %notlhs, %notrhs.7.1 | |
%cmp147..7.1 = or i1 %cmp147, %not.or.cond.7.1 | |
%conv149.7.1 = uitofp i1 %cmp147..7.1 to float | |
%mul150.7.1 = fmul float %conv149.7.1, %nbparam_params_rcoulomb_sq | |
%cmp151.7.1 = fcmp olt float %541, %mul150.7.1 | |
br i1 %cmp151.7.1, label %if.then153.7.1, label %if.end212.7.1 | |
if.then153.7.1: ; preds = %if.then119.7.1 | |
%extractVec137.7.1 = shufflevector <4 x float> %536, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%542 = extractelement <4 x float> %535, i32 3 | |
%543 = load i32, i32 addrspace(1)* %arrayidx154.7.3, align 4, !tbaa !41 | |
%mul155.7.1 = mul nsw i32 %543, %ntypes | |
%add156.7.1 = add nsw i32 %mul155.7.1, %338 | |
%mul157.7.1 = shl nsw i32 %add156.7.1, 1 | |
%544 = sext i32 %mul157.7.1 to i64 | |
%arrayidx158.7.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %544 | |
%545 = load float, float addrspace(2)* %arrayidx158.7.1, align 4, !tbaa !39 | |
%add162.7.1 = or i32 %mul157.7.1, 1 | |
%546 = sext i32 %add162.7.1 to i64 | |
%arrayidx163.7.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %546 | |
%547 = load float, float addrspace(2)* %arrayidx163.7.1, align 4, !tbaa !39 | |
%sub164.7.1 = fsub float 1.000000e+00, %cond.7.1 | |
%548 = tail call float @llvm.fmuladd.f32(float %sub164.7.1, float 0x3D71979980000000, float %541) | |
%cmp.i.i.7.1 = fcmp olt float %548, 0.000000e+00 | |
%call.i.i.7.1 = tail call float @llvm.sqrt.f32(float %548) #6 | |
%call.i.i.op.7.1 = fdiv float 1.000000e+00, %call.i.i.7.1 | |
%div167.7.1 = select i1 %cmp.i.i.7.1, float 0x7FF8000000000000, float %call.i.i.op.7.1 | |
%mul168.7.1 = fmul float %div167.7.1, %div167.7.1 | |
%mul169.7.1 = fmul float %mul168.7.1, %mul168.7.1 | |
%mul170.7.1 = fmul float %mul168.7.1, %mul169.7.1 | |
%mul171.7.1 = fmul float %cond.7.1, %mul170.7.1 | |
%neg.7.1 = fsub float -0.000000e+00, %545 | |
%549 = tail call float @llvm.fmuladd.f32(float %547, float %mul171.7.1, float %neg.7.1) | |
%mul173.7.1 = fmul float %mul171.7.1, %549 | |
%mul174.7.1 = fmul float %mul168.7.1, %mul173.7.1 | |
%cmp175.7.1 = fcmp olt float %548, %nbparam_params_rvdw_sq | |
%cond177.7.1 = select i1 %cmp175.7.1, float 1.000000e+00, float 0.000000e+00 | |
%mul178.7.1 = fmul float %cond177.7.1, %mul174.7.1 | |
%mul179.7.1 = fmul float %337, %542 | |
%mul180.7.1 = fmul float %cond.7.1, %mul168.7.1 | |
%mul182.7.1 = fmul float %mul, %548 | |
%mul.i.7.1 = fmul float %mul182.7.1, %mul182.7.1 | |
%550 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.7.1, float 0x3FBDA79640000000) #5 | |
%551 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.7.1, float 0x3FE03C5780000000) #5 | |
%552 = tail call float @llvm.fmuladd.f32(float %550, float %mul.i.7.1, float 1.000000e+00) #5 | |
%553 = tail call float @llvm.fmuladd.f32(float %551, float %mul182.7.1, float %552) #5 | |
%div.i.7.1 = fdiv float 1.000000e+00, %553, !fpmath !46 | |
%554 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.7.1, float 0xBF0BFF7260000000) #5 | |
%555 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.7.1, float 0x3F50794180000000) #5 | |
%556 = tail call float @llvm.fmuladd.f32(float %554, float %mul.i.7.1, float 0xBF93BDB200000000) #5 | |
%557 = tail call float @llvm.fmuladd.f32(float %555, float %mul.i.7.1, float 0x3FB1D5E760000000) #5 | |
%558 = tail call float @llvm.fmuladd.f32(float %556, float %mul.i.7.1, float 0xBFE81272E0000000) #5 | |
%559 = tail call float @llvm.fmuladd.f32(float %557, float %mul182.7.1, float %558) #5 | |
%mul11.i.7.1 = fmul float %559, %div.i.7.1 | |
%mul184.7.1 = fmul float %mul21, %mul11.i.7.1 | |
%560 = tail call float @llvm.fmuladd.f32(float %mul180.7.1, float %div167.7.1, float %mul184.7.1) | |
%561 = tail call float @llvm.fmuladd.f32(float %mul179.7.1, float %560, float %mul178.7.1) | |
%splat.splatinsert.7.1 = insertelement <3 x float> undef, float %561, i32 0 | |
%splat.splat.7.1 = shufflevector <3 x float> %splat.splatinsert.7.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.7.1 = fmul <3 x float> %extractVec137.7.1, %splat.splat.7.1 | |
%extractVec197.7.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.7.1 = fsub <3 x float> %extractVec197.7.1, %mul189.7.1 | |
%extractVec199.7.1 = shufflevector <3 x float> %sub198.7.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.7.1 = shufflevector <4 x float> %loadVec4206.7.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.7.1 = fadd <3 x float> %extractVec207.7.1, %mul189.7.1 | |
%extractVec209.7.1 = shufflevector <3 x float> %add208.7.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.7.1 | |
if.end212.7.1: ; preds = %if.then153.7.1, %if.then119.7.1, %if.end212.6.1 | |
%fci_buf.sroa.37.5 = phi <4 x float> [ %fci_buf.sroa.37.1, %if.end212.6.1 ], [ %extractVec209.7.1, %if.then153.7.1 ], [ %fci_buf.sroa.37.1, %if.then119.7.1 ] | |
%loadVec4206.7753 = phi <4 x float> [ %loadVec4206.7.1, %if.end212.6.1 ], [ %extractVec209.7.1, %if.then153.7.1 ], [ %loadVec4206.7.1, %if.then119.7.1 ] | |
%fcj_buf.sroa.0.1.7.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.1, %if.end212.6.1 ], [ %extractVec199.7.1, %if.then153.7.1 ], [ %fcj_buf.sroa.0.1.6.1, %if.then119.7.1 ] | |
%562 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 0 | |
store float %562, float addrspace(3)* %arrayidx217, align 4, !tbaa !39 | |
%563 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 1 | |
store float %563, float addrspace(3)* %arrayidx219, align 4, !tbaa !39 | |
%564 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 2 | |
store float %564, float addrspace(3)* %arrayidx221, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add108.1) | |
br label %for.inc223.1 | |
for.inc223.1: ; preds = %if.end212.7.1, %for.inc223 | |
%fci_buf.sroa.37.6 = phi <4 x float> [ %fci_buf.sroa.37.1, %for.inc223 ], [ %fci_buf.sroa.37.5, %if.end212.7.1 ] | |
%565 = phi <3 x float> [ %82, %for.inc223 ], [ %534, %if.end212.7.1 ] | |
%566 = phi <3 x float> [ %83, %for.inc223 ], [ %506, %if.end212.7.1 ] | |
%567 = phi <3 x float> [ %84, %for.inc223 ], [ %478, %if.end212.7.1 ] | |
%568 = phi <3 x float> [ %85, %for.inc223 ], [ %450, %if.end212.7.1 ] | |
%569 = phi <3 x float> [ %86, %for.inc223 ], [ %422, %if.end212.7.1 ] | |
%570 = phi <3 x float> [ %87, %for.inc223 ], [ %394, %if.end212.7.1 ] | |
%571 = phi <3 x float> [ %88, %for.inc223 ], [ %366, %if.end212.7.1 ] | |
%loadVec4206.7.2 = phi <4 x float> [ %loadVec4206.7.1, %for.inc223 ], [ %loadVec4206.7753, %if.end212.7.1 ] | |
%loadVec4206.6.2 = phi <4 x float> [ %loadVec4206.6.1, %for.inc223 ], [ %loadVec4206.6743, %if.end212.7.1 ] | |
%loadVec4206.5.2 = phi <4 x float> [ %loadVec4206.5.1, %for.inc223 ], [ %loadVec4206.5733, %if.end212.7.1 ] | |
%loadVec4206.4.2 = phi <4 x float> [ %loadVec4206.4.1, %for.inc223 ], [ %loadVec4206.4723, %if.end212.7.1 ] | |
%loadVec4206.3.2 = phi <4 x float> [ %loadVec4206.3.1, %for.inc223 ], [ %loadVec4206.3713, %if.end212.7.1 ] | |
%loadVec4206.2.2 = phi <4 x float> [ %loadVec4206.2.1, %for.inc223 ], [ %loadVec4206.2703, %if.end212.7.1 ] | |
%loadVec4206.1.2 = phi <4 x float> [ %loadVec4206.1.1, %for.inc223 ], [ %loadVec4206.1693, %if.end212.7.1 ] | |
%loadVec4206.2613 = phi <4 x float> [ %loadVec4206.1552, %for.inc223 ], [ %loadVec4206683, %if.end212.7.1 ] | |
%and96.2 = and i32 %45, 16711680 | |
%tobool97.2 = icmp eq i32 %and96.2, 0 | |
br i1 %tobool97.2, label %for.inc223.2, label %if.then98.2 | |
if.then98.2: ; preds = %for.inc223.1 | |
%572 = load i32, i32 addrspace(3)* %arrayidx106.2, align 4, !tbaa !41 | |
%mul107.2 = shl nsw i32 %572, 3 | |
%add108.2 = add i32 %mul107.2, %y.i | |
%573 = sext i32 %add108.2 to i64 | |
%arrayidx109.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %573 | |
%574 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx109.2, align 16, !tbaa !36 | |
%575 = extractelement <4 x float> %574, i32 3 | |
%arrayidx111.2 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %573 | |
%576 = load i32, i32 addrspace(1)* %arrayidx111.2, align 4, !tbaa !41 | |
%and117.2560 = and i32 %45, 65536 | |
%tobool118.2561 = icmp eq i32 %and117.2560, 0 | |
br i1 %tobool118.2561, label %if.end212.2620, label %if.then119.2573 | |
if.then119.2573: ; preds = %if.then98.2 | |
%577 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.3623, align 16, !tbaa !36 | |
%578 = fsub <4 x float> %577, %574 | |
%579 = extractelement <4 x float> %578, i32 0 | |
%580 = extractelement <4 x float> %578, i32 1 | |
%mul3.i.i.2563 = fmul float %580, %580 | |
%581 = tail call float @llvm.fmuladd.f32(float %579, float %579, float %mul3.i.i.2563) #5 | |
%582 = extractelement <4 x float> %578, i32 2 | |
%583 = tail call float @llvm.fmuladd.f32(float %582, float %582, float %581) #5 | |
%and139.2564 = and i32 %47, 65536 | |
%tobool140.2565 = icmp ne i32 %and139.2564, 0 | |
%cond.2566 = select i1 %tobool140.2565, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2567 = icmp ne i32 %mul31, %572 | |
%not.or.cond.2568 = or i1 %notlhs, %notrhs.2567 | |
%cmp147..2569 = or i1 %cmp147, %not.or.cond.2568 | |
%conv149.2570 = uitofp i1 %cmp147..2569 to float | |
%mul150.2571 = fmul float %conv149.2570, %nbparam_params_rcoulomb_sq | |
%cmp151.2572 = fcmp olt float %583, %mul150.2571 | |
br i1 %cmp151.2572, label %if.then153.2617, label %if.end212.2620 | |
if.then153.2617: ; preds = %if.then119.2573 | |
%extractVec137.2574 = shufflevector <4 x float> %578, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%584 = extractelement <4 x float> %577, i32 3 | |
%585 = load i32, i32 addrspace(1)* %arrayidx154.3638, align 4, !tbaa !41 | |
%mul155.2578 = mul nsw i32 %585, %ntypes | |
%add156.2579 = add nsw i32 %mul155.2578, %576 | |
%mul157.2580 = shl nsw i32 %add156.2579, 1 | |
%586 = sext i32 %mul157.2580 to i64 | |
%arrayidx158.2581 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %586 | |
%587 = load float, float addrspace(2)* %arrayidx158.2581, align 4, !tbaa !39 | |
%add162.2582 = or i32 %mul157.2580, 1 | |
%588 = sext i32 %add162.2582 to i64 | |
%arrayidx163.2583 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %588 | |
%589 = load float, float addrspace(2)* %arrayidx163.2583, align 4, !tbaa !39 | |
%sub164.2584 = fsub float 1.000000e+00, %cond.2566 | |
%590 = tail call float @llvm.fmuladd.f32(float %sub164.2584, float 0x3D71979980000000, float %583) | |
%cmp.i.i.2585 = fcmp olt float %590, 0.000000e+00 | |
%call.i.i.2586 = tail call float @llvm.sqrt.f32(float %590) #6 | |
%call.i.i.op.2587 = fdiv float 1.000000e+00, %call.i.i.2586 | |
%div167.2588 = select i1 %cmp.i.i.2585, float 0x7FF8000000000000, float %call.i.i.op.2587 | |
%mul168.2589 = fmul float %div167.2588, %div167.2588 | |
%mul169.2590 = fmul float %mul168.2589, %mul168.2589 | |
%mul170.2591 = fmul float %mul168.2589, %mul169.2590 | |
%mul171.2592 = fmul float %cond.2566, %mul170.2591 | |
%neg.2593 = fsub float -0.000000e+00, %587 | |
%591 = tail call float @llvm.fmuladd.f32(float %589, float %mul171.2592, float %neg.2593) | |
%mul173.2594 = fmul float %mul171.2592, %591 | |
%mul174.2595 = fmul float %mul168.2589, %mul173.2594 | |
%cmp175.2596 = fcmp olt float %590, %nbparam_params_rvdw_sq | |
%cond177.2597 = select i1 %cmp175.2596, float 1.000000e+00, float 0.000000e+00 | |
%mul178.2598 = fmul float %cond177.2597, %mul174.2595 | |
%mul179.2599 = fmul float %575, %584 | |
%mul180.2600 = fmul float %cond.2566, %mul168.2589 | |
%mul182.2601 = fmul float %mul, %590 | |
%mul.i.2602 = fmul float %mul182.2601, %mul182.2601 | |
%592 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2602, float 0x3FBDA79640000000) #5 | |
%593 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2602, float 0x3FE03C5780000000) #5 | |
%594 = tail call float @llvm.fmuladd.f32(float %592, float %mul.i.2602, float 1.000000e+00) #5 | |
%595 = tail call float @llvm.fmuladd.f32(float %593, float %mul182.2601, float %594) #5 | |
%div.i.2603 = fdiv float 1.000000e+00, %595, !fpmath !46 | |
%596 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2602, float 0xBF0BFF7260000000) #5 | |
%597 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2602, float 0x3F50794180000000) #5 | |
%598 = tail call float @llvm.fmuladd.f32(float %596, float %mul.i.2602, float 0xBF93BDB200000000) #5 | |
%599 = tail call float @llvm.fmuladd.f32(float %597, float %mul.i.2602, float 0x3FB1D5E760000000) #5 | |
%600 = tail call float @llvm.fmuladd.f32(float %598, float %mul.i.2602, float 0xBFE81272E0000000) #5 | |
%601 = tail call float @llvm.fmuladd.f32(float %599, float %mul182.2601, float %600) #5 | |
%mul11.i.2604 = fmul float %601, %div.i.2603 | |
%mul184.2605 = fmul float %mul21, %mul11.i.2604 | |
%602 = tail call float @llvm.fmuladd.f32(float %mul180.2600, float %div167.2588, float %mul184.2605) | |
%603 = tail call float @llvm.fmuladd.f32(float %mul179.2599, float %602, float %mul178.2598) | |
%splat.splatinsert.2606 = insertelement <3 x float> undef, float %603, i32 0 | |
%splat.splat.2607 = shufflevector <3 x float> %splat.splatinsert.2606, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.2608 = fmul <3 x float> %extractVec137.2574, %splat.splat.2607 | |
%sub198.2609 = fsub <3 x float> zeroinitializer, %mul189.2608 | |
%extractVec199.2610 = shufflevector <3 x float> %sub198.2609, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.2614 = shufflevector <4 x float> %loadVec4206.2613, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.2615 = fadd <3 x float> %extractVec207.2614, %mul189.2608 | |
%extractVec209.2616 = shufflevector <3 x float> %add208.2615, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.2620 | |
if.end212.2620: ; preds = %if.then153.2617, %if.then119.2573, %if.then98.2 | |
%604 = phi <3 x float> [ %add208.2615, %if.then153.2617 ], [ %571, %if.then119.2573 ], [ %571, %if.then98.2 ] | |
%loadVec4206684 = phi <4 x float> [ %extractVec209.2616, %if.then153.2617 ], [ %loadVec4206.2613, %if.then119.2573 ], [ %loadVec4206.2613, %if.then98.2 ] | |
%fcj_buf.sroa.0.1.2618 = phi <4 x float> [ %extractVec199.2610, %if.then153.2617 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then119.2573 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then98.2 ] | |
%and117.1.2 = and i32 %45, 131072 | |
%tobool118.1.2 = icmp eq i32 %and117.1.2, 0 | |
br i1 %tobool118.1.2, label %if.end212.1.2, label %if.then119.1.2 | |
if.then119.1.2: ; preds = %if.end212.2620 | |
%605 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.1.3, align 16, !tbaa !36 | |
%606 = fsub <4 x float> %605, %574 | |
%607 = extractelement <4 x float> %606, i32 0 | |
%608 = extractelement <4 x float> %606, i32 1 | |
%mul3.i.i.1.2 = fmul float %608, %608 | |
%609 = tail call float @llvm.fmuladd.f32(float %607, float %607, float %mul3.i.i.1.2) #5 | |
%610 = extractelement <4 x float> %606, i32 2 | |
%611 = tail call float @llvm.fmuladd.f32(float %610, float %610, float %609) #5 | |
%and139.1.2 = and i32 %47, 131072 | |
%tobool140.1.2 = icmp ne i32 %and139.1.2, 0 | |
%cond.1.2 = select i1 %tobool140.1.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1.2 = icmp ne i32 %34, %572 | |
%not.or.cond.1.2 = or i1 %notlhs, %notrhs.1.2 | |
%cmp147..1.2 = or i1 %cmp147, %not.or.cond.1.2 | |
%conv149.1.2 = uitofp i1 %cmp147..1.2 to float | |
%mul150.1.2 = fmul float %conv149.1.2, %nbparam_params_rcoulomb_sq | |
%cmp151.1.2 = fcmp olt float %611, %mul150.1.2 | |
br i1 %cmp151.1.2, label %if.then153.1.2, label %if.end212.1.2 | |
if.then153.1.2: ; preds = %if.then119.1.2 | |
%extractVec137.1.2 = shufflevector <4 x float> %606, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%612 = extractelement <4 x float> %605, i32 3 | |
%613 = load i32, i32 addrspace(1)* %arrayidx154.1.3, align 4, !tbaa !41 | |
%mul155.1.2 = mul nsw i32 %613, %ntypes | |
%add156.1.2 = add nsw i32 %mul155.1.2, %576 | |
%mul157.1.2 = shl nsw i32 %add156.1.2, 1 | |
%614 = sext i32 %mul157.1.2 to i64 | |
%arrayidx158.1.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %614 | |
%615 = load float, float addrspace(2)* %arrayidx158.1.2, align 4, !tbaa !39 | |
%add162.1.2 = or i32 %mul157.1.2, 1 | |
%616 = sext i32 %add162.1.2 to i64 | |
%arrayidx163.1.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %616 | |
%617 = load float, float addrspace(2)* %arrayidx163.1.2, align 4, !tbaa !39 | |
%sub164.1.2 = fsub float 1.000000e+00, %cond.1.2 | |
%618 = tail call float @llvm.fmuladd.f32(float %sub164.1.2, float 0x3D71979980000000, float %611) | |
%cmp.i.i.1.2 = fcmp olt float %618, 0.000000e+00 | |
%call.i.i.1.2 = tail call float @llvm.sqrt.f32(float %618) #6 | |
%call.i.i.op.1.2 = fdiv float 1.000000e+00, %call.i.i.1.2 | |
%div167.1.2 = select i1 %cmp.i.i.1.2, float 0x7FF8000000000000, float %call.i.i.op.1.2 | |
%mul168.1.2 = fmul float %div167.1.2, %div167.1.2 | |
%mul169.1.2 = fmul float %mul168.1.2, %mul168.1.2 | |
%mul170.1.2 = fmul float %mul168.1.2, %mul169.1.2 | |
%mul171.1.2 = fmul float %cond.1.2, %mul170.1.2 | |
%neg.1.2 = fsub float -0.000000e+00, %615 | |
%619 = tail call float @llvm.fmuladd.f32(float %617, float %mul171.1.2, float %neg.1.2) | |
%mul173.1.2 = fmul float %mul171.1.2, %619 | |
%mul174.1.2 = fmul float %mul168.1.2, %mul173.1.2 | |
%cmp175.1.2 = fcmp olt float %618, %nbparam_params_rvdw_sq | |
%cond177.1.2 = select i1 %cmp175.1.2, float 1.000000e+00, float 0.000000e+00 | |
%mul178.1.2 = fmul float %cond177.1.2, %mul174.1.2 | |
%mul179.1.2 = fmul float %575, %612 | |
%mul180.1.2 = fmul float %cond.1.2, %mul168.1.2 | |
%mul182.1.2 = fmul float %mul, %618 | |
%mul.i.1.2 = fmul float %mul182.1.2, %mul182.1.2 | |
%620 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1.2, float 0x3FBDA79640000000) #5 | |
%621 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1.2, float 0x3FE03C5780000000) #5 | |
%622 = tail call float @llvm.fmuladd.f32(float %620, float %mul.i.1.2, float 1.000000e+00) #5 | |
%623 = tail call float @llvm.fmuladd.f32(float %621, float %mul182.1.2, float %622) #5 | |
%div.i.1.2 = fdiv float 1.000000e+00, %623, !fpmath !46 | |
%624 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1.2, float 0xBF0BFF7260000000) #5 | |
%625 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1.2, float 0x3F50794180000000) #5 | |
%626 = tail call float @llvm.fmuladd.f32(float %624, float %mul.i.1.2, float 0xBF93BDB200000000) #5 | |
%627 = tail call float @llvm.fmuladd.f32(float %625, float %mul.i.1.2, float 0x3FB1D5E760000000) #5 | |
%628 = tail call float @llvm.fmuladd.f32(float %626, float %mul.i.1.2, float 0xBFE81272E0000000) #5 | |
%629 = tail call float @llvm.fmuladd.f32(float %627, float %mul182.1.2, float %628) #5 | |
%mul11.i.1.2 = fmul float %629, %div.i.1.2 | |
%mul184.1.2 = fmul float %mul21, %mul11.i.1.2 | |
%630 = tail call float @llvm.fmuladd.f32(float %mul180.1.2, float %div167.1.2, float %mul184.1.2) | |
%631 = tail call float @llvm.fmuladd.f32(float %mul179.1.2, float %630, float %mul178.1.2) | |
%splat.splatinsert.1.2 = insertelement <3 x float> undef, float %631, i32 0 | |
%splat.splat.1.2 = shufflevector <3 x float> %splat.splatinsert.1.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.1.2 = fmul <3 x float> %extractVec137.1.2, %splat.splat.1.2 | |
%extractVec197.1.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2618, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.1.2 = fsub <3 x float> %extractVec197.1.2, %mul189.1.2 | |
%extractVec199.1.2 = shufflevector <3 x float> %sub198.1.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.1.2 = shufflevector <4 x float> %loadVec4206.1.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.1.2 = fadd <3 x float> %extractVec207.1.2, %mul189.1.2 | |
%extractVec209.1.2 = shufflevector <3 x float> %add208.1.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.1.2 | |
if.end212.1.2: ; preds = %if.then153.1.2, %if.then119.1.2, %if.end212.2620 | |
%632 = phi <3 x float> [ %add208.1.2, %if.then153.1.2 ], [ %570, %if.then119.1.2 ], [ %570, %if.end212.2620 ] | |
%loadVec4206.1694 = phi <4 x float> [ %extractVec209.1.2, %if.then153.1.2 ], [ %loadVec4206.1.2, %if.then119.1.2 ], [ %loadVec4206.1.2, %if.end212.2620 ] | |
%fcj_buf.sroa.0.1.1.2 = phi <4 x float> [ %extractVec199.1.2, %if.then153.1.2 ], [ %fcj_buf.sroa.0.1.2618, %if.then119.1.2 ], [ %fcj_buf.sroa.0.1.2618, %if.end212.2620 ] | |
%and117.2.2 = and i32 %45, 262144 | |
%tobool118.2.2 = icmp eq i32 %and117.2.2, 0 | |
br i1 %tobool118.2.2, label %if.end212.2.2, label %if.then119.2.2 | |
if.then119.2.2: ; preds = %if.end212.1.2 | |
%633 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.2.3, align 16, !tbaa !36 | |
%634 = fsub <4 x float> %633, %574 | |
%635 = extractelement <4 x float> %634, i32 0 | |
%636 = extractelement <4 x float> %634, i32 1 | |
%mul3.i.i.2.2 = fmul float %636, %636 | |
%637 = tail call float @llvm.fmuladd.f32(float %635, float %635, float %mul3.i.i.2.2) #5 | |
%638 = extractelement <4 x float> %634, i32 2 | |
%639 = tail call float @llvm.fmuladd.f32(float %638, float %638, float %637) #5 | |
%and139.2.2 = and i32 %47, 262144 | |
%tobool140.2.2 = icmp ne i32 %and139.2.2, 0 | |
%cond.2.2 = select i1 %tobool140.2.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2.2 = icmp ne i32 %32, %572 | |
%not.or.cond.2.2 = or i1 %notlhs, %notrhs.2.2 | |
%cmp147..2.2 = or i1 %cmp147, %not.or.cond.2.2 | |
%conv149.2.2 = uitofp i1 %cmp147..2.2 to float | |
%mul150.2.2 = fmul float %conv149.2.2, %nbparam_params_rcoulomb_sq | |
%cmp151.2.2 = fcmp olt float %639, %mul150.2.2 | |
br i1 %cmp151.2.2, label %if.then153.2.2, label %if.end212.2.2 | |
if.then153.2.2: ; preds = %if.then119.2.2 | |
%extractVec137.2.2 = shufflevector <4 x float> %634, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%640 = extractelement <4 x float> %633, i32 3 | |
%641 = load i32, i32 addrspace(1)* %arrayidx154.2.3, align 4, !tbaa !41 | |
%mul155.2.2 = mul nsw i32 %641, %ntypes | |
%add156.2.2 = add nsw i32 %mul155.2.2, %576 | |
%mul157.2.2 = shl nsw i32 %add156.2.2, 1 | |
%642 = sext i32 %mul157.2.2 to i64 | |
%arrayidx158.2.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %642 | |
%643 = load float, float addrspace(2)* %arrayidx158.2.2, align 4, !tbaa !39 | |
%add162.2.2 = or i32 %mul157.2.2, 1 | |
%644 = sext i32 %add162.2.2 to i64 | |
%arrayidx163.2.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %644 | |
%645 = load float, float addrspace(2)* %arrayidx163.2.2, align 4, !tbaa !39 | |
%sub164.2.2 = fsub float 1.000000e+00, %cond.2.2 | |
%646 = tail call float @llvm.fmuladd.f32(float %sub164.2.2, float 0x3D71979980000000, float %639) | |
%cmp.i.i.2.2 = fcmp olt float %646, 0.000000e+00 | |
%call.i.i.2.2 = tail call float @llvm.sqrt.f32(float %646) #6 | |
%call.i.i.op.2.2 = fdiv float 1.000000e+00, %call.i.i.2.2 | |
%div167.2.2 = select i1 %cmp.i.i.2.2, float 0x7FF8000000000000, float %call.i.i.op.2.2 | |
%mul168.2.2 = fmul float %div167.2.2, %div167.2.2 | |
%mul169.2.2 = fmul float %mul168.2.2, %mul168.2.2 | |
%mul170.2.2 = fmul float %mul168.2.2, %mul169.2.2 | |
%mul171.2.2 = fmul float %cond.2.2, %mul170.2.2 | |
%neg.2.2 = fsub float -0.000000e+00, %643 | |
%647 = tail call float @llvm.fmuladd.f32(float %645, float %mul171.2.2, float %neg.2.2) | |
%mul173.2.2 = fmul float %mul171.2.2, %647 | |
%mul174.2.2 = fmul float %mul168.2.2, %mul173.2.2 | |
%cmp175.2.2 = fcmp olt float %646, %nbparam_params_rvdw_sq | |
%cond177.2.2 = select i1 %cmp175.2.2, float 1.000000e+00, float 0.000000e+00 | |
%mul178.2.2 = fmul float %cond177.2.2, %mul174.2.2 | |
%mul179.2.2 = fmul float %575, %640 | |
%mul180.2.2 = fmul float %cond.2.2, %mul168.2.2 | |
%mul182.2.2 = fmul float %mul, %646 | |
%mul.i.2.2 = fmul float %mul182.2.2, %mul182.2.2 | |
%648 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2.2, float 0x3FBDA79640000000) #5 | |
%649 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2.2, float 0x3FE03C5780000000) #5 | |
%650 = tail call float @llvm.fmuladd.f32(float %648, float %mul.i.2.2, float 1.000000e+00) #5 | |
%651 = tail call float @llvm.fmuladd.f32(float %649, float %mul182.2.2, float %650) #5 | |
%div.i.2.2 = fdiv float 1.000000e+00, %651, !fpmath !46 | |
%652 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2.2, float 0xBF0BFF7260000000) #5 | |
%653 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2.2, float 0x3F50794180000000) #5 | |
%654 = tail call float @llvm.fmuladd.f32(float %652, float %mul.i.2.2, float 0xBF93BDB200000000) #5 | |
%655 = tail call float @llvm.fmuladd.f32(float %653, float %mul.i.2.2, float 0x3FB1D5E760000000) #5 | |
%656 = tail call float @llvm.fmuladd.f32(float %654, float %mul.i.2.2, float 0xBFE81272E0000000) #5 | |
%657 = tail call float @llvm.fmuladd.f32(float %655, float %mul182.2.2, float %656) #5 | |
%mul11.i.2.2 = fmul float %657, %div.i.2.2 | |
%mul184.2.2 = fmul float %mul21, %mul11.i.2.2 | |
%658 = tail call float @llvm.fmuladd.f32(float %mul180.2.2, float %div167.2.2, float %mul184.2.2) | |
%659 = tail call float @llvm.fmuladd.f32(float %mul179.2.2, float %658, float %mul178.2.2) | |
%splat.splatinsert.2.2 = insertelement <3 x float> undef, float %659, i32 0 | |
%splat.splat.2.2 = shufflevector <3 x float> %splat.splatinsert.2.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.2.2 = fmul <3 x float> %extractVec137.2.2, %splat.splat.2.2 | |
%extractVec197.2.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.2.2 = fsub <3 x float> %extractVec197.2.2, %mul189.2.2 | |
%extractVec199.2.2 = shufflevector <3 x float> %sub198.2.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.2.2 = shufflevector <4 x float> %loadVec4206.2.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.2.2 = fadd <3 x float> %extractVec207.2.2, %mul189.2.2 | |
%extractVec209.2.2 = shufflevector <3 x float> %add208.2.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.2.2 | |
if.end212.2.2: ; preds = %if.then153.2.2, %if.then119.2.2, %if.end212.1.2 | |
%660 = phi <3 x float> [ %add208.2.2, %if.then153.2.2 ], [ %569, %if.then119.2.2 ], [ %569, %if.end212.1.2 ] | |
%loadVec4206.2704 = phi <4 x float> [ %extractVec209.2.2, %if.then153.2.2 ], [ %loadVec4206.2.2, %if.then119.2.2 ], [ %loadVec4206.2.2, %if.end212.1.2 ] | |
%fcj_buf.sroa.0.1.2.2 = phi <4 x float> [ %extractVec199.2.2, %if.then153.2.2 ], [ %fcj_buf.sroa.0.1.1.2, %if.then119.2.2 ], [ %fcj_buf.sroa.0.1.1.2, %if.end212.1.2 ] | |
%and117.3.2 = and i32 %45, 524288 | |
%tobool118.3.2 = icmp eq i32 %and117.3.2, 0 | |
br i1 %tobool118.3.2, label %if.end212.3.2, label %if.then119.3.2 | |
if.then119.3.2: ; preds = %if.end212.2.2 | |
%661 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.3.3, align 16, !tbaa !36 | |
%662 = fsub <4 x float> %661, %574 | |
%663 = extractelement <4 x float> %662, i32 0 | |
%664 = extractelement <4 x float> %662, i32 1 | |
%mul3.i.i.3.2 = fmul float %664, %664 | |
%665 = tail call float @llvm.fmuladd.f32(float %663, float %663, float %mul3.i.i.3.2) #5 | |
%666 = extractelement <4 x float> %662, i32 2 | |
%667 = tail call float @llvm.fmuladd.f32(float %666, float %666, float %665) #5 | |
%and139.3.2 = and i32 %47, 524288 | |
%tobool140.3.2 = icmp ne i32 %and139.3.2, 0 | |
%cond.3.2 = select i1 %tobool140.3.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3.2 = icmp ne i32 %30, %572 | |
%not.or.cond.3.2 = or i1 %notlhs, %notrhs.3.2 | |
%cmp147..3.2 = or i1 %cmp147, %not.or.cond.3.2 | |
%conv149.3.2 = uitofp i1 %cmp147..3.2 to float | |
%mul150.3.2 = fmul float %conv149.3.2, %nbparam_params_rcoulomb_sq | |
%cmp151.3.2 = fcmp olt float %667, %mul150.3.2 | |
br i1 %cmp151.3.2, label %if.then153.3.2, label %if.end212.3.2 | |
if.then153.3.2: ; preds = %if.then119.3.2 | |
%extractVec137.3.2 = shufflevector <4 x float> %662, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%668 = extractelement <4 x float> %661, i32 3 | |
%669 = load i32, i32 addrspace(1)* %arrayidx154.3.3, align 4, !tbaa !41 | |
%mul155.3.2 = mul nsw i32 %669, %ntypes | |
%add156.3.2 = add nsw i32 %mul155.3.2, %576 | |
%mul157.3.2 = shl nsw i32 %add156.3.2, 1 | |
%670 = sext i32 %mul157.3.2 to i64 | |
%arrayidx158.3.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %670 | |
%671 = load float, float addrspace(2)* %arrayidx158.3.2, align 4, !tbaa !39 | |
%add162.3.2 = or i32 %mul157.3.2, 1 | |
%672 = sext i32 %add162.3.2 to i64 | |
%arrayidx163.3.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %672 | |
%673 = load float, float addrspace(2)* %arrayidx163.3.2, align 4, !tbaa !39 | |
%sub164.3.2 = fsub float 1.000000e+00, %cond.3.2 | |
%674 = tail call float @llvm.fmuladd.f32(float %sub164.3.2, float 0x3D71979980000000, float %667) | |
%cmp.i.i.3.2 = fcmp olt float %674, 0.000000e+00 | |
%call.i.i.3.2 = tail call float @llvm.sqrt.f32(float %674) #6 | |
%call.i.i.op.3.2 = fdiv float 1.000000e+00, %call.i.i.3.2 | |
%div167.3.2 = select i1 %cmp.i.i.3.2, float 0x7FF8000000000000, float %call.i.i.op.3.2 | |
%mul168.3.2 = fmul float %div167.3.2, %div167.3.2 | |
%mul169.3.2 = fmul float %mul168.3.2, %mul168.3.2 | |
%mul170.3.2 = fmul float %mul168.3.2, %mul169.3.2 | |
%mul171.3.2 = fmul float %cond.3.2, %mul170.3.2 | |
%neg.3.2 = fsub float -0.000000e+00, %671 | |
%675 = tail call float @llvm.fmuladd.f32(float %673, float %mul171.3.2, float %neg.3.2) | |
%mul173.3.2 = fmul float %mul171.3.2, %675 | |
%mul174.3.2 = fmul float %mul168.3.2, %mul173.3.2 | |
%cmp175.3.2 = fcmp olt float %674, %nbparam_params_rvdw_sq | |
%cond177.3.2 = select i1 %cmp175.3.2, float 1.000000e+00, float 0.000000e+00 | |
%mul178.3.2 = fmul float %cond177.3.2, %mul174.3.2 | |
%mul179.3.2 = fmul float %575, %668 | |
%mul180.3.2 = fmul float %cond.3.2, %mul168.3.2 | |
%mul182.3.2 = fmul float %mul, %674 | |
%mul.i.3.2 = fmul float %mul182.3.2, %mul182.3.2 | |
%676 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3.2, float 0x3FBDA79640000000) #5 | |
%677 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3.2, float 0x3FE03C5780000000) #5 | |
%678 = tail call float @llvm.fmuladd.f32(float %676, float %mul.i.3.2, float 1.000000e+00) #5 | |
%679 = tail call float @llvm.fmuladd.f32(float %677, float %mul182.3.2, float %678) #5 | |
%div.i.3.2 = fdiv float 1.000000e+00, %679, !fpmath !46 | |
%680 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3.2, float 0xBF0BFF7260000000) #5 | |
%681 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3.2, float 0x3F50794180000000) #5 | |
%682 = tail call float @llvm.fmuladd.f32(float %680, float %mul.i.3.2, float 0xBF93BDB200000000) #5 | |
%683 = tail call float @llvm.fmuladd.f32(float %681, float %mul.i.3.2, float 0x3FB1D5E760000000) #5 | |
%684 = tail call float @llvm.fmuladd.f32(float %682, float %mul.i.3.2, float 0xBFE81272E0000000) #5 | |
%685 = tail call float @llvm.fmuladd.f32(float %683, float %mul182.3.2, float %684) #5 | |
%mul11.i.3.2 = fmul float %685, %div.i.3.2 | |
%mul184.3.2 = fmul float %mul21, %mul11.i.3.2 | |
%686 = tail call float @llvm.fmuladd.f32(float %mul180.3.2, float %div167.3.2, float %mul184.3.2) | |
%687 = tail call float @llvm.fmuladd.f32(float %mul179.3.2, float %686, float %mul178.3.2) | |
%splat.splatinsert.3.2 = insertelement <3 x float> undef, float %687, i32 0 | |
%splat.splat.3.2 = shufflevector <3 x float> %splat.splatinsert.3.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.3.2 = fmul <3 x float> %extractVec137.3.2, %splat.splat.3.2 | |
%extractVec197.3.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.3.2 = fsub <3 x float> %extractVec197.3.2, %mul189.3.2 | |
%extractVec199.3.2 = shufflevector <3 x float> %sub198.3.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.3.2 = shufflevector <4 x float> %loadVec4206.3.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.3.2 = fadd <3 x float> %extractVec207.3.2, %mul189.3.2 | |
%extractVec209.3.2 = shufflevector <3 x float> %add208.3.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.3.2 | |
if.end212.3.2: ; preds = %if.then153.3.2, %if.then119.3.2, %if.end212.2.2 | |
%688 = phi <3 x float> [ %add208.3.2, %if.then153.3.2 ], [ %568, %if.then119.3.2 ], [ %568, %if.end212.2.2 ] | |
%loadVec4206.3714 = phi <4 x float> [ %extractVec209.3.2, %if.then153.3.2 ], [ %loadVec4206.3.2, %if.then119.3.2 ], [ %loadVec4206.3.2, %if.end212.2.2 ] | |
%fcj_buf.sroa.0.1.3.2 = phi <4 x float> [ %extractVec199.3.2, %if.then153.3.2 ], [ %fcj_buf.sroa.0.1.2.2, %if.then119.3.2 ], [ %fcj_buf.sroa.0.1.2.2, %if.end212.2.2 ] | |
%and117.4.2 = and i32 %45, 1048576 | |
%tobool118.4.2 = icmp eq i32 %and117.4.2, 0 | |
br i1 %tobool118.4.2, label %if.end212.4.2, label %if.then119.4.2 | |
if.then119.4.2: ; preds = %if.end212.3.2 | |
%689 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.4.3, align 16, !tbaa !36 | |
%690 = fsub <4 x float> %689, %574 | |
%691 = extractelement <4 x float> %690, i32 0 | |
%692 = extractelement <4 x float> %690, i32 1 | |
%mul3.i.i.4.2 = fmul float %692, %692 | |
%693 = tail call float @llvm.fmuladd.f32(float %691, float %691, float %mul3.i.i.4.2) #5 | |
%694 = extractelement <4 x float> %690, i32 2 | |
%695 = tail call float @llvm.fmuladd.f32(float %694, float %694, float %693) #5 | |
%and139.4.2 = and i32 %47, 1048576 | |
%tobool140.4.2 = icmp ne i32 %and139.4.2, 0 | |
%cond.4.2 = select i1 %tobool140.4.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.4.2 = icmp ne i32 %28, %572 | |
%not.or.cond.4.2 = or i1 %notlhs, %notrhs.4.2 | |
%cmp147..4.2 = or i1 %cmp147, %not.or.cond.4.2 | |
%conv149.4.2 = uitofp i1 %cmp147..4.2 to float | |
%mul150.4.2 = fmul float %conv149.4.2, %nbparam_params_rcoulomb_sq | |
%cmp151.4.2 = fcmp olt float %695, %mul150.4.2 | |
br i1 %cmp151.4.2, label %if.then153.4.2, label %if.end212.4.2 | |
if.then153.4.2: ; preds = %if.then119.4.2 | |
%extractVec137.4.2 = shufflevector <4 x float> %690, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%696 = extractelement <4 x float> %689, i32 3 | |
%697 = load i32, i32 addrspace(1)* %arrayidx154.4.3, align 4, !tbaa !41 | |
%mul155.4.2 = mul nsw i32 %697, %ntypes | |
%add156.4.2 = add nsw i32 %mul155.4.2, %576 | |
%mul157.4.2 = shl nsw i32 %add156.4.2, 1 | |
%698 = sext i32 %mul157.4.2 to i64 | |
%arrayidx158.4.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %698 | |
%699 = load float, float addrspace(2)* %arrayidx158.4.2, align 4, !tbaa !39 | |
%add162.4.2 = or i32 %mul157.4.2, 1 | |
%700 = sext i32 %add162.4.2 to i64 | |
%arrayidx163.4.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %700 | |
%701 = load float, float addrspace(2)* %arrayidx163.4.2, align 4, !tbaa !39 | |
%sub164.4.2 = fsub float 1.000000e+00, %cond.4.2 | |
%702 = tail call float @llvm.fmuladd.f32(float %sub164.4.2, float 0x3D71979980000000, float %695) | |
%cmp.i.i.4.2 = fcmp olt float %702, 0.000000e+00 | |
%call.i.i.4.2 = tail call float @llvm.sqrt.f32(float %702) #6 | |
%call.i.i.op.4.2 = fdiv float 1.000000e+00, %call.i.i.4.2 | |
%div167.4.2 = select i1 %cmp.i.i.4.2, float 0x7FF8000000000000, float %call.i.i.op.4.2 | |
%mul168.4.2 = fmul float %div167.4.2, %div167.4.2 | |
%mul169.4.2 = fmul float %mul168.4.2, %mul168.4.2 | |
%mul170.4.2 = fmul float %mul168.4.2, %mul169.4.2 | |
%mul171.4.2 = fmul float %cond.4.2, %mul170.4.2 | |
%neg.4.2 = fsub float -0.000000e+00, %699 | |
%703 = tail call float @llvm.fmuladd.f32(float %701, float %mul171.4.2, float %neg.4.2) | |
%mul173.4.2 = fmul float %mul171.4.2, %703 | |
%mul174.4.2 = fmul float %mul168.4.2, %mul173.4.2 | |
%cmp175.4.2 = fcmp olt float %702, %nbparam_params_rvdw_sq | |
%cond177.4.2 = select i1 %cmp175.4.2, float 1.000000e+00, float 0.000000e+00 | |
%mul178.4.2 = fmul float %cond177.4.2, %mul174.4.2 | |
%mul179.4.2 = fmul float %575, %696 | |
%mul180.4.2 = fmul float %cond.4.2, %mul168.4.2 | |
%mul182.4.2 = fmul float %mul, %702 | |
%mul.i.4.2 = fmul float %mul182.4.2, %mul182.4.2 | |
%704 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.4.2, float 0x3FBDA79640000000) #5 | |
%705 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.4.2, float 0x3FE03C5780000000) #5 | |
%706 = tail call float @llvm.fmuladd.f32(float %704, float %mul.i.4.2, float 1.000000e+00) #5 | |
%707 = tail call float @llvm.fmuladd.f32(float %705, float %mul182.4.2, float %706) #5 | |
%div.i.4.2 = fdiv float 1.000000e+00, %707, !fpmath !46 | |
%708 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.4.2, float 0xBF0BFF7260000000) #5 | |
%709 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.4.2, float 0x3F50794180000000) #5 | |
%710 = tail call float @llvm.fmuladd.f32(float %708, float %mul.i.4.2, float 0xBF93BDB200000000) #5 | |
%711 = tail call float @llvm.fmuladd.f32(float %709, float %mul.i.4.2, float 0x3FB1D5E760000000) #5 | |
%712 = tail call float @llvm.fmuladd.f32(float %710, float %mul.i.4.2, float 0xBFE81272E0000000) #5 | |
%713 = tail call float @llvm.fmuladd.f32(float %711, float %mul182.4.2, float %712) #5 | |
%mul11.i.4.2 = fmul float %713, %div.i.4.2 | |
%mul184.4.2 = fmul float %mul21, %mul11.i.4.2 | |
%714 = tail call float @llvm.fmuladd.f32(float %mul180.4.2, float %div167.4.2, float %mul184.4.2) | |
%715 = tail call float @llvm.fmuladd.f32(float %mul179.4.2, float %714, float %mul178.4.2) | |
%splat.splatinsert.4.2 = insertelement <3 x float> undef, float %715, i32 0 | |
%splat.splat.4.2 = shufflevector <3 x float> %splat.splatinsert.4.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.4.2 = fmul <3 x float> %extractVec137.4.2, %splat.splat.4.2 | |
%extractVec197.4.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.4.2 = fsub <3 x float> %extractVec197.4.2, %mul189.4.2 | |
%extractVec199.4.2 = shufflevector <3 x float> %sub198.4.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.4.2 = shufflevector <4 x float> %loadVec4206.4.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.4.2 = fadd <3 x float> %extractVec207.4.2, %mul189.4.2 | |
%extractVec209.4.2 = shufflevector <3 x float> %add208.4.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.4.2 | |
if.end212.4.2: ; preds = %if.then153.4.2, %if.then119.4.2, %if.end212.3.2 | |
%716 = phi <3 x float> [ %add208.4.2, %if.then153.4.2 ], [ %567, %if.then119.4.2 ], [ %567, %if.end212.3.2 ] | |
%loadVec4206.4724 = phi <4 x float> [ %extractVec209.4.2, %if.then153.4.2 ], [ %loadVec4206.4.2, %if.then119.4.2 ], [ %loadVec4206.4.2, %if.end212.3.2 ] | |
%fcj_buf.sroa.0.1.4.2 = phi <4 x float> [ %extractVec199.4.2, %if.then153.4.2 ], [ %fcj_buf.sroa.0.1.3.2, %if.then119.4.2 ], [ %fcj_buf.sroa.0.1.3.2, %if.end212.3.2 ] | |
%and117.5.2 = and i32 %45, 2097152 | |
%tobool118.5.2 = icmp eq i32 %and117.5.2, 0 | |
br i1 %tobool118.5.2, label %if.end212.5.2, label %if.then119.5.2 | |
if.then119.5.2: ; preds = %if.end212.4.2 | |
%717 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.5.3, align 16, !tbaa !36 | |
%718 = fsub <4 x float> %717, %574 | |
%719 = extractelement <4 x float> %718, i32 0 | |
%720 = extractelement <4 x float> %718, i32 1 | |
%mul3.i.i.5.2 = fmul float %720, %720 | |
%721 = tail call float @llvm.fmuladd.f32(float %719, float %719, float %mul3.i.i.5.2) #5 | |
%722 = extractelement <4 x float> %718, i32 2 | |
%723 = tail call float @llvm.fmuladd.f32(float %722, float %722, float %721) #5 | |
%and139.5.2 = and i32 %47, 2097152 | |
%tobool140.5.2 = icmp ne i32 %and139.5.2, 0 | |
%cond.5.2 = select i1 %tobool140.5.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.5.2 = icmp ne i32 %26, %572 | |
%not.or.cond.5.2 = or i1 %notlhs, %notrhs.5.2 | |
%cmp147..5.2 = or i1 %cmp147, %not.or.cond.5.2 | |
%conv149.5.2 = uitofp i1 %cmp147..5.2 to float | |
%mul150.5.2 = fmul float %conv149.5.2, %nbparam_params_rcoulomb_sq | |
%cmp151.5.2 = fcmp olt float %723, %mul150.5.2 | |
br i1 %cmp151.5.2, label %if.then153.5.2, label %if.end212.5.2 | |
if.then153.5.2: ; preds = %if.then119.5.2 | |
%extractVec137.5.2 = shufflevector <4 x float> %718, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%724 = extractelement <4 x float> %717, i32 3 | |
%725 = load i32, i32 addrspace(1)* %arrayidx154.5.3, align 4, !tbaa !41 | |
%mul155.5.2 = mul nsw i32 %725, %ntypes | |
%add156.5.2 = add nsw i32 %mul155.5.2, %576 | |
%mul157.5.2 = shl nsw i32 %add156.5.2, 1 | |
%726 = sext i32 %mul157.5.2 to i64 | |
%arrayidx158.5.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %726 | |
%727 = load float, float addrspace(2)* %arrayidx158.5.2, align 4, !tbaa !39 | |
%add162.5.2 = or i32 %mul157.5.2, 1 | |
%728 = sext i32 %add162.5.2 to i64 | |
%arrayidx163.5.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %728 | |
%729 = load float, float addrspace(2)* %arrayidx163.5.2, align 4, !tbaa !39 | |
%sub164.5.2 = fsub float 1.000000e+00, %cond.5.2 | |
%730 = tail call float @llvm.fmuladd.f32(float %sub164.5.2, float 0x3D71979980000000, float %723) | |
%cmp.i.i.5.2 = fcmp olt float %730, 0.000000e+00 | |
%call.i.i.5.2 = tail call float @llvm.sqrt.f32(float %730) #6 | |
%call.i.i.op.5.2 = fdiv float 1.000000e+00, %call.i.i.5.2 | |
%div167.5.2 = select i1 %cmp.i.i.5.2, float 0x7FF8000000000000, float %call.i.i.op.5.2 | |
%mul168.5.2 = fmul float %div167.5.2, %div167.5.2 | |
%mul169.5.2 = fmul float %mul168.5.2, %mul168.5.2 | |
%mul170.5.2 = fmul float %mul168.5.2, %mul169.5.2 | |
%mul171.5.2 = fmul float %cond.5.2, %mul170.5.2 | |
%neg.5.2 = fsub float -0.000000e+00, %727 | |
%731 = tail call float @llvm.fmuladd.f32(float %729, float %mul171.5.2, float %neg.5.2) | |
%mul173.5.2 = fmul float %mul171.5.2, %731 | |
%mul174.5.2 = fmul float %mul168.5.2, %mul173.5.2 | |
%cmp175.5.2 = fcmp olt float %730, %nbparam_params_rvdw_sq | |
%cond177.5.2 = select i1 %cmp175.5.2, float 1.000000e+00, float 0.000000e+00 | |
%mul178.5.2 = fmul float %cond177.5.2, %mul174.5.2 | |
%mul179.5.2 = fmul float %575, %724 | |
%mul180.5.2 = fmul float %cond.5.2, %mul168.5.2 | |
%mul182.5.2 = fmul float %mul, %730 | |
%mul.i.5.2 = fmul float %mul182.5.2, %mul182.5.2 | |
%732 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.5.2, float 0x3FBDA79640000000) #5 | |
%733 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.5.2, float 0x3FE03C5780000000) #5 | |
%734 = tail call float @llvm.fmuladd.f32(float %732, float %mul.i.5.2, float 1.000000e+00) #5 | |
%735 = tail call float @llvm.fmuladd.f32(float %733, float %mul182.5.2, float %734) #5 | |
%div.i.5.2 = fdiv float 1.000000e+00, %735, !fpmath !46 | |
%736 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.5.2, float 0xBF0BFF7260000000) #5 | |
%737 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.5.2, float 0x3F50794180000000) #5 | |
%738 = tail call float @llvm.fmuladd.f32(float %736, float %mul.i.5.2, float 0xBF93BDB200000000) #5 | |
%739 = tail call float @llvm.fmuladd.f32(float %737, float %mul.i.5.2, float 0x3FB1D5E760000000) #5 | |
%740 = tail call float @llvm.fmuladd.f32(float %738, float %mul.i.5.2, float 0xBFE81272E0000000) #5 | |
%741 = tail call float @llvm.fmuladd.f32(float %739, float %mul182.5.2, float %740) #5 | |
%mul11.i.5.2 = fmul float %741, %div.i.5.2 | |
%mul184.5.2 = fmul float %mul21, %mul11.i.5.2 | |
%742 = tail call float @llvm.fmuladd.f32(float %mul180.5.2, float %div167.5.2, float %mul184.5.2) | |
%743 = tail call float @llvm.fmuladd.f32(float %mul179.5.2, float %742, float %mul178.5.2) | |
%splat.splatinsert.5.2 = insertelement <3 x float> undef, float %743, i32 0 | |
%splat.splat.5.2 = shufflevector <3 x float> %splat.splatinsert.5.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.5.2 = fmul <3 x float> %extractVec137.5.2, %splat.splat.5.2 | |
%extractVec197.5.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.5.2 = fsub <3 x float> %extractVec197.5.2, %mul189.5.2 | |
%extractVec199.5.2 = shufflevector <3 x float> %sub198.5.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.5.2 = shufflevector <4 x float> %loadVec4206.5.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.5.2 = fadd <3 x float> %extractVec207.5.2, %mul189.5.2 | |
%extractVec209.5.2 = shufflevector <3 x float> %add208.5.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.5.2 | |
if.end212.5.2: ; preds = %if.then153.5.2, %if.then119.5.2, %if.end212.4.2 | |
%744 = phi <3 x float> [ %add208.5.2, %if.then153.5.2 ], [ %566, %if.then119.5.2 ], [ %566, %if.end212.4.2 ] | |
%loadVec4206.5734 = phi <4 x float> [ %extractVec209.5.2, %if.then153.5.2 ], [ %loadVec4206.5.2, %if.then119.5.2 ], [ %loadVec4206.5.2, %if.end212.4.2 ] | |
%fcj_buf.sroa.0.1.5.2 = phi <4 x float> [ %extractVec199.5.2, %if.then153.5.2 ], [ %fcj_buf.sroa.0.1.4.2, %if.then119.5.2 ], [ %fcj_buf.sroa.0.1.4.2, %if.end212.4.2 ] | |
%and117.6.2 = and i32 %45, 4194304 | |
%tobool118.6.2 = icmp eq i32 %and117.6.2, 0 | |
br i1 %tobool118.6.2, label %if.end212.6.2, label %if.then119.6.2 | |
if.then119.6.2: ; preds = %if.end212.5.2 | |
%745 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.6.3, align 16, !tbaa !36 | |
%746 = fsub <4 x float> %745, %574 | |
%747 = extractelement <4 x float> %746, i32 0 | |
%748 = extractelement <4 x float> %746, i32 1 | |
%mul3.i.i.6.2 = fmul float %748, %748 | |
%749 = tail call float @llvm.fmuladd.f32(float %747, float %747, float %mul3.i.i.6.2) #5 | |
%750 = extractelement <4 x float> %746, i32 2 | |
%751 = tail call float @llvm.fmuladd.f32(float %750, float %750, float %749) #5 | |
%and139.6.2 = and i32 %47, 4194304 | |
%tobool140.6.2 = icmp ne i32 %and139.6.2, 0 | |
%cond.6.2 = select i1 %tobool140.6.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.6.2 = icmp ne i32 %24, %572 | |
%not.or.cond.6.2 = or i1 %notlhs, %notrhs.6.2 | |
%cmp147..6.2 = or i1 %cmp147, %not.or.cond.6.2 | |
%conv149.6.2 = uitofp i1 %cmp147..6.2 to float | |
%mul150.6.2 = fmul float %conv149.6.2, %nbparam_params_rcoulomb_sq | |
%cmp151.6.2 = fcmp olt float %751, %mul150.6.2 | |
br i1 %cmp151.6.2, label %if.then153.6.2, label %if.end212.6.2 | |
if.then153.6.2: ; preds = %if.then119.6.2 | |
%extractVec137.6.2 = shufflevector <4 x float> %746, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%752 = extractelement <4 x float> %745, i32 3 | |
%753 = load i32, i32 addrspace(1)* %arrayidx154.6.3, align 4, !tbaa !41 | |
%mul155.6.2 = mul nsw i32 %753, %ntypes | |
%add156.6.2 = add nsw i32 %mul155.6.2, %576 | |
%mul157.6.2 = shl nsw i32 %add156.6.2, 1 | |
%754 = sext i32 %mul157.6.2 to i64 | |
%arrayidx158.6.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %754 | |
%755 = load float, float addrspace(2)* %arrayidx158.6.2, align 4, !tbaa !39 | |
%add162.6.2 = or i32 %mul157.6.2, 1 | |
%756 = sext i32 %add162.6.2 to i64 | |
%arrayidx163.6.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %756 | |
%757 = load float, float addrspace(2)* %arrayidx163.6.2, align 4, !tbaa !39 | |
%sub164.6.2 = fsub float 1.000000e+00, %cond.6.2 | |
%758 = tail call float @llvm.fmuladd.f32(float %sub164.6.2, float 0x3D71979980000000, float %751) | |
%cmp.i.i.6.2 = fcmp olt float %758, 0.000000e+00 | |
%call.i.i.6.2 = tail call float @llvm.sqrt.f32(float %758) #6 | |
%call.i.i.op.6.2 = fdiv float 1.000000e+00, %call.i.i.6.2 | |
%div167.6.2 = select i1 %cmp.i.i.6.2, float 0x7FF8000000000000, float %call.i.i.op.6.2 | |
%mul168.6.2 = fmul float %div167.6.2, %div167.6.2 | |
%mul169.6.2 = fmul float %mul168.6.2, %mul168.6.2 | |
%mul170.6.2 = fmul float %mul168.6.2, %mul169.6.2 | |
%mul171.6.2 = fmul float %cond.6.2, %mul170.6.2 | |
%neg.6.2 = fsub float -0.000000e+00, %755 | |
%759 = tail call float @llvm.fmuladd.f32(float %757, float %mul171.6.2, float %neg.6.2) | |
%mul173.6.2 = fmul float %mul171.6.2, %759 | |
%mul174.6.2 = fmul float %mul168.6.2, %mul173.6.2 | |
%cmp175.6.2 = fcmp olt float %758, %nbparam_params_rvdw_sq | |
%cond177.6.2 = select i1 %cmp175.6.2, float 1.000000e+00, float 0.000000e+00 | |
%mul178.6.2 = fmul float %cond177.6.2, %mul174.6.2 | |
%mul179.6.2 = fmul float %575, %752 | |
%mul180.6.2 = fmul float %cond.6.2, %mul168.6.2 | |
%mul182.6.2 = fmul float %mul, %758 | |
%mul.i.6.2 = fmul float %mul182.6.2, %mul182.6.2 | |
%760 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.6.2, float 0x3FBDA79640000000) #5 | |
%761 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.6.2, float 0x3FE03C5780000000) #5 | |
%762 = tail call float @llvm.fmuladd.f32(float %760, float %mul.i.6.2, float 1.000000e+00) #5 | |
%763 = tail call float @llvm.fmuladd.f32(float %761, float %mul182.6.2, float %762) #5 | |
%div.i.6.2 = fdiv float 1.000000e+00, %763, !fpmath !46 | |
%764 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.6.2, float 0xBF0BFF7260000000) #5 | |
%765 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.6.2, float 0x3F50794180000000) #5 | |
%766 = tail call float @llvm.fmuladd.f32(float %764, float %mul.i.6.2, float 0xBF93BDB200000000) #5 | |
%767 = tail call float @llvm.fmuladd.f32(float %765, float %mul.i.6.2, float 0x3FB1D5E760000000) #5 | |
%768 = tail call float @llvm.fmuladd.f32(float %766, float %mul.i.6.2, float 0xBFE81272E0000000) #5 | |
%769 = tail call float @llvm.fmuladd.f32(float %767, float %mul182.6.2, float %768) #5 | |
%mul11.i.6.2 = fmul float %769, %div.i.6.2 | |
%mul184.6.2 = fmul float %mul21, %mul11.i.6.2 | |
%770 = tail call float @llvm.fmuladd.f32(float %mul180.6.2, float %div167.6.2, float %mul184.6.2) | |
%771 = tail call float @llvm.fmuladd.f32(float %mul179.6.2, float %770, float %mul178.6.2) | |
%splat.splatinsert.6.2 = insertelement <3 x float> undef, float %771, i32 0 | |
%splat.splat.6.2 = shufflevector <3 x float> %splat.splatinsert.6.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.6.2 = fmul <3 x float> %extractVec137.6.2, %splat.splat.6.2 | |
%extractVec197.6.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.6.2 = fsub <3 x float> %extractVec197.6.2, %mul189.6.2 | |
%extractVec199.6.2 = shufflevector <3 x float> %sub198.6.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.6.2 = shufflevector <4 x float> %loadVec4206.6.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.6.2 = fadd <3 x float> %extractVec207.6.2, %mul189.6.2 | |
%extractVec209.6.2 = shufflevector <3 x float> %add208.6.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.6.2 | |
if.end212.6.2: ; preds = %if.then153.6.2, %if.then119.6.2, %if.end212.5.2 | |
%772 = phi <3 x float> [ %add208.6.2, %if.then153.6.2 ], [ %565, %if.then119.6.2 ], [ %565, %if.end212.5.2 ] | |
%loadVec4206.6744 = phi <4 x float> [ %extractVec209.6.2, %if.then153.6.2 ], [ %loadVec4206.6.2, %if.then119.6.2 ], [ %loadVec4206.6.2, %if.end212.5.2 ] | |
%fcj_buf.sroa.0.1.6.2 = phi <4 x float> [ %extractVec199.6.2, %if.then153.6.2 ], [ %fcj_buf.sroa.0.1.5.2, %if.then119.6.2 ], [ %fcj_buf.sroa.0.1.5.2, %if.end212.5.2 ] | |
%and117.7.2 = and i32 %45, 8388608 | |
%tobool118.7.2 = icmp eq i32 %and117.7.2, 0 | |
br i1 %tobool118.7.2, label %if.end212.7.2, label %if.then119.7.2 | |
if.then119.7.2: ; preds = %if.end212.6.2 | |
%773 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.7.3, align 16, !tbaa !36 | |
%774 = fsub <4 x float> %773, %574 | |
%775 = extractelement <4 x float> %774, i32 0 | |
%776 = extractelement <4 x float> %774, i32 1 | |
%mul3.i.i.7.2 = fmul float %776, %776 | |
%777 = tail call float @llvm.fmuladd.f32(float %775, float %775, float %mul3.i.i.7.2) #5 | |
%778 = extractelement <4 x float> %774, i32 2 | |
%779 = tail call float @llvm.fmuladd.f32(float %778, float %778, float %777) #5 | |
%and139.7.2 = and i32 %47, 8388608 | |
%tobool140.7.2 = icmp ne i32 %and139.7.2, 0 | |
%cond.7.2 = select i1 %tobool140.7.2, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.7.2 = icmp ne i32 %22, %572 | |
%not.or.cond.7.2 = or i1 %notlhs, %notrhs.7.2 | |
%cmp147..7.2 = or i1 %cmp147, %not.or.cond.7.2 | |
%conv149.7.2 = uitofp i1 %cmp147..7.2 to float | |
%mul150.7.2 = fmul float %conv149.7.2, %nbparam_params_rcoulomb_sq | |
%cmp151.7.2 = fcmp olt float %779, %mul150.7.2 | |
br i1 %cmp151.7.2, label %if.then153.7.2, label %if.end212.7.2 | |
if.then153.7.2: ; preds = %if.then119.7.2 | |
%extractVec137.7.2 = shufflevector <4 x float> %774, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%780 = extractelement <4 x float> %773, i32 3 | |
%781 = load i32, i32 addrspace(1)* %arrayidx154.7.3, align 4, !tbaa !41 | |
%mul155.7.2 = mul nsw i32 %781, %ntypes | |
%add156.7.2 = add nsw i32 %mul155.7.2, %576 | |
%mul157.7.2 = shl nsw i32 %add156.7.2, 1 | |
%782 = sext i32 %mul157.7.2 to i64 | |
%arrayidx158.7.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %782 | |
%783 = load float, float addrspace(2)* %arrayidx158.7.2, align 4, !tbaa !39 | |
%add162.7.2 = or i32 %mul157.7.2, 1 | |
%784 = sext i32 %add162.7.2 to i64 | |
%arrayidx163.7.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %784 | |
%785 = load float, float addrspace(2)* %arrayidx163.7.2, align 4, !tbaa !39 | |
%sub164.7.2 = fsub float 1.000000e+00, %cond.7.2 | |
%786 = tail call float @llvm.fmuladd.f32(float %sub164.7.2, float 0x3D71979980000000, float %779) | |
%cmp.i.i.7.2 = fcmp olt float %786, 0.000000e+00 | |
%call.i.i.7.2 = tail call float @llvm.sqrt.f32(float %786) #6 | |
%call.i.i.op.7.2 = fdiv float 1.000000e+00, %call.i.i.7.2 | |
%div167.7.2 = select i1 %cmp.i.i.7.2, float 0x7FF8000000000000, float %call.i.i.op.7.2 | |
%mul168.7.2 = fmul float %div167.7.2, %div167.7.2 | |
%mul169.7.2 = fmul float %mul168.7.2, %mul168.7.2 | |
%mul170.7.2 = fmul float %mul168.7.2, %mul169.7.2 | |
%mul171.7.2 = fmul float %cond.7.2, %mul170.7.2 | |
%neg.7.2 = fsub float -0.000000e+00, %783 | |
%787 = tail call float @llvm.fmuladd.f32(float %785, float %mul171.7.2, float %neg.7.2) | |
%mul173.7.2 = fmul float %mul171.7.2, %787 | |
%mul174.7.2 = fmul float %mul168.7.2, %mul173.7.2 | |
%cmp175.7.2 = fcmp olt float %786, %nbparam_params_rvdw_sq | |
%cond177.7.2 = select i1 %cmp175.7.2, float 1.000000e+00, float 0.000000e+00 | |
%mul178.7.2 = fmul float %cond177.7.2, %mul174.7.2 | |
%mul179.7.2 = fmul float %575, %780 | |
%mul180.7.2 = fmul float %cond.7.2, %mul168.7.2 | |
%mul182.7.2 = fmul float %mul, %786 | |
%mul.i.7.2 = fmul float %mul182.7.2, %mul182.7.2 | |
%788 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.7.2, float 0x3FBDA79640000000) #5 | |
%789 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.7.2, float 0x3FE03C5780000000) #5 | |
%790 = tail call float @llvm.fmuladd.f32(float %788, float %mul.i.7.2, float 1.000000e+00) #5 | |
%791 = tail call float @llvm.fmuladd.f32(float %789, float %mul182.7.2, float %790) #5 | |
%div.i.7.2 = fdiv float 1.000000e+00, %791, !fpmath !46 | |
%792 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.7.2, float 0xBF0BFF7260000000) #5 | |
%793 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.7.2, float 0x3F50794180000000) #5 | |
%794 = tail call float @llvm.fmuladd.f32(float %792, float %mul.i.7.2, float 0xBF93BDB200000000) #5 | |
%795 = tail call float @llvm.fmuladd.f32(float %793, float %mul.i.7.2, float 0x3FB1D5E760000000) #5 | |
%796 = tail call float @llvm.fmuladd.f32(float %794, float %mul.i.7.2, float 0xBFE81272E0000000) #5 | |
%797 = tail call float @llvm.fmuladd.f32(float %795, float %mul182.7.2, float %796) #5 | |
%mul11.i.7.2 = fmul float %797, %div.i.7.2 | |
%mul184.7.2 = fmul float %mul21, %mul11.i.7.2 | |
%798 = tail call float @llvm.fmuladd.f32(float %mul180.7.2, float %div167.7.2, float %mul184.7.2) | |
%799 = tail call float @llvm.fmuladd.f32(float %mul179.7.2, float %798, float %mul178.7.2) | |
%splat.splatinsert.7.2 = insertelement <3 x float> undef, float %799, i32 0 | |
%splat.splat.7.2 = shufflevector <3 x float> %splat.splatinsert.7.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.7.2 = fmul <3 x float> %extractVec137.7.2, %splat.splat.7.2 | |
%extractVec197.7.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.7.2 = fsub <3 x float> %extractVec197.7.2, %mul189.7.2 | |
%extractVec199.7.2 = shufflevector <3 x float> %sub198.7.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.7.2 = shufflevector <4 x float> %loadVec4206.7.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.7.2 = fadd <3 x float> %extractVec207.7.2, %mul189.7.2 | |
%extractVec209.7.2 = shufflevector <3 x float> %add208.7.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.7.2 | |
if.end212.7.2: ; preds = %if.then153.7.2, %if.then119.7.2, %if.end212.6.2 | |
%fci_buf.sroa.37.7 = phi <4 x float> [ %fci_buf.sroa.37.6, %if.end212.6.2 ], [ %extractVec209.7.2, %if.then153.7.2 ], [ %fci_buf.sroa.37.6, %if.then119.7.2 ] | |
%loadVec4206.7754 = phi <4 x float> [ %loadVec4206.7.2, %if.end212.6.2 ], [ %extractVec209.7.2, %if.then153.7.2 ], [ %loadVec4206.7.2, %if.then119.7.2 ] | |
%fcj_buf.sroa.0.1.7.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.2, %if.end212.6.2 ], [ %extractVec199.7.2, %if.then153.7.2 ], [ %fcj_buf.sroa.0.1.6.2, %if.then119.7.2 ] | |
%800 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 0 | |
store float %800, float addrspace(3)* %arrayidx217, align 4, !tbaa !39 | |
%801 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 1 | |
store float %801, float addrspace(3)* %arrayidx219, align 4, !tbaa !39 | |
%802 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 2 | |
store float %802, float addrspace(3)* %arrayidx221, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add108.2) | |
br label %for.inc223.2 | |
for.inc223.2: ; preds = %if.end212.7.2, %for.inc223.1 | |
%fci_buf.sroa.37.8 = phi <4 x float> [ %fci_buf.sroa.37.6, %for.inc223.1 ], [ %fci_buf.sroa.37.7, %if.end212.7.2 ] | |
%803 = phi <3 x float> [ %565, %for.inc223.1 ], [ %772, %if.end212.7.2 ] | |
%804 = phi <3 x float> [ %566, %for.inc223.1 ], [ %744, %if.end212.7.2 ] | |
%805 = phi <3 x float> [ %567, %for.inc223.1 ], [ %716, %if.end212.7.2 ] | |
%806 = phi <3 x float> [ %568, %for.inc223.1 ], [ %688, %if.end212.7.2 ] | |
%807 = phi <3 x float> [ %569, %for.inc223.1 ], [ %660, %if.end212.7.2 ] | |
%808 = phi <3 x float> [ %570, %for.inc223.1 ], [ %632, %if.end212.7.2 ] | |
%809 = phi <3 x float> [ %571, %for.inc223.1 ], [ %604, %if.end212.7.2 ] | |
%loadVec4206.7.3 = phi <4 x float> [ %loadVec4206.7.2, %for.inc223.1 ], [ %loadVec4206.7754, %if.end212.7.2 ] | |
%loadVec4206.6.3 = phi <4 x float> [ %loadVec4206.6.2, %for.inc223.1 ], [ %loadVec4206.6744, %if.end212.7.2 ] | |
%loadVec4206.5.3 = phi <4 x float> [ %loadVec4206.5.2, %for.inc223.1 ], [ %loadVec4206.5734, %if.end212.7.2 ] | |
%loadVec4206.4.3 = phi <4 x float> [ %loadVec4206.4.2, %for.inc223.1 ], [ %loadVec4206.4724, %if.end212.7.2 ] | |
%loadVec4206.3.3 = phi <4 x float> [ %loadVec4206.3.2, %for.inc223.1 ], [ %loadVec4206.3714, %if.end212.7.2 ] | |
%loadVec4206.2.3 = phi <4 x float> [ %loadVec4206.2.2, %for.inc223.1 ], [ %loadVec4206.2704, %if.end212.7.2 ] | |
%loadVec4206.1.3 = phi <4 x float> [ %loadVec4206.1.2, %for.inc223.1 ], [ %loadVec4206.1694, %if.end212.7.2 ] | |
%loadVec4206.3674 = phi <4 x float> [ %loadVec4206.2613, %for.inc223.1 ], [ %loadVec4206684, %if.end212.7.2 ] | |
%tobool97.3 = icmp ult i32 %45, 16777216 | |
br i1 %tobool97.3, label %for.inc227, label %if.then98.3 | |
if.then98.3: ; preds = %for.inc223.2 | |
%810 = load i32, i32 addrspace(3)* %arrayidx106.3, align 4, !tbaa !41 | |
%mul107.3 = shl nsw i32 %810, 3 | |
%add108.3 = add i32 %mul107.3, %y.i | |
%811 = sext i32 %add108.3 to i64 | |
%arrayidx109.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %811 | |
%812 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx109.3, align 16, !tbaa !36 | |
%813 = extractelement <4 x float> %812, i32 3 | |
%arrayidx111.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %811 | |
%814 = load i32, i32 addrspace(1)* %arrayidx111.3, align 4, !tbaa !41 | |
%and117.3621 = and i32 %45, 16777216 | |
%tobool118.3622 = icmp eq i32 %and117.3621, 0 | |
br i1 %tobool118.3622, label %if.end212.3681, label %if.then119.3634 | |
if.then119.3634: ; preds = %if.then98.3 | |
%815 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.3623, align 16, !tbaa !36 | |
%816 = fsub <4 x float> %815, %812 | |
%817 = extractelement <4 x float> %816, i32 0 | |
%818 = extractelement <4 x float> %816, i32 1 | |
%mul3.i.i.3624 = fmul float %818, %818 | |
%819 = tail call float @llvm.fmuladd.f32(float %817, float %817, float %mul3.i.i.3624) #5 | |
%820 = extractelement <4 x float> %816, i32 2 | |
%821 = tail call float @llvm.fmuladd.f32(float %820, float %820, float %819) #5 | |
%and139.3625 = and i32 %47, 16777216 | |
%tobool140.3626 = icmp ne i32 %and139.3625, 0 | |
%cond.3627 = select i1 %tobool140.3626, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3628 = icmp ne i32 %mul31, %810 | |
%not.or.cond.3629 = or i1 %notlhs, %notrhs.3628 | |
%cmp147..3630 = or i1 %cmp147, %not.or.cond.3629 | |
%conv149.3631 = uitofp i1 %cmp147..3630 to float | |
%mul150.3632 = fmul float %conv149.3631, %nbparam_params_rcoulomb_sq | |
%cmp151.3633 = fcmp olt float %821, %mul150.3632 | |
br i1 %cmp151.3633, label %if.then153.3678, label %if.end212.3681 | |
if.then153.3678: ; preds = %if.then119.3634 | |
%extractVec137.3635 = shufflevector <4 x float> %816, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%822 = extractelement <4 x float> %815, i32 3 | |
%823 = load i32, i32 addrspace(1)* %arrayidx154.3638, align 4, !tbaa !41 | |
%mul155.3639 = mul nsw i32 %823, %ntypes | |
%add156.3640 = add nsw i32 %mul155.3639, %814 | |
%mul157.3641 = shl nsw i32 %add156.3640, 1 | |
%824 = sext i32 %mul157.3641 to i64 | |
%arrayidx158.3642 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %824 | |
%825 = load float, float addrspace(2)* %arrayidx158.3642, align 4, !tbaa !39 | |
%add162.3643 = or i32 %mul157.3641, 1 | |
%826 = sext i32 %add162.3643 to i64 | |
%arrayidx163.3644 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %826 | |
%827 = load float, float addrspace(2)* %arrayidx163.3644, align 4, !tbaa !39 | |
%sub164.3645 = fsub float 1.000000e+00, %cond.3627 | |
%828 = tail call float @llvm.fmuladd.f32(float %sub164.3645, float 0x3D71979980000000, float %821) | |
%cmp.i.i.3646 = fcmp olt float %828, 0.000000e+00 | |
%call.i.i.3647 = tail call float @llvm.sqrt.f32(float %828) #6 | |
%call.i.i.op.3648 = fdiv float 1.000000e+00, %call.i.i.3647 | |
%div167.3649 = select i1 %cmp.i.i.3646, float 0x7FF8000000000000, float %call.i.i.op.3648 | |
%mul168.3650 = fmul float %div167.3649, %div167.3649 | |
%mul169.3651 = fmul float %mul168.3650, %mul168.3650 | |
%mul170.3652 = fmul float %mul168.3650, %mul169.3651 | |
%mul171.3653 = fmul float %cond.3627, %mul170.3652 | |
%neg.3654 = fsub float -0.000000e+00, %825 | |
%829 = tail call float @llvm.fmuladd.f32(float %827, float %mul171.3653, float %neg.3654) | |
%mul173.3655 = fmul float %mul171.3653, %829 | |
%mul174.3656 = fmul float %mul168.3650, %mul173.3655 | |
%cmp175.3657 = fcmp olt float %828, %nbparam_params_rvdw_sq | |
%cond177.3658 = select i1 %cmp175.3657, float 1.000000e+00, float 0.000000e+00 | |
%mul178.3659 = fmul float %cond177.3658, %mul174.3656 | |
%mul179.3660 = fmul float %813, %822 | |
%mul180.3661 = fmul float %cond.3627, %mul168.3650 | |
%mul182.3662 = fmul float %mul, %828 | |
%mul.i.3663 = fmul float %mul182.3662, %mul182.3662 | |
%830 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3663, float 0x3FBDA79640000000) #5 | |
%831 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3663, float 0x3FE03C5780000000) #5 | |
%832 = tail call float @llvm.fmuladd.f32(float %830, float %mul.i.3663, float 1.000000e+00) #5 | |
%833 = tail call float @llvm.fmuladd.f32(float %831, float %mul182.3662, float %832) #5 | |
%div.i.3664 = fdiv float 1.000000e+00, %833, !fpmath !46 | |
%834 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3663, float 0xBF0BFF7260000000) #5 | |
%835 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3663, float 0x3F50794180000000) #5 | |
%836 = tail call float @llvm.fmuladd.f32(float %834, float %mul.i.3663, float 0xBF93BDB200000000) #5 | |
%837 = tail call float @llvm.fmuladd.f32(float %835, float %mul.i.3663, float 0x3FB1D5E760000000) #5 | |
%838 = tail call float @llvm.fmuladd.f32(float %836, float %mul.i.3663, float 0xBFE81272E0000000) #5 | |
%839 = tail call float @llvm.fmuladd.f32(float %837, float %mul182.3662, float %838) #5 | |
%mul11.i.3665 = fmul float %839, %div.i.3664 | |
%mul184.3666 = fmul float %mul21, %mul11.i.3665 | |
%840 = tail call float @llvm.fmuladd.f32(float %mul180.3661, float %div167.3649, float %mul184.3666) | |
%841 = tail call float @llvm.fmuladd.f32(float %mul179.3660, float %840, float %mul178.3659) | |
%splat.splatinsert.3667 = insertelement <3 x float> undef, float %841, i32 0 | |
%splat.splat.3668 = shufflevector <3 x float> %splat.splatinsert.3667, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.3669 = fmul <3 x float> %extractVec137.3635, %splat.splat.3668 | |
%sub198.3670 = fsub <3 x float> zeroinitializer, %mul189.3669 | |
%extractVec199.3671 = shufflevector <3 x float> %sub198.3670, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.3675 = shufflevector <4 x float> %loadVec4206.3674, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.3676 = fadd <3 x float> %extractVec207.3675, %mul189.3669 | |
%extractVec209.3677 = shufflevector <3 x float> %add208.3676, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.3681 | |
if.end212.3681: ; preds = %if.then153.3678, %if.then119.3634, %if.then98.3 | |
%842 = phi <3 x float> [ %add208.3676, %if.then153.3678 ], [ %809, %if.then119.3634 ], [ %809, %if.then98.3 ] | |
%loadVec4206685 = phi <4 x float> [ %extractVec209.3677, %if.then153.3678 ], [ %loadVec4206.3674, %if.then119.3634 ], [ %loadVec4206.3674, %if.then98.3 ] | |
%fcj_buf.sroa.0.1.3679 = phi <4 x float> [ %extractVec199.3671, %if.then153.3678 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then119.3634 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then98.3 ] | |
%and117.1.3 = and i32 %45, 33554432 | |
%tobool118.1.3 = icmp eq i32 %and117.1.3, 0 | |
br i1 %tobool118.1.3, label %if.end212.1.3, label %if.then119.1.3 | |
if.then119.1.3: ; preds = %if.end212.3681 | |
%843 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.1.3, align 16, !tbaa !36 | |
%844 = fsub <4 x float> %843, %812 | |
%845 = extractelement <4 x float> %844, i32 0 | |
%846 = extractelement <4 x float> %844, i32 1 | |
%mul3.i.i.1.3 = fmul float %846, %846 | |
%847 = tail call float @llvm.fmuladd.f32(float %845, float %845, float %mul3.i.i.1.3) #5 | |
%848 = extractelement <4 x float> %844, i32 2 | |
%849 = tail call float @llvm.fmuladd.f32(float %848, float %848, float %847) #5 | |
%and139.1.3 = and i32 %47, 33554432 | |
%tobool140.1.3 = icmp ne i32 %and139.1.3, 0 | |
%cond.1.3 = select i1 %tobool140.1.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.1.3 = icmp ne i32 %34, %810 | |
%not.or.cond.1.3 = or i1 %notlhs, %notrhs.1.3 | |
%cmp147..1.3 = or i1 %cmp147, %not.or.cond.1.3 | |
%conv149.1.3 = uitofp i1 %cmp147..1.3 to float | |
%mul150.1.3 = fmul float %conv149.1.3, %nbparam_params_rcoulomb_sq | |
%cmp151.1.3 = fcmp olt float %849, %mul150.1.3 | |
br i1 %cmp151.1.3, label %if.then153.1.3, label %if.end212.1.3 | |
if.then153.1.3: ; preds = %if.then119.1.3 | |
%extractVec137.1.3 = shufflevector <4 x float> %844, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%850 = extractelement <4 x float> %843, i32 3 | |
%851 = load i32, i32 addrspace(1)* %arrayidx154.1.3, align 4, !tbaa !41 | |
%mul155.1.3 = mul nsw i32 %851, %ntypes | |
%add156.1.3 = add nsw i32 %mul155.1.3, %814 | |
%mul157.1.3 = shl nsw i32 %add156.1.3, 1 | |
%852 = sext i32 %mul157.1.3 to i64 | |
%arrayidx158.1.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %852 | |
%853 = load float, float addrspace(2)* %arrayidx158.1.3, align 4, !tbaa !39 | |
%add162.1.3 = or i32 %mul157.1.3, 1 | |
%854 = sext i32 %add162.1.3 to i64 | |
%arrayidx163.1.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %854 | |
%855 = load float, float addrspace(2)* %arrayidx163.1.3, align 4, !tbaa !39 | |
%sub164.1.3 = fsub float 1.000000e+00, %cond.1.3 | |
%856 = tail call float @llvm.fmuladd.f32(float %sub164.1.3, float 0x3D71979980000000, float %849) | |
%cmp.i.i.1.3 = fcmp olt float %856, 0.000000e+00 | |
%call.i.i.1.3 = tail call float @llvm.sqrt.f32(float %856) #6 | |
%call.i.i.op.1.3 = fdiv float 1.000000e+00, %call.i.i.1.3 | |
%div167.1.3 = select i1 %cmp.i.i.1.3, float 0x7FF8000000000000, float %call.i.i.op.1.3 | |
%mul168.1.3 = fmul float %div167.1.3, %div167.1.3 | |
%mul169.1.3 = fmul float %mul168.1.3, %mul168.1.3 | |
%mul170.1.3 = fmul float %mul168.1.3, %mul169.1.3 | |
%mul171.1.3 = fmul float %cond.1.3, %mul170.1.3 | |
%neg.1.3 = fsub float -0.000000e+00, %853 | |
%857 = tail call float @llvm.fmuladd.f32(float %855, float %mul171.1.3, float %neg.1.3) | |
%mul173.1.3 = fmul float %mul171.1.3, %857 | |
%mul174.1.3 = fmul float %mul168.1.3, %mul173.1.3 | |
%cmp175.1.3 = fcmp olt float %856, %nbparam_params_rvdw_sq | |
%cond177.1.3 = select i1 %cmp175.1.3, float 1.000000e+00, float 0.000000e+00 | |
%mul178.1.3 = fmul float %cond177.1.3, %mul174.1.3 | |
%mul179.1.3 = fmul float %813, %850 | |
%mul180.1.3 = fmul float %cond.1.3, %mul168.1.3 | |
%mul182.1.3 = fmul float %mul, %856 | |
%mul.i.1.3 = fmul float %mul182.1.3, %mul182.1.3 | |
%858 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1.3, float 0x3FBDA79640000000) #5 | |
%859 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1.3, float 0x3FE03C5780000000) #5 | |
%860 = tail call float @llvm.fmuladd.f32(float %858, float %mul.i.1.3, float 1.000000e+00) #5 | |
%861 = tail call float @llvm.fmuladd.f32(float %859, float %mul182.1.3, float %860) #5 | |
%div.i.1.3 = fdiv float 1.000000e+00, %861, !fpmath !46 | |
%862 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1.3, float 0xBF0BFF7260000000) #5 | |
%863 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1.3, float 0x3F50794180000000) #5 | |
%864 = tail call float @llvm.fmuladd.f32(float %862, float %mul.i.1.3, float 0xBF93BDB200000000) #5 | |
%865 = tail call float @llvm.fmuladd.f32(float %863, float %mul.i.1.3, float 0x3FB1D5E760000000) #5 | |
%866 = tail call float @llvm.fmuladd.f32(float %864, float %mul.i.1.3, float 0xBFE81272E0000000) #5 | |
%867 = tail call float @llvm.fmuladd.f32(float %865, float %mul182.1.3, float %866) #5 | |
%mul11.i.1.3 = fmul float %867, %div.i.1.3 | |
%mul184.1.3 = fmul float %mul21, %mul11.i.1.3 | |
%868 = tail call float @llvm.fmuladd.f32(float %mul180.1.3, float %div167.1.3, float %mul184.1.3) | |
%869 = tail call float @llvm.fmuladd.f32(float %mul179.1.3, float %868, float %mul178.1.3) | |
%splat.splatinsert.1.3 = insertelement <3 x float> undef, float %869, i32 0 | |
%splat.splat.1.3 = shufflevector <3 x float> %splat.splatinsert.1.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.1.3 = fmul <3 x float> %extractVec137.1.3, %splat.splat.1.3 | |
%extractVec197.1.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3679, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.1.3 = fsub <3 x float> %extractVec197.1.3, %mul189.1.3 | |
%extractVec199.1.3 = shufflevector <3 x float> %sub198.1.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.1.3 = shufflevector <4 x float> %loadVec4206.1.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.1.3 = fadd <3 x float> %extractVec207.1.3, %mul189.1.3 | |
%extractVec209.1.3 = shufflevector <3 x float> %add208.1.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.1.3 | |
if.end212.1.3: ; preds = %if.then153.1.3, %if.then119.1.3, %if.end212.3681 | |
%870 = phi <3 x float> [ %add208.1.3, %if.then153.1.3 ], [ %808, %if.then119.1.3 ], [ %808, %if.end212.3681 ] | |
%loadVec4206.1695 = phi <4 x float> [ %extractVec209.1.3, %if.then153.1.3 ], [ %loadVec4206.1.3, %if.then119.1.3 ], [ %loadVec4206.1.3, %if.end212.3681 ] | |
%fcj_buf.sroa.0.1.1.3 = phi <4 x float> [ %extractVec199.1.3, %if.then153.1.3 ], [ %fcj_buf.sroa.0.1.3679, %if.then119.1.3 ], [ %fcj_buf.sroa.0.1.3679, %if.end212.3681 ] | |
%and117.2.3 = and i32 %45, 67108864 | |
%tobool118.2.3 = icmp eq i32 %and117.2.3, 0 | |
br i1 %tobool118.2.3, label %if.end212.2.3, label %if.then119.2.3 | |
if.then119.2.3: ; preds = %if.end212.1.3 | |
%871 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.2.3, align 16, !tbaa !36 | |
%872 = fsub <4 x float> %871, %812 | |
%873 = extractelement <4 x float> %872, i32 0 | |
%874 = extractelement <4 x float> %872, i32 1 | |
%mul3.i.i.2.3 = fmul float %874, %874 | |
%875 = tail call float @llvm.fmuladd.f32(float %873, float %873, float %mul3.i.i.2.3) #5 | |
%876 = extractelement <4 x float> %872, i32 2 | |
%877 = tail call float @llvm.fmuladd.f32(float %876, float %876, float %875) #5 | |
%and139.2.3 = and i32 %47, 67108864 | |
%tobool140.2.3 = icmp ne i32 %and139.2.3, 0 | |
%cond.2.3 = select i1 %tobool140.2.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.2.3 = icmp ne i32 %32, %810 | |
%not.or.cond.2.3 = or i1 %notlhs, %notrhs.2.3 | |
%cmp147..2.3 = or i1 %cmp147, %not.or.cond.2.3 | |
%conv149.2.3 = uitofp i1 %cmp147..2.3 to float | |
%mul150.2.3 = fmul float %conv149.2.3, %nbparam_params_rcoulomb_sq | |
%cmp151.2.3 = fcmp olt float %877, %mul150.2.3 | |
br i1 %cmp151.2.3, label %if.then153.2.3, label %if.end212.2.3 | |
if.then153.2.3: ; preds = %if.then119.2.3 | |
%extractVec137.2.3 = shufflevector <4 x float> %872, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%878 = extractelement <4 x float> %871, i32 3 | |
%879 = load i32, i32 addrspace(1)* %arrayidx154.2.3, align 4, !tbaa !41 | |
%mul155.2.3 = mul nsw i32 %879, %ntypes | |
%add156.2.3 = add nsw i32 %mul155.2.3, %814 | |
%mul157.2.3 = shl nsw i32 %add156.2.3, 1 | |
%880 = sext i32 %mul157.2.3 to i64 | |
%arrayidx158.2.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %880 | |
%881 = load float, float addrspace(2)* %arrayidx158.2.3, align 4, !tbaa !39 | |
%add162.2.3 = or i32 %mul157.2.3, 1 | |
%882 = sext i32 %add162.2.3 to i64 | |
%arrayidx163.2.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %882 | |
%883 = load float, float addrspace(2)* %arrayidx163.2.3, align 4, !tbaa !39 | |
%sub164.2.3 = fsub float 1.000000e+00, %cond.2.3 | |
%884 = tail call float @llvm.fmuladd.f32(float %sub164.2.3, float 0x3D71979980000000, float %877) | |
%cmp.i.i.2.3 = fcmp olt float %884, 0.000000e+00 | |
%call.i.i.2.3 = tail call float @llvm.sqrt.f32(float %884) #6 | |
%call.i.i.op.2.3 = fdiv float 1.000000e+00, %call.i.i.2.3 | |
%div167.2.3 = select i1 %cmp.i.i.2.3, float 0x7FF8000000000000, float %call.i.i.op.2.3 | |
%mul168.2.3 = fmul float %div167.2.3, %div167.2.3 | |
%mul169.2.3 = fmul float %mul168.2.3, %mul168.2.3 | |
%mul170.2.3 = fmul float %mul168.2.3, %mul169.2.3 | |
%mul171.2.3 = fmul float %cond.2.3, %mul170.2.3 | |
%neg.2.3 = fsub float -0.000000e+00, %881 | |
%885 = tail call float @llvm.fmuladd.f32(float %883, float %mul171.2.3, float %neg.2.3) | |
%mul173.2.3 = fmul float %mul171.2.3, %885 | |
%mul174.2.3 = fmul float %mul168.2.3, %mul173.2.3 | |
%cmp175.2.3 = fcmp olt float %884, %nbparam_params_rvdw_sq | |
%cond177.2.3 = select i1 %cmp175.2.3, float 1.000000e+00, float 0.000000e+00 | |
%mul178.2.3 = fmul float %cond177.2.3, %mul174.2.3 | |
%mul179.2.3 = fmul float %813, %878 | |
%mul180.2.3 = fmul float %cond.2.3, %mul168.2.3 | |
%mul182.2.3 = fmul float %mul, %884 | |
%mul.i.2.3 = fmul float %mul182.2.3, %mul182.2.3 | |
%886 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2.3, float 0x3FBDA79640000000) #5 | |
%887 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2.3, float 0x3FE03C5780000000) #5 | |
%888 = tail call float @llvm.fmuladd.f32(float %886, float %mul.i.2.3, float 1.000000e+00) #5 | |
%889 = tail call float @llvm.fmuladd.f32(float %887, float %mul182.2.3, float %888) #5 | |
%div.i.2.3 = fdiv float 1.000000e+00, %889, !fpmath !46 | |
%890 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2.3, float 0xBF0BFF7260000000) #5 | |
%891 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2.3, float 0x3F50794180000000) #5 | |
%892 = tail call float @llvm.fmuladd.f32(float %890, float %mul.i.2.3, float 0xBF93BDB200000000) #5 | |
%893 = tail call float @llvm.fmuladd.f32(float %891, float %mul.i.2.3, float 0x3FB1D5E760000000) #5 | |
%894 = tail call float @llvm.fmuladd.f32(float %892, float %mul.i.2.3, float 0xBFE81272E0000000) #5 | |
%895 = tail call float @llvm.fmuladd.f32(float %893, float %mul182.2.3, float %894) #5 | |
%mul11.i.2.3 = fmul float %895, %div.i.2.3 | |
%mul184.2.3 = fmul float %mul21, %mul11.i.2.3 | |
%896 = tail call float @llvm.fmuladd.f32(float %mul180.2.3, float %div167.2.3, float %mul184.2.3) | |
%897 = tail call float @llvm.fmuladd.f32(float %mul179.2.3, float %896, float %mul178.2.3) | |
%splat.splatinsert.2.3 = insertelement <3 x float> undef, float %897, i32 0 | |
%splat.splat.2.3 = shufflevector <3 x float> %splat.splatinsert.2.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.2.3 = fmul <3 x float> %extractVec137.2.3, %splat.splat.2.3 | |
%extractVec197.2.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.2.3 = fsub <3 x float> %extractVec197.2.3, %mul189.2.3 | |
%extractVec199.2.3 = shufflevector <3 x float> %sub198.2.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.2.3 = shufflevector <4 x float> %loadVec4206.2.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.2.3 = fadd <3 x float> %extractVec207.2.3, %mul189.2.3 | |
%extractVec209.2.3 = shufflevector <3 x float> %add208.2.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.2.3 | |
if.end212.2.3: ; preds = %if.then153.2.3, %if.then119.2.3, %if.end212.1.3 | |
%898 = phi <3 x float> [ %add208.2.3, %if.then153.2.3 ], [ %807, %if.then119.2.3 ], [ %807, %if.end212.1.3 ] | |
%loadVec4206.2705 = phi <4 x float> [ %extractVec209.2.3, %if.then153.2.3 ], [ %loadVec4206.2.3, %if.then119.2.3 ], [ %loadVec4206.2.3, %if.end212.1.3 ] | |
%fcj_buf.sroa.0.1.2.3 = phi <4 x float> [ %extractVec199.2.3, %if.then153.2.3 ], [ %fcj_buf.sroa.0.1.1.3, %if.then119.2.3 ], [ %fcj_buf.sroa.0.1.1.3, %if.end212.1.3 ] | |
%and117.3.3 = and i32 %45, 134217728 | |
%tobool118.3.3 = icmp eq i32 %and117.3.3, 0 | |
br i1 %tobool118.3.3, label %if.end212.3.3, label %if.then119.3.3 | |
if.then119.3.3: ; preds = %if.end212.2.3 | |
%899 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.3.3, align 16, !tbaa !36 | |
%900 = fsub <4 x float> %899, %812 | |
%901 = extractelement <4 x float> %900, i32 0 | |
%902 = extractelement <4 x float> %900, i32 1 | |
%mul3.i.i.3.3 = fmul float %902, %902 | |
%903 = tail call float @llvm.fmuladd.f32(float %901, float %901, float %mul3.i.i.3.3) #5 | |
%904 = extractelement <4 x float> %900, i32 2 | |
%905 = tail call float @llvm.fmuladd.f32(float %904, float %904, float %903) #5 | |
%and139.3.3 = and i32 %47, 134217728 | |
%tobool140.3.3 = icmp ne i32 %and139.3.3, 0 | |
%cond.3.3 = select i1 %tobool140.3.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.3.3 = icmp ne i32 %30, %810 | |
%not.or.cond.3.3 = or i1 %notlhs, %notrhs.3.3 | |
%cmp147..3.3 = or i1 %cmp147, %not.or.cond.3.3 | |
%conv149.3.3 = uitofp i1 %cmp147..3.3 to float | |
%mul150.3.3 = fmul float %conv149.3.3, %nbparam_params_rcoulomb_sq | |
%cmp151.3.3 = fcmp olt float %905, %mul150.3.3 | |
br i1 %cmp151.3.3, label %if.then153.3.3, label %if.end212.3.3 | |
if.then153.3.3: ; preds = %if.then119.3.3 | |
%extractVec137.3.3 = shufflevector <4 x float> %900, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%906 = extractelement <4 x float> %899, i32 3 | |
%907 = load i32, i32 addrspace(1)* %arrayidx154.3.3, align 4, !tbaa !41 | |
%mul155.3.3 = mul nsw i32 %907, %ntypes | |
%add156.3.3 = add nsw i32 %mul155.3.3, %814 | |
%mul157.3.3 = shl nsw i32 %add156.3.3, 1 | |
%908 = sext i32 %mul157.3.3 to i64 | |
%arrayidx158.3.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %908 | |
%909 = load float, float addrspace(2)* %arrayidx158.3.3, align 4, !tbaa !39 | |
%add162.3.3 = or i32 %mul157.3.3, 1 | |
%910 = sext i32 %add162.3.3 to i64 | |
%arrayidx163.3.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %910 | |
%911 = load float, float addrspace(2)* %arrayidx163.3.3, align 4, !tbaa !39 | |
%sub164.3.3 = fsub float 1.000000e+00, %cond.3.3 | |
%912 = tail call float @llvm.fmuladd.f32(float %sub164.3.3, float 0x3D71979980000000, float %905) | |
%cmp.i.i.3.3 = fcmp olt float %912, 0.000000e+00 | |
%call.i.i.3.3 = tail call float @llvm.sqrt.f32(float %912) #6 | |
%call.i.i.op.3.3 = fdiv float 1.000000e+00, %call.i.i.3.3 | |
%div167.3.3 = select i1 %cmp.i.i.3.3, float 0x7FF8000000000000, float %call.i.i.op.3.3 | |
%mul168.3.3 = fmul float %div167.3.3, %div167.3.3 | |
%mul169.3.3 = fmul float %mul168.3.3, %mul168.3.3 | |
%mul170.3.3 = fmul float %mul168.3.3, %mul169.3.3 | |
%mul171.3.3 = fmul float %cond.3.3, %mul170.3.3 | |
%neg.3.3 = fsub float -0.000000e+00, %909 | |
%913 = tail call float @llvm.fmuladd.f32(float %911, float %mul171.3.3, float %neg.3.3) | |
%mul173.3.3 = fmul float %mul171.3.3, %913 | |
%mul174.3.3 = fmul float %mul168.3.3, %mul173.3.3 | |
%cmp175.3.3 = fcmp olt float %912, %nbparam_params_rvdw_sq | |
%cond177.3.3 = select i1 %cmp175.3.3, float 1.000000e+00, float 0.000000e+00 | |
%mul178.3.3 = fmul float %cond177.3.3, %mul174.3.3 | |
%mul179.3.3 = fmul float %813, %906 | |
%mul180.3.3 = fmul float %cond.3.3, %mul168.3.3 | |
%mul182.3.3 = fmul float %mul, %912 | |
%mul.i.3.3 = fmul float %mul182.3.3, %mul182.3.3 | |
%914 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3.3, float 0x3FBDA79640000000) #5 | |
%915 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3.3, float 0x3FE03C5780000000) #5 | |
%916 = tail call float @llvm.fmuladd.f32(float %914, float %mul.i.3.3, float 1.000000e+00) #5 | |
%917 = tail call float @llvm.fmuladd.f32(float %915, float %mul182.3.3, float %916) #5 | |
%div.i.3.3 = fdiv float 1.000000e+00, %917, !fpmath !46 | |
%918 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3.3, float 0xBF0BFF7260000000) #5 | |
%919 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3.3, float 0x3F50794180000000) #5 | |
%920 = tail call float @llvm.fmuladd.f32(float %918, float %mul.i.3.3, float 0xBF93BDB200000000) #5 | |
%921 = tail call float @llvm.fmuladd.f32(float %919, float %mul.i.3.3, float 0x3FB1D5E760000000) #5 | |
%922 = tail call float @llvm.fmuladd.f32(float %920, float %mul.i.3.3, float 0xBFE81272E0000000) #5 | |
%923 = tail call float @llvm.fmuladd.f32(float %921, float %mul182.3.3, float %922) #5 | |
%mul11.i.3.3 = fmul float %923, %div.i.3.3 | |
%mul184.3.3 = fmul float %mul21, %mul11.i.3.3 | |
%924 = tail call float @llvm.fmuladd.f32(float %mul180.3.3, float %div167.3.3, float %mul184.3.3) | |
%925 = tail call float @llvm.fmuladd.f32(float %mul179.3.3, float %924, float %mul178.3.3) | |
%splat.splatinsert.3.3 = insertelement <3 x float> undef, float %925, i32 0 | |
%splat.splat.3.3 = shufflevector <3 x float> %splat.splatinsert.3.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.3.3 = fmul <3 x float> %extractVec137.3.3, %splat.splat.3.3 | |
%extractVec197.3.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.3.3 = fsub <3 x float> %extractVec197.3.3, %mul189.3.3 | |
%extractVec199.3.3 = shufflevector <3 x float> %sub198.3.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.3.3 = shufflevector <4 x float> %loadVec4206.3.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.3.3 = fadd <3 x float> %extractVec207.3.3, %mul189.3.3 | |
%extractVec209.3.3 = shufflevector <3 x float> %add208.3.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.3.3 | |
if.end212.3.3: ; preds = %if.then153.3.3, %if.then119.3.3, %if.end212.2.3 | |
%926 = phi <3 x float> [ %add208.3.3, %if.then153.3.3 ], [ %806, %if.then119.3.3 ], [ %806, %if.end212.2.3 ] | |
%loadVec4206.3715 = phi <4 x float> [ %extractVec209.3.3, %if.then153.3.3 ], [ %loadVec4206.3.3, %if.then119.3.3 ], [ %loadVec4206.3.3, %if.end212.2.3 ] | |
%fcj_buf.sroa.0.1.3.3 = phi <4 x float> [ %extractVec199.3.3, %if.then153.3.3 ], [ %fcj_buf.sroa.0.1.2.3, %if.then119.3.3 ], [ %fcj_buf.sroa.0.1.2.3, %if.end212.2.3 ] | |
%and117.4.3 = and i32 %45, 268435456 | |
%tobool118.4.3 = icmp eq i32 %and117.4.3, 0 | |
br i1 %tobool118.4.3, label %if.end212.4.3, label %if.then119.4.3 | |
if.then119.4.3: ; preds = %if.end212.3.3 | |
%927 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.4.3, align 16, !tbaa !36 | |
%928 = fsub <4 x float> %927, %812 | |
%929 = extractelement <4 x float> %928, i32 0 | |
%930 = extractelement <4 x float> %928, i32 1 | |
%mul3.i.i.4.3 = fmul float %930, %930 | |
%931 = tail call float @llvm.fmuladd.f32(float %929, float %929, float %mul3.i.i.4.3) #5 | |
%932 = extractelement <4 x float> %928, i32 2 | |
%933 = tail call float @llvm.fmuladd.f32(float %932, float %932, float %931) #5 | |
%and139.4.3 = and i32 %47, 268435456 | |
%tobool140.4.3 = icmp ne i32 %and139.4.3, 0 | |
%cond.4.3 = select i1 %tobool140.4.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.4.3 = icmp ne i32 %28, %810 | |
%not.or.cond.4.3 = or i1 %notlhs, %notrhs.4.3 | |
%cmp147..4.3 = or i1 %cmp147, %not.or.cond.4.3 | |
%conv149.4.3 = uitofp i1 %cmp147..4.3 to float | |
%mul150.4.3 = fmul float %conv149.4.3, %nbparam_params_rcoulomb_sq | |
%cmp151.4.3 = fcmp olt float %933, %mul150.4.3 | |
br i1 %cmp151.4.3, label %if.then153.4.3, label %if.end212.4.3 | |
if.then153.4.3: ; preds = %if.then119.4.3 | |
%extractVec137.4.3 = shufflevector <4 x float> %928, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%934 = extractelement <4 x float> %927, i32 3 | |
%935 = load i32, i32 addrspace(1)* %arrayidx154.4.3, align 4, !tbaa !41 | |
%mul155.4.3 = mul nsw i32 %935, %ntypes | |
%add156.4.3 = add nsw i32 %mul155.4.3, %814 | |
%mul157.4.3 = shl nsw i32 %add156.4.3, 1 | |
%936 = sext i32 %mul157.4.3 to i64 | |
%arrayidx158.4.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %936 | |
%937 = load float, float addrspace(2)* %arrayidx158.4.3, align 4, !tbaa !39 | |
%add162.4.3 = or i32 %mul157.4.3, 1 | |
%938 = sext i32 %add162.4.3 to i64 | |
%arrayidx163.4.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %938 | |
%939 = load float, float addrspace(2)* %arrayidx163.4.3, align 4, !tbaa !39 | |
%sub164.4.3 = fsub float 1.000000e+00, %cond.4.3 | |
%940 = tail call float @llvm.fmuladd.f32(float %sub164.4.3, float 0x3D71979980000000, float %933) | |
%cmp.i.i.4.3 = fcmp olt float %940, 0.000000e+00 | |
%call.i.i.4.3 = tail call float @llvm.sqrt.f32(float %940) #6 | |
%call.i.i.op.4.3 = fdiv float 1.000000e+00, %call.i.i.4.3 | |
%div167.4.3 = select i1 %cmp.i.i.4.3, float 0x7FF8000000000000, float %call.i.i.op.4.3 | |
%mul168.4.3 = fmul float %div167.4.3, %div167.4.3 | |
%mul169.4.3 = fmul float %mul168.4.3, %mul168.4.3 | |
%mul170.4.3 = fmul float %mul168.4.3, %mul169.4.3 | |
%mul171.4.3 = fmul float %cond.4.3, %mul170.4.3 | |
%neg.4.3 = fsub float -0.000000e+00, %937 | |
%941 = tail call float @llvm.fmuladd.f32(float %939, float %mul171.4.3, float %neg.4.3) | |
%mul173.4.3 = fmul float %mul171.4.3, %941 | |
%mul174.4.3 = fmul float %mul168.4.3, %mul173.4.3 | |
%cmp175.4.3 = fcmp olt float %940, %nbparam_params_rvdw_sq | |
%cond177.4.3 = select i1 %cmp175.4.3, float 1.000000e+00, float 0.000000e+00 | |
%mul178.4.3 = fmul float %cond177.4.3, %mul174.4.3 | |
%mul179.4.3 = fmul float %813, %934 | |
%mul180.4.3 = fmul float %cond.4.3, %mul168.4.3 | |
%mul182.4.3 = fmul float %mul, %940 | |
%mul.i.4.3 = fmul float %mul182.4.3, %mul182.4.3 | |
%942 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.4.3, float 0x3FBDA79640000000) #5 | |
%943 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.4.3, float 0x3FE03C5780000000) #5 | |
%944 = tail call float @llvm.fmuladd.f32(float %942, float %mul.i.4.3, float 1.000000e+00) #5 | |
%945 = tail call float @llvm.fmuladd.f32(float %943, float %mul182.4.3, float %944) #5 | |
%div.i.4.3 = fdiv float 1.000000e+00, %945, !fpmath !46 | |
%946 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.4.3, float 0xBF0BFF7260000000) #5 | |
%947 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.4.3, float 0x3F50794180000000) #5 | |
%948 = tail call float @llvm.fmuladd.f32(float %946, float %mul.i.4.3, float 0xBF93BDB200000000) #5 | |
%949 = tail call float @llvm.fmuladd.f32(float %947, float %mul.i.4.3, float 0x3FB1D5E760000000) #5 | |
%950 = tail call float @llvm.fmuladd.f32(float %948, float %mul.i.4.3, float 0xBFE81272E0000000) #5 | |
%951 = tail call float @llvm.fmuladd.f32(float %949, float %mul182.4.3, float %950) #5 | |
%mul11.i.4.3 = fmul float %951, %div.i.4.3 | |
%mul184.4.3 = fmul float %mul21, %mul11.i.4.3 | |
%952 = tail call float @llvm.fmuladd.f32(float %mul180.4.3, float %div167.4.3, float %mul184.4.3) | |
%953 = tail call float @llvm.fmuladd.f32(float %mul179.4.3, float %952, float %mul178.4.3) | |
%splat.splatinsert.4.3 = insertelement <3 x float> undef, float %953, i32 0 | |
%splat.splat.4.3 = shufflevector <3 x float> %splat.splatinsert.4.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.4.3 = fmul <3 x float> %extractVec137.4.3, %splat.splat.4.3 | |
%extractVec197.4.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.4.3 = fsub <3 x float> %extractVec197.4.3, %mul189.4.3 | |
%extractVec199.4.3 = shufflevector <3 x float> %sub198.4.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.4.3 = shufflevector <4 x float> %loadVec4206.4.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.4.3 = fadd <3 x float> %extractVec207.4.3, %mul189.4.3 | |
%extractVec209.4.3 = shufflevector <3 x float> %add208.4.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.4.3 | |
if.end212.4.3: ; preds = %if.then153.4.3, %if.then119.4.3, %if.end212.3.3 | |
%954 = phi <3 x float> [ %add208.4.3, %if.then153.4.3 ], [ %805, %if.then119.4.3 ], [ %805, %if.end212.3.3 ] | |
%loadVec4206.4725 = phi <4 x float> [ %extractVec209.4.3, %if.then153.4.3 ], [ %loadVec4206.4.3, %if.then119.4.3 ], [ %loadVec4206.4.3, %if.end212.3.3 ] | |
%fcj_buf.sroa.0.1.4.3 = phi <4 x float> [ %extractVec199.4.3, %if.then153.4.3 ], [ %fcj_buf.sroa.0.1.3.3, %if.then119.4.3 ], [ %fcj_buf.sroa.0.1.3.3, %if.end212.3.3 ] | |
%and117.5.3 = and i32 %45, 536870912 | |
%tobool118.5.3 = icmp eq i32 %and117.5.3, 0 | |
br i1 %tobool118.5.3, label %if.end212.5.3, label %if.then119.5.3 | |
if.then119.5.3: ; preds = %if.end212.4.3 | |
%955 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.5.3, align 16, !tbaa !36 | |
%956 = fsub <4 x float> %955, %812 | |
%957 = extractelement <4 x float> %956, i32 0 | |
%958 = extractelement <4 x float> %956, i32 1 | |
%mul3.i.i.5.3 = fmul float %958, %958 | |
%959 = tail call float @llvm.fmuladd.f32(float %957, float %957, float %mul3.i.i.5.3) #5 | |
%960 = extractelement <4 x float> %956, i32 2 | |
%961 = tail call float @llvm.fmuladd.f32(float %960, float %960, float %959) #5 | |
%and139.5.3 = and i32 %47, 536870912 | |
%tobool140.5.3 = icmp ne i32 %and139.5.3, 0 | |
%cond.5.3 = select i1 %tobool140.5.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.5.3 = icmp ne i32 %26, %810 | |
%not.or.cond.5.3 = or i1 %notlhs, %notrhs.5.3 | |
%cmp147..5.3 = or i1 %cmp147, %not.or.cond.5.3 | |
%conv149.5.3 = uitofp i1 %cmp147..5.3 to float | |
%mul150.5.3 = fmul float %conv149.5.3, %nbparam_params_rcoulomb_sq | |
%cmp151.5.3 = fcmp olt float %961, %mul150.5.3 | |
br i1 %cmp151.5.3, label %if.then153.5.3, label %if.end212.5.3 | |
if.then153.5.3: ; preds = %if.then119.5.3 | |
%extractVec137.5.3 = shufflevector <4 x float> %956, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%962 = extractelement <4 x float> %955, i32 3 | |
%963 = load i32, i32 addrspace(1)* %arrayidx154.5.3, align 4, !tbaa !41 | |
%mul155.5.3 = mul nsw i32 %963, %ntypes | |
%add156.5.3 = add nsw i32 %mul155.5.3, %814 | |
%mul157.5.3 = shl nsw i32 %add156.5.3, 1 | |
%964 = sext i32 %mul157.5.3 to i64 | |
%arrayidx158.5.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %964 | |
%965 = load float, float addrspace(2)* %arrayidx158.5.3, align 4, !tbaa !39 | |
%add162.5.3 = or i32 %mul157.5.3, 1 | |
%966 = sext i32 %add162.5.3 to i64 | |
%arrayidx163.5.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %966 | |
%967 = load float, float addrspace(2)* %arrayidx163.5.3, align 4, !tbaa !39 | |
%sub164.5.3 = fsub float 1.000000e+00, %cond.5.3 | |
%968 = tail call float @llvm.fmuladd.f32(float %sub164.5.3, float 0x3D71979980000000, float %961) | |
%cmp.i.i.5.3 = fcmp olt float %968, 0.000000e+00 | |
%call.i.i.5.3 = tail call float @llvm.sqrt.f32(float %968) #6 | |
%call.i.i.op.5.3 = fdiv float 1.000000e+00, %call.i.i.5.3 | |
%div167.5.3 = select i1 %cmp.i.i.5.3, float 0x7FF8000000000000, float %call.i.i.op.5.3 | |
%mul168.5.3 = fmul float %div167.5.3, %div167.5.3 | |
%mul169.5.3 = fmul float %mul168.5.3, %mul168.5.3 | |
%mul170.5.3 = fmul float %mul168.5.3, %mul169.5.3 | |
%mul171.5.3 = fmul float %cond.5.3, %mul170.5.3 | |
%neg.5.3 = fsub float -0.000000e+00, %965 | |
%969 = tail call float @llvm.fmuladd.f32(float %967, float %mul171.5.3, float %neg.5.3) | |
%mul173.5.3 = fmul float %mul171.5.3, %969 | |
%mul174.5.3 = fmul float %mul168.5.3, %mul173.5.3 | |
%cmp175.5.3 = fcmp olt float %968, %nbparam_params_rvdw_sq | |
%cond177.5.3 = select i1 %cmp175.5.3, float 1.000000e+00, float 0.000000e+00 | |
%mul178.5.3 = fmul float %cond177.5.3, %mul174.5.3 | |
%mul179.5.3 = fmul float %813, %962 | |
%mul180.5.3 = fmul float %cond.5.3, %mul168.5.3 | |
%mul182.5.3 = fmul float %mul, %968 | |
%mul.i.5.3 = fmul float %mul182.5.3, %mul182.5.3 | |
%970 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.5.3, float 0x3FBDA79640000000) #5 | |
%971 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.5.3, float 0x3FE03C5780000000) #5 | |
%972 = tail call float @llvm.fmuladd.f32(float %970, float %mul.i.5.3, float 1.000000e+00) #5 | |
%973 = tail call float @llvm.fmuladd.f32(float %971, float %mul182.5.3, float %972) #5 | |
%div.i.5.3 = fdiv float 1.000000e+00, %973, !fpmath !46 | |
%974 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.5.3, float 0xBF0BFF7260000000) #5 | |
%975 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.5.3, float 0x3F50794180000000) #5 | |
%976 = tail call float @llvm.fmuladd.f32(float %974, float %mul.i.5.3, float 0xBF93BDB200000000) #5 | |
%977 = tail call float @llvm.fmuladd.f32(float %975, float %mul.i.5.3, float 0x3FB1D5E760000000) #5 | |
%978 = tail call float @llvm.fmuladd.f32(float %976, float %mul.i.5.3, float 0xBFE81272E0000000) #5 | |
%979 = tail call float @llvm.fmuladd.f32(float %977, float %mul182.5.3, float %978) #5 | |
%mul11.i.5.3 = fmul float %979, %div.i.5.3 | |
%mul184.5.3 = fmul float %mul21, %mul11.i.5.3 | |
%980 = tail call float @llvm.fmuladd.f32(float %mul180.5.3, float %div167.5.3, float %mul184.5.3) | |
%981 = tail call float @llvm.fmuladd.f32(float %mul179.5.3, float %980, float %mul178.5.3) | |
%splat.splatinsert.5.3 = insertelement <3 x float> undef, float %981, i32 0 | |
%splat.splat.5.3 = shufflevector <3 x float> %splat.splatinsert.5.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.5.3 = fmul <3 x float> %extractVec137.5.3, %splat.splat.5.3 | |
%extractVec197.5.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.5.3 = fsub <3 x float> %extractVec197.5.3, %mul189.5.3 | |
%extractVec199.5.3 = shufflevector <3 x float> %sub198.5.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.5.3 = shufflevector <4 x float> %loadVec4206.5.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.5.3 = fadd <3 x float> %extractVec207.5.3, %mul189.5.3 | |
%extractVec209.5.3 = shufflevector <3 x float> %add208.5.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.5.3 | |
if.end212.5.3: ; preds = %if.then153.5.3, %if.then119.5.3, %if.end212.4.3 | |
%982 = phi <3 x float> [ %add208.5.3, %if.then153.5.3 ], [ %804, %if.then119.5.3 ], [ %804, %if.end212.4.3 ] | |
%loadVec4206.5735 = phi <4 x float> [ %extractVec209.5.3, %if.then153.5.3 ], [ %loadVec4206.5.3, %if.then119.5.3 ], [ %loadVec4206.5.3, %if.end212.4.3 ] | |
%fcj_buf.sroa.0.1.5.3 = phi <4 x float> [ %extractVec199.5.3, %if.then153.5.3 ], [ %fcj_buf.sroa.0.1.4.3, %if.then119.5.3 ], [ %fcj_buf.sroa.0.1.4.3, %if.end212.4.3 ] | |
%and117.6.3 = and i32 %45, 1073741824 | |
%tobool118.6.3 = icmp eq i32 %and117.6.3, 0 | |
br i1 %tobool118.6.3, label %if.end212.6.3, label %if.then119.6.3 | |
if.then119.6.3: ; preds = %if.end212.5.3 | |
%983 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.6.3, align 16, !tbaa !36 | |
%984 = fsub <4 x float> %983, %812 | |
%985 = extractelement <4 x float> %984, i32 0 | |
%986 = extractelement <4 x float> %984, i32 1 | |
%mul3.i.i.6.3 = fmul float %986, %986 | |
%987 = tail call float @llvm.fmuladd.f32(float %985, float %985, float %mul3.i.i.6.3) #5 | |
%988 = extractelement <4 x float> %984, i32 2 | |
%989 = tail call float @llvm.fmuladd.f32(float %988, float %988, float %987) #5 | |
%and139.6.3 = and i32 %47, 1073741824 | |
%tobool140.6.3 = icmp ne i32 %and139.6.3, 0 | |
%cond.6.3 = select i1 %tobool140.6.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.6.3 = icmp ne i32 %24, %810 | |
%not.or.cond.6.3 = or i1 %notlhs, %notrhs.6.3 | |
%cmp147..6.3 = or i1 %cmp147, %not.or.cond.6.3 | |
%conv149.6.3 = uitofp i1 %cmp147..6.3 to float | |
%mul150.6.3 = fmul float %conv149.6.3, %nbparam_params_rcoulomb_sq | |
%cmp151.6.3 = fcmp olt float %989, %mul150.6.3 | |
br i1 %cmp151.6.3, label %if.then153.6.3, label %if.end212.6.3 | |
if.then153.6.3: ; preds = %if.then119.6.3 | |
%extractVec137.6.3 = shufflevector <4 x float> %984, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%990 = extractelement <4 x float> %983, i32 3 | |
%991 = load i32, i32 addrspace(1)* %arrayidx154.6.3, align 4, !tbaa !41 | |
%mul155.6.3 = mul nsw i32 %991, %ntypes | |
%add156.6.3 = add nsw i32 %mul155.6.3, %814 | |
%mul157.6.3 = shl nsw i32 %add156.6.3, 1 | |
%992 = sext i32 %mul157.6.3 to i64 | |
%arrayidx158.6.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %992 | |
%993 = load float, float addrspace(2)* %arrayidx158.6.3, align 4, !tbaa !39 | |
%add162.6.3 = or i32 %mul157.6.3, 1 | |
%994 = sext i32 %add162.6.3 to i64 | |
%arrayidx163.6.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %994 | |
%995 = load float, float addrspace(2)* %arrayidx163.6.3, align 4, !tbaa !39 | |
%sub164.6.3 = fsub float 1.000000e+00, %cond.6.3 | |
%996 = tail call float @llvm.fmuladd.f32(float %sub164.6.3, float 0x3D71979980000000, float %989) | |
%cmp.i.i.6.3 = fcmp olt float %996, 0.000000e+00 | |
%call.i.i.6.3 = tail call float @llvm.sqrt.f32(float %996) #6 | |
%call.i.i.op.6.3 = fdiv float 1.000000e+00, %call.i.i.6.3 | |
%div167.6.3 = select i1 %cmp.i.i.6.3, float 0x7FF8000000000000, float %call.i.i.op.6.3 | |
%mul168.6.3 = fmul float %div167.6.3, %div167.6.3 | |
%mul169.6.3 = fmul float %mul168.6.3, %mul168.6.3 | |
%mul170.6.3 = fmul float %mul168.6.3, %mul169.6.3 | |
%mul171.6.3 = fmul float %cond.6.3, %mul170.6.3 | |
%neg.6.3 = fsub float -0.000000e+00, %993 | |
%997 = tail call float @llvm.fmuladd.f32(float %995, float %mul171.6.3, float %neg.6.3) | |
%mul173.6.3 = fmul float %mul171.6.3, %997 | |
%mul174.6.3 = fmul float %mul168.6.3, %mul173.6.3 | |
%cmp175.6.3 = fcmp olt float %996, %nbparam_params_rvdw_sq | |
%cond177.6.3 = select i1 %cmp175.6.3, float 1.000000e+00, float 0.000000e+00 | |
%mul178.6.3 = fmul float %cond177.6.3, %mul174.6.3 | |
%mul179.6.3 = fmul float %813, %990 | |
%mul180.6.3 = fmul float %cond.6.3, %mul168.6.3 | |
%mul182.6.3 = fmul float %mul, %996 | |
%mul.i.6.3 = fmul float %mul182.6.3, %mul182.6.3 | |
%998 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.6.3, float 0x3FBDA79640000000) #5 | |
%999 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.6.3, float 0x3FE03C5780000000) #5 | |
%1000 = tail call float @llvm.fmuladd.f32(float %998, float %mul.i.6.3, float 1.000000e+00) #5 | |
%1001 = tail call float @llvm.fmuladd.f32(float %999, float %mul182.6.3, float %1000) #5 | |
%div.i.6.3 = fdiv float 1.000000e+00, %1001, !fpmath !46 | |
%1002 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.6.3, float 0xBF0BFF7260000000) #5 | |
%1003 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.6.3, float 0x3F50794180000000) #5 | |
%1004 = tail call float @llvm.fmuladd.f32(float %1002, float %mul.i.6.3, float 0xBF93BDB200000000) #5 | |
%1005 = tail call float @llvm.fmuladd.f32(float %1003, float %mul.i.6.3, float 0x3FB1D5E760000000) #5 | |
%1006 = tail call float @llvm.fmuladd.f32(float %1004, float %mul.i.6.3, float 0xBFE81272E0000000) #5 | |
%1007 = tail call float @llvm.fmuladd.f32(float %1005, float %mul182.6.3, float %1006) #5 | |
%mul11.i.6.3 = fmul float %1007, %div.i.6.3 | |
%mul184.6.3 = fmul float %mul21, %mul11.i.6.3 | |
%1008 = tail call float @llvm.fmuladd.f32(float %mul180.6.3, float %div167.6.3, float %mul184.6.3) | |
%1009 = tail call float @llvm.fmuladd.f32(float %mul179.6.3, float %1008, float %mul178.6.3) | |
%splat.splatinsert.6.3 = insertelement <3 x float> undef, float %1009, i32 0 | |
%splat.splat.6.3 = shufflevector <3 x float> %splat.splatinsert.6.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.6.3 = fmul <3 x float> %extractVec137.6.3, %splat.splat.6.3 | |
%extractVec197.6.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.6.3 = fsub <3 x float> %extractVec197.6.3, %mul189.6.3 | |
%extractVec199.6.3 = shufflevector <3 x float> %sub198.6.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.6.3 = shufflevector <4 x float> %loadVec4206.6.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.6.3 = fadd <3 x float> %extractVec207.6.3, %mul189.6.3 | |
%extractVec209.6.3 = shufflevector <3 x float> %add208.6.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.6.3 | |
if.end212.6.3: ; preds = %if.then153.6.3, %if.then119.6.3, %if.end212.5.3 | |
%1010 = phi <3 x float> [ %add208.6.3, %if.then153.6.3 ], [ %803, %if.then119.6.3 ], [ %803, %if.end212.5.3 ] | |
%loadVec4206.6745 = phi <4 x float> [ %extractVec209.6.3, %if.then153.6.3 ], [ %loadVec4206.6.3, %if.then119.6.3 ], [ %loadVec4206.6.3, %if.end212.5.3 ] | |
%fcj_buf.sroa.0.1.6.3 = phi <4 x float> [ %extractVec199.6.3, %if.then153.6.3 ], [ %fcj_buf.sroa.0.1.5.3, %if.then119.6.3 ], [ %fcj_buf.sroa.0.1.5.3, %if.end212.5.3 ] | |
%tobool118.7.3 = icmp sgt i32 %45, -1 | |
br i1 %tobool118.7.3, label %if.end212.7.3, label %if.then119.7.3 | |
if.then119.7.3: ; preds = %if.end212.6.3 | |
%1011 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.7.3, align 16, !tbaa !36 | |
%1012 = fsub <4 x float> %1011, %812 | |
%1013 = extractelement <4 x float> %1012, i32 0 | |
%1014 = extractelement <4 x float> %1012, i32 1 | |
%mul3.i.i.7.3 = fmul float %1014, %1014 | |
%1015 = tail call float @llvm.fmuladd.f32(float %1013, float %1013, float %mul3.i.i.7.3) #5 | |
%1016 = extractelement <4 x float> %1012, i32 2 | |
%1017 = tail call float @llvm.fmuladd.f32(float %1016, float %1016, float %1015) #5 | |
%tobool140.7.3 = icmp slt i32 %47, 0 | |
%cond.7.3 = select i1 %tobool140.7.3, float 1.000000e+00, float 0.000000e+00 | |
%notrhs.7.3 = icmp ne i32 %22, %810 | |
%not.or.cond.7.3 = or i1 %notlhs, %notrhs.7.3 | |
%cmp147..7.3 = or i1 %cmp147, %not.or.cond.7.3 | |
%conv149.7.3 = uitofp i1 %cmp147..7.3 to float | |
%mul150.7.3 = fmul float %conv149.7.3, %nbparam_params_rcoulomb_sq | |
%cmp151.7.3 = fcmp olt float %1017, %mul150.7.3 | |
br i1 %cmp151.7.3, label %if.then153.7.3, label %if.end212.7.3 | |
if.then153.7.3: ; preds = %if.then119.7.3 | |
%extractVec137.7.3 = shufflevector <4 x float> %1012, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1018 = extractelement <4 x float> %1011, i32 3 | |
%1019 = load i32, i32 addrspace(1)* %arrayidx154.7.3, align 4, !tbaa !41 | |
%mul155.7.3 = mul nsw i32 %1019, %ntypes | |
%add156.7.3 = add nsw i32 %mul155.7.3, %814 | |
%mul157.7.3 = shl nsw i32 %add156.7.3, 1 | |
%1020 = sext i32 %mul157.7.3 to i64 | |
%arrayidx158.7.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1020 | |
%1021 = load float, float addrspace(2)* %arrayidx158.7.3, align 4, !tbaa !39 | |
%add162.7.3 = or i32 %mul157.7.3, 1 | |
%1022 = sext i32 %add162.7.3 to i64 | |
%arrayidx163.7.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1022 | |
%1023 = load float, float addrspace(2)* %arrayidx163.7.3, align 4, !tbaa !39 | |
%sub164.7.3 = fsub float 1.000000e+00, %cond.7.3 | |
%1024 = tail call float @llvm.fmuladd.f32(float %sub164.7.3, float 0x3D71979980000000, float %1017) | |
%cmp.i.i.7.3 = fcmp olt float %1024, 0.000000e+00 | |
%call.i.i.7.3 = tail call float @llvm.sqrt.f32(float %1024) #6 | |
%call.i.i.op.7.3 = fdiv float 1.000000e+00, %call.i.i.7.3 | |
%div167.7.3 = select i1 %cmp.i.i.7.3, float 0x7FF8000000000000, float %call.i.i.op.7.3 | |
%mul168.7.3 = fmul float %div167.7.3, %div167.7.3 | |
%mul169.7.3 = fmul float %mul168.7.3, %mul168.7.3 | |
%mul170.7.3 = fmul float %mul168.7.3, %mul169.7.3 | |
%mul171.7.3 = fmul float %cond.7.3, %mul170.7.3 | |
%neg.7.3 = fsub float -0.000000e+00, %1021 | |
%1025 = tail call float @llvm.fmuladd.f32(float %1023, float %mul171.7.3, float %neg.7.3) | |
%mul173.7.3 = fmul float %mul171.7.3, %1025 | |
%mul174.7.3 = fmul float %mul168.7.3, %mul173.7.3 | |
%cmp175.7.3 = fcmp olt float %1024, %nbparam_params_rvdw_sq | |
%cond177.7.3 = select i1 %cmp175.7.3, float 1.000000e+00, float 0.000000e+00 | |
%mul178.7.3 = fmul float %cond177.7.3, %mul174.7.3 | |
%mul179.7.3 = fmul float %813, %1018 | |
%mul180.7.3 = fmul float %cond.7.3, %mul168.7.3 | |
%mul182.7.3 = fmul float %mul, %1024 | |
%mul.i.7.3 = fmul float %mul182.7.3, %mul182.7.3 | |
%1026 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.7.3, float 0x3FBDA79640000000) #5 | |
%1027 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.7.3, float 0x3FE03C5780000000) #5 | |
%1028 = tail call float @llvm.fmuladd.f32(float %1026, float %mul.i.7.3, float 1.000000e+00) #5 | |
%1029 = tail call float @llvm.fmuladd.f32(float %1027, float %mul182.7.3, float %1028) #5 | |
%div.i.7.3 = fdiv float 1.000000e+00, %1029, !fpmath !46 | |
%1030 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.7.3, float 0xBF0BFF7260000000) #5 | |
%1031 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.7.3, float 0x3F50794180000000) #5 | |
%1032 = tail call float @llvm.fmuladd.f32(float %1030, float %mul.i.7.3, float 0xBF93BDB200000000) #5 | |
%1033 = tail call float @llvm.fmuladd.f32(float %1031, float %mul.i.7.3, float 0x3FB1D5E760000000) #5 | |
%1034 = tail call float @llvm.fmuladd.f32(float %1032, float %mul.i.7.3, float 0xBFE81272E0000000) #5 | |
%1035 = tail call float @llvm.fmuladd.f32(float %1033, float %mul182.7.3, float %1034) #5 | |
%mul11.i.7.3 = fmul float %1035, %div.i.7.3 | |
%mul184.7.3 = fmul float %mul21, %mul11.i.7.3 | |
%1036 = tail call float @llvm.fmuladd.f32(float %mul180.7.3, float %div167.7.3, float %mul184.7.3) | |
%1037 = tail call float @llvm.fmuladd.f32(float %mul179.7.3, float %1036, float %mul178.7.3) | |
%splat.splatinsert.7.3 = insertelement <3 x float> undef, float %1037, i32 0 | |
%splat.splat.7.3 = shufflevector <3 x float> %splat.splatinsert.7.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul189.7.3 = fmul <3 x float> %extractVec137.7.3, %splat.splat.7.3 | |
%extractVec197.7.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub198.7.3 = fsub <3 x float> %extractVec197.7.3, %mul189.7.3 | |
%extractVec199.7.3 = shufflevector <3 x float> %sub198.7.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec207.7.3 = shufflevector <4 x float> %loadVec4206.7.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add208.7.3 = fadd <3 x float> %extractVec207.7.3, %mul189.7.3 | |
%extractVec209.7.3 = shufflevector <3 x float> %add208.7.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end212.7.3 | |
if.end212.7.3: ; preds = %if.then153.7.3, %if.then119.7.3, %if.end212.6.3 | |
%fci_buf.sroa.37.9 = phi <4 x float> [ %fci_buf.sroa.37.8, %if.end212.6.3 ], [ %extractVec209.7.3, %if.then153.7.3 ], [ %fci_buf.sroa.37.8, %if.then119.7.3 ] | |
%loadVec4206.7755 = phi <4 x float> [ %loadVec4206.7.3, %if.end212.6.3 ], [ %extractVec209.7.3, %if.then153.7.3 ], [ %loadVec4206.7.3, %if.then119.7.3 ] | |
%fcj_buf.sroa.0.1.7.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.3, %if.end212.6.3 ], [ %extractVec199.7.3, %if.then153.7.3 ], [ %fcj_buf.sroa.0.1.6.3, %if.then119.7.3 ] | |
%1038 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 0 | |
store float %1038, float addrspace(3)* %arrayidx217, align 4, !tbaa !39 | |
%1039 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 1 | |
store float %1039, float addrspace(3)* %arrayidx219, align 4, !tbaa !39 | |
%1040 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 2 | |
store float %1040, float addrspace(3)* %arrayidx221, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add108.3) | |
br label %for.inc227 | |
} | |
; Function Attrs: nounwind | |
define void @nbnxn_kernel_ElecEw_VdwLJ_VF_opencl(i32 %ntypes, i32 %nbparam_params_eeltype, i32 %nbparam_params_vdwtype, float %nbparam_params_epsfac, float %nbparam_params_c_rf, float %nbparam_params_two_k_rf, float %nbparam_params_ewald_beta, float %nbparam_params_sh_ewald, float %nbparam_params_sh_lj_ewald, float %nbparam_params_ewaldcoeff_lj, float %nbparam_params_rcoulomb_sq, float %nbparam_params_rvdw_sq, float %nbparam_params_rvdw_switch, float %nbparam_params_rlist_sq, float %nbparam_params_dispersion_shift_c2, float %nbparam_params_dispersion_shift_c3, float %nbparam_params_dispersion_shift_cpot, float %nbparam_params_repulsion_shift_c2, float %nbparam_params_repulsion_shift_c3, float %nbparam_params_repulsion_shift_cpot, float %nbparam_params_vdw_switch_c3, float %nbparam_params_vdw_switch_c4, float %nbparam_params_vdw_switch_c5, float %nbparam_params_coulomb_tab_size, float %nbparam_params_coulomb_tab_scale, <4 x float> addrspace(1)* noalias nocapture readonly %xq, float addrspace(1)* noalias nocapture %f, float addrspace(1)* noalias nocapture %e_lj, float addrspace(1)* noalias nocapture %e_el, float addrspace(1)* noalias nocapture %fshift, i32 addrspace(1)* noalias nocapture readonly %atom_types, float addrspace(1)* noalias nocapture readonly %shift_vec, float addrspace(2)* nocapture readonly %nbfp_climg2d, float addrspace(2)* nocapture readnone %nbfp_comb_climg2d, float addrspace(2)* nocapture readnone %coulomb_tab_climg2d, %struct.nbnxn_sci_t addrspace(1)* nocapture readonly %pl_sci, %struct.nbnxn_cj4_t addrspace(1)* nocapture readonly %pl_cj4, %struct.nbnxn_excl_t addrspace(1)* nocapture readonly %excl, i32 %bCalcFshift, <4 x float> addrspace(3)* nocapture %xqib, float addrspace(1)* nocapture readnone %debug_buffer) #0 { | |
entry: | |
%fshift_buf = alloca float, align 4 | |
%mul = fmul float %nbparam_params_ewald_beta, %nbparam_params_ewald_beta | |
%mul19 = fmul float %mul, %nbparam_params_ewald_beta | |
%x.i = tail call i32 @llvm.amdgcn.workitem.id.x() #5, !range !35 | |
%y.i = tail call i32 @llvm.amdgcn.workitem.id.y() #5, !range !35 | |
%x.i581 = tail call i32 @llvm.r600.read.local.size.x() #2 | |
%mul25 = mul i32 %x.i581, %y.i | |
%add = add i32 %mul25, %x.i | |
%x.i582 = tail call i32 @llvm.amdgcn.workgroup.id.x() #5 | |
%div = lshr i32 %add, 5 | |
%0 = bitcast float* %fshift_buf to i8* | |
call void @llvm.lifetime.start(i64 4, i8* %0) #5 | |
%add.ptr = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 64 | |
%1 = bitcast <4 x float> addrspace(3)* %add.ptr to i32 addrspace(3)* | |
%2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 0 | |
%3 = sext i32 %x.i582 to i64 | |
%nb_sci.sroa.0.0..sroa_idx = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 0 | |
%nb_sci.sroa.0.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.0.0..sroa_idx, align 4 | |
%nb_sci.sroa.4.0..sroa_idx339 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 1 | |
%nb_sci.sroa.4.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.4.0..sroa_idx339, align 4 | |
%nb_sci.sroa.11.0..sroa_idx347 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 2 | |
%nb_sci.sroa.11.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.11.0..sroa_idx347, align 4 | |
%nb_sci.sroa.12.0..sroa_idx349 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %3, i32 3 | |
%nb_sci.sroa.12.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.12.0..sroa_idx349, align 4 | |
%mul31 = shl nsw i32 %nb_sci.sroa.0.0.copyload, 3 | |
%add32 = add i32 %mul31, %y.i | |
%mul33 = shl i32 %add32, 3 | |
%add34 = add i32 %mul33, %x.i | |
%4 = sext i32 %add34 to i64 | |
%arrayidx35 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %4 | |
%5 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx35, align 16, !tbaa !36 | |
%mul36 = mul nsw i32 %nb_sci.sroa.4.0.copyload, 3 | |
%6 = sext i32 %mul36 to i64 | |
%arrayidx37 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %6 | |
%7 = load float, float addrspace(1)* %arrayidx37, align 4, !tbaa !39 | |
%vecinit = insertelement <4 x float> undef, float %7, i32 0 | |
%add40 = add nsw i32 %mul36, 1 | |
%8 = sext i32 %add40 to i64 | |
%arrayidx41 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %8 | |
%9 = load float, float addrspace(1)* %arrayidx41, align 4, !tbaa !39 | |
%vecinit42 = insertelement <4 x float> %vecinit, float %9, i32 1 | |
%add45 = add nsw i32 %mul36, 2 | |
%10 = sext i32 %add45 to i64 | |
%arrayidx46 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %10 | |
%11 = load float, float addrspace(1)* %arrayidx46, align 4, !tbaa !39 | |
%vecinit47 = insertelement <4 x float> %vecinit42, float %11, i32 2 | |
%vecinit48 = insertelement <4 x float> %vecinit47, float 0.000000e+00, i32 3 | |
%add49 = fadd <4 x float> %5, %vecinit48 | |
%12 = extractelement <4 x float> %add49, i32 3 | |
%mul51 = fmul float %12, %nbparam_params_epsfac | |
%13 = insertelement <4 x float> %add49, float %mul51, i32 3 | |
%mul52 = shl nuw nsw i32 %y.i, 3 | |
%add53 = add nuw nsw i32 %mul52, %x.i | |
%arrayidx54 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add53 | |
store <4 x float> %13, <4 x float> addrspace(3)* %arrayidx54, align 16, !tbaa !36 | |
%14 = or i32 %add, 32 | |
%15 = icmp eq i32 %14, 32 | |
br i1 %15, label %if.then, label %if.end | |
if.then: ; preds = %entry | |
%add.ptr29 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 192 | |
%arrayidx58580 = getelementptr inbounds float, float addrspace(3)* %add.ptr29, i32 %div | |
%arrayidx58 = bitcast float addrspace(3)* %arrayidx58580 to i32 addrspace(3)* | |
store volatile i32 0, i32 addrspace(3)* %arrayidx58, align 4, !tbaa !41 | |
br label %if.end | |
if.end: ; preds = %entry, %if.then | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%cmp63 = icmp eq i32 %nb_sci.sroa.4.0.copyload, 22 | |
br i1 %cmp63, label %land.lhs.true, label %for.cond89.preheader | |
land.lhs.true: ; preds = %if.end | |
%16 = sext i32 %nb_sci.sroa.11.0.copyload to i64 | |
%arrayidx67 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %16, i32 0, i64 0 | |
%17 = load i32, i32 addrspace(1)* %arrayidx67, align 4, !tbaa !41 | |
%cmp69 = icmp eq i32 %17, %mul31 | |
br i1 %cmp69, label %for.body75.preheader, label %for.cond89.preheader | |
for.body75.preheader: ; preds = %land.lhs.true | |
%arrayidx78 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %x.i | |
%18 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx78, align 16 | |
%19 = extractelement <4 x float> %18, i32 3 | |
%20 = tail call float @llvm.fmuladd.f32(float %19, float %19, float 0.000000e+00) | |
%add77.1 = add nuw nsw i32 %x.i, 8 | |
%arrayidx78.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add77.1 | |
%21 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx78.1, align 16 | |
%22 = extractelement <4 x float> %21, i32 3 | |
%23 = tail call float @llvm.fmuladd.f32(float %22, float %22, float %20) | |
%add77.2 = add nuw nsw i32 %x.i, 16 | |
%arrayidx78.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add77.2 | |
%24 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx78.2, align 16 | |
%25 = extractelement <4 x float> %24, i32 3 | |
%26 = tail call float @llvm.fmuladd.f32(float %25, float %25, float %23) | |
%add77.3 = add nuw nsw i32 %x.i, 24 | |
%arrayidx78.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add77.3 | |
%27 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx78.3, align 16 | |
%28 = extractelement <4 x float> %27, i32 3 | |
%29 = tail call float @llvm.fmuladd.f32(float %28, float %28, float %26) | |
%add77.4 = add nuw nsw i32 %x.i, 32 | |
%arrayidx78.4 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add77.4 | |
%30 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx78.4, align 16 | |
%31 = extractelement <4 x float> %30, i32 3 | |
%32 = tail call float @llvm.fmuladd.f32(float %31, float %31, float %29) | |
%add77.5 = add nuw nsw i32 %x.i, 40 | |
%arrayidx78.5 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add77.5 | |
%33 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx78.5, align 16 | |
%34 = extractelement <4 x float> %33, i32 3 | |
%35 = tail call float @llvm.fmuladd.f32(float %34, float %34, float %32) | |
%add77.6 = add nuw nsw i32 %x.i, 48 | |
%arrayidx78.6 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add77.6 | |
%36 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx78.6, align 16 | |
%37 = extractelement <4 x float> %36, i32 3 | |
%38 = tail call float @llvm.fmuladd.f32(float %37, float %37, float %35) | |
%add77.7 = add nuw nsw i32 %x.i, 56 | |
%arrayidx78.7 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add77.7 | |
%39 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx78.7, align 16 | |
%40 = extractelement <4 x float> %39, i32 3 | |
%41 = tail call float @llvm.fmuladd.f32(float %40, float %40, float %38) | |
%mul84 = fmul float %nbparam_params_epsfac, 8.000000e+00 | |
%div85 = fdiv float %41, %mul84, !fpmath !46 | |
%mul86 = fmul float %nbparam_params_ewald_beta, 0xBFE20DD760000000 | |
%mul87 = fmul float %mul86, %div85 | |
br label %for.cond89.preheader | |
for.cond89.preheader: ; preds = %for.body75.preheader, %land.lhs.true, %if.end | |
%E_el.2.ph = phi float [ 0.000000e+00, %if.end ], [ 0.000000e+00, %land.lhs.true ], [ %mul87, %for.body75.preheader ] | |
%cmp90599 = icmp slt i32 %nb_sci.sroa.11.0.copyload, %nb_sci.sroa.12.0.copyload | |
br i1 %cmp90599, label %for.body92.lr.ph, label %for.cond89.preheader.for.end275_crit_edge | |
for.cond89.preheader.for.end275_crit_edge: ; preds = %for.cond89.preheader | |
%.pre1108 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add | |
%.pre1109 = add i32 %add, 64 | |
%.pre1110 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre1109 | |
%.pre1111 = add i32 %add, 128 | |
%.pre1112 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre1111 | |
%.pre = shl i32 %nb_sci.sroa.0.0.copyload, 6 | |
%.pre1154 = add i32 %.pre, %x.i | |
%.pre1155 = or i32 %.pre, 8 | |
%.pre1156 = add i32 %.pre1155, %x.i | |
%.pre1157 = or i32 %.pre, 16 | |
%.pre1158 = add i32 %.pre1157, %x.i | |
%.pre1159 = or i32 %.pre, 24 | |
%.pre1160 = add i32 %.pre1159, %x.i | |
%.pre1161 = or i32 %.pre, 32 | |
%.pre1162 = add i32 %.pre1161, %x.i | |
%.pre1163 = or i32 %.pre, 40 | |
%.pre1164 = add i32 %.pre1163, %x.i | |
%.pre1165 = or i32 %.pre, 48 | |
%.pre1166 = add i32 %.pre1165, %x.i | |
%.pre1167 = or i32 %.pre, 56 | |
%.pre1168 = add i32 %.pre1167, %x.i | |
br label %for.end275 | |
for.body92.lr.ph: ; preds = %for.cond89.preheader | |
%42 = zext i32 %div to i64 | |
%and = and i32 %add, 31 | |
%43 = zext i32 %and to i64 | |
%44 = or i32 %y.i, 4 | |
%45 = icmp eq i32 %44, 4 | |
%cmp108 = icmp ult i32 %x.i, 4 | |
%or.cond319 = and i1 %cmp108, %45 | |
%46 = zext i32 %x.i to i64 | |
%add116 = add nuw nsw i32 %y.i, %x.i | |
%arrayidx117 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add116 | |
%mul131 = and i32 %y.i, 4 | |
%cmp176 = icmp ugt i32 %y.i, %x.i | |
%arrayidx263 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add | |
%add264 = add i32 %add, 64 | |
%arrayidx265 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add264 | |
%add266 = add i32 %add, 128 | |
%arrayidx267 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add266 | |
%47 = sext i32 %nb_sci.sroa.11.0.copyload to i64 | |
%add133.3 = or i32 %mul131, 3 | |
%arrayidx134.3 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add133.3 | |
%48 = or i32 %mul31, 7 | |
%add153.7.3 = add nuw nsw i32 %x.i, 56 | |
%arrayidx154.7.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add153.7.3 | |
%add149.7.3 = shl i32 %nb_sci.sroa.0.0.copyload, 6 | |
%mul150.7.3 = or i32 %add149.7.3, 56 | |
%add151.7.3 = add i32 %mul150.7.3, %x.i | |
%49 = sext i32 %add151.7.3 to i64 | |
%arrayidx183.7.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %49 | |
%50 = or i32 %mul31, 6 | |
%add153.6.3 = add nuw nsw i32 %x.i, 48 | |
%arrayidx154.6.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add153.6.3 | |
%mul150.6.3 = or i32 %add149.7.3, 48 | |
%add151.6.3 = add i32 %mul150.6.3, %x.i | |
%51 = sext i32 %add151.6.3 to i64 | |
%arrayidx183.6.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %51 | |
%52 = or i32 %mul31, 5 | |
%add153.5.3 = add nuw nsw i32 %x.i, 40 | |
%arrayidx154.5.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add153.5.3 | |
%mul150.5.3 = or i32 %add149.7.3, 40 | |
%add151.5.3 = add i32 %mul150.5.3, %x.i | |
%53 = sext i32 %add151.5.3 to i64 | |
%arrayidx183.5.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %53 | |
%54 = or i32 %mul31, 4 | |
%add153.4.3 = add nuw nsw i32 %x.i, 32 | |
%arrayidx154.4.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add153.4.3 | |
%mul150.4.3 = or i32 %add149.7.3, 32 | |
%add151.4.3 = add i32 %mul150.4.3, %x.i | |
%55 = sext i32 %add151.4.3 to i64 | |
%arrayidx183.4.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %55 | |
%56 = or i32 %mul31, 3 | |
%add153.3.3 = add nuw nsw i32 %x.i, 24 | |
%arrayidx154.3.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add153.3.3 | |
%mul150.3.3 = or i32 %add149.7.3, 24 | |
%add151.3.3 = add i32 %mul150.3.3, %x.i | |
%57 = sext i32 %add151.3.3 to i64 | |
%arrayidx183.3.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %57 | |
%58 = or i32 %mul31, 2 | |
%add153.2.3 = add nuw nsw i32 %x.i, 16 | |
%arrayidx154.2.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add153.2.3 | |
%mul150.2.3 = or i32 %add149.7.3, 16 | |
%add151.2.3 = add i32 %mul150.2.3, %x.i | |
%59 = sext i32 %add151.2.3 to i64 | |
%arrayidx183.2.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %59 | |
%60 = or i32 %mul31, 1 | |
%add153.1.3 = add nuw nsw i32 %x.i, 8 | |
%arrayidx154.1.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add153.1.3 | |
%mul150.1.3 = or i32 %add149.7.3, 8 | |
%add151.1.3 = add i32 %mul150.1.3, %x.i | |
%61 = sext i32 %add151.1.3 to i64 | |
%arrayidx183.1.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %61 | |
%arrayidx154.3939 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %x.i | |
%add151.3954 = add i32 %add149.7.3, %x.i | |
%62 = sext i32 %add151.3954 to i64 | |
%arrayidx183.3955 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %62 | |
%add133.2 = or i32 %mul131, 2 | |
%arrayidx134.2 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add133.2 | |
%add133.1 = or i32 %mul131, 1 | |
%arrayidx134.1 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add133.1 | |
%arrayidx134 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %mul131 | |
br label %for.body92 | |
for.body92: ; preds = %for.inc273, %for.body92.lr.ph | |
%fci_buf.sroa.72.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body92.lr.ph ], [ %fci_buf.sroa.72.2, %for.inc273 ] | |
%fci_buf.sroa.62.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body92.lr.ph ], [ %fci_buf.sroa.62.2, %for.inc273 ] | |
%fci_buf.sroa.52.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body92.lr.ph ], [ %fci_buf.sroa.52.2, %for.inc273 ] | |
%fci_buf.sroa.42.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body92.lr.ph ], [ %fci_buf.sroa.42.2, %for.inc273 ] | |
%fci_buf.sroa.32.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body92.lr.ph ], [ %fci_buf.sroa.32.2, %for.inc273 ] | |
%fci_buf.sroa.22.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body92.lr.ph ], [ %fci_buf.sroa.22.2, %for.inc273 ] | |
%fci_buf.sroa.12.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body92.lr.ph ], [ %fci_buf.sroa.12.2, %for.inc273 ] | |
%fci_buf.sroa.0.0 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.body92.lr.ph ], [ %fci_buf.sroa.0.3, %for.inc273 ] | |
%indvars.iv = phi i64 [ %47, %for.body92.lr.ph ], [ %indvars.iv.next, %for.inc273 ] | |
%E_lj.0601 = phi float [ 0.000000e+00, %for.body92.lr.ph ], [ %E_lj.5, %for.inc273 ] | |
%E_el.2600 = phi float [ %E_el.2.ph, %for.body92.lr.ph ], [ %E_el.7, %for.inc273 ] | |
%excl_ind = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv, i32 1, i64 %42, i32 1 | |
%63 = load i32, i32 addrspace(1)* %excl_ind, align 4, !tbaa !43 | |
%imask98 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv, i32 1, i64 %42, i32 0 | |
%64 = load i32, i32 addrspace(1)* %imask98, align 4, !tbaa !45 | |
%65 = sext i32 %63 to i64 | |
%arrayidx100 = getelementptr inbounds %struct.nbnxn_excl_t, %struct.nbnxn_excl_t addrspace(1)* %excl, i64 %65, i32 0, i64 %43 | |
%66 = load i32, i32 addrspace(1)* %arrayidx100, align 4, !tbaa !41 | |
%tobool = icmp eq i32 %64, 0 | |
br i1 %tobool, label %for.inc273, label %if.then101 | |
if.then101: ; preds = %for.body92 | |
br i1 %or.cond319, label %if.then110, label %for.body122.preheader | |
if.then110: ; preds = %if.then101 | |
%arrayidx113 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv, i32 0, i64 %46 | |
%67 = load i32, i32 addrspace(1)* %arrayidx113, align 4, !tbaa !41 | |
store i32 %67, i32 addrspace(3)* %arrayidx117, align 4, !tbaa !41 | |
br label %for.body122.preheader | |
for.body122.preheader: ; preds = %if.then101, %if.then110 | |
%and124 = and i32 %64, 255 | |
%tobool125 = icmp eq i32 %and124, 0 | |
br i1 %tobool125, label %for.inc269, label %if.then126 | |
if.then126: ; preds = %for.body122.preheader | |
%68 = load i32, i32 addrspace(3)* %arrayidx134, align 4, !tbaa !41 | |
%mul135 = shl nsw i32 %68, 3 | |
%add136 = add i32 %mul135, %y.i | |
%69 = sext i32 %add136 to i64 | |
%arrayidx137 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %69 | |
%70 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx137, align 16, !tbaa !36 | |
%71 = extractelement <4 x float> %70, i32 3 | |
%arrayidx139 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %69 | |
%72 = load i32, i32 addrspace(1)* %arrayidx139, align 4, !tbaa !41 | |
%and145 = and i32 %64, 1 | |
%tobool146 = icmp eq i32 %and145, 0 | |
br i1 %tobool146, label %if.end258, label %if.then147 | |
if.then147: ; preds = %if.then126 | |
%73 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.3939, align 16, !tbaa !36 | |
%74 = fsub <4 x float> %73, %70 | |
%75 = extractelement <4 x float> %74, i32 0 | |
%76 = extractelement <4 x float> %74, i32 1 | |
%mul3.i.i589 = fmul float %76, %76 | |
%77 = tail call float @llvm.fmuladd.f32(float %75, float %75, float %mul3.i.i589) #5 | |
%78 = extractelement <4 x float> %74, i32 2 | |
%79 = tail call float @llvm.fmuladd.f32(float %78, float %78, float %77) #5 | |
%and168 = and i32 %66, 1 | |
%tobool169 = icmp ne i32 %and168, 0 | |
%cond = select i1 %tobool169, float 1.000000e+00, float 0.000000e+00 | |
%cmp174 = icmp eq i32 %mul31, %68 | |
%or.cond = and i1 %cmp63, %cmp174 | |
%not.or.cond = xor i1 %or.cond, true | |
%cmp176. = or i1 %cmp176, %not.or.cond | |
%conv178 = uitofp i1 %cmp176. to float | |
%mul179 = fmul float %conv178, %nbparam_params_rcoulomb_sq | |
%cmp180 = fcmp olt float %79, %mul179 | |
br i1 %cmp180, label %if.then182, label %if.end258 | |
if.then182: ; preds = %if.then147 | |
%extractVec166 = shufflevector <4 x float> %74, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%80 = extractelement <4 x float> %73, i32 3 | |
%81 = load i32, i32 addrspace(1)* %arrayidx183.3955, align 4, !tbaa !41 | |
%mul184 = mul nsw i32 %81, %ntypes | |
%add185 = add nsw i32 %mul184, %72 | |
%mul186 = shl nsw i32 %add185, 1 | |
%82 = sext i32 %mul186 to i64 | |
%arrayidx187 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %82 | |
%83 = load float, float addrspace(2)* %arrayidx187, align 4, !tbaa !39 | |
%add191 = or i32 %mul186, 1 | |
%84 = sext i32 %add191 to i64 | |
%arrayidx192 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %84 | |
%85 = load float, float addrspace(2)* %arrayidx192, align 4, !tbaa !39 | |
%sub193 = fsub float 1.000000e+00, %cond | |
%86 = tail call float @llvm.fmuladd.f32(float %sub193, float 0x3D71979980000000, float %79) | |
%cmp.i.i587 = fcmp olt float %86, 0.000000e+00 | |
%call.i.i = tail call float @llvm.sqrt.f32(float %86) #6 | |
%call.i.i.op = fdiv float 1.000000e+00, %call.i.i | |
%div196 = select i1 %cmp.i.i587, float 0x7FF8000000000000, float %call.i.i.op | |
%mul197 = fmul float %div196, %div196 | |
%mul198 = fmul float %mul197, %mul197 | |
%mul199 = fmul float %mul197, %mul198 | |
%mul200 = fmul float %cond, %mul199 | |
%neg = fsub float -0.000000e+00, %83 | |
%87 = tail call float @llvm.fmuladd.f32(float %85, float %mul200, float %neg) | |
%mul202 = fmul float %mul200, %87 | |
%mul203 = fmul float %mul197, %mul202 | |
%88 = tail call float @llvm.fmuladd.f32(float %mul200, float %mul200, float %nbparam_params_repulsion_shift_cpot) | |
%mul207 = fmul float %88, %85 | |
%add211 = fadd float %mul200, %nbparam_params_dispersion_shift_cpot | |
%mul212 = fmul float %add211, %83 | |
%mul213 = fmul float %mul212, 0x3FC5555560000000 | |
%neg214 = fsub float -0.000000e+00, %mul213 | |
%89 = tail call float @llvm.fmuladd.f32(float %mul207, float 0x3FB5555540000000, float %neg214) | |
%mul215 = fmul float %cond, %89 | |
%add216 = fadd float %E_lj.0601, %mul215 | |
%mul217 = fmul float %71, %80 | |
%mul218 = fmul float %cond, %mul197 | |
%mul220 = fmul float %mul, %86 | |
%mul.i585 = fmul float %mul220, %mul220 | |
%90 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585, float 0x3FBDA79640000000) #5 | |
%91 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585, float 0x3FE03C5780000000) #5 | |
%92 = tail call float @llvm.fmuladd.f32(float %90, float %mul.i585, float 1.000000e+00) #5 | |
%93 = tail call float @llvm.fmuladd.f32(float %91, float %mul220, float %92) #5 | |
%div.i586 = fdiv float 1.000000e+00, %93, !fpmath !46 | |
%94 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585, float 0xBF0BFF7260000000) #5 | |
%95 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585, float 0x3F50794180000000) #5 | |
%96 = tail call float @llvm.fmuladd.f32(float %94, float %mul.i585, float 0xBF93BDB200000000) #5 | |
%97 = tail call float @llvm.fmuladd.f32(float %95, float %mul.i585, float 0x3FB1D5E760000000) #5 | |
%98 = tail call float @llvm.fmuladd.f32(float %96, float %mul.i585, float 0xBFE81272E0000000) #5 | |
%99 = tail call float @llvm.fmuladd.f32(float %97, float %mul220, float %98) #5 | |
%mul11.i = fmul float %99, %div.i586 | |
%mul222 = fmul float %mul19, %mul11.i | |
%100 = tail call float @llvm.fmuladd.f32(float %mul218, float %div196, float %mul222) | |
%101 = tail call float @llvm.fmuladd.f32(float %mul217, float %100, float %mul203) | |
%mul225 = fmul float %86, %div196 | |
%mul226 = fmul float %mul225, %nbparam_params_ewald_beta | |
%fabs.i = tail call float @llvm.fabs.f32(float %mul226) #5 | |
%and.i = bitcast float %fabs.i to i32 | |
%mul.i = fmul float %mul226, %mul226 | |
%div.i = fdiv float 1.000000e+00, %mul.i, !fpmath !46 | |
%sub.i = fadd float %fabs.i, -1.000000e+00 | |
%cmp.i583 = fcmp olt float %fabs.i, 1.250000e+00 | |
%cond.i = select i1 %cmp.i583, float %sub.i, float %div.i | |
%cmp2.i = fcmp olt float %fabs.i, 8.437500e-01 | |
%cond6.i = select i1 %cmp2.i, float %mul.i, float %cond.i | |
%102 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%103 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %102, float 0xC083EC8820000000) #5 | |
%104 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %103, float 0xC064145D40000000) #5 | |
%105 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %104, float 0xC031C20960000000) #5 | |
%106 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %105, float 0xBFE993BA80000000) #5 | |
%107 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %106, float 0xBF84341240000000) #5 | |
%108 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%109 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %108, float 0x40A3F219C0000000) #5 | |
%110 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %109, float 0x40A8FFB760000000) #5 | |
%111 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %110, float 0x409802EB20000000) #5 | |
%112 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %111, float 0x40745CAE20000000) #5 | |
%113 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %112, float 0x403E568B20000000) #5 | |
%114 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%115 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %114, float 0xC067135CE0000000) #5 | |
%116 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %115, float 0xC0644CB180000000) #5 | |
%117 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %116, float 0xC04F300AE0000000) #5 | |
%118 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %117, float 0xC0251E0440000000) #5 | |
%119 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %118, float 0xBFE63416E0000000) #5 | |
%120 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %119, float 0xBF84341260000000) #5 | |
%121 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%122 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %121, float 0x405B28A3E0000000) #5 | |
%123 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %122, float 0x407AD02160000000) #5 | |
%124 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %123, float 0x40842B1920000000) #5 | |
%125 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %124, float 0x407B290DE0000000) #5 | |
%126 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %125, float 0x4061350C60000000) #5 | |
%127 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %126, float 0x4033A6B9C0000000) #5 | |
%cmp32.i = fcmp olt float %fabs.i, 0x4006DB6DA0000000 | |
%cond36.i = select i1 %cmp32.i, float %120, float %107 | |
%cond41.i = select i1 %cmp32.i, float %127, float %113 | |
%128 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%129 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %128, float 0xBFBC639840000000) #5 | |
%130 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %129, float 0x3FD45FCA80000000) #5 | |
%131 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %130, float 0xBFD7D24100000000) #5 | |
%132 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %131, float 0x3FDA8D00A0000000) #5 | |
%133 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %132, float 0xBF6359B8C0000000) #5 | |
%134 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%135 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %134, float 0x3FC02660E0000000) #5 | |
%136 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %135, float 0x3FB2635CE0000000) #5 | |
%137 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %136, float 0x3FE14AF0A0000000) #5 | |
%138 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %137, float 0x3FBB3E6620000000) #5 | |
%cond57.i = select i1 %cmp.i583, float %133, float %cond36.i | |
%cond62.i = select i1 %cmp.i583, float %138, float %cond41.i | |
%139 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%140 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %139, float 0xBF9D2A51E0000000) #5 | |
%141 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %140, float 0xBFD4CD7D60000000) #5 | |
%142 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %141, float 0x3FC06EBA80000000) #5 | |
%143 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%144 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %143, float 0x3F74D022C0000000) #5 | |
%145 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %144, float 0x3FB0A54C60000000) #5 | |
%146 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %145, float 0x3FD97779C0000000) #5 | |
%cond75.i = select i1 %cmp2.i, float %142, float %cond57.i | |
%cond80.i = select i1 %cmp2.i, float %146, float %cond62.i | |
%147 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %cond80.i, float 1.000000e+00) #5 | |
%div82.i = fdiv float %cond75.i, %147, !fpmath !46 | |
%and83.i = and i32 %and.i, -4096 | |
%astype84.i = bitcast i32 %and83.i to float | |
%sub85.i = fsub float -0.000000e+00, %astype84.i | |
%148 = tail call float @llvm.fmuladd.f32(float %sub85.i, float %astype84.i, float -5.625000e-01) #5 | |
%cmp.i2.i = fcmp olt float %148, 0.000000e+00 | |
%cond.i3.i = select i1 %cmp.i2.i, float -5.000000e-01, float 5.000000e-01 | |
%149 = tail call float @llvm.fmuladd.f32(float %148, float 0x3FF7154760000000, float %cond.i3.i) #5 | |
%conv.i4.i = fptosi float %149 to i32 | |
%conv1.i5.i = sitofp i32 %conv.i4.i to float | |
%150 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i, float 0xBFE62E3000000000, float %148) #5 | |
%mul.i6.i = fmul float %conv1.i5.i, 0xBEE2FEFA20000000 | |
%add.i7.i = fadd float %150, %mul.i6.i | |
%mul3.i8.i = fmul float %add.i7.i, %add.i7.i | |
%151 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%152 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %151, float 0x3F11566AA0000000) #5 | |
%153 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %152, float 0xBF66C16C20000000) #5 | |
%154 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %153, float 0x3FC5555560000000) #5 | |
%sub8.i9.i = fsub float -0.000000e+00, %154 | |
%155 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %sub8.i9.i, float %add.i7.i) #5 | |
%sub10.i10.i = fsub float -0.000000e+00, %mul.i6.i | |
%mul11.i11.i = fmul float %add.i7.i, %155 | |
%sub12.i12.i = fsub float 2.000000e+00, %155 | |
%div.i13.i = fdiv float %mul11.i11.i, %sub12.i12.i, !fpmath !46 | |
%sub13.i14.i = fsub float %sub10.i10.i, %div.i13.i | |
%sub14.i15.i = fsub float %sub13.i14.i, %150 | |
%sub15.i16.i = fsub float 1.000000e+00, %sub14.i15.i | |
%astype.i17.i = bitcast float %sub15.i16.i to i32 | |
%shl.i18.i = shl i32 %conv.i4.i, 23 | |
%add16.i19.i = add nsw i32 %astype.i17.i, %shl.i18.i | |
%astype17.i20.i = bitcast i32 %add16.i19.i to float | |
%cmp18.i21.i = fcmp olt float %148, 0xC055D589E0000000 | |
%cond20.i22.i = select i1 %cmp18.i21.i, float 0.000000e+00, float %astype17.i20.i | |
%cmp21.i23.i = fcmp olt float %148, 0x40562E4300000000 | |
%cond26.i24.i = select i1 %cmp21.i23.i, float %cond20.i22.i, float 0x7FF0000000000000 | |
%cmp.i.i25.i = fcmp uno float %148, 0.000000e+00 | |
%cond31.i26.i = select i1 %cmp.i.i25.i, float %148, float %cond26.i24.i | |
%sub88.i = fsub float %astype84.i, %fabs.i | |
%add.i584 = fadd float %fabs.i, %astype84.i | |
%156 = tail call float @llvm.fmuladd.f32(float %sub88.i, float %add.i584, float %div82.i) #5 | |
%cmp.i1.i = fcmp olt float %156, 0.000000e+00 | |
%cond.i.i = select i1 %cmp.i1.i, float -5.000000e-01, float 5.000000e-01 | |
%157 = tail call float @llvm.fmuladd.f32(float %156, float 0x3FF7154760000000, float %cond.i.i) #5 | |
%conv.i.i = fptosi float %157 to i32 | |
%conv1.i.i = sitofp i32 %conv.i.i to float | |
%158 = tail call float @llvm.fmuladd.f32(float %conv1.i.i, float 0xBFE62E3000000000, float %156) #5 | |
%mul.i.i = fmul float %conv1.i.i, 0xBEE2FEFA20000000 | |
%add.i.i = fadd float %158, %mul.i.i | |
%mul3.i.i = fmul float %add.i.i, %add.i.i | |
%159 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%160 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %159, float 0x3F11566AA0000000) #5 | |
%161 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %160, float 0xBF66C16C20000000) #5 | |
%162 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %161, float 0x3FC5555560000000) #5 | |
%sub8.i.i = fsub float -0.000000e+00, %162 | |
%163 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %sub8.i.i, float %add.i.i) #5 | |
%sub10.i.i = fsub float -0.000000e+00, %mul.i.i | |
%mul11.i.i = fmul float %add.i.i, %163 | |
%sub12.i.i = fsub float 2.000000e+00, %163 | |
%div.i.i = fdiv float %mul11.i.i, %sub12.i.i, !fpmath !46 | |
%sub13.i.i = fsub float %sub10.i.i, %div.i.i | |
%sub14.i.i = fsub float %sub13.i.i, %158 | |
%sub15.i.i = fsub float 1.000000e+00, %sub14.i.i | |
%astype.i.i = bitcast float %sub15.i.i to i32 | |
%shl.i.i = shl i32 %conv.i.i, 23 | |
%add16.i.i = add nsw i32 %astype.i.i, %shl.i.i | |
%astype17.i.i = bitcast i32 %add16.i.i to float | |
%cmp18.i.i = fcmp olt float %156, 0xC055D589E0000000 | |
%cond20.i.i = select i1 %cmp18.i.i, float 0.000000e+00, float %astype17.i.i | |
%cmp21.i.i = fcmp olt float %156, 0x40562E4300000000 | |
%cond26.i.i = select i1 %cmp21.i.i, float %cond20.i.i, float 0x7FF0000000000000 | |
%cmp.i.i.i = fcmp uno float %156, 0.000000e+00 | |
%cond31.i.i = select i1 %cmp.i.i.i, float %156, float %cond26.i.i | |
%mul91.i = fmul float %cond31.i26.i, %cond31.i.i | |
%div92.i = fdiv float %mul91.i, %fabs.i, !fpmath !46 | |
%sub93.i = fsub float 2.000000e+00, %div92.i | |
%cmp94.i = fcmp olt float %mul226, 0.000000e+00 | |
%cond98.i = select i1 %cmp94.i, float %sub93.i, float %div92.i | |
%cmp99.i = fcmp olt float %fabs.i, 2.800000e+01 | |
%cond103.i = select i1 %cmp99.i, float %cond98.i, float 0.000000e+00 | |
%sub104.i = fsub float 0x3FC3D4FA80000000, %div82.i | |
%add105.i = fadd float %div82.i, 0x3FEB0AC160000000 | |
%add106.i = fadd float %add105.i, 1.000000e+00 | |
%cond111.i = select i1 %cmp94.i, float %add106.i, float %sub104.i | |
%cond116.i = select i1 %cmp.i583, float %cond111.i, float %cond103.i | |
%sub117.i = fadd float %mul226, -5.000000e-01 | |
%164 = tail call float @llvm.fmuladd.f32(float %mul226, float %div82.i, float %sub117.i) #5 | |
%sub119.i = fsub float 5.000000e-01, %164 | |
%cond124.i = select i1 %cmp2.i, float %sub119.i, float %cond116.i | |
%cmp125.i = fcmp olt float %mul226, -6.000000e+00 | |
%cond129.i = select i1 %cmp125.i, float 2.000000e+00, float %cond124.i | |
%cmp.i.i = fcmp uno float %mul226, 0.000000e+00 | |
%cond134.i = select i1 %cmp.i.i, float %mul226, float %cond129.i | |
%mul229 = fmul float %cond, %nbparam_params_sh_ewald | |
%neg230 = fsub float -0.000000e+00, %mul229 | |
%165 = tail call float @llvm.fmuladd.f32(float %div196, float %cond134.i, float %neg230) | |
%166 = tail call float @llvm.fmuladd.f32(float %mul217, float %165, float %E_el.2600) | |
%splat.splatinsert = insertelement <3 x float> undef, float %101, i32 0 | |
%splat.splat = shufflevector <3 x float> %splat.splatinsert, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235 = fmul <3 x float> %extractVec166, %splat.splat | |
%sub244 = fsub <3 x float> zeroinitializer, %mul235 | |
%extractVec245 = shufflevector <3 x float> %sub244, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253 = shufflevector <4 x float> %fci_buf.sroa.0.0, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254 = fadd <3 x float> %extractVec253, %mul235 | |
%extractVec255 = shufflevector <3 x float> %add254, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258 | |
if.end258: ; preds = %if.then126, %if.then147, %if.then182 | |
%fci_buf.sroa.0.1 = phi <4 x float> [ %fci_buf.sroa.0.0, %if.then126 ], [ %extractVec255, %if.then182 ], [ %fci_buf.sroa.0.0, %if.then147 ] | |
%E_el.5 = phi float [ %E_el.2600, %if.then126 ], [ %166, %if.then182 ], [ %E_el.2600, %if.then147 ] | |
%E_lj.3 = phi float [ %E_lj.0601, %if.then126 ], [ %add216, %if.then182 ], [ %E_lj.0601, %if.then147 ] | |
%fcj_buf.sroa.0.1 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then126 ], [ %extractVec245, %if.then182 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then147 ] | |
%and145.1 = and i32 %64, 2 | |
%tobool146.1 = icmp eq i32 %and145.1, 0 | |
br i1 %tobool146.1, label %if.end258.1, label %if.then147.1 | |
for.inc269: ; preds = %for.body122.preheader, %if.end258.7 | |
%fci_buf.sroa.72.1 = phi <4 x float> [ %fci_buf.sroa.72.0, %for.body122.preheader ], [ %fci_buf.sroa.72.4, %if.end258.7 ] | |
%fci_buf.sroa.62.1 = phi <4 x float> [ %fci_buf.sroa.62.0, %for.body122.preheader ], [ %fci_buf.sroa.62.3, %if.end258.7 ] | |
%fci_buf.sroa.52.1 = phi <4 x float> [ %fci_buf.sroa.52.0, %for.body122.preheader ], [ %fci_buf.sroa.52.3, %if.end258.7 ] | |
%fci_buf.sroa.42.1 = phi <4 x float> [ %fci_buf.sroa.42.0, %for.body122.preheader ], [ %fci_buf.sroa.42.3, %if.end258.7 ] | |
%fci_buf.sroa.32.1 = phi <4 x float> [ %fci_buf.sroa.32.0, %for.body122.preheader ], [ %fci_buf.sroa.32.3, %if.end258.7 ] | |
%fci_buf.sroa.22.1 = phi <4 x float> [ %fci_buf.sroa.22.0, %for.body122.preheader ], [ %fci_buf.sroa.22.3, %if.end258.7 ] | |
%fci_buf.sroa.12.1 = phi <4 x float> [ %fci_buf.sroa.12.0, %for.body122.preheader ], [ %fci_buf.sroa.12.3, %if.end258.7 ] | |
%fci_buf.sroa.0.2 = phi <4 x float> [ %fci_buf.sroa.0.0, %for.body122.preheader ], [ %fci_buf.sroa.0.1, %if.end258.7 ] | |
%E_el.6 = phi float [ %E_el.2600, %for.body122.preheader ], [ %E_el.5.7, %if.end258.7 ] | |
%E_lj.4 = phi float [ %E_lj.0601, %for.body122.preheader ], [ %E_lj.3.7, %if.end258.7 ] | |
%and124.1 = and i32 %64, 65280 | |
%tobool125.1 = icmp eq i32 %and124.1, 0 | |
br i1 %tobool125.1, label %for.inc269.1, label %if.then126.1 | |
for.inc273: ; preds = %for.inc269.2, %if.end258.7.3, %for.body92 | |
%fci_buf.sroa.72.2 = phi <4 x float> [ %fci_buf.sroa.72.0, %for.body92 ], [ %fci_buf.sroa.72.8, %for.inc269.2 ], [ %fci_buf.sroa.72.9, %if.end258.7.3 ] | |
%fci_buf.sroa.62.2 = phi <4 x float> [ %fci_buf.sroa.62.0, %for.body92 ], [ %fci_buf.sroa.62.7, %for.inc269.2 ], [ %fci_buf.sroa.62.8, %if.end258.7.3 ] | |
%fci_buf.sroa.52.2 = phi <4 x float> [ %fci_buf.sroa.52.0, %for.body92 ], [ %fci_buf.sroa.52.7, %for.inc269.2 ], [ %fci_buf.sroa.52.8, %if.end258.7.3 ] | |
%fci_buf.sroa.42.2 = phi <4 x float> [ %fci_buf.sroa.42.0, %for.body92 ], [ %fci_buf.sroa.42.7, %for.inc269.2 ], [ %fci_buf.sroa.42.8, %if.end258.7.3 ] | |
%fci_buf.sroa.32.2 = phi <4 x float> [ %fci_buf.sroa.32.0, %for.body92 ], [ %fci_buf.sroa.32.7, %for.inc269.2 ], [ %fci_buf.sroa.32.8, %if.end258.7.3 ] | |
%fci_buf.sroa.22.2 = phi <4 x float> [ %fci_buf.sroa.22.0, %for.body92 ], [ %fci_buf.sroa.22.7, %for.inc269.2 ], [ %fci_buf.sroa.22.8, %if.end258.7.3 ] | |
%fci_buf.sroa.12.2 = phi <4 x float> [ %fci_buf.sroa.12.0, %for.body92 ], [ %fci_buf.sroa.12.7, %for.inc269.2 ], [ %fci_buf.sroa.12.8, %if.end258.7.3 ] | |
%fci_buf.sroa.0.3 = phi <4 x float> [ %fci_buf.sroa.0.0, %for.body92 ], [ %fci_buf.sroa.0.7, %for.inc269.2 ], [ %fci_buf.sroa.0.8, %if.end258.7.3 ] | |
%E_el.7 = phi float [ %E_el.2600, %for.body92 ], [ %E_el.6.2, %for.inc269.2 ], [ %E_el.5.7.3, %if.end258.7.3 ] | |
%E_lj.5 = phi float [ %E_lj.0601, %for.body92 ], [ %E_lj.4.2, %for.inc269.2 ], [ %E_lj.3.7.3, %if.end258.7.3 ] | |
%indvars.iv.next = add nsw i64 %indvars.iv, 1 | |
%lftr.wideiv = trunc i64 %indvars.iv.next to i32 | |
%exitcond = icmp eq i32 %lftr.wideiv, %nb_sci.sroa.12.0.copyload | |
br i1 %exitcond, label %for.end275.loopexit, label %for.body92 | |
for.end275.loopexit: ; preds = %for.inc273 | |
%E_lj.5.lcssa = phi float [ %E_lj.5, %for.inc273 ] | |
%E_el.7.lcssa = phi float [ %E_el.7, %for.inc273 ] | |
%fci_buf.sroa.0.3.lcssa = phi <4 x float> [ %fci_buf.sroa.0.3, %for.inc273 ] | |
%fci_buf.sroa.12.2.lcssa = phi <4 x float> [ %fci_buf.sroa.12.2, %for.inc273 ] | |
%fci_buf.sroa.22.2.lcssa = phi <4 x float> [ %fci_buf.sroa.22.2, %for.inc273 ] | |
%fci_buf.sroa.32.2.lcssa = phi <4 x float> [ %fci_buf.sroa.32.2, %for.inc273 ] | |
%fci_buf.sroa.42.2.lcssa = phi <4 x float> [ %fci_buf.sroa.42.2, %for.inc273 ] | |
%fci_buf.sroa.52.2.lcssa = phi <4 x float> [ %fci_buf.sroa.52.2, %for.inc273 ] | |
%fci_buf.sroa.62.2.lcssa = phi <4 x float> [ %fci_buf.sroa.62.2, %for.inc273 ] | |
%fci_buf.sroa.72.2.lcssa = phi <4 x float> [ %fci_buf.sroa.72.2, %for.inc273 ] | |
%fci_buf.sroa.0.0.vec.extract = shufflevector <4 x float> %fci_buf.sroa.0.3.lcssa, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%fci_buf.sroa.12.16.vec.extract = shufflevector <4 x float> %fci_buf.sroa.12.2.lcssa, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%fci_buf.sroa.22.32.vec.extract = shufflevector <4 x float> %fci_buf.sroa.22.2.lcssa, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%fci_buf.sroa.32.48.vec.extract = shufflevector <4 x float> %fci_buf.sroa.32.2.lcssa, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%fci_buf.sroa.42.64.vec.extract = shufflevector <4 x float> %fci_buf.sroa.42.2.lcssa, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%fci_buf.sroa.52.80.vec.extract = shufflevector <4 x float> %fci_buf.sroa.52.2.lcssa, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%fci_buf.sroa.62.96.vec.extract = shufflevector <4 x float> %fci_buf.sroa.62.2.lcssa, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
br label %for.end275 | |
for.end275: ; preds = %for.cond89.preheader.for.end275_crit_edge, %for.end275.loopexit | |
%add288.7.pre-phi = phi i32 [ %.pre1168, %for.cond89.preheader.for.end275_crit_edge ], [ %add151.7.3, %for.end275.loopexit ] | |
%add288.6.pre-phi = phi i32 [ %.pre1166, %for.cond89.preheader.for.end275_crit_edge ], [ %add151.6.3, %for.end275.loopexit ] | |
%add288.5.pre-phi = phi i32 [ %.pre1164, %for.cond89.preheader.for.end275_crit_edge ], [ %add151.5.3, %for.end275.loopexit ] | |
%add288.4.pre-phi = phi i32 [ %.pre1162, %for.cond89.preheader.for.end275_crit_edge ], [ %add151.4.3, %for.end275.loopexit ] | |
%add288.3.pre-phi = phi i32 [ %.pre1160, %for.cond89.preheader.for.end275_crit_edge ], [ %add151.3.3, %for.end275.loopexit ] | |
%add288.2.pre-phi = phi i32 [ %.pre1158, %for.cond89.preheader.for.end275_crit_edge ], [ %add151.2.3, %for.end275.loopexit ] | |
%add288.1.pre-phi = phi i32 [ %.pre1156, %for.cond89.preheader.for.end275_crit_edge ], [ %add151.1.3, %for.end275.loopexit ] | |
%add288.pre-phi = phi i32 [ %.pre1154, %for.cond89.preheader.for.end275_crit_edge ], [ %add151.3954, %for.end275.loopexit ] | |
%fci_buf.sroa.72.3 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %for.cond89.preheader.for.end275_crit_edge ], [ %fci_buf.sroa.72.2.lcssa, %for.end275.loopexit ] | |
%arrayidx296.pre-phi = phi float addrspace(3)* [ %.pre1112, %for.cond89.preheader.for.end275_crit_edge ], [ %arrayidx267, %for.end275.loopexit ] | |
%arrayidx293.pre-phi = phi float addrspace(3)* [ %.pre1110, %for.cond89.preheader.for.end275_crit_edge ], [ %arrayidx265, %for.end275.loopexit ] | |
%arrayidx290.pre-phi = phi float addrspace(3)* [ %.pre1108, %for.cond89.preheader.for.end275_crit_edge ], [ %arrayidx263, %for.end275.loopexit ] | |
%167 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.cond89.preheader.for.end275_crit_edge ], [ %fci_buf.sroa.62.96.vec.extract, %for.end275.loopexit ] | |
%168 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.cond89.preheader.for.end275_crit_edge ], [ %fci_buf.sroa.52.80.vec.extract, %for.end275.loopexit ] | |
%169 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.cond89.preheader.for.end275_crit_edge ], [ %fci_buf.sroa.42.64.vec.extract, %for.end275.loopexit ] | |
%170 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.cond89.preheader.for.end275_crit_edge ], [ %fci_buf.sroa.32.48.vec.extract, %for.end275.loopexit ] | |
%171 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.cond89.preheader.for.end275_crit_edge ], [ %fci_buf.sroa.22.32.vec.extract, %for.end275.loopexit ] | |
%172 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.cond89.preheader.for.end275_crit_edge ], [ %fci_buf.sroa.12.16.vec.extract, %for.end275.loopexit ] | |
%173 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> <i32 0, i32 0, i32 0, i32 undef> to i128) to i96) to <3 x float>), %for.cond89.preheader.for.end275_crit_edge ], [ %fci_buf.sroa.0.0.vec.extract, %for.end275.loopexit ] | |
%E_lj.0.lcssa = phi float [ 0.000000e+00, %for.cond89.preheader.for.end275_crit_edge ], [ %E_lj.5.lcssa, %for.end275.loopexit ] | |
%E_el.2.lcssa = phi float [ %E_el.2.ph, %for.cond89.preheader.for.end275_crit_edge ], [ %E_el.7.lcssa, %for.end275.loopexit ] | |
store float 0.000000e+00, float* %fshift_buf, align 4, !tbaa !39 | |
%tobool2971113 = icmp ne i32 %bCalcFshift, 0 | |
%not.cmp63 = xor i1 %cmp63, true | |
%tobool297 = and i1 %tobool2971113, %not.cmp63 | |
%174 = extractelement <3 x float> %173, i32 0 | |
store float %174, float addrspace(3)* %arrayidx290.pre-phi, align 4, !tbaa !39 | |
%175 = extractelement <3 x float> %173, i32 1 | |
store float %175, float addrspace(3)* %arrayidx293.pre-phi, align 4, !tbaa !39 | |
%176 = extractelement <3 x float> %173, i32 2 | |
store float %176, float addrspace(3)* %arrayidx296.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool297, i32 %x.i, i32 %y.i, i32 %add288.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%177 = extractelement <3 x float> %172, i32 0 | |
store float %177, float addrspace(3)* %arrayidx290.pre-phi, align 4, !tbaa !39 | |
%178 = extractelement <3 x float> %172, i32 1 | |
store float %178, float addrspace(3)* %arrayidx293.pre-phi, align 4, !tbaa !39 | |
%179 = extractelement <3 x float> %172, i32 2 | |
store float %179, float addrspace(3)* %arrayidx296.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool297, i32 %x.i, i32 %y.i, i32 %add288.1.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%180 = extractelement <3 x float> %171, i32 0 | |
store float %180, float addrspace(3)* %arrayidx290.pre-phi, align 4, !tbaa !39 | |
%181 = extractelement <3 x float> %171, i32 1 | |
store float %181, float addrspace(3)* %arrayidx293.pre-phi, align 4, !tbaa !39 | |
%182 = extractelement <3 x float> %171, i32 2 | |
store float %182, float addrspace(3)* %arrayidx296.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool297, i32 %x.i, i32 %y.i, i32 %add288.2.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%183 = extractelement <3 x float> %170, i32 0 | |
store float %183, float addrspace(3)* %arrayidx290.pre-phi, align 4, !tbaa !39 | |
%184 = extractelement <3 x float> %170, i32 1 | |
store float %184, float addrspace(3)* %arrayidx293.pre-phi, align 4, !tbaa !39 | |
%185 = extractelement <3 x float> %170, i32 2 | |
store float %185, float addrspace(3)* %arrayidx296.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool297, i32 %x.i, i32 %y.i, i32 %add288.3.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%186 = extractelement <3 x float> %169, i32 0 | |
store float %186, float addrspace(3)* %arrayidx290.pre-phi, align 4, !tbaa !39 | |
%187 = extractelement <3 x float> %169, i32 1 | |
store float %187, float addrspace(3)* %arrayidx293.pre-phi, align 4, !tbaa !39 | |
%188 = extractelement <3 x float> %169, i32 2 | |
store float %188, float addrspace(3)* %arrayidx296.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool297, i32 %x.i, i32 %y.i, i32 %add288.4.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%189 = extractelement <3 x float> %168, i32 0 | |
store float %189, float addrspace(3)* %arrayidx290.pre-phi, align 4, !tbaa !39 | |
%190 = extractelement <3 x float> %168, i32 1 | |
store float %190, float addrspace(3)* %arrayidx293.pre-phi, align 4, !tbaa !39 | |
%191 = extractelement <3 x float> %168, i32 2 | |
store float %191, float addrspace(3)* %arrayidx296.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool297, i32 %x.i, i32 %y.i, i32 %add288.5.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%192 = extractelement <3 x float> %167, i32 0 | |
store float %192, float addrspace(3)* %arrayidx290.pre-phi, align 4, !tbaa !39 | |
%193 = extractelement <3 x float> %167, i32 1 | |
store float %193, float addrspace(3)* %arrayidx293.pre-phi, align 4, !tbaa !39 | |
%194 = extractelement <3 x float> %167, i32 2 | |
store float %194, float addrspace(3)* %arrayidx296.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool297, i32 %x.i, i32 %y.i, i32 %add288.6.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%195 = extractelement <4 x float> %fci_buf.sroa.72.3, i32 0 | |
store float %195, float addrspace(3)* %arrayidx290.pre-phi, align 4, !tbaa !39 | |
%196 = extractelement <4 x float> %fci_buf.sroa.72.3, i32 1 | |
store float %196, float addrspace(3)* %arrayidx293.pre-phi, align 4, !tbaa !39 | |
%197 = extractelement <4 x float> %fci_buf.sroa.72.3, i32 2 | |
store float %197, float addrspace(3)* %arrayidx296.pre-phi, align 4, !tbaa !39 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
call fastcc void @reduce_force_i_pow2(float addrspace(3)* %2, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool297, i32 %x.i, i32 %y.i, i32 %add288.7.pre-phi) #5 | |
tail call void @llvm.amdgcn.s.barrier() #5 | |
%cmp303 = icmp ult i32 %y.i, 3 | |
%or.cond320 = and i1 %cmp303, %tobool297 | |
br i1 %or.cond320, label %if.then305, label %if.end311 | |
if.then305: ; preds = %for.end275 | |
%add308 = add i32 %mul36, %y.i | |
%198 = sext i32 %add308 to i64 | |
%arrayidx309 = getelementptr inbounds float, float addrspace(1)* %fshift, i64 %198 | |
%199 = load float, float* %fshift_buf, align 4, !tbaa !39 | |
%200 = load volatile float, float addrspace(1)* %arrayidx309, align 4, !tbaa !39 | |
%201 = bitcast float %200 to i32 | |
%202 = bitcast float addrspace(1)* %arrayidx309 to i32 addrspace(1)* | |
br label %do.body.i | |
do.body.i: ; preds = %do.body.i, %if.then305 | |
%current.sroa.0.0.i = phi i32 [ %201, %if.then305 ], [ %206, %do.body.i ] | |
%203 = bitcast i32 %current.sroa.0.0.i to float | |
%add.i = fadd float %199, %203 | |
%204 = bitcast float %add.i to i32 | |
%205 = cmpxchg volatile i32 addrspace(1)* %202, i32 %current.sroa.0.0.i, i32 %204 seq_cst seq_cst | |
%206 = extractvalue { i32, i1 } %205, 0 | |
%cmp.i = extractvalue { i32, i1 } %205, 1 | |
br i1 %cmp.i, label %if.end311.loopexit, label %do.body.i | |
if.end311.loopexit: ; preds = %do.body.i | |
br label %if.end311 | |
if.end311: ; preds = %if.end311.loopexit, %for.end275 | |
store float %E_lj.0.lcssa, float addrspace(3)* %arrayidx290.pre-phi, align 4, !tbaa !39 | |
store float %E_el.2.lcssa, float addrspace(3)* %arrayidx293.pre-phi, align 4, !tbaa !39 | |
%and315 = and i32 %add, 32 | |
%add.ptr316 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %and315 | |
%and317 = and i32 %add, -33 | |
tail call fastcc void @reduce_energy_pow2(float addrspace(3)* %add.ptr316, float addrspace(1)* %e_lj, float addrspace(1)* %e_el, i32 %and317) | |
call void @llvm.lifetime.end(i64 4, i8* %0) #5 | |
ret void | |
if.then147.1: ; preds = %if.end258 | |
%207 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.1.3, align 16, !tbaa !36 | |
%208 = fsub <4 x float> %207, %70 | |
%209 = extractelement <4 x float> %208, i32 0 | |
%210 = extractelement <4 x float> %208, i32 1 | |
%mul3.i.i589.1 = fmul float %210, %210 | |
%211 = tail call float @llvm.fmuladd.f32(float %209, float %209, float %mul3.i.i589.1) #5 | |
%212 = extractelement <4 x float> %208, i32 2 | |
%213 = tail call float @llvm.fmuladd.f32(float %212, float %212, float %211) #5 | |
%and168.1 = and i32 %66, 2 | |
%tobool169.1 = icmp ne i32 %and168.1, 0 | |
%cond.1 = select i1 %tobool169.1, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.1 = icmp eq i32 %60, %68 | |
%or.cond.1 = and i1 %cmp63, %cmp174.1 | |
%not.or.cond.1 = xor i1 %or.cond.1, true | |
%cmp176..1 = or i1 %cmp176, %not.or.cond.1 | |
%conv178.1 = uitofp i1 %cmp176..1 to float | |
%mul179.1 = fmul float %conv178.1, %nbparam_params_rcoulomb_sq | |
%cmp180.1 = fcmp olt float %213, %mul179.1 | |
br i1 %cmp180.1, label %if.then182.1, label %if.end258.1 | |
if.then182.1: ; preds = %if.then147.1 | |
%extractVec166.1 = shufflevector <4 x float> %208, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%214 = extractelement <4 x float> %207, i32 3 | |
%215 = load i32, i32 addrspace(1)* %arrayidx183.1.3, align 4, !tbaa !41 | |
%mul184.1 = mul nsw i32 %215, %ntypes | |
%add185.1 = add nsw i32 %mul184.1, %72 | |
%mul186.1 = shl nsw i32 %add185.1, 1 | |
%216 = sext i32 %mul186.1 to i64 | |
%arrayidx187.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %216 | |
%217 = load float, float addrspace(2)* %arrayidx187.1, align 4, !tbaa !39 | |
%add191.1 = or i32 %mul186.1, 1 | |
%218 = sext i32 %add191.1 to i64 | |
%arrayidx192.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %218 | |
%219 = load float, float addrspace(2)* %arrayidx192.1, align 4, !tbaa !39 | |
%sub193.1 = fsub float 1.000000e+00, %cond.1 | |
%220 = tail call float @llvm.fmuladd.f32(float %sub193.1, float 0x3D71979980000000, float %213) | |
%cmp.i.i587.1 = fcmp olt float %220, 0.000000e+00 | |
%call.i.i.1 = tail call float @llvm.sqrt.f32(float %220) #6 | |
%call.i.i.op.1 = fdiv float 1.000000e+00, %call.i.i.1 | |
%div196.1 = select i1 %cmp.i.i587.1, float 0x7FF8000000000000, float %call.i.i.op.1 | |
%mul197.1 = fmul float %div196.1, %div196.1 | |
%mul198.1 = fmul float %mul197.1, %mul197.1 | |
%mul199.1 = fmul float %mul197.1, %mul198.1 | |
%mul200.1 = fmul float %cond.1, %mul199.1 | |
%neg.1 = fsub float -0.000000e+00, %217 | |
%221 = tail call float @llvm.fmuladd.f32(float %219, float %mul200.1, float %neg.1) | |
%mul202.1 = fmul float %mul200.1, %221 | |
%mul203.1 = fmul float %mul197.1, %mul202.1 | |
%222 = tail call float @llvm.fmuladd.f32(float %mul200.1, float %mul200.1, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.1 = fmul float %222, %219 | |
%add211.1 = fadd float %mul200.1, %nbparam_params_dispersion_shift_cpot | |
%mul212.1 = fmul float %add211.1, %217 | |
%mul213.1 = fmul float %mul212.1, 0x3FC5555560000000 | |
%neg214.1 = fsub float -0.000000e+00, %mul213.1 | |
%223 = tail call float @llvm.fmuladd.f32(float %mul207.1, float 0x3FB5555540000000, float %neg214.1) | |
%mul215.1 = fmul float %cond.1, %223 | |
%add216.1 = fadd float %E_lj.3, %mul215.1 | |
%mul217.1 = fmul float %71, %214 | |
%mul218.1 = fmul float %cond.1, %mul197.1 | |
%mul220.1 = fmul float %mul, %220 | |
%mul.i585.1 = fmul float %mul220.1, %mul220.1 | |
%224 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.1, float 0x3FBDA79640000000) #5 | |
%225 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.1, float 0x3FE03C5780000000) #5 | |
%226 = tail call float @llvm.fmuladd.f32(float %224, float %mul.i585.1, float 1.000000e+00) #5 | |
%227 = tail call float @llvm.fmuladd.f32(float %225, float %mul220.1, float %226) #5 | |
%div.i586.1 = fdiv float 1.000000e+00, %227, !fpmath !46 | |
%228 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.1, float 0xBF0BFF7260000000) #5 | |
%229 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.1, float 0x3F50794180000000) #5 | |
%230 = tail call float @llvm.fmuladd.f32(float %228, float %mul.i585.1, float 0xBF93BDB200000000) #5 | |
%231 = tail call float @llvm.fmuladd.f32(float %229, float %mul.i585.1, float 0x3FB1D5E760000000) #5 | |
%232 = tail call float @llvm.fmuladd.f32(float %230, float %mul.i585.1, float 0xBFE81272E0000000) #5 | |
%233 = tail call float @llvm.fmuladd.f32(float %231, float %mul220.1, float %232) #5 | |
%mul11.i.1 = fmul float %233, %div.i586.1 | |
%mul222.1 = fmul float %mul19, %mul11.i.1 | |
%234 = tail call float @llvm.fmuladd.f32(float %mul218.1, float %div196.1, float %mul222.1) | |
%235 = tail call float @llvm.fmuladd.f32(float %mul217.1, float %234, float %mul203.1) | |
%mul225.1 = fmul float %220, %div196.1 | |
%mul226.1 = fmul float %mul225.1, %nbparam_params_ewald_beta | |
%fabs.i.1 = tail call float @llvm.fabs.f32(float %mul226.1) #5 | |
%and.i.1 = bitcast float %fabs.i.1 to i32 | |
%mul.i.1 = fmul float %mul226.1, %mul226.1 | |
%div.i.1 = fdiv float 1.000000e+00, %mul.i.1, !fpmath !46 | |
%sub.i.1 = fadd float %fabs.i.1, -1.000000e+00 | |
%cmp.i583.1 = fcmp olt float %fabs.i.1, 1.250000e+00 | |
%cond.i.1 = select i1 %cmp.i583.1, float %sub.i.1, float %div.i.1 | |
%cmp2.i.1 = fcmp olt float %fabs.i.1, 8.437500e-01 | |
%cond6.i.1 = select i1 %cmp2.i.1, float %mul.i.1, float %cond.i.1 | |
%236 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%237 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %236, float 0xC083EC8820000000) #5 | |
%238 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %237, float 0xC064145D40000000) #5 | |
%239 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %238, float 0xC031C20960000000) #5 | |
%240 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %239, float 0xBFE993BA80000000) #5 | |
%241 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %240, float 0xBF84341240000000) #5 | |
%242 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%243 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %242, float 0x40A3F219C0000000) #5 | |
%244 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %243, float 0x40A8FFB760000000) #5 | |
%245 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %244, float 0x409802EB20000000) #5 | |
%246 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %245, float 0x40745CAE20000000) #5 | |
%247 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %246, float 0x403E568B20000000) #5 | |
%248 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%249 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %248, float 0xC067135CE0000000) #5 | |
%250 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %249, float 0xC0644CB180000000) #5 | |
%251 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %250, float 0xC04F300AE0000000) #5 | |
%252 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %251, float 0xC0251E0440000000) #5 | |
%253 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %252, float 0xBFE63416E0000000) #5 | |
%254 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %253, float 0xBF84341260000000) #5 | |
%255 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%256 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %255, float 0x405B28A3E0000000) #5 | |
%257 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %256, float 0x407AD02160000000) #5 | |
%258 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %257, float 0x40842B1920000000) #5 | |
%259 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %258, float 0x407B290DE0000000) #5 | |
%260 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %259, float 0x4061350C60000000) #5 | |
%261 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %260, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.1 = fcmp olt float %fabs.i.1, 0x4006DB6DA0000000 | |
%cond36.i.1 = select i1 %cmp32.i.1, float %254, float %241 | |
%cond41.i.1 = select i1 %cmp32.i.1, float %261, float %247 | |
%262 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%263 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %262, float 0xBFBC639840000000) #5 | |
%264 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %263, float 0x3FD45FCA80000000) #5 | |
%265 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %264, float 0xBFD7D24100000000) #5 | |
%266 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %265, float 0x3FDA8D00A0000000) #5 | |
%267 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %266, float 0xBF6359B8C0000000) #5 | |
%268 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%269 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %268, float 0x3FC02660E0000000) #5 | |
%270 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %269, float 0x3FB2635CE0000000) #5 | |
%271 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %270, float 0x3FE14AF0A0000000) #5 | |
%272 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %271, float 0x3FBB3E6620000000) #5 | |
%cond57.i.1 = select i1 %cmp.i583.1, float %267, float %cond36.i.1 | |
%cond62.i.1 = select i1 %cmp.i583.1, float %272, float %cond41.i.1 | |
%273 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%274 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %273, float 0xBF9D2A51E0000000) #5 | |
%275 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %274, float 0xBFD4CD7D60000000) #5 | |
%276 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %275, float 0x3FC06EBA80000000) #5 | |
%277 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%278 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %277, float 0x3F74D022C0000000) #5 | |
%279 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %278, float 0x3FB0A54C60000000) #5 | |
%280 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %279, float 0x3FD97779C0000000) #5 | |
%cond75.i.1 = select i1 %cmp2.i.1, float %276, float %cond57.i.1 | |
%cond80.i.1 = select i1 %cmp2.i.1, float %280, float %cond62.i.1 | |
%281 = tail call float @llvm.fmuladd.f32(float %cond6.i.1, float %cond80.i.1, float 1.000000e+00) #5 | |
%div82.i.1 = fdiv float %cond75.i.1, %281, !fpmath !46 | |
%and83.i.1 = and i32 %and.i.1, -4096 | |
%astype84.i.1 = bitcast i32 %and83.i.1 to float | |
%sub85.i.1 = fsub float -0.000000e+00, %astype84.i.1 | |
%282 = tail call float @llvm.fmuladd.f32(float %sub85.i.1, float %astype84.i.1, float -5.625000e-01) #5 | |
%cmp.i2.i.1 = fcmp olt float %282, 0.000000e+00 | |
%cond.i3.i.1 = select i1 %cmp.i2.i.1, float -5.000000e-01, float 5.000000e-01 | |
%283 = tail call float @llvm.fmuladd.f32(float %282, float 0x3FF7154760000000, float %cond.i3.i.1) #5 | |
%conv.i4.i.1 = fptosi float %283 to i32 | |
%conv1.i5.i.1 = sitofp i32 %conv.i4.i.1 to float | |
%284 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.1, float 0xBFE62E3000000000, float %282) #5 | |
%mul.i6.i.1 = fmul float %conv1.i5.i.1, 0xBEE2FEFA20000000 | |
%add.i7.i.1 = fadd float %284, %mul.i6.i.1 | |
%mul3.i8.i.1 = fmul float %add.i7.i.1, %add.i7.i.1 | |
%285 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%286 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1, float %285, float 0x3F11566AA0000000) #5 | |
%287 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1, float %286, float 0xBF66C16C20000000) #5 | |
%288 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1, float %287, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.1 = fsub float -0.000000e+00, %288 | |
%289 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1, float %sub8.i9.i.1, float %add.i7.i.1) #5 | |
%sub10.i10.i.1 = fsub float -0.000000e+00, %mul.i6.i.1 | |
%mul11.i11.i.1 = fmul float %add.i7.i.1, %289 | |
%sub12.i12.i.1 = fsub float 2.000000e+00, %289 | |
%div.i13.i.1 = fdiv float %mul11.i11.i.1, %sub12.i12.i.1, !fpmath !46 | |
%sub13.i14.i.1 = fsub float %sub10.i10.i.1, %div.i13.i.1 | |
%sub14.i15.i.1 = fsub float %sub13.i14.i.1, %284 | |
%sub15.i16.i.1 = fsub float 1.000000e+00, %sub14.i15.i.1 | |
%astype.i17.i.1 = bitcast float %sub15.i16.i.1 to i32 | |
%shl.i18.i.1 = shl i32 %conv.i4.i.1, 23 | |
%add16.i19.i.1 = add nsw i32 %astype.i17.i.1, %shl.i18.i.1 | |
%astype17.i20.i.1 = bitcast i32 %add16.i19.i.1 to float | |
%cmp18.i21.i.1 = fcmp olt float %282, 0xC055D589E0000000 | |
%cond20.i22.i.1 = select i1 %cmp18.i21.i.1, float 0.000000e+00, float %astype17.i20.i.1 | |
%cmp21.i23.i.1 = fcmp olt float %282, 0x40562E4300000000 | |
%cond26.i24.i.1 = select i1 %cmp21.i23.i.1, float %cond20.i22.i.1, float 0x7FF0000000000000 | |
%cmp.i.i25.i.1 = fcmp uno float %282, 0.000000e+00 | |
%cond31.i26.i.1 = select i1 %cmp.i.i25.i.1, float %282, float %cond26.i24.i.1 | |
%sub88.i.1 = fsub float %astype84.i.1, %fabs.i.1 | |
%add.i584.1 = fadd float %fabs.i.1, %astype84.i.1 | |
%290 = tail call float @llvm.fmuladd.f32(float %sub88.i.1, float %add.i584.1, float %div82.i.1) #5 | |
%cmp.i1.i.1 = fcmp olt float %290, 0.000000e+00 | |
%cond.i.i.1 = select i1 %cmp.i1.i.1, float -5.000000e-01, float 5.000000e-01 | |
%291 = tail call float @llvm.fmuladd.f32(float %290, float 0x3FF7154760000000, float %cond.i.i.1) #5 | |
%conv.i.i.1 = fptosi float %291 to i32 | |
%conv1.i.i.1 = sitofp i32 %conv.i.i.1 to float | |
%292 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.1, float 0xBFE62E3000000000, float %290) #5 | |
%mul.i.i.1 = fmul float %conv1.i.i.1, 0xBEE2FEFA20000000 | |
%add.i.i.1 = fadd float %292, %mul.i.i.1 | |
%mul3.i.i.1 = fmul float %add.i.i.1, %add.i.i.1 | |
%293 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%294 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1, float %293, float 0x3F11566AA0000000) #5 | |
%295 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1, float %294, float 0xBF66C16C20000000) #5 | |
%296 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1, float %295, float 0x3FC5555560000000) #5 | |
%sub8.i.i.1 = fsub float -0.000000e+00, %296 | |
%297 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1, float %sub8.i.i.1, float %add.i.i.1) #5 | |
%sub10.i.i.1 = fsub float -0.000000e+00, %mul.i.i.1 | |
%mul11.i.i.1 = fmul float %add.i.i.1, %297 | |
%sub12.i.i.1 = fsub float 2.000000e+00, %297 | |
%div.i.i.1 = fdiv float %mul11.i.i.1, %sub12.i.i.1, !fpmath !46 | |
%sub13.i.i.1 = fsub float %sub10.i.i.1, %div.i.i.1 | |
%sub14.i.i.1 = fsub float %sub13.i.i.1, %292 | |
%sub15.i.i.1 = fsub float 1.000000e+00, %sub14.i.i.1 | |
%astype.i.i.1 = bitcast float %sub15.i.i.1 to i32 | |
%shl.i.i.1 = shl i32 %conv.i.i.1, 23 | |
%add16.i.i.1 = add nsw i32 %astype.i.i.1, %shl.i.i.1 | |
%astype17.i.i.1 = bitcast i32 %add16.i.i.1 to float | |
%cmp18.i.i.1 = fcmp olt float %290, 0xC055D589E0000000 | |
%cond20.i.i.1 = select i1 %cmp18.i.i.1, float 0.000000e+00, float %astype17.i.i.1 | |
%cmp21.i.i.1 = fcmp olt float %290, 0x40562E4300000000 | |
%cond26.i.i.1 = select i1 %cmp21.i.i.1, float %cond20.i.i.1, float 0x7FF0000000000000 | |
%cmp.i.i.i.1 = fcmp uno float %290, 0.000000e+00 | |
%cond31.i.i.1 = select i1 %cmp.i.i.i.1, float %290, float %cond26.i.i.1 | |
%mul91.i.1 = fmul float %cond31.i26.i.1, %cond31.i.i.1 | |
%div92.i.1 = fdiv float %mul91.i.1, %fabs.i.1, !fpmath !46 | |
%sub93.i.1 = fsub float 2.000000e+00, %div92.i.1 | |
%cmp94.i.1 = fcmp olt float %mul226.1, 0.000000e+00 | |
%cond98.i.1 = select i1 %cmp94.i.1, float %sub93.i.1, float %div92.i.1 | |
%cmp99.i.1 = fcmp olt float %fabs.i.1, 2.800000e+01 | |
%cond103.i.1 = select i1 %cmp99.i.1, float %cond98.i.1, float 0.000000e+00 | |
%sub104.i.1 = fsub float 0x3FC3D4FA80000000, %div82.i.1 | |
%add105.i.1 = fadd float %div82.i.1, 0x3FEB0AC160000000 | |
%add106.i.1 = fadd float %add105.i.1, 1.000000e+00 | |
%cond111.i.1 = select i1 %cmp94.i.1, float %add106.i.1, float %sub104.i.1 | |
%cond116.i.1 = select i1 %cmp.i583.1, float %cond111.i.1, float %cond103.i.1 | |
%sub117.i.1 = fadd float %mul226.1, -5.000000e-01 | |
%298 = tail call float @llvm.fmuladd.f32(float %mul226.1, float %div82.i.1, float %sub117.i.1) #5 | |
%sub119.i.1 = fsub float 5.000000e-01, %298 | |
%cond124.i.1 = select i1 %cmp2.i.1, float %sub119.i.1, float %cond116.i.1 | |
%cmp125.i.1 = fcmp olt float %mul226.1, -6.000000e+00 | |
%cond129.i.1 = select i1 %cmp125.i.1, float 2.000000e+00, float %cond124.i.1 | |
%cmp.i.i.1 = fcmp uno float %mul226.1, 0.000000e+00 | |
%cond134.i.1 = select i1 %cmp.i.i.1, float %mul226.1, float %cond129.i.1 | |
%mul229.1 = fmul float %cond.1, %nbparam_params_sh_ewald | |
%neg230.1 = fsub float -0.000000e+00, %mul229.1 | |
%299 = tail call float @llvm.fmuladd.f32(float %div196.1, float %cond134.i.1, float %neg230.1) | |
%300 = tail call float @llvm.fmuladd.f32(float %mul217.1, float %299, float %E_el.5) | |
%splat.splatinsert.1 = insertelement <3 x float> undef, float %235, i32 0 | |
%splat.splat.1 = shufflevector <3 x float> %splat.splatinsert.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.1 = fmul <3 x float> %extractVec166.1, %splat.splat.1 | |
%extractVec243.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.1 = fsub <3 x float> %extractVec243.1, %mul235.1 | |
%extractVec245.1 = shufflevector <3 x float> %sub244.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.1 = shufflevector <4 x float> %fci_buf.sroa.12.0, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.1 = fadd <3 x float> %extractVec253.1, %mul235.1 | |
%extractVec255.1 = shufflevector <3 x float> %add254.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.1 | |
if.end258.1: ; preds = %if.then182.1, %if.then147.1, %if.end258 | |
%fci_buf.sroa.12.3 = phi <4 x float> [ %fci_buf.sroa.12.0, %if.end258 ], [ %extractVec255.1, %if.then182.1 ], [ %fci_buf.sroa.12.0, %if.then147.1 ] | |
%E_el.5.1 = phi float [ %E_el.5, %if.end258 ], [ %300, %if.then182.1 ], [ %E_el.5, %if.then147.1 ] | |
%E_lj.3.1 = phi float [ %E_lj.3, %if.end258 ], [ %add216.1, %if.then182.1 ], [ %E_lj.3, %if.then147.1 ] | |
%fcj_buf.sroa.0.1.1 = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end258 ], [ %extractVec245.1, %if.then182.1 ], [ %fcj_buf.sroa.0.1, %if.then147.1 ] | |
%and145.2 = and i32 %64, 4 | |
%tobool146.2 = icmp eq i32 %and145.2, 0 | |
br i1 %tobool146.2, label %if.end258.2, label %if.then147.2 | |
if.then147.2: ; preds = %if.end258.1 | |
%301 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.2.3, align 16, !tbaa !36 | |
%302 = fsub <4 x float> %301, %70 | |
%303 = extractelement <4 x float> %302, i32 0 | |
%304 = extractelement <4 x float> %302, i32 1 | |
%mul3.i.i589.2 = fmul float %304, %304 | |
%305 = tail call float @llvm.fmuladd.f32(float %303, float %303, float %mul3.i.i589.2) #5 | |
%306 = extractelement <4 x float> %302, i32 2 | |
%307 = tail call float @llvm.fmuladd.f32(float %306, float %306, float %305) #5 | |
%and168.2 = and i32 %66, 4 | |
%tobool169.2 = icmp ne i32 %and168.2, 0 | |
%cond.2 = select i1 %tobool169.2, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.2 = icmp eq i32 %58, %68 | |
%or.cond.2 = and i1 %cmp63, %cmp174.2 | |
%not.or.cond.2 = xor i1 %or.cond.2, true | |
%cmp176..2 = or i1 %cmp176, %not.or.cond.2 | |
%conv178.2 = uitofp i1 %cmp176..2 to float | |
%mul179.2 = fmul float %conv178.2, %nbparam_params_rcoulomb_sq | |
%cmp180.2 = fcmp olt float %307, %mul179.2 | |
br i1 %cmp180.2, label %if.then182.2, label %if.end258.2 | |
if.then182.2: ; preds = %if.then147.2 | |
%extractVec166.2 = shufflevector <4 x float> %302, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%308 = extractelement <4 x float> %301, i32 3 | |
%309 = load i32, i32 addrspace(1)* %arrayidx183.2.3, align 4, !tbaa !41 | |
%mul184.2 = mul nsw i32 %309, %ntypes | |
%add185.2 = add nsw i32 %mul184.2, %72 | |
%mul186.2 = shl nsw i32 %add185.2, 1 | |
%310 = sext i32 %mul186.2 to i64 | |
%arrayidx187.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %310 | |
%311 = load float, float addrspace(2)* %arrayidx187.2, align 4, !tbaa !39 | |
%add191.2 = or i32 %mul186.2, 1 | |
%312 = sext i32 %add191.2 to i64 | |
%arrayidx192.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %312 | |
%313 = load float, float addrspace(2)* %arrayidx192.2, align 4, !tbaa !39 | |
%sub193.2 = fsub float 1.000000e+00, %cond.2 | |
%314 = tail call float @llvm.fmuladd.f32(float %sub193.2, float 0x3D71979980000000, float %307) | |
%cmp.i.i587.2 = fcmp olt float %314, 0.000000e+00 | |
%call.i.i.2 = tail call float @llvm.sqrt.f32(float %314) #6 | |
%call.i.i.op.2 = fdiv float 1.000000e+00, %call.i.i.2 | |
%div196.2 = select i1 %cmp.i.i587.2, float 0x7FF8000000000000, float %call.i.i.op.2 | |
%mul197.2 = fmul float %div196.2, %div196.2 | |
%mul198.2 = fmul float %mul197.2, %mul197.2 | |
%mul199.2 = fmul float %mul197.2, %mul198.2 | |
%mul200.2 = fmul float %cond.2, %mul199.2 | |
%neg.2 = fsub float -0.000000e+00, %311 | |
%315 = tail call float @llvm.fmuladd.f32(float %313, float %mul200.2, float %neg.2) | |
%mul202.2 = fmul float %mul200.2, %315 | |
%mul203.2 = fmul float %mul197.2, %mul202.2 | |
%316 = tail call float @llvm.fmuladd.f32(float %mul200.2, float %mul200.2, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.2 = fmul float %316, %313 | |
%add211.2 = fadd float %mul200.2, %nbparam_params_dispersion_shift_cpot | |
%mul212.2 = fmul float %add211.2, %311 | |
%mul213.2 = fmul float %mul212.2, 0x3FC5555560000000 | |
%neg214.2 = fsub float -0.000000e+00, %mul213.2 | |
%317 = tail call float @llvm.fmuladd.f32(float %mul207.2, float 0x3FB5555540000000, float %neg214.2) | |
%mul215.2 = fmul float %cond.2, %317 | |
%add216.2 = fadd float %E_lj.3.1, %mul215.2 | |
%mul217.2 = fmul float %71, %308 | |
%mul218.2 = fmul float %cond.2, %mul197.2 | |
%mul220.2 = fmul float %mul, %314 | |
%mul.i585.2 = fmul float %mul220.2, %mul220.2 | |
%318 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.2, float 0x3FBDA79640000000) #5 | |
%319 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.2, float 0x3FE03C5780000000) #5 | |
%320 = tail call float @llvm.fmuladd.f32(float %318, float %mul.i585.2, float 1.000000e+00) #5 | |
%321 = tail call float @llvm.fmuladd.f32(float %319, float %mul220.2, float %320) #5 | |
%div.i586.2 = fdiv float 1.000000e+00, %321, !fpmath !46 | |
%322 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.2, float 0xBF0BFF7260000000) #5 | |
%323 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.2, float 0x3F50794180000000) #5 | |
%324 = tail call float @llvm.fmuladd.f32(float %322, float %mul.i585.2, float 0xBF93BDB200000000) #5 | |
%325 = tail call float @llvm.fmuladd.f32(float %323, float %mul.i585.2, float 0x3FB1D5E760000000) #5 | |
%326 = tail call float @llvm.fmuladd.f32(float %324, float %mul.i585.2, float 0xBFE81272E0000000) #5 | |
%327 = tail call float @llvm.fmuladd.f32(float %325, float %mul220.2, float %326) #5 | |
%mul11.i.2 = fmul float %327, %div.i586.2 | |
%mul222.2 = fmul float %mul19, %mul11.i.2 | |
%328 = tail call float @llvm.fmuladd.f32(float %mul218.2, float %div196.2, float %mul222.2) | |
%329 = tail call float @llvm.fmuladd.f32(float %mul217.2, float %328, float %mul203.2) | |
%mul225.2 = fmul float %314, %div196.2 | |
%mul226.2 = fmul float %mul225.2, %nbparam_params_ewald_beta | |
%fabs.i.2 = tail call float @llvm.fabs.f32(float %mul226.2) #5 | |
%and.i.2 = bitcast float %fabs.i.2 to i32 | |
%mul.i.2 = fmul float %mul226.2, %mul226.2 | |
%div.i.2 = fdiv float 1.000000e+00, %mul.i.2, !fpmath !46 | |
%sub.i.2 = fadd float %fabs.i.2, -1.000000e+00 | |
%cmp.i583.2 = fcmp olt float %fabs.i.2, 1.250000e+00 | |
%cond.i.2 = select i1 %cmp.i583.2, float %sub.i.2, float %div.i.2 | |
%cmp2.i.2 = fcmp olt float %fabs.i.2, 8.437500e-01 | |
%cond6.i.2 = select i1 %cmp2.i.2, float %mul.i.2, float %cond.i.2 | |
%330 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%331 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %330, float 0xC083EC8820000000) #5 | |
%332 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %331, float 0xC064145D40000000) #5 | |
%333 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %332, float 0xC031C20960000000) #5 | |
%334 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %333, float 0xBFE993BA80000000) #5 | |
%335 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %334, float 0xBF84341240000000) #5 | |
%336 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%337 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %336, float 0x40A3F219C0000000) #5 | |
%338 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %337, float 0x40A8FFB760000000) #5 | |
%339 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %338, float 0x409802EB20000000) #5 | |
%340 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %339, float 0x40745CAE20000000) #5 | |
%341 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %340, float 0x403E568B20000000) #5 | |
%342 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%343 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %342, float 0xC067135CE0000000) #5 | |
%344 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %343, float 0xC0644CB180000000) #5 | |
%345 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %344, float 0xC04F300AE0000000) #5 | |
%346 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %345, float 0xC0251E0440000000) #5 | |
%347 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %346, float 0xBFE63416E0000000) #5 | |
%348 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %347, float 0xBF84341260000000) #5 | |
%349 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%350 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %349, float 0x405B28A3E0000000) #5 | |
%351 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %350, float 0x407AD02160000000) #5 | |
%352 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %351, float 0x40842B1920000000) #5 | |
%353 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %352, float 0x407B290DE0000000) #5 | |
%354 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %353, float 0x4061350C60000000) #5 | |
%355 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %354, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.2 = fcmp olt float %fabs.i.2, 0x4006DB6DA0000000 | |
%cond36.i.2 = select i1 %cmp32.i.2, float %348, float %335 | |
%cond41.i.2 = select i1 %cmp32.i.2, float %355, float %341 | |
%356 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%357 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %356, float 0xBFBC639840000000) #5 | |
%358 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %357, float 0x3FD45FCA80000000) #5 | |
%359 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %358, float 0xBFD7D24100000000) #5 | |
%360 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %359, float 0x3FDA8D00A0000000) #5 | |
%361 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %360, float 0xBF6359B8C0000000) #5 | |
%362 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%363 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %362, float 0x3FC02660E0000000) #5 | |
%364 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %363, float 0x3FB2635CE0000000) #5 | |
%365 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %364, float 0x3FE14AF0A0000000) #5 | |
%366 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %365, float 0x3FBB3E6620000000) #5 | |
%cond57.i.2 = select i1 %cmp.i583.2, float %361, float %cond36.i.2 | |
%cond62.i.2 = select i1 %cmp.i583.2, float %366, float %cond41.i.2 | |
%367 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%368 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %367, float 0xBF9D2A51E0000000) #5 | |
%369 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %368, float 0xBFD4CD7D60000000) #5 | |
%370 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %369, float 0x3FC06EBA80000000) #5 | |
%371 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%372 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %371, float 0x3F74D022C0000000) #5 | |
%373 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %372, float 0x3FB0A54C60000000) #5 | |
%374 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %373, float 0x3FD97779C0000000) #5 | |
%cond75.i.2 = select i1 %cmp2.i.2, float %370, float %cond57.i.2 | |
%cond80.i.2 = select i1 %cmp2.i.2, float %374, float %cond62.i.2 | |
%375 = tail call float @llvm.fmuladd.f32(float %cond6.i.2, float %cond80.i.2, float 1.000000e+00) #5 | |
%div82.i.2 = fdiv float %cond75.i.2, %375, !fpmath !46 | |
%and83.i.2 = and i32 %and.i.2, -4096 | |
%astype84.i.2 = bitcast i32 %and83.i.2 to float | |
%sub85.i.2 = fsub float -0.000000e+00, %astype84.i.2 | |
%376 = tail call float @llvm.fmuladd.f32(float %sub85.i.2, float %astype84.i.2, float -5.625000e-01) #5 | |
%cmp.i2.i.2 = fcmp olt float %376, 0.000000e+00 | |
%cond.i3.i.2 = select i1 %cmp.i2.i.2, float -5.000000e-01, float 5.000000e-01 | |
%377 = tail call float @llvm.fmuladd.f32(float %376, float 0x3FF7154760000000, float %cond.i3.i.2) #5 | |
%conv.i4.i.2 = fptosi float %377 to i32 | |
%conv1.i5.i.2 = sitofp i32 %conv.i4.i.2 to float | |
%378 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.2, float 0xBFE62E3000000000, float %376) #5 | |
%mul.i6.i.2 = fmul float %conv1.i5.i.2, 0xBEE2FEFA20000000 | |
%add.i7.i.2 = fadd float %378, %mul.i6.i.2 | |
%mul3.i8.i.2 = fmul float %add.i7.i.2, %add.i7.i.2 | |
%379 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%380 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2, float %379, float 0x3F11566AA0000000) #5 | |
%381 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2, float %380, float 0xBF66C16C20000000) #5 | |
%382 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2, float %381, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.2 = fsub float -0.000000e+00, %382 | |
%383 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2, float %sub8.i9.i.2, float %add.i7.i.2) #5 | |
%sub10.i10.i.2 = fsub float -0.000000e+00, %mul.i6.i.2 | |
%mul11.i11.i.2 = fmul float %add.i7.i.2, %383 | |
%sub12.i12.i.2 = fsub float 2.000000e+00, %383 | |
%div.i13.i.2 = fdiv float %mul11.i11.i.2, %sub12.i12.i.2, !fpmath !46 | |
%sub13.i14.i.2 = fsub float %sub10.i10.i.2, %div.i13.i.2 | |
%sub14.i15.i.2 = fsub float %sub13.i14.i.2, %378 | |
%sub15.i16.i.2 = fsub float 1.000000e+00, %sub14.i15.i.2 | |
%astype.i17.i.2 = bitcast float %sub15.i16.i.2 to i32 | |
%shl.i18.i.2 = shl i32 %conv.i4.i.2, 23 | |
%add16.i19.i.2 = add nsw i32 %astype.i17.i.2, %shl.i18.i.2 | |
%astype17.i20.i.2 = bitcast i32 %add16.i19.i.2 to float | |
%cmp18.i21.i.2 = fcmp olt float %376, 0xC055D589E0000000 | |
%cond20.i22.i.2 = select i1 %cmp18.i21.i.2, float 0.000000e+00, float %astype17.i20.i.2 | |
%cmp21.i23.i.2 = fcmp olt float %376, 0x40562E4300000000 | |
%cond26.i24.i.2 = select i1 %cmp21.i23.i.2, float %cond20.i22.i.2, float 0x7FF0000000000000 | |
%cmp.i.i25.i.2 = fcmp uno float %376, 0.000000e+00 | |
%cond31.i26.i.2 = select i1 %cmp.i.i25.i.2, float %376, float %cond26.i24.i.2 | |
%sub88.i.2 = fsub float %astype84.i.2, %fabs.i.2 | |
%add.i584.2 = fadd float %fabs.i.2, %astype84.i.2 | |
%384 = tail call float @llvm.fmuladd.f32(float %sub88.i.2, float %add.i584.2, float %div82.i.2) #5 | |
%cmp.i1.i.2 = fcmp olt float %384, 0.000000e+00 | |
%cond.i.i.2 = select i1 %cmp.i1.i.2, float -5.000000e-01, float 5.000000e-01 | |
%385 = tail call float @llvm.fmuladd.f32(float %384, float 0x3FF7154760000000, float %cond.i.i.2) #5 | |
%conv.i.i.2 = fptosi float %385 to i32 | |
%conv1.i.i.2 = sitofp i32 %conv.i.i.2 to float | |
%386 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.2, float 0xBFE62E3000000000, float %384) #5 | |
%mul.i.i.2 = fmul float %conv1.i.i.2, 0xBEE2FEFA20000000 | |
%add.i.i.2 = fadd float %386, %mul.i.i.2 | |
%mul3.i.i.2 = fmul float %add.i.i.2, %add.i.i.2 | |
%387 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%388 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2, float %387, float 0x3F11566AA0000000) #5 | |
%389 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2, float %388, float 0xBF66C16C20000000) #5 | |
%390 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2, float %389, float 0x3FC5555560000000) #5 | |
%sub8.i.i.2 = fsub float -0.000000e+00, %390 | |
%391 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2, float %sub8.i.i.2, float %add.i.i.2) #5 | |
%sub10.i.i.2 = fsub float -0.000000e+00, %mul.i.i.2 | |
%mul11.i.i.2 = fmul float %add.i.i.2, %391 | |
%sub12.i.i.2 = fsub float 2.000000e+00, %391 | |
%div.i.i.2 = fdiv float %mul11.i.i.2, %sub12.i.i.2, !fpmath !46 | |
%sub13.i.i.2 = fsub float %sub10.i.i.2, %div.i.i.2 | |
%sub14.i.i.2 = fsub float %sub13.i.i.2, %386 | |
%sub15.i.i.2 = fsub float 1.000000e+00, %sub14.i.i.2 | |
%astype.i.i.2 = bitcast float %sub15.i.i.2 to i32 | |
%shl.i.i.2 = shl i32 %conv.i.i.2, 23 | |
%add16.i.i.2 = add nsw i32 %astype.i.i.2, %shl.i.i.2 | |
%astype17.i.i.2 = bitcast i32 %add16.i.i.2 to float | |
%cmp18.i.i.2 = fcmp olt float %384, 0xC055D589E0000000 | |
%cond20.i.i.2 = select i1 %cmp18.i.i.2, float 0.000000e+00, float %astype17.i.i.2 | |
%cmp21.i.i.2 = fcmp olt float %384, 0x40562E4300000000 | |
%cond26.i.i.2 = select i1 %cmp21.i.i.2, float %cond20.i.i.2, float 0x7FF0000000000000 | |
%cmp.i.i.i.2 = fcmp uno float %384, 0.000000e+00 | |
%cond31.i.i.2 = select i1 %cmp.i.i.i.2, float %384, float %cond26.i.i.2 | |
%mul91.i.2 = fmul float %cond31.i26.i.2, %cond31.i.i.2 | |
%div92.i.2 = fdiv float %mul91.i.2, %fabs.i.2, !fpmath !46 | |
%sub93.i.2 = fsub float 2.000000e+00, %div92.i.2 | |
%cmp94.i.2 = fcmp olt float %mul226.2, 0.000000e+00 | |
%cond98.i.2 = select i1 %cmp94.i.2, float %sub93.i.2, float %div92.i.2 | |
%cmp99.i.2 = fcmp olt float %fabs.i.2, 2.800000e+01 | |
%cond103.i.2 = select i1 %cmp99.i.2, float %cond98.i.2, float 0.000000e+00 | |
%sub104.i.2 = fsub float 0x3FC3D4FA80000000, %div82.i.2 | |
%add105.i.2 = fadd float %div82.i.2, 0x3FEB0AC160000000 | |
%add106.i.2 = fadd float %add105.i.2, 1.000000e+00 | |
%cond111.i.2 = select i1 %cmp94.i.2, float %add106.i.2, float %sub104.i.2 | |
%cond116.i.2 = select i1 %cmp.i583.2, float %cond111.i.2, float %cond103.i.2 | |
%sub117.i.2 = fadd float %mul226.2, -5.000000e-01 | |
%392 = tail call float @llvm.fmuladd.f32(float %mul226.2, float %div82.i.2, float %sub117.i.2) #5 | |
%sub119.i.2 = fsub float 5.000000e-01, %392 | |
%cond124.i.2 = select i1 %cmp2.i.2, float %sub119.i.2, float %cond116.i.2 | |
%cmp125.i.2 = fcmp olt float %mul226.2, -6.000000e+00 | |
%cond129.i.2 = select i1 %cmp125.i.2, float 2.000000e+00, float %cond124.i.2 | |
%cmp.i.i.2 = fcmp uno float %mul226.2, 0.000000e+00 | |
%cond134.i.2 = select i1 %cmp.i.i.2, float %mul226.2, float %cond129.i.2 | |
%mul229.2 = fmul float %cond.2, %nbparam_params_sh_ewald | |
%neg230.2 = fsub float -0.000000e+00, %mul229.2 | |
%393 = tail call float @llvm.fmuladd.f32(float %div196.2, float %cond134.i.2, float %neg230.2) | |
%394 = tail call float @llvm.fmuladd.f32(float %mul217.2, float %393, float %E_el.5.1) | |
%splat.splatinsert.2 = insertelement <3 x float> undef, float %329, i32 0 | |
%splat.splat.2 = shufflevector <3 x float> %splat.splatinsert.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.2 = fmul <3 x float> %extractVec166.2, %splat.splat.2 | |
%extractVec243.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.2 = fsub <3 x float> %extractVec243.2, %mul235.2 | |
%extractVec245.2 = shufflevector <3 x float> %sub244.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.2 = shufflevector <4 x float> %fci_buf.sroa.22.0, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.2 = fadd <3 x float> %extractVec253.2, %mul235.2 | |
%extractVec255.2 = shufflevector <3 x float> %add254.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.2 | |
if.end258.2: ; preds = %if.then182.2, %if.then147.2, %if.end258.1 | |
%fci_buf.sroa.22.3 = phi <4 x float> [ %fci_buf.sroa.22.0, %if.end258.1 ], [ %extractVec255.2, %if.then182.2 ], [ %fci_buf.sroa.22.0, %if.then147.2 ] | |
%E_el.5.2 = phi float [ %E_el.5.1, %if.end258.1 ], [ %394, %if.then182.2 ], [ %E_el.5.1, %if.then147.2 ] | |
%E_lj.3.2 = phi float [ %E_lj.3.1, %if.end258.1 ], [ %add216.2, %if.then182.2 ], [ %E_lj.3.1, %if.then147.2 ] | |
%fcj_buf.sroa.0.1.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.1, %if.end258.1 ], [ %extractVec245.2, %if.then182.2 ], [ %fcj_buf.sroa.0.1.1, %if.then147.2 ] | |
%and145.3 = and i32 %64, 8 | |
%tobool146.3 = icmp eq i32 %and145.3, 0 | |
br i1 %tobool146.3, label %if.end258.3, label %if.then147.3 | |
if.then147.3: ; preds = %if.end258.2 | |
%395 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.3.3, align 16, !tbaa !36 | |
%396 = fsub <4 x float> %395, %70 | |
%397 = extractelement <4 x float> %396, i32 0 | |
%398 = extractelement <4 x float> %396, i32 1 | |
%mul3.i.i589.3 = fmul float %398, %398 | |
%399 = tail call float @llvm.fmuladd.f32(float %397, float %397, float %mul3.i.i589.3) #5 | |
%400 = extractelement <4 x float> %396, i32 2 | |
%401 = tail call float @llvm.fmuladd.f32(float %400, float %400, float %399) #5 | |
%and168.3 = and i32 %66, 8 | |
%tobool169.3 = icmp ne i32 %and168.3, 0 | |
%cond.3 = select i1 %tobool169.3, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.3 = icmp eq i32 %56, %68 | |
%or.cond.3 = and i1 %cmp63, %cmp174.3 | |
%not.or.cond.3 = xor i1 %or.cond.3, true | |
%cmp176..3 = or i1 %cmp176, %not.or.cond.3 | |
%conv178.3 = uitofp i1 %cmp176..3 to float | |
%mul179.3 = fmul float %conv178.3, %nbparam_params_rcoulomb_sq | |
%cmp180.3 = fcmp olt float %401, %mul179.3 | |
br i1 %cmp180.3, label %if.then182.3, label %if.end258.3 | |
if.then182.3: ; preds = %if.then147.3 | |
%extractVec166.3 = shufflevector <4 x float> %396, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%402 = extractelement <4 x float> %395, i32 3 | |
%403 = load i32, i32 addrspace(1)* %arrayidx183.3.3, align 4, !tbaa !41 | |
%mul184.3 = mul nsw i32 %403, %ntypes | |
%add185.3 = add nsw i32 %mul184.3, %72 | |
%mul186.3 = shl nsw i32 %add185.3, 1 | |
%404 = sext i32 %mul186.3 to i64 | |
%arrayidx187.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %404 | |
%405 = load float, float addrspace(2)* %arrayidx187.3, align 4, !tbaa !39 | |
%add191.3 = or i32 %mul186.3, 1 | |
%406 = sext i32 %add191.3 to i64 | |
%arrayidx192.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %406 | |
%407 = load float, float addrspace(2)* %arrayidx192.3, align 4, !tbaa !39 | |
%sub193.3 = fsub float 1.000000e+00, %cond.3 | |
%408 = tail call float @llvm.fmuladd.f32(float %sub193.3, float 0x3D71979980000000, float %401) | |
%cmp.i.i587.3 = fcmp olt float %408, 0.000000e+00 | |
%call.i.i.3 = tail call float @llvm.sqrt.f32(float %408) #6 | |
%call.i.i.op.3 = fdiv float 1.000000e+00, %call.i.i.3 | |
%div196.3 = select i1 %cmp.i.i587.3, float 0x7FF8000000000000, float %call.i.i.op.3 | |
%mul197.3 = fmul float %div196.3, %div196.3 | |
%mul198.3 = fmul float %mul197.3, %mul197.3 | |
%mul199.3 = fmul float %mul197.3, %mul198.3 | |
%mul200.3 = fmul float %cond.3, %mul199.3 | |
%neg.3 = fsub float -0.000000e+00, %405 | |
%409 = tail call float @llvm.fmuladd.f32(float %407, float %mul200.3, float %neg.3) | |
%mul202.3 = fmul float %mul200.3, %409 | |
%mul203.3 = fmul float %mul197.3, %mul202.3 | |
%410 = tail call float @llvm.fmuladd.f32(float %mul200.3, float %mul200.3, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.3 = fmul float %410, %407 | |
%add211.3 = fadd float %mul200.3, %nbparam_params_dispersion_shift_cpot | |
%mul212.3 = fmul float %add211.3, %405 | |
%mul213.3 = fmul float %mul212.3, 0x3FC5555560000000 | |
%neg214.3 = fsub float -0.000000e+00, %mul213.3 | |
%411 = tail call float @llvm.fmuladd.f32(float %mul207.3, float 0x3FB5555540000000, float %neg214.3) | |
%mul215.3 = fmul float %cond.3, %411 | |
%add216.3 = fadd float %E_lj.3.2, %mul215.3 | |
%mul217.3 = fmul float %71, %402 | |
%mul218.3 = fmul float %cond.3, %mul197.3 | |
%mul220.3 = fmul float %mul, %408 | |
%mul.i585.3 = fmul float %mul220.3, %mul220.3 | |
%412 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.3, float 0x3FBDA79640000000) #5 | |
%413 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.3, float 0x3FE03C5780000000) #5 | |
%414 = tail call float @llvm.fmuladd.f32(float %412, float %mul.i585.3, float 1.000000e+00) #5 | |
%415 = tail call float @llvm.fmuladd.f32(float %413, float %mul220.3, float %414) #5 | |
%div.i586.3 = fdiv float 1.000000e+00, %415, !fpmath !46 | |
%416 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.3, float 0xBF0BFF7260000000) #5 | |
%417 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.3, float 0x3F50794180000000) #5 | |
%418 = tail call float @llvm.fmuladd.f32(float %416, float %mul.i585.3, float 0xBF93BDB200000000) #5 | |
%419 = tail call float @llvm.fmuladd.f32(float %417, float %mul.i585.3, float 0x3FB1D5E760000000) #5 | |
%420 = tail call float @llvm.fmuladd.f32(float %418, float %mul.i585.3, float 0xBFE81272E0000000) #5 | |
%421 = tail call float @llvm.fmuladd.f32(float %419, float %mul220.3, float %420) #5 | |
%mul11.i.3 = fmul float %421, %div.i586.3 | |
%mul222.3 = fmul float %mul19, %mul11.i.3 | |
%422 = tail call float @llvm.fmuladd.f32(float %mul218.3, float %div196.3, float %mul222.3) | |
%423 = tail call float @llvm.fmuladd.f32(float %mul217.3, float %422, float %mul203.3) | |
%mul225.3 = fmul float %408, %div196.3 | |
%mul226.3 = fmul float %mul225.3, %nbparam_params_ewald_beta | |
%fabs.i.3 = tail call float @llvm.fabs.f32(float %mul226.3) #5 | |
%and.i.3 = bitcast float %fabs.i.3 to i32 | |
%mul.i.3 = fmul float %mul226.3, %mul226.3 | |
%div.i.3 = fdiv float 1.000000e+00, %mul.i.3, !fpmath !46 | |
%sub.i.3 = fadd float %fabs.i.3, -1.000000e+00 | |
%cmp.i583.3 = fcmp olt float %fabs.i.3, 1.250000e+00 | |
%cond.i.3 = select i1 %cmp.i583.3, float %sub.i.3, float %div.i.3 | |
%cmp2.i.3 = fcmp olt float %fabs.i.3, 8.437500e-01 | |
%cond6.i.3 = select i1 %cmp2.i.3, float %mul.i.3, float %cond.i.3 | |
%424 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%425 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %424, float 0xC083EC8820000000) #5 | |
%426 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %425, float 0xC064145D40000000) #5 | |
%427 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %426, float 0xC031C20960000000) #5 | |
%428 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %427, float 0xBFE993BA80000000) #5 | |
%429 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %428, float 0xBF84341240000000) #5 | |
%430 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%431 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %430, float 0x40A3F219C0000000) #5 | |
%432 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %431, float 0x40A8FFB760000000) #5 | |
%433 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %432, float 0x409802EB20000000) #5 | |
%434 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %433, float 0x40745CAE20000000) #5 | |
%435 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %434, float 0x403E568B20000000) #5 | |
%436 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%437 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %436, float 0xC067135CE0000000) #5 | |
%438 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %437, float 0xC0644CB180000000) #5 | |
%439 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %438, float 0xC04F300AE0000000) #5 | |
%440 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %439, float 0xC0251E0440000000) #5 | |
%441 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %440, float 0xBFE63416E0000000) #5 | |
%442 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %441, float 0xBF84341260000000) #5 | |
%443 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%444 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %443, float 0x405B28A3E0000000) #5 | |
%445 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %444, float 0x407AD02160000000) #5 | |
%446 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %445, float 0x40842B1920000000) #5 | |
%447 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %446, float 0x407B290DE0000000) #5 | |
%448 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %447, float 0x4061350C60000000) #5 | |
%449 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %448, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.3 = fcmp olt float %fabs.i.3, 0x4006DB6DA0000000 | |
%cond36.i.3 = select i1 %cmp32.i.3, float %442, float %429 | |
%cond41.i.3 = select i1 %cmp32.i.3, float %449, float %435 | |
%450 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%451 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %450, float 0xBFBC639840000000) #5 | |
%452 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %451, float 0x3FD45FCA80000000) #5 | |
%453 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %452, float 0xBFD7D24100000000) #5 | |
%454 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %453, float 0x3FDA8D00A0000000) #5 | |
%455 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %454, float 0xBF6359B8C0000000) #5 | |
%456 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%457 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %456, float 0x3FC02660E0000000) #5 | |
%458 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %457, float 0x3FB2635CE0000000) #5 | |
%459 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %458, float 0x3FE14AF0A0000000) #5 | |
%460 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %459, float 0x3FBB3E6620000000) #5 | |
%cond57.i.3 = select i1 %cmp.i583.3, float %455, float %cond36.i.3 | |
%cond62.i.3 = select i1 %cmp.i583.3, float %460, float %cond41.i.3 | |
%461 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%462 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %461, float 0xBF9D2A51E0000000) #5 | |
%463 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %462, float 0xBFD4CD7D60000000) #5 | |
%464 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %463, float 0x3FC06EBA80000000) #5 | |
%465 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%466 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %465, float 0x3F74D022C0000000) #5 | |
%467 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %466, float 0x3FB0A54C60000000) #5 | |
%468 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %467, float 0x3FD97779C0000000) #5 | |
%cond75.i.3 = select i1 %cmp2.i.3, float %464, float %cond57.i.3 | |
%cond80.i.3 = select i1 %cmp2.i.3, float %468, float %cond62.i.3 | |
%469 = tail call float @llvm.fmuladd.f32(float %cond6.i.3, float %cond80.i.3, float 1.000000e+00) #5 | |
%div82.i.3 = fdiv float %cond75.i.3, %469, !fpmath !46 | |
%and83.i.3 = and i32 %and.i.3, -4096 | |
%astype84.i.3 = bitcast i32 %and83.i.3 to float | |
%sub85.i.3 = fsub float -0.000000e+00, %astype84.i.3 | |
%470 = tail call float @llvm.fmuladd.f32(float %sub85.i.3, float %astype84.i.3, float -5.625000e-01) #5 | |
%cmp.i2.i.3 = fcmp olt float %470, 0.000000e+00 | |
%cond.i3.i.3 = select i1 %cmp.i2.i.3, float -5.000000e-01, float 5.000000e-01 | |
%471 = tail call float @llvm.fmuladd.f32(float %470, float 0x3FF7154760000000, float %cond.i3.i.3) #5 | |
%conv.i4.i.3 = fptosi float %471 to i32 | |
%conv1.i5.i.3 = sitofp i32 %conv.i4.i.3 to float | |
%472 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.3, float 0xBFE62E3000000000, float %470) #5 | |
%mul.i6.i.3 = fmul float %conv1.i5.i.3, 0xBEE2FEFA20000000 | |
%add.i7.i.3 = fadd float %472, %mul.i6.i.3 | |
%mul3.i8.i.3 = fmul float %add.i7.i.3, %add.i7.i.3 | |
%473 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%474 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3, float %473, float 0x3F11566AA0000000) #5 | |
%475 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3, float %474, float 0xBF66C16C20000000) #5 | |
%476 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3, float %475, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.3 = fsub float -0.000000e+00, %476 | |
%477 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3, float %sub8.i9.i.3, float %add.i7.i.3) #5 | |
%sub10.i10.i.3 = fsub float -0.000000e+00, %mul.i6.i.3 | |
%mul11.i11.i.3 = fmul float %add.i7.i.3, %477 | |
%sub12.i12.i.3 = fsub float 2.000000e+00, %477 | |
%div.i13.i.3 = fdiv float %mul11.i11.i.3, %sub12.i12.i.3, !fpmath !46 | |
%sub13.i14.i.3 = fsub float %sub10.i10.i.3, %div.i13.i.3 | |
%sub14.i15.i.3 = fsub float %sub13.i14.i.3, %472 | |
%sub15.i16.i.3 = fsub float 1.000000e+00, %sub14.i15.i.3 | |
%astype.i17.i.3 = bitcast float %sub15.i16.i.3 to i32 | |
%shl.i18.i.3 = shl i32 %conv.i4.i.3, 23 | |
%add16.i19.i.3 = add nsw i32 %astype.i17.i.3, %shl.i18.i.3 | |
%astype17.i20.i.3 = bitcast i32 %add16.i19.i.3 to float | |
%cmp18.i21.i.3 = fcmp olt float %470, 0xC055D589E0000000 | |
%cond20.i22.i.3 = select i1 %cmp18.i21.i.3, float 0.000000e+00, float %astype17.i20.i.3 | |
%cmp21.i23.i.3 = fcmp olt float %470, 0x40562E4300000000 | |
%cond26.i24.i.3 = select i1 %cmp21.i23.i.3, float %cond20.i22.i.3, float 0x7FF0000000000000 | |
%cmp.i.i25.i.3 = fcmp uno float %470, 0.000000e+00 | |
%cond31.i26.i.3 = select i1 %cmp.i.i25.i.3, float %470, float %cond26.i24.i.3 | |
%sub88.i.3 = fsub float %astype84.i.3, %fabs.i.3 | |
%add.i584.3 = fadd float %fabs.i.3, %astype84.i.3 | |
%478 = tail call float @llvm.fmuladd.f32(float %sub88.i.3, float %add.i584.3, float %div82.i.3) #5 | |
%cmp.i1.i.3 = fcmp olt float %478, 0.000000e+00 | |
%cond.i.i.3 = select i1 %cmp.i1.i.3, float -5.000000e-01, float 5.000000e-01 | |
%479 = tail call float @llvm.fmuladd.f32(float %478, float 0x3FF7154760000000, float %cond.i.i.3) #5 | |
%conv.i.i.3 = fptosi float %479 to i32 | |
%conv1.i.i.3 = sitofp i32 %conv.i.i.3 to float | |
%480 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.3, float 0xBFE62E3000000000, float %478) #5 | |
%mul.i.i.3 = fmul float %conv1.i.i.3, 0xBEE2FEFA20000000 | |
%add.i.i.3 = fadd float %480, %mul.i.i.3 | |
%mul3.i.i.3 = fmul float %add.i.i.3, %add.i.i.3 | |
%481 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%482 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3, float %481, float 0x3F11566AA0000000) #5 | |
%483 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3, float %482, float 0xBF66C16C20000000) #5 | |
%484 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3, float %483, float 0x3FC5555560000000) #5 | |
%sub8.i.i.3 = fsub float -0.000000e+00, %484 | |
%485 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3, float %sub8.i.i.3, float %add.i.i.3) #5 | |
%sub10.i.i.3 = fsub float -0.000000e+00, %mul.i.i.3 | |
%mul11.i.i.3 = fmul float %add.i.i.3, %485 | |
%sub12.i.i.3 = fsub float 2.000000e+00, %485 | |
%div.i.i.3 = fdiv float %mul11.i.i.3, %sub12.i.i.3, !fpmath !46 | |
%sub13.i.i.3 = fsub float %sub10.i.i.3, %div.i.i.3 | |
%sub14.i.i.3 = fsub float %sub13.i.i.3, %480 | |
%sub15.i.i.3 = fsub float 1.000000e+00, %sub14.i.i.3 | |
%astype.i.i.3 = bitcast float %sub15.i.i.3 to i32 | |
%shl.i.i.3 = shl i32 %conv.i.i.3, 23 | |
%add16.i.i.3 = add nsw i32 %astype.i.i.3, %shl.i.i.3 | |
%astype17.i.i.3 = bitcast i32 %add16.i.i.3 to float | |
%cmp18.i.i.3 = fcmp olt float %478, 0xC055D589E0000000 | |
%cond20.i.i.3 = select i1 %cmp18.i.i.3, float 0.000000e+00, float %astype17.i.i.3 | |
%cmp21.i.i.3 = fcmp olt float %478, 0x40562E4300000000 | |
%cond26.i.i.3 = select i1 %cmp21.i.i.3, float %cond20.i.i.3, float 0x7FF0000000000000 | |
%cmp.i.i.i.3 = fcmp uno float %478, 0.000000e+00 | |
%cond31.i.i.3 = select i1 %cmp.i.i.i.3, float %478, float %cond26.i.i.3 | |
%mul91.i.3 = fmul float %cond31.i26.i.3, %cond31.i.i.3 | |
%div92.i.3 = fdiv float %mul91.i.3, %fabs.i.3, !fpmath !46 | |
%sub93.i.3 = fsub float 2.000000e+00, %div92.i.3 | |
%cmp94.i.3 = fcmp olt float %mul226.3, 0.000000e+00 | |
%cond98.i.3 = select i1 %cmp94.i.3, float %sub93.i.3, float %div92.i.3 | |
%cmp99.i.3 = fcmp olt float %fabs.i.3, 2.800000e+01 | |
%cond103.i.3 = select i1 %cmp99.i.3, float %cond98.i.3, float 0.000000e+00 | |
%sub104.i.3 = fsub float 0x3FC3D4FA80000000, %div82.i.3 | |
%add105.i.3 = fadd float %div82.i.3, 0x3FEB0AC160000000 | |
%add106.i.3 = fadd float %add105.i.3, 1.000000e+00 | |
%cond111.i.3 = select i1 %cmp94.i.3, float %add106.i.3, float %sub104.i.3 | |
%cond116.i.3 = select i1 %cmp.i583.3, float %cond111.i.3, float %cond103.i.3 | |
%sub117.i.3 = fadd float %mul226.3, -5.000000e-01 | |
%486 = tail call float @llvm.fmuladd.f32(float %mul226.3, float %div82.i.3, float %sub117.i.3) #5 | |
%sub119.i.3 = fsub float 5.000000e-01, %486 | |
%cond124.i.3 = select i1 %cmp2.i.3, float %sub119.i.3, float %cond116.i.3 | |
%cmp125.i.3 = fcmp olt float %mul226.3, -6.000000e+00 | |
%cond129.i.3 = select i1 %cmp125.i.3, float 2.000000e+00, float %cond124.i.3 | |
%cmp.i.i.3 = fcmp uno float %mul226.3, 0.000000e+00 | |
%cond134.i.3 = select i1 %cmp.i.i.3, float %mul226.3, float %cond129.i.3 | |
%mul229.3 = fmul float %cond.3, %nbparam_params_sh_ewald | |
%neg230.3 = fsub float -0.000000e+00, %mul229.3 | |
%487 = tail call float @llvm.fmuladd.f32(float %div196.3, float %cond134.i.3, float %neg230.3) | |
%488 = tail call float @llvm.fmuladd.f32(float %mul217.3, float %487, float %E_el.5.2) | |
%splat.splatinsert.3 = insertelement <3 x float> undef, float %423, i32 0 | |
%splat.splat.3 = shufflevector <3 x float> %splat.splatinsert.3, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.3 = fmul <3 x float> %extractVec166.3, %splat.splat.3 | |
%extractVec243.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.3 = fsub <3 x float> %extractVec243.3, %mul235.3 | |
%extractVec245.3 = shufflevector <3 x float> %sub244.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.3 = shufflevector <4 x float> %fci_buf.sroa.32.0, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.3 = fadd <3 x float> %extractVec253.3, %mul235.3 | |
%extractVec255.3 = shufflevector <3 x float> %add254.3, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.3 | |
if.end258.3: ; preds = %if.then182.3, %if.then147.3, %if.end258.2 | |
%fci_buf.sroa.32.3 = phi <4 x float> [ %fci_buf.sroa.32.0, %if.end258.2 ], [ %extractVec255.3, %if.then182.3 ], [ %fci_buf.sroa.32.0, %if.then147.3 ] | |
%E_el.5.3 = phi float [ %E_el.5.2, %if.end258.2 ], [ %488, %if.then182.3 ], [ %E_el.5.2, %if.then147.3 ] | |
%E_lj.3.3 = phi float [ %E_lj.3.2, %if.end258.2 ], [ %add216.3, %if.then182.3 ], [ %E_lj.3.2, %if.then147.3 ] | |
%fcj_buf.sroa.0.1.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.2, %if.end258.2 ], [ %extractVec245.3, %if.then182.3 ], [ %fcj_buf.sroa.0.1.2, %if.then147.3 ] | |
%and145.4 = and i32 %64, 16 | |
%tobool146.4 = icmp eq i32 %and145.4, 0 | |
br i1 %tobool146.4, label %if.end258.4, label %if.then147.4 | |
if.then147.4: ; preds = %if.end258.3 | |
%489 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.4.3, align 16, !tbaa !36 | |
%490 = fsub <4 x float> %489, %70 | |
%491 = extractelement <4 x float> %490, i32 0 | |
%492 = extractelement <4 x float> %490, i32 1 | |
%mul3.i.i589.4 = fmul float %492, %492 | |
%493 = tail call float @llvm.fmuladd.f32(float %491, float %491, float %mul3.i.i589.4) #5 | |
%494 = extractelement <4 x float> %490, i32 2 | |
%495 = tail call float @llvm.fmuladd.f32(float %494, float %494, float %493) #5 | |
%and168.4 = and i32 %66, 16 | |
%tobool169.4 = icmp ne i32 %and168.4, 0 | |
%cond.4 = select i1 %tobool169.4, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.4 = icmp eq i32 %54, %68 | |
%or.cond.4 = and i1 %cmp63, %cmp174.4 | |
%not.or.cond.4 = xor i1 %or.cond.4, true | |
%cmp176..4 = or i1 %cmp176, %not.or.cond.4 | |
%conv178.4 = uitofp i1 %cmp176..4 to float | |
%mul179.4 = fmul float %conv178.4, %nbparam_params_rcoulomb_sq | |
%cmp180.4 = fcmp olt float %495, %mul179.4 | |
br i1 %cmp180.4, label %if.then182.4, label %if.end258.4 | |
if.then182.4: ; preds = %if.then147.4 | |
%extractVec166.4 = shufflevector <4 x float> %490, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%496 = extractelement <4 x float> %489, i32 3 | |
%497 = load i32, i32 addrspace(1)* %arrayidx183.4.3, align 4, !tbaa !41 | |
%mul184.4 = mul nsw i32 %497, %ntypes | |
%add185.4 = add nsw i32 %mul184.4, %72 | |
%mul186.4 = shl nsw i32 %add185.4, 1 | |
%498 = sext i32 %mul186.4 to i64 | |
%arrayidx187.4 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %498 | |
%499 = load float, float addrspace(2)* %arrayidx187.4, align 4, !tbaa !39 | |
%add191.4 = or i32 %mul186.4, 1 | |
%500 = sext i32 %add191.4 to i64 | |
%arrayidx192.4 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %500 | |
%501 = load float, float addrspace(2)* %arrayidx192.4, align 4, !tbaa !39 | |
%sub193.4 = fsub float 1.000000e+00, %cond.4 | |
%502 = tail call float @llvm.fmuladd.f32(float %sub193.4, float 0x3D71979980000000, float %495) | |
%cmp.i.i587.4 = fcmp olt float %502, 0.000000e+00 | |
%call.i.i.4 = tail call float @llvm.sqrt.f32(float %502) #6 | |
%call.i.i.op.4 = fdiv float 1.000000e+00, %call.i.i.4 | |
%div196.4 = select i1 %cmp.i.i587.4, float 0x7FF8000000000000, float %call.i.i.op.4 | |
%mul197.4 = fmul float %div196.4, %div196.4 | |
%mul198.4 = fmul float %mul197.4, %mul197.4 | |
%mul199.4 = fmul float %mul197.4, %mul198.4 | |
%mul200.4 = fmul float %cond.4, %mul199.4 | |
%neg.4 = fsub float -0.000000e+00, %499 | |
%503 = tail call float @llvm.fmuladd.f32(float %501, float %mul200.4, float %neg.4) | |
%mul202.4 = fmul float %mul200.4, %503 | |
%mul203.4 = fmul float %mul197.4, %mul202.4 | |
%504 = tail call float @llvm.fmuladd.f32(float %mul200.4, float %mul200.4, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.4 = fmul float %504, %501 | |
%add211.4 = fadd float %mul200.4, %nbparam_params_dispersion_shift_cpot | |
%mul212.4 = fmul float %add211.4, %499 | |
%mul213.4 = fmul float %mul212.4, 0x3FC5555560000000 | |
%neg214.4 = fsub float -0.000000e+00, %mul213.4 | |
%505 = tail call float @llvm.fmuladd.f32(float %mul207.4, float 0x3FB5555540000000, float %neg214.4) | |
%mul215.4 = fmul float %cond.4, %505 | |
%add216.4 = fadd float %E_lj.3.3, %mul215.4 | |
%mul217.4 = fmul float %71, %496 | |
%mul218.4 = fmul float %cond.4, %mul197.4 | |
%mul220.4 = fmul float %mul, %502 | |
%mul.i585.4 = fmul float %mul220.4, %mul220.4 | |
%506 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.4, float 0x3FBDA79640000000) #5 | |
%507 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.4, float 0x3FE03C5780000000) #5 | |
%508 = tail call float @llvm.fmuladd.f32(float %506, float %mul.i585.4, float 1.000000e+00) #5 | |
%509 = tail call float @llvm.fmuladd.f32(float %507, float %mul220.4, float %508) #5 | |
%div.i586.4 = fdiv float 1.000000e+00, %509, !fpmath !46 | |
%510 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.4, float 0xBF0BFF7260000000) #5 | |
%511 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.4, float 0x3F50794180000000) #5 | |
%512 = tail call float @llvm.fmuladd.f32(float %510, float %mul.i585.4, float 0xBF93BDB200000000) #5 | |
%513 = tail call float @llvm.fmuladd.f32(float %511, float %mul.i585.4, float 0x3FB1D5E760000000) #5 | |
%514 = tail call float @llvm.fmuladd.f32(float %512, float %mul.i585.4, float 0xBFE81272E0000000) #5 | |
%515 = tail call float @llvm.fmuladd.f32(float %513, float %mul220.4, float %514) #5 | |
%mul11.i.4 = fmul float %515, %div.i586.4 | |
%mul222.4 = fmul float %mul19, %mul11.i.4 | |
%516 = tail call float @llvm.fmuladd.f32(float %mul218.4, float %div196.4, float %mul222.4) | |
%517 = tail call float @llvm.fmuladd.f32(float %mul217.4, float %516, float %mul203.4) | |
%mul225.4 = fmul float %502, %div196.4 | |
%mul226.4 = fmul float %mul225.4, %nbparam_params_ewald_beta | |
%fabs.i.4 = tail call float @llvm.fabs.f32(float %mul226.4) #5 | |
%and.i.4 = bitcast float %fabs.i.4 to i32 | |
%mul.i.4 = fmul float %mul226.4, %mul226.4 | |
%div.i.4 = fdiv float 1.000000e+00, %mul.i.4, !fpmath !46 | |
%sub.i.4 = fadd float %fabs.i.4, -1.000000e+00 | |
%cmp.i583.4 = fcmp olt float %fabs.i.4, 1.250000e+00 | |
%cond.i.4 = select i1 %cmp.i583.4, float %sub.i.4, float %div.i.4 | |
%cmp2.i.4 = fcmp olt float %fabs.i.4, 8.437500e-01 | |
%cond6.i.4 = select i1 %cmp2.i.4, float %mul.i.4, float %cond.i.4 | |
%518 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%519 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %518, float 0xC083EC8820000000) #5 | |
%520 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %519, float 0xC064145D40000000) #5 | |
%521 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %520, float 0xC031C20960000000) #5 | |
%522 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %521, float 0xBFE993BA80000000) #5 | |
%523 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %522, float 0xBF84341240000000) #5 | |
%524 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%525 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %524, float 0x40A3F219C0000000) #5 | |
%526 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %525, float 0x40A8FFB760000000) #5 | |
%527 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %526, float 0x409802EB20000000) #5 | |
%528 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %527, float 0x40745CAE20000000) #5 | |
%529 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %528, float 0x403E568B20000000) #5 | |
%530 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%531 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %530, float 0xC067135CE0000000) #5 | |
%532 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %531, float 0xC0644CB180000000) #5 | |
%533 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %532, float 0xC04F300AE0000000) #5 | |
%534 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %533, float 0xC0251E0440000000) #5 | |
%535 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %534, float 0xBFE63416E0000000) #5 | |
%536 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %535, float 0xBF84341260000000) #5 | |
%537 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%538 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %537, float 0x405B28A3E0000000) #5 | |
%539 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %538, float 0x407AD02160000000) #5 | |
%540 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %539, float 0x40842B1920000000) #5 | |
%541 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %540, float 0x407B290DE0000000) #5 | |
%542 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %541, float 0x4061350C60000000) #5 | |
%543 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %542, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.4 = fcmp olt float %fabs.i.4, 0x4006DB6DA0000000 | |
%cond36.i.4 = select i1 %cmp32.i.4, float %536, float %523 | |
%cond41.i.4 = select i1 %cmp32.i.4, float %543, float %529 | |
%544 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%545 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %544, float 0xBFBC639840000000) #5 | |
%546 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %545, float 0x3FD45FCA80000000) #5 | |
%547 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %546, float 0xBFD7D24100000000) #5 | |
%548 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %547, float 0x3FDA8D00A0000000) #5 | |
%549 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %548, float 0xBF6359B8C0000000) #5 | |
%550 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%551 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %550, float 0x3FC02660E0000000) #5 | |
%552 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %551, float 0x3FB2635CE0000000) #5 | |
%553 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %552, float 0x3FE14AF0A0000000) #5 | |
%554 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %553, float 0x3FBB3E6620000000) #5 | |
%cond57.i.4 = select i1 %cmp.i583.4, float %549, float %cond36.i.4 | |
%cond62.i.4 = select i1 %cmp.i583.4, float %554, float %cond41.i.4 | |
%555 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%556 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %555, float 0xBF9D2A51E0000000) #5 | |
%557 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %556, float 0xBFD4CD7D60000000) #5 | |
%558 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %557, float 0x3FC06EBA80000000) #5 | |
%559 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%560 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %559, float 0x3F74D022C0000000) #5 | |
%561 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %560, float 0x3FB0A54C60000000) #5 | |
%562 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %561, float 0x3FD97779C0000000) #5 | |
%cond75.i.4 = select i1 %cmp2.i.4, float %558, float %cond57.i.4 | |
%cond80.i.4 = select i1 %cmp2.i.4, float %562, float %cond62.i.4 | |
%563 = tail call float @llvm.fmuladd.f32(float %cond6.i.4, float %cond80.i.4, float 1.000000e+00) #5 | |
%div82.i.4 = fdiv float %cond75.i.4, %563, !fpmath !46 | |
%and83.i.4 = and i32 %and.i.4, -4096 | |
%astype84.i.4 = bitcast i32 %and83.i.4 to float | |
%sub85.i.4 = fsub float -0.000000e+00, %astype84.i.4 | |
%564 = tail call float @llvm.fmuladd.f32(float %sub85.i.4, float %astype84.i.4, float -5.625000e-01) #5 | |
%cmp.i2.i.4 = fcmp olt float %564, 0.000000e+00 | |
%cond.i3.i.4 = select i1 %cmp.i2.i.4, float -5.000000e-01, float 5.000000e-01 | |
%565 = tail call float @llvm.fmuladd.f32(float %564, float 0x3FF7154760000000, float %cond.i3.i.4) #5 | |
%conv.i4.i.4 = fptosi float %565 to i32 | |
%conv1.i5.i.4 = sitofp i32 %conv.i4.i.4 to float | |
%566 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.4, float 0xBFE62E3000000000, float %564) #5 | |
%mul.i6.i.4 = fmul float %conv1.i5.i.4, 0xBEE2FEFA20000000 | |
%add.i7.i.4 = fadd float %566, %mul.i6.i.4 | |
%mul3.i8.i.4 = fmul float %add.i7.i.4, %add.i7.i.4 | |
%567 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%568 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4, float %567, float 0x3F11566AA0000000) #5 | |
%569 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4, float %568, float 0xBF66C16C20000000) #5 | |
%570 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4, float %569, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.4 = fsub float -0.000000e+00, %570 | |
%571 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4, float %sub8.i9.i.4, float %add.i7.i.4) #5 | |
%sub10.i10.i.4 = fsub float -0.000000e+00, %mul.i6.i.4 | |
%mul11.i11.i.4 = fmul float %add.i7.i.4, %571 | |
%sub12.i12.i.4 = fsub float 2.000000e+00, %571 | |
%div.i13.i.4 = fdiv float %mul11.i11.i.4, %sub12.i12.i.4, !fpmath !46 | |
%sub13.i14.i.4 = fsub float %sub10.i10.i.4, %div.i13.i.4 | |
%sub14.i15.i.4 = fsub float %sub13.i14.i.4, %566 | |
%sub15.i16.i.4 = fsub float 1.000000e+00, %sub14.i15.i.4 | |
%astype.i17.i.4 = bitcast float %sub15.i16.i.4 to i32 | |
%shl.i18.i.4 = shl i32 %conv.i4.i.4, 23 | |
%add16.i19.i.4 = add nsw i32 %astype.i17.i.4, %shl.i18.i.4 | |
%astype17.i20.i.4 = bitcast i32 %add16.i19.i.4 to float | |
%cmp18.i21.i.4 = fcmp olt float %564, 0xC055D589E0000000 | |
%cond20.i22.i.4 = select i1 %cmp18.i21.i.4, float 0.000000e+00, float %astype17.i20.i.4 | |
%cmp21.i23.i.4 = fcmp olt float %564, 0x40562E4300000000 | |
%cond26.i24.i.4 = select i1 %cmp21.i23.i.4, float %cond20.i22.i.4, float 0x7FF0000000000000 | |
%cmp.i.i25.i.4 = fcmp uno float %564, 0.000000e+00 | |
%cond31.i26.i.4 = select i1 %cmp.i.i25.i.4, float %564, float %cond26.i24.i.4 | |
%sub88.i.4 = fsub float %astype84.i.4, %fabs.i.4 | |
%add.i584.4 = fadd float %fabs.i.4, %astype84.i.4 | |
%572 = tail call float @llvm.fmuladd.f32(float %sub88.i.4, float %add.i584.4, float %div82.i.4) #5 | |
%cmp.i1.i.4 = fcmp olt float %572, 0.000000e+00 | |
%cond.i.i.4 = select i1 %cmp.i1.i.4, float -5.000000e-01, float 5.000000e-01 | |
%573 = tail call float @llvm.fmuladd.f32(float %572, float 0x3FF7154760000000, float %cond.i.i.4) #5 | |
%conv.i.i.4 = fptosi float %573 to i32 | |
%conv1.i.i.4 = sitofp i32 %conv.i.i.4 to float | |
%574 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.4, float 0xBFE62E3000000000, float %572) #5 | |
%mul.i.i.4 = fmul float %conv1.i.i.4, 0xBEE2FEFA20000000 | |
%add.i.i.4 = fadd float %574, %mul.i.i.4 | |
%mul3.i.i.4 = fmul float %add.i.i.4, %add.i.i.4 | |
%575 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%576 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4, float %575, float 0x3F11566AA0000000) #5 | |
%577 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4, float %576, float 0xBF66C16C20000000) #5 | |
%578 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4, float %577, float 0x3FC5555560000000) #5 | |
%sub8.i.i.4 = fsub float -0.000000e+00, %578 | |
%579 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4, float %sub8.i.i.4, float %add.i.i.4) #5 | |
%sub10.i.i.4 = fsub float -0.000000e+00, %mul.i.i.4 | |
%mul11.i.i.4 = fmul float %add.i.i.4, %579 | |
%sub12.i.i.4 = fsub float 2.000000e+00, %579 | |
%div.i.i.4 = fdiv float %mul11.i.i.4, %sub12.i.i.4, !fpmath !46 | |
%sub13.i.i.4 = fsub float %sub10.i.i.4, %div.i.i.4 | |
%sub14.i.i.4 = fsub float %sub13.i.i.4, %574 | |
%sub15.i.i.4 = fsub float 1.000000e+00, %sub14.i.i.4 | |
%astype.i.i.4 = bitcast float %sub15.i.i.4 to i32 | |
%shl.i.i.4 = shl i32 %conv.i.i.4, 23 | |
%add16.i.i.4 = add nsw i32 %astype.i.i.4, %shl.i.i.4 | |
%astype17.i.i.4 = bitcast i32 %add16.i.i.4 to float | |
%cmp18.i.i.4 = fcmp olt float %572, 0xC055D589E0000000 | |
%cond20.i.i.4 = select i1 %cmp18.i.i.4, float 0.000000e+00, float %astype17.i.i.4 | |
%cmp21.i.i.4 = fcmp olt float %572, 0x40562E4300000000 | |
%cond26.i.i.4 = select i1 %cmp21.i.i.4, float %cond20.i.i.4, float 0x7FF0000000000000 | |
%cmp.i.i.i.4 = fcmp uno float %572, 0.000000e+00 | |
%cond31.i.i.4 = select i1 %cmp.i.i.i.4, float %572, float %cond26.i.i.4 | |
%mul91.i.4 = fmul float %cond31.i26.i.4, %cond31.i.i.4 | |
%div92.i.4 = fdiv float %mul91.i.4, %fabs.i.4, !fpmath !46 | |
%sub93.i.4 = fsub float 2.000000e+00, %div92.i.4 | |
%cmp94.i.4 = fcmp olt float %mul226.4, 0.000000e+00 | |
%cond98.i.4 = select i1 %cmp94.i.4, float %sub93.i.4, float %div92.i.4 | |
%cmp99.i.4 = fcmp olt float %fabs.i.4, 2.800000e+01 | |
%cond103.i.4 = select i1 %cmp99.i.4, float %cond98.i.4, float 0.000000e+00 | |
%sub104.i.4 = fsub float 0x3FC3D4FA80000000, %div82.i.4 | |
%add105.i.4 = fadd float %div82.i.4, 0x3FEB0AC160000000 | |
%add106.i.4 = fadd float %add105.i.4, 1.000000e+00 | |
%cond111.i.4 = select i1 %cmp94.i.4, float %add106.i.4, float %sub104.i.4 | |
%cond116.i.4 = select i1 %cmp.i583.4, float %cond111.i.4, float %cond103.i.4 | |
%sub117.i.4 = fadd float %mul226.4, -5.000000e-01 | |
%580 = tail call float @llvm.fmuladd.f32(float %mul226.4, float %div82.i.4, float %sub117.i.4) #5 | |
%sub119.i.4 = fsub float 5.000000e-01, %580 | |
%cond124.i.4 = select i1 %cmp2.i.4, float %sub119.i.4, float %cond116.i.4 | |
%cmp125.i.4 = fcmp olt float %mul226.4, -6.000000e+00 | |
%cond129.i.4 = select i1 %cmp125.i.4, float 2.000000e+00, float %cond124.i.4 | |
%cmp.i.i.4 = fcmp uno float %mul226.4, 0.000000e+00 | |
%cond134.i.4 = select i1 %cmp.i.i.4, float %mul226.4, float %cond129.i.4 | |
%mul229.4 = fmul float %cond.4, %nbparam_params_sh_ewald | |
%neg230.4 = fsub float -0.000000e+00, %mul229.4 | |
%581 = tail call float @llvm.fmuladd.f32(float %div196.4, float %cond134.i.4, float %neg230.4) | |
%582 = tail call float @llvm.fmuladd.f32(float %mul217.4, float %581, float %E_el.5.3) | |
%splat.splatinsert.4 = insertelement <3 x float> undef, float %517, i32 0 | |
%splat.splat.4 = shufflevector <3 x float> %splat.splatinsert.4, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.4 = fmul <3 x float> %extractVec166.4, %splat.splat.4 | |
%extractVec243.4 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.4 = fsub <3 x float> %extractVec243.4, %mul235.4 | |
%extractVec245.4 = shufflevector <3 x float> %sub244.4, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.4 = shufflevector <4 x float> %fci_buf.sroa.42.0, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.4 = fadd <3 x float> %extractVec253.4, %mul235.4 | |
%extractVec255.4 = shufflevector <3 x float> %add254.4, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.4 | |
if.end258.4: ; preds = %if.then182.4, %if.then147.4, %if.end258.3 | |
%fci_buf.sroa.42.3 = phi <4 x float> [ %fci_buf.sroa.42.0, %if.end258.3 ], [ %extractVec255.4, %if.then182.4 ], [ %fci_buf.sroa.42.0, %if.then147.4 ] | |
%E_el.5.4 = phi float [ %E_el.5.3, %if.end258.3 ], [ %582, %if.then182.4 ], [ %E_el.5.3, %if.then147.4 ] | |
%E_lj.3.4 = phi float [ %E_lj.3.3, %if.end258.3 ], [ %add216.4, %if.then182.4 ], [ %E_lj.3.3, %if.then147.4 ] | |
%fcj_buf.sroa.0.1.4 = phi <4 x float> [ %fcj_buf.sroa.0.1.3, %if.end258.3 ], [ %extractVec245.4, %if.then182.4 ], [ %fcj_buf.sroa.0.1.3, %if.then147.4 ] | |
%and145.5 = and i32 %64, 32 | |
%tobool146.5 = icmp eq i32 %and145.5, 0 | |
br i1 %tobool146.5, label %if.end258.5, label %if.then147.5 | |
if.then147.5: ; preds = %if.end258.4 | |
%583 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.5.3, align 16, !tbaa !36 | |
%584 = fsub <4 x float> %583, %70 | |
%585 = extractelement <4 x float> %584, i32 0 | |
%586 = extractelement <4 x float> %584, i32 1 | |
%mul3.i.i589.5 = fmul float %586, %586 | |
%587 = tail call float @llvm.fmuladd.f32(float %585, float %585, float %mul3.i.i589.5) #5 | |
%588 = extractelement <4 x float> %584, i32 2 | |
%589 = tail call float @llvm.fmuladd.f32(float %588, float %588, float %587) #5 | |
%and168.5 = and i32 %66, 32 | |
%tobool169.5 = icmp ne i32 %and168.5, 0 | |
%cond.5 = select i1 %tobool169.5, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.5 = icmp eq i32 %52, %68 | |
%or.cond.5 = and i1 %cmp63, %cmp174.5 | |
%not.or.cond.5 = xor i1 %or.cond.5, true | |
%cmp176..5 = or i1 %cmp176, %not.or.cond.5 | |
%conv178.5 = uitofp i1 %cmp176..5 to float | |
%mul179.5 = fmul float %conv178.5, %nbparam_params_rcoulomb_sq | |
%cmp180.5 = fcmp olt float %589, %mul179.5 | |
br i1 %cmp180.5, label %if.then182.5, label %if.end258.5 | |
if.then182.5: ; preds = %if.then147.5 | |
%extractVec166.5 = shufflevector <4 x float> %584, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%590 = extractelement <4 x float> %583, i32 3 | |
%591 = load i32, i32 addrspace(1)* %arrayidx183.5.3, align 4, !tbaa !41 | |
%mul184.5 = mul nsw i32 %591, %ntypes | |
%add185.5 = add nsw i32 %mul184.5, %72 | |
%mul186.5 = shl nsw i32 %add185.5, 1 | |
%592 = sext i32 %mul186.5 to i64 | |
%arrayidx187.5 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %592 | |
%593 = load float, float addrspace(2)* %arrayidx187.5, align 4, !tbaa !39 | |
%add191.5 = or i32 %mul186.5, 1 | |
%594 = sext i32 %add191.5 to i64 | |
%arrayidx192.5 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %594 | |
%595 = load float, float addrspace(2)* %arrayidx192.5, align 4, !tbaa !39 | |
%sub193.5 = fsub float 1.000000e+00, %cond.5 | |
%596 = tail call float @llvm.fmuladd.f32(float %sub193.5, float 0x3D71979980000000, float %589) | |
%cmp.i.i587.5 = fcmp olt float %596, 0.000000e+00 | |
%call.i.i.5 = tail call float @llvm.sqrt.f32(float %596) #6 | |
%call.i.i.op.5 = fdiv float 1.000000e+00, %call.i.i.5 | |
%div196.5 = select i1 %cmp.i.i587.5, float 0x7FF8000000000000, float %call.i.i.op.5 | |
%mul197.5 = fmul float %div196.5, %div196.5 | |
%mul198.5 = fmul float %mul197.5, %mul197.5 | |
%mul199.5 = fmul float %mul197.5, %mul198.5 | |
%mul200.5 = fmul float %cond.5, %mul199.5 | |
%neg.5 = fsub float -0.000000e+00, %593 | |
%597 = tail call float @llvm.fmuladd.f32(float %595, float %mul200.5, float %neg.5) | |
%mul202.5 = fmul float %mul200.5, %597 | |
%mul203.5 = fmul float %mul197.5, %mul202.5 | |
%598 = tail call float @llvm.fmuladd.f32(float %mul200.5, float %mul200.5, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.5 = fmul float %598, %595 | |
%add211.5 = fadd float %mul200.5, %nbparam_params_dispersion_shift_cpot | |
%mul212.5 = fmul float %add211.5, %593 | |
%mul213.5 = fmul float %mul212.5, 0x3FC5555560000000 | |
%neg214.5 = fsub float -0.000000e+00, %mul213.5 | |
%599 = tail call float @llvm.fmuladd.f32(float %mul207.5, float 0x3FB5555540000000, float %neg214.5) | |
%mul215.5 = fmul float %cond.5, %599 | |
%add216.5 = fadd float %E_lj.3.4, %mul215.5 | |
%mul217.5 = fmul float %71, %590 | |
%mul218.5 = fmul float %cond.5, %mul197.5 | |
%mul220.5 = fmul float %mul, %596 | |
%mul.i585.5 = fmul float %mul220.5, %mul220.5 | |
%600 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.5, float 0x3FBDA79640000000) #5 | |
%601 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.5, float 0x3FE03C5780000000) #5 | |
%602 = tail call float @llvm.fmuladd.f32(float %600, float %mul.i585.5, float 1.000000e+00) #5 | |
%603 = tail call float @llvm.fmuladd.f32(float %601, float %mul220.5, float %602) #5 | |
%div.i586.5 = fdiv float 1.000000e+00, %603, !fpmath !46 | |
%604 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.5, float 0xBF0BFF7260000000) #5 | |
%605 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.5, float 0x3F50794180000000) #5 | |
%606 = tail call float @llvm.fmuladd.f32(float %604, float %mul.i585.5, float 0xBF93BDB200000000) #5 | |
%607 = tail call float @llvm.fmuladd.f32(float %605, float %mul.i585.5, float 0x3FB1D5E760000000) #5 | |
%608 = tail call float @llvm.fmuladd.f32(float %606, float %mul.i585.5, float 0xBFE81272E0000000) #5 | |
%609 = tail call float @llvm.fmuladd.f32(float %607, float %mul220.5, float %608) #5 | |
%mul11.i.5 = fmul float %609, %div.i586.5 | |
%mul222.5 = fmul float %mul19, %mul11.i.5 | |
%610 = tail call float @llvm.fmuladd.f32(float %mul218.5, float %div196.5, float %mul222.5) | |
%611 = tail call float @llvm.fmuladd.f32(float %mul217.5, float %610, float %mul203.5) | |
%mul225.5 = fmul float %596, %div196.5 | |
%mul226.5 = fmul float %mul225.5, %nbparam_params_ewald_beta | |
%fabs.i.5 = tail call float @llvm.fabs.f32(float %mul226.5) #5 | |
%and.i.5 = bitcast float %fabs.i.5 to i32 | |
%mul.i.5 = fmul float %mul226.5, %mul226.5 | |
%div.i.5 = fdiv float 1.000000e+00, %mul.i.5, !fpmath !46 | |
%sub.i.5 = fadd float %fabs.i.5, -1.000000e+00 | |
%cmp.i583.5 = fcmp olt float %fabs.i.5, 1.250000e+00 | |
%cond.i.5 = select i1 %cmp.i583.5, float %sub.i.5, float %div.i.5 | |
%cmp2.i.5 = fcmp olt float %fabs.i.5, 8.437500e-01 | |
%cond6.i.5 = select i1 %cmp2.i.5, float %mul.i.5, float %cond.i.5 | |
%612 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%613 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %612, float 0xC083EC8820000000) #5 | |
%614 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %613, float 0xC064145D40000000) #5 | |
%615 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %614, float 0xC031C20960000000) #5 | |
%616 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %615, float 0xBFE993BA80000000) #5 | |
%617 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %616, float 0xBF84341240000000) #5 | |
%618 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%619 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %618, float 0x40A3F219C0000000) #5 | |
%620 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %619, float 0x40A8FFB760000000) #5 | |
%621 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %620, float 0x409802EB20000000) #5 | |
%622 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %621, float 0x40745CAE20000000) #5 | |
%623 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %622, float 0x403E568B20000000) #5 | |
%624 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%625 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %624, float 0xC067135CE0000000) #5 | |
%626 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %625, float 0xC0644CB180000000) #5 | |
%627 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %626, float 0xC04F300AE0000000) #5 | |
%628 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %627, float 0xC0251E0440000000) #5 | |
%629 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %628, float 0xBFE63416E0000000) #5 | |
%630 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %629, float 0xBF84341260000000) #5 | |
%631 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%632 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %631, float 0x405B28A3E0000000) #5 | |
%633 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %632, float 0x407AD02160000000) #5 | |
%634 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %633, float 0x40842B1920000000) #5 | |
%635 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %634, float 0x407B290DE0000000) #5 | |
%636 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %635, float 0x4061350C60000000) #5 | |
%637 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %636, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.5 = fcmp olt float %fabs.i.5, 0x4006DB6DA0000000 | |
%cond36.i.5 = select i1 %cmp32.i.5, float %630, float %617 | |
%cond41.i.5 = select i1 %cmp32.i.5, float %637, float %623 | |
%638 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%639 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %638, float 0xBFBC639840000000) #5 | |
%640 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %639, float 0x3FD45FCA80000000) #5 | |
%641 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %640, float 0xBFD7D24100000000) #5 | |
%642 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %641, float 0x3FDA8D00A0000000) #5 | |
%643 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %642, float 0xBF6359B8C0000000) #5 | |
%644 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%645 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %644, float 0x3FC02660E0000000) #5 | |
%646 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %645, float 0x3FB2635CE0000000) #5 | |
%647 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %646, float 0x3FE14AF0A0000000) #5 | |
%648 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %647, float 0x3FBB3E6620000000) #5 | |
%cond57.i.5 = select i1 %cmp.i583.5, float %643, float %cond36.i.5 | |
%cond62.i.5 = select i1 %cmp.i583.5, float %648, float %cond41.i.5 | |
%649 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%650 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %649, float 0xBF9D2A51E0000000) #5 | |
%651 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %650, float 0xBFD4CD7D60000000) #5 | |
%652 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %651, float 0x3FC06EBA80000000) #5 | |
%653 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%654 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %653, float 0x3F74D022C0000000) #5 | |
%655 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %654, float 0x3FB0A54C60000000) #5 | |
%656 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %655, float 0x3FD97779C0000000) #5 | |
%cond75.i.5 = select i1 %cmp2.i.5, float %652, float %cond57.i.5 | |
%cond80.i.5 = select i1 %cmp2.i.5, float %656, float %cond62.i.5 | |
%657 = tail call float @llvm.fmuladd.f32(float %cond6.i.5, float %cond80.i.5, float 1.000000e+00) #5 | |
%div82.i.5 = fdiv float %cond75.i.5, %657, !fpmath !46 | |
%and83.i.5 = and i32 %and.i.5, -4096 | |
%astype84.i.5 = bitcast i32 %and83.i.5 to float | |
%sub85.i.5 = fsub float -0.000000e+00, %astype84.i.5 | |
%658 = tail call float @llvm.fmuladd.f32(float %sub85.i.5, float %astype84.i.5, float -5.625000e-01) #5 | |
%cmp.i2.i.5 = fcmp olt float %658, 0.000000e+00 | |
%cond.i3.i.5 = select i1 %cmp.i2.i.5, float -5.000000e-01, float 5.000000e-01 | |
%659 = tail call float @llvm.fmuladd.f32(float %658, float 0x3FF7154760000000, float %cond.i3.i.5) #5 | |
%conv.i4.i.5 = fptosi float %659 to i32 | |
%conv1.i5.i.5 = sitofp i32 %conv.i4.i.5 to float | |
%660 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.5, float 0xBFE62E3000000000, float %658) #5 | |
%mul.i6.i.5 = fmul float %conv1.i5.i.5, 0xBEE2FEFA20000000 | |
%add.i7.i.5 = fadd float %660, %mul.i6.i.5 | |
%mul3.i8.i.5 = fmul float %add.i7.i.5, %add.i7.i.5 | |
%661 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%662 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5, float %661, float 0x3F11566AA0000000) #5 | |
%663 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5, float %662, float 0xBF66C16C20000000) #5 | |
%664 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5, float %663, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.5 = fsub float -0.000000e+00, %664 | |
%665 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5, float %sub8.i9.i.5, float %add.i7.i.5) #5 | |
%sub10.i10.i.5 = fsub float -0.000000e+00, %mul.i6.i.5 | |
%mul11.i11.i.5 = fmul float %add.i7.i.5, %665 | |
%sub12.i12.i.5 = fsub float 2.000000e+00, %665 | |
%div.i13.i.5 = fdiv float %mul11.i11.i.5, %sub12.i12.i.5, !fpmath !46 | |
%sub13.i14.i.5 = fsub float %sub10.i10.i.5, %div.i13.i.5 | |
%sub14.i15.i.5 = fsub float %sub13.i14.i.5, %660 | |
%sub15.i16.i.5 = fsub float 1.000000e+00, %sub14.i15.i.5 | |
%astype.i17.i.5 = bitcast float %sub15.i16.i.5 to i32 | |
%shl.i18.i.5 = shl i32 %conv.i4.i.5, 23 | |
%add16.i19.i.5 = add nsw i32 %astype.i17.i.5, %shl.i18.i.5 | |
%astype17.i20.i.5 = bitcast i32 %add16.i19.i.5 to float | |
%cmp18.i21.i.5 = fcmp olt float %658, 0xC055D589E0000000 | |
%cond20.i22.i.5 = select i1 %cmp18.i21.i.5, float 0.000000e+00, float %astype17.i20.i.5 | |
%cmp21.i23.i.5 = fcmp olt float %658, 0x40562E4300000000 | |
%cond26.i24.i.5 = select i1 %cmp21.i23.i.5, float %cond20.i22.i.5, float 0x7FF0000000000000 | |
%cmp.i.i25.i.5 = fcmp uno float %658, 0.000000e+00 | |
%cond31.i26.i.5 = select i1 %cmp.i.i25.i.5, float %658, float %cond26.i24.i.5 | |
%sub88.i.5 = fsub float %astype84.i.5, %fabs.i.5 | |
%add.i584.5 = fadd float %fabs.i.5, %astype84.i.5 | |
%666 = tail call float @llvm.fmuladd.f32(float %sub88.i.5, float %add.i584.5, float %div82.i.5) #5 | |
%cmp.i1.i.5 = fcmp olt float %666, 0.000000e+00 | |
%cond.i.i.5 = select i1 %cmp.i1.i.5, float -5.000000e-01, float 5.000000e-01 | |
%667 = tail call float @llvm.fmuladd.f32(float %666, float 0x3FF7154760000000, float %cond.i.i.5) #5 | |
%conv.i.i.5 = fptosi float %667 to i32 | |
%conv1.i.i.5 = sitofp i32 %conv.i.i.5 to float | |
%668 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.5, float 0xBFE62E3000000000, float %666) #5 | |
%mul.i.i.5 = fmul float %conv1.i.i.5, 0xBEE2FEFA20000000 | |
%add.i.i.5 = fadd float %668, %mul.i.i.5 | |
%mul3.i.i.5 = fmul float %add.i.i.5, %add.i.i.5 | |
%669 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%670 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5, float %669, float 0x3F11566AA0000000) #5 | |
%671 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5, float %670, float 0xBF66C16C20000000) #5 | |
%672 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5, float %671, float 0x3FC5555560000000) #5 | |
%sub8.i.i.5 = fsub float -0.000000e+00, %672 | |
%673 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5, float %sub8.i.i.5, float %add.i.i.5) #5 | |
%sub10.i.i.5 = fsub float -0.000000e+00, %mul.i.i.5 | |
%mul11.i.i.5 = fmul float %add.i.i.5, %673 | |
%sub12.i.i.5 = fsub float 2.000000e+00, %673 | |
%div.i.i.5 = fdiv float %mul11.i.i.5, %sub12.i.i.5, !fpmath !46 | |
%sub13.i.i.5 = fsub float %sub10.i.i.5, %div.i.i.5 | |
%sub14.i.i.5 = fsub float %sub13.i.i.5, %668 | |
%sub15.i.i.5 = fsub float 1.000000e+00, %sub14.i.i.5 | |
%astype.i.i.5 = bitcast float %sub15.i.i.5 to i32 | |
%shl.i.i.5 = shl i32 %conv.i.i.5, 23 | |
%add16.i.i.5 = add nsw i32 %astype.i.i.5, %shl.i.i.5 | |
%astype17.i.i.5 = bitcast i32 %add16.i.i.5 to float | |
%cmp18.i.i.5 = fcmp olt float %666, 0xC055D589E0000000 | |
%cond20.i.i.5 = select i1 %cmp18.i.i.5, float 0.000000e+00, float %astype17.i.i.5 | |
%cmp21.i.i.5 = fcmp olt float %666, 0x40562E4300000000 | |
%cond26.i.i.5 = select i1 %cmp21.i.i.5, float %cond20.i.i.5, float 0x7FF0000000000000 | |
%cmp.i.i.i.5 = fcmp uno float %666, 0.000000e+00 | |
%cond31.i.i.5 = select i1 %cmp.i.i.i.5, float %666, float %cond26.i.i.5 | |
%mul91.i.5 = fmul float %cond31.i26.i.5, %cond31.i.i.5 | |
%div92.i.5 = fdiv float %mul91.i.5, %fabs.i.5, !fpmath !46 | |
%sub93.i.5 = fsub float 2.000000e+00, %div92.i.5 | |
%cmp94.i.5 = fcmp olt float %mul226.5, 0.000000e+00 | |
%cond98.i.5 = select i1 %cmp94.i.5, float %sub93.i.5, float %div92.i.5 | |
%cmp99.i.5 = fcmp olt float %fabs.i.5, 2.800000e+01 | |
%cond103.i.5 = select i1 %cmp99.i.5, float %cond98.i.5, float 0.000000e+00 | |
%sub104.i.5 = fsub float 0x3FC3D4FA80000000, %div82.i.5 | |
%add105.i.5 = fadd float %div82.i.5, 0x3FEB0AC160000000 | |
%add106.i.5 = fadd float %add105.i.5, 1.000000e+00 | |
%cond111.i.5 = select i1 %cmp94.i.5, float %add106.i.5, float %sub104.i.5 | |
%cond116.i.5 = select i1 %cmp.i583.5, float %cond111.i.5, float %cond103.i.5 | |
%sub117.i.5 = fadd float %mul226.5, -5.000000e-01 | |
%674 = tail call float @llvm.fmuladd.f32(float %mul226.5, float %div82.i.5, float %sub117.i.5) #5 | |
%sub119.i.5 = fsub float 5.000000e-01, %674 | |
%cond124.i.5 = select i1 %cmp2.i.5, float %sub119.i.5, float %cond116.i.5 | |
%cmp125.i.5 = fcmp olt float %mul226.5, -6.000000e+00 | |
%cond129.i.5 = select i1 %cmp125.i.5, float 2.000000e+00, float %cond124.i.5 | |
%cmp.i.i.5 = fcmp uno float %mul226.5, 0.000000e+00 | |
%cond134.i.5 = select i1 %cmp.i.i.5, float %mul226.5, float %cond129.i.5 | |
%mul229.5 = fmul float %cond.5, %nbparam_params_sh_ewald | |
%neg230.5 = fsub float -0.000000e+00, %mul229.5 | |
%675 = tail call float @llvm.fmuladd.f32(float %div196.5, float %cond134.i.5, float %neg230.5) | |
%676 = tail call float @llvm.fmuladd.f32(float %mul217.5, float %675, float %E_el.5.4) | |
%splat.splatinsert.5 = insertelement <3 x float> undef, float %611, i32 0 | |
%splat.splat.5 = shufflevector <3 x float> %splat.splatinsert.5, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.5 = fmul <3 x float> %extractVec166.5, %splat.splat.5 | |
%extractVec243.5 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.5 = fsub <3 x float> %extractVec243.5, %mul235.5 | |
%extractVec245.5 = shufflevector <3 x float> %sub244.5, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.5 = shufflevector <4 x float> %fci_buf.sroa.52.0, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.5 = fadd <3 x float> %extractVec253.5, %mul235.5 | |
%extractVec255.5 = shufflevector <3 x float> %add254.5, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.5 | |
if.end258.5: ; preds = %if.then182.5, %if.then147.5, %if.end258.4 | |
%fci_buf.sroa.52.3 = phi <4 x float> [ %fci_buf.sroa.52.0, %if.end258.4 ], [ %extractVec255.5, %if.then182.5 ], [ %fci_buf.sroa.52.0, %if.then147.5 ] | |
%E_el.5.5 = phi float [ %E_el.5.4, %if.end258.4 ], [ %676, %if.then182.5 ], [ %E_el.5.4, %if.then147.5 ] | |
%E_lj.3.5 = phi float [ %E_lj.3.4, %if.end258.4 ], [ %add216.5, %if.then182.5 ], [ %E_lj.3.4, %if.then147.5 ] | |
%fcj_buf.sroa.0.1.5 = phi <4 x float> [ %fcj_buf.sroa.0.1.4, %if.end258.4 ], [ %extractVec245.5, %if.then182.5 ], [ %fcj_buf.sroa.0.1.4, %if.then147.5 ] | |
%and145.6 = and i32 %64, 64 | |
%tobool146.6 = icmp eq i32 %and145.6, 0 | |
br i1 %tobool146.6, label %if.end258.6, label %if.then147.6 | |
if.then147.6: ; preds = %if.end258.5 | |
%677 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.6.3, align 16, !tbaa !36 | |
%678 = fsub <4 x float> %677, %70 | |
%679 = extractelement <4 x float> %678, i32 0 | |
%680 = extractelement <4 x float> %678, i32 1 | |
%mul3.i.i589.6 = fmul float %680, %680 | |
%681 = tail call float @llvm.fmuladd.f32(float %679, float %679, float %mul3.i.i589.6) #5 | |
%682 = extractelement <4 x float> %678, i32 2 | |
%683 = tail call float @llvm.fmuladd.f32(float %682, float %682, float %681) #5 | |
%and168.6 = and i32 %66, 64 | |
%tobool169.6 = icmp ne i32 %and168.6, 0 | |
%cond.6 = select i1 %tobool169.6, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.6 = icmp eq i32 %50, %68 | |
%or.cond.6 = and i1 %cmp63, %cmp174.6 | |
%not.or.cond.6 = xor i1 %or.cond.6, true | |
%cmp176..6 = or i1 %cmp176, %not.or.cond.6 | |
%conv178.6 = uitofp i1 %cmp176..6 to float | |
%mul179.6 = fmul float %conv178.6, %nbparam_params_rcoulomb_sq | |
%cmp180.6 = fcmp olt float %683, %mul179.6 | |
br i1 %cmp180.6, label %if.then182.6, label %if.end258.6 | |
if.then182.6: ; preds = %if.then147.6 | |
%extractVec166.6 = shufflevector <4 x float> %678, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%684 = extractelement <4 x float> %677, i32 3 | |
%685 = load i32, i32 addrspace(1)* %arrayidx183.6.3, align 4, !tbaa !41 | |
%mul184.6 = mul nsw i32 %685, %ntypes | |
%add185.6 = add nsw i32 %mul184.6, %72 | |
%mul186.6 = shl nsw i32 %add185.6, 1 | |
%686 = sext i32 %mul186.6 to i64 | |
%arrayidx187.6 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %686 | |
%687 = load float, float addrspace(2)* %arrayidx187.6, align 4, !tbaa !39 | |
%add191.6 = or i32 %mul186.6, 1 | |
%688 = sext i32 %add191.6 to i64 | |
%arrayidx192.6 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %688 | |
%689 = load float, float addrspace(2)* %arrayidx192.6, align 4, !tbaa !39 | |
%sub193.6 = fsub float 1.000000e+00, %cond.6 | |
%690 = tail call float @llvm.fmuladd.f32(float %sub193.6, float 0x3D71979980000000, float %683) | |
%cmp.i.i587.6 = fcmp olt float %690, 0.000000e+00 | |
%call.i.i.6 = tail call float @llvm.sqrt.f32(float %690) #6 | |
%call.i.i.op.6 = fdiv float 1.000000e+00, %call.i.i.6 | |
%div196.6 = select i1 %cmp.i.i587.6, float 0x7FF8000000000000, float %call.i.i.op.6 | |
%mul197.6 = fmul float %div196.6, %div196.6 | |
%mul198.6 = fmul float %mul197.6, %mul197.6 | |
%mul199.6 = fmul float %mul197.6, %mul198.6 | |
%mul200.6 = fmul float %cond.6, %mul199.6 | |
%neg.6 = fsub float -0.000000e+00, %687 | |
%691 = tail call float @llvm.fmuladd.f32(float %689, float %mul200.6, float %neg.6) | |
%mul202.6 = fmul float %mul200.6, %691 | |
%mul203.6 = fmul float %mul197.6, %mul202.6 | |
%692 = tail call float @llvm.fmuladd.f32(float %mul200.6, float %mul200.6, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.6 = fmul float %692, %689 | |
%add211.6 = fadd float %mul200.6, %nbparam_params_dispersion_shift_cpot | |
%mul212.6 = fmul float %add211.6, %687 | |
%mul213.6 = fmul float %mul212.6, 0x3FC5555560000000 | |
%neg214.6 = fsub float -0.000000e+00, %mul213.6 | |
%693 = tail call float @llvm.fmuladd.f32(float %mul207.6, float 0x3FB5555540000000, float %neg214.6) | |
%mul215.6 = fmul float %cond.6, %693 | |
%add216.6 = fadd float %E_lj.3.5, %mul215.6 | |
%mul217.6 = fmul float %71, %684 | |
%mul218.6 = fmul float %cond.6, %mul197.6 | |
%mul220.6 = fmul float %mul, %690 | |
%mul.i585.6 = fmul float %mul220.6, %mul220.6 | |
%694 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.6, float 0x3FBDA79640000000) #5 | |
%695 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.6, float 0x3FE03C5780000000) #5 | |
%696 = tail call float @llvm.fmuladd.f32(float %694, float %mul.i585.6, float 1.000000e+00) #5 | |
%697 = tail call float @llvm.fmuladd.f32(float %695, float %mul220.6, float %696) #5 | |
%div.i586.6 = fdiv float 1.000000e+00, %697, !fpmath !46 | |
%698 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.6, float 0xBF0BFF7260000000) #5 | |
%699 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.6, float 0x3F50794180000000) #5 | |
%700 = tail call float @llvm.fmuladd.f32(float %698, float %mul.i585.6, float 0xBF93BDB200000000) #5 | |
%701 = tail call float @llvm.fmuladd.f32(float %699, float %mul.i585.6, float 0x3FB1D5E760000000) #5 | |
%702 = tail call float @llvm.fmuladd.f32(float %700, float %mul.i585.6, float 0xBFE81272E0000000) #5 | |
%703 = tail call float @llvm.fmuladd.f32(float %701, float %mul220.6, float %702) #5 | |
%mul11.i.6 = fmul float %703, %div.i586.6 | |
%mul222.6 = fmul float %mul19, %mul11.i.6 | |
%704 = tail call float @llvm.fmuladd.f32(float %mul218.6, float %div196.6, float %mul222.6) | |
%705 = tail call float @llvm.fmuladd.f32(float %mul217.6, float %704, float %mul203.6) | |
%mul225.6 = fmul float %690, %div196.6 | |
%mul226.6 = fmul float %mul225.6, %nbparam_params_ewald_beta | |
%fabs.i.6 = tail call float @llvm.fabs.f32(float %mul226.6) #5 | |
%and.i.6 = bitcast float %fabs.i.6 to i32 | |
%mul.i.6 = fmul float %mul226.6, %mul226.6 | |
%div.i.6 = fdiv float 1.000000e+00, %mul.i.6, !fpmath !46 | |
%sub.i.6 = fadd float %fabs.i.6, -1.000000e+00 | |
%cmp.i583.6 = fcmp olt float %fabs.i.6, 1.250000e+00 | |
%cond.i.6 = select i1 %cmp.i583.6, float %sub.i.6, float %div.i.6 | |
%cmp2.i.6 = fcmp olt float %fabs.i.6, 8.437500e-01 | |
%cond6.i.6 = select i1 %cmp2.i.6, float %mul.i.6, float %cond.i.6 | |
%706 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%707 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %706, float 0xC083EC8820000000) #5 | |
%708 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %707, float 0xC064145D40000000) #5 | |
%709 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %708, float 0xC031C20960000000) #5 | |
%710 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %709, float 0xBFE993BA80000000) #5 | |
%711 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %710, float 0xBF84341240000000) #5 | |
%712 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%713 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %712, float 0x40A3F219C0000000) #5 | |
%714 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %713, float 0x40A8FFB760000000) #5 | |
%715 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %714, float 0x409802EB20000000) #5 | |
%716 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %715, float 0x40745CAE20000000) #5 | |
%717 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %716, float 0x403E568B20000000) #5 | |
%718 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%719 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %718, float 0xC067135CE0000000) #5 | |
%720 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %719, float 0xC0644CB180000000) #5 | |
%721 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %720, float 0xC04F300AE0000000) #5 | |
%722 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %721, float 0xC0251E0440000000) #5 | |
%723 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %722, float 0xBFE63416E0000000) #5 | |
%724 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %723, float 0xBF84341260000000) #5 | |
%725 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%726 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %725, float 0x405B28A3E0000000) #5 | |
%727 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %726, float 0x407AD02160000000) #5 | |
%728 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %727, float 0x40842B1920000000) #5 | |
%729 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %728, float 0x407B290DE0000000) #5 | |
%730 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %729, float 0x4061350C60000000) #5 | |
%731 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %730, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.6 = fcmp olt float %fabs.i.6, 0x4006DB6DA0000000 | |
%cond36.i.6 = select i1 %cmp32.i.6, float %724, float %711 | |
%cond41.i.6 = select i1 %cmp32.i.6, float %731, float %717 | |
%732 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%733 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %732, float 0xBFBC639840000000) #5 | |
%734 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %733, float 0x3FD45FCA80000000) #5 | |
%735 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %734, float 0xBFD7D24100000000) #5 | |
%736 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %735, float 0x3FDA8D00A0000000) #5 | |
%737 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %736, float 0xBF6359B8C0000000) #5 | |
%738 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%739 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %738, float 0x3FC02660E0000000) #5 | |
%740 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %739, float 0x3FB2635CE0000000) #5 | |
%741 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %740, float 0x3FE14AF0A0000000) #5 | |
%742 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %741, float 0x3FBB3E6620000000) #5 | |
%cond57.i.6 = select i1 %cmp.i583.6, float %737, float %cond36.i.6 | |
%cond62.i.6 = select i1 %cmp.i583.6, float %742, float %cond41.i.6 | |
%743 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%744 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %743, float 0xBF9D2A51E0000000) #5 | |
%745 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %744, float 0xBFD4CD7D60000000) #5 | |
%746 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %745, float 0x3FC06EBA80000000) #5 | |
%747 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%748 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %747, float 0x3F74D022C0000000) #5 | |
%749 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %748, float 0x3FB0A54C60000000) #5 | |
%750 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %749, float 0x3FD97779C0000000) #5 | |
%cond75.i.6 = select i1 %cmp2.i.6, float %746, float %cond57.i.6 | |
%cond80.i.6 = select i1 %cmp2.i.6, float %750, float %cond62.i.6 | |
%751 = tail call float @llvm.fmuladd.f32(float %cond6.i.6, float %cond80.i.6, float 1.000000e+00) #5 | |
%div82.i.6 = fdiv float %cond75.i.6, %751, !fpmath !46 | |
%and83.i.6 = and i32 %and.i.6, -4096 | |
%astype84.i.6 = bitcast i32 %and83.i.6 to float | |
%sub85.i.6 = fsub float -0.000000e+00, %astype84.i.6 | |
%752 = tail call float @llvm.fmuladd.f32(float %sub85.i.6, float %astype84.i.6, float -5.625000e-01) #5 | |
%cmp.i2.i.6 = fcmp olt float %752, 0.000000e+00 | |
%cond.i3.i.6 = select i1 %cmp.i2.i.6, float -5.000000e-01, float 5.000000e-01 | |
%753 = tail call float @llvm.fmuladd.f32(float %752, float 0x3FF7154760000000, float %cond.i3.i.6) #5 | |
%conv.i4.i.6 = fptosi float %753 to i32 | |
%conv1.i5.i.6 = sitofp i32 %conv.i4.i.6 to float | |
%754 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.6, float 0xBFE62E3000000000, float %752) #5 | |
%mul.i6.i.6 = fmul float %conv1.i5.i.6, 0xBEE2FEFA20000000 | |
%add.i7.i.6 = fadd float %754, %mul.i6.i.6 | |
%mul3.i8.i.6 = fmul float %add.i7.i.6, %add.i7.i.6 | |
%755 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%756 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6, float %755, float 0x3F11566AA0000000) #5 | |
%757 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6, float %756, float 0xBF66C16C20000000) #5 | |
%758 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6, float %757, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.6 = fsub float -0.000000e+00, %758 | |
%759 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6, float %sub8.i9.i.6, float %add.i7.i.6) #5 | |
%sub10.i10.i.6 = fsub float -0.000000e+00, %mul.i6.i.6 | |
%mul11.i11.i.6 = fmul float %add.i7.i.6, %759 | |
%sub12.i12.i.6 = fsub float 2.000000e+00, %759 | |
%div.i13.i.6 = fdiv float %mul11.i11.i.6, %sub12.i12.i.6, !fpmath !46 | |
%sub13.i14.i.6 = fsub float %sub10.i10.i.6, %div.i13.i.6 | |
%sub14.i15.i.6 = fsub float %sub13.i14.i.6, %754 | |
%sub15.i16.i.6 = fsub float 1.000000e+00, %sub14.i15.i.6 | |
%astype.i17.i.6 = bitcast float %sub15.i16.i.6 to i32 | |
%shl.i18.i.6 = shl i32 %conv.i4.i.6, 23 | |
%add16.i19.i.6 = add nsw i32 %astype.i17.i.6, %shl.i18.i.6 | |
%astype17.i20.i.6 = bitcast i32 %add16.i19.i.6 to float | |
%cmp18.i21.i.6 = fcmp olt float %752, 0xC055D589E0000000 | |
%cond20.i22.i.6 = select i1 %cmp18.i21.i.6, float 0.000000e+00, float %astype17.i20.i.6 | |
%cmp21.i23.i.6 = fcmp olt float %752, 0x40562E4300000000 | |
%cond26.i24.i.6 = select i1 %cmp21.i23.i.6, float %cond20.i22.i.6, float 0x7FF0000000000000 | |
%cmp.i.i25.i.6 = fcmp uno float %752, 0.000000e+00 | |
%cond31.i26.i.6 = select i1 %cmp.i.i25.i.6, float %752, float %cond26.i24.i.6 | |
%sub88.i.6 = fsub float %astype84.i.6, %fabs.i.6 | |
%add.i584.6 = fadd float %fabs.i.6, %astype84.i.6 | |
%760 = tail call float @llvm.fmuladd.f32(float %sub88.i.6, float %add.i584.6, float %div82.i.6) #5 | |
%cmp.i1.i.6 = fcmp olt float %760, 0.000000e+00 | |
%cond.i.i.6 = select i1 %cmp.i1.i.6, float -5.000000e-01, float 5.000000e-01 | |
%761 = tail call float @llvm.fmuladd.f32(float %760, float 0x3FF7154760000000, float %cond.i.i.6) #5 | |
%conv.i.i.6 = fptosi float %761 to i32 | |
%conv1.i.i.6 = sitofp i32 %conv.i.i.6 to float | |
%762 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.6, float 0xBFE62E3000000000, float %760) #5 | |
%mul.i.i.6 = fmul float %conv1.i.i.6, 0xBEE2FEFA20000000 | |
%add.i.i.6 = fadd float %762, %mul.i.i.6 | |
%mul3.i.i.6 = fmul float %add.i.i.6, %add.i.i.6 | |
%763 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%764 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6, float %763, float 0x3F11566AA0000000) #5 | |
%765 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6, float %764, float 0xBF66C16C20000000) #5 | |
%766 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6, float %765, float 0x3FC5555560000000) #5 | |
%sub8.i.i.6 = fsub float -0.000000e+00, %766 | |
%767 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6, float %sub8.i.i.6, float %add.i.i.6) #5 | |
%sub10.i.i.6 = fsub float -0.000000e+00, %mul.i.i.6 | |
%mul11.i.i.6 = fmul float %add.i.i.6, %767 | |
%sub12.i.i.6 = fsub float 2.000000e+00, %767 | |
%div.i.i.6 = fdiv float %mul11.i.i.6, %sub12.i.i.6, !fpmath !46 | |
%sub13.i.i.6 = fsub float %sub10.i.i.6, %div.i.i.6 | |
%sub14.i.i.6 = fsub float %sub13.i.i.6, %762 | |
%sub15.i.i.6 = fsub float 1.000000e+00, %sub14.i.i.6 | |
%astype.i.i.6 = bitcast float %sub15.i.i.6 to i32 | |
%shl.i.i.6 = shl i32 %conv.i.i.6, 23 | |
%add16.i.i.6 = add nsw i32 %astype.i.i.6, %shl.i.i.6 | |
%astype17.i.i.6 = bitcast i32 %add16.i.i.6 to float | |
%cmp18.i.i.6 = fcmp olt float %760, 0xC055D589E0000000 | |
%cond20.i.i.6 = select i1 %cmp18.i.i.6, float 0.000000e+00, float %astype17.i.i.6 | |
%cmp21.i.i.6 = fcmp olt float %760, 0x40562E4300000000 | |
%cond26.i.i.6 = select i1 %cmp21.i.i.6, float %cond20.i.i.6, float 0x7FF0000000000000 | |
%cmp.i.i.i.6 = fcmp uno float %760, 0.000000e+00 | |
%cond31.i.i.6 = select i1 %cmp.i.i.i.6, float %760, float %cond26.i.i.6 | |
%mul91.i.6 = fmul float %cond31.i26.i.6, %cond31.i.i.6 | |
%div92.i.6 = fdiv float %mul91.i.6, %fabs.i.6, !fpmath !46 | |
%sub93.i.6 = fsub float 2.000000e+00, %div92.i.6 | |
%cmp94.i.6 = fcmp olt float %mul226.6, 0.000000e+00 | |
%cond98.i.6 = select i1 %cmp94.i.6, float %sub93.i.6, float %div92.i.6 | |
%cmp99.i.6 = fcmp olt float %fabs.i.6, 2.800000e+01 | |
%cond103.i.6 = select i1 %cmp99.i.6, float %cond98.i.6, float 0.000000e+00 | |
%sub104.i.6 = fsub float 0x3FC3D4FA80000000, %div82.i.6 | |
%add105.i.6 = fadd float %div82.i.6, 0x3FEB0AC160000000 | |
%add106.i.6 = fadd float %add105.i.6, 1.000000e+00 | |
%cond111.i.6 = select i1 %cmp94.i.6, float %add106.i.6, float %sub104.i.6 | |
%cond116.i.6 = select i1 %cmp.i583.6, float %cond111.i.6, float %cond103.i.6 | |
%sub117.i.6 = fadd float %mul226.6, -5.000000e-01 | |
%768 = tail call float @llvm.fmuladd.f32(float %mul226.6, float %div82.i.6, float %sub117.i.6) #5 | |
%sub119.i.6 = fsub float 5.000000e-01, %768 | |
%cond124.i.6 = select i1 %cmp2.i.6, float %sub119.i.6, float %cond116.i.6 | |
%cmp125.i.6 = fcmp olt float %mul226.6, -6.000000e+00 | |
%cond129.i.6 = select i1 %cmp125.i.6, float 2.000000e+00, float %cond124.i.6 | |
%cmp.i.i.6 = fcmp uno float %mul226.6, 0.000000e+00 | |
%cond134.i.6 = select i1 %cmp.i.i.6, float %mul226.6, float %cond129.i.6 | |
%mul229.6 = fmul float %cond.6, %nbparam_params_sh_ewald | |
%neg230.6 = fsub float -0.000000e+00, %mul229.6 | |
%769 = tail call float @llvm.fmuladd.f32(float %div196.6, float %cond134.i.6, float %neg230.6) | |
%770 = tail call float @llvm.fmuladd.f32(float %mul217.6, float %769, float %E_el.5.5) | |
%splat.splatinsert.6 = insertelement <3 x float> undef, float %705, i32 0 | |
%splat.splat.6 = shufflevector <3 x float> %splat.splatinsert.6, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.6 = fmul <3 x float> %extractVec166.6, %splat.splat.6 | |
%extractVec243.6 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.6 = fsub <3 x float> %extractVec243.6, %mul235.6 | |
%extractVec245.6 = shufflevector <3 x float> %sub244.6, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.6 = shufflevector <4 x float> %fci_buf.sroa.62.0, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.6 = fadd <3 x float> %extractVec253.6, %mul235.6 | |
%extractVec255.6 = shufflevector <3 x float> %add254.6, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.6 | |
if.end258.6: ; preds = %if.then182.6, %if.then147.6, %if.end258.5 | |
%fci_buf.sroa.62.3 = phi <4 x float> [ %fci_buf.sroa.62.0, %if.end258.5 ], [ %extractVec255.6, %if.then182.6 ], [ %fci_buf.sroa.62.0, %if.then147.6 ] | |
%E_el.5.6 = phi float [ %E_el.5.5, %if.end258.5 ], [ %770, %if.then182.6 ], [ %E_el.5.5, %if.then147.6 ] | |
%E_lj.3.6 = phi float [ %E_lj.3.5, %if.end258.5 ], [ %add216.6, %if.then182.6 ], [ %E_lj.3.5, %if.then147.6 ] | |
%fcj_buf.sroa.0.1.6 = phi <4 x float> [ %fcj_buf.sroa.0.1.5, %if.end258.5 ], [ %extractVec245.6, %if.then182.6 ], [ %fcj_buf.sroa.0.1.5, %if.then147.6 ] | |
%and145.7 = and i32 %64, 128 | |
%tobool146.7 = icmp eq i32 %and145.7, 0 | |
br i1 %tobool146.7, label %if.end258.7, label %if.then147.7 | |
if.then147.7: ; preds = %if.end258.6 | |
%771 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.7.3, align 16, !tbaa !36 | |
%772 = fsub <4 x float> %771, %70 | |
%773 = extractelement <4 x float> %772, i32 0 | |
%774 = extractelement <4 x float> %772, i32 1 | |
%mul3.i.i589.7 = fmul float %774, %774 | |
%775 = tail call float @llvm.fmuladd.f32(float %773, float %773, float %mul3.i.i589.7) #5 | |
%776 = extractelement <4 x float> %772, i32 2 | |
%777 = tail call float @llvm.fmuladd.f32(float %776, float %776, float %775) #5 | |
%and168.7 = and i32 %66, 128 | |
%tobool169.7 = icmp ne i32 %and168.7, 0 | |
%cond.7 = select i1 %tobool169.7, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.7 = icmp eq i32 %48, %68 | |
%or.cond.7 = and i1 %cmp63, %cmp174.7 | |
%not.or.cond.7 = xor i1 %or.cond.7, true | |
%cmp176..7 = or i1 %cmp176, %not.or.cond.7 | |
%conv178.7 = uitofp i1 %cmp176..7 to float | |
%mul179.7 = fmul float %conv178.7, %nbparam_params_rcoulomb_sq | |
%cmp180.7 = fcmp olt float %777, %mul179.7 | |
br i1 %cmp180.7, label %if.then182.7, label %if.end258.7 | |
if.then182.7: ; preds = %if.then147.7 | |
%extractVec166.7 = shufflevector <4 x float> %772, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%778 = extractelement <4 x float> %771, i32 3 | |
%779 = load i32, i32 addrspace(1)* %arrayidx183.7.3, align 4, !tbaa !41 | |
%mul184.7 = mul nsw i32 %779, %ntypes | |
%add185.7 = add nsw i32 %mul184.7, %72 | |
%mul186.7 = shl nsw i32 %add185.7, 1 | |
%780 = sext i32 %mul186.7 to i64 | |
%arrayidx187.7 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %780 | |
%781 = load float, float addrspace(2)* %arrayidx187.7, align 4, !tbaa !39 | |
%add191.7 = or i32 %mul186.7, 1 | |
%782 = sext i32 %add191.7 to i64 | |
%arrayidx192.7 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %782 | |
%783 = load float, float addrspace(2)* %arrayidx192.7, align 4, !tbaa !39 | |
%sub193.7 = fsub float 1.000000e+00, %cond.7 | |
%784 = tail call float @llvm.fmuladd.f32(float %sub193.7, float 0x3D71979980000000, float %777) | |
%cmp.i.i587.7 = fcmp olt float %784, 0.000000e+00 | |
%call.i.i.7 = tail call float @llvm.sqrt.f32(float %784) #6 | |
%call.i.i.op.7 = fdiv float 1.000000e+00, %call.i.i.7 | |
%div196.7 = select i1 %cmp.i.i587.7, float 0x7FF8000000000000, float %call.i.i.op.7 | |
%mul197.7 = fmul float %div196.7, %div196.7 | |
%mul198.7 = fmul float %mul197.7, %mul197.7 | |
%mul199.7 = fmul float %mul197.7, %mul198.7 | |
%mul200.7 = fmul float %cond.7, %mul199.7 | |
%neg.7 = fsub float -0.000000e+00, %781 | |
%785 = tail call float @llvm.fmuladd.f32(float %783, float %mul200.7, float %neg.7) | |
%mul202.7 = fmul float %mul200.7, %785 | |
%mul203.7 = fmul float %mul197.7, %mul202.7 | |
%786 = tail call float @llvm.fmuladd.f32(float %mul200.7, float %mul200.7, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.7 = fmul float %786, %783 | |
%add211.7 = fadd float %mul200.7, %nbparam_params_dispersion_shift_cpot | |
%mul212.7 = fmul float %add211.7, %781 | |
%mul213.7 = fmul float %mul212.7, 0x3FC5555560000000 | |
%neg214.7 = fsub float -0.000000e+00, %mul213.7 | |
%787 = tail call float @llvm.fmuladd.f32(float %mul207.7, float 0x3FB5555540000000, float %neg214.7) | |
%mul215.7 = fmul float %cond.7, %787 | |
%add216.7 = fadd float %E_lj.3.6, %mul215.7 | |
%mul217.7 = fmul float %71, %778 | |
%mul218.7 = fmul float %cond.7, %mul197.7 | |
%mul220.7 = fmul float %mul, %784 | |
%mul.i585.7 = fmul float %mul220.7, %mul220.7 | |
%788 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.7, float 0x3FBDA79640000000) #5 | |
%789 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.7, float 0x3FE03C5780000000) #5 | |
%790 = tail call float @llvm.fmuladd.f32(float %788, float %mul.i585.7, float 1.000000e+00) #5 | |
%791 = tail call float @llvm.fmuladd.f32(float %789, float %mul220.7, float %790) #5 | |
%div.i586.7 = fdiv float 1.000000e+00, %791, !fpmath !46 | |
%792 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.7, float 0xBF0BFF7260000000) #5 | |
%793 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.7, float 0x3F50794180000000) #5 | |
%794 = tail call float @llvm.fmuladd.f32(float %792, float %mul.i585.7, float 0xBF93BDB200000000) #5 | |
%795 = tail call float @llvm.fmuladd.f32(float %793, float %mul.i585.7, float 0x3FB1D5E760000000) #5 | |
%796 = tail call float @llvm.fmuladd.f32(float %794, float %mul.i585.7, float 0xBFE81272E0000000) #5 | |
%797 = tail call float @llvm.fmuladd.f32(float %795, float %mul220.7, float %796) #5 | |
%mul11.i.7 = fmul float %797, %div.i586.7 | |
%mul222.7 = fmul float %mul19, %mul11.i.7 | |
%798 = tail call float @llvm.fmuladd.f32(float %mul218.7, float %div196.7, float %mul222.7) | |
%799 = tail call float @llvm.fmuladd.f32(float %mul217.7, float %798, float %mul203.7) | |
%mul225.7 = fmul float %784, %div196.7 | |
%mul226.7 = fmul float %mul225.7, %nbparam_params_ewald_beta | |
%fabs.i.7 = tail call float @llvm.fabs.f32(float %mul226.7) #5 | |
%and.i.7 = bitcast float %fabs.i.7 to i32 | |
%mul.i.7 = fmul float %mul226.7, %mul226.7 | |
%div.i.7 = fdiv float 1.000000e+00, %mul.i.7, !fpmath !46 | |
%sub.i.7 = fadd float %fabs.i.7, -1.000000e+00 | |
%cmp.i583.7 = fcmp olt float %fabs.i.7, 1.250000e+00 | |
%cond.i.7 = select i1 %cmp.i583.7, float %sub.i.7, float %div.i.7 | |
%cmp2.i.7 = fcmp olt float %fabs.i.7, 8.437500e-01 | |
%cond6.i.7 = select i1 %cmp2.i.7, float %mul.i.7, float %cond.i.7 | |
%800 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%801 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %800, float 0xC083EC8820000000) #5 | |
%802 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %801, float 0xC064145D40000000) #5 | |
%803 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %802, float 0xC031C20960000000) #5 | |
%804 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %803, float 0xBFE993BA80000000) #5 | |
%805 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %804, float 0xBF84341240000000) #5 | |
%806 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%807 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %806, float 0x40A3F219C0000000) #5 | |
%808 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %807, float 0x40A8FFB760000000) #5 | |
%809 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %808, float 0x409802EB20000000) #5 | |
%810 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %809, float 0x40745CAE20000000) #5 | |
%811 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %810, float 0x403E568B20000000) #5 | |
%812 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%813 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %812, float 0xC067135CE0000000) #5 | |
%814 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %813, float 0xC0644CB180000000) #5 | |
%815 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %814, float 0xC04F300AE0000000) #5 | |
%816 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %815, float 0xC0251E0440000000) #5 | |
%817 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %816, float 0xBFE63416E0000000) #5 | |
%818 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %817, float 0xBF84341260000000) #5 | |
%819 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%820 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %819, float 0x405B28A3E0000000) #5 | |
%821 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %820, float 0x407AD02160000000) #5 | |
%822 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %821, float 0x40842B1920000000) #5 | |
%823 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %822, float 0x407B290DE0000000) #5 | |
%824 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %823, float 0x4061350C60000000) #5 | |
%825 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %824, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.7 = fcmp olt float %fabs.i.7, 0x4006DB6DA0000000 | |
%cond36.i.7 = select i1 %cmp32.i.7, float %818, float %805 | |
%cond41.i.7 = select i1 %cmp32.i.7, float %825, float %811 | |
%826 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%827 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %826, float 0xBFBC639840000000) #5 | |
%828 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %827, float 0x3FD45FCA80000000) #5 | |
%829 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %828, float 0xBFD7D24100000000) #5 | |
%830 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %829, float 0x3FDA8D00A0000000) #5 | |
%831 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %830, float 0xBF6359B8C0000000) #5 | |
%832 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%833 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %832, float 0x3FC02660E0000000) #5 | |
%834 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %833, float 0x3FB2635CE0000000) #5 | |
%835 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %834, float 0x3FE14AF0A0000000) #5 | |
%836 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %835, float 0x3FBB3E6620000000) #5 | |
%cond57.i.7 = select i1 %cmp.i583.7, float %831, float %cond36.i.7 | |
%cond62.i.7 = select i1 %cmp.i583.7, float %836, float %cond41.i.7 | |
%837 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%838 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %837, float 0xBF9D2A51E0000000) #5 | |
%839 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %838, float 0xBFD4CD7D60000000) #5 | |
%840 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %839, float 0x3FC06EBA80000000) #5 | |
%841 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%842 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %841, float 0x3F74D022C0000000) #5 | |
%843 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %842, float 0x3FB0A54C60000000) #5 | |
%844 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %843, float 0x3FD97779C0000000) #5 | |
%cond75.i.7 = select i1 %cmp2.i.7, float %840, float %cond57.i.7 | |
%cond80.i.7 = select i1 %cmp2.i.7, float %844, float %cond62.i.7 | |
%845 = tail call float @llvm.fmuladd.f32(float %cond6.i.7, float %cond80.i.7, float 1.000000e+00) #5 | |
%div82.i.7 = fdiv float %cond75.i.7, %845, !fpmath !46 | |
%and83.i.7 = and i32 %and.i.7, -4096 | |
%astype84.i.7 = bitcast i32 %and83.i.7 to float | |
%sub85.i.7 = fsub float -0.000000e+00, %astype84.i.7 | |
%846 = tail call float @llvm.fmuladd.f32(float %sub85.i.7, float %astype84.i.7, float -5.625000e-01) #5 | |
%cmp.i2.i.7 = fcmp olt float %846, 0.000000e+00 | |
%cond.i3.i.7 = select i1 %cmp.i2.i.7, float -5.000000e-01, float 5.000000e-01 | |
%847 = tail call float @llvm.fmuladd.f32(float %846, float 0x3FF7154760000000, float %cond.i3.i.7) #5 | |
%conv.i4.i.7 = fptosi float %847 to i32 | |
%conv1.i5.i.7 = sitofp i32 %conv.i4.i.7 to float | |
%848 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.7, float 0xBFE62E3000000000, float %846) #5 | |
%mul.i6.i.7 = fmul float %conv1.i5.i.7, 0xBEE2FEFA20000000 | |
%add.i7.i.7 = fadd float %848, %mul.i6.i.7 | |
%mul3.i8.i.7 = fmul float %add.i7.i.7, %add.i7.i.7 | |
%849 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%850 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7, float %849, float 0x3F11566AA0000000) #5 | |
%851 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7, float %850, float 0xBF66C16C20000000) #5 | |
%852 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7, float %851, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.7 = fsub float -0.000000e+00, %852 | |
%853 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7, float %sub8.i9.i.7, float %add.i7.i.7) #5 | |
%sub10.i10.i.7 = fsub float -0.000000e+00, %mul.i6.i.7 | |
%mul11.i11.i.7 = fmul float %add.i7.i.7, %853 | |
%sub12.i12.i.7 = fsub float 2.000000e+00, %853 | |
%div.i13.i.7 = fdiv float %mul11.i11.i.7, %sub12.i12.i.7, !fpmath !46 | |
%sub13.i14.i.7 = fsub float %sub10.i10.i.7, %div.i13.i.7 | |
%sub14.i15.i.7 = fsub float %sub13.i14.i.7, %848 | |
%sub15.i16.i.7 = fsub float 1.000000e+00, %sub14.i15.i.7 | |
%astype.i17.i.7 = bitcast float %sub15.i16.i.7 to i32 | |
%shl.i18.i.7 = shl i32 %conv.i4.i.7, 23 | |
%add16.i19.i.7 = add nsw i32 %astype.i17.i.7, %shl.i18.i.7 | |
%astype17.i20.i.7 = bitcast i32 %add16.i19.i.7 to float | |
%cmp18.i21.i.7 = fcmp olt float %846, 0xC055D589E0000000 | |
%cond20.i22.i.7 = select i1 %cmp18.i21.i.7, float 0.000000e+00, float %astype17.i20.i.7 | |
%cmp21.i23.i.7 = fcmp olt float %846, 0x40562E4300000000 | |
%cond26.i24.i.7 = select i1 %cmp21.i23.i.7, float %cond20.i22.i.7, float 0x7FF0000000000000 | |
%cmp.i.i25.i.7 = fcmp uno float %846, 0.000000e+00 | |
%cond31.i26.i.7 = select i1 %cmp.i.i25.i.7, float %846, float %cond26.i24.i.7 | |
%sub88.i.7 = fsub float %astype84.i.7, %fabs.i.7 | |
%add.i584.7 = fadd float %fabs.i.7, %astype84.i.7 | |
%854 = tail call float @llvm.fmuladd.f32(float %sub88.i.7, float %add.i584.7, float %div82.i.7) #5 | |
%cmp.i1.i.7 = fcmp olt float %854, 0.000000e+00 | |
%cond.i.i.7 = select i1 %cmp.i1.i.7, float -5.000000e-01, float 5.000000e-01 | |
%855 = tail call float @llvm.fmuladd.f32(float %854, float 0x3FF7154760000000, float %cond.i.i.7) #5 | |
%conv.i.i.7 = fptosi float %855 to i32 | |
%conv1.i.i.7 = sitofp i32 %conv.i.i.7 to float | |
%856 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.7, float 0xBFE62E3000000000, float %854) #5 | |
%mul.i.i.7 = fmul float %conv1.i.i.7, 0xBEE2FEFA20000000 | |
%add.i.i.7 = fadd float %856, %mul.i.i.7 | |
%mul3.i.i.7 = fmul float %add.i.i.7, %add.i.i.7 | |
%857 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%858 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7, float %857, float 0x3F11566AA0000000) #5 | |
%859 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7, float %858, float 0xBF66C16C20000000) #5 | |
%860 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7, float %859, float 0x3FC5555560000000) #5 | |
%sub8.i.i.7 = fsub float -0.000000e+00, %860 | |
%861 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7, float %sub8.i.i.7, float %add.i.i.7) #5 | |
%sub10.i.i.7 = fsub float -0.000000e+00, %mul.i.i.7 | |
%mul11.i.i.7 = fmul float %add.i.i.7, %861 | |
%sub12.i.i.7 = fsub float 2.000000e+00, %861 | |
%div.i.i.7 = fdiv float %mul11.i.i.7, %sub12.i.i.7, !fpmath !46 | |
%sub13.i.i.7 = fsub float %sub10.i.i.7, %div.i.i.7 | |
%sub14.i.i.7 = fsub float %sub13.i.i.7, %856 | |
%sub15.i.i.7 = fsub float 1.000000e+00, %sub14.i.i.7 | |
%astype.i.i.7 = bitcast float %sub15.i.i.7 to i32 | |
%shl.i.i.7 = shl i32 %conv.i.i.7, 23 | |
%add16.i.i.7 = add nsw i32 %astype.i.i.7, %shl.i.i.7 | |
%astype17.i.i.7 = bitcast i32 %add16.i.i.7 to float | |
%cmp18.i.i.7 = fcmp olt float %854, 0xC055D589E0000000 | |
%cond20.i.i.7 = select i1 %cmp18.i.i.7, float 0.000000e+00, float %astype17.i.i.7 | |
%cmp21.i.i.7 = fcmp olt float %854, 0x40562E4300000000 | |
%cond26.i.i.7 = select i1 %cmp21.i.i.7, float %cond20.i.i.7, float 0x7FF0000000000000 | |
%cmp.i.i.i.7 = fcmp uno float %854, 0.000000e+00 | |
%cond31.i.i.7 = select i1 %cmp.i.i.i.7, float %854, float %cond26.i.i.7 | |
%mul91.i.7 = fmul float %cond31.i26.i.7, %cond31.i.i.7 | |
%div92.i.7 = fdiv float %mul91.i.7, %fabs.i.7, !fpmath !46 | |
%sub93.i.7 = fsub float 2.000000e+00, %div92.i.7 | |
%cmp94.i.7 = fcmp olt float %mul226.7, 0.000000e+00 | |
%cond98.i.7 = select i1 %cmp94.i.7, float %sub93.i.7, float %div92.i.7 | |
%cmp99.i.7 = fcmp olt float %fabs.i.7, 2.800000e+01 | |
%cond103.i.7 = select i1 %cmp99.i.7, float %cond98.i.7, float 0.000000e+00 | |
%sub104.i.7 = fsub float 0x3FC3D4FA80000000, %div82.i.7 | |
%add105.i.7 = fadd float %div82.i.7, 0x3FEB0AC160000000 | |
%add106.i.7 = fadd float %add105.i.7, 1.000000e+00 | |
%cond111.i.7 = select i1 %cmp94.i.7, float %add106.i.7, float %sub104.i.7 | |
%cond116.i.7 = select i1 %cmp.i583.7, float %cond111.i.7, float %cond103.i.7 | |
%sub117.i.7 = fadd float %mul226.7, -5.000000e-01 | |
%862 = tail call float @llvm.fmuladd.f32(float %mul226.7, float %div82.i.7, float %sub117.i.7) #5 | |
%sub119.i.7 = fsub float 5.000000e-01, %862 | |
%cond124.i.7 = select i1 %cmp2.i.7, float %sub119.i.7, float %cond116.i.7 | |
%cmp125.i.7 = fcmp olt float %mul226.7, -6.000000e+00 | |
%cond129.i.7 = select i1 %cmp125.i.7, float 2.000000e+00, float %cond124.i.7 | |
%cmp.i.i.7 = fcmp uno float %mul226.7, 0.000000e+00 | |
%cond134.i.7 = select i1 %cmp.i.i.7, float %mul226.7, float %cond129.i.7 | |
%mul229.7 = fmul float %cond.7, %nbparam_params_sh_ewald | |
%neg230.7 = fsub float -0.000000e+00, %mul229.7 | |
%863 = tail call float @llvm.fmuladd.f32(float %div196.7, float %cond134.i.7, float %neg230.7) | |
%864 = tail call float @llvm.fmuladd.f32(float %mul217.7, float %863, float %E_el.5.6) | |
%splat.splatinsert.7 = insertelement <3 x float> undef, float %799, i32 0 | |
%splat.splat.7 = shufflevector <3 x float> %splat.splatinsert.7, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.7 = fmul <3 x float> %extractVec166.7, %splat.splat.7 | |
%extractVec243.7 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.7 = fsub <3 x float> %extractVec243.7, %mul235.7 | |
%extractVec245.7 = shufflevector <3 x float> %sub244.7, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.7 = shufflevector <4 x float> %fci_buf.sroa.72.0, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.7 = fadd <3 x float> %extractVec253.7, %mul235.7 | |
%extractVec255.7 = shufflevector <3 x float> %add254.7, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.7 | |
if.end258.7: ; preds = %if.then182.7, %if.then147.7, %if.end258.6 | |
%fci_buf.sroa.72.4 = phi <4 x float> [ %fci_buf.sroa.72.0, %if.end258.6 ], [ %extractVec255.7, %if.then182.7 ], [ %fci_buf.sroa.72.0, %if.then147.7 ] | |
%E_el.5.7 = phi float [ %E_el.5.6, %if.end258.6 ], [ %864, %if.then182.7 ], [ %E_el.5.6, %if.then147.7 ] | |
%E_lj.3.7 = phi float [ %E_lj.3.6, %if.end258.6 ], [ %add216.7, %if.then182.7 ], [ %E_lj.3.6, %if.then147.7 ] | |
%fcj_buf.sroa.0.1.7 = phi <4 x float> [ %fcj_buf.sroa.0.1.6, %if.end258.6 ], [ %extractVec245.7, %if.then182.7 ], [ %fcj_buf.sroa.0.1.6, %if.then147.7 ] | |
%865 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 0 | |
store float %865, float addrspace(3)* %arrayidx263, align 4, !tbaa !39 | |
%866 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 1 | |
store float %866, float addrspace(3)* %arrayidx265, align 4, !tbaa !39 | |
%867 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 2 | |
store float %867, float addrspace(3)* %arrayidx267, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add136) | |
br label %for.inc269 | |
if.then126.1: ; preds = %for.inc269 | |
%868 = load i32, i32 addrspace(3)* %arrayidx134.1, align 4, !tbaa !41 | |
%mul135.1 = shl nsw i32 %868, 3 | |
%add136.1 = add i32 %mul135.1, %y.i | |
%869 = sext i32 %add136.1 to i64 | |
%arrayidx137.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %869 | |
%870 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx137.1, align 16, !tbaa !36 | |
%871 = extractelement <4 x float> %870, i32 3 | |
%arrayidx139.1 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %869 | |
%872 = load i32, i32 addrspace(1)* %arrayidx139.1, align 4, !tbaa !41 | |
%and145.1611 = and i32 %64, 256 | |
%tobool146.1612 = icmp eq i32 %and145.1611, 0 | |
br i1 %tobool146.1612, label %if.end258.1773, label %if.then147.1625 | |
if.then147.1625: ; preds = %if.then126.1 | |
%873 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.3939, align 16, !tbaa !36 | |
%874 = fsub <4 x float> %873, %870 | |
%875 = extractelement <4 x float> %874, i32 0 | |
%876 = extractelement <4 x float> %874, i32 1 | |
%mul3.i.i589.1614 = fmul float %876, %876 | |
%877 = tail call float @llvm.fmuladd.f32(float %875, float %875, float %mul3.i.i589.1614) #5 | |
%878 = extractelement <4 x float> %874, i32 2 | |
%879 = tail call float @llvm.fmuladd.f32(float %878, float %878, float %877) #5 | |
%and168.1615 = and i32 %66, 256 | |
%tobool169.1616 = icmp ne i32 %and168.1615, 0 | |
%cond.1617 = select i1 %tobool169.1616, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.1618 = icmp eq i32 %mul31, %868 | |
%or.cond.1619 = and i1 %cmp63, %cmp174.1618 | |
%not.or.cond.1620 = xor i1 %or.cond.1619, true | |
%cmp176..1621 = or i1 %cmp176, %not.or.cond.1620 | |
%conv178.1622 = uitofp i1 %cmp176..1621 to float | |
%mul179.1623 = fmul float %conv178.1622, %nbparam_params_rcoulomb_sq | |
%cmp180.1624 = fcmp olt float %879, %mul179.1623 | |
br i1 %cmp180.1624, label %if.then182.1768, label %if.end258.1773 | |
if.then182.1768: ; preds = %if.then147.1625 | |
%extractVec166.1626 = shufflevector <4 x float> %874, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%880 = extractelement <4 x float> %873, i32 3 | |
%881 = load i32, i32 addrspace(1)* %arrayidx183.3955, align 4, !tbaa !41 | |
%mul184.1630 = mul nsw i32 %881, %ntypes | |
%add185.1631 = add nsw i32 %mul184.1630, %872 | |
%mul186.1632 = shl nsw i32 %add185.1631, 1 | |
%882 = sext i32 %mul186.1632 to i64 | |
%arrayidx187.1633 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %882 | |
%883 = load float, float addrspace(2)* %arrayidx187.1633, align 4, !tbaa !39 | |
%add191.1634 = or i32 %mul186.1632, 1 | |
%884 = sext i32 %add191.1634 to i64 | |
%arrayidx192.1635 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %884 | |
%885 = load float, float addrspace(2)* %arrayidx192.1635, align 4, !tbaa !39 | |
%sub193.1636 = fsub float 1.000000e+00, %cond.1617 | |
%886 = tail call float @llvm.fmuladd.f32(float %sub193.1636, float 0x3D71979980000000, float %879) | |
%cmp.i.i587.1637 = fcmp olt float %886, 0.000000e+00 | |
%call.i.i.1638 = tail call float @llvm.sqrt.f32(float %886) #6 | |
%call.i.i.op.1639 = fdiv float 1.000000e+00, %call.i.i.1638 | |
%div196.1640 = select i1 %cmp.i.i587.1637, float 0x7FF8000000000000, float %call.i.i.op.1639 | |
%mul197.1641 = fmul float %div196.1640, %div196.1640 | |
%mul198.1642 = fmul float %mul197.1641, %mul197.1641 | |
%mul199.1643 = fmul float %mul197.1641, %mul198.1642 | |
%mul200.1644 = fmul float %cond.1617, %mul199.1643 | |
%neg.1645 = fsub float -0.000000e+00, %883 | |
%887 = tail call float @llvm.fmuladd.f32(float %885, float %mul200.1644, float %neg.1645) | |
%mul202.1646 = fmul float %mul200.1644, %887 | |
%mul203.1647 = fmul float %mul197.1641, %mul202.1646 | |
%888 = tail call float @llvm.fmuladd.f32(float %mul200.1644, float %mul200.1644, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.1648 = fmul float %888, %885 | |
%add211.1649 = fadd float %mul200.1644, %nbparam_params_dispersion_shift_cpot | |
%mul212.1650 = fmul float %add211.1649, %883 | |
%mul213.1651 = fmul float %mul212.1650, 0x3FC5555560000000 | |
%neg214.1652 = fsub float -0.000000e+00, %mul213.1651 | |
%889 = tail call float @llvm.fmuladd.f32(float %mul207.1648, float 0x3FB5555540000000, float %neg214.1652) | |
%mul215.1653 = fmul float %cond.1617, %889 | |
%add216.1654 = fadd float %E_lj.4, %mul215.1653 | |
%mul217.1655 = fmul float %871, %880 | |
%mul218.1656 = fmul float %cond.1617, %mul197.1641 | |
%mul220.1657 = fmul float %mul, %886 | |
%mul.i585.1658 = fmul float %mul220.1657, %mul220.1657 | |
%890 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.1658, float 0x3FBDA79640000000) #5 | |
%891 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.1658, float 0x3FE03C5780000000) #5 | |
%892 = tail call float @llvm.fmuladd.f32(float %890, float %mul.i585.1658, float 1.000000e+00) #5 | |
%893 = tail call float @llvm.fmuladd.f32(float %891, float %mul220.1657, float %892) #5 | |
%div.i586.1659 = fdiv float 1.000000e+00, %893, !fpmath !46 | |
%894 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.1658, float 0xBF0BFF7260000000) #5 | |
%895 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.1658, float 0x3F50794180000000) #5 | |
%896 = tail call float @llvm.fmuladd.f32(float %894, float %mul.i585.1658, float 0xBF93BDB200000000) #5 | |
%897 = tail call float @llvm.fmuladd.f32(float %895, float %mul.i585.1658, float 0x3FB1D5E760000000) #5 | |
%898 = tail call float @llvm.fmuladd.f32(float %896, float %mul.i585.1658, float 0xBFE81272E0000000) #5 | |
%899 = tail call float @llvm.fmuladd.f32(float %897, float %mul220.1657, float %898) #5 | |
%mul11.i.1660 = fmul float %899, %div.i586.1659 | |
%mul222.1661 = fmul float %mul19, %mul11.i.1660 | |
%900 = tail call float @llvm.fmuladd.f32(float %mul218.1656, float %div196.1640, float %mul222.1661) | |
%901 = tail call float @llvm.fmuladd.f32(float %mul217.1655, float %900, float %mul203.1647) | |
%mul225.1662 = fmul float %886, %div196.1640 | |
%mul226.1663 = fmul float %mul225.1662, %nbparam_params_ewald_beta | |
%fabs.i.1664 = tail call float @llvm.fabs.f32(float %mul226.1663) #5 | |
%and.i.1665 = bitcast float %fabs.i.1664 to i32 | |
%mul.i.1666 = fmul float %mul226.1663, %mul226.1663 | |
%div.i.1667 = fdiv float 1.000000e+00, %mul.i.1666, !fpmath !46 | |
%sub.i.1668 = fadd float %fabs.i.1664, -1.000000e+00 | |
%cmp.i583.1669 = fcmp olt float %fabs.i.1664, 1.250000e+00 | |
%cond.i.1670 = select i1 %cmp.i583.1669, float %sub.i.1668, float %div.i.1667 | |
%cmp2.i.1671 = fcmp olt float %fabs.i.1664, 8.437500e-01 | |
%cond6.i.1672 = select i1 %cmp2.i.1671, float %mul.i.1666, float %cond.i.1670 | |
%902 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%903 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %902, float 0xC083EC8820000000) #5 | |
%904 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %903, float 0xC064145D40000000) #5 | |
%905 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %904, float 0xC031C20960000000) #5 | |
%906 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %905, float 0xBFE993BA80000000) #5 | |
%907 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %906, float 0xBF84341240000000) #5 | |
%908 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%909 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %908, float 0x40A3F219C0000000) #5 | |
%910 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %909, float 0x40A8FFB760000000) #5 | |
%911 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %910, float 0x409802EB20000000) #5 | |
%912 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %911, float 0x40745CAE20000000) #5 | |
%913 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %912, float 0x403E568B20000000) #5 | |
%914 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%915 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %914, float 0xC067135CE0000000) #5 | |
%916 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %915, float 0xC0644CB180000000) #5 | |
%917 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %916, float 0xC04F300AE0000000) #5 | |
%918 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %917, float 0xC0251E0440000000) #5 | |
%919 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %918, float 0xBFE63416E0000000) #5 | |
%920 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %919, float 0xBF84341260000000) #5 | |
%921 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%922 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %921, float 0x405B28A3E0000000) #5 | |
%923 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %922, float 0x407AD02160000000) #5 | |
%924 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %923, float 0x40842B1920000000) #5 | |
%925 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %924, float 0x407B290DE0000000) #5 | |
%926 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %925, float 0x4061350C60000000) #5 | |
%927 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %926, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.1673 = fcmp olt float %fabs.i.1664, 0x4006DB6DA0000000 | |
%cond36.i.1674 = select i1 %cmp32.i.1673, float %920, float %907 | |
%cond41.i.1675 = select i1 %cmp32.i.1673, float %927, float %913 | |
%928 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%929 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %928, float 0xBFBC639840000000) #5 | |
%930 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %929, float 0x3FD45FCA80000000) #5 | |
%931 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %930, float 0xBFD7D24100000000) #5 | |
%932 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %931, float 0x3FDA8D00A0000000) #5 | |
%933 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %932, float 0xBF6359B8C0000000) #5 | |
%934 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%935 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %934, float 0x3FC02660E0000000) #5 | |
%936 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %935, float 0x3FB2635CE0000000) #5 | |
%937 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %936, float 0x3FE14AF0A0000000) #5 | |
%938 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %937, float 0x3FBB3E6620000000) #5 | |
%cond57.i.1676 = select i1 %cmp.i583.1669, float %933, float %cond36.i.1674 | |
%cond62.i.1677 = select i1 %cmp.i583.1669, float %938, float %cond41.i.1675 | |
%939 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%940 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %939, float 0xBF9D2A51E0000000) #5 | |
%941 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %940, float 0xBFD4CD7D60000000) #5 | |
%942 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %941, float 0x3FC06EBA80000000) #5 | |
%943 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%944 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %943, float 0x3F74D022C0000000) #5 | |
%945 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %944, float 0x3FB0A54C60000000) #5 | |
%946 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %945, float 0x3FD97779C0000000) #5 | |
%cond75.i.1678 = select i1 %cmp2.i.1671, float %942, float %cond57.i.1676 | |
%cond80.i.1679 = select i1 %cmp2.i.1671, float %946, float %cond62.i.1677 | |
%947 = tail call float @llvm.fmuladd.f32(float %cond6.i.1672, float %cond80.i.1679, float 1.000000e+00) #5 | |
%div82.i.1680 = fdiv float %cond75.i.1678, %947, !fpmath !46 | |
%and83.i.1681 = and i32 %and.i.1665, -4096 | |
%astype84.i.1682 = bitcast i32 %and83.i.1681 to float | |
%sub85.i.1683 = fsub float -0.000000e+00, %astype84.i.1682 | |
%948 = tail call float @llvm.fmuladd.f32(float %sub85.i.1683, float %astype84.i.1682, float -5.625000e-01) #5 | |
%cmp.i2.i.1684 = fcmp olt float %948, 0.000000e+00 | |
%cond.i3.i.1685 = select i1 %cmp.i2.i.1684, float -5.000000e-01, float 5.000000e-01 | |
%949 = tail call float @llvm.fmuladd.f32(float %948, float 0x3FF7154760000000, float %cond.i3.i.1685) #5 | |
%conv.i4.i.1686 = fptosi float %949 to i32 | |
%conv1.i5.i.1687 = sitofp i32 %conv.i4.i.1686 to float | |
%950 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.1687, float 0xBFE62E3000000000, float %948) #5 | |
%mul.i6.i.1688 = fmul float %conv1.i5.i.1687, 0xBEE2FEFA20000000 | |
%add.i7.i.1689 = fadd float %950, %mul.i6.i.1688 | |
%mul3.i8.i.1690 = fmul float %add.i7.i.1689, %add.i7.i.1689 | |
%951 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1690, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%952 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1690, float %951, float 0x3F11566AA0000000) #5 | |
%953 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1690, float %952, float 0xBF66C16C20000000) #5 | |
%954 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1690, float %953, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.1691 = fsub float -0.000000e+00, %954 | |
%955 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1690, float %sub8.i9.i.1691, float %add.i7.i.1689) #5 | |
%sub10.i10.i.1692 = fsub float -0.000000e+00, %mul.i6.i.1688 | |
%mul11.i11.i.1693 = fmul float %add.i7.i.1689, %955 | |
%sub12.i12.i.1694 = fsub float 2.000000e+00, %955 | |
%div.i13.i.1695 = fdiv float %mul11.i11.i.1693, %sub12.i12.i.1694, !fpmath !46 | |
%sub13.i14.i.1696 = fsub float %sub10.i10.i.1692, %div.i13.i.1695 | |
%sub14.i15.i.1697 = fsub float %sub13.i14.i.1696, %950 | |
%sub15.i16.i.1698 = fsub float 1.000000e+00, %sub14.i15.i.1697 | |
%astype.i17.i.1699 = bitcast float %sub15.i16.i.1698 to i32 | |
%shl.i18.i.1700 = shl i32 %conv.i4.i.1686, 23 | |
%add16.i19.i.1701 = add nsw i32 %astype.i17.i.1699, %shl.i18.i.1700 | |
%astype17.i20.i.1702 = bitcast i32 %add16.i19.i.1701 to float | |
%cmp18.i21.i.1703 = fcmp olt float %948, 0xC055D589E0000000 | |
%cond20.i22.i.1704 = select i1 %cmp18.i21.i.1703, float 0.000000e+00, float %astype17.i20.i.1702 | |
%cmp21.i23.i.1705 = fcmp olt float %948, 0x40562E4300000000 | |
%cond26.i24.i.1706 = select i1 %cmp21.i23.i.1705, float %cond20.i22.i.1704, float 0x7FF0000000000000 | |
%cmp.i.i25.i.1707 = fcmp uno float %948, 0.000000e+00 | |
%cond31.i26.i.1708 = select i1 %cmp.i.i25.i.1707, float %948, float %cond26.i24.i.1706 | |
%sub88.i.1709 = fsub float %astype84.i.1682, %fabs.i.1664 | |
%add.i584.1710 = fadd float %fabs.i.1664, %astype84.i.1682 | |
%956 = tail call float @llvm.fmuladd.f32(float %sub88.i.1709, float %add.i584.1710, float %div82.i.1680) #5 | |
%cmp.i1.i.1711 = fcmp olt float %956, 0.000000e+00 | |
%cond.i.i.1712 = select i1 %cmp.i1.i.1711, float -5.000000e-01, float 5.000000e-01 | |
%957 = tail call float @llvm.fmuladd.f32(float %956, float 0x3FF7154760000000, float %cond.i.i.1712) #5 | |
%conv.i.i.1713 = fptosi float %957 to i32 | |
%conv1.i.i.1714 = sitofp i32 %conv.i.i.1713 to float | |
%958 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.1714, float 0xBFE62E3000000000, float %956) #5 | |
%mul.i.i.1715 = fmul float %conv1.i.i.1714, 0xBEE2FEFA20000000 | |
%add.i.i.1716 = fadd float %958, %mul.i.i.1715 | |
%mul3.i.i.1717 = fmul float %add.i.i.1716, %add.i.i.1716 | |
%959 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1717, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%960 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1717, float %959, float 0x3F11566AA0000000) #5 | |
%961 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1717, float %960, float 0xBF66C16C20000000) #5 | |
%962 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1717, float %961, float 0x3FC5555560000000) #5 | |
%sub8.i.i.1718 = fsub float -0.000000e+00, %962 | |
%963 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1717, float %sub8.i.i.1718, float %add.i.i.1716) #5 | |
%sub10.i.i.1719 = fsub float -0.000000e+00, %mul.i.i.1715 | |
%mul11.i.i.1720 = fmul float %add.i.i.1716, %963 | |
%sub12.i.i.1721 = fsub float 2.000000e+00, %963 | |
%div.i.i.1722 = fdiv float %mul11.i.i.1720, %sub12.i.i.1721, !fpmath !46 | |
%sub13.i.i.1723 = fsub float %sub10.i.i.1719, %div.i.i.1722 | |
%sub14.i.i.1724 = fsub float %sub13.i.i.1723, %958 | |
%sub15.i.i.1725 = fsub float 1.000000e+00, %sub14.i.i.1724 | |
%astype.i.i.1726 = bitcast float %sub15.i.i.1725 to i32 | |
%shl.i.i.1727 = shl i32 %conv.i.i.1713, 23 | |
%add16.i.i.1728 = add nsw i32 %astype.i.i.1726, %shl.i.i.1727 | |
%astype17.i.i.1729 = bitcast i32 %add16.i.i.1728 to float | |
%cmp18.i.i.1730 = fcmp olt float %956, 0xC055D589E0000000 | |
%cond20.i.i.1731 = select i1 %cmp18.i.i.1730, float 0.000000e+00, float %astype17.i.i.1729 | |
%cmp21.i.i.1732 = fcmp olt float %956, 0x40562E4300000000 | |
%cond26.i.i.1733 = select i1 %cmp21.i.i.1732, float %cond20.i.i.1731, float 0x7FF0000000000000 | |
%cmp.i.i.i.1734 = fcmp uno float %956, 0.000000e+00 | |
%cond31.i.i.1735 = select i1 %cmp.i.i.i.1734, float %956, float %cond26.i.i.1733 | |
%mul91.i.1736 = fmul float %cond31.i26.i.1708, %cond31.i.i.1735 | |
%div92.i.1737 = fdiv float %mul91.i.1736, %fabs.i.1664, !fpmath !46 | |
%sub93.i.1738 = fsub float 2.000000e+00, %div92.i.1737 | |
%cmp94.i.1739 = fcmp olt float %mul226.1663, 0.000000e+00 | |
%cond98.i.1740 = select i1 %cmp94.i.1739, float %sub93.i.1738, float %div92.i.1737 | |
%cmp99.i.1741 = fcmp olt float %fabs.i.1664, 2.800000e+01 | |
%cond103.i.1742 = select i1 %cmp99.i.1741, float %cond98.i.1740, float 0.000000e+00 | |
%sub104.i.1743 = fsub float 0x3FC3D4FA80000000, %div82.i.1680 | |
%add105.i.1744 = fadd float %div82.i.1680, 0x3FEB0AC160000000 | |
%add106.i.1745 = fadd float %add105.i.1744, 1.000000e+00 | |
%cond111.i.1746 = select i1 %cmp94.i.1739, float %add106.i.1745, float %sub104.i.1743 | |
%cond116.i.1747 = select i1 %cmp.i583.1669, float %cond111.i.1746, float %cond103.i.1742 | |
%sub117.i.1748 = fadd float %mul226.1663, -5.000000e-01 | |
%964 = tail call float @llvm.fmuladd.f32(float %mul226.1663, float %div82.i.1680, float %sub117.i.1748) #5 | |
%sub119.i.1749 = fsub float 5.000000e-01, %964 | |
%cond124.i.1750 = select i1 %cmp2.i.1671, float %sub119.i.1749, float %cond116.i.1747 | |
%cmp125.i.1751 = fcmp olt float %mul226.1663, -6.000000e+00 | |
%cond129.i.1752 = select i1 %cmp125.i.1751, float 2.000000e+00, float %cond124.i.1750 | |
%cmp.i.i.1753 = fcmp uno float %mul226.1663, 0.000000e+00 | |
%cond134.i.1754 = select i1 %cmp.i.i.1753, float %mul226.1663, float %cond129.i.1752 | |
%mul229.1755 = fmul float %cond.1617, %nbparam_params_sh_ewald | |
%neg230.1756 = fsub float -0.000000e+00, %mul229.1755 | |
%965 = tail call float @llvm.fmuladd.f32(float %div196.1640, float %cond134.i.1754, float %neg230.1756) | |
%966 = tail call float @llvm.fmuladd.f32(float %mul217.1655, float %965, float %E_el.6) | |
%splat.splatinsert.1757 = insertelement <3 x float> undef, float %901, i32 0 | |
%splat.splat.1758 = shufflevector <3 x float> %splat.splatinsert.1757, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.1759 = fmul <3 x float> %extractVec166.1626, %splat.splat.1758 | |
%sub244.1760 = fsub <3 x float> zeroinitializer, %mul235.1759 | |
%extractVec245.1761 = shufflevector <3 x float> %sub244.1760, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.1765 = shufflevector <4 x float> %fci_buf.sroa.0.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.1766 = fadd <3 x float> %extractVec253.1765, %mul235.1759 | |
%extractVec255.1767 = shufflevector <3 x float> %add254.1766, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.1773 | |
if.end258.1773: ; preds = %if.then182.1768, %if.then147.1625, %if.then126.1 | |
%fci_buf.sroa.0.4 = phi <4 x float> [ %fci_buf.sroa.0.2, %if.then126.1 ], [ %extractVec255.1767, %if.then182.1768 ], [ %fci_buf.sroa.0.2, %if.then147.1625 ] | |
%E_el.5.1769 = phi float [ %E_el.6, %if.then126.1 ], [ %966, %if.then182.1768 ], [ %E_el.6, %if.then147.1625 ] | |
%E_lj.3.1770 = phi float [ %E_lj.4, %if.then126.1 ], [ %add216.1654, %if.then182.1768 ], [ %E_lj.4, %if.then147.1625 ] | |
%fcj_buf.sroa.0.1.1771 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then126.1 ], [ %extractVec245.1761, %if.then182.1768 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then147.1625 ] | |
%and145.1.1 = and i32 %64, 512 | |
%tobool146.1.1 = icmp eq i32 %and145.1.1, 0 | |
br i1 %tobool146.1.1, label %if.end258.1.1, label %if.then147.1.1 | |
if.then147.1.1: ; preds = %if.end258.1773 | |
%967 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.1.3, align 16, !tbaa !36 | |
%968 = fsub <4 x float> %967, %870 | |
%969 = extractelement <4 x float> %968, i32 0 | |
%970 = extractelement <4 x float> %968, i32 1 | |
%mul3.i.i589.1.1 = fmul float %970, %970 | |
%971 = tail call float @llvm.fmuladd.f32(float %969, float %969, float %mul3.i.i589.1.1) #5 | |
%972 = extractelement <4 x float> %968, i32 2 | |
%973 = tail call float @llvm.fmuladd.f32(float %972, float %972, float %971) #5 | |
%and168.1.1 = and i32 %66, 512 | |
%tobool169.1.1 = icmp ne i32 %and168.1.1, 0 | |
%cond.1.1 = select i1 %tobool169.1.1, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.1.1 = icmp eq i32 %60, %868 | |
%or.cond.1.1 = and i1 %cmp63, %cmp174.1.1 | |
%not.or.cond.1.1 = xor i1 %or.cond.1.1, true | |
%cmp176..1.1 = or i1 %cmp176, %not.or.cond.1.1 | |
%conv178.1.1 = uitofp i1 %cmp176..1.1 to float | |
%mul179.1.1 = fmul float %conv178.1.1, %nbparam_params_rcoulomb_sq | |
%cmp180.1.1 = fcmp olt float %973, %mul179.1.1 | |
br i1 %cmp180.1.1, label %if.then182.1.1, label %if.end258.1.1 | |
if.then182.1.1: ; preds = %if.then147.1.1 | |
%extractVec166.1.1 = shufflevector <4 x float> %968, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%974 = extractelement <4 x float> %967, i32 3 | |
%975 = load i32, i32 addrspace(1)* %arrayidx183.1.3, align 4, !tbaa !41 | |
%mul184.1.1 = mul nsw i32 %975, %ntypes | |
%add185.1.1 = add nsw i32 %mul184.1.1, %872 | |
%mul186.1.1 = shl nsw i32 %add185.1.1, 1 | |
%976 = sext i32 %mul186.1.1 to i64 | |
%arrayidx187.1.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %976 | |
%977 = load float, float addrspace(2)* %arrayidx187.1.1, align 4, !tbaa !39 | |
%add191.1.1 = or i32 %mul186.1.1, 1 | |
%978 = sext i32 %add191.1.1 to i64 | |
%arrayidx192.1.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %978 | |
%979 = load float, float addrspace(2)* %arrayidx192.1.1, align 4, !tbaa !39 | |
%sub193.1.1 = fsub float 1.000000e+00, %cond.1.1 | |
%980 = tail call float @llvm.fmuladd.f32(float %sub193.1.1, float 0x3D71979980000000, float %973) | |
%cmp.i.i587.1.1 = fcmp olt float %980, 0.000000e+00 | |
%call.i.i.1.1 = tail call float @llvm.sqrt.f32(float %980) #6 | |
%call.i.i.op.1.1 = fdiv float 1.000000e+00, %call.i.i.1.1 | |
%div196.1.1 = select i1 %cmp.i.i587.1.1, float 0x7FF8000000000000, float %call.i.i.op.1.1 | |
%mul197.1.1 = fmul float %div196.1.1, %div196.1.1 | |
%mul198.1.1 = fmul float %mul197.1.1, %mul197.1.1 | |
%mul199.1.1 = fmul float %mul197.1.1, %mul198.1.1 | |
%mul200.1.1 = fmul float %cond.1.1, %mul199.1.1 | |
%neg.1.1 = fsub float -0.000000e+00, %977 | |
%981 = tail call float @llvm.fmuladd.f32(float %979, float %mul200.1.1, float %neg.1.1) | |
%mul202.1.1 = fmul float %mul200.1.1, %981 | |
%mul203.1.1 = fmul float %mul197.1.1, %mul202.1.1 | |
%982 = tail call float @llvm.fmuladd.f32(float %mul200.1.1, float %mul200.1.1, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.1.1 = fmul float %982, %979 | |
%add211.1.1 = fadd float %mul200.1.1, %nbparam_params_dispersion_shift_cpot | |
%mul212.1.1 = fmul float %add211.1.1, %977 | |
%mul213.1.1 = fmul float %mul212.1.1, 0x3FC5555560000000 | |
%neg214.1.1 = fsub float -0.000000e+00, %mul213.1.1 | |
%983 = tail call float @llvm.fmuladd.f32(float %mul207.1.1, float 0x3FB5555540000000, float %neg214.1.1) | |
%mul215.1.1 = fmul float %cond.1.1, %983 | |
%add216.1.1 = fadd float %E_lj.3.1770, %mul215.1.1 | |
%mul217.1.1 = fmul float %871, %974 | |
%mul218.1.1 = fmul float %cond.1.1, %mul197.1.1 | |
%mul220.1.1 = fmul float %mul, %980 | |
%mul.i585.1.1 = fmul float %mul220.1.1, %mul220.1.1 | |
%984 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.1.1, float 0x3FBDA79640000000) #5 | |
%985 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.1.1, float 0x3FE03C5780000000) #5 | |
%986 = tail call float @llvm.fmuladd.f32(float %984, float %mul.i585.1.1, float 1.000000e+00) #5 | |
%987 = tail call float @llvm.fmuladd.f32(float %985, float %mul220.1.1, float %986) #5 | |
%div.i586.1.1 = fdiv float 1.000000e+00, %987, !fpmath !46 | |
%988 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.1.1, float 0xBF0BFF7260000000) #5 | |
%989 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.1.1, float 0x3F50794180000000) #5 | |
%990 = tail call float @llvm.fmuladd.f32(float %988, float %mul.i585.1.1, float 0xBF93BDB200000000) #5 | |
%991 = tail call float @llvm.fmuladd.f32(float %989, float %mul.i585.1.1, float 0x3FB1D5E760000000) #5 | |
%992 = tail call float @llvm.fmuladd.f32(float %990, float %mul.i585.1.1, float 0xBFE81272E0000000) #5 | |
%993 = tail call float @llvm.fmuladd.f32(float %991, float %mul220.1.1, float %992) #5 | |
%mul11.i.1.1 = fmul float %993, %div.i586.1.1 | |
%mul222.1.1 = fmul float %mul19, %mul11.i.1.1 | |
%994 = tail call float @llvm.fmuladd.f32(float %mul218.1.1, float %div196.1.1, float %mul222.1.1) | |
%995 = tail call float @llvm.fmuladd.f32(float %mul217.1.1, float %994, float %mul203.1.1) | |
%mul225.1.1 = fmul float %980, %div196.1.1 | |
%mul226.1.1 = fmul float %mul225.1.1, %nbparam_params_ewald_beta | |
%fabs.i.1.1 = tail call float @llvm.fabs.f32(float %mul226.1.1) #5 | |
%and.i.1.1 = bitcast float %fabs.i.1.1 to i32 | |
%mul.i.1.1 = fmul float %mul226.1.1, %mul226.1.1 | |
%div.i.1.1 = fdiv float 1.000000e+00, %mul.i.1.1, !fpmath !46 | |
%sub.i.1.1 = fadd float %fabs.i.1.1, -1.000000e+00 | |
%cmp.i583.1.1 = fcmp olt float %fabs.i.1.1, 1.250000e+00 | |
%cond.i.1.1 = select i1 %cmp.i583.1.1, float %sub.i.1.1, float %div.i.1.1 | |
%cmp2.i.1.1 = fcmp olt float %fabs.i.1.1, 8.437500e-01 | |
%cond6.i.1.1 = select i1 %cmp2.i.1.1, float %mul.i.1.1, float %cond.i.1.1 | |
%996 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%997 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %996, float 0xC083EC8820000000) #5 | |
%998 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %997, float 0xC064145D40000000) #5 | |
%999 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %998, float 0xC031C20960000000) #5 | |
%1000 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %999, float 0xBFE993BA80000000) #5 | |
%1001 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1000, float 0xBF84341240000000) #5 | |
%1002 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1003 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1002, float 0x40A3F219C0000000) #5 | |
%1004 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1003, float 0x40A8FFB760000000) #5 | |
%1005 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1004, float 0x409802EB20000000) #5 | |
%1006 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1005, float 0x40745CAE20000000) #5 | |
%1007 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1006, float 0x403E568B20000000) #5 | |
%1008 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1009 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1008, float 0xC067135CE0000000) #5 | |
%1010 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1009, float 0xC0644CB180000000) #5 | |
%1011 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1010, float 0xC04F300AE0000000) #5 | |
%1012 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1011, float 0xC0251E0440000000) #5 | |
%1013 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1012, float 0xBFE63416E0000000) #5 | |
%1014 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1013, float 0xBF84341260000000) #5 | |
%1015 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1016 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1015, float 0x405B28A3E0000000) #5 | |
%1017 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1016, float 0x407AD02160000000) #5 | |
%1018 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1017, float 0x40842B1920000000) #5 | |
%1019 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1018, float 0x407B290DE0000000) #5 | |
%1020 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1019, float 0x4061350C60000000) #5 | |
%1021 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1020, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.1.1 = fcmp olt float %fabs.i.1.1, 0x4006DB6DA0000000 | |
%cond36.i.1.1 = select i1 %cmp32.i.1.1, float %1014, float %1001 | |
%cond41.i.1.1 = select i1 %cmp32.i.1.1, float %1021, float %1007 | |
%1022 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1023 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1022, float 0xBFBC639840000000) #5 | |
%1024 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1023, float 0x3FD45FCA80000000) #5 | |
%1025 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1024, float 0xBFD7D24100000000) #5 | |
%1026 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1025, float 0x3FDA8D00A0000000) #5 | |
%1027 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1026, float 0xBF6359B8C0000000) #5 | |
%1028 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1029 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1028, float 0x3FC02660E0000000) #5 | |
%1030 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1029, float 0x3FB2635CE0000000) #5 | |
%1031 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1030, float 0x3FE14AF0A0000000) #5 | |
%1032 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1031, float 0x3FBB3E6620000000) #5 | |
%cond57.i.1.1 = select i1 %cmp.i583.1.1, float %1027, float %cond36.i.1.1 | |
%cond62.i.1.1 = select i1 %cmp.i583.1.1, float %1032, float %cond41.i.1.1 | |
%1033 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1034 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1033, float 0xBF9D2A51E0000000) #5 | |
%1035 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1034, float 0xBFD4CD7D60000000) #5 | |
%1036 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1035, float 0x3FC06EBA80000000) #5 | |
%1037 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1038 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1037, float 0x3F74D022C0000000) #5 | |
%1039 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1038, float 0x3FB0A54C60000000) #5 | |
%1040 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %1039, float 0x3FD97779C0000000) #5 | |
%cond75.i.1.1 = select i1 %cmp2.i.1.1, float %1036, float %cond57.i.1.1 | |
%cond80.i.1.1 = select i1 %cmp2.i.1.1, float %1040, float %cond62.i.1.1 | |
%1041 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.1, float %cond80.i.1.1, float 1.000000e+00) #5 | |
%div82.i.1.1 = fdiv float %cond75.i.1.1, %1041, !fpmath !46 | |
%and83.i.1.1 = and i32 %and.i.1.1, -4096 | |
%astype84.i.1.1 = bitcast i32 %and83.i.1.1 to float | |
%sub85.i.1.1 = fsub float -0.000000e+00, %astype84.i.1.1 | |
%1042 = tail call float @llvm.fmuladd.f32(float %sub85.i.1.1, float %astype84.i.1.1, float -5.625000e-01) #5 | |
%cmp.i2.i.1.1 = fcmp olt float %1042, 0.000000e+00 | |
%cond.i3.i.1.1 = select i1 %cmp.i2.i.1.1, float -5.000000e-01, float 5.000000e-01 | |
%1043 = tail call float @llvm.fmuladd.f32(float %1042, float 0x3FF7154760000000, float %cond.i3.i.1.1) #5 | |
%conv.i4.i.1.1 = fptosi float %1043 to i32 | |
%conv1.i5.i.1.1 = sitofp i32 %conv.i4.i.1.1 to float | |
%1044 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.1.1, float 0xBFE62E3000000000, float %1042) #5 | |
%mul.i6.i.1.1 = fmul float %conv1.i5.i.1.1, 0xBEE2FEFA20000000 | |
%add.i7.i.1.1 = fadd float %1044, %mul.i6.i.1.1 | |
%mul3.i8.i.1.1 = fmul float %add.i7.i.1.1, %add.i7.i.1.1 | |
%1045 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1046 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.1, float %1045, float 0x3F11566AA0000000) #5 | |
%1047 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.1, float %1046, float 0xBF66C16C20000000) #5 | |
%1048 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.1, float %1047, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.1.1 = fsub float -0.000000e+00, %1048 | |
%1049 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.1, float %sub8.i9.i.1.1, float %add.i7.i.1.1) #5 | |
%sub10.i10.i.1.1 = fsub float -0.000000e+00, %mul.i6.i.1.1 | |
%mul11.i11.i.1.1 = fmul float %add.i7.i.1.1, %1049 | |
%sub12.i12.i.1.1 = fsub float 2.000000e+00, %1049 | |
%div.i13.i.1.1 = fdiv float %mul11.i11.i.1.1, %sub12.i12.i.1.1, !fpmath !46 | |
%sub13.i14.i.1.1 = fsub float %sub10.i10.i.1.1, %div.i13.i.1.1 | |
%sub14.i15.i.1.1 = fsub float %sub13.i14.i.1.1, %1044 | |
%sub15.i16.i.1.1 = fsub float 1.000000e+00, %sub14.i15.i.1.1 | |
%astype.i17.i.1.1 = bitcast float %sub15.i16.i.1.1 to i32 | |
%shl.i18.i.1.1 = shl i32 %conv.i4.i.1.1, 23 | |
%add16.i19.i.1.1 = add nsw i32 %astype.i17.i.1.1, %shl.i18.i.1.1 | |
%astype17.i20.i.1.1 = bitcast i32 %add16.i19.i.1.1 to float | |
%cmp18.i21.i.1.1 = fcmp olt float %1042, 0xC055D589E0000000 | |
%cond20.i22.i.1.1 = select i1 %cmp18.i21.i.1.1, float 0.000000e+00, float %astype17.i20.i.1.1 | |
%cmp21.i23.i.1.1 = fcmp olt float %1042, 0x40562E4300000000 | |
%cond26.i24.i.1.1 = select i1 %cmp21.i23.i.1.1, float %cond20.i22.i.1.1, float 0x7FF0000000000000 | |
%cmp.i.i25.i.1.1 = fcmp uno float %1042, 0.000000e+00 | |
%cond31.i26.i.1.1 = select i1 %cmp.i.i25.i.1.1, float %1042, float %cond26.i24.i.1.1 | |
%sub88.i.1.1 = fsub float %astype84.i.1.1, %fabs.i.1.1 | |
%add.i584.1.1 = fadd float %fabs.i.1.1, %astype84.i.1.1 | |
%1050 = tail call float @llvm.fmuladd.f32(float %sub88.i.1.1, float %add.i584.1.1, float %div82.i.1.1) #5 | |
%cmp.i1.i.1.1 = fcmp olt float %1050, 0.000000e+00 | |
%cond.i.i.1.1 = select i1 %cmp.i1.i.1.1, float -5.000000e-01, float 5.000000e-01 | |
%1051 = tail call float @llvm.fmuladd.f32(float %1050, float 0x3FF7154760000000, float %cond.i.i.1.1) #5 | |
%conv.i.i.1.1 = fptosi float %1051 to i32 | |
%conv1.i.i.1.1 = sitofp i32 %conv.i.i.1.1 to float | |
%1052 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.1.1, float 0xBFE62E3000000000, float %1050) #5 | |
%mul.i.i.1.1 = fmul float %conv1.i.i.1.1, 0xBEE2FEFA20000000 | |
%add.i.i.1.1 = fadd float %1052, %mul.i.i.1.1 | |
%mul3.i.i.1.1 = fmul float %add.i.i.1.1, %add.i.i.1.1 | |
%1053 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1054 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.1, float %1053, float 0x3F11566AA0000000) #5 | |
%1055 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.1, float %1054, float 0xBF66C16C20000000) #5 | |
%1056 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.1, float %1055, float 0x3FC5555560000000) #5 | |
%sub8.i.i.1.1 = fsub float -0.000000e+00, %1056 | |
%1057 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.1, float %sub8.i.i.1.1, float %add.i.i.1.1) #5 | |
%sub10.i.i.1.1 = fsub float -0.000000e+00, %mul.i.i.1.1 | |
%mul11.i.i.1.1 = fmul float %add.i.i.1.1, %1057 | |
%sub12.i.i.1.1 = fsub float 2.000000e+00, %1057 | |
%div.i.i.1.1 = fdiv float %mul11.i.i.1.1, %sub12.i.i.1.1, !fpmath !46 | |
%sub13.i.i.1.1 = fsub float %sub10.i.i.1.1, %div.i.i.1.1 | |
%sub14.i.i.1.1 = fsub float %sub13.i.i.1.1, %1052 | |
%sub15.i.i.1.1 = fsub float 1.000000e+00, %sub14.i.i.1.1 | |
%astype.i.i.1.1 = bitcast float %sub15.i.i.1.1 to i32 | |
%shl.i.i.1.1 = shl i32 %conv.i.i.1.1, 23 | |
%add16.i.i.1.1 = add nsw i32 %astype.i.i.1.1, %shl.i.i.1.1 | |
%astype17.i.i.1.1 = bitcast i32 %add16.i.i.1.1 to float | |
%cmp18.i.i.1.1 = fcmp olt float %1050, 0xC055D589E0000000 | |
%cond20.i.i.1.1 = select i1 %cmp18.i.i.1.1, float 0.000000e+00, float %astype17.i.i.1.1 | |
%cmp21.i.i.1.1 = fcmp olt float %1050, 0x40562E4300000000 | |
%cond26.i.i.1.1 = select i1 %cmp21.i.i.1.1, float %cond20.i.i.1.1, float 0x7FF0000000000000 | |
%cmp.i.i.i.1.1 = fcmp uno float %1050, 0.000000e+00 | |
%cond31.i.i.1.1 = select i1 %cmp.i.i.i.1.1, float %1050, float %cond26.i.i.1.1 | |
%mul91.i.1.1 = fmul float %cond31.i26.i.1.1, %cond31.i.i.1.1 | |
%div92.i.1.1 = fdiv float %mul91.i.1.1, %fabs.i.1.1, !fpmath !46 | |
%sub93.i.1.1 = fsub float 2.000000e+00, %div92.i.1.1 | |
%cmp94.i.1.1 = fcmp olt float %mul226.1.1, 0.000000e+00 | |
%cond98.i.1.1 = select i1 %cmp94.i.1.1, float %sub93.i.1.1, float %div92.i.1.1 | |
%cmp99.i.1.1 = fcmp olt float %fabs.i.1.1, 2.800000e+01 | |
%cond103.i.1.1 = select i1 %cmp99.i.1.1, float %cond98.i.1.1, float 0.000000e+00 | |
%sub104.i.1.1 = fsub float 0x3FC3D4FA80000000, %div82.i.1.1 | |
%add105.i.1.1 = fadd float %div82.i.1.1, 0x3FEB0AC160000000 | |
%add106.i.1.1 = fadd float %add105.i.1.1, 1.000000e+00 | |
%cond111.i.1.1 = select i1 %cmp94.i.1.1, float %add106.i.1.1, float %sub104.i.1.1 | |
%cond116.i.1.1 = select i1 %cmp.i583.1.1, float %cond111.i.1.1, float %cond103.i.1.1 | |
%sub117.i.1.1 = fadd float %mul226.1.1, -5.000000e-01 | |
%1058 = tail call float @llvm.fmuladd.f32(float %mul226.1.1, float %div82.i.1.1, float %sub117.i.1.1) #5 | |
%sub119.i.1.1 = fsub float 5.000000e-01, %1058 | |
%cond124.i.1.1 = select i1 %cmp2.i.1.1, float %sub119.i.1.1, float %cond116.i.1.1 | |
%cmp125.i.1.1 = fcmp olt float %mul226.1.1, -6.000000e+00 | |
%cond129.i.1.1 = select i1 %cmp125.i.1.1, float 2.000000e+00, float %cond124.i.1.1 | |
%cmp.i.i.1.1 = fcmp uno float %mul226.1.1, 0.000000e+00 | |
%cond134.i.1.1 = select i1 %cmp.i.i.1.1, float %mul226.1.1, float %cond129.i.1.1 | |
%mul229.1.1 = fmul float %cond.1.1, %nbparam_params_sh_ewald | |
%neg230.1.1 = fsub float -0.000000e+00, %mul229.1.1 | |
%1059 = tail call float @llvm.fmuladd.f32(float %div196.1.1, float %cond134.i.1.1, float %neg230.1.1) | |
%1060 = tail call float @llvm.fmuladd.f32(float %mul217.1.1, float %1059, float %E_el.5.1769) | |
%splat.splatinsert.1.1 = insertelement <3 x float> undef, float %995, i32 0 | |
%splat.splat.1.1 = shufflevector <3 x float> %splat.splatinsert.1.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.1.1 = fmul <3 x float> %extractVec166.1.1, %splat.splat.1.1 | |
%extractVec243.1.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1771, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.1.1 = fsub <3 x float> %extractVec243.1.1, %mul235.1.1 | |
%extractVec245.1.1 = shufflevector <3 x float> %sub244.1.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.1.1 = shufflevector <4 x float> %fci_buf.sroa.12.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.1.1 = fadd <3 x float> %extractVec253.1.1, %mul235.1.1 | |
%extractVec255.1.1 = shufflevector <3 x float> %add254.1.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.1.1 | |
if.end258.1.1: ; preds = %if.then182.1.1, %if.then147.1.1, %if.end258.1773 | |
%fci_buf.sroa.12.4 = phi <4 x float> [ %fci_buf.sroa.12.1, %if.end258.1773 ], [ %extractVec255.1.1, %if.then182.1.1 ], [ %fci_buf.sroa.12.1, %if.then147.1.1 ] | |
%E_el.5.1.1 = phi float [ %E_el.5.1769, %if.end258.1773 ], [ %1060, %if.then182.1.1 ], [ %E_el.5.1769, %if.then147.1.1 ] | |
%E_lj.3.1.1 = phi float [ %E_lj.3.1770, %if.end258.1773 ], [ %add216.1.1, %if.then182.1.1 ], [ %E_lj.3.1770, %if.then147.1.1 ] | |
%fcj_buf.sroa.0.1.1.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.1771, %if.end258.1773 ], [ %extractVec245.1.1, %if.then182.1.1 ], [ %fcj_buf.sroa.0.1.1771, %if.then147.1.1 ] | |
%and145.2.1 = and i32 %64, 1024 | |
%tobool146.2.1 = icmp eq i32 %and145.2.1, 0 | |
br i1 %tobool146.2.1, label %if.end258.2.1, label %if.then147.2.1 | |
if.then147.2.1: ; preds = %if.end258.1.1 | |
%1061 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.2.3, align 16, !tbaa !36 | |
%1062 = fsub <4 x float> %1061, %870 | |
%1063 = extractelement <4 x float> %1062, i32 0 | |
%1064 = extractelement <4 x float> %1062, i32 1 | |
%mul3.i.i589.2.1 = fmul float %1064, %1064 | |
%1065 = tail call float @llvm.fmuladd.f32(float %1063, float %1063, float %mul3.i.i589.2.1) #5 | |
%1066 = extractelement <4 x float> %1062, i32 2 | |
%1067 = tail call float @llvm.fmuladd.f32(float %1066, float %1066, float %1065) #5 | |
%and168.2.1 = and i32 %66, 1024 | |
%tobool169.2.1 = icmp ne i32 %and168.2.1, 0 | |
%cond.2.1 = select i1 %tobool169.2.1, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.2.1 = icmp eq i32 %58, %868 | |
%or.cond.2.1 = and i1 %cmp63, %cmp174.2.1 | |
%not.or.cond.2.1 = xor i1 %or.cond.2.1, true | |
%cmp176..2.1 = or i1 %cmp176, %not.or.cond.2.1 | |
%conv178.2.1 = uitofp i1 %cmp176..2.1 to float | |
%mul179.2.1 = fmul float %conv178.2.1, %nbparam_params_rcoulomb_sq | |
%cmp180.2.1 = fcmp olt float %1067, %mul179.2.1 | |
br i1 %cmp180.2.1, label %if.then182.2.1, label %if.end258.2.1 | |
if.then182.2.1: ; preds = %if.then147.2.1 | |
%extractVec166.2.1 = shufflevector <4 x float> %1062, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1068 = extractelement <4 x float> %1061, i32 3 | |
%1069 = load i32, i32 addrspace(1)* %arrayidx183.2.3, align 4, !tbaa !41 | |
%mul184.2.1 = mul nsw i32 %1069, %ntypes | |
%add185.2.1 = add nsw i32 %mul184.2.1, %872 | |
%mul186.2.1 = shl nsw i32 %add185.2.1, 1 | |
%1070 = sext i32 %mul186.2.1 to i64 | |
%arrayidx187.2.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1070 | |
%1071 = load float, float addrspace(2)* %arrayidx187.2.1, align 4, !tbaa !39 | |
%add191.2.1 = or i32 %mul186.2.1, 1 | |
%1072 = sext i32 %add191.2.1 to i64 | |
%arrayidx192.2.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1072 | |
%1073 = load float, float addrspace(2)* %arrayidx192.2.1, align 4, !tbaa !39 | |
%sub193.2.1 = fsub float 1.000000e+00, %cond.2.1 | |
%1074 = tail call float @llvm.fmuladd.f32(float %sub193.2.1, float 0x3D71979980000000, float %1067) | |
%cmp.i.i587.2.1 = fcmp olt float %1074, 0.000000e+00 | |
%call.i.i.2.1 = tail call float @llvm.sqrt.f32(float %1074) #6 | |
%call.i.i.op.2.1 = fdiv float 1.000000e+00, %call.i.i.2.1 | |
%div196.2.1 = select i1 %cmp.i.i587.2.1, float 0x7FF8000000000000, float %call.i.i.op.2.1 | |
%mul197.2.1 = fmul float %div196.2.1, %div196.2.1 | |
%mul198.2.1 = fmul float %mul197.2.1, %mul197.2.1 | |
%mul199.2.1 = fmul float %mul197.2.1, %mul198.2.1 | |
%mul200.2.1 = fmul float %cond.2.1, %mul199.2.1 | |
%neg.2.1 = fsub float -0.000000e+00, %1071 | |
%1075 = tail call float @llvm.fmuladd.f32(float %1073, float %mul200.2.1, float %neg.2.1) | |
%mul202.2.1 = fmul float %mul200.2.1, %1075 | |
%mul203.2.1 = fmul float %mul197.2.1, %mul202.2.1 | |
%1076 = tail call float @llvm.fmuladd.f32(float %mul200.2.1, float %mul200.2.1, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.2.1 = fmul float %1076, %1073 | |
%add211.2.1 = fadd float %mul200.2.1, %nbparam_params_dispersion_shift_cpot | |
%mul212.2.1 = fmul float %add211.2.1, %1071 | |
%mul213.2.1 = fmul float %mul212.2.1, 0x3FC5555560000000 | |
%neg214.2.1 = fsub float -0.000000e+00, %mul213.2.1 | |
%1077 = tail call float @llvm.fmuladd.f32(float %mul207.2.1, float 0x3FB5555540000000, float %neg214.2.1) | |
%mul215.2.1 = fmul float %cond.2.1, %1077 | |
%add216.2.1 = fadd float %E_lj.3.1.1, %mul215.2.1 | |
%mul217.2.1 = fmul float %871, %1068 | |
%mul218.2.1 = fmul float %cond.2.1, %mul197.2.1 | |
%mul220.2.1 = fmul float %mul, %1074 | |
%mul.i585.2.1 = fmul float %mul220.2.1, %mul220.2.1 | |
%1078 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.2.1, float 0x3FBDA79640000000) #5 | |
%1079 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.2.1, float 0x3FE03C5780000000) #5 | |
%1080 = tail call float @llvm.fmuladd.f32(float %1078, float %mul.i585.2.1, float 1.000000e+00) #5 | |
%1081 = tail call float @llvm.fmuladd.f32(float %1079, float %mul220.2.1, float %1080) #5 | |
%div.i586.2.1 = fdiv float 1.000000e+00, %1081, !fpmath !46 | |
%1082 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.2.1, float 0xBF0BFF7260000000) #5 | |
%1083 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.2.1, float 0x3F50794180000000) #5 | |
%1084 = tail call float @llvm.fmuladd.f32(float %1082, float %mul.i585.2.1, float 0xBF93BDB200000000) #5 | |
%1085 = tail call float @llvm.fmuladd.f32(float %1083, float %mul.i585.2.1, float 0x3FB1D5E760000000) #5 | |
%1086 = tail call float @llvm.fmuladd.f32(float %1084, float %mul.i585.2.1, float 0xBFE81272E0000000) #5 | |
%1087 = tail call float @llvm.fmuladd.f32(float %1085, float %mul220.2.1, float %1086) #5 | |
%mul11.i.2.1 = fmul float %1087, %div.i586.2.1 | |
%mul222.2.1 = fmul float %mul19, %mul11.i.2.1 | |
%1088 = tail call float @llvm.fmuladd.f32(float %mul218.2.1, float %div196.2.1, float %mul222.2.1) | |
%1089 = tail call float @llvm.fmuladd.f32(float %mul217.2.1, float %1088, float %mul203.2.1) | |
%mul225.2.1 = fmul float %1074, %div196.2.1 | |
%mul226.2.1 = fmul float %mul225.2.1, %nbparam_params_ewald_beta | |
%fabs.i.2.1 = tail call float @llvm.fabs.f32(float %mul226.2.1) #5 | |
%and.i.2.1 = bitcast float %fabs.i.2.1 to i32 | |
%mul.i.2.1 = fmul float %mul226.2.1, %mul226.2.1 | |
%div.i.2.1 = fdiv float 1.000000e+00, %mul.i.2.1, !fpmath !46 | |
%sub.i.2.1 = fadd float %fabs.i.2.1, -1.000000e+00 | |
%cmp.i583.2.1 = fcmp olt float %fabs.i.2.1, 1.250000e+00 | |
%cond.i.2.1 = select i1 %cmp.i583.2.1, float %sub.i.2.1, float %div.i.2.1 | |
%cmp2.i.2.1 = fcmp olt float %fabs.i.2.1, 8.437500e-01 | |
%cond6.i.2.1 = select i1 %cmp2.i.2.1, float %mul.i.2.1, float %cond.i.2.1 | |
%1090 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1091 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1090, float 0xC083EC8820000000) #5 | |
%1092 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1091, float 0xC064145D40000000) #5 | |
%1093 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1092, float 0xC031C20960000000) #5 | |
%1094 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1093, float 0xBFE993BA80000000) #5 | |
%1095 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1094, float 0xBF84341240000000) #5 | |
%1096 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1097 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1096, float 0x40A3F219C0000000) #5 | |
%1098 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1097, float 0x40A8FFB760000000) #5 | |
%1099 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1098, float 0x409802EB20000000) #5 | |
%1100 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1099, float 0x40745CAE20000000) #5 | |
%1101 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1100, float 0x403E568B20000000) #5 | |
%1102 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1103 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1102, float 0xC067135CE0000000) #5 | |
%1104 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1103, float 0xC0644CB180000000) #5 | |
%1105 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1104, float 0xC04F300AE0000000) #5 | |
%1106 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1105, float 0xC0251E0440000000) #5 | |
%1107 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1106, float 0xBFE63416E0000000) #5 | |
%1108 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1107, float 0xBF84341260000000) #5 | |
%1109 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1110 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1109, float 0x405B28A3E0000000) #5 | |
%1111 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1110, float 0x407AD02160000000) #5 | |
%1112 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1111, float 0x40842B1920000000) #5 | |
%1113 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1112, float 0x407B290DE0000000) #5 | |
%1114 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1113, float 0x4061350C60000000) #5 | |
%1115 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1114, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.2.1 = fcmp olt float %fabs.i.2.1, 0x4006DB6DA0000000 | |
%cond36.i.2.1 = select i1 %cmp32.i.2.1, float %1108, float %1095 | |
%cond41.i.2.1 = select i1 %cmp32.i.2.1, float %1115, float %1101 | |
%1116 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1117 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1116, float 0xBFBC639840000000) #5 | |
%1118 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1117, float 0x3FD45FCA80000000) #5 | |
%1119 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1118, float 0xBFD7D24100000000) #5 | |
%1120 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1119, float 0x3FDA8D00A0000000) #5 | |
%1121 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1120, float 0xBF6359B8C0000000) #5 | |
%1122 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1123 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1122, float 0x3FC02660E0000000) #5 | |
%1124 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1123, float 0x3FB2635CE0000000) #5 | |
%1125 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1124, float 0x3FE14AF0A0000000) #5 | |
%1126 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1125, float 0x3FBB3E6620000000) #5 | |
%cond57.i.2.1 = select i1 %cmp.i583.2.1, float %1121, float %cond36.i.2.1 | |
%cond62.i.2.1 = select i1 %cmp.i583.2.1, float %1126, float %cond41.i.2.1 | |
%1127 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1128 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1127, float 0xBF9D2A51E0000000) #5 | |
%1129 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1128, float 0xBFD4CD7D60000000) #5 | |
%1130 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1129, float 0x3FC06EBA80000000) #5 | |
%1131 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1132 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1131, float 0x3F74D022C0000000) #5 | |
%1133 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1132, float 0x3FB0A54C60000000) #5 | |
%1134 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %1133, float 0x3FD97779C0000000) #5 | |
%cond75.i.2.1 = select i1 %cmp2.i.2.1, float %1130, float %cond57.i.2.1 | |
%cond80.i.2.1 = select i1 %cmp2.i.2.1, float %1134, float %cond62.i.2.1 | |
%1135 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.1, float %cond80.i.2.1, float 1.000000e+00) #5 | |
%div82.i.2.1 = fdiv float %cond75.i.2.1, %1135, !fpmath !46 | |
%and83.i.2.1 = and i32 %and.i.2.1, -4096 | |
%astype84.i.2.1 = bitcast i32 %and83.i.2.1 to float | |
%sub85.i.2.1 = fsub float -0.000000e+00, %astype84.i.2.1 | |
%1136 = tail call float @llvm.fmuladd.f32(float %sub85.i.2.1, float %astype84.i.2.1, float -5.625000e-01) #5 | |
%cmp.i2.i.2.1 = fcmp olt float %1136, 0.000000e+00 | |
%cond.i3.i.2.1 = select i1 %cmp.i2.i.2.1, float -5.000000e-01, float 5.000000e-01 | |
%1137 = tail call float @llvm.fmuladd.f32(float %1136, float 0x3FF7154760000000, float %cond.i3.i.2.1) #5 | |
%conv.i4.i.2.1 = fptosi float %1137 to i32 | |
%conv1.i5.i.2.1 = sitofp i32 %conv.i4.i.2.1 to float | |
%1138 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.2.1, float 0xBFE62E3000000000, float %1136) #5 | |
%mul.i6.i.2.1 = fmul float %conv1.i5.i.2.1, 0xBEE2FEFA20000000 | |
%add.i7.i.2.1 = fadd float %1138, %mul.i6.i.2.1 | |
%mul3.i8.i.2.1 = fmul float %add.i7.i.2.1, %add.i7.i.2.1 | |
%1139 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1140 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.1, float %1139, float 0x3F11566AA0000000) #5 | |
%1141 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.1, float %1140, float 0xBF66C16C20000000) #5 | |
%1142 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.1, float %1141, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.2.1 = fsub float -0.000000e+00, %1142 | |
%1143 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.1, float %sub8.i9.i.2.1, float %add.i7.i.2.1) #5 | |
%sub10.i10.i.2.1 = fsub float -0.000000e+00, %mul.i6.i.2.1 | |
%mul11.i11.i.2.1 = fmul float %add.i7.i.2.1, %1143 | |
%sub12.i12.i.2.1 = fsub float 2.000000e+00, %1143 | |
%div.i13.i.2.1 = fdiv float %mul11.i11.i.2.1, %sub12.i12.i.2.1, !fpmath !46 | |
%sub13.i14.i.2.1 = fsub float %sub10.i10.i.2.1, %div.i13.i.2.1 | |
%sub14.i15.i.2.1 = fsub float %sub13.i14.i.2.1, %1138 | |
%sub15.i16.i.2.1 = fsub float 1.000000e+00, %sub14.i15.i.2.1 | |
%astype.i17.i.2.1 = bitcast float %sub15.i16.i.2.1 to i32 | |
%shl.i18.i.2.1 = shl i32 %conv.i4.i.2.1, 23 | |
%add16.i19.i.2.1 = add nsw i32 %astype.i17.i.2.1, %shl.i18.i.2.1 | |
%astype17.i20.i.2.1 = bitcast i32 %add16.i19.i.2.1 to float | |
%cmp18.i21.i.2.1 = fcmp olt float %1136, 0xC055D589E0000000 | |
%cond20.i22.i.2.1 = select i1 %cmp18.i21.i.2.1, float 0.000000e+00, float %astype17.i20.i.2.1 | |
%cmp21.i23.i.2.1 = fcmp olt float %1136, 0x40562E4300000000 | |
%cond26.i24.i.2.1 = select i1 %cmp21.i23.i.2.1, float %cond20.i22.i.2.1, float 0x7FF0000000000000 | |
%cmp.i.i25.i.2.1 = fcmp uno float %1136, 0.000000e+00 | |
%cond31.i26.i.2.1 = select i1 %cmp.i.i25.i.2.1, float %1136, float %cond26.i24.i.2.1 | |
%sub88.i.2.1 = fsub float %astype84.i.2.1, %fabs.i.2.1 | |
%add.i584.2.1 = fadd float %fabs.i.2.1, %astype84.i.2.1 | |
%1144 = tail call float @llvm.fmuladd.f32(float %sub88.i.2.1, float %add.i584.2.1, float %div82.i.2.1) #5 | |
%cmp.i1.i.2.1 = fcmp olt float %1144, 0.000000e+00 | |
%cond.i.i.2.1 = select i1 %cmp.i1.i.2.1, float -5.000000e-01, float 5.000000e-01 | |
%1145 = tail call float @llvm.fmuladd.f32(float %1144, float 0x3FF7154760000000, float %cond.i.i.2.1) #5 | |
%conv.i.i.2.1 = fptosi float %1145 to i32 | |
%conv1.i.i.2.1 = sitofp i32 %conv.i.i.2.1 to float | |
%1146 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.2.1, float 0xBFE62E3000000000, float %1144) #5 | |
%mul.i.i.2.1 = fmul float %conv1.i.i.2.1, 0xBEE2FEFA20000000 | |
%add.i.i.2.1 = fadd float %1146, %mul.i.i.2.1 | |
%mul3.i.i.2.1 = fmul float %add.i.i.2.1, %add.i.i.2.1 | |
%1147 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1148 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.1, float %1147, float 0x3F11566AA0000000) #5 | |
%1149 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.1, float %1148, float 0xBF66C16C20000000) #5 | |
%1150 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.1, float %1149, float 0x3FC5555560000000) #5 | |
%sub8.i.i.2.1 = fsub float -0.000000e+00, %1150 | |
%1151 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.1, float %sub8.i.i.2.1, float %add.i.i.2.1) #5 | |
%sub10.i.i.2.1 = fsub float -0.000000e+00, %mul.i.i.2.1 | |
%mul11.i.i.2.1 = fmul float %add.i.i.2.1, %1151 | |
%sub12.i.i.2.1 = fsub float 2.000000e+00, %1151 | |
%div.i.i.2.1 = fdiv float %mul11.i.i.2.1, %sub12.i.i.2.1, !fpmath !46 | |
%sub13.i.i.2.1 = fsub float %sub10.i.i.2.1, %div.i.i.2.1 | |
%sub14.i.i.2.1 = fsub float %sub13.i.i.2.1, %1146 | |
%sub15.i.i.2.1 = fsub float 1.000000e+00, %sub14.i.i.2.1 | |
%astype.i.i.2.1 = bitcast float %sub15.i.i.2.1 to i32 | |
%shl.i.i.2.1 = shl i32 %conv.i.i.2.1, 23 | |
%add16.i.i.2.1 = add nsw i32 %astype.i.i.2.1, %shl.i.i.2.1 | |
%astype17.i.i.2.1 = bitcast i32 %add16.i.i.2.1 to float | |
%cmp18.i.i.2.1 = fcmp olt float %1144, 0xC055D589E0000000 | |
%cond20.i.i.2.1 = select i1 %cmp18.i.i.2.1, float 0.000000e+00, float %astype17.i.i.2.1 | |
%cmp21.i.i.2.1 = fcmp olt float %1144, 0x40562E4300000000 | |
%cond26.i.i.2.1 = select i1 %cmp21.i.i.2.1, float %cond20.i.i.2.1, float 0x7FF0000000000000 | |
%cmp.i.i.i.2.1 = fcmp uno float %1144, 0.000000e+00 | |
%cond31.i.i.2.1 = select i1 %cmp.i.i.i.2.1, float %1144, float %cond26.i.i.2.1 | |
%mul91.i.2.1 = fmul float %cond31.i26.i.2.1, %cond31.i.i.2.1 | |
%div92.i.2.1 = fdiv float %mul91.i.2.1, %fabs.i.2.1, !fpmath !46 | |
%sub93.i.2.1 = fsub float 2.000000e+00, %div92.i.2.1 | |
%cmp94.i.2.1 = fcmp olt float %mul226.2.1, 0.000000e+00 | |
%cond98.i.2.1 = select i1 %cmp94.i.2.1, float %sub93.i.2.1, float %div92.i.2.1 | |
%cmp99.i.2.1 = fcmp olt float %fabs.i.2.1, 2.800000e+01 | |
%cond103.i.2.1 = select i1 %cmp99.i.2.1, float %cond98.i.2.1, float 0.000000e+00 | |
%sub104.i.2.1 = fsub float 0x3FC3D4FA80000000, %div82.i.2.1 | |
%add105.i.2.1 = fadd float %div82.i.2.1, 0x3FEB0AC160000000 | |
%add106.i.2.1 = fadd float %add105.i.2.1, 1.000000e+00 | |
%cond111.i.2.1 = select i1 %cmp94.i.2.1, float %add106.i.2.1, float %sub104.i.2.1 | |
%cond116.i.2.1 = select i1 %cmp.i583.2.1, float %cond111.i.2.1, float %cond103.i.2.1 | |
%sub117.i.2.1 = fadd float %mul226.2.1, -5.000000e-01 | |
%1152 = tail call float @llvm.fmuladd.f32(float %mul226.2.1, float %div82.i.2.1, float %sub117.i.2.1) #5 | |
%sub119.i.2.1 = fsub float 5.000000e-01, %1152 | |
%cond124.i.2.1 = select i1 %cmp2.i.2.1, float %sub119.i.2.1, float %cond116.i.2.1 | |
%cmp125.i.2.1 = fcmp olt float %mul226.2.1, -6.000000e+00 | |
%cond129.i.2.1 = select i1 %cmp125.i.2.1, float 2.000000e+00, float %cond124.i.2.1 | |
%cmp.i.i.2.1 = fcmp uno float %mul226.2.1, 0.000000e+00 | |
%cond134.i.2.1 = select i1 %cmp.i.i.2.1, float %mul226.2.1, float %cond129.i.2.1 | |
%mul229.2.1 = fmul float %cond.2.1, %nbparam_params_sh_ewald | |
%neg230.2.1 = fsub float -0.000000e+00, %mul229.2.1 | |
%1153 = tail call float @llvm.fmuladd.f32(float %div196.2.1, float %cond134.i.2.1, float %neg230.2.1) | |
%1154 = tail call float @llvm.fmuladd.f32(float %mul217.2.1, float %1153, float %E_el.5.1.1) | |
%splat.splatinsert.2.1 = insertelement <3 x float> undef, float %1089, i32 0 | |
%splat.splat.2.1 = shufflevector <3 x float> %splat.splatinsert.2.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.2.1 = fmul <3 x float> %extractVec166.2.1, %splat.splat.2.1 | |
%extractVec243.2.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.2.1 = fsub <3 x float> %extractVec243.2.1, %mul235.2.1 | |
%extractVec245.2.1 = shufflevector <3 x float> %sub244.2.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.2.1 = shufflevector <4 x float> %fci_buf.sroa.22.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.2.1 = fadd <3 x float> %extractVec253.2.1, %mul235.2.1 | |
%extractVec255.2.1 = shufflevector <3 x float> %add254.2.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.2.1 | |
if.end258.2.1: ; preds = %if.then182.2.1, %if.then147.2.1, %if.end258.1.1 | |
%fci_buf.sroa.22.4 = phi <4 x float> [ %fci_buf.sroa.22.1, %if.end258.1.1 ], [ %extractVec255.2.1, %if.then182.2.1 ], [ %fci_buf.sroa.22.1, %if.then147.2.1 ] | |
%E_el.5.2.1 = phi float [ %E_el.5.1.1, %if.end258.1.1 ], [ %1154, %if.then182.2.1 ], [ %E_el.5.1.1, %if.then147.2.1 ] | |
%E_lj.3.2.1 = phi float [ %E_lj.3.1.1, %if.end258.1.1 ], [ %add216.2.1, %if.then182.2.1 ], [ %E_lj.3.1.1, %if.then147.2.1 ] | |
%fcj_buf.sroa.0.1.2.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.1.1, %if.end258.1.1 ], [ %extractVec245.2.1, %if.then182.2.1 ], [ %fcj_buf.sroa.0.1.1.1, %if.then147.2.1 ] | |
%and145.3.1 = and i32 %64, 2048 | |
%tobool146.3.1 = icmp eq i32 %and145.3.1, 0 | |
br i1 %tobool146.3.1, label %if.end258.3.1, label %if.then147.3.1 | |
if.then147.3.1: ; preds = %if.end258.2.1 | |
%1155 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.3.3, align 16, !tbaa !36 | |
%1156 = fsub <4 x float> %1155, %870 | |
%1157 = extractelement <4 x float> %1156, i32 0 | |
%1158 = extractelement <4 x float> %1156, i32 1 | |
%mul3.i.i589.3.1 = fmul float %1158, %1158 | |
%1159 = tail call float @llvm.fmuladd.f32(float %1157, float %1157, float %mul3.i.i589.3.1) #5 | |
%1160 = extractelement <4 x float> %1156, i32 2 | |
%1161 = tail call float @llvm.fmuladd.f32(float %1160, float %1160, float %1159) #5 | |
%and168.3.1 = and i32 %66, 2048 | |
%tobool169.3.1 = icmp ne i32 %and168.3.1, 0 | |
%cond.3.1 = select i1 %tobool169.3.1, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.3.1 = icmp eq i32 %56, %868 | |
%or.cond.3.1 = and i1 %cmp63, %cmp174.3.1 | |
%not.or.cond.3.1 = xor i1 %or.cond.3.1, true | |
%cmp176..3.1 = or i1 %cmp176, %not.or.cond.3.1 | |
%conv178.3.1 = uitofp i1 %cmp176..3.1 to float | |
%mul179.3.1 = fmul float %conv178.3.1, %nbparam_params_rcoulomb_sq | |
%cmp180.3.1 = fcmp olt float %1161, %mul179.3.1 | |
br i1 %cmp180.3.1, label %if.then182.3.1, label %if.end258.3.1 | |
if.then182.3.1: ; preds = %if.then147.3.1 | |
%extractVec166.3.1 = shufflevector <4 x float> %1156, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1162 = extractelement <4 x float> %1155, i32 3 | |
%1163 = load i32, i32 addrspace(1)* %arrayidx183.3.3, align 4, !tbaa !41 | |
%mul184.3.1 = mul nsw i32 %1163, %ntypes | |
%add185.3.1 = add nsw i32 %mul184.3.1, %872 | |
%mul186.3.1 = shl nsw i32 %add185.3.1, 1 | |
%1164 = sext i32 %mul186.3.1 to i64 | |
%arrayidx187.3.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1164 | |
%1165 = load float, float addrspace(2)* %arrayidx187.3.1, align 4, !tbaa !39 | |
%add191.3.1 = or i32 %mul186.3.1, 1 | |
%1166 = sext i32 %add191.3.1 to i64 | |
%arrayidx192.3.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1166 | |
%1167 = load float, float addrspace(2)* %arrayidx192.3.1, align 4, !tbaa !39 | |
%sub193.3.1 = fsub float 1.000000e+00, %cond.3.1 | |
%1168 = tail call float @llvm.fmuladd.f32(float %sub193.3.1, float 0x3D71979980000000, float %1161) | |
%cmp.i.i587.3.1 = fcmp olt float %1168, 0.000000e+00 | |
%call.i.i.3.1 = tail call float @llvm.sqrt.f32(float %1168) #6 | |
%call.i.i.op.3.1 = fdiv float 1.000000e+00, %call.i.i.3.1 | |
%div196.3.1 = select i1 %cmp.i.i587.3.1, float 0x7FF8000000000000, float %call.i.i.op.3.1 | |
%mul197.3.1 = fmul float %div196.3.1, %div196.3.1 | |
%mul198.3.1 = fmul float %mul197.3.1, %mul197.3.1 | |
%mul199.3.1 = fmul float %mul197.3.1, %mul198.3.1 | |
%mul200.3.1 = fmul float %cond.3.1, %mul199.3.1 | |
%neg.3.1 = fsub float -0.000000e+00, %1165 | |
%1169 = tail call float @llvm.fmuladd.f32(float %1167, float %mul200.3.1, float %neg.3.1) | |
%mul202.3.1 = fmul float %mul200.3.1, %1169 | |
%mul203.3.1 = fmul float %mul197.3.1, %mul202.3.1 | |
%1170 = tail call float @llvm.fmuladd.f32(float %mul200.3.1, float %mul200.3.1, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.3.1 = fmul float %1170, %1167 | |
%add211.3.1 = fadd float %mul200.3.1, %nbparam_params_dispersion_shift_cpot | |
%mul212.3.1 = fmul float %add211.3.1, %1165 | |
%mul213.3.1 = fmul float %mul212.3.1, 0x3FC5555560000000 | |
%neg214.3.1 = fsub float -0.000000e+00, %mul213.3.1 | |
%1171 = tail call float @llvm.fmuladd.f32(float %mul207.3.1, float 0x3FB5555540000000, float %neg214.3.1) | |
%mul215.3.1 = fmul float %cond.3.1, %1171 | |
%add216.3.1 = fadd float %E_lj.3.2.1, %mul215.3.1 | |
%mul217.3.1 = fmul float %871, %1162 | |
%mul218.3.1 = fmul float %cond.3.1, %mul197.3.1 | |
%mul220.3.1 = fmul float %mul, %1168 | |
%mul.i585.3.1 = fmul float %mul220.3.1, %mul220.3.1 | |
%1172 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.3.1, float 0x3FBDA79640000000) #5 | |
%1173 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.3.1, float 0x3FE03C5780000000) #5 | |
%1174 = tail call float @llvm.fmuladd.f32(float %1172, float %mul.i585.3.1, float 1.000000e+00) #5 | |
%1175 = tail call float @llvm.fmuladd.f32(float %1173, float %mul220.3.1, float %1174) #5 | |
%div.i586.3.1 = fdiv float 1.000000e+00, %1175, !fpmath !46 | |
%1176 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.3.1, float 0xBF0BFF7260000000) #5 | |
%1177 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.3.1, float 0x3F50794180000000) #5 | |
%1178 = tail call float @llvm.fmuladd.f32(float %1176, float %mul.i585.3.1, float 0xBF93BDB200000000) #5 | |
%1179 = tail call float @llvm.fmuladd.f32(float %1177, float %mul.i585.3.1, float 0x3FB1D5E760000000) #5 | |
%1180 = tail call float @llvm.fmuladd.f32(float %1178, float %mul.i585.3.1, float 0xBFE81272E0000000) #5 | |
%1181 = tail call float @llvm.fmuladd.f32(float %1179, float %mul220.3.1, float %1180) #5 | |
%mul11.i.3.1 = fmul float %1181, %div.i586.3.1 | |
%mul222.3.1 = fmul float %mul19, %mul11.i.3.1 | |
%1182 = tail call float @llvm.fmuladd.f32(float %mul218.3.1, float %div196.3.1, float %mul222.3.1) | |
%1183 = tail call float @llvm.fmuladd.f32(float %mul217.3.1, float %1182, float %mul203.3.1) | |
%mul225.3.1 = fmul float %1168, %div196.3.1 | |
%mul226.3.1 = fmul float %mul225.3.1, %nbparam_params_ewald_beta | |
%fabs.i.3.1 = tail call float @llvm.fabs.f32(float %mul226.3.1) #5 | |
%and.i.3.1 = bitcast float %fabs.i.3.1 to i32 | |
%mul.i.3.1 = fmul float %mul226.3.1, %mul226.3.1 | |
%div.i.3.1 = fdiv float 1.000000e+00, %mul.i.3.1, !fpmath !46 | |
%sub.i.3.1 = fadd float %fabs.i.3.1, -1.000000e+00 | |
%cmp.i583.3.1 = fcmp olt float %fabs.i.3.1, 1.250000e+00 | |
%cond.i.3.1 = select i1 %cmp.i583.3.1, float %sub.i.3.1, float %div.i.3.1 | |
%cmp2.i.3.1 = fcmp olt float %fabs.i.3.1, 8.437500e-01 | |
%cond6.i.3.1 = select i1 %cmp2.i.3.1, float %mul.i.3.1, float %cond.i.3.1 | |
%1184 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1185 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1184, float 0xC083EC8820000000) #5 | |
%1186 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1185, float 0xC064145D40000000) #5 | |
%1187 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1186, float 0xC031C20960000000) #5 | |
%1188 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1187, float 0xBFE993BA80000000) #5 | |
%1189 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1188, float 0xBF84341240000000) #5 | |
%1190 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1191 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1190, float 0x40A3F219C0000000) #5 | |
%1192 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1191, float 0x40A8FFB760000000) #5 | |
%1193 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1192, float 0x409802EB20000000) #5 | |
%1194 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1193, float 0x40745CAE20000000) #5 | |
%1195 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1194, float 0x403E568B20000000) #5 | |
%1196 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1197 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1196, float 0xC067135CE0000000) #5 | |
%1198 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1197, float 0xC0644CB180000000) #5 | |
%1199 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1198, float 0xC04F300AE0000000) #5 | |
%1200 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1199, float 0xC0251E0440000000) #5 | |
%1201 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1200, float 0xBFE63416E0000000) #5 | |
%1202 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1201, float 0xBF84341260000000) #5 | |
%1203 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1204 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1203, float 0x405B28A3E0000000) #5 | |
%1205 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1204, float 0x407AD02160000000) #5 | |
%1206 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1205, float 0x40842B1920000000) #5 | |
%1207 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1206, float 0x407B290DE0000000) #5 | |
%1208 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1207, float 0x4061350C60000000) #5 | |
%1209 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1208, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.3.1 = fcmp olt float %fabs.i.3.1, 0x4006DB6DA0000000 | |
%cond36.i.3.1 = select i1 %cmp32.i.3.1, float %1202, float %1189 | |
%cond41.i.3.1 = select i1 %cmp32.i.3.1, float %1209, float %1195 | |
%1210 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1211 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1210, float 0xBFBC639840000000) #5 | |
%1212 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1211, float 0x3FD45FCA80000000) #5 | |
%1213 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1212, float 0xBFD7D24100000000) #5 | |
%1214 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1213, float 0x3FDA8D00A0000000) #5 | |
%1215 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1214, float 0xBF6359B8C0000000) #5 | |
%1216 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1217 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1216, float 0x3FC02660E0000000) #5 | |
%1218 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1217, float 0x3FB2635CE0000000) #5 | |
%1219 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1218, float 0x3FE14AF0A0000000) #5 | |
%1220 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1219, float 0x3FBB3E6620000000) #5 | |
%cond57.i.3.1 = select i1 %cmp.i583.3.1, float %1215, float %cond36.i.3.1 | |
%cond62.i.3.1 = select i1 %cmp.i583.3.1, float %1220, float %cond41.i.3.1 | |
%1221 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1222 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1221, float 0xBF9D2A51E0000000) #5 | |
%1223 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1222, float 0xBFD4CD7D60000000) #5 | |
%1224 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1223, float 0x3FC06EBA80000000) #5 | |
%1225 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1226 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1225, float 0x3F74D022C0000000) #5 | |
%1227 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1226, float 0x3FB0A54C60000000) #5 | |
%1228 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %1227, float 0x3FD97779C0000000) #5 | |
%cond75.i.3.1 = select i1 %cmp2.i.3.1, float %1224, float %cond57.i.3.1 | |
%cond80.i.3.1 = select i1 %cmp2.i.3.1, float %1228, float %cond62.i.3.1 | |
%1229 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.1, float %cond80.i.3.1, float 1.000000e+00) #5 | |
%div82.i.3.1 = fdiv float %cond75.i.3.1, %1229, !fpmath !46 | |
%and83.i.3.1 = and i32 %and.i.3.1, -4096 | |
%astype84.i.3.1 = bitcast i32 %and83.i.3.1 to float | |
%sub85.i.3.1 = fsub float -0.000000e+00, %astype84.i.3.1 | |
%1230 = tail call float @llvm.fmuladd.f32(float %sub85.i.3.1, float %astype84.i.3.1, float -5.625000e-01) #5 | |
%cmp.i2.i.3.1 = fcmp olt float %1230, 0.000000e+00 | |
%cond.i3.i.3.1 = select i1 %cmp.i2.i.3.1, float -5.000000e-01, float 5.000000e-01 | |
%1231 = tail call float @llvm.fmuladd.f32(float %1230, float 0x3FF7154760000000, float %cond.i3.i.3.1) #5 | |
%conv.i4.i.3.1 = fptosi float %1231 to i32 | |
%conv1.i5.i.3.1 = sitofp i32 %conv.i4.i.3.1 to float | |
%1232 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.3.1, float 0xBFE62E3000000000, float %1230) #5 | |
%mul.i6.i.3.1 = fmul float %conv1.i5.i.3.1, 0xBEE2FEFA20000000 | |
%add.i7.i.3.1 = fadd float %1232, %mul.i6.i.3.1 | |
%mul3.i8.i.3.1 = fmul float %add.i7.i.3.1, %add.i7.i.3.1 | |
%1233 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1234 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.1, float %1233, float 0x3F11566AA0000000) #5 | |
%1235 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.1, float %1234, float 0xBF66C16C20000000) #5 | |
%1236 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.1, float %1235, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.3.1 = fsub float -0.000000e+00, %1236 | |
%1237 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.1, float %sub8.i9.i.3.1, float %add.i7.i.3.1) #5 | |
%sub10.i10.i.3.1 = fsub float -0.000000e+00, %mul.i6.i.3.1 | |
%mul11.i11.i.3.1 = fmul float %add.i7.i.3.1, %1237 | |
%sub12.i12.i.3.1 = fsub float 2.000000e+00, %1237 | |
%div.i13.i.3.1 = fdiv float %mul11.i11.i.3.1, %sub12.i12.i.3.1, !fpmath !46 | |
%sub13.i14.i.3.1 = fsub float %sub10.i10.i.3.1, %div.i13.i.3.1 | |
%sub14.i15.i.3.1 = fsub float %sub13.i14.i.3.1, %1232 | |
%sub15.i16.i.3.1 = fsub float 1.000000e+00, %sub14.i15.i.3.1 | |
%astype.i17.i.3.1 = bitcast float %sub15.i16.i.3.1 to i32 | |
%shl.i18.i.3.1 = shl i32 %conv.i4.i.3.1, 23 | |
%add16.i19.i.3.1 = add nsw i32 %astype.i17.i.3.1, %shl.i18.i.3.1 | |
%astype17.i20.i.3.1 = bitcast i32 %add16.i19.i.3.1 to float | |
%cmp18.i21.i.3.1 = fcmp olt float %1230, 0xC055D589E0000000 | |
%cond20.i22.i.3.1 = select i1 %cmp18.i21.i.3.1, float 0.000000e+00, float %astype17.i20.i.3.1 | |
%cmp21.i23.i.3.1 = fcmp olt float %1230, 0x40562E4300000000 | |
%cond26.i24.i.3.1 = select i1 %cmp21.i23.i.3.1, float %cond20.i22.i.3.1, float 0x7FF0000000000000 | |
%cmp.i.i25.i.3.1 = fcmp uno float %1230, 0.000000e+00 | |
%cond31.i26.i.3.1 = select i1 %cmp.i.i25.i.3.1, float %1230, float %cond26.i24.i.3.1 | |
%sub88.i.3.1 = fsub float %astype84.i.3.1, %fabs.i.3.1 | |
%add.i584.3.1 = fadd float %fabs.i.3.1, %astype84.i.3.1 | |
%1238 = tail call float @llvm.fmuladd.f32(float %sub88.i.3.1, float %add.i584.3.1, float %div82.i.3.1) #5 | |
%cmp.i1.i.3.1 = fcmp olt float %1238, 0.000000e+00 | |
%cond.i.i.3.1 = select i1 %cmp.i1.i.3.1, float -5.000000e-01, float 5.000000e-01 | |
%1239 = tail call float @llvm.fmuladd.f32(float %1238, float 0x3FF7154760000000, float %cond.i.i.3.1) #5 | |
%conv.i.i.3.1 = fptosi float %1239 to i32 | |
%conv1.i.i.3.1 = sitofp i32 %conv.i.i.3.1 to float | |
%1240 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.3.1, float 0xBFE62E3000000000, float %1238) #5 | |
%mul.i.i.3.1 = fmul float %conv1.i.i.3.1, 0xBEE2FEFA20000000 | |
%add.i.i.3.1 = fadd float %1240, %mul.i.i.3.1 | |
%mul3.i.i.3.1 = fmul float %add.i.i.3.1, %add.i.i.3.1 | |
%1241 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1242 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.1, float %1241, float 0x3F11566AA0000000) #5 | |
%1243 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.1, float %1242, float 0xBF66C16C20000000) #5 | |
%1244 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.1, float %1243, float 0x3FC5555560000000) #5 | |
%sub8.i.i.3.1 = fsub float -0.000000e+00, %1244 | |
%1245 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.1, float %sub8.i.i.3.1, float %add.i.i.3.1) #5 | |
%sub10.i.i.3.1 = fsub float -0.000000e+00, %mul.i.i.3.1 | |
%mul11.i.i.3.1 = fmul float %add.i.i.3.1, %1245 | |
%sub12.i.i.3.1 = fsub float 2.000000e+00, %1245 | |
%div.i.i.3.1 = fdiv float %mul11.i.i.3.1, %sub12.i.i.3.1, !fpmath !46 | |
%sub13.i.i.3.1 = fsub float %sub10.i.i.3.1, %div.i.i.3.1 | |
%sub14.i.i.3.1 = fsub float %sub13.i.i.3.1, %1240 | |
%sub15.i.i.3.1 = fsub float 1.000000e+00, %sub14.i.i.3.1 | |
%astype.i.i.3.1 = bitcast float %sub15.i.i.3.1 to i32 | |
%shl.i.i.3.1 = shl i32 %conv.i.i.3.1, 23 | |
%add16.i.i.3.1 = add nsw i32 %astype.i.i.3.1, %shl.i.i.3.1 | |
%astype17.i.i.3.1 = bitcast i32 %add16.i.i.3.1 to float | |
%cmp18.i.i.3.1 = fcmp olt float %1238, 0xC055D589E0000000 | |
%cond20.i.i.3.1 = select i1 %cmp18.i.i.3.1, float 0.000000e+00, float %astype17.i.i.3.1 | |
%cmp21.i.i.3.1 = fcmp olt float %1238, 0x40562E4300000000 | |
%cond26.i.i.3.1 = select i1 %cmp21.i.i.3.1, float %cond20.i.i.3.1, float 0x7FF0000000000000 | |
%cmp.i.i.i.3.1 = fcmp uno float %1238, 0.000000e+00 | |
%cond31.i.i.3.1 = select i1 %cmp.i.i.i.3.1, float %1238, float %cond26.i.i.3.1 | |
%mul91.i.3.1 = fmul float %cond31.i26.i.3.1, %cond31.i.i.3.1 | |
%div92.i.3.1 = fdiv float %mul91.i.3.1, %fabs.i.3.1, !fpmath !46 | |
%sub93.i.3.1 = fsub float 2.000000e+00, %div92.i.3.1 | |
%cmp94.i.3.1 = fcmp olt float %mul226.3.1, 0.000000e+00 | |
%cond98.i.3.1 = select i1 %cmp94.i.3.1, float %sub93.i.3.1, float %div92.i.3.1 | |
%cmp99.i.3.1 = fcmp olt float %fabs.i.3.1, 2.800000e+01 | |
%cond103.i.3.1 = select i1 %cmp99.i.3.1, float %cond98.i.3.1, float 0.000000e+00 | |
%sub104.i.3.1 = fsub float 0x3FC3D4FA80000000, %div82.i.3.1 | |
%add105.i.3.1 = fadd float %div82.i.3.1, 0x3FEB0AC160000000 | |
%add106.i.3.1 = fadd float %add105.i.3.1, 1.000000e+00 | |
%cond111.i.3.1 = select i1 %cmp94.i.3.1, float %add106.i.3.1, float %sub104.i.3.1 | |
%cond116.i.3.1 = select i1 %cmp.i583.3.1, float %cond111.i.3.1, float %cond103.i.3.1 | |
%sub117.i.3.1 = fadd float %mul226.3.1, -5.000000e-01 | |
%1246 = tail call float @llvm.fmuladd.f32(float %mul226.3.1, float %div82.i.3.1, float %sub117.i.3.1) #5 | |
%sub119.i.3.1 = fsub float 5.000000e-01, %1246 | |
%cond124.i.3.1 = select i1 %cmp2.i.3.1, float %sub119.i.3.1, float %cond116.i.3.1 | |
%cmp125.i.3.1 = fcmp olt float %mul226.3.1, -6.000000e+00 | |
%cond129.i.3.1 = select i1 %cmp125.i.3.1, float 2.000000e+00, float %cond124.i.3.1 | |
%cmp.i.i.3.1 = fcmp uno float %mul226.3.1, 0.000000e+00 | |
%cond134.i.3.1 = select i1 %cmp.i.i.3.1, float %mul226.3.1, float %cond129.i.3.1 | |
%mul229.3.1 = fmul float %cond.3.1, %nbparam_params_sh_ewald | |
%neg230.3.1 = fsub float -0.000000e+00, %mul229.3.1 | |
%1247 = tail call float @llvm.fmuladd.f32(float %div196.3.1, float %cond134.i.3.1, float %neg230.3.1) | |
%1248 = tail call float @llvm.fmuladd.f32(float %mul217.3.1, float %1247, float %E_el.5.2.1) | |
%splat.splatinsert.3.1 = insertelement <3 x float> undef, float %1183, i32 0 | |
%splat.splat.3.1 = shufflevector <3 x float> %splat.splatinsert.3.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.3.1 = fmul <3 x float> %extractVec166.3.1, %splat.splat.3.1 | |
%extractVec243.3.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.3.1 = fsub <3 x float> %extractVec243.3.1, %mul235.3.1 | |
%extractVec245.3.1 = shufflevector <3 x float> %sub244.3.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.3.1 = shufflevector <4 x float> %fci_buf.sroa.32.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.3.1 = fadd <3 x float> %extractVec253.3.1, %mul235.3.1 | |
%extractVec255.3.1 = shufflevector <3 x float> %add254.3.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.3.1 | |
if.end258.3.1: ; preds = %if.then182.3.1, %if.then147.3.1, %if.end258.2.1 | |
%fci_buf.sroa.32.4 = phi <4 x float> [ %fci_buf.sroa.32.1, %if.end258.2.1 ], [ %extractVec255.3.1, %if.then182.3.1 ], [ %fci_buf.sroa.32.1, %if.then147.3.1 ] | |
%E_el.5.3.1 = phi float [ %E_el.5.2.1, %if.end258.2.1 ], [ %1248, %if.then182.3.1 ], [ %E_el.5.2.1, %if.then147.3.1 ] | |
%E_lj.3.3.1 = phi float [ %E_lj.3.2.1, %if.end258.2.1 ], [ %add216.3.1, %if.then182.3.1 ], [ %E_lj.3.2.1, %if.then147.3.1 ] | |
%fcj_buf.sroa.0.1.3.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.2.1, %if.end258.2.1 ], [ %extractVec245.3.1, %if.then182.3.1 ], [ %fcj_buf.sroa.0.1.2.1, %if.then147.3.1 ] | |
%and145.4.1 = and i32 %64, 4096 | |
%tobool146.4.1 = icmp eq i32 %and145.4.1, 0 | |
br i1 %tobool146.4.1, label %if.end258.4.1, label %if.then147.4.1 | |
if.then147.4.1: ; preds = %if.end258.3.1 | |
%1249 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.4.3, align 16, !tbaa !36 | |
%1250 = fsub <4 x float> %1249, %870 | |
%1251 = extractelement <4 x float> %1250, i32 0 | |
%1252 = extractelement <4 x float> %1250, i32 1 | |
%mul3.i.i589.4.1 = fmul float %1252, %1252 | |
%1253 = tail call float @llvm.fmuladd.f32(float %1251, float %1251, float %mul3.i.i589.4.1) #5 | |
%1254 = extractelement <4 x float> %1250, i32 2 | |
%1255 = tail call float @llvm.fmuladd.f32(float %1254, float %1254, float %1253) #5 | |
%and168.4.1 = and i32 %66, 4096 | |
%tobool169.4.1 = icmp ne i32 %and168.4.1, 0 | |
%cond.4.1 = select i1 %tobool169.4.1, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.4.1 = icmp eq i32 %54, %868 | |
%or.cond.4.1 = and i1 %cmp63, %cmp174.4.1 | |
%not.or.cond.4.1 = xor i1 %or.cond.4.1, true | |
%cmp176..4.1 = or i1 %cmp176, %not.or.cond.4.1 | |
%conv178.4.1 = uitofp i1 %cmp176..4.1 to float | |
%mul179.4.1 = fmul float %conv178.4.1, %nbparam_params_rcoulomb_sq | |
%cmp180.4.1 = fcmp olt float %1255, %mul179.4.1 | |
br i1 %cmp180.4.1, label %if.then182.4.1, label %if.end258.4.1 | |
if.then182.4.1: ; preds = %if.then147.4.1 | |
%extractVec166.4.1 = shufflevector <4 x float> %1250, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1256 = extractelement <4 x float> %1249, i32 3 | |
%1257 = load i32, i32 addrspace(1)* %arrayidx183.4.3, align 4, !tbaa !41 | |
%mul184.4.1 = mul nsw i32 %1257, %ntypes | |
%add185.4.1 = add nsw i32 %mul184.4.1, %872 | |
%mul186.4.1 = shl nsw i32 %add185.4.1, 1 | |
%1258 = sext i32 %mul186.4.1 to i64 | |
%arrayidx187.4.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1258 | |
%1259 = load float, float addrspace(2)* %arrayidx187.4.1, align 4, !tbaa !39 | |
%add191.4.1 = or i32 %mul186.4.1, 1 | |
%1260 = sext i32 %add191.4.1 to i64 | |
%arrayidx192.4.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1260 | |
%1261 = load float, float addrspace(2)* %arrayidx192.4.1, align 4, !tbaa !39 | |
%sub193.4.1 = fsub float 1.000000e+00, %cond.4.1 | |
%1262 = tail call float @llvm.fmuladd.f32(float %sub193.4.1, float 0x3D71979980000000, float %1255) | |
%cmp.i.i587.4.1 = fcmp olt float %1262, 0.000000e+00 | |
%call.i.i.4.1 = tail call float @llvm.sqrt.f32(float %1262) #6 | |
%call.i.i.op.4.1 = fdiv float 1.000000e+00, %call.i.i.4.1 | |
%div196.4.1 = select i1 %cmp.i.i587.4.1, float 0x7FF8000000000000, float %call.i.i.op.4.1 | |
%mul197.4.1 = fmul float %div196.4.1, %div196.4.1 | |
%mul198.4.1 = fmul float %mul197.4.1, %mul197.4.1 | |
%mul199.4.1 = fmul float %mul197.4.1, %mul198.4.1 | |
%mul200.4.1 = fmul float %cond.4.1, %mul199.4.1 | |
%neg.4.1 = fsub float -0.000000e+00, %1259 | |
%1263 = tail call float @llvm.fmuladd.f32(float %1261, float %mul200.4.1, float %neg.4.1) | |
%mul202.4.1 = fmul float %mul200.4.1, %1263 | |
%mul203.4.1 = fmul float %mul197.4.1, %mul202.4.1 | |
%1264 = tail call float @llvm.fmuladd.f32(float %mul200.4.1, float %mul200.4.1, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.4.1 = fmul float %1264, %1261 | |
%add211.4.1 = fadd float %mul200.4.1, %nbparam_params_dispersion_shift_cpot | |
%mul212.4.1 = fmul float %add211.4.1, %1259 | |
%mul213.4.1 = fmul float %mul212.4.1, 0x3FC5555560000000 | |
%neg214.4.1 = fsub float -0.000000e+00, %mul213.4.1 | |
%1265 = tail call float @llvm.fmuladd.f32(float %mul207.4.1, float 0x3FB5555540000000, float %neg214.4.1) | |
%mul215.4.1 = fmul float %cond.4.1, %1265 | |
%add216.4.1 = fadd float %E_lj.3.3.1, %mul215.4.1 | |
%mul217.4.1 = fmul float %871, %1256 | |
%mul218.4.1 = fmul float %cond.4.1, %mul197.4.1 | |
%mul220.4.1 = fmul float %mul, %1262 | |
%mul.i585.4.1 = fmul float %mul220.4.1, %mul220.4.1 | |
%1266 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.4.1, float 0x3FBDA79640000000) #5 | |
%1267 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.4.1, float 0x3FE03C5780000000) #5 | |
%1268 = tail call float @llvm.fmuladd.f32(float %1266, float %mul.i585.4.1, float 1.000000e+00) #5 | |
%1269 = tail call float @llvm.fmuladd.f32(float %1267, float %mul220.4.1, float %1268) #5 | |
%div.i586.4.1 = fdiv float 1.000000e+00, %1269, !fpmath !46 | |
%1270 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.4.1, float 0xBF0BFF7260000000) #5 | |
%1271 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.4.1, float 0x3F50794180000000) #5 | |
%1272 = tail call float @llvm.fmuladd.f32(float %1270, float %mul.i585.4.1, float 0xBF93BDB200000000) #5 | |
%1273 = tail call float @llvm.fmuladd.f32(float %1271, float %mul.i585.4.1, float 0x3FB1D5E760000000) #5 | |
%1274 = tail call float @llvm.fmuladd.f32(float %1272, float %mul.i585.4.1, float 0xBFE81272E0000000) #5 | |
%1275 = tail call float @llvm.fmuladd.f32(float %1273, float %mul220.4.1, float %1274) #5 | |
%mul11.i.4.1 = fmul float %1275, %div.i586.4.1 | |
%mul222.4.1 = fmul float %mul19, %mul11.i.4.1 | |
%1276 = tail call float @llvm.fmuladd.f32(float %mul218.4.1, float %div196.4.1, float %mul222.4.1) | |
%1277 = tail call float @llvm.fmuladd.f32(float %mul217.4.1, float %1276, float %mul203.4.1) | |
%mul225.4.1 = fmul float %1262, %div196.4.1 | |
%mul226.4.1 = fmul float %mul225.4.1, %nbparam_params_ewald_beta | |
%fabs.i.4.1 = tail call float @llvm.fabs.f32(float %mul226.4.1) #5 | |
%and.i.4.1 = bitcast float %fabs.i.4.1 to i32 | |
%mul.i.4.1 = fmul float %mul226.4.1, %mul226.4.1 | |
%div.i.4.1 = fdiv float 1.000000e+00, %mul.i.4.1, !fpmath !46 | |
%sub.i.4.1 = fadd float %fabs.i.4.1, -1.000000e+00 | |
%cmp.i583.4.1 = fcmp olt float %fabs.i.4.1, 1.250000e+00 | |
%cond.i.4.1 = select i1 %cmp.i583.4.1, float %sub.i.4.1, float %div.i.4.1 | |
%cmp2.i.4.1 = fcmp olt float %fabs.i.4.1, 8.437500e-01 | |
%cond6.i.4.1 = select i1 %cmp2.i.4.1, float %mul.i.4.1, float %cond.i.4.1 | |
%1278 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1279 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1278, float 0xC083EC8820000000) #5 | |
%1280 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1279, float 0xC064145D40000000) #5 | |
%1281 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1280, float 0xC031C20960000000) #5 | |
%1282 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1281, float 0xBFE993BA80000000) #5 | |
%1283 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1282, float 0xBF84341240000000) #5 | |
%1284 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1285 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1284, float 0x40A3F219C0000000) #5 | |
%1286 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1285, float 0x40A8FFB760000000) #5 | |
%1287 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1286, float 0x409802EB20000000) #5 | |
%1288 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1287, float 0x40745CAE20000000) #5 | |
%1289 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1288, float 0x403E568B20000000) #5 | |
%1290 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1291 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1290, float 0xC067135CE0000000) #5 | |
%1292 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1291, float 0xC0644CB180000000) #5 | |
%1293 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1292, float 0xC04F300AE0000000) #5 | |
%1294 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1293, float 0xC0251E0440000000) #5 | |
%1295 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1294, float 0xBFE63416E0000000) #5 | |
%1296 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1295, float 0xBF84341260000000) #5 | |
%1297 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1298 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1297, float 0x405B28A3E0000000) #5 | |
%1299 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1298, float 0x407AD02160000000) #5 | |
%1300 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1299, float 0x40842B1920000000) #5 | |
%1301 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1300, float 0x407B290DE0000000) #5 | |
%1302 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1301, float 0x4061350C60000000) #5 | |
%1303 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1302, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.4.1 = fcmp olt float %fabs.i.4.1, 0x4006DB6DA0000000 | |
%cond36.i.4.1 = select i1 %cmp32.i.4.1, float %1296, float %1283 | |
%cond41.i.4.1 = select i1 %cmp32.i.4.1, float %1303, float %1289 | |
%1304 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1305 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1304, float 0xBFBC639840000000) #5 | |
%1306 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1305, float 0x3FD45FCA80000000) #5 | |
%1307 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1306, float 0xBFD7D24100000000) #5 | |
%1308 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1307, float 0x3FDA8D00A0000000) #5 | |
%1309 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1308, float 0xBF6359B8C0000000) #5 | |
%1310 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1311 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1310, float 0x3FC02660E0000000) #5 | |
%1312 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1311, float 0x3FB2635CE0000000) #5 | |
%1313 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1312, float 0x3FE14AF0A0000000) #5 | |
%1314 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1313, float 0x3FBB3E6620000000) #5 | |
%cond57.i.4.1 = select i1 %cmp.i583.4.1, float %1309, float %cond36.i.4.1 | |
%cond62.i.4.1 = select i1 %cmp.i583.4.1, float %1314, float %cond41.i.4.1 | |
%1315 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1316 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1315, float 0xBF9D2A51E0000000) #5 | |
%1317 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1316, float 0xBFD4CD7D60000000) #5 | |
%1318 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1317, float 0x3FC06EBA80000000) #5 | |
%1319 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1320 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1319, float 0x3F74D022C0000000) #5 | |
%1321 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1320, float 0x3FB0A54C60000000) #5 | |
%1322 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %1321, float 0x3FD97779C0000000) #5 | |
%cond75.i.4.1 = select i1 %cmp2.i.4.1, float %1318, float %cond57.i.4.1 | |
%cond80.i.4.1 = select i1 %cmp2.i.4.1, float %1322, float %cond62.i.4.1 | |
%1323 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.1, float %cond80.i.4.1, float 1.000000e+00) #5 | |
%div82.i.4.1 = fdiv float %cond75.i.4.1, %1323, !fpmath !46 | |
%and83.i.4.1 = and i32 %and.i.4.1, -4096 | |
%astype84.i.4.1 = bitcast i32 %and83.i.4.1 to float | |
%sub85.i.4.1 = fsub float -0.000000e+00, %astype84.i.4.1 | |
%1324 = tail call float @llvm.fmuladd.f32(float %sub85.i.4.1, float %astype84.i.4.1, float -5.625000e-01) #5 | |
%cmp.i2.i.4.1 = fcmp olt float %1324, 0.000000e+00 | |
%cond.i3.i.4.1 = select i1 %cmp.i2.i.4.1, float -5.000000e-01, float 5.000000e-01 | |
%1325 = tail call float @llvm.fmuladd.f32(float %1324, float 0x3FF7154760000000, float %cond.i3.i.4.1) #5 | |
%conv.i4.i.4.1 = fptosi float %1325 to i32 | |
%conv1.i5.i.4.1 = sitofp i32 %conv.i4.i.4.1 to float | |
%1326 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.4.1, float 0xBFE62E3000000000, float %1324) #5 | |
%mul.i6.i.4.1 = fmul float %conv1.i5.i.4.1, 0xBEE2FEFA20000000 | |
%add.i7.i.4.1 = fadd float %1326, %mul.i6.i.4.1 | |
%mul3.i8.i.4.1 = fmul float %add.i7.i.4.1, %add.i7.i.4.1 | |
%1327 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1328 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.1, float %1327, float 0x3F11566AA0000000) #5 | |
%1329 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.1, float %1328, float 0xBF66C16C20000000) #5 | |
%1330 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.1, float %1329, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.4.1 = fsub float -0.000000e+00, %1330 | |
%1331 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.1, float %sub8.i9.i.4.1, float %add.i7.i.4.1) #5 | |
%sub10.i10.i.4.1 = fsub float -0.000000e+00, %mul.i6.i.4.1 | |
%mul11.i11.i.4.1 = fmul float %add.i7.i.4.1, %1331 | |
%sub12.i12.i.4.1 = fsub float 2.000000e+00, %1331 | |
%div.i13.i.4.1 = fdiv float %mul11.i11.i.4.1, %sub12.i12.i.4.1, !fpmath !46 | |
%sub13.i14.i.4.1 = fsub float %sub10.i10.i.4.1, %div.i13.i.4.1 | |
%sub14.i15.i.4.1 = fsub float %sub13.i14.i.4.1, %1326 | |
%sub15.i16.i.4.1 = fsub float 1.000000e+00, %sub14.i15.i.4.1 | |
%astype.i17.i.4.1 = bitcast float %sub15.i16.i.4.1 to i32 | |
%shl.i18.i.4.1 = shl i32 %conv.i4.i.4.1, 23 | |
%add16.i19.i.4.1 = add nsw i32 %astype.i17.i.4.1, %shl.i18.i.4.1 | |
%astype17.i20.i.4.1 = bitcast i32 %add16.i19.i.4.1 to float | |
%cmp18.i21.i.4.1 = fcmp olt float %1324, 0xC055D589E0000000 | |
%cond20.i22.i.4.1 = select i1 %cmp18.i21.i.4.1, float 0.000000e+00, float %astype17.i20.i.4.1 | |
%cmp21.i23.i.4.1 = fcmp olt float %1324, 0x40562E4300000000 | |
%cond26.i24.i.4.1 = select i1 %cmp21.i23.i.4.1, float %cond20.i22.i.4.1, float 0x7FF0000000000000 | |
%cmp.i.i25.i.4.1 = fcmp uno float %1324, 0.000000e+00 | |
%cond31.i26.i.4.1 = select i1 %cmp.i.i25.i.4.1, float %1324, float %cond26.i24.i.4.1 | |
%sub88.i.4.1 = fsub float %astype84.i.4.1, %fabs.i.4.1 | |
%add.i584.4.1 = fadd float %fabs.i.4.1, %astype84.i.4.1 | |
%1332 = tail call float @llvm.fmuladd.f32(float %sub88.i.4.1, float %add.i584.4.1, float %div82.i.4.1) #5 | |
%cmp.i1.i.4.1 = fcmp olt float %1332, 0.000000e+00 | |
%cond.i.i.4.1 = select i1 %cmp.i1.i.4.1, float -5.000000e-01, float 5.000000e-01 | |
%1333 = tail call float @llvm.fmuladd.f32(float %1332, float 0x3FF7154760000000, float %cond.i.i.4.1) #5 | |
%conv.i.i.4.1 = fptosi float %1333 to i32 | |
%conv1.i.i.4.1 = sitofp i32 %conv.i.i.4.1 to float | |
%1334 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.4.1, float 0xBFE62E3000000000, float %1332) #5 | |
%mul.i.i.4.1 = fmul float %conv1.i.i.4.1, 0xBEE2FEFA20000000 | |
%add.i.i.4.1 = fadd float %1334, %mul.i.i.4.1 | |
%mul3.i.i.4.1 = fmul float %add.i.i.4.1, %add.i.i.4.1 | |
%1335 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1336 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.1, float %1335, float 0x3F11566AA0000000) #5 | |
%1337 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.1, float %1336, float 0xBF66C16C20000000) #5 | |
%1338 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.1, float %1337, float 0x3FC5555560000000) #5 | |
%sub8.i.i.4.1 = fsub float -0.000000e+00, %1338 | |
%1339 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.1, float %sub8.i.i.4.1, float %add.i.i.4.1) #5 | |
%sub10.i.i.4.1 = fsub float -0.000000e+00, %mul.i.i.4.1 | |
%mul11.i.i.4.1 = fmul float %add.i.i.4.1, %1339 | |
%sub12.i.i.4.1 = fsub float 2.000000e+00, %1339 | |
%div.i.i.4.1 = fdiv float %mul11.i.i.4.1, %sub12.i.i.4.1, !fpmath !46 | |
%sub13.i.i.4.1 = fsub float %sub10.i.i.4.1, %div.i.i.4.1 | |
%sub14.i.i.4.1 = fsub float %sub13.i.i.4.1, %1334 | |
%sub15.i.i.4.1 = fsub float 1.000000e+00, %sub14.i.i.4.1 | |
%astype.i.i.4.1 = bitcast float %sub15.i.i.4.1 to i32 | |
%shl.i.i.4.1 = shl i32 %conv.i.i.4.1, 23 | |
%add16.i.i.4.1 = add nsw i32 %astype.i.i.4.1, %shl.i.i.4.1 | |
%astype17.i.i.4.1 = bitcast i32 %add16.i.i.4.1 to float | |
%cmp18.i.i.4.1 = fcmp olt float %1332, 0xC055D589E0000000 | |
%cond20.i.i.4.1 = select i1 %cmp18.i.i.4.1, float 0.000000e+00, float %astype17.i.i.4.1 | |
%cmp21.i.i.4.1 = fcmp olt float %1332, 0x40562E4300000000 | |
%cond26.i.i.4.1 = select i1 %cmp21.i.i.4.1, float %cond20.i.i.4.1, float 0x7FF0000000000000 | |
%cmp.i.i.i.4.1 = fcmp uno float %1332, 0.000000e+00 | |
%cond31.i.i.4.1 = select i1 %cmp.i.i.i.4.1, float %1332, float %cond26.i.i.4.1 | |
%mul91.i.4.1 = fmul float %cond31.i26.i.4.1, %cond31.i.i.4.1 | |
%div92.i.4.1 = fdiv float %mul91.i.4.1, %fabs.i.4.1, !fpmath !46 | |
%sub93.i.4.1 = fsub float 2.000000e+00, %div92.i.4.1 | |
%cmp94.i.4.1 = fcmp olt float %mul226.4.1, 0.000000e+00 | |
%cond98.i.4.1 = select i1 %cmp94.i.4.1, float %sub93.i.4.1, float %div92.i.4.1 | |
%cmp99.i.4.1 = fcmp olt float %fabs.i.4.1, 2.800000e+01 | |
%cond103.i.4.1 = select i1 %cmp99.i.4.1, float %cond98.i.4.1, float 0.000000e+00 | |
%sub104.i.4.1 = fsub float 0x3FC3D4FA80000000, %div82.i.4.1 | |
%add105.i.4.1 = fadd float %div82.i.4.1, 0x3FEB0AC160000000 | |
%add106.i.4.1 = fadd float %add105.i.4.1, 1.000000e+00 | |
%cond111.i.4.1 = select i1 %cmp94.i.4.1, float %add106.i.4.1, float %sub104.i.4.1 | |
%cond116.i.4.1 = select i1 %cmp.i583.4.1, float %cond111.i.4.1, float %cond103.i.4.1 | |
%sub117.i.4.1 = fadd float %mul226.4.1, -5.000000e-01 | |
%1340 = tail call float @llvm.fmuladd.f32(float %mul226.4.1, float %div82.i.4.1, float %sub117.i.4.1) #5 | |
%sub119.i.4.1 = fsub float 5.000000e-01, %1340 | |
%cond124.i.4.1 = select i1 %cmp2.i.4.1, float %sub119.i.4.1, float %cond116.i.4.1 | |
%cmp125.i.4.1 = fcmp olt float %mul226.4.1, -6.000000e+00 | |
%cond129.i.4.1 = select i1 %cmp125.i.4.1, float 2.000000e+00, float %cond124.i.4.1 | |
%cmp.i.i.4.1 = fcmp uno float %mul226.4.1, 0.000000e+00 | |
%cond134.i.4.1 = select i1 %cmp.i.i.4.1, float %mul226.4.1, float %cond129.i.4.1 | |
%mul229.4.1 = fmul float %cond.4.1, %nbparam_params_sh_ewald | |
%neg230.4.1 = fsub float -0.000000e+00, %mul229.4.1 | |
%1341 = tail call float @llvm.fmuladd.f32(float %div196.4.1, float %cond134.i.4.1, float %neg230.4.1) | |
%1342 = tail call float @llvm.fmuladd.f32(float %mul217.4.1, float %1341, float %E_el.5.3.1) | |
%splat.splatinsert.4.1 = insertelement <3 x float> undef, float %1277, i32 0 | |
%splat.splat.4.1 = shufflevector <3 x float> %splat.splatinsert.4.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.4.1 = fmul <3 x float> %extractVec166.4.1, %splat.splat.4.1 | |
%extractVec243.4.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.4.1 = fsub <3 x float> %extractVec243.4.1, %mul235.4.1 | |
%extractVec245.4.1 = shufflevector <3 x float> %sub244.4.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.4.1 = shufflevector <4 x float> %fci_buf.sroa.42.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.4.1 = fadd <3 x float> %extractVec253.4.1, %mul235.4.1 | |
%extractVec255.4.1 = shufflevector <3 x float> %add254.4.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.4.1 | |
if.end258.4.1: ; preds = %if.then182.4.1, %if.then147.4.1, %if.end258.3.1 | |
%fci_buf.sroa.42.4 = phi <4 x float> [ %fci_buf.sroa.42.1, %if.end258.3.1 ], [ %extractVec255.4.1, %if.then182.4.1 ], [ %fci_buf.sroa.42.1, %if.then147.4.1 ] | |
%E_el.5.4.1 = phi float [ %E_el.5.3.1, %if.end258.3.1 ], [ %1342, %if.then182.4.1 ], [ %E_el.5.3.1, %if.then147.4.1 ] | |
%E_lj.3.4.1 = phi float [ %E_lj.3.3.1, %if.end258.3.1 ], [ %add216.4.1, %if.then182.4.1 ], [ %E_lj.3.3.1, %if.then147.4.1 ] | |
%fcj_buf.sroa.0.1.4.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.3.1, %if.end258.3.1 ], [ %extractVec245.4.1, %if.then182.4.1 ], [ %fcj_buf.sroa.0.1.3.1, %if.then147.4.1 ] | |
%and145.5.1 = and i32 %64, 8192 | |
%tobool146.5.1 = icmp eq i32 %and145.5.1, 0 | |
br i1 %tobool146.5.1, label %if.end258.5.1, label %if.then147.5.1 | |
if.then147.5.1: ; preds = %if.end258.4.1 | |
%1343 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.5.3, align 16, !tbaa !36 | |
%1344 = fsub <4 x float> %1343, %870 | |
%1345 = extractelement <4 x float> %1344, i32 0 | |
%1346 = extractelement <4 x float> %1344, i32 1 | |
%mul3.i.i589.5.1 = fmul float %1346, %1346 | |
%1347 = tail call float @llvm.fmuladd.f32(float %1345, float %1345, float %mul3.i.i589.5.1) #5 | |
%1348 = extractelement <4 x float> %1344, i32 2 | |
%1349 = tail call float @llvm.fmuladd.f32(float %1348, float %1348, float %1347) #5 | |
%and168.5.1 = and i32 %66, 8192 | |
%tobool169.5.1 = icmp ne i32 %and168.5.1, 0 | |
%cond.5.1 = select i1 %tobool169.5.1, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.5.1 = icmp eq i32 %52, %868 | |
%or.cond.5.1 = and i1 %cmp63, %cmp174.5.1 | |
%not.or.cond.5.1 = xor i1 %or.cond.5.1, true | |
%cmp176..5.1 = or i1 %cmp176, %not.or.cond.5.1 | |
%conv178.5.1 = uitofp i1 %cmp176..5.1 to float | |
%mul179.5.1 = fmul float %conv178.5.1, %nbparam_params_rcoulomb_sq | |
%cmp180.5.1 = fcmp olt float %1349, %mul179.5.1 | |
br i1 %cmp180.5.1, label %if.then182.5.1, label %if.end258.5.1 | |
if.then182.5.1: ; preds = %if.then147.5.1 | |
%extractVec166.5.1 = shufflevector <4 x float> %1344, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1350 = extractelement <4 x float> %1343, i32 3 | |
%1351 = load i32, i32 addrspace(1)* %arrayidx183.5.3, align 4, !tbaa !41 | |
%mul184.5.1 = mul nsw i32 %1351, %ntypes | |
%add185.5.1 = add nsw i32 %mul184.5.1, %872 | |
%mul186.5.1 = shl nsw i32 %add185.5.1, 1 | |
%1352 = sext i32 %mul186.5.1 to i64 | |
%arrayidx187.5.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1352 | |
%1353 = load float, float addrspace(2)* %arrayidx187.5.1, align 4, !tbaa !39 | |
%add191.5.1 = or i32 %mul186.5.1, 1 | |
%1354 = sext i32 %add191.5.1 to i64 | |
%arrayidx192.5.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1354 | |
%1355 = load float, float addrspace(2)* %arrayidx192.5.1, align 4, !tbaa !39 | |
%sub193.5.1 = fsub float 1.000000e+00, %cond.5.1 | |
%1356 = tail call float @llvm.fmuladd.f32(float %sub193.5.1, float 0x3D71979980000000, float %1349) | |
%cmp.i.i587.5.1 = fcmp olt float %1356, 0.000000e+00 | |
%call.i.i.5.1 = tail call float @llvm.sqrt.f32(float %1356) #6 | |
%call.i.i.op.5.1 = fdiv float 1.000000e+00, %call.i.i.5.1 | |
%div196.5.1 = select i1 %cmp.i.i587.5.1, float 0x7FF8000000000000, float %call.i.i.op.5.1 | |
%mul197.5.1 = fmul float %div196.5.1, %div196.5.1 | |
%mul198.5.1 = fmul float %mul197.5.1, %mul197.5.1 | |
%mul199.5.1 = fmul float %mul197.5.1, %mul198.5.1 | |
%mul200.5.1 = fmul float %cond.5.1, %mul199.5.1 | |
%neg.5.1 = fsub float -0.000000e+00, %1353 | |
%1357 = tail call float @llvm.fmuladd.f32(float %1355, float %mul200.5.1, float %neg.5.1) | |
%mul202.5.1 = fmul float %mul200.5.1, %1357 | |
%mul203.5.1 = fmul float %mul197.5.1, %mul202.5.1 | |
%1358 = tail call float @llvm.fmuladd.f32(float %mul200.5.1, float %mul200.5.1, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.5.1 = fmul float %1358, %1355 | |
%add211.5.1 = fadd float %mul200.5.1, %nbparam_params_dispersion_shift_cpot | |
%mul212.5.1 = fmul float %add211.5.1, %1353 | |
%mul213.5.1 = fmul float %mul212.5.1, 0x3FC5555560000000 | |
%neg214.5.1 = fsub float -0.000000e+00, %mul213.5.1 | |
%1359 = tail call float @llvm.fmuladd.f32(float %mul207.5.1, float 0x3FB5555540000000, float %neg214.5.1) | |
%mul215.5.1 = fmul float %cond.5.1, %1359 | |
%add216.5.1 = fadd float %E_lj.3.4.1, %mul215.5.1 | |
%mul217.5.1 = fmul float %871, %1350 | |
%mul218.5.1 = fmul float %cond.5.1, %mul197.5.1 | |
%mul220.5.1 = fmul float %mul, %1356 | |
%mul.i585.5.1 = fmul float %mul220.5.1, %mul220.5.1 | |
%1360 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.5.1, float 0x3FBDA79640000000) #5 | |
%1361 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.5.1, float 0x3FE03C5780000000) #5 | |
%1362 = tail call float @llvm.fmuladd.f32(float %1360, float %mul.i585.5.1, float 1.000000e+00) #5 | |
%1363 = tail call float @llvm.fmuladd.f32(float %1361, float %mul220.5.1, float %1362) #5 | |
%div.i586.5.1 = fdiv float 1.000000e+00, %1363, !fpmath !46 | |
%1364 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.5.1, float 0xBF0BFF7260000000) #5 | |
%1365 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.5.1, float 0x3F50794180000000) #5 | |
%1366 = tail call float @llvm.fmuladd.f32(float %1364, float %mul.i585.5.1, float 0xBF93BDB200000000) #5 | |
%1367 = tail call float @llvm.fmuladd.f32(float %1365, float %mul.i585.5.1, float 0x3FB1D5E760000000) #5 | |
%1368 = tail call float @llvm.fmuladd.f32(float %1366, float %mul.i585.5.1, float 0xBFE81272E0000000) #5 | |
%1369 = tail call float @llvm.fmuladd.f32(float %1367, float %mul220.5.1, float %1368) #5 | |
%mul11.i.5.1 = fmul float %1369, %div.i586.5.1 | |
%mul222.5.1 = fmul float %mul19, %mul11.i.5.1 | |
%1370 = tail call float @llvm.fmuladd.f32(float %mul218.5.1, float %div196.5.1, float %mul222.5.1) | |
%1371 = tail call float @llvm.fmuladd.f32(float %mul217.5.1, float %1370, float %mul203.5.1) | |
%mul225.5.1 = fmul float %1356, %div196.5.1 | |
%mul226.5.1 = fmul float %mul225.5.1, %nbparam_params_ewald_beta | |
%fabs.i.5.1 = tail call float @llvm.fabs.f32(float %mul226.5.1) #5 | |
%and.i.5.1 = bitcast float %fabs.i.5.1 to i32 | |
%mul.i.5.1 = fmul float %mul226.5.1, %mul226.5.1 | |
%div.i.5.1 = fdiv float 1.000000e+00, %mul.i.5.1, !fpmath !46 | |
%sub.i.5.1 = fadd float %fabs.i.5.1, -1.000000e+00 | |
%cmp.i583.5.1 = fcmp olt float %fabs.i.5.1, 1.250000e+00 | |
%cond.i.5.1 = select i1 %cmp.i583.5.1, float %sub.i.5.1, float %div.i.5.1 | |
%cmp2.i.5.1 = fcmp olt float %fabs.i.5.1, 8.437500e-01 | |
%cond6.i.5.1 = select i1 %cmp2.i.5.1, float %mul.i.5.1, float %cond.i.5.1 | |
%1372 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1373 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1372, float 0xC083EC8820000000) #5 | |
%1374 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1373, float 0xC064145D40000000) #5 | |
%1375 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1374, float 0xC031C20960000000) #5 | |
%1376 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1375, float 0xBFE993BA80000000) #5 | |
%1377 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1376, float 0xBF84341240000000) #5 | |
%1378 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1379 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1378, float 0x40A3F219C0000000) #5 | |
%1380 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1379, float 0x40A8FFB760000000) #5 | |
%1381 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1380, float 0x409802EB20000000) #5 | |
%1382 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1381, float 0x40745CAE20000000) #5 | |
%1383 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1382, float 0x403E568B20000000) #5 | |
%1384 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1385 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1384, float 0xC067135CE0000000) #5 | |
%1386 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1385, float 0xC0644CB180000000) #5 | |
%1387 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1386, float 0xC04F300AE0000000) #5 | |
%1388 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1387, float 0xC0251E0440000000) #5 | |
%1389 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1388, float 0xBFE63416E0000000) #5 | |
%1390 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1389, float 0xBF84341260000000) #5 | |
%1391 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1392 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1391, float 0x405B28A3E0000000) #5 | |
%1393 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1392, float 0x407AD02160000000) #5 | |
%1394 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1393, float 0x40842B1920000000) #5 | |
%1395 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1394, float 0x407B290DE0000000) #5 | |
%1396 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1395, float 0x4061350C60000000) #5 | |
%1397 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1396, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.5.1 = fcmp olt float %fabs.i.5.1, 0x4006DB6DA0000000 | |
%cond36.i.5.1 = select i1 %cmp32.i.5.1, float %1390, float %1377 | |
%cond41.i.5.1 = select i1 %cmp32.i.5.1, float %1397, float %1383 | |
%1398 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1399 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1398, float 0xBFBC639840000000) #5 | |
%1400 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1399, float 0x3FD45FCA80000000) #5 | |
%1401 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1400, float 0xBFD7D24100000000) #5 | |
%1402 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1401, float 0x3FDA8D00A0000000) #5 | |
%1403 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1402, float 0xBF6359B8C0000000) #5 | |
%1404 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1405 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1404, float 0x3FC02660E0000000) #5 | |
%1406 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1405, float 0x3FB2635CE0000000) #5 | |
%1407 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1406, float 0x3FE14AF0A0000000) #5 | |
%1408 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1407, float 0x3FBB3E6620000000) #5 | |
%cond57.i.5.1 = select i1 %cmp.i583.5.1, float %1403, float %cond36.i.5.1 | |
%cond62.i.5.1 = select i1 %cmp.i583.5.1, float %1408, float %cond41.i.5.1 | |
%1409 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1410 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1409, float 0xBF9D2A51E0000000) #5 | |
%1411 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1410, float 0xBFD4CD7D60000000) #5 | |
%1412 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1411, float 0x3FC06EBA80000000) #5 | |
%1413 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1414 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1413, float 0x3F74D022C0000000) #5 | |
%1415 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1414, float 0x3FB0A54C60000000) #5 | |
%1416 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %1415, float 0x3FD97779C0000000) #5 | |
%cond75.i.5.1 = select i1 %cmp2.i.5.1, float %1412, float %cond57.i.5.1 | |
%cond80.i.5.1 = select i1 %cmp2.i.5.1, float %1416, float %cond62.i.5.1 | |
%1417 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.1, float %cond80.i.5.1, float 1.000000e+00) #5 | |
%div82.i.5.1 = fdiv float %cond75.i.5.1, %1417, !fpmath !46 | |
%and83.i.5.1 = and i32 %and.i.5.1, -4096 | |
%astype84.i.5.1 = bitcast i32 %and83.i.5.1 to float | |
%sub85.i.5.1 = fsub float -0.000000e+00, %astype84.i.5.1 | |
%1418 = tail call float @llvm.fmuladd.f32(float %sub85.i.5.1, float %astype84.i.5.1, float -5.625000e-01) #5 | |
%cmp.i2.i.5.1 = fcmp olt float %1418, 0.000000e+00 | |
%cond.i3.i.5.1 = select i1 %cmp.i2.i.5.1, float -5.000000e-01, float 5.000000e-01 | |
%1419 = tail call float @llvm.fmuladd.f32(float %1418, float 0x3FF7154760000000, float %cond.i3.i.5.1) #5 | |
%conv.i4.i.5.1 = fptosi float %1419 to i32 | |
%conv1.i5.i.5.1 = sitofp i32 %conv.i4.i.5.1 to float | |
%1420 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.5.1, float 0xBFE62E3000000000, float %1418) #5 | |
%mul.i6.i.5.1 = fmul float %conv1.i5.i.5.1, 0xBEE2FEFA20000000 | |
%add.i7.i.5.1 = fadd float %1420, %mul.i6.i.5.1 | |
%mul3.i8.i.5.1 = fmul float %add.i7.i.5.1, %add.i7.i.5.1 | |
%1421 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1422 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.1, float %1421, float 0x3F11566AA0000000) #5 | |
%1423 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.1, float %1422, float 0xBF66C16C20000000) #5 | |
%1424 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.1, float %1423, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.5.1 = fsub float -0.000000e+00, %1424 | |
%1425 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.1, float %sub8.i9.i.5.1, float %add.i7.i.5.1) #5 | |
%sub10.i10.i.5.1 = fsub float -0.000000e+00, %mul.i6.i.5.1 | |
%mul11.i11.i.5.1 = fmul float %add.i7.i.5.1, %1425 | |
%sub12.i12.i.5.1 = fsub float 2.000000e+00, %1425 | |
%div.i13.i.5.1 = fdiv float %mul11.i11.i.5.1, %sub12.i12.i.5.1, !fpmath !46 | |
%sub13.i14.i.5.1 = fsub float %sub10.i10.i.5.1, %div.i13.i.5.1 | |
%sub14.i15.i.5.1 = fsub float %sub13.i14.i.5.1, %1420 | |
%sub15.i16.i.5.1 = fsub float 1.000000e+00, %sub14.i15.i.5.1 | |
%astype.i17.i.5.1 = bitcast float %sub15.i16.i.5.1 to i32 | |
%shl.i18.i.5.1 = shl i32 %conv.i4.i.5.1, 23 | |
%add16.i19.i.5.1 = add nsw i32 %astype.i17.i.5.1, %shl.i18.i.5.1 | |
%astype17.i20.i.5.1 = bitcast i32 %add16.i19.i.5.1 to float | |
%cmp18.i21.i.5.1 = fcmp olt float %1418, 0xC055D589E0000000 | |
%cond20.i22.i.5.1 = select i1 %cmp18.i21.i.5.1, float 0.000000e+00, float %astype17.i20.i.5.1 | |
%cmp21.i23.i.5.1 = fcmp olt float %1418, 0x40562E4300000000 | |
%cond26.i24.i.5.1 = select i1 %cmp21.i23.i.5.1, float %cond20.i22.i.5.1, float 0x7FF0000000000000 | |
%cmp.i.i25.i.5.1 = fcmp uno float %1418, 0.000000e+00 | |
%cond31.i26.i.5.1 = select i1 %cmp.i.i25.i.5.1, float %1418, float %cond26.i24.i.5.1 | |
%sub88.i.5.1 = fsub float %astype84.i.5.1, %fabs.i.5.1 | |
%add.i584.5.1 = fadd float %fabs.i.5.1, %astype84.i.5.1 | |
%1426 = tail call float @llvm.fmuladd.f32(float %sub88.i.5.1, float %add.i584.5.1, float %div82.i.5.1) #5 | |
%cmp.i1.i.5.1 = fcmp olt float %1426, 0.000000e+00 | |
%cond.i.i.5.1 = select i1 %cmp.i1.i.5.1, float -5.000000e-01, float 5.000000e-01 | |
%1427 = tail call float @llvm.fmuladd.f32(float %1426, float 0x3FF7154760000000, float %cond.i.i.5.1) #5 | |
%conv.i.i.5.1 = fptosi float %1427 to i32 | |
%conv1.i.i.5.1 = sitofp i32 %conv.i.i.5.1 to float | |
%1428 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.5.1, float 0xBFE62E3000000000, float %1426) #5 | |
%mul.i.i.5.1 = fmul float %conv1.i.i.5.1, 0xBEE2FEFA20000000 | |
%add.i.i.5.1 = fadd float %1428, %mul.i.i.5.1 | |
%mul3.i.i.5.1 = fmul float %add.i.i.5.1, %add.i.i.5.1 | |
%1429 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1430 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.1, float %1429, float 0x3F11566AA0000000) #5 | |
%1431 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.1, float %1430, float 0xBF66C16C20000000) #5 | |
%1432 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.1, float %1431, float 0x3FC5555560000000) #5 | |
%sub8.i.i.5.1 = fsub float -0.000000e+00, %1432 | |
%1433 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.1, float %sub8.i.i.5.1, float %add.i.i.5.1) #5 | |
%sub10.i.i.5.1 = fsub float -0.000000e+00, %mul.i.i.5.1 | |
%mul11.i.i.5.1 = fmul float %add.i.i.5.1, %1433 | |
%sub12.i.i.5.1 = fsub float 2.000000e+00, %1433 | |
%div.i.i.5.1 = fdiv float %mul11.i.i.5.1, %sub12.i.i.5.1, !fpmath !46 | |
%sub13.i.i.5.1 = fsub float %sub10.i.i.5.1, %div.i.i.5.1 | |
%sub14.i.i.5.1 = fsub float %sub13.i.i.5.1, %1428 | |
%sub15.i.i.5.1 = fsub float 1.000000e+00, %sub14.i.i.5.1 | |
%astype.i.i.5.1 = bitcast float %sub15.i.i.5.1 to i32 | |
%shl.i.i.5.1 = shl i32 %conv.i.i.5.1, 23 | |
%add16.i.i.5.1 = add nsw i32 %astype.i.i.5.1, %shl.i.i.5.1 | |
%astype17.i.i.5.1 = bitcast i32 %add16.i.i.5.1 to float | |
%cmp18.i.i.5.1 = fcmp olt float %1426, 0xC055D589E0000000 | |
%cond20.i.i.5.1 = select i1 %cmp18.i.i.5.1, float 0.000000e+00, float %astype17.i.i.5.1 | |
%cmp21.i.i.5.1 = fcmp olt float %1426, 0x40562E4300000000 | |
%cond26.i.i.5.1 = select i1 %cmp21.i.i.5.1, float %cond20.i.i.5.1, float 0x7FF0000000000000 | |
%cmp.i.i.i.5.1 = fcmp uno float %1426, 0.000000e+00 | |
%cond31.i.i.5.1 = select i1 %cmp.i.i.i.5.1, float %1426, float %cond26.i.i.5.1 | |
%mul91.i.5.1 = fmul float %cond31.i26.i.5.1, %cond31.i.i.5.1 | |
%div92.i.5.1 = fdiv float %mul91.i.5.1, %fabs.i.5.1, !fpmath !46 | |
%sub93.i.5.1 = fsub float 2.000000e+00, %div92.i.5.1 | |
%cmp94.i.5.1 = fcmp olt float %mul226.5.1, 0.000000e+00 | |
%cond98.i.5.1 = select i1 %cmp94.i.5.1, float %sub93.i.5.1, float %div92.i.5.1 | |
%cmp99.i.5.1 = fcmp olt float %fabs.i.5.1, 2.800000e+01 | |
%cond103.i.5.1 = select i1 %cmp99.i.5.1, float %cond98.i.5.1, float 0.000000e+00 | |
%sub104.i.5.1 = fsub float 0x3FC3D4FA80000000, %div82.i.5.1 | |
%add105.i.5.1 = fadd float %div82.i.5.1, 0x3FEB0AC160000000 | |
%add106.i.5.1 = fadd float %add105.i.5.1, 1.000000e+00 | |
%cond111.i.5.1 = select i1 %cmp94.i.5.1, float %add106.i.5.1, float %sub104.i.5.1 | |
%cond116.i.5.1 = select i1 %cmp.i583.5.1, float %cond111.i.5.1, float %cond103.i.5.1 | |
%sub117.i.5.1 = fadd float %mul226.5.1, -5.000000e-01 | |
%1434 = tail call float @llvm.fmuladd.f32(float %mul226.5.1, float %div82.i.5.1, float %sub117.i.5.1) #5 | |
%sub119.i.5.1 = fsub float 5.000000e-01, %1434 | |
%cond124.i.5.1 = select i1 %cmp2.i.5.1, float %sub119.i.5.1, float %cond116.i.5.1 | |
%cmp125.i.5.1 = fcmp olt float %mul226.5.1, -6.000000e+00 | |
%cond129.i.5.1 = select i1 %cmp125.i.5.1, float 2.000000e+00, float %cond124.i.5.1 | |
%cmp.i.i.5.1 = fcmp uno float %mul226.5.1, 0.000000e+00 | |
%cond134.i.5.1 = select i1 %cmp.i.i.5.1, float %mul226.5.1, float %cond129.i.5.1 | |
%mul229.5.1 = fmul float %cond.5.1, %nbparam_params_sh_ewald | |
%neg230.5.1 = fsub float -0.000000e+00, %mul229.5.1 | |
%1435 = tail call float @llvm.fmuladd.f32(float %div196.5.1, float %cond134.i.5.1, float %neg230.5.1) | |
%1436 = tail call float @llvm.fmuladd.f32(float %mul217.5.1, float %1435, float %E_el.5.4.1) | |
%splat.splatinsert.5.1 = insertelement <3 x float> undef, float %1371, i32 0 | |
%splat.splat.5.1 = shufflevector <3 x float> %splat.splatinsert.5.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.5.1 = fmul <3 x float> %extractVec166.5.1, %splat.splat.5.1 | |
%extractVec243.5.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.5.1 = fsub <3 x float> %extractVec243.5.1, %mul235.5.1 | |
%extractVec245.5.1 = shufflevector <3 x float> %sub244.5.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.5.1 = shufflevector <4 x float> %fci_buf.sroa.52.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.5.1 = fadd <3 x float> %extractVec253.5.1, %mul235.5.1 | |
%extractVec255.5.1 = shufflevector <3 x float> %add254.5.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.5.1 | |
if.end258.5.1: ; preds = %if.then182.5.1, %if.then147.5.1, %if.end258.4.1 | |
%fci_buf.sroa.52.4 = phi <4 x float> [ %fci_buf.sroa.52.1, %if.end258.4.1 ], [ %extractVec255.5.1, %if.then182.5.1 ], [ %fci_buf.sroa.52.1, %if.then147.5.1 ] | |
%E_el.5.5.1 = phi float [ %E_el.5.4.1, %if.end258.4.1 ], [ %1436, %if.then182.5.1 ], [ %E_el.5.4.1, %if.then147.5.1 ] | |
%E_lj.3.5.1 = phi float [ %E_lj.3.4.1, %if.end258.4.1 ], [ %add216.5.1, %if.then182.5.1 ], [ %E_lj.3.4.1, %if.then147.5.1 ] | |
%fcj_buf.sroa.0.1.5.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.4.1, %if.end258.4.1 ], [ %extractVec245.5.1, %if.then182.5.1 ], [ %fcj_buf.sroa.0.1.4.1, %if.then147.5.1 ] | |
%and145.6.1 = and i32 %64, 16384 | |
%tobool146.6.1 = icmp eq i32 %and145.6.1, 0 | |
br i1 %tobool146.6.1, label %if.end258.6.1, label %if.then147.6.1 | |
if.then147.6.1: ; preds = %if.end258.5.1 | |
%1437 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.6.3, align 16, !tbaa !36 | |
%1438 = fsub <4 x float> %1437, %870 | |
%1439 = extractelement <4 x float> %1438, i32 0 | |
%1440 = extractelement <4 x float> %1438, i32 1 | |
%mul3.i.i589.6.1 = fmul float %1440, %1440 | |
%1441 = tail call float @llvm.fmuladd.f32(float %1439, float %1439, float %mul3.i.i589.6.1) #5 | |
%1442 = extractelement <4 x float> %1438, i32 2 | |
%1443 = tail call float @llvm.fmuladd.f32(float %1442, float %1442, float %1441) #5 | |
%and168.6.1 = and i32 %66, 16384 | |
%tobool169.6.1 = icmp ne i32 %and168.6.1, 0 | |
%cond.6.1 = select i1 %tobool169.6.1, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.6.1 = icmp eq i32 %50, %868 | |
%or.cond.6.1 = and i1 %cmp63, %cmp174.6.1 | |
%not.or.cond.6.1 = xor i1 %or.cond.6.1, true | |
%cmp176..6.1 = or i1 %cmp176, %not.or.cond.6.1 | |
%conv178.6.1 = uitofp i1 %cmp176..6.1 to float | |
%mul179.6.1 = fmul float %conv178.6.1, %nbparam_params_rcoulomb_sq | |
%cmp180.6.1 = fcmp olt float %1443, %mul179.6.1 | |
br i1 %cmp180.6.1, label %if.then182.6.1, label %if.end258.6.1 | |
if.then182.6.1: ; preds = %if.then147.6.1 | |
%extractVec166.6.1 = shufflevector <4 x float> %1438, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1444 = extractelement <4 x float> %1437, i32 3 | |
%1445 = load i32, i32 addrspace(1)* %arrayidx183.6.3, align 4, !tbaa !41 | |
%mul184.6.1 = mul nsw i32 %1445, %ntypes | |
%add185.6.1 = add nsw i32 %mul184.6.1, %872 | |
%mul186.6.1 = shl nsw i32 %add185.6.1, 1 | |
%1446 = sext i32 %mul186.6.1 to i64 | |
%arrayidx187.6.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1446 | |
%1447 = load float, float addrspace(2)* %arrayidx187.6.1, align 4, !tbaa !39 | |
%add191.6.1 = or i32 %mul186.6.1, 1 | |
%1448 = sext i32 %add191.6.1 to i64 | |
%arrayidx192.6.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1448 | |
%1449 = load float, float addrspace(2)* %arrayidx192.6.1, align 4, !tbaa !39 | |
%sub193.6.1 = fsub float 1.000000e+00, %cond.6.1 | |
%1450 = tail call float @llvm.fmuladd.f32(float %sub193.6.1, float 0x3D71979980000000, float %1443) | |
%cmp.i.i587.6.1 = fcmp olt float %1450, 0.000000e+00 | |
%call.i.i.6.1 = tail call float @llvm.sqrt.f32(float %1450) #6 | |
%call.i.i.op.6.1 = fdiv float 1.000000e+00, %call.i.i.6.1 | |
%div196.6.1 = select i1 %cmp.i.i587.6.1, float 0x7FF8000000000000, float %call.i.i.op.6.1 | |
%mul197.6.1 = fmul float %div196.6.1, %div196.6.1 | |
%mul198.6.1 = fmul float %mul197.6.1, %mul197.6.1 | |
%mul199.6.1 = fmul float %mul197.6.1, %mul198.6.1 | |
%mul200.6.1 = fmul float %cond.6.1, %mul199.6.1 | |
%neg.6.1 = fsub float -0.000000e+00, %1447 | |
%1451 = tail call float @llvm.fmuladd.f32(float %1449, float %mul200.6.1, float %neg.6.1) | |
%mul202.6.1 = fmul float %mul200.6.1, %1451 | |
%mul203.6.1 = fmul float %mul197.6.1, %mul202.6.1 | |
%1452 = tail call float @llvm.fmuladd.f32(float %mul200.6.1, float %mul200.6.1, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.6.1 = fmul float %1452, %1449 | |
%add211.6.1 = fadd float %mul200.6.1, %nbparam_params_dispersion_shift_cpot | |
%mul212.6.1 = fmul float %add211.6.1, %1447 | |
%mul213.6.1 = fmul float %mul212.6.1, 0x3FC5555560000000 | |
%neg214.6.1 = fsub float -0.000000e+00, %mul213.6.1 | |
%1453 = tail call float @llvm.fmuladd.f32(float %mul207.6.1, float 0x3FB5555540000000, float %neg214.6.1) | |
%mul215.6.1 = fmul float %cond.6.1, %1453 | |
%add216.6.1 = fadd float %E_lj.3.5.1, %mul215.6.1 | |
%mul217.6.1 = fmul float %871, %1444 | |
%mul218.6.1 = fmul float %cond.6.1, %mul197.6.1 | |
%mul220.6.1 = fmul float %mul, %1450 | |
%mul.i585.6.1 = fmul float %mul220.6.1, %mul220.6.1 | |
%1454 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.6.1, float 0x3FBDA79640000000) #5 | |
%1455 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.6.1, float 0x3FE03C5780000000) #5 | |
%1456 = tail call float @llvm.fmuladd.f32(float %1454, float %mul.i585.6.1, float 1.000000e+00) #5 | |
%1457 = tail call float @llvm.fmuladd.f32(float %1455, float %mul220.6.1, float %1456) #5 | |
%div.i586.6.1 = fdiv float 1.000000e+00, %1457, !fpmath !46 | |
%1458 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.6.1, float 0xBF0BFF7260000000) #5 | |
%1459 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.6.1, float 0x3F50794180000000) #5 | |
%1460 = tail call float @llvm.fmuladd.f32(float %1458, float %mul.i585.6.1, float 0xBF93BDB200000000) #5 | |
%1461 = tail call float @llvm.fmuladd.f32(float %1459, float %mul.i585.6.1, float 0x3FB1D5E760000000) #5 | |
%1462 = tail call float @llvm.fmuladd.f32(float %1460, float %mul.i585.6.1, float 0xBFE81272E0000000) #5 | |
%1463 = tail call float @llvm.fmuladd.f32(float %1461, float %mul220.6.1, float %1462) #5 | |
%mul11.i.6.1 = fmul float %1463, %div.i586.6.1 | |
%mul222.6.1 = fmul float %mul19, %mul11.i.6.1 | |
%1464 = tail call float @llvm.fmuladd.f32(float %mul218.6.1, float %div196.6.1, float %mul222.6.1) | |
%1465 = tail call float @llvm.fmuladd.f32(float %mul217.6.1, float %1464, float %mul203.6.1) | |
%mul225.6.1 = fmul float %1450, %div196.6.1 | |
%mul226.6.1 = fmul float %mul225.6.1, %nbparam_params_ewald_beta | |
%fabs.i.6.1 = tail call float @llvm.fabs.f32(float %mul226.6.1) #5 | |
%and.i.6.1 = bitcast float %fabs.i.6.1 to i32 | |
%mul.i.6.1 = fmul float %mul226.6.1, %mul226.6.1 | |
%div.i.6.1 = fdiv float 1.000000e+00, %mul.i.6.1, !fpmath !46 | |
%sub.i.6.1 = fadd float %fabs.i.6.1, -1.000000e+00 | |
%cmp.i583.6.1 = fcmp olt float %fabs.i.6.1, 1.250000e+00 | |
%cond.i.6.1 = select i1 %cmp.i583.6.1, float %sub.i.6.1, float %div.i.6.1 | |
%cmp2.i.6.1 = fcmp olt float %fabs.i.6.1, 8.437500e-01 | |
%cond6.i.6.1 = select i1 %cmp2.i.6.1, float %mul.i.6.1, float %cond.i.6.1 | |
%1466 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1467 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1466, float 0xC083EC8820000000) #5 | |
%1468 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1467, float 0xC064145D40000000) #5 | |
%1469 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1468, float 0xC031C20960000000) #5 | |
%1470 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1469, float 0xBFE993BA80000000) #5 | |
%1471 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1470, float 0xBF84341240000000) #5 | |
%1472 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1473 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1472, float 0x40A3F219C0000000) #5 | |
%1474 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1473, float 0x40A8FFB760000000) #5 | |
%1475 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1474, float 0x409802EB20000000) #5 | |
%1476 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1475, float 0x40745CAE20000000) #5 | |
%1477 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1476, float 0x403E568B20000000) #5 | |
%1478 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1479 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1478, float 0xC067135CE0000000) #5 | |
%1480 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1479, float 0xC0644CB180000000) #5 | |
%1481 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1480, float 0xC04F300AE0000000) #5 | |
%1482 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1481, float 0xC0251E0440000000) #5 | |
%1483 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1482, float 0xBFE63416E0000000) #5 | |
%1484 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1483, float 0xBF84341260000000) #5 | |
%1485 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1486 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1485, float 0x405B28A3E0000000) #5 | |
%1487 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1486, float 0x407AD02160000000) #5 | |
%1488 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1487, float 0x40842B1920000000) #5 | |
%1489 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1488, float 0x407B290DE0000000) #5 | |
%1490 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1489, float 0x4061350C60000000) #5 | |
%1491 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1490, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.6.1 = fcmp olt float %fabs.i.6.1, 0x4006DB6DA0000000 | |
%cond36.i.6.1 = select i1 %cmp32.i.6.1, float %1484, float %1471 | |
%cond41.i.6.1 = select i1 %cmp32.i.6.1, float %1491, float %1477 | |
%1492 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1493 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1492, float 0xBFBC639840000000) #5 | |
%1494 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1493, float 0x3FD45FCA80000000) #5 | |
%1495 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1494, float 0xBFD7D24100000000) #5 | |
%1496 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1495, float 0x3FDA8D00A0000000) #5 | |
%1497 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1496, float 0xBF6359B8C0000000) #5 | |
%1498 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1499 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1498, float 0x3FC02660E0000000) #5 | |
%1500 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1499, float 0x3FB2635CE0000000) #5 | |
%1501 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1500, float 0x3FE14AF0A0000000) #5 | |
%1502 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1501, float 0x3FBB3E6620000000) #5 | |
%cond57.i.6.1 = select i1 %cmp.i583.6.1, float %1497, float %cond36.i.6.1 | |
%cond62.i.6.1 = select i1 %cmp.i583.6.1, float %1502, float %cond41.i.6.1 | |
%1503 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1504 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1503, float 0xBF9D2A51E0000000) #5 | |
%1505 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1504, float 0xBFD4CD7D60000000) #5 | |
%1506 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1505, float 0x3FC06EBA80000000) #5 | |
%1507 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1508 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1507, float 0x3F74D022C0000000) #5 | |
%1509 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1508, float 0x3FB0A54C60000000) #5 | |
%1510 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %1509, float 0x3FD97779C0000000) #5 | |
%cond75.i.6.1 = select i1 %cmp2.i.6.1, float %1506, float %cond57.i.6.1 | |
%cond80.i.6.1 = select i1 %cmp2.i.6.1, float %1510, float %cond62.i.6.1 | |
%1511 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.1, float %cond80.i.6.1, float 1.000000e+00) #5 | |
%div82.i.6.1 = fdiv float %cond75.i.6.1, %1511, !fpmath !46 | |
%and83.i.6.1 = and i32 %and.i.6.1, -4096 | |
%astype84.i.6.1 = bitcast i32 %and83.i.6.1 to float | |
%sub85.i.6.1 = fsub float -0.000000e+00, %astype84.i.6.1 | |
%1512 = tail call float @llvm.fmuladd.f32(float %sub85.i.6.1, float %astype84.i.6.1, float -5.625000e-01) #5 | |
%cmp.i2.i.6.1 = fcmp olt float %1512, 0.000000e+00 | |
%cond.i3.i.6.1 = select i1 %cmp.i2.i.6.1, float -5.000000e-01, float 5.000000e-01 | |
%1513 = tail call float @llvm.fmuladd.f32(float %1512, float 0x3FF7154760000000, float %cond.i3.i.6.1) #5 | |
%conv.i4.i.6.1 = fptosi float %1513 to i32 | |
%conv1.i5.i.6.1 = sitofp i32 %conv.i4.i.6.1 to float | |
%1514 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.6.1, float 0xBFE62E3000000000, float %1512) #5 | |
%mul.i6.i.6.1 = fmul float %conv1.i5.i.6.1, 0xBEE2FEFA20000000 | |
%add.i7.i.6.1 = fadd float %1514, %mul.i6.i.6.1 | |
%mul3.i8.i.6.1 = fmul float %add.i7.i.6.1, %add.i7.i.6.1 | |
%1515 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1516 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.1, float %1515, float 0x3F11566AA0000000) #5 | |
%1517 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.1, float %1516, float 0xBF66C16C20000000) #5 | |
%1518 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.1, float %1517, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.6.1 = fsub float -0.000000e+00, %1518 | |
%1519 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.1, float %sub8.i9.i.6.1, float %add.i7.i.6.1) #5 | |
%sub10.i10.i.6.1 = fsub float -0.000000e+00, %mul.i6.i.6.1 | |
%mul11.i11.i.6.1 = fmul float %add.i7.i.6.1, %1519 | |
%sub12.i12.i.6.1 = fsub float 2.000000e+00, %1519 | |
%div.i13.i.6.1 = fdiv float %mul11.i11.i.6.1, %sub12.i12.i.6.1, !fpmath !46 | |
%sub13.i14.i.6.1 = fsub float %sub10.i10.i.6.1, %div.i13.i.6.1 | |
%sub14.i15.i.6.1 = fsub float %sub13.i14.i.6.1, %1514 | |
%sub15.i16.i.6.1 = fsub float 1.000000e+00, %sub14.i15.i.6.1 | |
%astype.i17.i.6.1 = bitcast float %sub15.i16.i.6.1 to i32 | |
%shl.i18.i.6.1 = shl i32 %conv.i4.i.6.1, 23 | |
%add16.i19.i.6.1 = add nsw i32 %astype.i17.i.6.1, %shl.i18.i.6.1 | |
%astype17.i20.i.6.1 = bitcast i32 %add16.i19.i.6.1 to float | |
%cmp18.i21.i.6.1 = fcmp olt float %1512, 0xC055D589E0000000 | |
%cond20.i22.i.6.1 = select i1 %cmp18.i21.i.6.1, float 0.000000e+00, float %astype17.i20.i.6.1 | |
%cmp21.i23.i.6.1 = fcmp olt float %1512, 0x40562E4300000000 | |
%cond26.i24.i.6.1 = select i1 %cmp21.i23.i.6.1, float %cond20.i22.i.6.1, float 0x7FF0000000000000 | |
%cmp.i.i25.i.6.1 = fcmp uno float %1512, 0.000000e+00 | |
%cond31.i26.i.6.1 = select i1 %cmp.i.i25.i.6.1, float %1512, float %cond26.i24.i.6.1 | |
%sub88.i.6.1 = fsub float %astype84.i.6.1, %fabs.i.6.1 | |
%add.i584.6.1 = fadd float %fabs.i.6.1, %astype84.i.6.1 | |
%1520 = tail call float @llvm.fmuladd.f32(float %sub88.i.6.1, float %add.i584.6.1, float %div82.i.6.1) #5 | |
%cmp.i1.i.6.1 = fcmp olt float %1520, 0.000000e+00 | |
%cond.i.i.6.1 = select i1 %cmp.i1.i.6.1, float -5.000000e-01, float 5.000000e-01 | |
%1521 = tail call float @llvm.fmuladd.f32(float %1520, float 0x3FF7154760000000, float %cond.i.i.6.1) #5 | |
%conv.i.i.6.1 = fptosi float %1521 to i32 | |
%conv1.i.i.6.1 = sitofp i32 %conv.i.i.6.1 to float | |
%1522 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.6.1, float 0xBFE62E3000000000, float %1520) #5 | |
%mul.i.i.6.1 = fmul float %conv1.i.i.6.1, 0xBEE2FEFA20000000 | |
%add.i.i.6.1 = fadd float %1522, %mul.i.i.6.1 | |
%mul3.i.i.6.1 = fmul float %add.i.i.6.1, %add.i.i.6.1 | |
%1523 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1524 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.1, float %1523, float 0x3F11566AA0000000) #5 | |
%1525 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.1, float %1524, float 0xBF66C16C20000000) #5 | |
%1526 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.1, float %1525, float 0x3FC5555560000000) #5 | |
%sub8.i.i.6.1 = fsub float -0.000000e+00, %1526 | |
%1527 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.1, float %sub8.i.i.6.1, float %add.i.i.6.1) #5 | |
%sub10.i.i.6.1 = fsub float -0.000000e+00, %mul.i.i.6.1 | |
%mul11.i.i.6.1 = fmul float %add.i.i.6.1, %1527 | |
%sub12.i.i.6.1 = fsub float 2.000000e+00, %1527 | |
%div.i.i.6.1 = fdiv float %mul11.i.i.6.1, %sub12.i.i.6.1, !fpmath !46 | |
%sub13.i.i.6.1 = fsub float %sub10.i.i.6.1, %div.i.i.6.1 | |
%sub14.i.i.6.1 = fsub float %sub13.i.i.6.1, %1522 | |
%sub15.i.i.6.1 = fsub float 1.000000e+00, %sub14.i.i.6.1 | |
%astype.i.i.6.1 = bitcast float %sub15.i.i.6.1 to i32 | |
%shl.i.i.6.1 = shl i32 %conv.i.i.6.1, 23 | |
%add16.i.i.6.1 = add nsw i32 %astype.i.i.6.1, %shl.i.i.6.1 | |
%astype17.i.i.6.1 = bitcast i32 %add16.i.i.6.1 to float | |
%cmp18.i.i.6.1 = fcmp olt float %1520, 0xC055D589E0000000 | |
%cond20.i.i.6.1 = select i1 %cmp18.i.i.6.1, float 0.000000e+00, float %astype17.i.i.6.1 | |
%cmp21.i.i.6.1 = fcmp olt float %1520, 0x40562E4300000000 | |
%cond26.i.i.6.1 = select i1 %cmp21.i.i.6.1, float %cond20.i.i.6.1, float 0x7FF0000000000000 | |
%cmp.i.i.i.6.1 = fcmp uno float %1520, 0.000000e+00 | |
%cond31.i.i.6.1 = select i1 %cmp.i.i.i.6.1, float %1520, float %cond26.i.i.6.1 | |
%mul91.i.6.1 = fmul float %cond31.i26.i.6.1, %cond31.i.i.6.1 | |
%div92.i.6.1 = fdiv float %mul91.i.6.1, %fabs.i.6.1, !fpmath !46 | |
%sub93.i.6.1 = fsub float 2.000000e+00, %div92.i.6.1 | |
%cmp94.i.6.1 = fcmp olt float %mul226.6.1, 0.000000e+00 | |
%cond98.i.6.1 = select i1 %cmp94.i.6.1, float %sub93.i.6.1, float %div92.i.6.1 | |
%cmp99.i.6.1 = fcmp olt float %fabs.i.6.1, 2.800000e+01 | |
%cond103.i.6.1 = select i1 %cmp99.i.6.1, float %cond98.i.6.1, float 0.000000e+00 | |
%sub104.i.6.1 = fsub float 0x3FC3D4FA80000000, %div82.i.6.1 | |
%add105.i.6.1 = fadd float %div82.i.6.1, 0x3FEB0AC160000000 | |
%add106.i.6.1 = fadd float %add105.i.6.1, 1.000000e+00 | |
%cond111.i.6.1 = select i1 %cmp94.i.6.1, float %add106.i.6.1, float %sub104.i.6.1 | |
%cond116.i.6.1 = select i1 %cmp.i583.6.1, float %cond111.i.6.1, float %cond103.i.6.1 | |
%sub117.i.6.1 = fadd float %mul226.6.1, -5.000000e-01 | |
%1528 = tail call float @llvm.fmuladd.f32(float %mul226.6.1, float %div82.i.6.1, float %sub117.i.6.1) #5 | |
%sub119.i.6.1 = fsub float 5.000000e-01, %1528 | |
%cond124.i.6.1 = select i1 %cmp2.i.6.1, float %sub119.i.6.1, float %cond116.i.6.1 | |
%cmp125.i.6.1 = fcmp olt float %mul226.6.1, -6.000000e+00 | |
%cond129.i.6.1 = select i1 %cmp125.i.6.1, float 2.000000e+00, float %cond124.i.6.1 | |
%cmp.i.i.6.1 = fcmp uno float %mul226.6.1, 0.000000e+00 | |
%cond134.i.6.1 = select i1 %cmp.i.i.6.1, float %mul226.6.1, float %cond129.i.6.1 | |
%mul229.6.1 = fmul float %cond.6.1, %nbparam_params_sh_ewald | |
%neg230.6.1 = fsub float -0.000000e+00, %mul229.6.1 | |
%1529 = tail call float @llvm.fmuladd.f32(float %div196.6.1, float %cond134.i.6.1, float %neg230.6.1) | |
%1530 = tail call float @llvm.fmuladd.f32(float %mul217.6.1, float %1529, float %E_el.5.5.1) | |
%splat.splatinsert.6.1 = insertelement <3 x float> undef, float %1465, i32 0 | |
%splat.splat.6.1 = shufflevector <3 x float> %splat.splatinsert.6.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.6.1 = fmul <3 x float> %extractVec166.6.1, %splat.splat.6.1 | |
%extractVec243.6.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.6.1 = fsub <3 x float> %extractVec243.6.1, %mul235.6.1 | |
%extractVec245.6.1 = shufflevector <3 x float> %sub244.6.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.6.1 = shufflevector <4 x float> %fci_buf.sroa.62.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.6.1 = fadd <3 x float> %extractVec253.6.1, %mul235.6.1 | |
%extractVec255.6.1 = shufflevector <3 x float> %add254.6.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.6.1 | |
if.end258.6.1: ; preds = %if.then182.6.1, %if.then147.6.1, %if.end258.5.1 | |
%fci_buf.sroa.62.4 = phi <4 x float> [ %fci_buf.sroa.62.1, %if.end258.5.1 ], [ %extractVec255.6.1, %if.then182.6.1 ], [ %fci_buf.sroa.62.1, %if.then147.6.1 ] | |
%E_el.5.6.1 = phi float [ %E_el.5.5.1, %if.end258.5.1 ], [ %1530, %if.then182.6.1 ], [ %E_el.5.5.1, %if.then147.6.1 ] | |
%E_lj.3.6.1 = phi float [ %E_lj.3.5.1, %if.end258.5.1 ], [ %add216.6.1, %if.then182.6.1 ], [ %E_lj.3.5.1, %if.then147.6.1 ] | |
%fcj_buf.sroa.0.1.6.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.5.1, %if.end258.5.1 ], [ %extractVec245.6.1, %if.then182.6.1 ], [ %fcj_buf.sroa.0.1.5.1, %if.then147.6.1 ] | |
%and145.7.1 = and i32 %64, 32768 | |
%tobool146.7.1 = icmp eq i32 %and145.7.1, 0 | |
br i1 %tobool146.7.1, label %if.end258.7.1, label %if.then147.7.1 | |
if.then147.7.1: ; preds = %if.end258.6.1 | |
%1531 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.7.3, align 16, !tbaa !36 | |
%1532 = fsub <4 x float> %1531, %870 | |
%1533 = extractelement <4 x float> %1532, i32 0 | |
%1534 = extractelement <4 x float> %1532, i32 1 | |
%mul3.i.i589.7.1 = fmul float %1534, %1534 | |
%1535 = tail call float @llvm.fmuladd.f32(float %1533, float %1533, float %mul3.i.i589.7.1) #5 | |
%1536 = extractelement <4 x float> %1532, i32 2 | |
%1537 = tail call float @llvm.fmuladd.f32(float %1536, float %1536, float %1535) #5 | |
%and168.7.1 = and i32 %66, 32768 | |
%tobool169.7.1 = icmp ne i32 %and168.7.1, 0 | |
%cond.7.1 = select i1 %tobool169.7.1, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.7.1 = icmp eq i32 %48, %868 | |
%or.cond.7.1 = and i1 %cmp63, %cmp174.7.1 | |
%not.or.cond.7.1 = xor i1 %or.cond.7.1, true | |
%cmp176..7.1 = or i1 %cmp176, %not.or.cond.7.1 | |
%conv178.7.1 = uitofp i1 %cmp176..7.1 to float | |
%mul179.7.1 = fmul float %conv178.7.1, %nbparam_params_rcoulomb_sq | |
%cmp180.7.1 = fcmp olt float %1537, %mul179.7.1 | |
br i1 %cmp180.7.1, label %if.then182.7.1, label %if.end258.7.1 | |
if.then182.7.1: ; preds = %if.then147.7.1 | |
%extractVec166.7.1 = shufflevector <4 x float> %1532, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1538 = extractelement <4 x float> %1531, i32 3 | |
%1539 = load i32, i32 addrspace(1)* %arrayidx183.7.3, align 4, !tbaa !41 | |
%mul184.7.1 = mul nsw i32 %1539, %ntypes | |
%add185.7.1 = add nsw i32 %mul184.7.1, %872 | |
%mul186.7.1 = shl nsw i32 %add185.7.1, 1 | |
%1540 = sext i32 %mul186.7.1 to i64 | |
%arrayidx187.7.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1540 | |
%1541 = load float, float addrspace(2)* %arrayidx187.7.1, align 4, !tbaa !39 | |
%add191.7.1 = or i32 %mul186.7.1, 1 | |
%1542 = sext i32 %add191.7.1 to i64 | |
%arrayidx192.7.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1542 | |
%1543 = load float, float addrspace(2)* %arrayidx192.7.1, align 4, !tbaa !39 | |
%sub193.7.1 = fsub float 1.000000e+00, %cond.7.1 | |
%1544 = tail call float @llvm.fmuladd.f32(float %sub193.7.1, float 0x3D71979980000000, float %1537) | |
%cmp.i.i587.7.1 = fcmp olt float %1544, 0.000000e+00 | |
%call.i.i.7.1 = tail call float @llvm.sqrt.f32(float %1544) #6 | |
%call.i.i.op.7.1 = fdiv float 1.000000e+00, %call.i.i.7.1 | |
%div196.7.1 = select i1 %cmp.i.i587.7.1, float 0x7FF8000000000000, float %call.i.i.op.7.1 | |
%mul197.7.1 = fmul float %div196.7.1, %div196.7.1 | |
%mul198.7.1 = fmul float %mul197.7.1, %mul197.7.1 | |
%mul199.7.1 = fmul float %mul197.7.1, %mul198.7.1 | |
%mul200.7.1 = fmul float %cond.7.1, %mul199.7.1 | |
%neg.7.1 = fsub float -0.000000e+00, %1541 | |
%1545 = tail call float @llvm.fmuladd.f32(float %1543, float %mul200.7.1, float %neg.7.1) | |
%mul202.7.1 = fmul float %mul200.7.1, %1545 | |
%mul203.7.1 = fmul float %mul197.7.1, %mul202.7.1 | |
%1546 = tail call float @llvm.fmuladd.f32(float %mul200.7.1, float %mul200.7.1, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.7.1 = fmul float %1546, %1543 | |
%add211.7.1 = fadd float %mul200.7.1, %nbparam_params_dispersion_shift_cpot | |
%mul212.7.1 = fmul float %add211.7.1, %1541 | |
%mul213.7.1 = fmul float %mul212.7.1, 0x3FC5555560000000 | |
%neg214.7.1 = fsub float -0.000000e+00, %mul213.7.1 | |
%1547 = tail call float @llvm.fmuladd.f32(float %mul207.7.1, float 0x3FB5555540000000, float %neg214.7.1) | |
%mul215.7.1 = fmul float %cond.7.1, %1547 | |
%add216.7.1 = fadd float %E_lj.3.6.1, %mul215.7.1 | |
%mul217.7.1 = fmul float %871, %1538 | |
%mul218.7.1 = fmul float %cond.7.1, %mul197.7.1 | |
%mul220.7.1 = fmul float %mul, %1544 | |
%mul.i585.7.1 = fmul float %mul220.7.1, %mul220.7.1 | |
%1548 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.7.1, float 0x3FBDA79640000000) #5 | |
%1549 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.7.1, float 0x3FE03C5780000000) #5 | |
%1550 = tail call float @llvm.fmuladd.f32(float %1548, float %mul.i585.7.1, float 1.000000e+00) #5 | |
%1551 = tail call float @llvm.fmuladd.f32(float %1549, float %mul220.7.1, float %1550) #5 | |
%div.i586.7.1 = fdiv float 1.000000e+00, %1551, !fpmath !46 | |
%1552 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.7.1, float 0xBF0BFF7260000000) #5 | |
%1553 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.7.1, float 0x3F50794180000000) #5 | |
%1554 = tail call float @llvm.fmuladd.f32(float %1552, float %mul.i585.7.1, float 0xBF93BDB200000000) #5 | |
%1555 = tail call float @llvm.fmuladd.f32(float %1553, float %mul.i585.7.1, float 0x3FB1D5E760000000) #5 | |
%1556 = tail call float @llvm.fmuladd.f32(float %1554, float %mul.i585.7.1, float 0xBFE81272E0000000) #5 | |
%1557 = tail call float @llvm.fmuladd.f32(float %1555, float %mul220.7.1, float %1556) #5 | |
%mul11.i.7.1 = fmul float %1557, %div.i586.7.1 | |
%mul222.7.1 = fmul float %mul19, %mul11.i.7.1 | |
%1558 = tail call float @llvm.fmuladd.f32(float %mul218.7.1, float %div196.7.1, float %mul222.7.1) | |
%1559 = tail call float @llvm.fmuladd.f32(float %mul217.7.1, float %1558, float %mul203.7.1) | |
%mul225.7.1 = fmul float %1544, %div196.7.1 | |
%mul226.7.1 = fmul float %mul225.7.1, %nbparam_params_ewald_beta | |
%fabs.i.7.1 = tail call float @llvm.fabs.f32(float %mul226.7.1) #5 | |
%and.i.7.1 = bitcast float %fabs.i.7.1 to i32 | |
%mul.i.7.1 = fmul float %mul226.7.1, %mul226.7.1 | |
%div.i.7.1 = fdiv float 1.000000e+00, %mul.i.7.1, !fpmath !46 | |
%sub.i.7.1 = fadd float %fabs.i.7.1, -1.000000e+00 | |
%cmp.i583.7.1 = fcmp olt float %fabs.i.7.1, 1.250000e+00 | |
%cond.i.7.1 = select i1 %cmp.i583.7.1, float %sub.i.7.1, float %div.i.7.1 | |
%cmp2.i.7.1 = fcmp olt float %fabs.i.7.1, 8.437500e-01 | |
%cond6.i.7.1 = select i1 %cmp2.i.7.1, float %mul.i.7.1, float %cond.i.7.1 | |
%1560 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1561 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1560, float 0xC083EC8820000000) #5 | |
%1562 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1561, float 0xC064145D40000000) #5 | |
%1563 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1562, float 0xC031C20960000000) #5 | |
%1564 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1563, float 0xBFE993BA80000000) #5 | |
%1565 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1564, float 0xBF84341240000000) #5 | |
%1566 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1567 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1566, float 0x40A3F219C0000000) #5 | |
%1568 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1567, float 0x40A8FFB760000000) #5 | |
%1569 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1568, float 0x409802EB20000000) #5 | |
%1570 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1569, float 0x40745CAE20000000) #5 | |
%1571 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1570, float 0x403E568B20000000) #5 | |
%1572 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1573 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1572, float 0xC067135CE0000000) #5 | |
%1574 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1573, float 0xC0644CB180000000) #5 | |
%1575 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1574, float 0xC04F300AE0000000) #5 | |
%1576 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1575, float 0xC0251E0440000000) #5 | |
%1577 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1576, float 0xBFE63416E0000000) #5 | |
%1578 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1577, float 0xBF84341260000000) #5 | |
%1579 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1580 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1579, float 0x405B28A3E0000000) #5 | |
%1581 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1580, float 0x407AD02160000000) #5 | |
%1582 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1581, float 0x40842B1920000000) #5 | |
%1583 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1582, float 0x407B290DE0000000) #5 | |
%1584 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1583, float 0x4061350C60000000) #5 | |
%1585 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1584, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.7.1 = fcmp olt float %fabs.i.7.1, 0x4006DB6DA0000000 | |
%cond36.i.7.1 = select i1 %cmp32.i.7.1, float %1578, float %1565 | |
%cond41.i.7.1 = select i1 %cmp32.i.7.1, float %1585, float %1571 | |
%1586 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1587 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1586, float 0xBFBC639840000000) #5 | |
%1588 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1587, float 0x3FD45FCA80000000) #5 | |
%1589 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1588, float 0xBFD7D24100000000) #5 | |
%1590 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1589, float 0x3FDA8D00A0000000) #5 | |
%1591 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1590, float 0xBF6359B8C0000000) #5 | |
%1592 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1593 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1592, float 0x3FC02660E0000000) #5 | |
%1594 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1593, float 0x3FB2635CE0000000) #5 | |
%1595 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1594, float 0x3FE14AF0A0000000) #5 | |
%1596 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1595, float 0x3FBB3E6620000000) #5 | |
%cond57.i.7.1 = select i1 %cmp.i583.7.1, float %1591, float %cond36.i.7.1 | |
%cond62.i.7.1 = select i1 %cmp.i583.7.1, float %1596, float %cond41.i.7.1 | |
%1597 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1598 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1597, float 0xBF9D2A51E0000000) #5 | |
%1599 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1598, float 0xBFD4CD7D60000000) #5 | |
%1600 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1599, float 0x3FC06EBA80000000) #5 | |
%1601 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1602 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1601, float 0x3F74D022C0000000) #5 | |
%1603 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1602, float 0x3FB0A54C60000000) #5 | |
%1604 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %1603, float 0x3FD97779C0000000) #5 | |
%cond75.i.7.1 = select i1 %cmp2.i.7.1, float %1600, float %cond57.i.7.1 | |
%cond80.i.7.1 = select i1 %cmp2.i.7.1, float %1604, float %cond62.i.7.1 | |
%1605 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.1, float %cond80.i.7.1, float 1.000000e+00) #5 | |
%div82.i.7.1 = fdiv float %cond75.i.7.1, %1605, !fpmath !46 | |
%and83.i.7.1 = and i32 %and.i.7.1, -4096 | |
%astype84.i.7.1 = bitcast i32 %and83.i.7.1 to float | |
%sub85.i.7.1 = fsub float -0.000000e+00, %astype84.i.7.1 | |
%1606 = tail call float @llvm.fmuladd.f32(float %sub85.i.7.1, float %astype84.i.7.1, float -5.625000e-01) #5 | |
%cmp.i2.i.7.1 = fcmp olt float %1606, 0.000000e+00 | |
%cond.i3.i.7.1 = select i1 %cmp.i2.i.7.1, float -5.000000e-01, float 5.000000e-01 | |
%1607 = tail call float @llvm.fmuladd.f32(float %1606, float 0x3FF7154760000000, float %cond.i3.i.7.1) #5 | |
%conv.i4.i.7.1 = fptosi float %1607 to i32 | |
%conv1.i5.i.7.1 = sitofp i32 %conv.i4.i.7.1 to float | |
%1608 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.7.1, float 0xBFE62E3000000000, float %1606) #5 | |
%mul.i6.i.7.1 = fmul float %conv1.i5.i.7.1, 0xBEE2FEFA20000000 | |
%add.i7.i.7.1 = fadd float %1608, %mul.i6.i.7.1 | |
%mul3.i8.i.7.1 = fmul float %add.i7.i.7.1, %add.i7.i.7.1 | |
%1609 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1610 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.1, float %1609, float 0x3F11566AA0000000) #5 | |
%1611 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.1, float %1610, float 0xBF66C16C20000000) #5 | |
%1612 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.1, float %1611, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.7.1 = fsub float -0.000000e+00, %1612 | |
%1613 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.1, float %sub8.i9.i.7.1, float %add.i7.i.7.1) #5 | |
%sub10.i10.i.7.1 = fsub float -0.000000e+00, %mul.i6.i.7.1 | |
%mul11.i11.i.7.1 = fmul float %add.i7.i.7.1, %1613 | |
%sub12.i12.i.7.1 = fsub float 2.000000e+00, %1613 | |
%div.i13.i.7.1 = fdiv float %mul11.i11.i.7.1, %sub12.i12.i.7.1, !fpmath !46 | |
%sub13.i14.i.7.1 = fsub float %sub10.i10.i.7.1, %div.i13.i.7.1 | |
%sub14.i15.i.7.1 = fsub float %sub13.i14.i.7.1, %1608 | |
%sub15.i16.i.7.1 = fsub float 1.000000e+00, %sub14.i15.i.7.1 | |
%astype.i17.i.7.1 = bitcast float %sub15.i16.i.7.1 to i32 | |
%shl.i18.i.7.1 = shl i32 %conv.i4.i.7.1, 23 | |
%add16.i19.i.7.1 = add nsw i32 %astype.i17.i.7.1, %shl.i18.i.7.1 | |
%astype17.i20.i.7.1 = bitcast i32 %add16.i19.i.7.1 to float | |
%cmp18.i21.i.7.1 = fcmp olt float %1606, 0xC055D589E0000000 | |
%cond20.i22.i.7.1 = select i1 %cmp18.i21.i.7.1, float 0.000000e+00, float %astype17.i20.i.7.1 | |
%cmp21.i23.i.7.1 = fcmp olt float %1606, 0x40562E4300000000 | |
%cond26.i24.i.7.1 = select i1 %cmp21.i23.i.7.1, float %cond20.i22.i.7.1, float 0x7FF0000000000000 | |
%cmp.i.i25.i.7.1 = fcmp uno float %1606, 0.000000e+00 | |
%cond31.i26.i.7.1 = select i1 %cmp.i.i25.i.7.1, float %1606, float %cond26.i24.i.7.1 | |
%sub88.i.7.1 = fsub float %astype84.i.7.1, %fabs.i.7.1 | |
%add.i584.7.1 = fadd float %fabs.i.7.1, %astype84.i.7.1 | |
%1614 = tail call float @llvm.fmuladd.f32(float %sub88.i.7.1, float %add.i584.7.1, float %div82.i.7.1) #5 | |
%cmp.i1.i.7.1 = fcmp olt float %1614, 0.000000e+00 | |
%cond.i.i.7.1 = select i1 %cmp.i1.i.7.1, float -5.000000e-01, float 5.000000e-01 | |
%1615 = tail call float @llvm.fmuladd.f32(float %1614, float 0x3FF7154760000000, float %cond.i.i.7.1) #5 | |
%conv.i.i.7.1 = fptosi float %1615 to i32 | |
%conv1.i.i.7.1 = sitofp i32 %conv.i.i.7.1 to float | |
%1616 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.7.1, float 0xBFE62E3000000000, float %1614) #5 | |
%mul.i.i.7.1 = fmul float %conv1.i.i.7.1, 0xBEE2FEFA20000000 | |
%add.i.i.7.1 = fadd float %1616, %mul.i.i.7.1 | |
%mul3.i.i.7.1 = fmul float %add.i.i.7.1, %add.i.i.7.1 | |
%1617 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.1, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1618 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.1, float %1617, float 0x3F11566AA0000000) #5 | |
%1619 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.1, float %1618, float 0xBF66C16C20000000) #5 | |
%1620 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.1, float %1619, float 0x3FC5555560000000) #5 | |
%sub8.i.i.7.1 = fsub float -0.000000e+00, %1620 | |
%1621 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.1, float %sub8.i.i.7.1, float %add.i.i.7.1) #5 | |
%sub10.i.i.7.1 = fsub float -0.000000e+00, %mul.i.i.7.1 | |
%mul11.i.i.7.1 = fmul float %add.i.i.7.1, %1621 | |
%sub12.i.i.7.1 = fsub float 2.000000e+00, %1621 | |
%div.i.i.7.1 = fdiv float %mul11.i.i.7.1, %sub12.i.i.7.1, !fpmath !46 | |
%sub13.i.i.7.1 = fsub float %sub10.i.i.7.1, %div.i.i.7.1 | |
%sub14.i.i.7.1 = fsub float %sub13.i.i.7.1, %1616 | |
%sub15.i.i.7.1 = fsub float 1.000000e+00, %sub14.i.i.7.1 | |
%astype.i.i.7.1 = bitcast float %sub15.i.i.7.1 to i32 | |
%shl.i.i.7.1 = shl i32 %conv.i.i.7.1, 23 | |
%add16.i.i.7.1 = add nsw i32 %astype.i.i.7.1, %shl.i.i.7.1 | |
%astype17.i.i.7.1 = bitcast i32 %add16.i.i.7.1 to float | |
%cmp18.i.i.7.1 = fcmp olt float %1614, 0xC055D589E0000000 | |
%cond20.i.i.7.1 = select i1 %cmp18.i.i.7.1, float 0.000000e+00, float %astype17.i.i.7.1 | |
%cmp21.i.i.7.1 = fcmp olt float %1614, 0x40562E4300000000 | |
%cond26.i.i.7.1 = select i1 %cmp21.i.i.7.1, float %cond20.i.i.7.1, float 0x7FF0000000000000 | |
%cmp.i.i.i.7.1 = fcmp uno float %1614, 0.000000e+00 | |
%cond31.i.i.7.1 = select i1 %cmp.i.i.i.7.1, float %1614, float %cond26.i.i.7.1 | |
%mul91.i.7.1 = fmul float %cond31.i26.i.7.1, %cond31.i.i.7.1 | |
%div92.i.7.1 = fdiv float %mul91.i.7.1, %fabs.i.7.1, !fpmath !46 | |
%sub93.i.7.1 = fsub float 2.000000e+00, %div92.i.7.1 | |
%cmp94.i.7.1 = fcmp olt float %mul226.7.1, 0.000000e+00 | |
%cond98.i.7.1 = select i1 %cmp94.i.7.1, float %sub93.i.7.1, float %div92.i.7.1 | |
%cmp99.i.7.1 = fcmp olt float %fabs.i.7.1, 2.800000e+01 | |
%cond103.i.7.1 = select i1 %cmp99.i.7.1, float %cond98.i.7.1, float 0.000000e+00 | |
%sub104.i.7.1 = fsub float 0x3FC3D4FA80000000, %div82.i.7.1 | |
%add105.i.7.1 = fadd float %div82.i.7.1, 0x3FEB0AC160000000 | |
%add106.i.7.1 = fadd float %add105.i.7.1, 1.000000e+00 | |
%cond111.i.7.1 = select i1 %cmp94.i.7.1, float %add106.i.7.1, float %sub104.i.7.1 | |
%cond116.i.7.1 = select i1 %cmp.i583.7.1, float %cond111.i.7.1, float %cond103.i.7.1 | |
%sub117.i.7.1 = fadd float %mul226.7.1, -5.000000e-01 | |
%1622 = tail call float @llvm.fmuladd.f32(float %mul226.7.1, float %div82.i.7.1, float %sub117.i.7.1) #5 | |
%sub119.i.7.1 = fsub float 5.000000e-01, %1622 | |
%cond124.i.7.1 = select i1 %cmp2.i.7.1, float %sub119.i.7.1, float %cond116.i.7.1 | |
%cmp125.i.7.1 = fcmp olt float %mul226.7.1, -6.000000e+00 | |
%cond129.i.7.1 = select i1 %cmp125.i.7.1, float 2.000000e+00, float %cond124.i.7.1 | |
%cmp.i.i.7.1 = fcmp uno float %mul226.7.1, 0.000000e+00 | |
%cond134.i.7.1 = select i1 %cmp.i.i.7.1, float %mul226.7.1, float %cond129.i.7.1 | |
%mul229.7.1 = fmul float %cond.7.1, %nbparam_params_sh_ewald | |
%neg230.7.1 = fsub float -0.000000e+00, %mul229.7.1 | |
%1623 = tail call float @llvm.fmuladd.f32(float %div196.7.1, float %cond134.i.7.1, float %neg230.7.1) | |
%1624 = tail call float @llvm.fmuladd.f32(float %mul217.7.1, float %1623, float %E_el.5.6.1) | |
%splat.splatinsert.7.1 = insertelement <3 x float> undef, float %1559, i32 0 | |
%splat.splat.7.1 = shufflevector <3 x float> %splat.splatinsert.7.1, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.7.1 = fmul <3 x float> %extractVec166.7.1, %splat.splat.7.1 | |
%extractVec243.7.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.7.1 = fsub <3 x float> %extractVec243.7.1, %mul235.7.1 | |
%extractVec245.7.1 = shufflevector <3 x float> %sub244.7.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.7.1 = shufflevector <4 x float> %fci_buf.sroa.72.1, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.7.1 = fadd <3 x float> %extractVec253.7.1, %mul235.7.1 | |
%extractVec255.7.1 = shufflevector <3 x float> %add254.7.1, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.7.1 | |
if.end258.7.1: ; preds = %if.then182.7.1, %if.then147.7.1, %if.end258.6.1 | |
%fci_buf.sroa.72.5 = phi <4 x float> [ %fci_buf.sroa.72.1, %if.end258.6.1 ], [ %extractVec255.7.1, %if.then182.7.1 ], [ %fci_buf.sroa.72.1, %if.then147.7.1 ] | |
%E_el.5.7.1 = phi float [ %E_el.5.6.1, %if.end258.6.1 ], [ %1624, %if.then182.7.1 ], [ %E_el.5.6.1, %if.then147.7.1 ] | |
%E_lj.3.7.1 = phi float [ %E_lj.3.6.1, %if.end258.6.1 ], [ %add216.7.1, %if.then182.7.1 ], [ %E_lj.3.6.1, %if.then147.7.1 ] | |
%fcj_buf.sroa.0.1.7.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.1, %if.end258.6.1 ], [ %extractVec245.7.1, %if.then182.7.1 ], [ %fcj_buf.sroa.0.1.6.1, %if.then147.7.1 ] | |
%1625 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 0 | |
store float %1625, float addrspace(3)* %arrayidx263, align 4, !tbaa !39 | |
%1626 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 1 | |
store float %1626, float addrspace(3)* %arrayidx265, align 4, !tbaa !39 | |
%1627 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 2 | |
store float %1627, float addrspace(3)* %arrayidx267, align 4, !tbaa !39 | |
tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %2, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add136.1) | |
br label %for.inc269.1 | |
for.inc269.1: ; preds = %if.end258.7.1, %for.inc269 | |
%fci_buf.sroa.72.6 = phi <4 x float> [ %fci_buf.sroa.72.1, %for.inc269 ], [ %fci_buf.sroa.72.5, %if.end258.7.1 ] | |
%fci_buf.sroa.62.5 = phi <4 x float> [ %fci_buf.sroa.62.1, %for.inc269 ], [ %fci_buf.sroa.62.4, %if.end258.7.1 ] | |
%fci_buf.sroa.52.5 = phi <4 x float> [ %fci_buf.sroa.52.1, %for.inc269 ], [ %fci_buf.sroa.52.4, %if.end258.7.1 ] | |
%fci_buf.sroa.42.5 = phi <4 x float> [ %fci_buf.sroa.42.1, %for.inc269 ], [ %fci_buf.sroa.42.4, %if.end258.7.1 ] | |
%fci_buf.sroa.32.5 = phi <4 x float> [ %fci_buf.sroa.32.1, %for.inc269 ], [ %fci_buf.sroa.32.4, %if.end258.7.1 ] | |
%fci_buf.sroa.22.5 = phi <4 x float> [ %fci_buf.sroa.22.1, %for.inc269 ], [ %fci_buf.sroa.22.4, %if.end258.7.1 ] | |
%fci_buf.sroa.12.5 = phi <4 x float> [ %fci_buf.sroa.12.1, %for.inc269 ], [ %fci_buf.sroa.12.4, %if.end258.7.1 ] | |
%fci_buf.sroa.0.5 = phi <4 x float> [ %fci_buf.sroa.0.2, %for.inc269 ], [ %fci_buf.sroa.0.4, %if.end258.7.1 ] | |
%E_el.6.1 = phi float [ %E_el.6, %for.inc269 ], [ %E_el.5.7.1, %if.end258.7.1 ] | |
%E_lj.4.1 = phi float [ %E_lj.4, %for.inc269 ], [ %E_lj.3.7.1, %if.end258.7.1 ] | |
%and124.2 = and i32 %64, 16711680 | |
%tobool125.2 = icmp eq i32 %and124.2, 0 | |
br i1 %tobool125.2, label %for.inc269.2, label %if.then126.2 | |
if.then126.2: ; preds = %for.inc269.1 | |
%1628 = load i32, i32 addrspace(3)* %arrayidx134.2, align 4, !tbaa !41 | |
%mul135.2 = shl nsw i32 %1628, 3 | |
%add136.2 = add i32 %mul135.2, %y.i | |
%1629 = sext i32 %add136.2 to i64 | |
%arrayidx137.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %1629 | |
%1630 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx137.2, align 16, !tbaa !36 | |
%1631 = extractelement <4 x float> %1630, i32 3 | |
%arrayidx139.2 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %1629 | |
%1632 = load i32, i32 addrspace(1)* %arrayidx139.2, align 4, !tbaa !41 | |
%and145.2774 = and i32 %64, 65536 | |
%tobool146.2775 = icmp eq i32 %and145.2774, 0 | |
br i1 %tobool146.2775, label %if.end258.2936, label %if.then147.2788 | |
if.then147.2788: ; preds = %if.then126.2 | |
%1633 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.3939, align 16, !tbaa !36 | |
%1634 = fsub <4 x float> %1633, %1630 | |
%1635 = extractelement <4 x float> %1634, i32 0 | |
%1636 = extractelement <4 x float> %1634, i32 1 | |
%mul3.i.i589.2777 = fmul float %1636, %1636 | |
%1637 = tail call float @llvm.fmuladd.f32(float %1635, float %1635, float %mul3.i.i589.2777) #5 | |
%1638 = extractelement <4 x float> %1634, i32 2 | |
%1639 = tail call float @llvm.fmuladd.f32(float %1638, float %1638, float %1637) #5 | |
%and168.2778 = and i32 %66, 65536 | |
%tobool169.2779 = icmp ne i32 %and168.2778, 0 | |
%cond.2780 = select i1 %tobool169.2779, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.2781 = icmp eq i32 %mul31, %1628 | |
%or.cond.2782 = and i1 %cmp63, %cmp174.2781 | |
%not.or.cond.2783 = xor i1 %or.cond.2782, true | |
%cmp176..2784 = or i1 %cmp176, %not.or.cond.2783 | |
%conv178.2785 = uitofp i1 %cmp176..2784 to float | |
%mul179.2786 = fmul float %conv178.2785, %nbparam_params_rcoulomb_sq | |
%cmp180.2787 = fcmp olt float %1639, %mul179.2786 | |
br i1 %cmp180.2787, label %if.then182.2931, label %if.end258.2936 | |
if.then182.2931: ; preds = %if.then147.2788 | |
%extractVec166.2789 = shufflevector <4 x float> %1634, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1640 = extractelement <4 x float> %1633, i32 3 | |
%1641 = load i32, i32 addrspace(1)* %arrayidx183.3955, align 4, !tbaa !41 | |
%mul184.2793 = mul nsw i32 %1641, %ntypes | |
%add185.2794 = add nsw i32 %mul184.2793, %1632 | |
%mul186.2795 = shl nsw i32 %add185.2794, 1 | |
%1642 = sext i32 %mul186.2795 to i64 | |
%arrayidx187.2796 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1642 | |
%1643 = load float, float addrspace(2)* %arrayidx187.2796, align 4, !tbaa !39 | |
%add191.2797 = or i32 %mul186.2795, 1 | |
%1644 = sext i32 %add191.2797 to i64 | |
%arrayidx192.2798 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1644 | |
%1645 = load float, float addrspace(2)* %arrayidx192.2798, align 4, !tbaa !39 | |
%sub193.2799 = fsub float 1.000000e+00, %cond.2780 | |
%1646 = tail call float @llvm.fmuladd.f32(float %sub193.2799, float 0x3D71979980000000, float %1639) | |
%cmp.i.i587.2800 = fcmp olt float %1646, 0.000000e+00 | |
%call.i.i.2801 = tail call float @llvm.sqrt.f32(float %1646) #6 | |
%call.i.i.op.2802 = fdiv float 1.000000e+00, %call.i.i.2801 | |
%div196.2803 = select i1 %cmp.i.i587.2800, float 0x7FF8000000000000, float %call.i.i.op.2802 | |
%mul197.2804 = fmul float %div196.2803, %div196.2803 | |
%mul198.2805 = fmul float %mul197.2804, %mul197.2804 | |
%mul199.2806 = fmul float %mul197.2804, %mul198.2805 | |
%mul200.2807 = fmul float %cond.2780, %mul199.2806 | |
%neg.2808 = fsub float -0.000000e+00, %1643 | |
%1647 = tail call float @llvm.fmuladd.f32(float %1645, float %mul200.2807, float %neg.2808) | |
%mul202.2809 = fmul float %mul200.2807, %1647 | |
%mul203.2810 = fmul float %mul197.2804, %mul202.2809 | |
%1648 = tail call float @llvm.fmuladd.f32(float %mul200.2807, float %mul200.2807, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.2811 = fmul float %1648, %1645 | |
%add211.2812 = fadd float %mul200.2807, %nbparam_params_dispersion_shift_cpot | |
%mul212.2813 = fmul float %add211.2812, %1643 | |
%mul213.2814 = fmul float %mul212.2813, 0x3FC5555560000000 | |
%neg214.2815 = fsub float -0.000000e+00, %mul213.2814 | |
%1649 = tail call float @llvm.fmuladd.f32(float %mul207.2811, float 0x3FB5555540000000, float %neg214.2815) | |
%mul215.2816 = fmul float %cond.2780, %1649 | |
%add216.2817 = fadd float %E_lj.4.1, %mul215.2816 | |
%mul217.2818 = fmul float %1631, %1640 | |
%mul218.2819 = fmul float %cond.2780, %mul197.2804 | |
%mul220.2820 = fmul float %mul, %1646 | |
%mul.i585.2821 = fmul float %mul220.2820, %mul220.2820 | |
%1650 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.2821, float 0x3FBDA79640000000) #5 | |
%1651 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.2821, float 0x3FE03C5780000000) #5 | |
%1652 = tail call float @llvm.fmuladd.f32(float %1650, float %mul.i585.2821, float 1.000000e+00) #5 | |
%1653 = tail call float @llvm.fmuladd.f32(float %1651, float %mul220.2820, float %1652) #5 | |
%div.i586.2822 = fdiv float 1.000000e+00, %1653, !fpmath !46 | |
%1654 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.2821, float 0xBF0BFF7260000000) #5 | |
%1655 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.2821, float 0x3F50794180000000) #5 | |
%1656 = tail call float @llvm.fmuladd.f32(float %1654, float %mul.i585.2821, float 0xBF93BDB200000000) #5 | |
%1657 = tail call float @llvm.fmuladd.f32(float %1655, float %mul.i585.2821, float 0x3FB1D5E760000000) #5 | |
%1658 = tail call float @llvm.fmuladd.f32(float %1656, float %mul.i585.2821, float 0xBFE81272E0000000) #5 | |
%1659 = tail call float @llvm.fmuladd.f32(float %1657, float %mul220.2820, float %1658) #5 | |
%mul11.i.2823 = fmul float %1659, %div.i586.2822 | |
%mul222.2824 = fmul float %mul19, %mul11.i.2823 | |
%1660 = tail call float @llvm.fmuladd.f32(float %mul218.2819, float %div196.2803, float %mul222.2824) | |
%1661 = tail call float @llvm.fmuladd.f32(float %mul217.2818, float %1660, float %mul203.2810) | |
%mul225.2825 = fmul float %1646, %div196.2803 | |
%mul226.2826 = fmul float %mul225.2825, %nbparam_params_ewald_beta | |
%fabs.i.2827 = tail call float @llvm.fabs.f32(float %mul226.2826) #5 | |
%and.i.2828 = bitcast float %fabs.i.2827 to i32 | |
%mul.i.2829 = fmul float %mul226.2826, %mul226.2826 | |
%div.i.2830 = fdiv float 1.000000e+00, %mul.i.2829, !fpmath !46 | |
%sub.i.2831 = fadd float %fabs.i.2827, -1.000000e+00 | |
%cmp.i583.2832 = fcmp olt float %fabs.i.2827, 1.250000e+00 | |
%cond.i.2833 = select i1 %cmp.i583.2832, float %sub.i.2831, float %div.i.2830 | |
%cmp2.i.2834 = fcmp olt float %fabs.i.2827, 8.437500e-01 | |
%cond6.i.2835 = select i1 %cmp2.i.2834, float %mul.i.2829, float %cond.i.2833 | |
%1662 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1663 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1662, float 0xC083EC8820000000) #5 | |
%1664 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1663, float 0xC064145D40000000) #5 | |
%1665 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1664, float 0xC031C20960000000) #5 | |
%1666 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1665, float 0xBFE993BA80000000) #5 | |
%1667 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1666, float 0xBF84341240000000) #5 | |
%1668 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1669 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1668, float 0x40A3F219C0000000) #5 | |
%1670 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1669, float 0x40A8FFB760000000) #5 | |
%1671 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1670, float 0x409802EB20000000) #5 | |
%1672 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1671, float 0x40745CAE20000000) #5 | |
%1673 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1672, float 0x403E568B20000000) #5 | |
%1674 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1675 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1674, float 0xC067135CE0000000) #5 | |
%1676 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1675, float 0xC0644CB180000000) #5 | |
%1677 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1676, float 0xC04F300AE0000000) #5 | |
%1678 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1677, float 0xC0251E0440000000) #5 | |
%1679 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1678, float 0xBFE63416E0000000) #5 | |
%1680 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1679, float 0xBF84341260000000) #5 | |
%1681 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1682 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1681, float 0x405B28A3E0000000) #5 | |
%1683 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1682, float 0x407AD02160000000) #5 | |
%1684 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1683, float 0x40842B1920000000) #5 | |
%1685 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1684, float 0x407B290DE0000000) #5 | |
%1686 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1685, float 0x4061350C60000000) #5 | |
%1687 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1686, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.2836 = fcmp olt float %fabs.i.2827, 0x4006DB6DA0000000 | |
%cond36.i.2837 = select i1 %cmp32.i.2836, float %1680, float %1667 | |
%cond41.i.2838 = select i1 %cmp32.i.2836, float %1687, float %1673 | |
%1688 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1689 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1688, float 0xBFBC639840000000) #5 | |
%1690 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1689, float 0x3FD45FCA80000000) #5 | |
%1691 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1690, float 0xBFD7D24100000000) #5 | |
%1692 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1691, float 0x3FDA8D00A0000000) #5 | |
%1693 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1692, float 0xBF6359B8C0000000) #5 | |
%1694 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1695 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1694, float 0x3FC02660E0000000) #5 | |
%1696 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1695, float 0x3FB2635CE0000000) #5 | |
%1697 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1696, float 0x3FE14AF0A0000000) #5 | |
%1698 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1697, float 0x3FBB3E6620000000) #5 | |
%cond57.i.2839 = select i1 %cmp.i583.2832, float %1693, float %cond36.i.2837 | |
%cond62.i.2840 = select i1 %cmp.i583.2832, float %1698, float %cond41.i.2838 | |
%1699 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1700 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1699, float 0xBF9D2A51E0000000) #5 | |
%1701 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1700, float 0xBFD4CD7D60000000) #5 | |
%1702 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1701, float 0x3FC06EBA80000000) #5 | |
%1703 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1704 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1703, float 0x3F74D022C0000000) #5 | |
%1705 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1704, float 0x3FB0A54C60000000) #5 | |
%1706 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %1705, float 0x3FD97779C0000000) #5 | |
%cond75.i.2841 = select i1 %cmp2.i.2834, float %1702, float %cond57.i.2839 | |
%cond80.i.2842 = select i1 %cmp2.i.2834, float %1706, float %cond62.i.2840 | |
%1707 = tail call float @llvm.fmuladd.f32(float %cond6.i.2835, float %cond80.i.2842, float 1.000000e+00) #5 | |
%div82.i.2843 = fdiv float %cond75.i.2841, %1707, !fpmath !46 | |
%and83.i.2844 = and i32 %and.i.2828, -4096 | |
%astype84.i.2845 = bitcast i32 %and83.i.2844 to float | |
%sub85.i.2846 = fsub float -0.000000e+00, %astype84.i.2845 | |
%1708 = tail call float @llvm.fmuladd.f32(float %sub85.i.2846, float %astype84.i.2845, float -5.625000e-01) #5 | |
%cmp.i2.i.2847 = fcmp olt float %1708, 0.000000e+00 | |
%cond.i3.i.2848 = select i1 %cmp.i2.i.2847, float -5.000000e-01, float 5.000000e-01 | |
%1709 = tail call float @llvm.fmuladd.f32(float %1708, float 0x3FF7154760000000, float %cond.i3.i.2848) #5 | |
%conv.i4.i.2849 = fptosi float %1709 to i32 | |
%conv1.i5.i.2850 = sitofp i32 %conv.i4.i.2849 to float | |
%1710 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.2850, float 0xBFE62E3000000000, float %1708) #5 | |
%mul.i6.i.2851 = fmul float %conv1.i5.i.2850, 0xBEE2FEFA20000000 | |
%add.i7.i.2852 = fadd float %1710, %mul.i6.i.2851 | |
%mul3.i8.i.2853 = fmul float %add.i7.i.2852, %add.i7.i.2852 | |
%1711 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2853, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1712 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2853, float %1711, float 0x3F11566AA0000000) #5 | |
%1713 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2853, float %1712, float 0xBF66C16C20000000) #5 | |
%1714 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2853, float %1713, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.2854 = fsub float -0.000000e+00, %1714 | |
%1715 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2853, float %sub8.i9.i.2854, float %add.i7.i.2852) #5 | |
%sub10.i10.i.2855 = fsub float -0.000000e+00, %mul.i6.i.2851 | |
%mul11.i11.i.2856 = fmul float %add.i7.i.2852, %1715 | |
%sub12.i12.i.2857 = fsub float 2.000000e+00, %1715 | |
%div.i13.i.2858 = fdiv float %mul11.i11.i.2856, %sub12.i12.i.2857, !fpmath !46 | |
%sub13.i14.i.2859 = fsub float %sub10.i10.i.2855, %div.i13.i.2858 | |
%sub14.i15.i.2860 = fsub float %sub13.i14.i.2859, %1710 | |
%sub15.i16.i.2861 = fsub float 1.000000e+00, %sub14.i15.i.2860 | |
%astype.i17.i.2862 = bitcast float %sub15.i16.i.2861 to i32 | |
%shl.i18.i.2863 = shl i32 %conv.i4.i.2849, 23 | |
%add16.i19.i.2864 = add nsw i32 %astype.i17.i.2862, %shl.i18.i.2863 | |
%astype17.i20.i.2865 = bitcast i32 %add16.i19.i.2864 to float | |
%cmp18.i21.i.2866 = fcmp olt float %1708, 0xC055D589E0000000 | |
%cond20.i22.i.2867 = select i1 %cmp18.i21.i.2866, float 0.000000e+00, float %astype17.i20.i.2865 | |
%cmp21.i23.i.2868 = fcmp olt float %1708, 0x40562E4300000000 | |
%cond26.i24.i.2869 = select i1 %cmp21.i23.i.2868, float %cond20.i22.i.2867, float 0x7FF0000000000000 | |
%cmp.i.i25.i.2870 = fcmp uno float %1708, 0.000000e+00 | |
%cond31.i26.i.2871 = select i1 %cmp.i.i25.i.2870, float %1708, float %cond26.i24.i.2869 | |
%sub88.i.2872 = fsub float %astype84.i.2845, %fabs.i.2827 | |
%add.i584.2873 = fadd float %fabs.i.2827, %astype84.i.2845 | |
%1716 = tail call float @llvm.fmuladd.f32(float %sub88.i.2872, float %add.i584.2873, float %div82.i.2843) #5 | |
%cmp.i1.i.2874 = fcmp olt float %1716, 0.000000e+00 | |
%cond.i.i.2875 = select i1 %cmp.i1.i.2874, float -5.000000e-01, float 5.000000e-01 | |
%1717 = tail call float @llvm.fmuladd.f32(float %1716, float 0x3FF7154760000000, float %cond.i.i.2875) #5 | |
%conv.i.i.2876 = fptosi float %1717 to i32 | |
%conv1.i.i.2877 = sitofp i32 %conv.i.i.2876 to float | |
%1718 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.2877, float 0xBFE62E3000000000, float %1716) #5 | |
%mul.i.i.2878 = fmul float %conv1.i.i.2877, 0xBEE2FEFA20000000 | |
%add.i.i.2879 = fadd float %1718, %mul.i.i.2878 | |
%mul3.i.i.2880 = fmul float %add.i.i.2879, %add.i.i.2879 | |
%1719 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2880, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1720 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2880, float %1719, float 0x3F11566AA0000000) #5 | |
%1721 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2880, float %1720, float 0xBF66C16C20000000) #5 | |
%1722 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2880, float %1721, float 0x3FC5555560000000) #5 | |
%sub8.i.i.2881 = fsub float -0.000000e+00, %1722 | |
%1723 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2880, float %sub8.i.i.2881, float %add.i.i.2879) #5 | |
%sub10.i.i.2882 = fsub float -0.000000e+00, %mul.i.i.2878 | |
%mul11.i.i.2883 = fmul float %add.i.i.2879, %1723 | |
%sub12.i.i.2884 = fsub float 2.000000e+00, %1723 | |
%div.i.i.2885 = fdiv float %mul11.i.i.2883, %sub12.i.i.2884, !fpmath !46 | |
%sub13.i.i.2886 = fsub float %sub10.i.i.2882, %div.i.i.2885 | |
%sub14.i.i.2887 = fsub float %sub13.i.i.2886, %1718 | |
%sub15.i.i.2888 = fsub float 1.000000e+00, %sub14.i.i.2887 | |
%astype.i.i.2889 = bitcast float %sub15.i.i.2888 to i32 | |
%shl.i.i.2890 = shl i32 %conv.i.i.2876, 23 | |
%add16.i.i.2891 = add nsw i32 %astype.i.i.2889, %shl.i.i.2890 | |
%astype17.i.i.2892 = bitcast i32 %add16.i.i.2891 to float | |
%cmp18.i.i.2893 = fcmp olt float %1716, 0xC055D589E0000000 | |
%cond20.i.i.2894 = select i1 %cmp18.i.i.2893, float 0.000000e+00, float %astype17.i.i.2892 | |
%cmp21.i.i.2895 = fcmp olt float %1716, 0x40562E4300000000 | |
%cond26.i.i.2896 = select i1 %cmp21.i.i.2895, float %cond20.i.i.2894, float 0x7FF0000000000000 | |
%cmp.i.i.i.2897 = fcmp uno float %1716, 0.000000e+00 | |
%cond31.i.i.2898 = select i1 %cmp.i.i.i.2897, float %1716, float %cond26.i.i.2896 | |
%mul91.i.2899 = fmul float %cond31.i26.i.2871, %cond31.i.i.2898 | |
%div92.i.2900 = fdiv float %mul91.i.2899, %fabs.i.2827, !fpmath !46 | |
%sub93.i.2901 = fsub float 2.000000e+00, %div92.i.2900 | |
%cmp94.i.2902 = fcmp olt float %mul226.2826, 0.000000e+00 | |
%cond98.i.2903 = select i1 %cmp94.i.2902, float %sub93.i.2901, float %div92.i.2900 | |
%cmp99.i.2904 = fcmp olt float %fabs.i.2827, 2.800000e+01 | |
%cond103.i.2905 = select i1 %cmp99.i.2904, float %cond98.i.2903, float 0.000000e+00 | |
%sub104.i.2906 = fsub float 0x3FC3D4FA80000000, %div82.i.2843 | |
%add105.i.2907 = fadd float %div82.i.2843, 0x3FEB0AC160000000 | |
%add106.i.2908 = fadd float %add105.i.2907, 1.000000e+00 | |
%cond111.i.2909 = select i1 %cmp94.i.2902, float %add106.i.2908, float %sub104.i.2906 | |
%cond116.i.2910 = select i1 %cmp.i583.2832, float %cond111.i.2909, float %cond103.i.2905 | |
%sub117.i.2911 = fadd float %mul226.2826, -5.000000e-01 | |
%1724 = tail call float @llvm.fmuladd.f32(float %mul226.2826, float %div82.i.2843, float %sub117.i.2911) #5 | |
%sub119.i.2912 = fsub float 5.000000e-01, %1724 | |
%cond124.i.2913 = select i1 %cmp2.i.2834, float %sub119.i.2912, float %cond116.i.2910 | |
%cmp125.i.2914 = fcmp olt float %mul226.2826, -6.000000e+00 | |
%cond129.i.2915 = select i1 %cmp125.i.2914, float 2.000000e+00, float %cond124.i.2913 | |
%cmp.i.i.2916 = fcmp uno float %mul226.2826, 0.000000e+00 | |
%cond134.i.2917 = select i1 %cmp.i.i.2916, float %mul226.2826, float %cond129.i.2915 | |
%mul229.2918 = fmul float %cond.2780, %nbparam_params_sh_ewald | |
%neg230.2919 = fsub float -0.000000e+00, %mul229.2918 | |
%1725 = tail call float @llvm.fmuladd.f32(float %div196.2803, float %cond134.i.2917, float %neg230.2919) | |
%1726 = tail call float @llvm.fmuladd.f32(float %mul217.2818, float %1725, float %E_el.6.1) | |
%splat.splatinsert.2920 = insertelement <3 x float> undef, float %1661, i32 0 | |
%splat.splat.2921 = shufflevector <3 x float> %splat.splatinsert.2920, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.2922 = fmul <3 x float> %extractVec166.2789, %splat.splat.2921 | |
%sub244.2923 = fsub <3 x float> zeroinitializer, %mul235.2922 | |
%extractVec245.2924 = shufflevector <3 x float> %sub244.2923, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.2928 = shufflevector <4 x float> %fci_buf.sroa.0.5, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.2929 = fadd <3 x float> %extractVec253.2928, %mul235.2922 | |
%extractVec255.2930 = shufflevector <3 x float> %add254.2929, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.2936 | |
if.end258.2936: ; preds = %if.then182.2931, %if.then147.2788, %if.then126.2 | |
%fci_buf.sroa.0.6 = phi <4 x float> [ %fci_buf.sroa.0.5, %if.then126.2 ], [ %extractVec255.2930, %if.then182.2931 ], [ %fci_buf.sroa.0.5, %if.then147.2788 ] | |
%E_el.5.2932 = phi float [ %E_el.6.1, %if.then126.2 ], [ %1726, %if.then182.2931 ], [ %E_el.6.1, %if.then147.2788 ] | |
%E_lj.3.2933 = phi float [ %E_lj.4.1, %if.then126.2 ], [ %add216.2817, %if.then182.2931 ], [ %E_lj.4.1, %if.then147.2788 ] | |
%fcj_buf.sroa.0.1.2934 = phi <4 x float> [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then126.2 ], [ %extractVec245.2924, %if.then182.2931 ], [ <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef>, %if.then147.2788 ] | |
%and145.1.2 = and i32 %64, 131072 | |
%tobool146.1.2 = icmp eq i32 %and145.1.2, 0 | |
br i1 %tobool146.1.2, label %if.end258.1.2, label %if.then147.1.2 | |
if.then147.1.2: ; preds = %if.end258.2936 | |
%1727 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.1.3, align 16, !tbaa !36 | |
%1728 = fsub <4 x float> %1727, %1630 | |
%1729 = extractelement <4 x float> %1728, i32 0 | |
%1730 = extractelement <4 x float> %1728, i32 1 | |
%mul3.i.i589.1.2 = fmul float %1730, %1730 | |
%1731 = tail call float @llvm.fmuladd.f32(float %1729, float %1729, float %mul3.i.i589.1.2) #5 | |
%1732 = extractelement <4 x float> %1728, i32 2 | |
%1733 = tail call float @llvm.fmuladd.f32(float %1732, float %1732, float %1731) #5 | |
%and168.1.2 = and i32 %66, 131072 | |
%tobool169.1.2 = icmp ne i32 %and168.1.2, 0 | |
%cond.1.2 = select i1 %tobool169.1.2, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.1.2 = icmp eq i32 %60, %1628 | |
%or.cond.1.2 = and i1 %cmp63, %cmp174.1.2 | |
%not.or.cond.1.2 = xor i1 %or.cond.1.2, true | |
%cmp176..1.2 = or i1 %cmp176, %not.or.cond.1.2 | |
%conv178.1.2 = uitofp i1 %cmp176..1.2 to float | |
%mul179.1.2 = fmul float %conv178.1.2, %nbparam_params_rcoulomb_sq | |
%cmp180.1.2 = fcmp olt float %1733, %mul179.1.2 | |
br i1 %cmp180.1.2, label %if.then182.1.2, label %if.end258.1.2 | |
if.then182.1.2: ; preds = %if.then147.1.2 | |
%extractVec166.1.2 = shufflevector <4 x float> %1728, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1734 = extractelement <4 x float> %1727, i32 3 | |
%1735 = load i32, i32 addrspace(1)* %arrayidx183.1.3, align 4, !tbaa !41 | |
%mul184.1.2 = mul nsw i32 %1735, %ntypes | |
%add185.1.2 = add nsw i32 %mul184.1.2, %1632 | |
%mul186.1.2 = shl nsw i32 %add185.1.2, 1 | |
%1736 = sext i32 %mul186.1.2 to i64 | |
%arrayidx187.1.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1736 | |
%1737 = load float, float addrspace(2)* %arrayidx187.1.2, align 4, !tbaa !39 | |
%add191.1.2 = or i32 %mul186.1.2, 1 | |
%1738 = sext i32 %add191.1.2 to i64 | |
%arrayidx192.1.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1738 | |
%1739 = load float, float addrspace(2)* %arrayidx192.1.2, align 4, !tbaa !39 | |
%sub193.1.2 = fsub float 1.000000e+00, %cond.1.2 | |
%1740 = tail call float @llvm.fmuladd.f32(float %sub193.1.2, float 0x3D71979980000000, float %1733) | |
%cmp.i.i587.1.2 = fcmp olt float %1740, 0.000000e+00 | |
%call.i.i.1.2 = tail call float @llvm.sqrt.f32(float %1740) #6 | |
%call.i.i.op.1.2 = fdiv float 1.000000e+00, %call.i.i.1.2 | |
%div196.1.2 = select i1 %cmp.i.i587.1.2, float 0x7FF8000000000000, float %call.i.i.op.1.2 | |
%mul197.1.2 = fmul float %div196.1.2, %div196.1.2 | |
%mul198.1.2 = fmul float %mul197.1.2, %mul197.1.2 | |
%mul199.1.2 = fmul float %mul197.1.2, %mul198.1.2 | |
%mul200.1.2 = fmul float %cond.1.2, %mul199.1.2 | |
%neg.1.2 = fsub float -0.000000e+00, %1737 | |
%1741 = tail call float @llvm.fmuladd.f32(float %1739, float %mul200.1.2, float %neg.1.2) | |
%mul202.1.2 = fmul float %mul200.1.2, %1741 | |
%mul203.1.2 = fmul float %mul197.1.2, %mul202.1.2 | |
%1742 = tail call float @llvm.fmuladd.f32(float %mul200.1.2, float %mul200.1.2, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.1.2 = fmul float %1742, %1739 | |
%add211.1.2 = fadd float %mul200.1.2, %nbparam_params_dispersion_shift_cpot | |
%mul212.1.2 = fmul float %add211.1.2, %1737 | |
%mul213.1.2 = fmul float %mul212.1.2, 0x3FC5555560000000 | |
%neg214.1.2 = fsub float -0.000000e+00, %mul213.1.2 | |
%1743 = tail call float @llvm.fmuladd.f32(float %mul207.1.2, float 0x3FB5555540000000, float %neg214.1.2) | |
%mul215.1.2 = fmul float %cond.1.2, %1743 | |
%add216.1.2 = fadd float %E_lj.3.2933, %mul215.1.2 | |
%mul217.1.2 = fmul float %1631, %1734 | |
%mul218.1.2 = fmul float %cond.1.2, %mul197.1.2 | |
%mul220.1.2 = fmul float %mul, %1740 | |
%mul.i585.1.2 = fmul float %mul220.1.2, %mul220.1.2 | |
%1744 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.1.2, float 0x3FBDA79640000000) #5 | |
%1745 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.1.2, float 0x3FE03C5780000000) #5 | |
%1746 = tail call float @llvm.fmuladd.f32(float %1744, float %mul.i585.1.2, float 1.000000e+00) #5 | |
%1747 = tail call float @llvm.fmuladd.f32(float %1745, float %mul220.1.2, float %1746) #5 | |
%div.i586.1.2 = fdiv float 1.000000e+00, %1747, !fpmath !46 | |
%1748 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.1.2, float 0xBF0BFF7260000000) #5 | |
%1749 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.1.2, float 0x3F50794180000000) #5 | |
%1750 = tail call float @llvm.fmuladd.f32(float %1748, float %mul.i585.1.2, float 0xBF93BDB200000000) #5 | |
%1751 = tail call float @llvm.fmuladd.f32(float %1749, float %mul.i585.1.2, float 0x3FB1D5E760000000) #5 | |
%1752 = tail call float @llvm.fmuladd.f32(float %1750, float %mul.i585.1.2, float 0xBFE81272E0000000) #5 | |
%1753 = tail call float @llvm.fmuladd.f32(float %1751, float %mul220.1.2, float %1752) #5 | |
%mul11.i.1.2 = fmul float %1753, %div.i586.1.2 | |
%mul222.1.2 = fmul float %mul19, %mul11.i.1.2 | |
%1754 = tail call float @llvm.fmuladd.f32(float %mul218.1.2, float %div196.1.2, float %mul222.1.2) | |
%1755 = tail call float @llvm.fmuladd.f32(float %mul217.1.2, float %1754, float %mul203.1.2) | |
%mul225.1.2 = fmul float %1740, %div196.1.2 | |
%mul226.1.2 = fmul float %mul225.1.2, %nbparam_params_ewald_beta | |
%fabs.i.1.2 = tail call float @llvm.fabs.f32(float %mul226.1.2) #5 | |
%and.i.1.2 = bitcast float %fabs.i.1.2 to i32 | |
%mul.i.1.2 = fmul float %mul226.1.2, %mul226.1.2 | |
%div.i.1.2 = fdiv float 1.000000e+00, %mul.i.1.2, !fpmath !46 | |
%sub.i.1.2 = fadd float %fabs.i.1.2, -1.000000e+00 | |
%cmp.i583.1.2 = fcmp olt float %fabs.i.1.2, 1.250000e+00 | |
%cond.i.1.2 = select i1 %cmp.i583.1.2, float %sub.i.1.2, float %div.i.1.2 | |
%cmp2.i.1.2 = fcmp olt float %fabs.i.1.2, 8.437500e-01 | |
%cond6.i.1.2 = select i1 %cmp2.i.1.2, float %mul.i.1.2, float %cond.i.1.2 | |
%1756 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1757 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1756, float 0xC083EC8820000000) #5 | |
%1758 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1757, float 0xC064145D40000000) #5 | |
%1759 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1758, float 0xC031C20960000000) #5 | |
%1760 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1759, float 0xBFE993BA80000000) #5 | |
%1761 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1760, float 0xBF84341240000000) #5 | |
%1762 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1763 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1762, float 0x40A3F219C0000000) #5 | |
%1764 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1763, float 0x40A8FFB760000000) #5 | |
%1765 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1764, float 0x409802EB20000000) #5 | |
%1766 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1765, float 0x40745CAE20000000) #5 | |
%1767 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1766, float 0x403E568B20000000) #5 | |
%1768 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1769 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1768, float 0xC067135CE0000000) #5 | |
%1770 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1769, float 0xC0644CB180000000) #5 | |
%1771 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1770, float 0xC04F300AE0000000) #5 | |
%1772 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1771, float 0xC0251E0440000000) #5 | |
%1773 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1772, float 0xBFE63416E0000000) #5 | |
%1774 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1773, float 0xBF84341260000000) #5 | |
%1775 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1776 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1775, float 0x405B28A3E0000000) #5 | |
%1777 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1776, float 0x407AD02160000000) #5 | |
%1778 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1777, float 0x40842B1920000000) #5 | |
%1779 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1778, float 0x407B290DE0000000) #5 | |
%1780 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1779, float 0x4061350C60000000) #5 | |
%1781 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1780, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.1.2 = fcmp olt float %fabs.i.1.2, 0x4006DB6DA0000000 | |
%cond36.i.1.2 = select i1 %cmp32.i.1.2, float %1774, float %1761 | |
%cond41.i.1.2 = select i1 %cmp32.i.1.2, float %1781, float %1767 | |
%1782 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1783 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1782, float 0xBFBC639840000000) #5 | |
%1784 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1783, float 0x3FD45FCA80000000) #5 | |
%1785 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1784, float 0xBFD7D24100000000) #5 | |
%1786 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1785, float 0x3FDA8D00A0000000) #5 | |
%1787 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1786, float 0xBF6359B8C0000000) #5 | |
%1788 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1789 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1788, float 0x3FC02660E0000000) #5 | |
%1790 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1789, float 0x3FB2635CE0000000) #5 | |
%1791 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1790, float 0x3FE14AF0A0000000) #5 | |
%1792 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1791, float 0x3FBB3E6620000000) #5 | |
%cond57.i.1.2 = select i1 %cmp.i583.1.2, float %1787, float %cond36.i.1.2 | |
%cond62.i.1.2 = select i1 %cmp.i583.1.2, float %1792, float %cond41.i.1.2 | |
%1793 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1794 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1793, float 0xBF9D2A51E0000000) #5 | |
%1795 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1794, float 0xBFD4CD7D60000000) #5 | |
%1796 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1795, float 0x3FC06EBA80000000) #5 | |
%1797 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1798 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1797, float 0x3F74D022C0000000) #5 | |
%1799 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1798, float 0x3FB0A54C60000000) #5 | |
%1800 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %1799, float 0x3FD97779C0000000) #5 | |
%cond75.i.1.2 = select i1 %cmp2.i.1.2, float %1796, float %cond57.i.1.2 | |
%cond80.i.1.2 = select i1 %cmp2.i.1.2, float %1800, float %cond62.i.1.2 | |
%1801 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.2, float %cond80.i.1.2, float 1.000000e+00) #5 | |
%div82.i.1.2 = fdiv float %cond75.i.1.2, %1801, !fpmath !46 | |
%and83.i.1.2 = and i32 %and.i.1.2, -4096 | |
%astype84.i.1.2 = bitcast i32 %and83.i.1.2 to float | |
%sub85.i.1.2 = fsub float -0.000000e+00, %astype84.i.1.2 | |
%1802 = tail call float @llvm.fmuladd.f32(float %sub85.i.1.2, float %astype84.i.1.2, float -5.625000e-01) #5 | |
%cmp.i2.i.1.2 = fcmp olt float %1802, 0.000000e+00 | |
%cond.i3.i.1.2 = select i1 %cmp.i2.i.1.2, float -5.000000e-01, float 5.000000e-01 | |
%1803 = tail call float @llvm.fmuladd.f32(float %1802, float 0x3FF7154760000000, float %cond.i3.i.1.2) #5 | |
%conv.i4.i.1.2 = fptosi float %1803 to i32 | |
%conv1.i5.i.1.2 = sitofp i32 %conv.i4.i.1.2 to float | |
%1804 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.1.2, float 0xBFE62E3000000000, float %1802) #5 | |
%mul.i6.i.1.2 = fmul float %conv1.i5.i.1.2, 0xBEE2FEFA20000000 | |
%add.i7.i.1.2 = fadd float %1804, %mul.i6.i.1.2 | |
%mul3.i8.i.1.2 = fmul float %add.i7.i.1.2, %add.i7.i.1.2 | |
%1805 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1806 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.2, float %1805, float 0x3F11566AA0000000) #5 | |
%1807 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.2, float %1806, float 0xBF66C16C20000000) #5 | |
%1808 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.2, float %1807, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.1.2 = fsub float -0.000000e+00, %1808 | |
%1809 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.2, float %sub8.i9.i.1.2, float %add.i7.i.1.2) #5 | |
%sub10.i10.i.1.2 = fsub float -0.000000e+00, %mul.i6.i.1.2 | |
%mul11.i11.i.1.2 = fmul float %add.i7.i.1.2, %1809 | |
%sub12.i12.i.1.2 = fsub float 2.000000e+00, %1809 | |
%div.i13.i.1.2 = fdiv float %mul11.i11.i.1.2, %sub12.i12.i.1.2, !fpmath !46 | |
%sub13.i14.i.1.2 = fsub float %sub10.i10.i.1.2, %div.i13.i.1.2 | |
%sub14.i15.i.1.2 = fsub float %sub13.i14.i.1.2, %1804 | |
%sub15.i16.i.1.2 = fsub float 1.000000e+00, %sub14.i15.i.1.2 | |
%astype.i17.i.1.2 = bitcast float %sub15.i16.i.1.2 to i32 | |
%shl.i18.i.1.2 = shl i32 %conv.i4.i.1.2, 23 | |
%add16.i19.i.1.2 = add nsw i32 %astype.i17.i.1.2, %shl.i18.i.1.2 | |
%astype17.i20.i.1.2 = bitcast i32 %add16.i19.i.1.2 to float | |
%cmp18.i21.i.1.2 = fcmp olt float %1802, 0xC055D589E0000000 | |
%cond20.i22.i.1.2 = select i1 %cmp18.i21.i.1.2, float 0.000000e+00, float %astype17.i20.i.1.2 | |
%cmp21.i23.i.1.2 = fcmp olt float %1802, 0x40562E4300000000 | |
%cond26.i24.i.1.2 = select i1 %cmp21.i23.i.1.2, float %cond20.i22.i.1.2, float 0x7FF0000000000000 | |
%cmp.i.i25.i.1.2 = fcmp uno float %1802, 0.000000e+00 | |
%cond31.i26.i.1.2 = select i1 %cmp.i.i25.i.1.2, float %1802, float %cond26.i24.i.1.2 | |
%sub88.i.1.2 = fsub float %astype84.i.1.2, %fabs.i.1.2 | |
%add.i584.1.2 = fadd float %fabs.i.1.2, %astype84.i.1.2 | |
%1810 = tail call float @llvm.fmuladd.f32(float %sub88.i.1.2, float %add.i584.1.2, float %div82.i.1.2) #5 | |
%cmp.i1.i.1.2 = fcmp olt float %1810, 0.000000e+00 | |
%cond.i.i.1.2 = select i1 %cmp.i1.i.1.2, float -5.000000e-01, float 5.000000e-01 | |
%1811 = tail call float @llvm.fmuladd.f32(float %1810, float 0x3FF7154760000000, float %cond.i.i.1.2) #5 | |
%conv.i.i.1.2 = fptosi float %1811 to i32 | |
%conv1.i.i.1.2 = sitofp i32 %conv.i.i.1.2 to float | |
%1812 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.1.2, float 0xBFE62E3000000000, float %1810) #5 | |
%mul.i.i.1.2 = fmul float %conv1.i.i.1.2, 0xBEE2FEFA20000000 | |
%add.i.i.1.2 = fadd float %1812, %mul.i.i.1.2 | |
%mul3.i.i.1.2 = fmul float %add.i.i.1.2, %add.i.i.1.2 | |
%1813 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1814 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.2, float %1813, float 0x3F11566AA0000000) #5 | |
%1815 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.2, float %1814, float 0xBF66C16C20000000) #5 | |
%1816 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.2, float %1815, float 0x3FC5555560000000) #5 | |
%sub8.i.i.1.2 = fsub float -0.000000e+00, %1816 | |
%1817 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.2, float %sub8.i.i.1.2, float %add.i.i.1.2) #5 | |
%sub10.i.i.1.2 = fsub float -0.000000e+00, %mul.i.i.1.2 | |
%mul11.i.i.1.2 = fmul float %add.i.i.1.2, %1817 | |
%sub12.i.i.1.2 = fsub float 2.000000e+00, %1817 | |
%div.i.i.1.2 = fdiv float %mul11.i.i.1.2, %sub12.i.i.1.2, !fpmath !46 | |
%sub13.i.i.1.2 = fsub float %sub10.i.i.1.2, %div.i.i.1.2 | |
%sub14.i.i.1.2 = fsub float %sub13.i.i.1.2, %1812 | |
%sub15.i.i.1.2 = fsub float 1.000000e+00, %sub14.i.i.1.2 | |
%astype.i.i.1.2 = bitcast float %sub15.i.i.1.2 to i32 | |
%shl.i.i.1.2 = shl i32 %conv.i.i.1.2, 23 | |
%add16.i.i.1.2 = add nsw i32 %astype.i.i.1.2, %shl.i.i.1.2 | |
%astype17.i.i.1.2 = bitcast i32 %add16.i.i.1.2 to float | |
%cmp18.i.i.1.2 = fcmp olt float %1810, 0xC055D589E0000000 | |
%cond20.i.i.1.2 = select i1 %cmp18.i.i.1.2, float 0.000000e+00, float %astype17.i.i.1.2 | |
%cmp21.i.i.1.2 = fcmp olt float %1810, 0x40562E4300000000 | |
%cond26.i.i.1.2 = select i1 %cmp21.i.i.1.2, float %cond20.i.i.1.2, float 0x7FF0000000000000 | |
%cmp.i.i.i.1.2 = fcmp uno float %1810, 0.000000e+00 | |
%cond31.i.i.1.2 = select i1 %cmp.i.i.i.1.2, float %1810, float %cond26.i.i.1.2 | |
%mul91.i.1.2 = fmul float %cond31.i26.i.1.2, %cond31.i.i.1.2 | |
%div92.i.1.2 = fdiv float %mul91.i.1.2, %fabs.i.1.2, !fpmath !46 | |
%sub93.i.1.2 = fsub float 2.000000e+00, %div92.i.1.2 | |
%cmp94.i.1.2 = fcmp olt float %mul226.1.2, 0.000000e+00 | |
%cond98.i.1.2 = select i1 %cmp94.i.1.2, float %sub93.i.1.2, float %div92.i.1.2 | |
%cmp99.i.1.2 = fcmp olt float %fabs.i.1.2, 2.800000e+01 | |
%cond103.i.1.2 = select i1 %cmp99.i.1.2, float %cond98.i.1.2, float 0.000000e+00 | |
%sub104.i.1.2 = fsub float 0x3FC3D4FA80000000, %div82.i.1.2 | |
%add105.i.1.2 = fadd float %div82.i.1.2, 0x3FEB0AC160000000 | |
%add106.i.1.2 = fadd float %add105.i.1.2, 1.000000e+00 | |
%cond111.i.1.2 = select i1 %cmp94.i.1.2, float %add106.i.1.2, float %sub104.i.1.2 | |
%cond116.i.1.2 = select i1 %cmp.i583.1.2, float %cond111.i.1.2, float %cond103.i.1.2 | |
%sub117.i.1.2 = fadd float %mul226.1.2, -5.000000e-01 | |
%1818 = tail call float @llvm.fmuladd.f32(float %mul226.1.2, float %div82.i.1.2, float %sub117.i.1.2) #5 | |
%sub119.i.1.2 = fsub float 5.000000e-01, %1818 | |
%cond124.i.1.2 = select i1 %cmp2.i.1.2, float %sub119.i.1.2, float %cond116.i.1.2 | |
%cmp125.i.1.2 = fcmp olt float %mul226.1.2, -6.000000e+00 | |
%cond129.i.1.2 = select i1 %cmp125.i.1.2, float 2.000000e+00, float %cond124.i.1.2 | |
%cmp.i.i.1.2 = fcmp uno float %mul226.1.2, 0.000000e+00 | |
%cond134.i.1.2 = select i1 %cmp.i.i.1.2, float %mul226.1.2, float %cond129.i.1.2 | |
%mul229.1.2 = fmul float %cond.1.2, %nbparam_params_sh_ewald | |
%neg230.1.2 = fsub float -0.000000e+00, %mul229.1.2 | |
%1819 = tail call float @llvm.fmuladd.f32(float %div196.1.2, float %cond134.i.1.2, float %neg230.1.2) | |
%1820 = tail call float @llvm.fmuladd.f32(float %mul217.1.2, float %1819, float %E_el.5.2932) | |
%splat.splatinsert.1.2 = insertelement <3 x float> undef, float %1755, i32 0 | |
%splat.splat.1.2 = shufflevector <3 x float> %splat.splatinsert.1.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.1.2 = fmul <3 x float> %extractVec166.1.2, %splat.splat.1.2 | |
%extractVec243.1.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2934, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.1.2 = fsub <3 x float> %extractVec243.1.2, %mul235.1.2 | |
%extractVec245.1.2 = shufflevector <3 x float> %sub244.1.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.1.2 = shufflevector <4 x float> %fci_buf.sroa.12.5, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.1.2 = fadd <3 x float> %extractVec253.1.2, %mul235.1.2 | |
%extractVec255.1.2 = shufflevector <3 x float> %add254.1.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.1.2 | |
if.end258.1.2: ; preds = %if.then182.1.2, %if.then147.1.2, %if.end258.2936 | |
%fci_buf.sroa.12.6 = phi <4 x float> [ %fci_buf.sroa.12.5, %if.end258.2936 ], [ %extractVec255.1.2, %if.then182.1.2 ], [ %fci_buf.sroa.12.5, %if.then147.1.2 ] | |
%E_el.5.1.2 = phi float [ %E_el.5.2932, %if.end258.2936 ], [ %1820, %if.then182.1.2 ], [ %E_el.5.2932, %if.then147.1.2 ] | |
%E_lj.3.1.2 = phi float [ %E_lj.3.2933, %if.end258.2936 ], [ %add216.1.2, %if.then182.1.2 ], [ %E_lj.3.2933, %if.then147.1.2 ] | |
%fcj_buf.sroa.0.1.1.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.2934, %if.end258.2936 ], [ %extractVec245.1.2, %if.then182.1.2 ], [ %fcj_buf.sroa.0.1.2934, %if.then147.1.2 ] | |
%and145.2.2 = and i32 %64, 262144 | |
%tobool146.2.2 = icmp eq i32 %and145.2.2, 0 | |
br i1 %tobool146.2.2, label %if.end258.2.2, label %if.then147.2.2 | |
if.then147.2.2: ; preds = %if.end258.1.2 | |
%1821 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.2.3, align 16, !tbaa !36 | |
%1822 = fsub <4 x float> %1821, %1630 | |
%1823 = extractelement <4 x float> %1822, i32 0 | |
%1824 = extractelement <4 x float> %1822, i32 1 | |
%mul3.i.i589.2.2 = fmul float %1824, %1824 | |
%1825 = tail call float @llvm.fmuladd.f32(float %1823, float %1823, float %mul3.i.i589.2.2) #5 | |
%1826 = extractelement <4 x float> %1822, i32 2 | |
%1827 = tail call float @llvm.fmuladd.f32(float %1826, float %1826, float %1825) #5 | |
%and168.2.2 = and i32 %66, 262144 | |
%tobool169.2.2 = icmp ne i32 %and168.2.2, 0 | |
%cond.2.2 = select i1 %tobool169.2.2, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.2.2 = icmp eq i32 %58, %1628 | |
%or.cond.2.2 = and i1 %cmp63, %cmp174.2.2 | |
%not.or.cond.2.2 = xor i1 %or.cond.2.2, true | |
%cmp176..2.2 = or i1 %cmp176, %not.or.cond.2.2 | |
%conv178.2.2 = uitofp i1 %cmp176..2.2 to float | |
%mul179.2.2 = fmul float %conv178.2.2, %nbparam_params_rcoulomb_sq | |
%cmp180.2.2 = fcmp olt float %1827, %mul179.2.2 | |
br i1 %cmp180.2.2, label %if.then182.2.2, label %if.end258.2.2 | |
if.then182.2.2: ; preds = %if.then147.2.2 | |
%extractVec166.2.2 = shufflevector <4 x float> %1822, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1828 = extractelement <4 x float> %1821, i32 3 | |
%1829 = load i32, i32 addrspace(1)* %arrayidx183.2.3, align 4, !tbaa !41 | |
%mul184.2.2 = mul nsw i32 %1829, %ntypes | |
%add185.2.2 = add nsw i32 %mul184.2.2, %1632 | |
%mul186.2.2 = shl nsw i32 %add185.2.2, 1 | |
%1830 = sext i32 %mul186.2.2 to i64 | |
%arrayidx187.2.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1830 | |
%1831 = load float, float addrspace(2)* %arrayidx187.2.2, align 4, !tbaa !39 | |
%add191.2.2 = or i32 %mul186.2.2, 1 | |
%1832 = sext i32 %add191.2.2 to i64 | |
%arrayidx192.2.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1832 | |
%1833 = load float, float addrspace(2)* %arrayidx192.2.2, align 4, !tbaa !39 | |
%sub193.2.2 = fsub float 1.000000e+00, %cond.2.2 | |
%1834 = tail call float @llvm.fmuladd.f32(float %sub193.2.2, float 0x3D71979980000000, float %1827) | |
%cmp.i.i587.2.2 = fcmp olt float %1834, 0.000000e+00 | |
%call.i.i.2.2 = tail call float @llvm.sqrt.f32(float %1834) #6 | |
%call.i.i.op.2.2 = fdiv float 1.000000e+00, %call.i.i.2.2 | |
%div196.2.2 = select i1 %cmp.i.i587.2.2, float 0x7FF8000000000000, float %call.i.i.op.2.2 | |
%mul197.2.2 = fmul float %div196.2.2, %div196.2.2 | |
%mul198.2.2 = fmul float %mul197.2.2, %mul197.2.2 | |
%mul199.2.2 = fmul float %mul197.2.2, %mul198.2.2 | |
%mul200.2.2 = fmul float %cond.2.2, %mul199.2.2 | |
%neg.2.2 = fsub float -0.000000e+00, %1831 | |
%1835 = tail call float @llvm.fmuladd.f32(float %1833, float %mul200.2.2, float %neg.2.2) | |
%mul202.2.2 = fmul float %mul200.2.2, %1835 | |
%mul203.2.2 = fmul float %mul197.2.2, %mul202.2.2 | |
%1836 = tail call float @llvm.fmuladd.f32(float %mul200.2.2, float %mul200.2.2, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.2.2 = fmul float %1836, %1833 | |
%add211.2.2 = fadd float %mul200.2.2, %nbparam_params_dispersion_shift_cpot | |
%mul212.2.2 = fmul float %add211.2.2, %1831 | |
%mul213.2.2 = fmul float %mul212.2.2, 0x3FC5555560000000 | |
%neg214.2.2 = fsub float -0.000000e+00, %mul213.2.2 | |
%1837 = tail call float @llvm.fmuladd.f32(float %mul207.2.2, float 0x3FB5555540000000, float %neg214.2.2) | |
%mul215.2.2 = fmul float %cond.2.2, %1837 | |
%add216.2.2 = fadd float %E_lj.3.1.2, %mul215.2.2 | |
%mul217.2.2 = fmul float %1631, %1828 | |
%mul218.2.2 = fmul float %cond.2.2, %mul197.2.2 | |
%mul220.2.2 = fmul float %mul, %1834 | |
%mul.i585.2.2 = fmul float %mul220.2.2, %mul220.2.2 | |
%1838 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.2.2, float 0x3FBDA79640000000) #5 | |
%1839 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.2.2, float 0x3FE03C5780000000) #5 | |
%1840 = tail call float @llvm.fmuladd.f32(float %1838, float %mul.i585.2.2, float 1.000000e+00) #5 | |
%1841 = tail call float @llvm.fmuladd.f32(float %1839, float %mul220.2.2, float %1840) #5 | |
%div.i586.2.2 = fdiv float 1.000000e+00, %1841, !fpmath !46 | |
%1842 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.2.2, float 0xBF0BFF7260000000) #5 | |
%1843 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.2.2, float 0x3F50794180000000) #5 | |
%1844 = tail call float @llvm.fmuladd.f32(float %1842, float %mul.i585.2.2, float 0xBF93BDB200000000) #5 | |
%1845 = tail call float @llvm.fmuladd.f32(float %1843, float %mul.i585.2.2, float 0x3FB1D5E760000000) #5 | |
%1846 = tail call float @llvm.fmuladd.f32(float %1844, float %mul.i585.2.2, float 0xBFE81272E0000000) #5 | |
%1847 = tail call float @llvm.fmuladd.f32(float %1845, float %mul220.2.2, float %1846) #5 | |
%mul11.i.2.2 = fmul float %1847, %div.i586.2.2 | |
%mul222.2.2 = fmul float %mul19, %mul11.i.2.2 | |
%1848 = tail call float @llvm.fmuladd.f32(float %mul218.2.2, float %div196.2.2, float %mul222.2.2) | |
%1849 = tail call float @llvm.fmuladd.f32(float %mul217.2.2, float %1848, float %mul203.2.2) | |
%mul225.2.2 = fmul float %1834, %div196.2.2 | |
%mul226.2.2 = fmul float %mul225.2.2, %nbparam_params_ewald_beta | |
%fabs.i.2.2 = tail call float @llvm.fabs.f32(float %mul226.2.2) #5 | |
%and.i.2.2 = bitcast float %fabs.i.2.2 to i32 | |
%mul.i.2.2 = fmul float %mul226.2.2, %mul226.2.2 | |
%div.i.2.2 = fdiv float 1.000000e+00, %mul.i.2.2, !fpmath !46 | |
%sub.i.2.2 = fadd float %fabs.i.2.2, -1.000000e+00 | |
%cmp.i583.2.2 = fcmp olt float %fabs.i.2.2, 1.250000e+00 | |
%cond.i.2.2 = select i1 %cmp.i583.2.2, float %sub.i.2.2, float %div.i.2.2 | |
%cmp2.i.2.2 = fcmp olt float %fabs.i.2.2, 8.437500e-01 | |
%cond6.i.2.2 = select i1 %cmp2.i.2.2, float %mul.i.2.2, float %cond.i.2.2 | |
%1850 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1851 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1850, float 0xC083EC8820000000) #5 | |
%1852 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1851, float 0xC064145D40000000) #5 | |
%1853 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1852, float 0xC031C20960000000) #5 | |
%1854 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1853, float 0xBFE993BA80000000) #5 | |
%1855 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1854, float 0xBF84341240000000) #5 | |
%1856 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1857 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1856, float 0x40A3F219C0000000) #5 | |
%1858 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1857, float 0x40A8FFB760000000) #5 | |
%1859 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1858, float 0x409802EB20000000) #5 | |
%1860 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1859, float 0x40745CAE20000000) #5 | |
%1861 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1860, float 0x403E568B20000000) #5 | |
%1862 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1863 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1862, float 0xC067135CE0000000) #5 | |
%1864 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1863, float 0xC0644CB180000000) #5 | |
%1865 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1864, float 0xC04F300AE0000000) #5 | |
%1866 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1865, float 0xC0251E0440000000) #5 | |
%1867 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1866, float 0xBFE63416E0000000) #5 | |
%1868 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1867, float 0xBF84341260000000) #5 | |
%1869 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1870 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1869, float 0x405B28A3E0000000) #5 | |
%1871 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1870, float 0x407AD02160000000) #5 | |
%1872 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1871, float 0x40842B1920000000) #5 | |
%1873 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1872, float 0x407B290DE0000000) #5 | |
%1874 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1873, float 0x4061350C60000000) #5 | |
%1875 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1874, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.2.2 = fcmp olt float %fabs.i.2.2, 0x4006DB6DA0000000 | |
%cond36.i.2.2 = select i1 %cmp32.i.2.2, float %1868, float %1855 | |
%cond41.i.2.2 = select i1 %cmp32.i.2.2, float %1875, float %1861 | |
%1876 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1877 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1876, float 0xBFBC639840000000) #5 | |
%1878 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1877, float 0x3FD45FCA80000000) #5 | |
%1879 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1878, float 0xBFD7D24100000000) #5 | |
%1880 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1879, float 0x3FDA8D00A0000000) #5 | |
%1881 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1880, float 0xBF6359B8C0000000) #5 | |
%1882 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1883 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1882, float 0x3FC02660E0000000) #5 | |
%1884 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1883, float 0x3FB2635CE0000000) #5 | |
%1885 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1884, float 0x3FE14AF0A0000000) #5 | |
%1886 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1885, float 0x3FBB3E6620000000) #5 | |
%cond57.i.2.2 = select i1 %cmp.i583.2.2, float %1881, float %cond36.i.2.2 | |
%cond62.i.2.2 = select i1 %cmp.i583.2.2, float %1886, float %cond41.i.2.2 | |
%1887 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1888 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1887, float 0xBF9D2A51E0000000) #5 | |
%1889 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1888, float 0xBFD4CD7D60000000) #5 | |
%1890 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1889, float 0x3FC06EBA80000000) #5 | |
%1891 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1892 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1891, float 0x3F74D022C0000000) #5 | |
%1893 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1892, float 0x3FB0A54C60000000) #5 | |
%1894 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %1893, float 0x3FD97779C0000000) #5 | |
%cond75.i.2.2 = select i1 %cmp2.i.2.2, float %1890, float %cond57.i.2.2 | |
%cond80.i.2.2 = select i1 %cmp2.i.2.2, float %1894, float %cond62.i.2.2 | |
%1895 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.2, float %cond80.i.2.2, float 1.000000e+00) #5 | |
%div82.i.2.2 = fdiv float %cond75.i.2.2, %1895, !fpmath !46 | |
%and83.i.2.2 = and i32 %and.i.2.2, -4096 | |
%astype84.i.2.2 = bitcast i32 %and83.i.2.2 to float | |
%sub85.i.2.2 = fsub float -0.000000e+00, %astype84.i.2.2 | |
%1896 = tail call float @llvm.fmuladd.f32(float %sub85.i.2.2, float %astype84.i.2.2, float -5.625000e-01) #5 | |
%cmp.i2.i.2.2 = fcmp olt float %1896, 0.000000e+00 | |
%cond.i3.i.2.2 = select i1 %cmp.i2.i.2.2, float -5.000000e-01, float 5.000000e-01 | |
%1897 = tail call float @llvm.fmuladd.f32(float %1896, float 0x3FF7154760000000, float %cond.i3.i.2.2) #5 | |
%conv.i4.i.2.2 = fptosi float %1897 to i32 | |
%conv1.i5.i.2.2 = sitofp i32 %conv.i4.i.2.2 to float | |
%1898 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.2.2, float 0xBFE62E3000000000, float %1896) #5 | |
%mul.i6.i.2.2 = fmul float %conv1.i5.i.2.2, 0xBEE2FEFA20000000 | |
%add.i7.i.2.2 = fadd float %1898, %mul.i6.i.2.2 | |
%mul3.i8.i.2.2 = fmul float %add.i7.i.2.2, %add.i7.i.2.2 | |
%1899 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1900 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.2, float %1899, float 0x3F11566AA0000000) #5 | |
%1901 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.2, float %1900, float 0xBF66C16C20000000) #5 | |
%1902 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.2, float %1901, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.2.2 = fsub float -0.000000e+00, %1902 | |
%1903 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.2, float %sub8.i9.i.2.2, float %add.i7.i.2.2) #5 | |
%sub10.i10.i.2.2 = fsub float -0.000000e+00, %mul.i6.i.2.2 | |
%mul11.i11.i.2.2 = fmul float %add.i7.i.2.2, %1903 | |
%sub12.i12.i.2.2 = fsub float 2.000000e+00, %1903 | |
%div.i13.i.2.2 = fdiv float %mul11.i11.i.2.2, %sub12.i12.i.2.2, !fpmath !46 | |
%sub13.i14.i.2.2 = fsub float %sub10.i10.i.2.2, %div.i13.i.2.2 | |
%sub14.i15.i.2.2 = fsub float %sub13.i14.i.2.2, %1898 | |
%sub15.i16.i.2.2 = fsub float 1.000000e+00, %sub14.i15.i.2.2 | |
%astype.i17.i.2.2 = bitcast float %sub15.i16.i.2.2 to i32 | |
%shl.i18.i.2.2 = shl i32 %conv.i4.i.2.2, 23 | |
%add16.i19.i.2.2 = add nsw i32 %astype.i17.i.2.2, %shl.i18.i.2.2 | |
%astype17.i20.i.2.2 = bitcast i32 %add16.i19.i.2.2 to float | |
%cmp18.i21.i.2.2 = fcmp olt float %1896, 0xC055D589E0000000 | |
%cond20.i22.i.2.2 = select i1 %cmp18.i21.i.2.2, float 0.000000e+00, float %astype17.i20.i.2.2 | |
%cmp21.i23.i.2.2 = fcmp olt float %1896, 0x40562E4300000000 | |
%cond26.i24.i.2.2 = select i1 %cmp21.i23.i.2.2, float %cond20.i22.i.2.2, float 0x7FF0000000000000 | |
%cmp.i.i25.i.2.2 = fcmp uno float %1896, 0.000000e+00 | |
%cond31.i26.i.2.2 = select i1 %cmp.i.i25.i.2.2, float %1896, float %cond26.i24.i.2.2 | |
%sub88.i.2.2 = fsub float %astype84.i.2.2, %fabs.i.2.2 | |
%add.i584.2.2 = fadd float %fabs.i.2.2, %astype84.i.2.2 | |
%1904 = tail call float @llvm.fmuladd.f32(float %sub88.i.2.2, float %add.i584.2.2, float %div82.i.2.2) #5 | |
%cmp.i1.i.2.2 = fcmp olt float %1904, 0.000000e+00 | |
%cond.i.i.2.2 = select i1 %cmp.i1.i.2.2, float -5.000000e-01, float 5.000000e-01 | |
%1905 = tail call float @llvm.fmuladd.f32(float %1904, float 0x3FF7154760000000, float %cond.i.i.2.2) #5 | |
%conv.i.i.2.2 = fptosi float %1905 to i32 | |
%conv1.i.i.2.2 = sitofp i32 %conv.i.i.2.2 to float | |
%1906 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.2.2, float 0xBFE62E3000000000, float %1904) #5 | |
%mul.i.i.2.2 = fmul float %conv1.i.i.2.2, 0xBEE2FEFA20000000 | |
%add.i.i.2.2 = fadd float %1906, %mul.i.i.2.2 | |
%mul3.i.i.2.2 = fmul float %add.i.i.2.2, %add.i.i.2.2 | |
%1907 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1908 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.2, float %1907, float 0x3F11566AA0000000) #5 | |
%1909 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.2, float %1908, float 0xBF66C16C20000000) #5 | |
%1910 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.2, float %1909, float 0x3FC5555560000000) #5 | |
%sub8.i.i.2.2 = fsub float -0.000000e+00, %1910 | |
%1911 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.2, float %sub8.i.i.2.2, float %add.i.i.2.2) #5 | |
%sub10.i.i.2.2 = fsub float -0.000000e+00, %mul.i.i.2.2 | |
%mul11.i.i.2.2 = fmul float %add.i.i.2.2, %1911 | |
%sub12.i.i.2.2 = fsub float 2.000000e+00, %1911 | |
%div.i.i.2.2 = fdiv float %mul11.i.i.2.2, %sub12.i.i.2.2, !fpmath !46 | |
%sub13.i.i.2.2 = fsub float %sub10.i.i.2.2, %div.i.i.2.2 | |
%sub14.i.i.2.2 = fsub float %sub13.i.i.2.2, %1906 | |
%sub15.i.i.2.2 = fsub float 1.000000e+00, %sub14.i.i.2.2 | |
%astype.i.i.2.2 = bitcast float %sub15.i.i.2.2 to i32 | |
%shl.i.i.2.2 = shl i32 %conv.i.i.2.2, 23 | |
%add16.i.i.2.2 = add nsw i32 %astype.i.i.2.2, %shl.i.i.2.2 | |
%astype17.i.i.2.2 = bitcast i32 %add16.i.i.2.2 to float | |
%cmp18.i.i.2.2 = fcmp olt float %1904, 0xC055D589E0000000 | |
%cond20.i.i.2.2 = select i1 %cmp18.i.i.2.2, float 0.000000e+00, float %astype17.i.i.2.2 | |
%cmp21.i.i.2.2 = fcmp olt float %1904, 0x40562E4300000000 | |
%cond26.i.i.2.2 = select i1 %cmp21.i.i.2.2, float %cond20.i.i.2.2, float 0x7FF0000000000000 | |
%cmp.i.i.i.2.2 = fcmp uno float %1904, 0.000000e+00 | |
%cond31.i.i.2.2 = select i1 %cmp.i.i.i.2.2, float %1904, float %cond26.i.i.2.2 | |
%mul91.i.2.2 = fmul float %cond31.i26.i.2.2, %cond31.i.i.2.2 | |
%div92.i.2.2 = fdiv float %mul91.i.2.2, %fabs.i.2.2, !fpmath !46 | |
%sub93.i.2.2 = fsub float 2.000000e+00, %div92.i.2.2 | |
%cmp94.i.2.2 = fcmp olt float %mul226.2.2, 0.000000e+00 | |
%cond98.i.2.2 = select i1 %cmp94.i.2.2, float %sub93.i.2.2, float %div92.i.2.2 | |
%cmp99.i.2.2 = fcmp olt float %fabs.i.2.2, 2.800000e+01 | |
%cond103.i.2.2 = select i1 %cmp99.i.2.2, float %cond98.i.2.2, float 0.000000e+00 | |
%sub104.i.2.2 = fsub float 0x3FC3D4FA80000000, %div82.i.2.2 | |
%add105.i.2.2 = fadd float %div82.i.2.2, 0x3FEB0AC160000000 | |
%add106.i.2.2 = fadd float %add105.i.2.2, 1.000000e+00 | |
%cond111.i.2.2 = select i1 %cmp94.i.2.2, float %add106.i.2.2, float %sub104.i.2.2 | |
%cond116.i.2.2 = select i1 %cmp.i583.2.2, float %cond111.i.2.2, float %cond103.i.2.2 | |
%sub117.i.2.2 = fadd float %mul226.2.2, -5.000000e-01 | |
%1912 = tail call float @llvm.fmuladd.f32(float %mul226.2.2, float %div82.i.2.2, float %sub117.i.2.2) #5 | |
%sub119.i.2.2 = fsub float 5.000000e-01, %1912 | |
%cond124.i.2.2 = select i1 %cmp2.i.2.2, float %sub119.i.2.2, float %cond116.i.2.2 | |
%cmp125.i.2.2 = fcmp olt float %mul226.2.2, -6.000000e+00 | |
%cond129.i.2.2 = select i1 %cmp125.i.2.2, float 2.000000e+00, float %cond124.i.2.2 | |
%cmp.i.i.2.2 = fcmp uno float %mul226.2.2, 0.000000e+00 | |
%cond134.i.2.2 = select i1 %cmp.i.i.2.2, float %mul226.2.2, float %cond129.i.2.2 | |
%mul229.2.2 = fmul float %cond.2.2, %nbparam_params_sh_ewald | |
%neg230.2.2 = fsub float -0.000000e+00, %mul229.2.2 | |
%1913 = tail call float @llvm.fmuladd.f32(float %div196.2.2, float %cond134.i.2.2, float %neg230.2.2) | |
%1914 = tail call float @llvm.fmuladd.f32(float %mul217.2.2, float %1913, float %E_el.5.1.2) | |
%splat.splatinsert.2.2 = insertelement <3 x float> undef, float %1849, i32 0 | |
%splat.splat.2.2 = shufflevector <3 x float> %splat.splatinsert.2.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.2.2 = fmul <3 x float> %extractVec166.2.2, %splat.splat.2.2 | |
%extractVec243.2.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.2.2 = fsub <3 x float> %extractVec243.2.2, %mul235.2.2 | |
%extractVec245.2.2 = shufflevector <3 x float> %sub244.2.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.2.2 = shufflevector <4 x float> %fci_buf.sroa.22.5, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.2.2 = fadd <3 x float> %extractVec253.2.2, %mul235.2.2 | |
%extractVec255.2.2 = shufflevector <3 x float> %add254.2.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.2.2 | |
if.end258.2.2: ; preds = %if.then182.2.2, %if.then147.2.2, %if.end258.1.2 | |
%fci_buf.sroa.22.6 = phi <4 x float> [ %fci_buf.sroa.22.5, %if.end258.1.2 ], [ %extractVec255.2.2, %if.then182.2.2 ], [ %fci_buf.sroa.22.5, %if.then147.2.2 ] | |
%E_el.5.2.2 = phi float [ %E_el.5.1.2, %if.end258.1.2 ], [ %1914, %if.then182.2.2 ], [ %E_el.5.1.2, %if.then147.2.2 ] | |
%E_lj.3.2.2 = phi float [ %E_lj.3.1.2, %if.end258.1.2 ], [ %add216.2.2, %if.then182.2.2 ], [ %E_lj.3.1.2, %if.then147.2.2 ] | |
%fcj_buf.sroa.0.1.2.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.1.2, %if.end258.1.2 ], [ %extractVec245.2.2, %if.then182.2.2 ], [ %fcj_buf.sroa.0.1.1.2, %if.then147.2.2 ] | |
%and145.3.2 = and i32 %64, 524288 | |
%tobool146.3.2 = icmp eq i32 %and145.3.2, 0 | |
br i1 %tobool146.3.2, label %if.end258.3.2, label %if.then147.3.2 | |
if.then147.3.2: ; preds = %if.end258.2.2 | |
%1915 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.3.3, align 16, !tbaa !36 | |
%1916 = fsub <4 x float> %1915, %1630 | |
%1917 = extractelement <4 x float> %1916, i32 0 | |
%1918 = extractelement <4 x float> %1916, i32 1 | |
%mul3.i.i589.3.2 = fmul float %1918, %1918 | |
%1919 = tail call float @llvm.fmuladd.f32(float %1917, float %1917, float %mul3.i.i589.3.2) #5 | |
%1920 = extractelement <4 x float> %1916, i32 2 | |
%1921 = tail call float @llvm.fmuladd.f32(float %1920, float %1920, float %1919) #5 | |
%and168.3.2 = and i32 %66, 524288 | |
%tobool169.3.2 = icmp ne i32 %and168.3.2, 0 | |
%cond.3.2 = select i1 %tobool169.3.2, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.3.2 = icmp eq i32 %56, %1628 | |
%or.cond.3.2 = and i1 %cmp63, %cmp174.3.2 | |
%not.or.cond.3.2 = xor i1 %or.cond.3.2, true | |
%cmp176..3.2 = or i1 %cmp176, %not.or.cond.3.2 | |
%conv178.3.2 = uitofp i1 %cmp176..3.2 to float | |
%mul179.3.2 = fmul float %conv178.3.2, %nbparam_params_rcoulomb_sq | |
%cmp180.3.2 = fcmp olt float %1921, %mul179.3.2 | |
br i1 %cmp180.3.2, label %if.then182.3.2, label %if.end258.3.2 | |
if.then182.3.2: ; preds = %if.then147.3.2 | |
%extractVec166.3.2 = shufflevector <4 x float> %1916, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%1922 = extractelement <4 x float> %1915, i32 3 | |
%1923 = load i32, i32 addrspace(1)* %arrayidx183.3.3, align 4, !tbaa !41 | |
%mul184.3.2 = mul nsw i32 %1923, %ntypes | |
%add185.3.2 = add nsw i32 %mul184.3.2, %1632 | |
%mul186.3.2 = shl nsw i32 %add185.3.2, 1 | |
%1924 = sext i32 %mul186.3.2 to i64 | |
%arrayidx187.3.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1924 | |
%1925 = load float, float addrspace(2)* %arrayidx187.3.2, align 4, !tbaa !39 | |
%add191.3.2 = or i32 %mul186.3.2, 1 | |
%1926 = sext i32 %add191.3.2 to i64 | |
%arrayidx192.3.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1926 | |
%1927 = load float, float addrspace(2)* %arrayidx192.3.2, align 4, !tbaa !39 | |
%sub193.3.2 = fsub float 1.000000e+00, %cond.3.2 | |
%1928 = tail call float @llvm.fmuladd.f32(float %sub193.3.2, float 0x3D71979980000000, float %1921) | |
%cmp.i.i587.3.2 = fcmp olt float %1928, 0.000000e+00 | |
%call.i.i.3.2 = tail call float @llvm.sqrt.f32(float %1928) #6 | |
%call.i.i.op.3.2 = fdiv float 1.000000e+00, %call.i.i.3.2 | |
%div196.3.2 = select i1 %cmp.i.i587.3.2, float 0x7FF8000000000000, float %call.i.i.op.3.2 | |
%mul197.3.2 = fmul float %div196.3.2, %div196.3.2 | |
%mul198.3.2 = fmul float %mul197.3.2, %mul197.3.2 | |
%mul199.3.2 = fmul float %mul197.3.2, %mul198.3.2 | |
%mul200.3.2 = fmul float %cond.3.2, %mul199.3.2 | |
%neg.3.2 = fsub float -0.000000e+00, %1925 | |
%1929 = tail call float @llvm.fmuladd.f32(float %1927, float %mul200.3.2, float %neg.3.2) | |
%mul202.3.2 = fmul float %mul200.3.2, %1929 | |
%mul203.3.2 = fmul float %mul197.3.2, %mul202.3.2 | |
%1930 = tail call float @llvm.fmuladd.f32(float %mul200.3.2, float %mul200.3.2, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.3.2 = fmul float %1930, %1927 | |
%add211.3.2 = fadd float %mul200.3.2, %nbparam_params_dispersion_shift_cpot | |
%mul212.3.2 = fmul float %add211.3.2, %1925 | |
%mul213.3.2 = fmul float %mul212.3.2, 0x3FC5555560000000 | |
%neg214.3.2 = fsub float -0.000000e+00, %mul213.3.2 | |
%1931 = tail call float @llvm.fmuladd.f32(float %mul207.3.2, float 0x3FB5555540000000, float %neg214.3.2) | |
%mul215.3.2 = fmul float %cond.3.2, %1931 | |
%add216.3.2 = fadd float %E_lj.3.2.2, %mul215.3.2 | |
%mul217.3.2 = fmul float %1631, %1922 | |
%mul218.3.2 = fmul float %cond.3.2, %mul197.3.2 | |
%mul220.3.2 = fmul float %mul, %1928 | |
%mul.i585.3.2 = fmul float %mul220.3.2, %mul220.3.2 | |
%1932 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.3.2, float 0x3FBDA79640000000) #5 | |
%1933 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.3.2, float 0x3FE03C5780000000) #5 | |
%1934 = tail call float @llvm.fmuladd.f32(float %1932, float %mul.i585.3.2, float 1.000000e+00) #5 | |
%1935 = tail call float @llvm.fmuladd.f32(float %1933, float %mul220.3.2, float %1934) #5 | |
%div.i586.3.2 = fdiv float 1.000000e+00, %1935, !fpmath !46 | |
%1936 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.3.2, float 0xBF0BFF7260000000) #5 | |
%1937 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.3.2, float 0x3F50794180000000) #5 | |
%1938 = tail call float @llvm.fmuladd.f32(float %1936, float %mul.i585.3.2, float 0xBF93BDB200000000) #5 | |
%1939 = tail call float @llvm.fmuladd.f32(float %1937, float %mul.i585.3.2, float 0x3FB1D5E760000000) #5 | |
%1940 = tail call float @llvm.fmuladd.f32(float %1938, float %mul.i585.3.2, float 0xBFE81272E0000000) #5 | |
%1941 = tail call float @llvm.fmuladd.f32(float %1939, float %mul220.3.2, float %1940) #5 | |
%mul11.i.3.2 = fmul float %1941, %div.i586.3.2 | |
%mul222.3.2 = fmul float %mul19, %mul11.i.3.2 | |
%1942 = tail call float @llvm.fmuladd.f32(float %mul218.3.2, float %div196.3.2, float %mul222.3.2) | |
%1943 = tail call float @llvm.fmuladd.f32(float %mul217.3.2, float %1942, float %mul203.3.2) | |
%mul225.3.2 = fmul float %1928, %div196.3.2 | |
%mul226.3.2 = fmul float %mul225.3.2, %nbparam_params_ewald_beta | |
%fabs.i.3.2 = tail call float @llvm.fabs.f32(float %mul226.3.2) #5 | |
%and.i.3.2 = bitcast float %fabs.i.3.2 to i32 | |
%mul.i.3.2 = fmul float %mul226.3.2, %mul226.3.2 | |
%div.i.3.2 = fdiv float 1.000000e+00, %mul.i.3.2, !fpmath !46 | |
%sub.i.3.2 = fadd float %fabs.i.3.2, -1.000000e+00 | |
%cmp.i583.3.2 = fcmp olt float %fabs.i.3.2, 1.250000e+00 | |
%cond.i.3.2 = select i1 %cmp.i583.3.2, float %sub.i.3.2, float %div.i.3.2 | |
%cmp2.i.3.2 = fcmp olt float %fabs.i.3.2, 8.437500e-01 | |
%cond6.i.3.2 = select i1 %cmp2.i.3.2, float %mul.i.3.2, float %cond.i.3.2 | |
%1944 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%1945 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1944, float 0xC083EC8820000000) #5 | |
%1946 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1945, float 0xC064145D40000000) #5 | |
%1947 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1946, float 0xC031C20960000000) #5 | |
%1948 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1947, float 0xBFE993BA80000000) #5 | |
%1949 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1948, float 0xBF84341240000000) #5 | |
%1950 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%1951 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1950, float 0x40A3F219C0000000) #5 | |
%1952 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1951, float 0x40A8FFB760000000) #5 | |
%1953 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1952, float 0x409802EB20000000) #5 | |
%1954 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1953, float 0x40745CAE20000000) #5 | |
%1955 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1954, float 0x403E568B20000000) #5 | |
%1956 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%1957 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1956, float 0xC067135CE0000000) #5 | |
%1958 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1957, float 0xC0644CB180000000) #5 | |
%1959 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1958, float 0xC04F300AE0000000) #5 | |
%1960 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1959, float 0xC0251E0440000000) #5 | |
%1961 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1960, float 0xBFE63416E0000000) #5 | |
%1962 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1961, float 0xBF84341260000000) #5 | |
%1963 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%1964 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1963, float 0x405B28A3E0000000) #5 | |
%1965 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1964, float 0x407AD02160000000) #5 | |
%1966 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1965, float 0x40842B1920000000) #5 | |
%1967 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1966, float 0x407B290DE0000000) #5 | |
%1968 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1967, float 0x4061350C60000000) #5 | |
%1969 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1968, float 0x4033A6B9C0000000) #5 | |
%cmp32.i.3.2 = fcmp olt float %fabs.i.3.2, 0x4006DB6DA0000000 | |
%cond36.i.3.2 = select i1 %cmp32.i.3.2, float %1962, float %1949 | |
%cond41.i.3.2 = select i1 %cmp32.i.3.2, float %1969, float %1955 | |
%1970 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 | |
%1971 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1970, float 0xBFBC639840000000) #5 | |
%1972 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1971, float 0x3FD45FCA80000000) #5 | |
%1973 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1972, float 0xBFD7D24100000000) #5 | |
%1974 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1973, float 0x3FDA8D00A0000000) #5 | |
%1975 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1974, float 0xBF6359B8C0000000) #5 | |
%1976 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 | |
%1977 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1976, float 0x3FC02660E0000000) #5 | |
%1978 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1977, float 0x3FB2635CE0000000) #5 | |
%1979 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1978, float 0x3FE14AF0A0000000) #5 | |
%1980 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1979, float 0x3FBB3E6620000000) #5 | |
%cond57.i.3.2 = select i1 %cmp.i583.3.2, float %1975, float %cond36.i.3.2 | |
%cond62.i.3.2 = select i1 %cmp.i583.3.2, float %1980, float %cond41.i.3.2 | |
%1981 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 | |
%1982 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1981, float 0xBF9D2A51E0000000) #5 | |
%1983 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1982, float 0xBFD4CD7D60000000) #5 | |
%1984 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1983, float 0x3FC06EBA80000000) #5 | |
%1985 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 | |
%1986 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1985, float 0x3F74D022C0000000) #5 | |
%1987 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1986, float 0x3FB0A54C60000000) #5 | |
%1988 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %1987, float 0x3FD97779C0000000) #5 | |
%cond75.i.3.2 = select i1 %cmp2.i.3.2, float %1984, float %cond57.i.3.2 | |
%cond80.i.3.2 = select i1 %cmp2.i.3.2, float %1988, float %cond62.i.3.2 | |
%1989 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.2, float %cond80.i.3.2, float 1.000000e+00) #5 | |
%div82.i.3.2 = fdiv float %cond75.i.3.2, %1989, !fpmath !46 | |
%and83.i.3.2 = and i32 %and.i.3.2, -4096 | |
%astype84.i.3.2 = bitcast i32 %and83.i.3.2 to float | |
%sub85.i.3.2 = fsub float -0.000000e+00, %astype84.i.3.2 | |
%1990 = tail call float @llvm.fmuladd.f32(float %sub85.i.3.2, float %astype84.i.3.2, float -5.625000e-01) #5 | |
%cmp.i2.i.3.2 = fcmp olt float %1990, 0.000000e+00 | |
%cond.i3.i.3.2 = select i1 %cmp.i2.i.3.2, float -5.000000e-01, float 5.000000e-01 | |
%1991 = tail call float @llvm.fmuladd.f32(float %1990, float 0x3FF7154760000000, float %cond.i3.i.3.2) #5 | |
%conv.i4.i.3.2 = fptosi float %1991 to i32 | |
%conv1.i5.i.3.2 = sitofp i32 %conv.i4.i.3.2 to float | |
%1992 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.3.2, float 0xBFE62E3000000000, float %1990) #5 | |
%mul.i6.i.3.2 = fmul float %conv1.i5.i.3.2, 0xBEE2FEFA20000000 | |
%add.i7.i.3.2 = fadd float %1992, %mul.i6.i.3.2 | |
%mul3.i8.i.3.2 = fmul float %add.i7.i.3.2, %add.i7.i.3.2 | |
%1993 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%1994 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.2, float %1993, float 0x3F11566AA0000000) #5 | |
%1995 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.2, float %1994, float 0xBF66C16C20000000) #5 | |
%1996 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.2, float %1995, float 0x3FC5555560000000) #5 | |
%sub8.i9.i.3.2 = fsub float -0.000000e+00, %1996 | |
%1997 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.2, float %sub8.i9.i.3.2, float %add.i7.i.3.2) #5 | |
%sub10.i10.i.3.2 = fsub float -0.000000e+00, %mul.i6.i.3.2 | |
%mul11.i11.i.3.2 = fmul float %add.i7.i.3.2, %1997 | |
%sub12.i12.i.3.2 = fsub float 2.000000e+00, %1997 | |
%div.i13.i.3.2 = fdiv float %mul11.i11.i.3.2, %sub12.i12.i.3.2, !fpmath !46 | |
%sub13.i14.i.3.2 = fsub float %sub10.i10.i.3.2, %div.i13.i.3.2 | |
%sub14.i15.i.3.2 = fsub float %sub13.i14.i.3.2, %1992 | |
%sub15.i16.i.3.2 = fsub float 1.000000e+00, %sub14.i15.i.3.2 | |
%astype.i17.i.3.2 = bitcast float %sub15.i16.i.3.2 to i32 | |
%shl.i18.i.3.2 = shl i32 %conv.i4.i.3.2, 23 | |
%add16.i19.i.3.2 = add nsw i32 %astype.i17.i.3.2, %shl.i18.i.3.2 | |
%astype17.i20.i.3.2 = bitcast i32 %add16.i19.i.3.2 to float | |
%cmp18.i21.i.3.2 = fcmp olt float %1990, 0xC055D589E0000000 | |
%cond20.i22.i.3.2 = select i1 %cmp18.i21.i.3.2, float 0.000000e+00, float %astype17.i20.i.3.2 | |
%cmp21.i23.i.3.2 = fcmp olt float %1990, 0x40562E4300000000 | |
%cond26.i24.i.3.2 = select i1 %cmp21.i23.i.3.2, float %cond20.i22.i.3.2, float 0x7FF0000000000000 | |
%cmp.i.i25.i.3.2 = fcmp uno float %1990, 0.000000e+00 | |
%cond31.i26.i.3.2 = select i1 %cmp.i.i25.i.3.2, float %1990, float %cond26.i24.i.3.2 | |
%sub88.i.3.2 = fsub float %astype84.i.3.2, %fabs.i.3.2 | |
%add.i584.3.2 = fadd float %fabs.i.3.2, %astype84.i.3.2 | |
%1998 = tail call float @llvm.fmuladd.f32(float %sub88.i.3.2, float %add.i584.3.2, float %div82.i.3.2) #5 | |
%cmp.i1.i.3.2 = fcmp olt float %1998, 0.000000e+00 | |
%cond.i.i.3.2 = select i1 %cmp.i1.i.3.2, float -5.000000e-01, float 5.000000e-01 | |
%1999 = tail call float @llvm.fmuladd.f32(float %1998, float 0x3FF7154760000000, float %cond.i.i.3.2) #5 | |
%conv.i.i.3.2 = fptosi float %1999 to i32 | |
%conv1.i.i.3.2 = sitofp i32 %conv.i.i.3.2 to float | |
%2000 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.3.2, float 0xBFE62E3000000000, float %1998) #5 | |
%mul.i.i.3.2 = fmul float %conv1.i.i.3.2, 0xBEE2FEFA20000000 | |
%add.i.i.3.2 = fadd float %2000, %mul.i.i.3.2 | |
%mul3.i.i.3.2 = fmul float %add.i.i.3.2, %add.i.i.3.2 | |
%2001 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 | |
%2002 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.2, float %2001, float 0x3F11566AA0000000) #5 | |
%2003 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.2, float %2002, float 0xBF66C16C20000000) #5 | |
%2004 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.2, float %2003, float 0x3FC5555560000000) #5 | |
%sub8.i.i.3.2 = fsub float -0.000000e+00, %2004 | |
%2005 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.2, float %sub8.i.i.3.2, float %add.i.i.3.2) #5 | |
%sub10.i.i.3.2 = fsub float -0.000000e+00, %mul.i.i.3.2 | |
%mul11.i.i.3.2 = fmul float %add.i.i.3.2, %2005 | |
%sub12.i.i.3.2 = fsub float 2.000000e+00, %2005 | |
%div.i.i.3.2 = fdiv float %mul11.i.i.3.2, %sub12.i.i.3.2, !fpmath !46 | |
%sub13.i.i.3.2 = fsub float %sub10.i.i.3.2, %div.i.i.3.2 | |
%sub14.i.i.3.2 = fsub float %sub13.i.i.3.2, %2000 | |
%sub15.i.i.3.2 = fsub float 1.000000e+00, %sub14.i.i.3.2 | |
%astype.i.i.3.2 = bitcast float %sub15.i.i.3.2 to i32 | |
%shl.i.i.3.2 = shl i32 %conv.i.i.3.2, 23 | |
%add16.i.i.3.2 = add nsw i32 %astype.i.i.3.2, %shl.i.i.3.2 | |
%astype17.i.i.3.2 = bitcast i32 %add16.i.i.3.2 to float | |
%cmp18.i.i.3.2 = fcmp olt float %1998, 0xC055D589E0000000 | |
%cond20.i.i.3.2 = select i1 %cmp18.i.i.3.2, float 0.000000e+00, float %astype17.i.i.3.2 | |
%cmp21.i.i.3.2 = fcmp olt float %1998, 0x40562E4300000000 | |
%cond26.i.i.3.2 = select i1 %cmp21.i.i.3.2, float %cond20.i.i.3.2, float 0x7FF0000000000000 | |
%cmp.i.i.i.3.2 = fcmp uno float %1998, 0.000000e+00 | |
%cond31.i.i.3.2 = select i1 %cmp.i.i.i.3.2, float %1998, float %cond26.i.i.3.2 | |
%mul91.i.3.2 = fmul float %cond31.i26.i.3.2, %cond31.i.i.3.2 | |
%div92.i.3.2 = fdiv float %mul91.i.3.2, %fabs.i.3.2, !fpmath !46 | |
%sub93.i.3.2 = fsub float 2.000000e+00, %div92.i.3.2 | |
%cmp94.i.3.2 = fcmp olt float %mul226.3.2, 0.000000e+00 | |
%cond98.i.3.2 = select i1 %cmp94.i.3.2, float %sub93.i.3.2, float %div92.i.3.2 | |
%cmp99.i.3.2 = fcmp olt float %fabs.i.3.2, 2.800000e+01 | |
%cond103.i.3.2 = select i1 %cmp99.i.3.2, float %cond98.i.3.2, float 0.000000e+00 | |
%sub104.i.3.2 = fsub float 0x3FC3D4FA80000000, %div82.i.3.2 | |
%add105.i.3.2 = fadd float %div82.i.3.2, 0x3FEB0AC160000000 | |
%add106.i.3.2 = fadd float %add105.i.3.2, 1.000000e+00 | |
%cond111.i.3.2 = select i1 %cmp94.i.3.2, float %add106.i.3.2, float %sub104.i.3.2 | |
%cond116.i.3.2 = select i1 %cmp.i583.3.2, float %cond111.i.3.2, float %cond103.i.3.2 | |
%sub117.i.3.2 = fadd float %mul226.3.2, -5.000000e-01 | |
%2006 = tail call float @llvm.fmuladd.f32(float %mul226.3.2, float %div82.i.3.2, float %sub117.i.3.2) #5 | |
%sub119.i.3.2 = fsub float 5.000000e-01, %2006 | |
%cond124.i.3.2 = select i1 %cmp2.i.3.2, float %sub119.i.3.2, float %cond116.i.3.2 | |
%cmp125.i.3.2 = fcmp olt float %mul226.3.2, -6.000000e+00 | |
%cond129.i.3.2 = select i1 %cmp125.i.3.2, float 2.000000e+00, float %cond124.i.3.2 | |
%cmp.i.i.3.2 = fcmp uno float %mul226.3.2, 0.000000e+00 | |
%cond134.i.3.2 = select i1 %cmp.i.i.3.2, float %mul226.3.2, float %cond129.i.3.2 | |
%mul229.3.2 = fmul float %cond.3.2, %nbparam_params_sh_ewald | |
%neg230.3.2 = fsub float -0.000000e+00, %mul229.3.2 | |
%2007 = tail call float @llvm.fmuladd.f32(float %div196.3.2, float %cond134.i.3.2, float %neg230.3.2) | |
%2008 = tail call float @llvm.fmuladd.f32(float %mul217.3.2, float %2007, float %E_el.5.2.2) | |
%splat.splatinsert.3.2 = insertelement <3 x float> undef, float %1943, i32 0 | |
%splat.splat.3.2 = shufflevector <3 x float> %splat.splatinsert.3.2, <3 x float> undef, <3 x i32> zeroinitializer | |
%mul235.3.2 = fmul <3 x float> %extractVec166.3.2, %splat.splat.3.2 | |
%extractVec243.3.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.2, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%sub244.3.2 = fsub <3 x float> %extractVec243.3.2, %mul235.3.2 | |
%extractVec245.3.2 = shufflevector <3 x float> %sub244.3.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
%extractVec253.3.2 = shufflevector <4 x float> %fci_buf.sroa.32.5, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%add254.3.2 = fadd <3 x float> %extractVec253.3.2, %mul235.3.2 | |
%extractVec255.3.2 = shufflevector <3 x float> %add254.3.2, <3 x float> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 undef> | |
br label %if.end258.3.2 | |
if.end258.3.2: ; preds = %if.then182.3.2, %if.then147.3.2, %if.end258.2.2 | |
%fci_buf.sroa.32.6 = phi <4 x float> [ %fci_buf.sroa.32.5, %if.end258.2.2 ], [ %extractVec255.3.2, %if.then182.3.2 ], [ %fci_buf.sroa.32.5, %if.then147.3.2 ] | |
%E_el.5.3.2 = phi float [ %E_el.5.2.2, %if.end258.2.2 ], [ %2008, %if.then182.3.2 ], [ %E_el.5.2.2, %if.then147.3.2 ] | |
%E_lj.3.3.2 = phi float [ %E_lj.3.2.2, %if.end258.2.2 ], [ %add216.3.2, %if.then182.3.2 ], [ %E_lj.3.2.2, %if.then147.3.2 ] | |
%fcj_buf.sroa.0.1.3.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.2.2, %if.end258.2.2 ], [ %extractVec245.3.2, %if.then182.3.2 ], [ %fcj_buf.sroa.0.1.2.2, %if.then147.3.2 ] | |
%and145.4.2 = and i32 %64, 1048576 | |
%tobool146.4.2 = icmp eq i32 %and145.4.2, 0 | |
br i1 %tobool146.4.2, label %if.end258.4.2, label %if.then147.4.2 | |
if.then147.4.2: ; preds = %if.end258.3.2 | |
%2009 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.4.3, align 16, !tbaa !36 | |
%2010 = fsub <4 x float> %2009, %1630 | |
%2011 = extractelement <4 x float> %2010, i32 0 | |
%2012 = extractelement <4 x float> %2010, i32 1 | |
%mul3.i.i589.4.2 = fmul float %2012, %2012 | |
%2013 = tail call float @llvm.fmuladd.f32(float %2011, float %2011, float %mul3.i.i589.4.2) #5 | |
%2014 = extractelement <4 x float> %2010, i32 2 | |
%2015 = tail call float @llvm.fmuladd.f32(float %2014, float %2014, float %2013) #5 | |
%and168.4.2 = and i32 %66, 1048576 | |
%tobool169.4.2 = icmp ne i32 %and168.4.2, 0 | |
%cond.4.2 = select i1 %tobool169.4.2, float 1.000000e+00, float 0.000000e+00 | |
%cmp174.4.2 = icmp eq i32 %54, %1628 | |
%or.cond.4.2 = and i1 %cmp63, %cmp174.4.2 | |
%not.or.cond.4.2 = xor i1 %or.cond.4.2, true | |
%cmp176..4.2 = or i1 %cmp176, %not.or.cond.4.2 | |
%conv178.4.2 = uitofp i1 %cmp176..4.2 to float | |
%mul179.4.2 = fmul float %conv178.4.2, %nbparam_params_rcoulomb_sq | |
%cmp180.4.2 = fcmp olt float %2015, %mul179.4.2 | |
br i1 %cmp180.4.2, label %if.then182.4.2, label %if.end258.4.2 | |
if.then182.4.2: ; preds = %if.then147.4.2 | |
%extractVec166.4.2 = shufflevector <4 x float> %2010, <4 x float> undef, <3 x i32> <i32 0, i32 1, i32 2> | |
%2016 = extractelement <4 x float> %2009, i32 3 | |
%2017 = load i32, i32 addrspace(1)* %arrayidx183.4.3, align 4, !tbaa !41 | |
%mul184.4.2 = mul nsw i32 %2017, %ntypes | |
%add185.4.2 = add nsw i32 %mul184.4.2, %1632 | |
%mul186.4.2 = shl nsw i32 %add185.4.2, 1 | |
%2018 = sext i32 %mul186.4.2 to i64 | |
%arrayidx187.4.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2018 | |
%2019 = load float, float addrspace(2)* %arrayidx187.4.2, align 4, !tbaa !39 | |
%add191.4.2 = or i32 %mul186.4.2, 1 | |
%2020 = sext i32 %add191.4.2 to i64 | |
%arrayidx192.4.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2020 | |
%2021 = load float, float addrspace(2)* %arrayidx192.4.2, align 4, !tbaa !39 | |
%sub193.4.2 = fsub float 1.000000e+00, %cond.4.2 | |
%2022 = tail call float @llvm.fmuladd.f32(float %sub193.4.2, float 0x3D71979980000000, float %2015) | |
%cmp.i.i587.4.2 = fcmp olt float %2022, 0.000000e+00 | |
%call.i.i.4.2 = tail call float @llvm.sqrt.f32(float %2022) #6 | |
%call.i.i.op.4.2 = fdiv float 1.000000e+00, %call.i.i.4.2 | |
%div196.4.2 = select i1 %cmp.i.i587.4.2, float 0x7FF8000000000000, float %call.i.i.op.4.2 | |
%mul197.4.2 = fmul float %div196.4.2, %div196.4.2 | |
%mul198.4.2 = fmul float %mul197.4.2, %mul197.4.2 | |
%mul199.4.2 = fmul float %mul197.4.2, %mul198.4.2 | |
%mul200.4.2 = fmul float %cond.4.2, %mul199.4.2 | |
%neg.4.2 = fsub float -0.000000e+00, %2019 | |
%2023 = tail call float @llvm.fmuladd.f32(float %2021, float %mul200.4.2, float %neg.4.2) | |
%mul202.4.2 = fmul float %mul200.4.2, %2023 | |
%mul203.4.2 = fmul float %mul197.4.2, %mul202.4.2 | |
%2024 = tail call float @llvm.fmuladd.f32(float %mul200.4.2, float %mul200.4.2, float %nbparam_params_repulsion_shift_cpot) | |
%mul207.4.2 = fmul float %2024, %2021 | |
%add211.4.2 = fadd float %mul200.4.2, %nbparam_params_dispersion_shift_cpot | |
%mul212.4.2 = fmul float %add211.4.2, %2019 | |
%mul213.4.2 = fmul float %mul212.4.2, 0x3FC5555560000000 | |
%neg214.4.2 = fsub float -0.000000e+00, %mul213.4.2 | |
%2025 = tail call float @llvm.fmuladd.f32(float %mul207.4.2, float 0x3FB5555540000000, float %neg214.4.2) | |
%mul215.4.2 = fmul float %cond.4.2, %2025 | |
%add216.4.2 = fadd float %E_lj.3.3.2, %mul215.4.2 | |
%mul217.4.2 = fmul float %1631, %2016 | |
%mul218.4.2 = fmul float %cond.4.2, %mul197.4.2 | |
%mul220.4.2 = fmul float %mul, %2022 | |
%mul.i585.4.2 = fmul float %mul220.4.2, %mul220.4.2 | |
%2026 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.4.2, float 0x3FBDA79640000000) #5 | |
%2027 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.4.2, float 0x3FE03C5780000000) #5 | |
%2028 = tail call float @llvm.fmuladd.f32(float %2026, float %mul.i585.4.2, float 1.000000e+00) #5 | |
%2029 = tail call float @llvm.fmuladd.f32(float %2027, float %mul220.4.2, float %2028) #5 | |
%div.i586.4.2 = fdiv float 1.000000e+00, %2029, !fpmath !46 | |
%2030 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.4.2, float 0xBF0BFF7260000000) #5 | |
%2031 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.4.2, float 0x3F50794180000000) #5 | |
%2032 = tail call float @llvm.fmuladd.f32(float %2030, float %mul.i585.4.2, float 0xBF93BDB200000000) #5 | |
%2033 = tail call float @llvm.fmuladd.f32(float %2031, float %mul.i585.4.2, float 0x3FB1D5E760000000) #5 | |
%2034 = tail call float @llvm.fmuladd.f32(float %2032, float %mul.i585.4.2, float 0xBFE81272E0000000) #5 | |
%2035 = tail call float @llvm.fmuladd.f32(float %2033, float %mul220.4.2, float %2034) #5 | |
%mul11.i.4.2 = fmul float %2035, %div.i586.4.2 | |
%mul222.4.2 = fmul float %mul19, %mul11.i.4.2 | |
%2036 = tail call float @llvm.fmuladd.f32(float %mul218.4.2, float %div196.4.2, float %mul222.4.2) | |
%2037 = tail call float @llvm.fmuladd.f32(float %mul217.4.2, float %2036, float %mul203.4.2) | |
%mul225.4.2 = fmul float %2022, %div196.4.2 | |
%mul226.4.2 = fmul float %mul225.4.2, %nbparam_params_ewald_beta | |
%fabs.i.4.2 = tail call float @llvm.fabs.f32(float %mul226.4.2) #5 | |
%and.i.4.2 = bitcast float %fabs.i.4.2 to i32 | |
%mul.i.4.2 = fmul float %mul226.4.2, %mul226.4.2 | |
%div.i.4.2 = fdiv float 1.000000e+00, %mul.i.4.2, !fpmath !46 | |
%sub.i.4.2 = fadd float %fabs.i.4.2, -1.000000e+00 | |
%cmp.i583.4.2 = fcmp olt float %fabs.i.4.2, 1.250000e+00 | |
%cond.i.4.2 = select i1 %cmp.i583.4.2, float %sub.i.4.2, float %div.i.4.2 | |
%cmp2.i.4.2 = fcmp olt float %fabs.i.4.2, 8.437500e-01 | |
%cond6.i.4.2 = select i1 %cmp2.i.4.2, float %mul.i.4.2, float %cond.i.4.2 | |
%2038 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 | |
%2039 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2038, float 0xC083EC8820000000) #5 | |
%2040 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2039, float 0xC064145D40000000) #5 | |
%2041 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2040, float 0xC031C20960000000) #5 | |
%2042 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2041, float 0xBFE993BA80000000) #5 | |
%2043 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2042, float 0xBF84341240000000) #5 | |
%2044 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 | |
%2045 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2044, float 0x40A3F219C0000000) #5 | |
%2046 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2045, float 0x40A8FFB760000000) #5 | |
%2047 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2046, float 0x409802EB20000000) #5 | |
%2048 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2047, float 0x40745CAE20000000) #5 | |
%2049 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2048, float 0x403E568B20000000) #5 | |
%2050 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 | |
%2051 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2050, float 0xC067135CE0000000) #5 | |
%2052 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2051, float 0xC0644CB180000000) #5 | |
%2053 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2052, float 0xC04F300AE0000000) #5 | |
%2054 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2053, float 0xC0251E0440000000) #5 | |
%2055 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2054, float 0xBFE63416E0000000) #5 | |
%2056 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2055, float 0xBF84341260000000) #5 | |
%2057 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 | |
%2058 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2057, float 0x405B28A3E0000000) #5 | |
%2059 = tail call float @l |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment