; 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> %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> [ , %for.body63.lr.ph ], [ %fci_buf.sroa.37.2, %for.inc221 ] %37 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> 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> 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> 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> 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> 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> 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> to i128) to i96) to <3 x float>), %for.body63.lr.ph ], [ %95, %for.inc221 ] %loadVec4200.7 = phi <4 x float> [ , %for.body63.lr.ph ], [ %loadVec4200.7738, %for.inc221 ] %loadVec4200.6 = phi <4 x float> [ , %for.body63.lr.ph ], [ %loadVec4200.6728, %for.inc221 ] %loadVec4200.5 = phi <4 x float> [ , %for.body63.lr.ph ], [ %loadVec4200.5718, %for.inc221 ] %loadVec4200.4 = phi <4 x float> [ , %for.body63.lr.ph ], [ %loadVec4200.4708, %for.inc221 ] %loadVec4200.3 = phi <4 x float> [ , %for.body63.lr.ph ], [ %loadVec4200.3698, %for.inc221 ] %loadVec4200.2 = phi <4 x float> [ , %for.body63.lr.ph ], [ %loadVec4200.2688, %for.inc221 ] %loadVec4200.1 = phi <4 x float> [ , %for.body63.lr.ph ], [ %loadVec4200.1678, %for.inc221 ] %loadVec4200 = phi <4 x float> [ , %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> %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> %extractVec201 = shufflevector <4 x float> %loadVec4200, <4 x float> undef, <3 x i32> %add202 = fadd <3 x float> %extractVec201, %mul183 %extractVec203 = shufflevector <3 x float> %add202, <3 x float> undef, <4 x i32> 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 ], [ , %if.then117 ], [ , %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> [ , %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> 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> 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> 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> 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> 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> 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> 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> %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> %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> %extractVec201.1 = shufflevector <4 x float> %loadVec4200.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.2 = shufflevector <4 x float> %loadVec4200.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.3 = shufflevector <4 x float> %loadVec4200.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.4 = shufflevector <4 x float> %loadVec4200.4, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.5 = shufflevector <4 x float> %loadVec4200.5, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.6 = shufflevector <4 x float> %loadVec4200.6, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.7 = shufflevector <4 x float> %loadVec4200.7, <4 x float> undef, <3 x i32> %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> 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> %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> %extractVec201.1540 = shufflevector <4 x float> %loadVec4200.1539, <4 x float> undef, <3 x i32> %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> 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 ], [ , %if.then117.1502 ], [ , %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> %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> %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> %extractVec201.1.1 = shufflevector <4 x float> %loadVec4200.1.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.2.1 = shufflevector <4 x float> %loadVec4200.2.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.3.1 = shufflevector <4 x float> %loadVec4200.3.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.4.1 = shufflevector <4 x float> %loadVec4200.4.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.5.1 = shufflevector <4 x float> %loadVec4200.5.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.6.1 = shufflevector <4 x float> %loadVec4200.6.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.7.1 = shufflevector <4 x float> %loadVec4200.7.1, <4 x float> undef, <3 x i32> %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> 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> %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> %extractVec201.2598 = shufflevector <4 x float> %loadVec4200.2597, <4 x float> undef, <3 x i32> %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> 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 ], [ , %if.then117.2560 ], [ , %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> %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> %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> %extractVec201.1.2 = shufflevector <4 x float> %loadVec4200.1.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.2.2 = shufflevector <4 x float> %loadVec4200.2.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.3.2 = shufflevector <4 x float> %loadVec4200.3.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.4.2 = shufflevector <4 x float> %loadVec4200.4.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.5.2 = shufflevector <4 x float> %loadVec4200.5.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.6.2 = shufflevector <4 x float> %loadVec4200.6.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.7.2 = shufflevector <4 x float> %loadVec4200.7.2, <4 x float> undef, <3 x i32> %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> 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> %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> %extractVec201.3656 = shufflevector <4 x float> %loadVec4200.3655, <4 x float> undef, <3 x i32> %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> 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 ], [ , %if.then117.3618 ], [ , %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> %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> %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> %extractVec201.1.3 = shufflevector <4 x float> %loadVec4200.1.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.2.3 = shufflevector <4 x float> %loadVec4200.2.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.3.3 = shufflevector <4 x float> %loadVec4200.3.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.4.3 = shufflevector <4 x float> %loadVec4200.4.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.5.3 = shufflevector <4 x float> %loadVec4200.5.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.6.3 = shufflevector <4 x float> %loadVec4200.6.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec201.7.3 = shufflevector <4 x float> %loadVec4200.7.3, <4 x float> undef, <3 x i32> %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> 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> [ , %for.body65.lr.ph ], [ %fci_buf.sroa.37.2, %for.inc227 ] %37 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> 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> 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> 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> 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> 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> 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> to i128) to i96) to <3 x float>), %for.body65.lr.ph ], [ %95, %for.inc227 ] %loadVec4206.7 = phi <4 x float> [ , %for.body65.lr.ph ], [ %loadVec4206.7757, %for.inc227 ] %loadVec4206.6 = phi <4 x float> [ , %for.body65.lr.ph ], [ %loadVec4206.6747, %for.inc227 ] %loadVec4206.5 = phi <4 x float> [ , %for.body65.lr.ph ], [ %loadVec4206.5737, %for.inc227 ] %loadVec4206.4 = phi <4 x float> [ , %for.body65.lr.ph ], [ %loadVec4206.4727, %for.inc227 ] %loadVec4206.3 = phi <4 x float> [ , %for.body65.lr.ph ], [ %loadVec4206.3717, %for.inc227 ] %loadVec4206.2 = phi <4 x float> [ , %for.body65.lr.ph ], [ %loadVec4206.2707, %for.inc227 ] %loadVec4206.1 = phi <4 x float> [ , %for.body65.lr.ph ], [ %loadVec4206.1697, %for.inc227 ] %loadVec4206 = phi <4 x float> [ , %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> %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> %extractVec207 = shufflevector <4 x float> %loadVec4206, <4 x float> undef, <3 x i32> %add208 = fadd <3 x float> %extractVec207, %mul189 %extractVec209 = shufflevector <3 x float> %add208, <3 x float> undef, <4 x i32> 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 ], [ , %if.then119 ], [ , %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> [ , %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> 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> 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> 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> 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> 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> 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> 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> %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> %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> %extractVec207.1 = shufflevector <4 x float> %loadVec4206.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.2 = shufflevector <4 x float> %loadVec4206.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.3 = shufflevector <4 x float> %loadVec4206.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.4 = shufflevector <4 x float> %loadVec4206.4, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.5 = shufflevector <4 x float> %loadVec4206.5, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.6 = shufflevector <4 x float> %loadVec4206.6, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.7 = shufflevector <4 x float> %loadVec4206.7, <4 x float> undef, <3 x i32> %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> 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> %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> %extractVec207.1553 = shufflevector <4 x float> %loadVec4206.1552, <4 x float> undef, <3 x i32> %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> 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 ], [ , %if.then119.1512 ], [ , %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> %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> %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> %extractVec207.1.1 = shufflevector <4 x float> %loadVec4206.1.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.2.1 = shufflevector <4 x float> %loadVec4206.2.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.3.1 = shufflevector <4 x float> %loadVec4206.3.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.4.1 = shufflevector <4 x float> %loadVec4206.4.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.5.1 = shufflevector <4 x float> %loadVec4206.5.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.6.1 = shufflevector <4 x float> %loadVec4206.6.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.7.1 = shufflevector <4 x float> %loadVec4206.7.1, <4 x float> undef, <3 x i32> %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> 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> %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> %extractVec207.2614 = shufflevector <4 x float> %loadVec4206.2613, <4 x float> undef, <3 x i32> %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> 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 ], [ , %if.then119.2573 ], [ , %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> %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> %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> %extractVec207.1.2 = shufflevector <4 x float> %loadVec4206.1.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.2.2 = shufflevector <4 x float> %loadVec4206.2.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.3.2 = shufflevector <4 x float> %loadVec4206.3.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.4.2 = shufflevector <4 x float> %loadVec4206.4.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.5.2 = shufflevector <4 x float> %loadVec4206.5.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.6.2 = shufflevector <4 x float> %loadVec4206.6.2, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.7.2 = shufflevector <4 x float> %loadVec4206.7.2, <4 x float> undef, <3 x i32> %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> 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> %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> %extractVec207.3675 = shufflevector <4 x float> %loadVec4206.3674, <4 x float> undef, <3 x i32> %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> 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 ], [ , %if.then119.3634 ], [ , %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> %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> %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> %extractVec207.1.3 = shufflevector <4 x float> %loadVec4206.1.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.2.3 = shufflevector <4 x float> %loadVec4206.2.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.3.3 = shufflevector <4 x float> %loadVec4206.3.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.4.3 = shufflevector <4 x float> %loadVec4206.4.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.5.3 = shufflevector <4 x float> %loadVec4206.5.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.6.3 = shufflevector <4 x float> %loadVec4206.6.3, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec207.7.3 = shufflevector <4 x float> %loadVec4206.7.3, <4 x float> undef, <3 x i32> %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> 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> [ , %for.body92.lr.ph ], [ %fci_buf.sroa.72.2, %for.inc273 ] %fci_buf.sroa.62.0 = phi <4 x float> [ , %for.body92.lr.ph ], [ %fci_buf.sroa.62.2, %for.inc273 ] %fci_buf.sroa.52.0 = phi <4 x float> [ , %for.body92.lr.ph ], [ %fci_buf.sroa.52.2, %for.inc273 ] %fci_buf.sroa.42.0 = phi <4 x float> [ , %for.body92.lr.ph ], [ %fci_buf.sroa.42.2, %for.inc273 ] %fci_buf.sroa.32.0 = phi <4 x float> [ , %for.body92.lr.ph ], [ %fci_buf.sroa.32.2, %for.inc273 ] %fci_buf.sroa.22.0 = phi <4 x float> [ , %for.body92.lr.ph ], [ %fci_buf.sroa.22.2, %for.inc273 ] %fci_buf.sroa.12.0 = phi <4 x float> [ , %for.body92.lr.ph ], [ %fci_buf.sroa.12.2, %for.inc273 ] %fci_buf.sroa.0.0 = phi <4 x float> [ , %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> %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> %extractVec253 = shufflevector <4 x float> %fci_buf.sroa.0.0, <4 x float> undef, <3 x i32> %add254 = fadd <3 x float> %extractVec253, %mul235 %extractVec255 = shufflevector <3 x float> %add254, <3 x float> undef, <4 x i32> 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> [ , %if.then126 ], [ %extractVec245, %if.then182 ], [ , %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> %fci_buf.sroa.12.16.vec.extract = shufflevector <4 x float> %fci_buf.sroa.12.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.22.32.vec.extract = shufflevector <4 x float> %fci_buf.sroa.22.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.32.48.vec.extract = shufflevector <4 x float> %fci_buf.sroa.32.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.42.64.vec.extract = shufflevector <4 x float> %fci_buf.sroa.42.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.52.80.vec.extract = shufflevector <4 x float> %fci_buf.sroa.52.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.62.96.vec.extract = shufflevector <4 x float> %fci_buf.sroa.62.2.lcssa, <4 x float> undef, <3 x i32> 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> [ , %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> 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> 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> 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> 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> 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> 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> 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> %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> %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> %extractVec253.1 = shufflevector <4 x float> %fci_buf.sroa.12.0, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.2 = shufflevector <4 x float> %fci_buf.sroa.22.0, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.3 = shufflevector <4 x float> %fci_buf.sroa.32.0, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.4 = shufflevector <4 x float> %fci_buf.sroa.42.0, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.5 = shufflevector <4 x float> %fci_buf.sroa.52.0, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.6 = shufflevector <4 x float> %fci_buf.sroa.62.0, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.7 = shufflevector <4 x float> %fci_buf.sroa.72.0, <4 x float> undef, <3 x i32> %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> 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> %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> %extractVec253.1765 = shufflevector <4 x float> %fci_buf.sroa.0.2, <4 x float> undef, <3 x i32> %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> 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> [ , %if.then126.1 ], [ %extractVec245.1761, %if.then182.1768 ], [ , %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> %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> %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> %extractVec253.1.1 = shufflevector <4 x float> %fci_buf.sroa.12.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.2.1 = shufflevector <4 x float> %fci_buf.sroa.22.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.3.1 = shufflevector <4 x float> %fci_buf.sroa.32.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.4.1 = shufflevector <4 x float> %fci_buf.sroa.42.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.5.1 = shufflevector <4 x float> %fci_buf.sroa.52.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.6.1 = shufflevector <4 x float> %fci_buf.sroa.62.1, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.7.1 = shufflevector <4 x float> %fci_buf.sroa.72.1, <4 x float> undef, <3 x i32> %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> 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> %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> %extractVec253.2928 = shufflevector <4 x float> %fci_buf.sroa.0.5, <4 x float> undef, <3 x i32> %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> 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> [ , %if.then126.2 ], [ %extractVec245.2924, %if.then182.2931 ], [ , %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> %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> %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> %extractVec253.1.2 = shufflevector <4 x float> %fci_buf.sroa.12.5, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.2.2 = shufflevector <4 x float> %fci_buf.sroa.22.5, <4 x float> undef, <3 x i32> %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> 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> %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> %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> %extractVec253.3.2 = shufflevector <4 x float> %fci_buf.sroa.32.5, <4 x float> undef, <3 x i32> %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> 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> %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 @llvm.fmuladd.f32(float %cond6.i.4.2, float %2058, float 0x407AD02160000000) #5 %2060 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2059, float 0x40842B1920000000) #5 %2061 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2060, float 0x407B290DE0000000) #5 %2062 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2061, float 0x4061350C60000000) #5 %2063 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2062, float 0x4033A6B9C0000000) #5 %cmp32.i.4.2 = fcmp olt float %fabs.i.4.2, 0x4006DB6DA0000000 %cond36.i.4.2 = select i1 %cmp32.i.4.2, float %2056, float %2043 %cond41.i.4.2 = select i1 %cmp32.i.4.2, float %2063, float %2049 %2064 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2065 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2064, float 0xBFBC639840000000) #5 %2066 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2065, float 0x3FD45FCA80000000) #5 %2067 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2066, float 0xBFD7D24100000000) #5 %2068 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2067, float 0x3FDA8D00A0000000) #5 %2069 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2068, float 0xBF6359B8C0000000) #5 %2070 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2071 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2070, float 0x3FC02660E0000000) #5 %2072 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2071, float 0x3FB2635CE0000000) #5 %2073 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2072, float 0x3FE14AF0A0000000) #5 %2074 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2073, float 0x3FBB3E6620000000) #5 %cond57.i.4.2 = select i1 %cmp.i583.4.2, float %2069, float %cond36.i.4.2 %cond62.i.4.2 = select i1 %cmp.i583.4.2, float %2074, float %cond41.i.4.2 %2075 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2076 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2075, float 0xBF9D2A51E0000000) #5 %2077 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2076, float 0xBFD4CD7D60000000) #5 %2078 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2077, float 0x3FC06EBA80000000) #5 %2079 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2080 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2079, float 0x3F74D022C0000000) #5 %2081 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2080, float 0x3FB0A54C60000000) #5 %2082 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2081, float 0x3FD97779C0000000) #5 %cond75.i.4.2 = select i1 %cmp2.i.4.2, float %2078, float %cond57.i.4.2 %cond80.i.4.2 = select i1 %cmp2.i.4.2, float %2082, float %cond62.i.4.2 %2083 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %cond80.i.4.2, float 1.000000e+00) #5 %div82.i.4.2 = fdiv float %cond75.i.4.2, %2083, !fpmath !46 %and83.i.4.2 = and i32 %and.i.4.2, -4096 %astype84.i.4.2 = bitcast i32 %and83.i.4.2 to float %sub85.i.4.2 = fsub float -0.000000e+00, %astype84.i.4.2 %2084 = tail call float @llvm.fmuladd.f32(float %sub85.i.4.2, float %astype84.i.4.2, float -5.625000e-01) #5 %cmp.i2.i.4.2 = fcmp olt float %2084, 0.000000e+00 %cond.i3.i.4.2 = select i1 %cmp.i2.i.4.2, float -5.000000e-01, float 5.000000e-01 %2085 = tail call float @llvm.fmuladd.f32(float %2084, float 0x3FF7154760000000, float %cond.i3.i.4.2) #5 %conv.i4.i.4.2 = fptosi float %2085 to i32 %conv1.i5.i.4.2 = sitofp i32 %conv.i4.i.4.2 to float %2086 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.4.2, float 0xBFE62E3000000000, float %2084) #5 %mul.i6.i.4.2 = fmul float %conv1.i5.i.4.2, 0xBEE2FEFA20000000 %add.i7.i.4.2 = fadd float %2086, %mul.i6.i.4.2 %mul3.i8.i.4.2 = fmul float %add.i7.i.4.2, %add.i7.i.4.2 %2087 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2088 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float %2087, float 0x3F11566AA0000000) #5 %2089 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float %2088, float 0xBF66C16C20000000) #5 %2090 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float %2089, float 0x3FC5555560000000) #5 %sub8.i9.i.4.2 = fsub float -0.000000e+00, %2090 %2091 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float %sub8.i9.i.4.2, float %add.i7.i.4.2) #5 %sub10.i10.i.4.2 = fsub float -0.000000e+00, %mul.i6.i.4.2 %mul11.i11.i.4.2 = fmul float %add.i7.i.4.2, %2091 %sub12.i12.i.4.2 = fsub float 2.000000e+00, %2091 %div.i13.i.4.2 = fdiv float %mul11.i11.i.4.2, %sub12.i12.i.4.2, !fpmath !46 %sub13.i14.i.4.2 = fsub float %sub10.i10.i.4.2, %div.i13.i.4.2 %sub14.i15.i.4.2 = fsub float %sub13.i14.i.4.2, %2086 %sub15.i16.i.4.2 = fsub float 1.000000e+00, %sub14.i15.i.4.2 %astype.i17.i.4.2 = bitcast float %sub15.i16.i.4.2 to i32 %shl.i18.i.4.2 = shl i32 %conv.i4.i.4.2, 23 %add16.i19.i.4.2 = add nsw i32 %astype.i17.i.4.2, %shl.i18.i.4.2 %astype17.i20.i.4.2 = bitcast i32 %add16.i19.i.4.2 to float %cmp18.i21.i.4.2 = fcmp olt float %2084, 0xC055D589E0000000 %cond20.i22.i.4.2 = select i1 %cmp18.i21.i.4.2, float 0.000000e+00, float %astype17.i20.i.4.2 %cmp21.i23.i.4.2 = fcmp olt float %2084, 0x40562E4300000000 %cond26.i24.i.4.2 = select i1 %cmp21.i23.i.4.2, float %cond20.i22.i.4.2, float 0x7FF0000000000000 %cmp.i.i25.i.4.2 = fcmp uno float %2084, 0.000000e+00 %cond31.i26.i.4.2 = select i1 %cmp.i.i25.i.4.2, float %2084, float %cond26.i24.i.4.2 %sub88.i.4.2 = fsub float %astype84.i.4.2, %fabs.i.4.2 %add.i584.4.2 = fadd float %fabs.i.4.2, %astype84.i.4.2 %2092 = tail call float @llvm.fmuladd.f32(float %sub88.i.4.2, float %add.i584.4.2, float %div82.i.4.2) #5 %cmp.i1.i.4.2 = fcmp olt float %2092, 0.000000e+00 %cond.i.i.4.2 = select i1 %cmp.i1.i.4.2, float -5.000000e-01, float 5.000000e-01 %2093 = tail call float @llvm.fmuladd.f32(float %2092, float 0x3FF7154760000000, float %cond.i.i.4.2) #5 %conv.i.i.4.2 = fptosi float %2093 to i32 %conv1.i.i.4.2 = sitofp i32 %conv.i.i.4.2 to float %2094 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.4.2, float 0xBFE62E3000000000, float %2092) #5 %mul.i.i.4.2 = fmul float %conv1.i.i.4.2, 0xBEE2FEFA20000000 %add.i.i.4.2 = fadd float %2094, %mul.i.i.4.2 %mul3.i.i.4.2 = fmul float %add.i.i.4.2, %add.i.i.4.2 %2095 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2096 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float %2095, float 0x3F11566AA0000000) #5 %2097 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float %2096, float 0xBF66C16C20000000) #5 %2098 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float %2097, float 0x3FC5555560000000) #5 %sub8.i.i.4.2 = fsub float -0.000000e+00, %2098 %2099 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float %sub8.i.i.4.2, float %add.i.i.4.2) #5 %sub10.i.i.4.2 = fsub float -0.000000e+00, %mul.i.i.4.2 %mul11.i.i.4.2 = fmul float %add.i.i.4.2, %2099 %sub12.i.i.4.2 = fsub float 2.000000e+00, %2099 %div.i.i.4.2 = fdiv float %mul11.i.i.4.2, %sub12.i.i.4.2, !fpmath !46 %sub13.i.i.4.2 = fsub float %sub10.i.i.4.2, %div.i.i.4.2 %sub14.i.i.4.2 = fsub float %sub13.i.i.4.2, %2094 %sub15.i.i.4.2 = fsub float 1.000000e+00, %sub14.i.i.4.2 %astype.i.i.4.2 = bitcast float %sub15.i.i.4.2 to i32 %shl.i.i.4.2 = shl i32 %conv.i.i.4.2, 23 %add16.i.i.4.2 = add nsw i32 %astype.i.i.4.2, %shl.i.i.4.2 %astype17.i.i.4.2 = bitcast i32 %add16.i.i.4.2 to float %cmp18.i.i.4.2 = fcmp olt float %2092, 0xC055D589E0000000 %cond20.i.i.4.2 = select i1 %cmp18.i.i.4.2, float 0.000000e+00, float %astype17.i.i.4.2 %cmp21.i.i.4.2 = fcmp olt float %2092, 0x40562E4300000000 %cond26.i.i.4.2 = select i1 %cmp21.i.i.4.2, float %cond20.i.i.4.2, float 0x7FF0000000000000 %cmp.i.i.i.4.2 = fcmp uno float %2092, 0.000000e+00 %cond31.i.i.4.2 = select i1 %cmp.i.i.i.4.2, float %2092, float %cond26.i.i.4.2 %mul91.i.4.2 = fmul float %cond31.i26.i.4.2, %cond31.i.i.4.2 %div92.i.4.2 = fdiv float %mul91.i.4.2, %fabs.i.4.2, !fpmath !46 %sub93.i.4.2 = fsub float 2.000000e+00, %div92.i.4.2 %cmp94.i.4.2 = fcmp olt float %mul226.4.2, 0.000000e+00 %cond98.i.4.2 = select i1 %cmp94.i.4.2, float %sub93.i.4.2, float %div92.i.4.2 %cmp99.i.4.2 = fcmp olt float %fabs.i.4.2, 2.800000e+01 %cond103.i.4.2 = select i1 %cmp99.i.4.2, float %cond98.i.4.2, float 0.000000e+00 %sub104.i.4.2 = fsub float 0x3FC3D4FA80000000, %div82.i.4.2 %add105.i.4.2 = fadd float %div82.i.4.2, 0x3FEB0AC160000000 %add106.i.4.2 = fadd float %add105.i.4.2, 1.000000e+00 %cond111.i.4.2 = select i1 %cmp94.i.4.2, float %add106.i.4.2, float %sub104.i.4.2 %cond116.i.4.2 = select i1 %cmp.i583.4.2, float %cond111.i.4.2, float %cond103.i.4.2 %sub117.i.4.2 = fadd float %mul226.4.2, -5.000000e-01 %2100 = tail call float @llvm.fmuladd.f32(float %mul226.4.2, float %div82.i.4.2, float %sub117.i.4.2) #5 %sub119.i.4.2 = fsub float 5.000000e-01, %2100 %cond124.i.4.2 = select i1 %cmp2.i.4.2, float %sub119.i.4.2, float %cond116.i.4.2 %cmp125.i.4.2 = fcmp olt float %mul226.4.2, -6.000000e+00 %cond129.i.4.2 = select i1 %cmp125.i.4.2, float 2.000000e+00, float %cond124.i.4.2 %cmp.i.i.4.2 = fcmp uno float %mul226.4.2, 0.000000e+00 %cond134.i.4.2 = select i1 %cmp.i.i.4.2, float %mul226.4.2, float %cond129.i.4.2 %mul229.4.2 = fmul float %cond.4.2, %nbparam_params_sh_ewald %neg230.4.2 = fsub float -0.000000e+00, %mul229.4.2 %2101 = tail call float @llvm.fmuladd.f32(float %div196.4.2, float %cond134.i.4.2, float %neg230.4.2) %2102 = tail call float @llvm.fmuladd.f32(float %mul217.4.2, float %2101, float %E_el.5.3.2) %splat.splatinsert.4.2 = insertelement <3 x float> undef, float %2037, i32 0 %splat.splat.4.2 = shufflevector <3 x float> %splat.splatinsert.4.2, <3 x float> undef, <3 x i32> zeroinitializer %mul235.4.2 = fmul <3 x float> %extractVec166.4.2, %splat.splat.4.2 %extractVec243.4.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.2, <4 x float> undef, <3 x i32> %sub244.4.2 = fsub <3 x float> %extractVec243.4.2, %mul235.4.2 %extractVec245.4.2 = shufflevector <3 x float> %sub244.4.2, <3 x float> undef, <4 x i32> %extractVec253.4.2 = shufflevector <4 x float> %fci_buf.sroa.42.5, <4 x float> undef, <3 x i32> %add254.4.2 = fadd <3 x float> %extractVec253.4.2, %mul235.4.2 %extractVec255.4.2 = shufflevector <3 x float> %add254.4.2, <3 x float> undef, <4 x i32> br label %if.end258.4.2 if.end258.4.2: ; preds = %if.then182.4.2, %if.then147.4.2, %if.end258.3.2 %fci_buf.sroa.42.6 = phi <4 x float> [ %fci_buf.sroa.42.5, %if.end258.3.2 ], [ %extractVec255.4.2, %if.then182.4.2 ], [ %fci_buf.sroa.42.5, %if.then147.4.2 ] %E_el.5.4.2 = phi float [ %E_el.5.3.2, %if.end258.3.2 ], [ %2102, %if.then182.4.2 ], [ %E_el.5.3.2, %if.then147.4.2 ] %E_lj.3.4.2 = phi float [ %E_lj.3.3.2, %if.end258.3.2 ], [ %add216.4.2, %if.then182.4.2 ], [ %E_lj.3.3.2, %if.then147.4.2 ] %fcj_buf.sroa.0.1.4.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.3.2, %if.end258.3.2 ], [ %extractVec245.4.2, %if.then182.4.2 ], [ %fcj_buf.sroa.0.1.3.2, %if.then147.4.2 ] %and145.5.2 = and i32 %64, 2097152 %tobool146.5.2 = icmp eq i32 %and145.5.2, 0 br i1 %tobool146.5.2, label %if.end258.5.2, label %if.then147.5.2 if.then147.5.2: ; preds = %if.end258.4.2 %2103 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.5.3, align 16, !tbaa !36 %2104 = fsub <4 x float> %2103, %1630 %2105 = extractelement <4 x float> %2104, i32 0 %2106 = extractelement <4 x float> %2104, i32 1 %mul3.i.i589.5.2 = fmul float %2106, %2106 %2107 = tail call float @llvm.fmuladd.f32(float %2105, float %2105, float %mul3.i.i589.5.2) #5 %2108 = extractelement <4 x float> %2104, i32 2 %2109 = tail call float @llvm.fmuladd.f32(float %2108, float %2108, float %2107) #5 %and168.5.2 = and i32 %66, 2097152 %tobool169.5.2 = icmp ne i32 %and168.5.2, 0 %cond.5.2 = select i1 %tobool169.5.2, float 1.000000e+00, float 0.000000e+00 %cmp174.5.2 = icmp eq i32 %52, %1628 %or.cond.5.2 = and i1 %cmp63, %cmp174.5.2 %not.or.cond.5.2 = xor i1 %or.cond.5.2, true %cmp176..5.2 = or i1 %cmp176, %not.or.cond.5.2 %conv178.5.2 = uitofp i1 %cmp176..5.2 to float %mul179.5.2 = fmul float %conv178.5.2, %nbparam_params_rcoulomb_sq %cmp180.5.2 = fcmp olt float %2109, %mul179.5.2 br i1 %cmp180.5.2, label %if.then182.5.2, label %if.end258.5.2 if.then182.5.2: ; preds = %if.then147.5.2 %extractVec166.5.2 = shufflevector <4 x float> %2104, <4 x float> undef, <3 x i32> %2110 = extractelement <4 x float> %2103, i32 3 %2111 = load i32, i32 addrspace(1)* %arrayidx183.5.3, align 4, !tbaa !41 %mul184.5.2 = mul nsw i32 %2111, %ntypes %add185.5.2 = add nsw i32 %mul184.5.2, %1632 %mul186.5.2 = shl nsw i32 %add185.5.2, 1 %2112 = sext i32 %mul186.5.2 to i64 %arrayidx187.5.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2112 %2113 = load float, float addrspace(2)* %arrayidx187.5.2, align 4, !tbaa !39 %add191.5.2 = or i32 %mul186.5.2, 1 %2114 = sext i32 %add191.5.2 to i64 %arrayidx192.5.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2114 %2115 = load float, float addrspace(2)* %arrayidx192.5.2, align 4, !tbaa !39 %sub193.5.2 = fsub float 1.000000e+00, %cond.5.2 %2116 = tail call float @llvm.fmuladd.f32(float %sub193.5.2, float 0x3D71979980000000, float %2109) %cmp.i.i587.5.2 = fcmp olt float %2116, 0.000000e+00 %call.i.i.5.2 = tail call float @llvm.sqrt.f32(float %2116) #6 %call.i.i.op.5.2 = fdiv float 1.000000e+00, %call.i.i.5.2 %div196.5.2 = select i1 %cmp.i.i587.5.2, float 0x7FF8000000000000, float %call.i.i.op.5.2 %mul197.5.2 = fmul float %div196.5.2, %div196.5.2 %mul198.5.2 = fmul float %mul197.5.2, %mul197.5.2 %mul199.5.2 = fmul float %mul197.5.2, %mul198.5.2 %mul200.5.2 = fmul float %cond.5.2, %mul199.5.2 %neg.5.2 = fsub float -0.000000e+00, %2113 %2117 = tail call float @llvm.fmuladd.f32(float %2115, float %mul200.5.2, float %neg.5.2) %mul202.5.2 = fmul float %mul200.5.2, %2117 %mul203.5.2 = fmul float %mul197.5.2, %mul202.5.2 %2118 = tail call float @llvm.fmuladd.f32(float %mul200.5.2, float %mul200.5.2, float %nbparam_params_repulsion_shift_cpot) %mul207.5.2 = fmul float %2118, %2115 %add211.5.2 = fadd float %mul200.5.2, %nbparam_params_dispersion_shift_cpot %mul212.5.2 = fmul float %add211.5.2, %2113 %mul213.5.2 = fmul float %mul212.5.2, 0x3FC5555560000000 %neg214.5.2 = fsub float -0.000000e+00, %mul213.5.2 %2119 = tail call float @llvm.fmuladd.f32(float %mul207.5.2, float 0x3FB5555540000000, float %neg214.5.2) %mul215.5.2 = fmul float %cond.5.2, %2119 %add216.5.2 = fadd float %E_lj.3.4.2, %mul215.5.2 %mul217.5.2 = fmul float %1631, %2110 %mul218.5.2 = fmul float %cond.5.2, %mul197.5.2 %mul220.5.2 = fmul float %mul, %2116 %mul.i585.5.2 = fmul float %mul220.5.2, %mul220.5.2 %2120 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.5.2, float 0x3FBDA79640000000) #5 %2121 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.5.2, float 0x3FE03C5780000000) #5 %2122 = tail call float @llvm.fmuladd.f32(float %2120, float %mul.i585.5.2, float 1.000000e+00) #5 %2123 = tail call float @llvm.fmuladd.f32(float %2121, float %mul220.5.2, float %2122) #5 %div.i586.5.2 = fdiv float 1.000000e+00, %2123, !fpmath !46 %2124 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.5.2, float 0xBF0BFF7260000000) #5 %2125 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.5.2, float 0x3F50794180000000) #5 %2126 = tail call float @llvm.fmuladd.f32(float %2124, float %mul.i585.5.2, float 0xBF93BDB200000000) #5 %2127 = tail call float @llvm.fmuladd.f32(float %2125, float %mul.i585.5.2, float 0x3FB1D5E760000000) #5 %2128 = tail call float @llvm.fmuladd.f32(float %2126, float %mul.i585.5.2, float 0xBFE81272E0000000) #5 %2129 = tail call float @llvm.fmuladd.f32(float %2127, float %mul220.5.2, float %2128) #5 %mul11.i.5.2 = fmul float %2129, %div.i586.5.2 %mul222.5.2 = fmul float %mul19, %mul11.i.5.2 %2130 = tail call float @llvm.fmuladd.f32(float %mul218.5.2, float %div196.5.2, float %mul222.5.2) %2131 = tail call float @llvm.fmuladd.f32(float %mul217.5.2, float %2130, float %mul203.5.2) %mul225.5.2 = fmul float %2116, %div196.5.2 %mul226.5.2 = fmul float %mul225.5.2, %nbparam_params_ewald_beta %fabs.i.5.2 = tail call float @llvm.fabs.f32(float %mul226.5.2) #5 %and.i.5.2 = bitcast float %fabs.i.5.2 to i32 %mul.i.5.2 = fmul float %mul226.5.2, %mul226.5.2 %div.i.5.2 = fdiv float 1.000000e+00, %mul.i.5.2, !fpmath !46 %sub.i.5.2 = fadd float %fabs.i.5.2, -1.000000e+00 %cmp.i583.5.2 = fcmp olt float %fabs.i.5.2, 1.250000e+00 %cond.i.5.2 = select i1 %cmp.i583.5.2, float %sub.i.5.2, float %div.i.5.2 %cmp2.i.5.2 = fcmp olt float %fabs.i.5.2, 8.437500e-01 %cond6.i.5.2 = select i1 %cmp2.i.5.2, float %mul.i.5.2, float %cond.i.5.2 %2132 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2133 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2132, float 0xC083EC8820000000) #5 %2134 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2133, float 0xC064145D40000000) #5 %2135 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2134, float 0xC031C20960000000) #5 %2136 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2135, float 0xBFE993BA80000000) #5 %2137 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2136, float 0xBF84341240000000) #5 %2138 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2139 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2138, float 0x40A3F219C0000000) #5 %2140 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2139, float 0x40A8FFB760000000) #5 %2141 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2140, float 0x409802EB20000000) #5 %2142 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2141, float 0x40745CAE20000000) #5 %2143 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2142, float 0x403E568B20000000) #5 %2144 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2145 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2144, float 0xC067135CE0000000) #5 %2146 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2145, float 0xC0644CB180000000) #5 %2147 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2146, float 0xC04F300AE0000000) #5 %2148 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2147, float 0xC0251E0440000000) #5 %2149 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2148, float 0xBFE63416E0000000) #5 %2150 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2149, float 0xBF84341260000000) #5 %2151 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2152 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2151, float 0x405B28A3E0000000) #5 %2153 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2152, float 0x407AD02160000000) #5 %2154 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2153, float 0x40842B1920000000) #5 %2155 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2154, float 0x407B290DE0000000) #5 %2156 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2155, float 0x4061350C60000000) #5 %2157 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2156, float 0x4033A6B9C0000000) #5 %cmp32.i.5.2 = fcmp olt float %fabs.i.5.2, 0x4006DB6DA0000000 %cond36.i.5.2 = select i1 %cmp32.i.5.2, float %2150, float %2137 %cond41.i.5.2 = select i1 %cmp32.i.5.2, float %2157, float %2143 %2158 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2159 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2158, float 0xBFBC639840000000) #5 %2160 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2159, float 0x3FD45FCA80000000) #5 %2161 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2160, float 0xBFD7D24100000000) #5 %2162 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2161, float 0x3FDA8D00A0000000) #5 %2163 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2162, float 0xBF6359B8C0000000) #5 %2164 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2165 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2164, float 0x3FC02660E0000000) #5 %2166 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2165, float 0x3FB2635CE0000000) #5 %2167 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2166, float 0x3FE14AF0A0000000) #5 %2168 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2167, float 0x3FBB3E6620000000) #5 %cond57.i.5.2 = select i1 %cmp.i583.5.2, float %2163, float %cond36.i.5.2 %cond62.i.5.2 = select i1 %cmp.i583.5.2, float %2168, float %cond41.i.5.2 %2169 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2170 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2169, float 0xBF9D2A51E0000000) #5 %2171 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2170, float 0xBFD4CD7D60000000) #5 %2172 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2171, float 0x3FC06EBA80000000) #5 %2173 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2174 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2173, float 0x3F74D022C0000000) #5 %2175 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2174, float 0x3FB0A54C60000000) #5 %2176 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2175, float 0x3FD97779C0000000) #5 %cond75.i.5.2 = select i1 %cmp2.i.5.2, float %2172, float %cond57.i.5.2 %cond80.i.5.2 = select i1 %cmp2.i.5.2, float %2176, float %cond62.i.5.2 %2177 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %cond80.i.5.2, float 1.000000e+00) #5 %div82.i.5.2 = fdiv float %cond75.i.5.2, %2177, !fpmath !46 %and83.i.5.2 = and i32 %and.i.5.2, -4096 %astype84.i.5.2 = bitcast i32 %and83.i.5.2 to float %sub85.i.5.2 = fsub float -0.000000e+00, %astype84.i.5.2 %2178 = tail call float @llvm.fmuladd.f32(float %sub85.i.5.2, float %astype84.i.5.2, float -5.625000e-01) #5 %cmp.i2.i.5.2 = fcmp olt float %2178, 0.000000e+00 %cond.i3.i.5.2 = select i1 %cmp.i2.i.5.2, float -5.000000e-01, float 5.000000e-01 %2179 = tail call float @llvm.fmuladd.f32(float %2178, float 0x3FF7154760000000, float %cond.i3.i.5.2) #5 %conv.i4.i.5.2 = fptosi float %2179 to i32 %conv1.i5.i.5.2 = sitofp i32 %conv.i4.i.5.2 to float %2180 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.5.2, float 0xBFE62E3000000000, float %2178) #5 %mul.i6.i.5.2 = fmul float %conv1.i5.i.5.2, 0xBEE2FEFA20000000 %add.i7.i.5.2 = fadd float %2180, %mul.i6.i.5.2 %mul3.i8.i.5.2 = fmul float %add.i7.i.5.2, %add.i7.i.5.2 %2181 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2182 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float %2181, float 0x3F11566AA0000000) #5 %2183 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float %2182, float 0xBF66C16C20000000) #5 %2184 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float %2183, float 0x3FC5555560000000) #5 %sub8.i9.i.5.2 = fsub float -0.000000e+00, %2184 %2185 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float %sub8.i9.i.5.2, float %add.i7.i.5.2) #5 %sub10.i10.i.5.2 = fsub float -0.000000e+00, %mul.i6.i.5.2 %mul11.i11.i.5.2 = fmul float %add.i7.i.5.2, %2185 %sub12.i12.i.5.2 = fsub float 2.000000e+00, %2185 %div.i13.i.5.2 = fdiv float %mul11.i11.i.5.2, %sub12.i12.i.5.2, !fpmath !46 %sub13.i14.i.5.2 = fsub float %sub10.i10.i.5.2, %div.i13.i.5.2 %sub14.i15.i.5.2 = fsub float %sub13.i14.i.5.2, %2180 %sub15.i16.i.5.2 = fsub float 1.000000e+00, %sub14.i15.i.5.2 %astype.i17.i.5.2 = bitcast float %sub15.i16.i.5.2 to i32 %shl.i18.i.5.2 = shl i32 %conv.i4.i.5.2, 23 %add16.i19.i.5.2 = add nsw i32 %astype.i17.i.5.2, %shl.i18.i.5.2 %astype17.i20.i.5.2 = bitcast i32 %add16.i19.i.5.2 to float %cmp18.i21.i.5.2 = fcmp olt float %2178, 0xC055D589E0000000 %cond20.i22.i.5.2 = select i1 %cmp18.i21.i.5.2, float 0.000000e+00, float %astype17.i20.i.5.2 %cmp21.i23.i.5.2 = fcmp olt float %2178, 0x40562E4300000000 %cond26.i24.i.5.2 = select i1 %cmp21.i23.i.5.2, float %cond20.i22.i.5.2, float 0x7FF0000000000000 %cmp.i.i25.i.5.2 = fcmp uno float %2178, 0.000000e+00 %cond31.i26.i.5.2 = select i1 %cmp.i.i25.i.5.2, float %2178, float %cond26.i24.i.5.2 %sub88.i.5.2 = fsub float %astype84.i.5.2, %fabs.i.5.2 %add.i584.5.2 = fadd float %fabs.i.5.2, %astype84.i.5.2 %2186 = tail call float @llvm.fmuladd.f32(float %sub88.i.5.2, float %add.i584.5.2, float %div82.i.5.2) #5 %cmp.i1.i.5.2 = fcmp olt float %2186, 0.000000e+00 %cond.i.i.5.2 = select i1 %cmp.i1.i.5.2, float -5.000000e-01, float 5.000000e-01 %2187 = tail call float @llvm.fmuladd.f32(float %2186, float 0x3FF7154760000000, float %cond.i.i.5.2) #5 %conv.i.i.5.2 = fptosi float %2187 to i32 %conv1.i.i.5.2 = sitofp i32 %conv.i.i.5.2 to float %2188 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.5.2, float 0xBFE62E3000000000, float %2186) #5 %mul.i.i.5.2 = fmul float %conv1.i.i.5.2, 0xBEE2FEFA20000000 %add.i.i.5.2 = fadd float %2188, %mul.i.i.5.2 %mul3.i.i.5.2 = fmul float %add.i.i.5.2, %add.i.i.5.2 %2189 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2190 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float %2189, float 0x3F11566AA0000000) #5 %2191 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float %2190, float 0xBF66C16C20000000) #5 %2192 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float %2191, float 0x3FC5555560000000) #5 %sub8.i.i.5.2 = fsub float -0.000000e+00, %2192 %2193 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float %sub8.i.i.5.2, float %add.i.i.5.2) #5 %sub10.i.i.5.2 = fsub float -0.000000e+00, %mul.i.i.5.2 %mul11.i.i.5.2 = fmul float %add.i.i.5.2, %2193 %sub12.i.i.5.2 = fsub float 2.000000e+00, %2193 %div.i.i.5.2 = fdiv float %mul11.i.i.5.2, %sub12.i.i.5.2, !fpmath !46 %sub13.i.i.5.2 = fsub float %sub10.i.i.5.2, %div.i.i.5.2 %sub14.i.i.5.2 = fsub float %sub13.i.i.5.2, %2188 %sub15.i.i.5.2 = fsub float 1.000000e+00, %sub14.i.i.5.2 %astype.i.i.5.2 = bitcast float %sub15.i.i.5.2 to i32 %shl.i.i.5.2 = shl i32 %conv.i.i.5.2, 23 %add16.i.i.5.2 = add nsw i32 %astype.i.i.5.2, %shl.i.i.5.2 %astype17.i.i.5.2 = bitcast i32 %add16.i.i.5.2 to float %cmp18.i.i.5.2 = fcmp olt float %2186, 0xC055D589E0000000 %cond20.i.i.5.2 = select i1 %cmp18.i.i.5.2, float 0.000000e+00, float %astype17.i.i.5.2 %cmp21.i.i.5.2 = fcmp olt float %2186, 0x40562E4300000000 %cond26.i.i.5.2 = select i1 %cmp21.i.i.5.2, float %cond20.i.i.5.2, float 0x7FF0000000000000 %cmp.i.i.i.5.2 = fcmp uno float %2186, 0.000000e+00 %cond31.i.i.5.2 = select i1 %cmp.i.i.i.5.2, float %2186, float %cond26.i.i.5.2 %mul91.i.5.2 = fmul float %cond31.i26.i.5.2, %cond31.i.i.5.2 %div92.i.5.2 = fdiv float %mul91.i.5.2, %fabs.i.5.2, !fpmath !46 %sub93.i.5.2 = fsub float 2.000000e+00, %div92.i.5.2 %cmp94.i.5.2 = fcmp olt float %mul226.5.2, 0.000000e+00 %cond98.i.5.2 = select i1 %cmp94.i.5.2, float %sub93.i.5.2, float %div92.i.5.2 %cmp99.i.5.2 = fcmp olt float %fabs.i.5.2, 2.800000e+01 %cond103.i.5.2 = select i1 %cmp99.i.5.2, float %cond98.i.5.2, float 0.000000e+00 %sub104.i.5.2 = fsub float 0x3FC3D4FA80000000, %div82.i.5.2 %add105.i.5.2 = fadd float %div82.i.5.2, 0x3FEB0AC160000000 %add106.i.5.2 = fadd float %add105.i.5.2, 1.000000e+00 %cond111.i.5.2 = select i1 %cmp94.i.5.2, float %add106.i.5.2, float %sub104.i.5.2 %cond116.i.5.2 = select i1 %cmp.i583.5.2, float %cond111.i.5.2, float %cond103.i.5.2 %sub117.i.5.2 = fadd float %mul226.5.2, -5.000000e-01 %2194 = tail call float @llvm.fmuladd.f32(float %mul226.5.2, float %div82.i.5.2, float %sub117.i.5.2) #5 %sub119.i.5.2 = fsub float 5.000000e-01, %2194 %cond124.i.5.2 = select i1 %cmp2.i.5.2, float %sub119.i.5.2, float %cond116.i.5.2 %cmp125.i.5.2 = fcmp olt float %mul226.5.2, -6.000000e+00 %cond129.i.5.2 = select i1 %cmp125.i.5.2, float 2.000000e+00, float %cond124.i.5.2 %cmp.i.i.5.2 = fcmp uno float %mul226.5.2, 0.000000e+00 %cond134.i.5.2 = select i1 %cmp.i.i.5.2, float %mul226.5.2, float %cond129.i.5.2 %mul229.5.2 = fmul float %cond.5.2, %nbparam_params_sh_ewald %neg230.5.2 = fsub float -0.000000e+00, %mul229.5.2 %2195 = tail call float @llvm.fmuladd.f32(float %div196.5.2, float %cond134.i.5.2, float %neg230.5.2) %2196 = tail call float @llvm.fmuladd.f32(float %mul217.5.2, float %2195, float %E_el.5.4.2) %splat.splatinsert.5.2 = insertelement <3 x float> undef, float %2131, i32 0 %splat.splat.5.2 = shufflevector <3 x float> %splat.splatinsert.5.2, <3 x float> undef, <3 x i32> zeroinitializer %mul235.5.2 = fmul <3 x float> %extractVec166.5.2, %splat.splat.5.2 %extractVec243.5.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.2, <4 x float> undef, <3 x i32> %sub244.5.2 = fsub <3 x float> %extractVec243.5.2, %mul235.5.2 %extractVec245.5.2 = shufflevector <3 x float> %sub244.5.2, <3 x float> undef, <4 x i32> %extractVec253.5.2 = shufflevector <4 x float> %fci_buf.sroa.52.5, <4 x float> undef, <3 x i32> %add254.5.2 = fadd <3 x float> %extractVec253.5.2, %mul235.5.2 %extractVec255.5.2 = shufflevector <3 x float> %add254.5.2, <3 x float> undef, <4 x i32> br label %if.end258.5.2 if.end258.5.2: ; preds = %if.then182.5.2, %if.then147.5.2, %if.end258.4.2 %fci_buf.sroa.52.6 = phi <4 x float> [ %fci_buf.sroa.52.5, %if.end258.4.2 ], [ %extractVec255.5.2, %if.then182.5.2 ], [ %fci_buf.sroa.52.5, %if.then147.5.2 ] %E_el.5.5.2 = phi float [ %E_el.5.4.2, %if.end258.4.2 ], [ %2196, %if.then182.5.2 ], [ %E_el.5.4.2, %if.then147.5.2 ] %E_lj.3.5.2 = phi float [ %E_lj.3.4.2, %if.end258.4.2 ], [ %add216.5.2, %if.then182.5.2 ], [ %E_lj.3.4.2, %if.then147.5.2 ] %fcj_buf.sroa.0.1.5.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.4.2, %if.end258.4.2 ], [ %extractVec245.5.2, %if.then182.5.2 ], [ %fcj_buf.sroa.0.1.4.2, %if.then147.5.2 ] %and145.6.2 = and i32 %64, 4194304 %tobool146.6.2 = icmp eq i32 %and145.6.2, 0 br i1 %tobool146.6.2, label %if.end258.6.2, label %if.then147.6.2 if.then147.6.2: ; preds = %if.end258.5.2 %2197 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.6.3, align 16, !tbaa !36 %2198 = fsub <4 x float> %2197, %1630 %2199 = extractelement <4 x float> %2198, i32 0 %2200 = extractelement <4 x float> %2198, i32 1 %mul3.i.i589.6.2 = fmul float %2200, %2200 %2201 = tail call float @llvm.fmuladd.f32(float %2199, float %2199, float %mul3.i.i589.6.2) #5 %2202 = extractelement <4 x float> %2198, i32 2 %2203 = tail call float @llvm.fmuladd.f32(float %2202, float %2202, float %2201) #5 %and168.6.2 = and i32 %66, 4194304 %tobool169.6.2 = icmp ne i32 %and168.6.2, 0 %cond.6.2 = select i1 %tobool169.6.2, float 1.000000e+00, float 0.000000e+00 %cmp174.6.2 = icmp eq i32 %50, %1628 %or.cond.6.2 = and i1 %cmp63, %cmp174.6.2 %not.or.cond.6.2 = xor i1 %or.cond.6.2, true %cmp176..6.2 = or i1 %cmp176, %not.or.cond.6.2 %conv178.6.2 = uitofp i1 %cmp176..6.2 to float %mul179.6.2 = fmul float %conv178.6.2, %nbparam_params_rcoulomb_sq %cmp180.6.2 = fcmp olt float %2203, %mul179.6.2 br i1 %cmp180.6.2, label %if.then182.6.2, label %if.end258.6.2 if.then182.6.2: ; preds = %if.then147.6.2 %extractVec166.6.2 = shufflevector <4 x float> %2198, <4 x float> undef, <3 x i32> %2204 = extractelement <4 x float> %2197, i32 3 %2205 = load i32, i32 addrspace(1)* %arrayidx183.6.3, align 4, !tbaa !41 %mul184.6.2 = mul nsw i32 %2205, %ntypes %add185.6.2 = add nsw i32 %mul184.6.2, %1632 %mul186.6.2 = shl nsw i32 %add185.6.2, 1 %2206 = sext i32 %mul186.6.2 to i64 %arrayidx187.6.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2206 %2207 = load float, float addrspace(2)* %arrayidx187.6.2, align 4, !tbaa !39 %add191.6.2 = or i32 %mul186.6.2, 1 %2208 = sext i32 %add191.6.2 to i64 %arrayidx192.6.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2208 %2209 = load float, float addrspace(2)* %arrayidx192.6.2, align 4, !tbaa !39 %sub193.6.2 = fsub float 1.000000e+00, %cond.6.2 %2210 = tail call float @llvm.fmuladd.f32(float %sub193.6.2, float 0x3D71979980000000, float %2203) %cmp.i.i587.6.2 = fcmp olt float %2210, 0.000000e+00 %call.i.i.6.2 = tail call float @llvm.sqrt.f32(float %2210) #6 %call.i.i.op.6.2 = fdiv float 1.000000e+00, %call.i.i.6.2 %div196.6.2 = select i1 %cmp.i.i587.6.2, float 0x7FF8000000000000, float %call.i.i.op.6.2 %mul197.6.2 = fmul float %div196.6.2, %div196.6.2 %mul198.6.2 = fmul float %mul197.6.2, %mul197.6.2 %mul199.6.2 = fmul float %mul197.6.2, %mul198.6.2 %mul200.6.2 = fmul float %cond.6.2, %mul199.6.2 %neg.6.2 = fsub float -0.000000e+00, %2207 %2211 = tail call float @llvm.fmuladd.f32(float %2209, float %mul200.6.2, float %neg.6.2) %mul202.6.2 = fmul float %mul200.6.2, %2211 %mul203.6.2 = fmul float %mul197.6.2, %mul202.6.2 %2212 = tail call float @llvm.fmuladd.f32(float %mul200.6.2, float %mul200.6.2, float %nbparam_params_repulsion_shift_cpot) %mul207.6.2 = fmul float %2212, %2209 %add211.6.2 = fadd float %mul200.6.2, %nbparam_params_dispersion_shift_cpot %mul212.6.2 = fmul float %add211.6.2, %2207 %mul213.6.2 = fmul float %mul212.6.2, 0x3FC5555560000000 %neg214.6.2 = fsub float -0.000000e+00, %mul213.6.2 %2213 = tail call float @llvm.fmuladd.f32(float %mul207.6.2, float 0x3FB5555540000000, float %neg214.6.2) %mul215.6.2 = fmul float %cond.6.2, %2213 %add216.6.2 = fadd float %E_lj.3.5.2, %mul215.6.2 %mul217.6.2 = fmul float %1631, %2204 %mul218.6.2 = fmul float %cond.6.2, %mul197.6.2 %mul220.6.2 = fmul float %mul, %2210 %mul.i585.6.2 = fmul float %mul220.6.2, %mul220.6.2 %2214 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.6.2, float 0x3FBDA79640000000) #5 %2215 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.6.2, float 0x3FE03C5780000000) #5 %2216 = tail call float @llvm.fmuladd.f32(float %2214, float %mul.i585.6.2, float 1.000000e+00) #5 %2217 = tail call float @llvm.fmuladd.f32(float %2215, float %mul220.6.2, float %2216) #5 %div.i586.6.2 = fdiv float 1.000000e+00, %2217, !fpmath !46 %2218 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.6.2, float 0xBF0BFF7260000000) #5 %2219 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.6.2, float 0x3F50794180000000) #5 %2220 = tail call float @llvm.fmuladd.f32(float %2218, float %mul.i585.6.2, float 0xBF93BDB200000000) #5 %2221 = tail call float @llvm.fmuladd.f32(float %2219, float %mul.i585.6.2, float 0x3FB1D5E760000000) #5 %2222 = tail call float @llvm.fmuladd.f32(float %2220, float %mul.i585.6.2, float 0xBFE81272E0000000) #5 %2223 = tail call float @llvm.fmuladd.f32(float %2221, float %mul220.6.2, float %2222) #5 %mul11.i.6.2 = fmul float %2223, %div.i586.6.2 %mul222.6.2 = fmul float %mul19, %mul11.i.6.2 %2224 = tail call float @llvm.fmuladd.f32(float %mul218.6.2, float %div196.6.2, float %mul222.6.2) %2225 = tail call float @llvm.fmuladd.f32(float %mul217.6.2, float %2224, float %mul203.6.2) %mul225.6.2 = fmul float %2210, %div196.6.2 %mul226.6.2 = fmul float %mul225.6.2, %nbparam_params_ewald_beta %fabs.i.6.2 = tail call float @llvm.fabs.f32(float %mul226.6.2) #5 %and.i.6.2 = bitcast float %fabs.i.6.2 to i32 %mul.i.6.2 = fmul float %mul226.6.2, %mul226.6.2 %div.i.6.2 = fdiv float 1.000000e+00, %mul.i.6.2, !fpmath !46 %sub.i.6.2 = fadd float %fabs.i.6.2, -1.000000e+00 %cmp.i583.6.2 = fcmp olt float %fabs.i.6.2, 1.250000e+00 %cond.i.6.2 = select i1 %cmp.i583.6.2, float %sub.i.6.2, float %div.i.6.2 %cmp2.i.6.2 = fcmp olt float %fabs.i.6.2, 8.437500e-01 %cond6.i.6.2 = select i1 %cmp2.i.6.2, float %mul.i.6.2, float %cond.i.6.2 %2226 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2227 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2226, float 0xC083EC8820000000) #5 %2228 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2227, float 0xC064145D40000000) #5 %2229 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2228, float 0xC031C20960000000) #5 %2230 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2229, float 0xBFE993BA80000000) #5 %2231 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2230, float 0xBF84341240000000) #5 %2232 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2233 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2232, float 0x40A3F219C0000000) #5 %2234 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2233, float 0x40A8FFB760000000) #5 %2235 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2234, float 0x409802EB20000000) #5 %2236 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2235, float 0x40745CAE20000000) #5 %2237 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2236, float 0x403E568B20000000) #5 %2238 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2239 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2238, float 0xC067135CE0000000) #5 %2240 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2239, float 0xC0644CB180000000) #5 %2241 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2240, float 0xC04F300AE0000000) #5 %2242 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2241, float 0xC0251E0440000000) #5 %2243 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2242, float 0xBFE63416E0000000) #5 %2244 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2243, float 0xBF84341260000000) #5 %2245 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2246 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2245, float 0x405B28A3E0000000) #5 %2247 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2246, float 0x407AD02160000000) #5 %2248 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2247, float 0x40842B1920000000) #5 %2249 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2248, float 0x407B290DE0000000) #5 %2250 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2249, float 0x4061350C60000000) #5 %2251 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2250, float 0x4033A6B9C0000000) #5 %cmp32.i.6.2 = fcmp olt float %fabs.i.6.2, 0x4006DB6DA0000000 %cond36.i.6.2 = select i1 %cmp32.i.6.2, float %2244, float %2231 %cond41.i.6.2 = select i1 %cmp32.i.6.2, float %2251, float %2237 %2252 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2253 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2252, float 0xBFBC639840000000) #5 %2254 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2253, float 0x3FD45FCA80000000) #5 %2255 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2254, float 0xBFD7D24100000000) #5 %2256 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2255, float 0x3FDA8D00A0000000) #5 %2257 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2256, float 0xBF6359B8C0000000) #5 %2258 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2259 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2258, float 0x3FC02660E0000000) #5 %2260 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2259, float 0x3FB2635CE0000000) #5 %2261 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2260, float 0x3FE14AF0A0000000) #5 %2262 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2261, float 0x3FBB3E6620000000) #5 %cond57.i.6.2 = select i1 %cmp.i583.6.2, float %2257, float %cond36.i.6.2 %cond62.i.6.2 = select i1 %cmp.i583.6.2, float %2262, float %cond41.i.6.2 %2263 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2264 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2263, float 0xBF9D2A51E0000000) #5 %2265 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2264, float 0xBFD4CD7D60000000) #5 %2266 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2265, float 0x3FC06EBA80000000) #5 %2267 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2268 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2267, float 0x3F74D022C0000000) #5 %2269 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2268, float 0x3FB0A54C60000000) #5 %2270 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2269, float 0x3FD97779C0000000) #5 %cond75.i.6.2 = select i1 %cmp2.i.6.2, float %2266, float %cond57.i.6.2 %cond80.i.6.2 = select i1 %cmp2.i.6.2, float %2270, float %cond62.i.6.2 %2271 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %cond80.i.6.2, float 1.000000e+00) #5 %div82.i.6.2 = fdiv float %cond75.i.6.2, %2271, !fpmath !46 %and83.i.6.2 = and i32 %and.i.6.2, -4096 %astype84.i.6.2 = bitcast i32 %and83.i.6.2 to float %sub85.i.6.2 = fsub float -0.000000e+00, %astype84.i.6.2 %2272 = tail call float @llvm.fmuladd.f32(float %sub85.i.6.2, float %astype84.i.6.2, float -5.625000e-01) #5 %cmp.i2.i.6.2 = fcmp olt float %2272, 0.000000e+00 %cond.i3.i.6.2 = select i1 %cmp.i2.i.6.2, float -5.000000e-01, float 5.000000e-01 %2273 = tail call float @llvm.fmuladd.f32(float %2272, float 0x3FF7154760000000, float %cond.i3.i.6.2) #5 %conv.i4.i.6.2 = fptosi float %2273 to i32 %conv1.i5.i.6.2 = sitofp i32 %conv.i4.i.6.2 to float %2274 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.6.2, float 0xBFE62E3000000000, float %2272) #5 %mul.i6.i.6.2 = fmul float %conv1.i5.i.6.2, 0xBEE2FEFA20000000 %add.i7.i.6.2 = fadd float %2274, %mul.i6.i.6.2 %mul3.i8.i.6.2 = fmul float %add.i7.i.6.2, %add.i7.i.6.2 %2275 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2276 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float %2275, float 0x3F11566AA0000000) #5 %2277 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float %2276, float 0xBF66C16C20000000) #5 %2278 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float %2277, float 0x3FC5555560000000) #5 %sub8.i9.i.6.2 = fsub float -0.000000e+00, %2278 %2279 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float %sub8.i9.i.6.2, float %add.i7.i.6.2) #5 %sub10.i10.i.6.2 = fsub float -0.000000e+00, %mul.i6.i.6.2 %mul11.i11.i.6.2 = fmul float %add.i7.i.6.2, %2279 %sub12.i12.i.6.2 = fsub float 2.000000e+00, %2279 %div.i13.i.6.2 = fdiv float %mul11.i11.i.6.2, %sub12.i12.i.6.2, !fpmath !46 %sub13.i14.i.6.2 = fsub float %sub10.i10.i.6.2, %div.i13.i.6.2 %sub14.i15.i.6.2 = fsub float %sub13.i14.i.6.2, %2274 %sub15.i16.i.6.2 = fsub float 1.000000e+00, %sub14.i15.i.6.2 %astype.i17.i.6.2 = bitcast float %sub15.i16.i.6.2 to i32 %shl.i18.i.6.2 = shl i32 %conv.i4.i.6.2, 23 %add16.i19.i.6.2 = add nsw i32 %astype.i17.i.6.2, %shl.i18.i.6.2 %astype17.i20.i.6.2 = bitcast i32 %add16.i19.i.6.2 to float %cmp18.i21.i.6.2 = fcmp olt float %2272, 0xC055D589E0000000 %cond20.i22.i.6.2 = select i1 %cmp18.i21.i.6.2, float 0.000000e+00, float %astype17.i20.i.6.2 %cmp21.i23.i.6.2 = fcmp olt float %2272, 0x40562E4300000000 %cond26.i24.i.6.2 = select i1 %cmp21.i23.i.6.2, float %cond20.i22.i.6.2, float 0x7FF0000000000000 %cmp.i.i25.i.6.2 = fcmp uno float %2272, 0.000000e+00 %cond31.i26.i.6.2 = select i1 %cmp.i.i25.i.6.2, float %2272, float %cond26.i24.i.6.2 %sub88.i.6.2 = fsub float %astype84.i.6.2, %fabs.i.6.2 %add.i584.6.2 = fadd float %fabs.i.6.2, %astype84.i.6.2 %2280 = tail call float @llvm.fmuladd.f32(float %sub88.i.6.2, float %add.i584.6.2, float %div82.i.6.2) #5 %cmp.i1.i.6.2 = fcmp olt float %2280, 0.000000e+00 %cond.i.i.6.2 = select i1 %cmp.i1.i.6.2, float -5.000000e-01, float 5.000000e-01 %2281 = tail call float @llvm.fmuladd.f32(float %2280, float 0x3FF7154760000000, float %cond.i.i.6.2) #5 %conv.i.i.6.2 = fptosi float %2281 to i32 %conv1.i.i.6.2 = sitofp i32 %conv.i.i.6.2 to float %2282 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.6.2, float 0xBFE62E3000000000, float %2280) #5 %mul.i.i.6.2 = fmul float %conv1.i.i.6.2, 0xBEE2FEFA20000000 %add.i.i.6.2 = fadd float %2282, %mul.i.i.6.2 %mul3.i.i.6.2 = fmul float %add.i.i.6.2, %add.i.i.6.2 %2283 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2284 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float %2283, float 0x3F11566AA0000000) #5 %2285 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float %2284, float 0xBF66C16C20000000) #5 %2286 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float %2285, float 0x3FC5555560000000) #5 %sub8.i.i.6.2 = fsub float -0.000000e+00, %2286 %2287 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float %sub8.i.i.6.2, float %add.i.i.6.2) #5 %sub10.i.i.6.2 = fsub float -0.000000e+00, %mul.i.i.6.2 %mul11.i.i.6.2 = fmul float %add.i.i.6.2, %2287 %sub12.i.i.6.2 = fsub float 2.000000e+00, %2287 %div.i.i.6.2 = fdiv float %mul11.i.i.6.2, %sub12.i.i.6.2, !fpmath !46 %sub13.i.i.6.2 = fsub float %sub10.i.i.6.2, %div.i.i.6.2 %sub14.i.i.6.2 = fsub float %sub13.i.i.6.2, %2282 %sub15.i.i.6.2 = fsub float 1.000000e+00, %sub14.i.i.6.2 %astype.i.i.6.2 = bitcast float %sub15.i.i.6.2 to i32 %shl.i.i.6.2 = shl i32 %conv.i.i.6.2, 23 %add16.i.i.6.2 = add nsw i32 %astype.i.i.6.2, %shl.i.i.6.2 %astype17.i.i.6.2 = bitcast i32 %add16.i.i.6.2 to float %cmp18.i.i.6.2 = fcmp olt float %2280, 0xC055D589E0000000 %cond20.i.i.6.2 = select i1 %cmp18.i.i.6.2, float 0.000000e+00, float %astype17.i.i.6.2 %cmp21.i.i.6.2 = fcmp olt float %2280, 0x40562E4300000000 %cond26.i.i.6.2 = select i1 %cmp21.i.i.6.2, float %cond20.i.i.6.2, float 0x7FF0000000000000 %cmp.i.i.i.6.2 = fcmp uno float %2280, 0.000000e+00 %cond31.i.i.6.2 = select i1 %cmp.i.i.i.6.2, float %2280, float %cond26.i.i.6.2 %mul91.i.6.2 = fmul float %cond31.i26.i.6.2, %cond31.i.i.6.2 %div92.i.6.2 = fdiv float %mul91.i.6.2, %fabs.i.6.2, !fpmath !46 %sub93.i.6.2 = fsub float 2.000000e+00, %div92.i.6.2 %cmp94.i.6.2 = fcmp olt float %mul226.6.2, 0.000000e+00 %cond98.i.6.2 = select i1 %cmp94.i.6.2, float %sub93.i.6.2, float %div92.i.6.2 %cmp99.i.6.2 = fcmp olt float %fabs.i.6.2, 2.800000e+01 %cond103.i.6.2 = select i1 %cmp99.i.6.2, float %cond98.i.6.2, float 0.000000e+00 %sub104.i.6.2 = fsub float 0x3FC3D4FA80000000, %div82.i.6.2 %add105.i.6.2 = fadd float %div82.i.6.2, 0x3FEB0AC160000000 %add106.i.6.2 = fadd float %add105.i.6.2, 1.000000e+00 %cond111.i.6.2 = select i1 %cmp94.i.6.2, float %add106.i.6.2, float %sub104.i.6.2 %cond116.i.6.2 = select i1 %cmp.i583.6.2, float %cond111.i.6.2, float %cond103.i.6.2 %sub117.i.6.2 = fadd float %mul226.6.2, -5.000000e-01 %2288 = tail call float @llvm.fmuladd.f32(float %mul226.6.2, float %div82.i.6.2, float %sub117.i.6.2) #5 %sub119.i.6.2 = fsub float 5.000000e-01, %2288 %cond124.i.6.2 = select i1 %cmp2.i.6.2, float %sub119.i.6.2, float %cond116.i.6.2 %cmp125.i.6.2 = fcmp olt float %mul226.6.2, -6.000000e+00 %cond129.i.6.2 = select i1 %cmp125.i.6.2, float 2.000000e+00, float %cond124.i.6.2 %cmp.i.i.6.2 = fcmp uno float %mul226.6.2, 0.000000e+00 %cond134.i.6.2 = select i1 %cmp.i.i.6.2, float %mul226.6.2, float %cond129.i.6.2 %mul229.6.2 = fmul float %cond.6.2, %nbparam_params_sh_ewald %neg230.6.2 = fsub float -0.000000e+00, %mul229.6.2 %2289 = tail call float @llvm.fmuladd.f32(float %div196.6.2, float %cond134.i.6.2, float %neg230.6.2) %2290 = tail call float @llvm.fmuladd.f32(float %mul217.6.2, float %2289, float %E_el.5.5.2) %splat.splatinsert.6.2 = insertelement <3 x float> undef, float %2225, i32 0 %splat.splat.6.2 = shufflevector <3 x float> %splat.splatinsert.6.2, <3 x float> undef, <3 x i32> zeroinitializer %mul235.6.2 = fmul <3 x float> %extractVec166.6.2, %splat.splat.6.2 %extractVec243.6.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.2, <4 x float> undef, <3 x i32> %sub244.6.2 = fsub <3 x float> %extractVec243.6.2, %mul235.6.2 %extractVec245.6.2 = shufflevector <3 x float> %sub244.6.2, <3 x float> undef, <4 x i32> %extractVec253.6.2 = shufflevector <4 x float> %fci_buf.sroa.62.5, <4 x float> undef, <3 x i32> %add254.6.2 = fadd <3 x float> %extractVec253.6.2, %mul235.6.2 %extractVec255.6.2 = shufflevector <3 x float> %add254.6.2, <3 x float> undef, <4 x i32> br label %if.end258.6.2 if.end258.6.2: ; preds = %if.then182.6.2, %if.then147.6.2, %if.end258.5.2 %fci_buf.sroa.62.6 = phi <4 x float> [ %fci_buf.sroa.62.5, %if.end258.5.2 ], [ %extractVec255.6.2, %if.then182.6.2 ], [ %fci_buf.sroa.62.5, %if.then147.6.2 ] %E_el.5.6.2 = phi float [ %E_el.5.5.2, %if.end258.5.2 ], [ %2290, %if.then182.6.2 ], [ %E_el.5.5.2, %if.then147.6.2 ] %E_lj.3.6.2 = phi float [ %E_lj.3.5.2, %if.end258.5.2 ], [ %add216.6.2, %if.then182.6.2 ], [ %E_lj.3.5.2, %if.then147.6.2 ] %fcj_buf.sroa.0.1.6.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.5.2, %if.end258.5.2 ], [ %extractVec245.6.2, %if.then182.6.2 ], [ %fcj_buf.sroa.0.1.5.2, %if.then147.6.2 ] %and145.7.2 = and i32 %64, 8388608 %tobool146.7.2 = icmp eq i32 %and145.7.2, 0 br i1 %tobool146.7.2, label %if.end258.7.2, label %if.then147.7.2 if.then147.7.2: ; preds = %if.end258.6.2 %2291 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.7.3, align 16, !tbaa !36 %2292 = fsub <4 x float> %2291, %1630 %2293 = extractelement <4 x float> %2292, i32 0 %2294 = extractelement <4 x float> %2292, i32 1 %mul3.i.i589.7.2 = fmul float %2294, %2294 %2295 = tail call float @llvm.fmuladd.f32(float %2293, float %2293, float %mul3.i.i589.7.2) #5 %2296 = extractelement <4 x float> %2292, i32 2 %2297 = tail call float @llvm.fmuladd.f32(float %2296, float %2296, float %2295) #5 %and168.7.2 = and i32 %66, 8388608 %tobool169.7.2 = icmp ne i32 %and168.7.2, 0 %cond.7.2 = select i1 %tobool169.7.2, float 1.000000e+00, float 0.000000e+00 %cmp174.7.2 = icmp eq i32 %48, %1628 %or.cond.7.2 = and i1 %cmp63, %cmp174.7.2 %not.or.cond.7.2 = xor i1 %or.cond.7.2, true %cmp176..7.2 = or i1 %cmp176, %not.or.cond.7.2 %conv178.7.2 = uitofp i1 %cmp176..7.2 to float %mul179.7.2 = fmul float %conv178.7.2, %nbparam_params_rcoulomb_sq %cmp180.7.2 = fcmp olt float %2297, %mul179.7.2 br i1 %cmp180.7.2, label %if.then182.7.2, label %if.end258.7.2 if.then182.7.2: ; preds = %if.then147.7.2 %extractVec166.7.2 = shufflevector <4 x float> %2292, <4 x float> undef, <3 x i32> %2298 = extractelement <4 x float> %2291, i32 3 %2299 = load i32, i32 addrspace(1)* %arrayidx183.7.3, align 4, !tbaa !41 %mul184.7.2 = mul nsw i32 %2299, %ntypes %add185.7.2 = add nsw i32 %mul184.7.2, %1632 %mul186.7.2 = shl nsw i32 %add185.7.2, 1 %2300 = sext i32 %mul186.7.2 to i64 %arrayidx187.7.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2300 %2301 = load float, float addrspace(2)* %arrayidx187.7.2, align 4, !tbaa !39 %add191.7.2 = or i32 %mul186.7.2, 1 %2302 = sext i32 %add191.7.2 to i64 %arrayidx192.7.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2302 %2303 = load float, float addrspace(2)* %arrayidx192.7.2, align 4, !tbaa !39 %sub193.7.2 = fsub float 1.000000e+00, %cond.7.2 %2304 = tail call float @llvm.fmuladd.f32(float %sub193.7.2, float 0x3D71979980000000, float %2297) %cmp.i.i587.7.2 = fcmp olt float %2304, 0.000000e+00 %call.i.i.7.2 = tail call float @llvm.sqrt.f32(float %2304) #6 %call.i.i.op.7.2 = fdiv float 1.000000e+00, %call.i.i.7.2 %div196.7.2 = select i1 %cmp.i.i587.7.2, float 0x7FF8000000000000, float %call.i.i.op.7.2 %mul197.7.2 = fmul float %div196.7.2, %div196.7.2 %mul198.7.2 = fmul float %mul197.7.2, %mul197.7.2 %mul199.7.2 = fmul float %mul197.7.2, %mul198.7.2 %mul200.7.2 = fmul float %cond.7.2, %mul199.7.2 %neg.7.2 = fsub float -0.000000e+00, %2301 %2305 = tail call float @llvm.fmuladd.f32(float %2303, float %mul200.7.2, float %neg.7.2) %mul202.7.2 = fmul float %mul200.7.2, %2305 %mul203.7.2 = fmul float %mul197.7.2, %mul202.7.2 %2306 = tail call float @llvm.fmuladd.f32(float %mul200.7.2, float %mul200.7.2, float %nbparam_params_repulsion_shift_cpot) %mul207.7.2 = fmul float %2306, %2303 %add211.7.2 = fadd float %mul200.7.2, %nbparam_params_dispersion_shift_cpot %mul212.7.2 = fmul float %add211.7.2, %2301 %mul213.7.2 = fmul float %mul212.7.2, 0x3FC5555560000000 %neg214.7.2 = fsub float -0.000000e+00, %mul213.7.2 %2307 = tail call float @llvm.fmuladd.f32(float %mul207.7.2, float 0x3FB5555540000000, float %neg214.7.2) %mul215.7.2 = fmul float %cond.7.2, %2307 %add216.7.2 = fadd float %E_lj.3.6.2, %mul215.7.2 %mul217.7.2 = fmul float %1631, %2298 %mul218.7.2 = fmul float %cond.7.2, %mul197.7.2 %mul220.7.2 = fmul float %mul, %2304 %mul.i585.7.2 = fmul float %mul220.7.2, %mul220.7.2 %2308 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.7.2, float 0x3FBDA79640000000) #5 %2309 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.7.2, float 0x3FE03C5780000000) #5 %2310 = tail call float @llvm.fmuladd.f32(float %2308, float %mul.i585.7.2, float 1.000000e+00) #5 %2311 = tail call float @llvm.fmuladd.f32(float %2309, float %mul220.7.2, float %2310) #5 %div.i586.7.2 = fdiv float 1.000000e+00, %2311, !fpmath !46 %2312 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.7.2, float 0xBF0BFF7260000000) #5 %2313 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.7.2, float 0x3F50794180000000) #5 %2314 = tail call float @llvm.fmuladd.f32(float %2312, float %mul.i585.7.2, float 0xBF93BDB200000000) #5 %2315 = tail call float @llvm.fmuladd.f32(float %2313, float %mul.i585.7.2, float 0x3FB1D5E760000000) #5 %2316 = tail call float @llvm.fmuladd.f32(float %2314, float %mul.i585.7.2, float 0xBFE81272E0000000) #5 %2317 = tail call float @llvm.fmuladd.f32(float %2315, float %mul220.7.2, float %2316) #5 %mul11.i.7.2 = fmul float %2317, %div.i586.7.2 %mul222.7.2 = fmul float %mul19, %mul11.i.7.2 %2318 = tail call float @llvm.fmuladd.f32(float %mul218.7.2, float %div196.7.2, float %mul222.7.2) %2319 = tail call float @llvm.fmuladd.f32(float %mul217.7.2, float %2318, float %mul203.7.2) %mul225.7.2 = fmul float %2304, %div196.7.2 %mul226.7.2 = fmul float %mul225.7.2, %nbparam_params_ewald_beta %fabs.i.7.2 = tail call float @llvm.fabs.f32(float %mul226.7.2) #5 %and.i.7.2 = bitcast float %fabs.i.7.2 to i32 %mul.i.7.2 = fmul float %mul226.7.2, %mul226.7.2 %div.i.7.2 = fdiv float 1.000000e+00, %mul.i.7.2, !fpmath !46 %sub.i.7.2 = fadd float %fabs.i.7.2, -1.000000e+00 %cmp.i583.7.2 = fcmp olt float %fabs.i.7.2, 1.250000e+00 %cond.i.7.2 = select i1 %cmp.i583.7.2, float %sub.i.7.2, float %div.i.7.2 %cmp2.i.7.2 = fcmp olt float %fabs.i.7.2, 8.437500e-01 %cond6.i.7.2 = select i1 %cmp2.i.7.2, float %mul.i.7.2, float %cond.i.7.2 %2320 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2321 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2320, float 0xC083EC8820000000) #5 %2322 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2321, float 0xC064145D40000000) #5 %2323 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2322, float 0xC031C20960000000) #5 %2324 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2323, float 0xBFE993BA80000000) #5 %2325 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2324, float 0xBF84341240000000) #5 %2326 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2327 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2326, float 0x40A3F219C0000000) #5 %2328 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2327, float 0x40A8FFB760000000) #5 %2329 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2328, float 0x409802EB20000000) #5 %2330 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2329, float 0x40745CAE20000000) #5 %2331 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2330, float 0x403E568B20000000) #5 %2332 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2333 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2332, float 0xC067135CE0000000) #5 %2334 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2333, float 0xC0644CB180000000) #5 %2335 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2334, float 0xC04F300AE0000000) #5 %2336 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2335, float 0xC0251E0440000000) #5 %2337 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2336, float 0xBFE63416E0000000) #5 %2338 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2337, float 0xBF84341260000000) #5 %2339 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2340 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2339, float 0x405B28A3E0000000) #5 %2341 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2340, float 0x407AD02160000000) #5 %2342 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2341, float 0x40842B1920000000) #5 %2343 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2342, float 0x407B290DE0000000) #5 %2344 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2343, float 0x4061350C60000000) #5 %2345 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2344, float 0x4033A6B9C0000000) #5 %cmp32.i.7.2 = fcmp olt float %fabs.i.7.2, 0x4006DB6DA0000000 %cond36.i.7.2 = select i1 %cmp32.i.7.2, float %2338, float %2325 %cond41.i.7.2 = select i1 %cmp32.i.7.2, float %2345, float %2331 %2346 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2347 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2346, float 0xBFBC639840000000) #5 %2348 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2347, float 0x3FD45FCA80000000) #5 %2349 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2348, float 0xBFD7D24100000000) #5 %2350 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2349, float 0x3FDA8D00A0000000) #5 %2351 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2350, float 0xBF6359B8C0000000) #5 %2352 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2353 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2352, float 0x3FC02660E0000000) #5 %2354 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2353, float 0x3FB2635CE0000000) #5 %2355 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2354, float 0x3FE14AF0A0000000) #5 %2356 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2355, float 0x3FBB3E6620000000) #5 %cond57.i.7.2 = select i1 %cmp.i583.7.2, float %2351, float %cond36.i.7.2 %cond62.i.7.2 = select i1 %cmp.i583.7.2, float %2356, float %cond41.i.7.2 %2357 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2358 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2357, float 0xBF9D2A51E0000000) #5 %2359 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2358, float 0xBFD4CD7D60000000) #5 %2360 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2359, float 0x3FC06EBA80000000) #5 %2361 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2362 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2361, float 0x3F74D022C0000000) #5 %2363 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2362, float 0x3FB0A54C60000000) #5 %2364 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2363, float 0x3FD97779C0000000) #5 %cond75.i.7.2 = select i1 %cmp2.i.7.2, float %2360, float %cond57.i.7.2 %cond80.i.7.2 = select i1 %cmp2.i.7.2, float %2364, float %cond62.i.7.2 %2365 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %cond80.i.7.2, float 1.000000e+00) #5 %div82.i.7.2 = fdiv float %cond75.i.7.2, %2365, !fpmath !46 %and83.i.7.2 = and i32 %and.i.7.2, -4096 %astype84.i.7.2 = bitcast i32 %and83.i.7.2 to float %sub85.i.7.2 = fsub float -0.000000e+00, %astype84.i.7.2 %2366 = tail call float @llvm.fmuladd.f32(float %sub85.i.7.2, float %astype84.i.7.2, float -5.625000e-01) #5 %cmp.i2.i.7.2 = fcmp olt float %2366, 0.000000e+00 %cond.i3.i.7.2 = select i1 %cmp.i2.i.7.2, float -5.000000e-01, float 5.000000e-01 %2367 = tail call float @llvm.fmuladd.f32(float %2366, float 0x3FF7154760000000, float %cond.i3.i.7.2) #5 %conv.i4.i.7.2 = fptosi float %2367 to i32 %conv1.i5.i.7.2 = sitofp i32 %conv.i4.i.7.2 to float %2368 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.7.2, float 0xBFE62E3000000000, float %2366) #5 %mul.i6.i.7.2 = fmul float %conv1.i5.i.7.2, 0xBEE2FEFA20000000 %add.i7.i.7.2 = fadd float %2368, %mul.i6.i.7.2 %mul3.i8.i.7.2 = fmul float %add.i7.i.7.2, %add.i7.i.7.2 %2369 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2370 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float %2369, float 0x3F11566AA0000000) #5 %2371 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float %2370, float 0xBF66C16C20000000) #5 %2372 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float %2371, float 0x3FC5555560000000) #5 %sub8.i9.i.7.2 = fsub float -0.000000e+00, %2372 %2373 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float %sub8.i9.i.7.2, float %add.i7.i.7.2) #5 %sub10.i10.i.7.2 = fsub float -0.000000e+00, %mul.i6.i.7.2 %mul11.i11.i.7.2 = fmul float %add.i7.i.7.2, %2373 %sub12.i12.i.7.2 = fsub float 2.000000e+00, %2373 %div.i13.i.7.2 = fdiv float %mul11.i11.i.7.2, %sub12.i12.i.7.2, !fpmath !46 %sub13.i14.i.7.2 = fsub float %sub10.i10.i.7.2, %div.i13.i.7.2 %sub14.i15.i.7.2 = fsub float %sub13.i14.i.7.2, %2368 %sub15.i16.i.7.2 = fsub float 1.000000e+00, %sub14.i15.i.7.2 %astype.i17.i.7.2 = bitcast float %sub15.i16.i.7.2 to i32 %shl.i18.i.7.2 = shl i32 %conv.i4.i.7.2, 23 %add16.i19.i.7.2 = add nsw i32 %astype.i17.i.7.2, %shl.i18.i.7.2 %astype17.i20.i.7.2 = bitcast i32 %add16.i19.i.7.2 to float %cmp18.i21.i.7.2 = fcmp olt float %2366, 0xC055D589E0000000 %cond20.i22.i.7.2 = select i1 %cmp18.i21.i.7.2, float 0.000000e+00, float %astype17.i20.i.7.2 %cmp21.i23.i.7.2 = fcmp olt float %2366, 0x40562E4300000000 %cond26.i24.i.7.2 = select i1 %cmp21.i23.i.7.2, float %cond20.i22.i.7.2, float 0x7FF0000000000000 %cmp.i.i25.i.7.2 = fcmp uno float %2366, 0.000000e+00 %cond31.i26.i.7.2 = select i1 %cmp.i.i25.i.7.2, float %2366, float %cond26.i24.i.7.2 %sub88.i.7.2 = fsub float %astype84.i.7.2, %fabs.i.7.2 %add.i584.7.2 = fadd float %fabs.i.7.2, %astype84.i.7.2 %2374 = tail call float @llvm.fmuladd.f32(float %sub88.i.7.2, float %add.i584.7.2, float %div82.i.7.2) #5 %cmp.i1.i.7.2 = fcmp olt float %2374, 0.000000e+00 %cond.i.i.7.2 = select i1 %cmp.i1.i.7.2, float -5.000000e-01, float 5.000000e-01 %2375 = tail call float @llvm.fmuladd.f32(float %2374, float 0x3FF7154760000000, float %cond.i.i.7.2) #5 %conv.i.i.7.2 = fptosi float %2375 to i32 %conv1.i.i.7.2 = sitofp i32 %conv.i.i.7.2 to float %2376 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.7.2, float 0xBFE62E3000000000, float %2374) #5 %mul.i.i.7.2 = fmul float %conv1.i.i.7.2, 0xBEE2FEFA20000000 %add.i.i.7.2 = fadd float %2376, %mul.i.i.7.2 %mul3.i.i.7.2 = fmul float %add.i.i.7.2, %add.i.i.7.2 %2377 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2378 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float %2377, float 0x3F11566AA0000000) #5 %2379 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float %2378, float 0xBF66C16C20000000) #5 %2380 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float %2379, float 0x3FC5555560000000) #5 %sub8.i.i.7.2 = fsub float -0.000000e+00, %2380 %2381 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float %sub8.i.i.7.2, float %add.i.i.7.2) #5 %sub10.i.i.7.2 = fsub float -0.000000e+00, %mul.i.i.7.2 %mul11.i.i.7.2 = fmul float %add.i.i.7.2, %2381 %sub12.i.i.7.2 = fsub float 2.000000e+00, %2381 %div.i.i.7.2 = fdiv float %mul11.i.i.7.2, %sub12.i.i.7.2, !fpmath !46 %sub13.i.i.7.2 = fsub float %sub10.i.i.7.2, %div.i.i.7.2 %sub14.i.i.7.2 = fsub float %sub13.i.i.7.2, %2376 %sub15.i.i.7.2 = fsub float 1.000000e+00, %sub14.i.i.7.2 %astype.i.i.7.2 = bitcast float %sub15.i.i.7.2 to i32 %shl.i.i.7.2 = shl i32 %conv.i.i.7.2, 23 %add16.i.i.7.2 = add nsw i32 %astype.i.i.7.2, %shl.i.i.7.2 %astype17.i.i.7.2 = bitcast i32 %add16.i.i.7.2 to float %cmp18.i.i.7.2 = fcmp olt float %2374, 0xC055D589E0000000 %cond20.i.i.7.2 = select i1 %cmp18.i.i.7.2, float 0.000000e+00, float %astype17.i.i.7.2 %cmp21.i.i.7.2 = fcmp olt float %2374, 0x40562E4300000000 %cond26.i.i.7.2 = select i1 %cmp21.i.i.7.2, float %cond20.i.i.7.2, float 0x7FF0000000000000 %cmp.i.i.i.7.2 = fcmp uno float %2374, 0.000000e+00 %cond31.i.i.7.2 = select i1 %cmp.i.i.i.7.2, float %2374, float %cond26.i.i.7.2 %mul91.i.7.2 = fmul float %cond31.i26.i.7.2, %cond31.i.i.7.2 %div92.i.7.2 = fdiv float %mul91.i.7.2, %fabs.i.7.2, !fpmath !46 %sub93.i.7.2 = fsub float 2.000000e+00, %div92.i.7.2 %cmp94.i.7.2 = fcmp olt float %mul226.7.2, 0.000000e+00 %cond98.i.7.2 = select i1 %cmp94.i.7.2, float %sub93.i.7.2, float %div92.i.7.2 %cmp99.i.7.2 = fcmp olt float %fabs.i.7.2, 2.800000e+01 %cond103.i.7.2 = select i1 %cmp99.i.7.2, float %cond98.i.7.2, float 0.000000e+00 %sub104.i.7.2 = fsub float 0x3FC3D4FA80000000, %div82.i.7.2 %add105.i.7.2 = fadd float %div82.i.7.2, 0x3FEB0AC160000000 %add106.i.7.2 = fadd float %add105.i.7.2, 1.000000e+00 %cond111.i.7.2 = select i1 %cmp94.i.7.2, float %add106.i.7.2, float %sub104.i.7.2 %cond116.i.7.2 = select i1 %cmp.i583.7.2, float %cond111.i.7.2, float %cond103.i.7.2 %sub117.i.7.2 = fadd float %mul226.7.2, -5.000000e-01 %2382 = tail call float @llvm.fmuladd.f32(float %mul226.7.2, float %div82.i.7.2, float %sub117.i.7.2) #5 %sub119.i.7.2 = fsub float 5.000000e-01, %2382 %cond124.i.7.2 = select i1 %cmp2.i.7.2, float %sub119.i.7.2, float %cond116.i.7.2 %cmp125.i.7.2 = fcmp olt float %mul226.7.2, -6.000000e+00 %cond129.i.7.2 = select i1 %cmp125.i.7.2, float 2.000000e+00, float %cond124.i.7.2 %cmp.i.i.7.2 = fcmp uno float %mul226.7.2, 0.000000e+00 %cond134.i.7.2 = select i1 %cmp.i.i.7.2, float %mul226.7.2, float %cond129.i.7.2 %mul229.7.2 = fmul float %cond.7.2, %nbparam_params_sh_ewald %neg230.7.2 = fsub float -0.000000e+00, %mul229.7.2 %2383 = tail call float @llvm.fmuladd.f32(float %div196.7.2, float %cond134.i.7.2, float %neg230.7.2) %2384 = tail call float @llvm.fmuladd.f32(float %mul217.7.2, float %2383, float %E_el.5.6.2) %splat.splatinsert.7.2 = insertelement <3 x float> undef, float %2319, i32 0 %splat.splat.7.2 = shufflevector <3 x float> %splat.splatinsert.7.2, <3 x float> undef, <3 x i32> zeroinitializer %mul235.7.2 = fmul <3 x float> %extractVec166.7.2, %splat.splat.7.2 %extractVec243.7.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.2, <4 x float> undef, <3 x i32> %sub244.7.2 = fsub <3 x float> %extractVec243.7.2, %mul235.7.2 %extractVec245.7.2 = shufflevector <3 x float> %sub244.7.2, <3 x float> undef, <4 x i32> %extractVec253.7.2 = shufflevector <4 x float> %fci_buf.sroa.72.6, <4 x float> undef, <3 x i32> %add254.7.2 = fadd <3 x float> %extractVec253.7.2, %mul235.7.2 %extractVec255.7.2 = shufflevector <3 x float> %add254.7.2, <3 x float> undef, <4 x i32> br label %if.end258.7.2 if.end258.7.2: ; preds = %if.then182.7.2, %if.then147.7.2, %if.end258.6.2 %fci_buf.sroa.72.7 = phi <4 x float> [ %fci_buf.sroa.72.6, %if.end258.6.2 ], [ %extractVec255.7.2, %if.then182.7.2 ], [ %fci_buf.sroa.72.6, %if.then147.7.2 ] %E_el.5.7.2 = phi float [ %E_el.5.6.2, %if.end258.6.2 ], [ %2384, %if.then182.7.2 ], [ %E_el.5.6.2, %if.then147.7.2 ] %E_lj.3.7.2 = phi float [ %E_lj.3.6.2, %if.end258.6.2 ], [ %add216.7.2, %if.then182.7.2 ], [ %E_lj.3.6.2, %if.then147.7.2 ] %fcj_buf.sroa.0.1.7.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.2, %if.end258.6.2 ], [ %extractVec245.7.2, %if.then182.7.2 ], [ %fcj_buf.sroa.0.1.6.2, %if.then147.7.2 ] %2385 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 0 store float %2385, float addrspace(3)* %arrayidx263, align 4, !tbaa !39 %2386 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 1 store float %2386, float addrspace(3)* %arrayidx265, align 4, !tbaa !39 %2387 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 2 store float %2387, 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.2) br label %for.inc269.2 for.inc269.2: ; preds = %if.end258.7.2, %for.inc269.1 %fci_buf.sroa.72.8 = phi <4 x float> [ %fci_buf.sroa.72.6, %for.inc269.1 ], [ %fci_buf.sroa.72.7, %if.end258.7.2 ] %fci_buf.sroa.62.7 = phi <4 x float> [ %fci_buf.sroa.62.5, %for.inc269.1 ], [ %fci_buf.sroa.62.6, %if.end258.7.2 ] %fci_buf.sroa.52.7 = phi <4 x float> [ %fci_buf.sroa.52.5, %for.inc269.1 ], [ %fci_buf.sroa.52.6, %if.end258.7.2 ] %fci_buf.sroa.42.7 = phi <4 x float> [ %fci_buf.sroa.42.5, %for.inc269.1 ], [ %fci_buf.sroa.42.6, %if.end258.7.2 ] %fci_buf.sroa.32.7 = phi <4 x float> [ %fci_buf.sroa.32.5, %for.inc269.1 ], [ %fci_buf.sroa.32.6, %if.end258.7.2 ] %fci_buf.sroa.22.7 = phi <4 x float> [ %fci_buf.sroa.22.5, %for.inc269.1 ], [ %fci_buf.sroa.22.6, %if.end258.7.2 ] %fci_buf.sroa.12.7 = phi <4 x float> [ %fci_buf.sroa.12.5, %for.inc269.1 ], [ %fci_buf.sroa.12.6, %if.end258.7.2 ] %fci_buf.sroa.0.7 = phi <4 x float> [ %fci_buf.sroa.0.5, %for.inc269.1 ], [ %fci_buf.sroa.0.6, %if.end258.7.2 ] %E_el.6.2 = phi float [ %E_el.6.1, %for.inc269.1 ], [ %E_el.5.7.2, %if.end258.7.2 ] %E_lj.4.2 = phi float [ %E_lj.4.1, %for.inc269.1 ], [ %E_lj.3.7.2, %if.end258.7.2 ] %tobool125.3 = icmp ult i32 %64, 16777216 br i1 %tobool125.3, label %for.inc273, label %if.then126.3 if.then126.3: ; preds = %for.inc269.2 %2388 = load i32, i32 addrspace(3)* %arrayidx134.3, align 4, !tbaa !41 %mul135.3 = shl nsw i32 %2388, 3 %add136.3 = add i32 %mul135.3, %y.i %2389 = sext i32 %add136.3 to i64 %arrayidx137.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %2389 %2390 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx137.3, align 16, !tbaa !36 %2391 = extractelement <4 x float> %2390, i32 3 %arrayidx139.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %2389 %2392 = load i32, i32 addrspace(1)* %arrayidx139.3, align 4, !tbaa !41 %and145.3937 = and i32 %64, 16777216 %tobool146.3938 = icmp eq i32 %and145.3937, 0 br i1 %tobool146.3938, label %if.end258.31099, label %if.then147.3951 if.then147.3951: ; preds = %if.then126.3 %2393 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.3939, align 16, !tbaa !36 %2394 = fsub <4 x float> %2393, %2390 %2395 = extractelement <4 x float> %2394, i32 0 %2396 = extractelement <4 x float> %2394, i32 1 %mul3.i.i589.3940 = fmul float %2396, %2396 %2397 = tail call float @llvm.fmuladd.f32(float %2395, float %2395, float %mul3.i.i589.3940) #5 %2398 = extractelement <4 x float> %2394, i32 2 %2399 = tail call float @llvm.fmuladd.f32(float %2398, float %2398, float %2397) #5 %and168.3941 = and i32 %66, 16777216 %tobool169.3942 = icmp ne i32 %and168.3941, 0 %cond.3943 = select i1 %tobool169.3942, float 1.000000e+00, float 0.000000e+00 %cmp174.3944 = icmp eq i32 %mul31, %2388 %or.cond.3945 = and i1 %cmp63, %cmp174.3944 %not.or.cond.3946 = xor i1 %or.cond.3945, true %cmp176..3947 = or i1 %cmp176, %not.or.cond.3946 %conv178.3948 = uitofp i1 %cmp176..3947 to float %mul179.3949 = fmul float %conv178.3948, %nbparam_params_rcoulomb_sq %cmp180.3950 = fcmp olt float %2399, %mul179.3949 br i1 %cmp180.3950, label %if.then182.31094, label %if.end258.31099 if.then182.31094: ; preds = %if.then147.3951 %extractVec166.3952 = shufflevector <4 x float> %2394, <4 x float> undef, <3 x i32> %2400 = extractelement <4 x float> %2393, i32 3 %2401 = load i32, i32 addrspace(1)* %arrayidx183.3955, align 4, !tbaa !41 %mul184.3956 = mul nsw i32 %2401, %ntypes %add185.3957 = add nsw i32 %mul184.3956, %2392 %mul186.3958 = shl nsw i32 %add185.3957, 1 %2402 = sext i32 %mul186.3958 to i64 %arrayidx187.3959 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2402 %2403 = load float, float addrspace(2)* %arrayidx187.3959, align 4, !tbaa !39 %add191.3960 = or i32 %mul186.3958, 1 %2404 = sext i32 %add191.3960 to i64 %arrayidx192.3961 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2404 %2405 = load float, float addrspace(2)* %arrayidx192.3961, align 4, !tbaa !39 %sub193.3962 = fsub float 1.000000e+00, %cond.3943 %2406 = tail call float @llvm.fmuladd.f32(float %sub193.3962, float 0x3D71979980000000, float %2399) %cmp.i.i587.3963 = fcmp olt float %2406, 0.000000e+00 %call.i.i.3964 = tail call float @llvm.sqrt.f32(float %2406) #6 %call.i.i.op.3965 = fdiv float 1.000000e+00, %call.i.i.3964 %div196.3966 = select i1 %cmp.i.i587.3963, float 0x7FF8000000000000, float %call.i.i.op.3965 %mul197.3967 = fmul float %div196.3966, %div196.3966 %mul198.3968 = fmul float %mul197.3967, %mul197.3967 %mul199.3969 = fmul float %mul197.3967, %mul198.3968 %mul200.3970 = fmul float %cond.3943, %mul199.3969 %neg.3971 = fsub float -0.000000e+00, %2403 %2407 = tail call float @llvm.fmuladd.f32(float %2405, float %mul200.3970, float %neg.3971) %mul202.3972 = fmul float %mul200.3970, %2407 %mul203.3973 = fmul float %mul197.3967, %mul202.3972 %2408 = tail call float @llvm.fmuladd.f32(float %mul200.3970, float %mul200.3970, float %nbparam_params_repulsion_shift_cpot) %mul207.3974 = fmul float %2408, %2405 %add211.3975 = fadd float %mul200.3970, %nbparam_params_dispersion_shift_cpot %mul212.3976 = fmul float %add211.3975, %2403 %mul213.3977 = fmul float %mul212.3976, 0x3FC5555560000000 %neg214.3978 = fsub float -0.000000e+00, %mul213.3977 %2409 = tail call float @llvm.fmuladd.f32(float %mul207.3974, float 0x3FB5555540000000, float %neg214.3978) %mul215.3979 = fmul float %cond.3943, %2409 %add216.3980 = fadd float %E_lj.4.2, %mul215.3979 %mul217.3981 = fmul float %2391, %2400 %mul218.3982 = fmul float %cond.3943, %mul197.3967 %mul220.3983 = fmul float %mul, %2406 %mul.i585.3984 = fmul float %mul220.3983, %mul220.3983 %2410 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.3984, float 0x3FBDA79640000000) #5 %2411 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.3984, float 0x3FE03C5780000000) #5 %2412 = tail call float @llvm.fmuladd.f32(float %2410, float %mul.i585.3984, float 1.000000e+00) #5 %2413 = tail call float @llvm.fmuladd.f32(float %2411, float %mul220.3983, float %2412) #5 %div.i586.3985 = fdiv float 1.000000e+00, %2413, !fpmath !46 %2414 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.3984, float 0xBF0BFF7260000000) #5 %2415 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.3984, float 0x3F50794180000000) #5 %2416 = tail call float @llvm.fmuladd.f32(float %2414, float %mul.i585.3984, float 0xBF93BDB200000000) #5 %2417 = tail call float @llvm.fmuladd.f32(float %2415, float %mul.i585.3984, float 0x3FB1D5E760000000) #5 %2418 = tail call float @llvm.fmuladd.f32(float %2416, float %mul.i585.3984, float 0xBFE81272E0000000) #5 %2419 = tail call float @llvm.fmuladd.f32(float %2417, float %mul220.3983, float %2418) #5 %mul11.i.3986 = fmul float %2419, %div.i586.3985 %mul222.3987 = fmul float %mul19, %mul11.i.3986 %2420 = tail call float @llvm.fmuladd.f32(float %mul218.3982, float %div196.3966, float %mul222.3987) %2421 = tail call float @llvm.fmuladd.f32(float %mul217.3981, float %2420, float %mul203.3973) %mul225.3988 = fmul float %2406, %div196.3966 %mul226.3989 = fmul float %mul225.3988, %nbparam_params_ewald_beta %fabs.i.3990 = tail call float @llvm.fabs.f32(float %mul226.3989) #5 %and.i.3991 = bitcast float %fabs.i.3990 to i32 %mul.i.3992 = fmul float %mul226.3989, %mul226.3989 %div.i.3993 = fdiv float 1.000000e+00, %mul.i.3992, !fpmath !46 %sub.i.3994 = fadd float %fabs.i.3990, -1.000000e+00 %cmp.i583.3995 = fcmp olt float %fabs.i.3990, 1.250000e+00 %cond.i.3996 = select i1 %cmp.i583.3995, float %sub.i.3994, float %div.i.3993 %cmp2.i.3997 = fcmp olt float %fabs.i.3990, 8.437500e-01 %cond6.i.3998 = select i1 %cmp2.i.3997, float %mul.i.3992, float %cond.i.3996 %2422 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2423 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2422, float 0xC083EC8820000000) #5 %2424 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2423, float 0xC064145D40000000) #5 %2425 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2424, float 0xC031C20960000000) #5 %2426 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2425, float 0xBFE993BA80000000) #5 %2427 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2426, float 0xBF84341240000000) #5 %2428 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2429 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2428, float 0x40A3F219C0000000) #5 %2430 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2429, float 0x40A8FFB760000000) #5 %2431 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2430, float 0x409802EB20000000) #5 %2432 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2431, float 0x40745CAE20000000) #5 %2433 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2432, float 0x403E568B20000000) #5 %2434 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2435 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2434, float 0xC067135CE0000000) #5 %2436 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2435, float 0xC0644CB180000000) #5 %2437 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2436, float 0xC04F300AE0000000) #5 %2438 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2437, float 0xC0251E0440000000) #5 %2439 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2438, float 0xBFE63416E0000000) #5 %2440 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2439, float 0xBF84341260000000) #5 %2441 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2442 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2441, float 0x405B28A3E0000000) #5 %2443 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2442, float 0x407AD02160000000) #5 %2444 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2443, float 0x40842B1920000000) #5 %2445 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2444, float 0x407B290DE0000000) #5 %2446 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2445, float 0x4061350C60000000) #5 %2447 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2446, float 0x4033A6B9C0000000) #5 %cmp32.i.3999 = fcmp olt float %fabs.i.3990, 0x4006DB6DA0000000 %cond36.i.31000 = select i1 %cmp32.i.3999, float %2440, float %2427 %cond41.i.31001 = select i1 %cmp32.i.3999, float %2447, float %2433 %2448 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2449 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2448, float 0xBFBC639840000000) #5 %2450 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2449, float 0x3FD45FCA80000000) #5 %2451 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2450, float 0xBFD7D24100000000) #5 %2452 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2451, float 0x3FDA8D00A0000000) #5 %2453 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2452, float 0xBF6359B8C0000000) #5 %2454 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2455 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2454, float 0x3FC02660E0000000) #5 %2456 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2455, float 0x3FB2635CE0000000) #5 %2457 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2456, float 0x3FE14AF0A0000000) #5 %2458 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2457, float 0x3FBB3E6620000000) #5 %cond57.i.31002 = select i1 %cmp.i583.3995, float %2453, float %cond36.i.31000 %cond62.i.31003 = select i1 %cmp.i583.3995, float %2458, float %cond41.i.31001 %2459 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2460 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2459, float 0xBF9D2A51E0000000) #5 %2461 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2460, float 0xBFD4CD7D60000000) #5 %2462 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2461, float 0x3FC06EBA80000000) #5 %2463 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2464 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2463, float 0x3F74D022C0000000) #5 %2465 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2464, float 0x3FB0A54C60000000) #5 %2466 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %2465, float 0x3FD97779C0000000) #5 %cond75.i.31004 = select i1 %cmp2.i.3997, float %2462, float %cond57.i.31002 %cond80.i.31005 = select i1 %cmp2.i.3997, float %2466, float %cond62.i.31003 %2467 = tail call float @llvm.fmuladd.f32(float %cond6.i.3998, float %cond80.i.31005, float 1.000000e+00) #5 %div82.i.31006 = fdiv float %cond75.i.31004, %2467, !fpmath !46 %and83.i.31007 = and i32 %and.i.3991, -4096 %astype84.i.31008 = bitcast i32 %and83.i.31007 to float %sub85.i.31009 = fsub float -0.000000e+00, %astype84.i.31008 %2468 = tail call float @llvm.fmuladd.f32(float %sub85.i.31009, float %astype84.i.31008, float -5.625000e-01) #5 %cmp.i2.i.31010 = fcmp olt float %2468, 0.000000e+00 %cond.i3.i.31011 = select i1 %cmp.i2.i.31010, float -5.000000e-01, float 5.000000e-01 %2469 = tail call float @llvm.fmuladd.f32(float %2468, float 0x3FF7154760000000, float %cond.i3.i.31011) #5 %conv.i4.i.31012 = fptosi float %2469 to i32 %conv1.i5.i.31013 = sitofp i32 %conv.i4.i.31012 to float %2470 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.31013, float 0xBFE62E3000000000, float %2468) #5 %mul.i6.i.31014 = fmul float %conv1.i5.i.31013, 0xBEE2FEFA20000000 %add.i7.i.31015 = fadd float %2470, %mul.i6.i.31014 %mul3.i8.i.31016 = fmul float %add.i7.i.31015, %add.i7.i.31015 %2471 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31016, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2472 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31016, float %2471, float 0x3F11566AA0000000) #5 %2473 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31016, float %2472, float 0xBF66C16C20000000) #5 %2474 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31016, float %2473, float 0x3FC5555560000000) #5 %sub8.i9.i.31017 = fsub float -0.000000e+00, %2474 %2475 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31016, float %sub8.i9.i.31017, float %add.i7.i.31015) #5 %sub10.i10.i.31018 = fsub float -0.000000e+00, %mul.i6.i.31014 %mul11.i11.i.31019 = fmul float %add.i7.i.31015, %2475 %sub12.i12.i.31020 = fsub float 2.000000e+00, %2475 %div.i13.i.31021 = fdiv float %mul11.i11.i.31019, %sub12.i12.i.31020, !fpmath !46 %sub13.i14.i.31022 = fsub float %sub10.i10.i.31018, %div.i13.i.31021 %sub14.i15.i.31023 = fsub float %sub13.i14.i.31022, %2470 %sub15.i16.i.31024 = fsub float 1.000000e+00, %sub14.i15.i.31023 %astype.i17.i.31025 = bitcast float %sub15.i16.i.31024 to i32 %shl.i18.i.31026 = shl i32 %conv.i4.i.31012, 23 %add16.i19.i.31027 = add nsw i32 %astype.i17.i.31025, %shl.i18.i.31026 %astype17.i20.i.31028 = bitcast i32 %add16.i19.i.31027 to float %cmp18.i21.i.31029 = fcmp olt float %2468, 0xC055D589E0000000 %cond20.i22.i.31030 = select i1 %cmp18.i21.i.31029, float 0.000000e+00, float %astype17.i20.i.31028 %cmp21.i23.i.31031 = fcmp olt float %2468, 0x40562E4300000000 %cond26.i24.i.31032 = select i1 %cmp21.i23.i.31031, float %cond20.i22.i.31030, float 0x7FF0000000000000 %cmp.i.i25.i.31033 = fcmp uno float %2468, 0.000000e+00 %cond31.i26.i.31034 = select i1 %cmp.i.i25.i.31033, float %2468, float %cond26.i24.i.31032 %sub88.i.31035 = fsub float %astype84.i.31008, %fabs.i.3990 %add.i584.31036 = fadd float %fabs.i.3990, %astype84.i.31008 %2476 = tail call float @llvm.fmuladd.f32(float %sub88.i.31035, float %add.i584.31036, float %div82.i.31006) #5 %cmp.i1.i.31037 = fcmp olt float %2476, 0.000000e+00 %cond.i.i.31038 = select i1 %cmp.i1.i.31037, float -5.000000e-01, float 5.000000e-01 %2477 = tail call float @llvm.fmuladd.f32(float %2476, float 0x3FF7154760000000, float %cond.i.i.31038) #5 %conv.i.i.31039 = fptosi float %2477 to i32 %conv1.i.i.31040 = sitofp i32 %conv.i.i.31039 to float %2478 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.31040, float 0xBFE62E3000000000, float %2476) #5 %mul.i.i.31041 = fmul float %conv1.i.i.31040, 0xBEE2FEFA20000000 %add.i.i.31042 = fadd float %2478, %mul.i.i.31041 %mul3.i.i.31043 = fmul float %add.i.i.31042, %add.i.i.31042 %2479 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31043, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2480 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31043, float %2479, float 0x3F11566AA0000000) #5 %2481 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31043, float %2480, float 0xBF66C16C20000000) #5 %2482 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31043, float %2481, float 0x3FC5555560000000) #5 %sub8.i.i.31044 = fsub float -0.000000e+00, %2482 %2483 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31043, float %sub8.i.i.31044, float %add.i.i.31042) #5 %sub10.i.i.31045 = fsub float -0.000000e+00, %mul.i.i.31041 %mul11.i.i.31046 = fmul float %add.i.i.31042, %2483 %sub12.i.i.31047 = fsub float 2.000000e+00, %2483 %div.i.i.31048 = fdiv float %mul11.i.i.31046, %sub12.i.i.31047, !fpmath !46 %sub13.i.i.31049 = fsub float %sub10.i.i.31045, %div.i.i.31048 %sub14.i.i.31050 = fsub float %sub13.i.i.31049, %2478 %sub15.i.i.31051 = fsub float 1.000000e+00, %sub14.i.i.31050 %astype.i.i.31052 = bitcast float %sub15.i.i.31051 to i32 %shl.i.i.31053 = shl i32 %conv.i.i.31039, 23 %add16.i.i.31054 = add nsw i32 %astype.i.i.31052, %shl.i.i.31053 %astype17.i.i.31055 = bitcast i32 %add16.i.i.31054 to float %cmp18.i.i.31056 = fcmp olt float %2476, 0xC055D589E0000000 %cond20.i.i.31057 = select i1 %cmp18.i.i.31056, float 0.000000e+00, float %astype17.i.i.31055 %cmp21.i.i.31058 = fcmp olt float %2476, 0x40562E4300000000 %cond26.i.i.31059 = select i1 %cmp21.i.i.31058, float %cond20.i.i.31057, float 0x7FF0000000000000 %cmp.i.i.i.31060 = fcmp uno float %2476, 0.000000e+00 %cond31.i.i.31061 = select i1 %cmp.i.i.i.31060, float %2476, float %cond26.i.i.31059 %mul91.i.31062 = fmul float %cond31.i26.i.31034, %cond31.i.i.31061 %div92.i.31063 = fdiv float %mul91.i.31062, %fabs.i.3990, !fpmath !46 %sub93.i.31064 = fsub float 2.000000e+00, %div92.i.31063 %cmp94.i.31065 = fcmp olt float %mul226.3989, 0.000000e+00 %cond98.i.31066 = select i1 %cmp94.i.31065, float %sub93.i.31064, float %div92.i.31063 %cmp99.i.31067 = fcmp olt float %fabs.i.3990, 2.800000e+01 %cond103.i.31068 = select i1 %cmp99.i.31067, float %cond98.i.31066, float 0.000000e+00 %sub104.i.31069 = fsub float 0x3FC3D4FA80000000, %div82.i.31006 %add105.i.31070 = fadd float %div82.i.31006, 0x3FEB0AC160000000 %add106.i.31071 = fadd float %add105.i.31070, 1.000000e+00 %cond111.i.31072 = select i1 %cmp94.i.31065, float %add106.i.31071, float %sub104.i.31069 %cond116.i.31073 = select i1 %cmp.i583.3995, float %cond111.i.31072, float %cond103.i.31068 %sub117.i.31074 = fadd float %mul226.3989, -5.000000e-01 %2484 = tail call float @llvm.fmuladd.f32(float %mul226.3989, float %div82.i.31006, float %sub117.i.31074) #5 %sub119.i.31075 = fsub float 5.000000e-01, %2484 %cond124.i.31076 = select i1 %cmp2.i.3997, float %sub119.i.31075, float %cond116.i.31073 %cmp125.i.31077 = fcmp olt float %mul226.3989, -6.000000e+00 %cond129.i.31078 = select i1 %cmp125.i.31077, float 2.000000e+00, float %cond124.i.31076 %cmp.i.i.31079 = fcmp uno float %mul226.3989, 0.000000e+00 %cond134.i.31080 = select i1 %cmp.i.i.31079, float %mul226.3989, float %cond129.i.31078 %mul229.31081 = fmul float %cond.3943, %nbparam_params_sh_ewald %neg230.31082 = fsub float -0.000000e+00, %mul229.31081 %2485 = tail call float @llvm.fmuladd.f32(float %div196.3966, float %cond134.i.31080, float %neg230.31082) %2486 = tail call float @llvm.fmuladd.f32(float %mul217.3981, float %2485, float %E_el.6.2) %splat.splatinsert.31083 = insertelement <3 x float> undef, float %2421, i32 0 %splat.splat.31084 = shufflevector <3 x float> %splat.splatinsert.31083, <3 x float> undef, <3 x i32> zeroinitializer %mul235.31085 = fmul <3 x float> %extractVec166.3952, %splat.splat.31084 %sub244.31086 = fsub <3 x float> zeroinitializer, %mul235.31085 %extractVec245.31087 = shufflevector <3 x float> %sub244.31086, <3 x float> undef, <4 x i32> %extractVec253.31091 = shufflevector <4 x float> %fci_buf.sroa.0.7, <4 x float> undef, <3 x i32> %add254.31092 = fadd <3 x float> %extractVec253.31091, %mul235.31085 %extractVec255.31093 = shufflevector <3 x float> %add254.31092, <3 x float> undef, <4 x i32> br label %if.end258.31099 if.end258.31099: ; preds = %if.then182.31094, %if.then147.3951, %if.then126.3 %fci_buf.sroa.0.8 = phi <4 x float> [ %fci_buf.sroa.0.7, %if.then126.3 ], [ %extractVec255.31093, %if.then182.31094 ], [ %fci_buf.sroa.0.7, %if.then147.3951 ] %E_el.5.31095 = phi float [ %E_el.6.2, %if.then126.3 ], [ %2486, %if.then182.31094 ], [ %E_el.6.2, %if.then147.3951 ] %E_lj.3.31096 = phi float [ %E_lj.4.2, %if.then126.3 ], [ %add216.3980, %if.then182.31094 ], [ %E_lj.4.2, %if.then147.3951 ] %fcj_buf.sroa.0.1.31097 = phi <4 x float> [ , %if.then126.3 ], [ %extractVec245.31087, %if.then182.31094 ], [ , %if.then147.3951 ] %and145.1.3 = and i32 %64, 33554432 %tobool146.1.3 = icmp eq i32 %and145.1.3, 0 br i1 %tobool146.1.3, label %if.end258.1.3, label %if.then147.1.3 if.then147.1.3: ; preds = %if.end258.31099 %2487 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.1.3, align 16, !tbaa !36 %2488 = fsub <4 x float> %2487, %2390 %2489 = extractelement <4 x float> %2488, i32 0 %2490 = extractelement <4 x float> %2488, i32 1 %mul3.i.i589.1.3 = fmul float %2490, %2490 %2491 = tail call float @llvm.fmuladd.f32(float %2489, float %2489, float %mul3.i.i589.1.3) #5 %2492 = extractelement <4 x float> %2488, i32 2 %2493 = tail call float @llvm.fmuladd.f32(float %2492, float %2492, float %2491) #5 %and168.1.3 = and i32 %66, 33554432 %tobool169.1.3 = icmp ne i32 %and168.1.3, 0 %cond.1.3 = select i1 %tobool169.1.3, float 1.000000e+00, float 0.000000e+00 %cmp174.1.3 = icmp eq i32 %60, %2388 %or.cond.1.3 = and i1 %cmp63, %cmp174.1.3 %not.or.cond.1.3 = xor i1 %or.cond.1.3, true %cmp176..1.3 = or i1 %cmp176, %not.or.cond.1.3 %conv178.1.3 = uitofp i1 %cmp176..1.3 to float %mul179.1.3 = fmul float %conv178.1.3, %nbparam_params_rcoulomb_sq %cmp180.1.3 = fcmp olt float %2493, %mul179.1.3 br i1 %cmp180.1.3, label %if.then182.1.3, label %if.end258.1.3 if.then182.1.3: ; preds = %if.then147.1.3 %extractVec166.1.3 = shufflevector <4 x float> %2488, <4 x float> undef, <3 x i32> %2494 = extractelement <4 x float> %2487, i32 3 %2495 = load i32, i32 addrspace(1)* %arrayidx183.1.3, align 4, !tbaa !41 %mul184.1.3 = mul nsw i32 %2495, %ntypes %add185.1.3 = add nsw i32 %mul184.1.3, %2392 %mul186.1.3 = shl nsw i32 %add185.1.3, 1 %2496 = sext i32 %mul186.1.3 to i64 %arrayidx187.1.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2496 %2497 = load float, float addrspace(2)* %arrayidx187.1.3, align 4, !tbaa !39 %add191.1.3 = or i32 %mul186.1.3, 1 %2498 = sext i32 %add191.1.3 to i64 %arrayidx192.1.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2498 %2499 = load float, float addrspace(2)* %arrayidx192.1.3, align 4, !tbaa !39 %sub193.1.3 = fsub float 1.000000e+00, %cond.1.3 %2500 = tail call float @llvm.fmuladd.f32(float %sub193.1.3, float 0x3D71979980000000, float %2493) %cmp.i.i587.1.3 = fcmp olt float %2500, 0.000000e+00 %call.i.i.1.3 = tail call float @llvm.sqrt.f32(float %2500) #6 %call.i.i.op.1.3 = fdiv float 1.000000e+00, %call.i.i.1.3 %div196.1.3 = select i1 %cmp.i.i587.1.3, float 0x7FF8000000000000, float %call.i.i.op.1.3 %mul197.1.3 = fmul float %div196.1.3, %div196.1.3 %mul198.1.3 = fmul float %mul197.1.3, %mul197.1.3 %mul199.1.3 = fmul float %mul197.1.3, %mul198.1.3 %mul200.1.3 = fmul float %cond.1.3, %mul199.1.3 %neg.1.3 = fsub float -0.000000e+00, %2497 %2501 = tail call float @llvm.fmuladd.f32(float %2499, float %mul200.1.3, float %neg.1.3) %mul202.1.3 = fmul float %mul200.1.3, %2501 %mul203.1.3 = fmul float %mul197.1.3, %mul202.1.3 %2502 = tail call float @llvm.fmuladd.f32(float %mul200.1.3, float %mul200.1.3, float %nbparam_params_repulsion_shift_cpot) %mul207.1.3 = fmul float %2502, %2499 %add211.1.3 = fadd float %mul200.1.3, %nbparam_params_dispersion_shift_cpot %mul212.1.3 = fmul float %add211.1.3, %2497 %mul213.1.3 = fmul float %mul212.1.3, 0x3FC5555560000000 %neg214.1.3 = fsub float -0.000000e+00, %mul213.1.3 %2503 = tail call float @llvm.fmuladd.f32(float %mul207.1.3, float 0x3FB5555540000000, float %neg214.1.3) %mul215.1.3 = fmul float %cond.1.3, %2503 %add216.1.3 = fadd float %E_lj.3.31096, %mul215.1.3 %mul217.1.3 = fmul float %2391, %2494 %mul218.1.3 = fmul float %cond.1.3, %mul197.1.3 %mul220.1.3 = fmul float %mul, %2500 %mul.i585.1.3 = fmul float %mul220.1.3, %mul220.1.3 %2504 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.1.3, float 0x3FBDA79640000000) #5 %2505 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.1.3, float 0x3FE03C5780000000) #5 %2506 = tail call float @llvm.fmuladd.f32(float %2504, float %mul.i585.1.3, float 1.000000e+00) #5 %2507 = tail call float @llvm.fmuladd.f32(float %2505, float %mul220.1.3, float %2506) #5 %div.i586.1.3 = fdiv float 1.000000e+00, %2507, !fpmath !46 %2508 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.1.3, float 0xBF0BFF7260000000) #5 %2509 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.1.3, float 0x3F50794180000000) #5 %2510 = tail call float @llvm.fmuladd.f32(float %2508, float %mul.i585.1.3, float 0xBF93BDB200000000) #5 %2511 = tail call float @llvm.fmuladd.f32(float %2509, float %mul.i585.1.3, float 0x3FB1D5E760000000) #5 %2512 = tail call float @llvm.fmuladd.f32(float %2510, float %mul.i585.1.3, float 0xBFE81272E0000000) #5 %2513 = tail call float @llvm.fmuladd.f32(float %2511, float %mul220.1.3, float %2512) #5 %mul11.i.1.3 = fmul float %2513, %div.i586.1.3 %mul222.1.3 = fmul float %mul19, %mul11.i.1.3 %2514 = tail call float @llvm.fmuladd.f32(float %mul218.1.3, float %div196.1.3, float %mul222.1.3) %2515 = tail call float @llvm.fmuladd.f32(float %mul217.1.3, float %2514, float %mul203.1.3) %mul225.1.3 = fmul float %2500, %div196.1.3 %mul226.1.3 = fmul float %mul225.1.3, %nbparam_params_ewald_beta %fabs.i.1.3 = tail call float @llvm.fabs.f32(float %mul226.1.3) #5 %and.i.1.3 = bitcast float %fabs.i.1.3 to i32 %mul.i.1.3 = fmul float %mul226.1.3, %mul226.1.3 %div.i.1.3 = fdiv float 1.000000e+00, %mul.i.1.3, !fpmath !46 %sub.i.1.3 = fadd float %fabs.i.1.3, -1.000000e+00 %cmp.i583.1.3 = fcmp olt float %fabs.i.1.3, 1.250000e+00 %cond.i.1.3 = select i1 %cmp.i583.1.3, float %sub.i.1.3, float %div.i.1.3 %cmp2.i.1.3 = fcmp olt float %fabs.i.1.3, 8.437500e-01 %cond6.i.1.3 = select i1 %cmp2.i.1.3, float %mul.i.1.3, float %cond.i.1.3 %2516 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2517 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2516, float 0xC083EC8820000000) #5 %2518 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2517, float 0xC064145D40000000) #5 %2519 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2518, float 0xC031C20960000000) #5 %2520 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2519, float 0xBFE993BA80000000) #5 %2521 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2520, float 0xBF84341240000000) #5 %2522 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2523 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2522, float 0x40A3F219C0000000) #5 %2524 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2523, float 0x40A8FFB760000000) #5 %2525 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2524, float 0x409802EB20000000) #5 %2526 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2525, float 0x40745CAE20000000) #5 %2527 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2526, float 0x403E568B20000000) #5 %2528 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2529 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2528, float 0xC067135CE0000000) #5 %2530 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2529, float 0xC0644CB180000000) #5 %2531 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2530, float 0xC04F300AE0000000) #5 %2532 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2531, float 0xC0251E0440000000) #5 %2533 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2532, float 0xBFE63416E0000000) #5 %2534 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2533, float 0xBF84341260000000) #5 %2535 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2536 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2535, float 0x405B28A3E0000000) #5 %2537 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2536, float 0x407AD02160000000) #5 %2538 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2537, float 0x40842B1920000000) #5 %2539 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2538, float 0x407B290DE0000000) #5 %2540 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2539, float 0x4061350C60000000) #5 %2541 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2540, float 0x4033A6B9C0000000) #5 %cmp32.i.1.3 = fcmp olt float %fabs.i.1.3, 0x4006DB6DA0000000 %cond36.i.1.3 = select i1 %cmp32.i.1.3, float %2534, float %2521 %cond41.i.1.3 = select i1 %cmp32.i.1.3, float %2541, float %2527 %2542 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2543 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2542, float 0xBFBC639840000000) #5 %2544 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2543, float 0x3FD45FCA80000000) #5 %2545 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2544, float 0xBFD7D24100000000) #5 %2546 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2545, float 0x3FDA8D00A0000000) #5 %2547 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2546, float 0xBF6359B8C0000000) #5 %2548 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2549 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2548, float 0x3FC02660E0000000) #5 %2550 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2549, float 0x3FB2635CE0000000) #5 %2551 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2550, float 0x3FE14AF0A0000000) #5 %2552 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2551, float 0x3FBB3E6620000000) #5 %cond57.i.1.3 = select i1 %cmp.i583.1.3, float %2547, float %cond36.i.1.3 %cond62.i.1.3 = select i1 %cmp.i583.1.3, float %2552, float %cond41.i.1.3 %2553 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2554 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2553, float 0xBF9D2A51E0000000) #5 %2555 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2554, float 0xBFD4CD7D60000000) #5 %2556 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2555, float 0x3FC06EBA80000000) #5 %2557 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2558 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2557, float 0x3F74D022C0000000) #5 %2559 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2558, float 0x3FB0A54C60000000) #5 %2560 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2559, float 0x3FD97779C0000000) #5 %cond75.i.1.3 = select i1 %cmp2.i.1.3, float %2556, float %cond57.i.1.3 %cond80.i.1.3 = select i1 %cmp2.i.1.3, float %2560, float %cond62.i.1.3 %2561 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %cond80.i.1.3, float 1.000000e+00) #5 %div82.i.1.3 = fdiv float %cond75.i.1.3, %2561, !fpmath !46 %and83.i.1.3 = and i32 %and.i.1.3, -4096 %astype84.i.1.3 = bitcast i32 %and83.i.1.3 to float %sub85.i.1.3 = fsub float -0.000000e+00, %astype84.i.1.3 %2562 = tail call float @llvm.fmuladd.f32(float %sub85.i.1.3, float %astype84.i.1.3, float -5.625000e-01) #5 %cmp.i2.i.1.3 = fcmp olt float %2562, 0.000000e+00 %cond.i3.i.1.3 = select i1 %cmp.i2.i.1.3, float -5.000000e-01, float 5.000000e-01 %2563 = tail call float @llvm.fmuladd.f32(float %2562, float 0x3FF7154760000000, float %cond.i3.i.1.3) #5 %conv.i4.i.1.3 = fptosi float %2563 to i32 %conv1.i5.i.1.3 = sitofp i32 %conv.i4.i.1.3 to float %2564 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.1.3, float 0xBFE62E3000000000, float %2562) #5 %mul.i6.i.1.3 = fmul float %conv1.i5.i.1.3, 0xBEE2FEFA20000000 %add.i7.i.1.3 = fadd float %2564, %mul.i6.i.1.3 %mul3.i8.i.1.3 = fmul float %add.i7.i.1.3, %add.i7.i.1.3 %2565 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2566 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float %2565, float 0x3F11566AA0000000) #5 %2567 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float %2566, float 0xBF66C16C20000000) #5 %2568 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float %2567, float 0x3FC5555560000000) #5 %sub8.i9.i.1.3 = fsub float -0.000000e+00, %2568 %2569 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float %sub8.i9.i.1.3, float %add.i7.i.1.3) #5 %sub10.i10.i.1.3 = fsub float -0.000000e+00, %mul.i6.i.1.3 %mul11.i11.i.1.3 = fmul float %add.i7.i.1.3, %2569 %sub12.i12.i.1.3 = fsub float 2.000000e+00, %2569 %div.i13.i.1.3 = fdiv float %mul11.i11.i.1.3, %sub12.i12.i.1.3, !fpmath !46 %sub13.i14.i.1.3 = fsub float %sub10.i10.i.1.3, %div.i13.i.1.3 %sub14.i15.i.1.3 = fsub float %sub13.i14.i.1.3, %2564 %sub15.i16.i.1.3 = fsub float 1.000000e+00, %sub14.i15.i.1.3 %astype.i17.i.1.3 = bitcast float %sub15.i16.i.1.3 to i32 %shl.i18.i.1.3 = shl i32 %conv.i4.i.1.3, 23 %add16.i19.i.1.3 = add nsw i32 %astype.i17.i.1.3, %shl.i18.i.1.3 %astype17.i20.i.1.3 = bitcast i32 %add16.i19.i.1.3 to float %cmp18.i21.i.1.3 = fcmp olt float %2562, 0xC055D589E0000000 %cond20.i22.i.1.3 = select i1 %cmp18.i21.i.1.3, float 0.000000e+00, float %astype17.i20.i.1.3 %cmp21.i23.i.1.3 = fcmp olt float %2562, 0x40562E4300000000 %cond26.i24.i.1.3 = select i1 %cmp21.i23.i.1.3, float %cond20.i22.i.1.3, float 0x7FF0000000000000 %cmp.i.i25.i.1.3 = fcmp uno float %2562, 0.000000e+00 %cond31.i26.i.1.3 = select i1 %cmp.i.i25.i.1.3, float %2562, float %cond26.i24.i.1.3 %sub88.i.1.3 = fsub float %astype84.i.1.3, %fabs.i.1.3 %add.i584.1.3 = fadd float %fabs.i.1.3, %astype84.i.1.3 %2570 = tail call float @llvm.fmuladd.f32(float %sub88.i.1.3, float %add.i584.1.3, float %div82.i.1.3) #5 %cmp.i1.i.1.3 = fcmp olt float %2570, 0.000000e+00 %cond.i.i.1.3 = select i1 %cmp.i1.i.1.3, float -5.000000e-01, float 5.000000e-01 %2571 = tail call float @llvm.fmuladd.f32(float %2570, float 0x3FF7154760000000, float %cond.i.i.1.3) #5 %conv.i.i.1.3 = fptosi float %2571 to i32 %conv1.i.i.1.3 = sitofp i32 %conv.i.i.1.3 to float %2572 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.1.3, float 0xBFE62E3000000000, float %2570) #5 %mul.i.i.1.3 = fmul float %conv1.i.i.1.3, 0xBEE2FEFA20000000 %add.i.i.1.3 = fadd float %2572, %mul.i.i.1.3 %mul3.i.i.1.3 = fmul float %add.i.i.1.3, %add.i.i.1.3 %2573 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2574 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float %2573, float 0x3F11566AA0000000) #5 %2575 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float %2574, float 0xBF66C16C20000000) #5 %2576 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float %2575, float 0x3FC5555560000000) #5 %sub8.i.i.1.3 = fsub float -0.000000e+00, %2576 %2577 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float %sub8.i.i.1.3, float %add.i.i.1.3) #5 %sub10.i.i.1.3 = fsub float -0.000000e+00, %mul.i.i.1.3 %mul11.i.i.1.3 = fmul float %add.i.i.1.3, %2577 %sub12.i.i.1.3 = fsub float 2.000000e+00, %2577 %div.i.i.1.3 = fdiv float %mul11.i.i.1.3, %sub12.i.i.1.3, !fpmath !46 %sub13.i.i.1.3 = fsub float %sub10.i.i.1.3, %div.i.i.1.3 %sub14.i.i.1.3 = fsub float %sub13.i.i.1.3, %2572 %sub15.i.i.1.3 = fsub float 1.000000e+00, %sub14.i.i.1.3 %astype.i.i.1.3 = bitcast float %sub15.i.i.1.3 to i32 %shl.i.i.1.3 = shl i32 %conv.i.i.1.3, 23 %add16.i.i.1.3 = add nsw i32 %astype.i.i.1.3, %shl.i.i.1.3 %astype17.i.i.1.3 = bitcast i32 %add16.i.i.1.3 to float %cmp18.i.i.1.3 = fcmp olt float %2570, 0xC055D589E0000000 %cond20.i.i.1.3 = select i1 %cmp18.i.i.1.3, float 0.000000e+00, float %astype17.i.i.1.3 %cmp21.i.i.1.3 = fcmp olt float %2570, 0x40562E4300000000 %cond26.i.i.1.3 = select i1 %cmp21.i.i.1.3, float %cond20.i.i.1.3, float 0x7FF0000000000000 %cmp.i.i.i.1.3 = fcmp uno float %2570, 0.000000e+00 %cond31.i.i.1.3 = select i1 %cmp.i.i.i.1.3, float %2570, float %cond26.i.i.1.3 %mul91.i.1.3 = fmul float %cond31.i26.i.1.3, %cond31.i.i.1.3 %div92.i.1.3 = fdiv float %mul91.i.1.3, %fabs.i.1.3, !fpmath !46 %sub93.i.1.3 = fsub float 2.000000e+00, %div92.i.1.3 %cmp94.i.1.3 = fcmp olt float %mul226.1.3, 0.000000e+00 %cond98.i.1.3 = select i1 %cmp94.i.1.3, float %sub93.i.1.3, float %div92.i.1.3 %cmp99.i.1.3 = fcmp olt float %fabs.i.1.3, 2.800000e+01 %cond103.i.1.3 = select i1 %cmp99.i.1.3, float %cond98.i.1.3, float 0.000000e+00 %sub104.i.1.3 = fsub float 0x3FC3D4FA80000000, %div82.i.1.3 %add105.i.1.3 = fadd float %div82.i.1.3, 0x3FEB0AC160000000 %add106.i.1.3 = fadd float %add105.i.1.3, 1.000000e+00 %cond111.i.1.3 = select i1 %cmp94.i.1.3, float %add106.i.1.3, float %sub104.i.1.3 %cond116.i.1.3 = select i1 %cmp.i583.1.3, float %cond111.i.1.3, float %cond103.i.1.3 %sub117.i.1.3 = fadd float %mul226.1.3, -5.000000e-01 %2578 = tail call float @llvm.fmuladd.f32(float %mul226.1.3, float %div82.i.1.3, float %sub117.i.1.3) #5 %sub119.i.1.3 = fsub float 5.000000e-01, %2578 %cond124.i.1.3 = select i1 %cmp2.i.1.3, float %sub119.i.1.3, float %cond116.i.1.3 %cmp125.i.1.3 = fcmp olt float %mul226.1.3, -6.000000e+00 %cond129.i.1.3 = select i1 %cmp125.i.1.3, float 2.000000e+00, float %cond124.i.1.3 %cmp.i.i.1.3 = fcmp uno float %mul226.1.3, 0.000000e+00 %cond134.i.1.3 = select i1 %cmp.i.i.1.3, float %mul226.1.3, float %cond129.i.1.3 %mul229.1.3 = fmul float %cond.1.3, %nbparam_params_sh_ewald %neg230.1.3 = fsub float -0.000000e+00, %mul229.1.3 %2579 = tail call float @llvm.fmuladd.f32(float %div196.1.3, float %cond134.i.1.3, float %neg230.1.3) %2580 = tail call float @llvm.fmuladd.f32(float %mul217.1.3, float %2579, float %E_el.5.31095) %splat.splatinsert.1.3 = insertelement <3 x float> undef, float %2515, i32 0 %splat.splat.1.3 = shufflevector <3 x float> %splat.splatinsert.1.3, <3 x float> undef, <3 x i32> zeroinitializer %mul235.1.3 = fmul <3 x float> %extractVec166.1.3, %splat.splat.1.3 %extractVec243.1.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.31097, <4 x float> undef, <3 x i32> %sub244.1.3 = fsub <3 x float> %extractVec243.1.3, %mul235.1.3 %extractVec245.1.3 = shufflevector <3 x float> %sub244.1.3, <3 x float> undef, <4 x i32> %extractVec253.1.3 = shufflevector <4 x float> %fci_buf.sroa.12.7, <4 x float> undef, <3 x i32> %add254.1.3 = fadd <3 x float> %extractVec253.1.3, %mul235.1.3 %extractVec255.1.3 = shufflevector <3 x float> %add254.1.3, <3 x float> undef, <4 x i32> br label %if.end258.1.3 if.end258.1.3: ; preds = %if.then182.1.3, %if.then147.1.3, %if.end258.31099 %fci_buf.sroa.12.8 = phi <4 x float> [ %fci_buf.sroa.12.7, %if.end258.31099 ], [ %extractVec255.1.3, %if.then182.1.3 ], [ %fci_buf.sroa.12.7, %if.then147.1.3 ] %E_el.5.1.3 = phi float [ %E_el.5.31095, %if.end258.31099 ], [ %2580, %if.then182.1.3 ], [ %E_el.5.31095, %if.then147.1.3 ] %E_lj.3.1.3 = phi float [ %E_lj.3.31096, %if.end258.31099 ], [ %add216.1.3, %if.then182.1.3 ], [ %E_lj.3.31096, %if.then147.1.3 ] %fcj_buf.sroa.0.1.1.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.31097, %if.end258.31099 ], [ %extractVec245.1.3, %if.then182.1.3 ], [ %fcj_buf.sroa.0.1.31097, %if.then147.1.3 ] %and145.2.3 = and i32 %64, 67108864 %tobool146.2.3 = icmp eq i32 %and145.2.3, 0 br i1 %tobool146.2.3, label %if.end258.2.3, label %if.then147.2.3 if.then147.2.3: ; preds = %if.end258.1.3 %2581 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.2.3, align 16, !tbaa !36 %2582 = fsub <4 x float> %2581, %2390 %2583 = extractelement <4 x float> %2582, i32 0 %2584 = extractelement <4 x float> %2582, i32 1 %mul3.i.i589.2.3 = fmul float %2584, %2584 %2585 = tail call float @llvm.fmuladd.f32(float %2583, float %2583, float %mul3.i.i589.2.3) #5 %2586 = extractelement <4 x float> %2582, i32 2 %2587 = tail call float @llvm.fmuladd.f32(float %2586, float %2586, float %2585) #5 %and168.2.3 = and i32 %66, 67108864 %tobool169.2.3 = icmp ne i32 %and168.2.3, 0 %cond.2.3 = select i1 %tobool169.2.3, float 1.000000e+00, float 0.000000e+00 %cmp174.2.3 = icmp eq i32 %58, %2388 %or.cond.2.3 = and i1 %cmp63, %cmp174.2.3 %not.or.cond.2.3 = xor i1 %or.cond.2.3, true %cmp176..2.3 = or i1 %cmp176, %not.or.cond.2.3 %conv178.2.3 = uitofp i1 %cmp176..2.3 to float %mul179.2.3 = fmul float %conv178.2.3, %nbparam_params_rcoulomb_sq %cmp180.2.3 = fcmp olt float %2587, %mul179.2.3 br i1 %cmp180.2.3, label %if.then182.2.3, label %if.end258.2.3 if.then182.2.3: ; preds = %if.then147.2.3 %extractVec166.2.3 = shufflevector <4 x float> %2582, <4 x float> undef, <3 x i32> %2588 = extractelement <4 x float> %2581, i32 3 %2589 = load i32, i32 addrspace(1)* %arrayidx183.2.3, align 4, !tbaa !41 %mul184.2.3 = mul nsw i32 %2589, %ntypes %add185.2.3 = add nsw i32 %mul184.2.3, %2392 %mul186.2.3 = shl nsw i32 %add185.2.3, 1 %2590 = sext i32 %mul186.2.3 to i64 %arrayidx187.2.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2590 %2591 = load float, float addrspace(2)* %arrayidx187.2.3, align 4, !tbaa !39 %add191.2.3 = or i32 %mul186.2.3, 1 %2592 = sext i32 %add191.2.3 to i64 %arrayidx192.2.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2592 %2593 = load float, float addrspace(2)* %arrayidx192.2.3, align 4, !tbaa !39 %sub193.2.3 = fsub float 1.000000e+00, %cond.2.3 %2594 = tail call float @llvm.fmuladd.f32(float %sub193.2.3, float 0x3D71979980000000, float %2587) %cmp.i.i587.2.3 = fcmp olt float %2594, 0.000000e+00 %call.i.i.2.3 = tail call float @llvm.sqrt.f32(float %2594) #6 %call.i.i.op.2.3 = fdiv float 1.000000e+00, %call.i.i.2.3 %div196.2.3 = select i1 %cmp.i.i587.2.3, float 0x7FF8000000000000, float %call.i.i.op.2.3 %mul197.2.3 = fmul float %div196.2.3, %div196.2.3 %mul198.2.3 = fmul float %mul197.2.3, %mul197.2.3 %mul199.2.3 = fmul float %mul197.2.3, %mul198.2.3 %mul200.2.3 = fmul float %cond.2.3, %mul199.2.3 %neg.2.3 = fsub float -0.000000e+00, %2591 %2595 = tail call float @llvm.fmuladd.f32(float %2593, float %mul200.2.3, float %neg.2.3) %mul202.2.3 = fmul float %mul200.2.3, %2595 %mul203.2.3 = fmul float %mul197.2.3, %mul202.2.3 %2596 = tail call float @llvm.fmuladd.f32(float %mul200.2.3, float %mul200.2.3, float %nbparam_params_repulsion_shift_cpot) %mul207.2.3 = fmul float %2596, %2593 %add211.2.3 = fadd float %mul200.2.3, %nbparam_params_dispersion_shift_cpot %mul212.2.3 = fmul float %add211.2.3, %2591 %mul213.2.3 = fmul float %mul212.2.3, 0x3FC5555560000000 %neg214.2.3 = fsub float -0.000000e+00, %mul213.2.3 %2597 = tail call float @llvm.fmuladd.f32(float %mul207.2.3, float 0x3FB5555540000000, float %neg214.2.3) %mul215.2.3 = fmul float %cond.2.3, %2597 %add216.2.3 = fadd float %E_lj.3.1.3, %mul215.2.3 %mul217.2.3 = fmul float %2391, %2588 %mul218.2.3 = fmul float %cond.2.3, %mul197.2.3 %mul220.2.3 = fmul float %mul, %2594 %mul.i585.2.3 = fmul float %mul220.2.3, %mul220.2.3 %2598 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.2.3, float 0x3FBDA79640000000) #5 %2599 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.2.3, float 0x3FE03C5780000000) #5 %2600 = tail call float @llvm.fmuladd.f32(float %2598, float %mul.i585.2.3, float 1.000000e+00) #5 %2601 = tail call float @llvm.fmuladd.f32(float %2599, float %mul220.2.3, float %2600) #5 %div.i586.2.3 = fdiv float 1.000000e+00, %2601, !fpmath !46 %2602 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.2.3, float 0xBF0BFF7260000000) #5 %2603 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.2.3, float 0x3F50794180000000) #5 %2604 = tail call float @llvm.fmuladd.f32(float %2602, float %mul.i585.2.3, float 0xBF93BDB200000000) #5 %2605 = tail call float @llvm.fmuladd.f32(float %2603, float %mul.i585.2.3, float 0x3FB1D5E760000000) #5 %2606 = tail call float @llvm.fmuladd.f32(float %2604, float %mul.i585.2.3, float 0xBFE81272E0000000) #5 %2607 = tail call float @llvm.fmuladd.f32(float %2605, float %mul220.2.3, float %2606) #5 %mul11.i.2.3 = fmul float %2607, %div.i586.2.3 %mul222.2.3 = fmul float %mul19, %mul11.i.2.3 %2608 = tail call float @llvm.fmuladd.f32(float %mul218.2.3, float %div196.2.3, float %mul222.2.3) %2609 = tail call float @llvm.fmuladd.f32(float %mul217.2.3, float %2608, float %mul203.2.3) %mul225.2.3 = fmul float %2594, %div196.2.3 %mul226.2.3 = fmul float %mul225.2.3, %nbparam_params_ewald_beta %fabs.i.2.3 = tail call float @llvm.fabs.f32(float %mul226.2.3) #5 %and.i.2.3 = bitcast float %fabs.i.2.3 to i32 %mul.i.2.3 = fmul float %mul226.2.3, %mul226.2.3 %div.i.2.3 = fdiv float 1.000000e+00, %mul.i.2.3, !fpmath !46 %sub.i.2.3 = fadd float %fabs.i.2.3, -1.000000e+00 %cmp.i583.2.3 = fcmp olt float %fabs.i.2.3, 1.250000e+00 %cond.i.2.3 = select i1 %cmp.i583.2.3, float %sub.i.2.3, float %div.i.2.3 %cmp2.i.2.3 = fcmp olt float %fabs.i.2.3, 8.437500e-01 %cond6.i.2.3 = select i1 %cmp2.i.2.3, float %mul.i.2.3, float %cond.i.2.3 %2610 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2611 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2610, float 0xC083EC8820000000) #5 %2612 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2611, float 0xC064145D40000000) #5 %2613 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2612, float 0xC031C20960000000) #5 %2614 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2613, float 0xBFE993BA80000000) #5 %2615 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2614, float 0xBF84341240000000) #5 %2616 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2617 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2616, float 0x40A3F219C0000000) #5 %2618 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2617, float 0x40A8FFB760000000) #5 %2619 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2618, float 0x409802EB20000000) #5 %2620 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2619, float 0x40745CAE20000000) #5 %2621 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2620, float 0x403E568B20000000) #5 %2622 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2623 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2622, float 0xC067135CE0000000) #5 %2624 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2623, float 0xC0644CB180000000) #5 %2625 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2624, float 0xC04F300AE0000000) #5 %2626 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2625, float 0xC0251E0440000000) #5 %2627 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2626, float 0xBFE63416E0000000) #5 %2628 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2627, float 0xBF84341260000000) #5 %2629 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2630 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2629, float 0x405B28A3E0000000) #5 %2631 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2630, float 0x407AD02160000000) #5 %2632 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2631, float 0x40842B1920000000) #5 %2633 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2632, float 0x407B290DE0000000) #5 %2634 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2633, float 0x4061350C60000000) #5 %2635 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2634, float 0x4033A6B9C0000000) #5 %cmp32.i.2.3 = fcmp olt float %fabs.i.2.3, 0x4006DB6DA0000000 %cond36.i.2.3 = select i1 %cmp32.i.2.3, float %2628, float %2615 %cond41.i.2.3 = select i1 %cmp32.i.2.3, float %2635, float %2621 %2636 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2637 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2636, float 0xBFBC639840000000) #5 %2638 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2637, float 0x3FD45FCA80000000) #5 %2639 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2638, float 0xBFD7D24100000000) #5 %2640 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2639, float 0x3FDA8D00A0000000) #5 %2641 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2640, float 0xBF6359B8C0000000) #5 %2642 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2643 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2642, float 0x3FC02660E0000000) #5 %2644 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2643, float 0x3FB2635CE0000000) #5 %2645 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2644, float 0x3FE14AF0A0000000) #5 %2646 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2645, float 0x3FBB3E6620000000) #5 %cond57.i.2.3 = select i1 %cmp.i583.2.3, float %2641, float %cond36.i.2.3 %cond62.i.2.3 = select i1 %cmp.i583.2.3, float %2646, float %cond41.i.2.3 %2647 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2648 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2647, float 0xBF9D2A51E0000000) #5 %2649 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2648, float 0xBFD4CD7D60000000) #5 %2650 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2649, float 0x3FC06EBA80000000) #5 %2651 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2652 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2651, float 0x3F74D022C0000000) #5 %2653 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2652, float 0x3FB0A54C60000000) #5 %2654 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2653, float 0x3FD97779C0000000) #5 %cond75.i.2.3 = select i1 %cmp2.i.2.3, float %2650, float %cond57.i.2.3 %cond80.i.2.3 = select i1 %cmp2.i.2.3, float %2654, float %cond62.i.2.3 %2655 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %cond80.i.2.3, float 1.000000e+00) #5 %div82.i.2.3 = fdiv float %cond75.i.2.3, %2655, !fpmath !46 %and83.i.2.3 = and i32 %and.i.2.3, -4096 %astype84.i.2.3 = bitcast i32 %and83.i.2.3 to float %sub85.i.2.3 = fsub float -0.000000e+00, %astype84.i.2.3 %2656 = tail call float @llvm.fmuladd.f32(float %sub85.i.2.3, float %astype84.i.2.3, float -5.625000e-01) #5 %cmp.i2.i.2.3 = fcmp olt float %2656, 0.000000e+00 %cond.i3.i.2.3 = select i1 %cmp.i2.i.2.3, float -5.000000e-01, float 5.000000e-01 %2657 = tail call float @llvm.fmuladd.f32(float %2656, float 0x3FF7154760000000, float %cond.i3.i.2.3) #5 %conv.i4.i.2.3 = fptosi float %2657 to i32 %conv1.i5.i.2.3 = sitofp i32 %conv.i4.i.2.3 to float %2658 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.2.3, float 0xBFE62E3000000000, float %2656) #5 %mul.i6.i.2.3 = fmul float %conv1.i5.i.2.3, 0xBEE2FEFA20000000 %add.i7.i.2.3 = fadd float %2658, %mul.i6.i.2.3 %mul3.i8.i.2.3 = fmul float %add.i7.i.2.3, %add.i7.i.2.3 %2659 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2660 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float %2659, float 0x3F11566AA0000000) #5 %2661 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float %2660, float 0xBF66C16C20000000) #5 %2662 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float %2661, float 0x3FC5555560000000) #5 %sub8.i9.i.2.3 = fsub float -0.000000e+00, %2662 %2663 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float %sub8.i9.i.2.3, float %add.i7.i.2.3) #5 %sub10.i10.i.2.3 = fsub float -0.000000e+00, %mul.i6.i.2.3 %mul11.i11.i.2.3 = fmul float %add.i7.i.2.3, %2663 %sub12.i12.i.2.3 = fsub float 2.000000e+00, %2663 %div.i13.i.2.3 = fdiv float %mul11.i11.i.2.3, %sub12.i12.i.2.3, !fpmath !46 %sub13.i14.i.2.3 = fsub float %sub10.i10.i.2.3, %div.i13.i.2.3 %sub14.i15.i.2.3 = fsub float %sub13.i14.i.2.3, %2658 %sub15.i16.i.2.3 = fsub float 1.000000e+00, %sub14.i15.i.2.3 %astype.i17.i.2.3 = bitcast float %sub15.i16.i.2.3 to i32 %shl.i18.i.2.3 = shl i32 %conv.i4.i.2.3, 23 %add16.i19.i.2.3 = add nsw i32 %astype.i17.i.2.3, %shl.i18.i.2.3 %astype17.i20.i.2.3 = bitcast i32 %add16.i19.i.2.3 to float %cmp18.i21.i.2.3 = fcmp olt float %2656, 0xC055D589E0000000 %cond20.i22.i.2.3 = select i1 %cmp18.i21.i.2.3, float 0.000000e+00, float %astype17.i20.i.2.3 %cmp21.i23.i.2.3 = fcmp olt float %2656, 0x40562E4300000000 %cond26.i24.i.2.3 = select i1 %cmp21.i23.i.2.3, float %cond20.i22.i.2.3, float 0x7FF0000000000000 %cmp.i.i25.i.2.3 = fcmp uno float %2656, 0.000000e+00 %cond31.i26.i.2.3 = select i1 %cmp.i.i25.i.2.3, float %2656, float %cond26.i24.i.2.3 %sub88.i.2.3 = fsub float %astype84.i.2.3, %fabs.i.2.3 %add.i584.2.3 = fadd float %fabs.i.2.3, %astype84.i.2.3 %2664 = tail call float @llvm.fmuladd.f32(float %sub88.i.2.3, float %add.i584.2.3, float %div82.i.2.3) #5 %cmp.i1.i.2.3 = fcmp olt float %2664, 0.000000e+00 %cond.i.i.2.3 = select i1 %cmp.i1.i.2.3, float -5.000000e-01, float 5.000000e-01 %2665 = tail call float @llvm.fmuladd.f32(float %2664, float 0x3FF7154760000000, float %cond.i.i.2.3) #5 %conv.i.i.2.3 = fptosi float %2665 to i32 %conv1.i.i.2.3 = sitofp i32 %conv.i.i.2.3 to float %2666 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.2.3, float 0xBFE62E3000000000, float %2664) #5 %mul.i.i.2.3 = fmul float %conv1.i.i.2.3, 0xBEE2FEFA20000000 %add.i.i.2.3 = fadd float %2666, %mul.i.i.2.3 %mul3.i.i.2.3 = fmul float %add.i.i.2.3, %add.i.i.2.3 %2667 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2668 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float %2667, float 0x3F11566AA0000000) #5 %2669 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float %2668, float 0xBF66C16C20000000) #5 %2670 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float %2669, float 0x3FC5555560000000) #5 %sub8.i.i.2.3 = fsub float -0.000000e+00, %2670 %2671 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float %sub8.i.i.2.3, float %add.i.i.2.3) #5 %sub10.i.i.2.3 = fsub float -0.000000e+00, %mul.i.i.2.3 %mul11.i.i.2.3 = fmul float %add.i.i.2.3, %2671 %sub12.i.i.2.3 = fsub float 2.000000e+00, %2671 %div.i.i.2.3 = fdiv float %mul11.i.i.2.3, %sub12.i.i.2.3, !fpmath !46 %sub13.i.i.2.3 = fsub float %sub10.i.i.2.3, %div.i.i.2.3 %sub14.i.i.2.3 = fsub float %sub13.i.i.2.3, %2666 %sub15.i.i.2.3 = fsub float 1.000000e+00, %sub14.i.i.2.3 %astype.i.i.2.3 = bitcast float %sub15.i.i.2.3 to i32 %shl.i.i.2.3 = shl i32 %conv.i.i.2.3, 23 %add16.i.i.2.3 = add nsw i32 %astype.i.i.2.3, %shl.i.i.2.3 %astype17.i.i.2.3 = bitcast i32 %add16.i.i.2.3 to float %cmp18.i.i.2.3 = fcmp olt float %2664, 0xC055D589E0000000 %cond20.i.i.2.3 = select i1 %cmp18.i.i.2.3, float 0.000000e+00, float %astype17.i.i.2.3 %cmp21.i.i.2.3 = fcmp olt float %2664, 0x40562E4300000000 %cond26.i.i.2.3 = select i1 %cmp21.i.i.2.3, float %cond20.i.i.2.3, float 0x7FF0000000000000 %cmp.i.i.i.2.3 = fcmp uno float %2664, 0.000000e+00 %cond31.i.i.2.3 = select i1 %cmp.i.i.i.2.3, float %2664, float %cond26.i.i.2.3 %mul91.i.2.3 = fmul float %cond31.i26.i.2.3, %cond31.i.i.2.3 %div92.i.2.3 = fdiv float %mul91.i.2.3, %fabs.i.2.3, !fpmath !46 %sub93.i.2.3 = fsub float 2.000000e+00, %div92.i.2.3 %cmp94.i.2.3 = fcmp olt float %mul226.2.3, 0.000000e+00 %cond98.i.2.3 = select i1 %cmp94.i.2.3, float %sub93.i.2.3, float %div92.i.2.3 %cmp99.i.2.3 = fcmp olt float %fabs.i.2.3, 2.800000e+01 %cond103.i.2.3 = select i1 %cmp99.i.2.3, float %cond98.i.2.3, float 0.000000e+00 %sub104.i.2.3 = fsub float 0x3FC3D4FA80000000, %div82.i.2.3 %add105.i.2.3 = fadd float %div82.i.2.3, 0x3FEB0AC160000000 %add106.i.2.3 = fadd float %add105.i.2.3, 1.000000e+00 %cond111.i.2.3 = select i1 %cmp94.i.2.3, float %add106.i.2.3, float %sub104.i.2.3 %cond116.i.2.3 = select i1 %cmp.i583.2.3, float %cond111.i.2.3, float %cond103.i.2.3 %sub117.i.2.3 = fadd float %mul226.2.3, -5.000000e-01 %2672 = tail call float @llvm.fmuladd.f32(float %mul226.2.3, float %div82.i.2.3, float %sub117.i.2.3) #5 %sub119.i.2.3 = fsub float 5.000000e-01, %2672 %cond124.i.2.3 = select i1 %cmp2.i.2.3, float %sub119.i.2.3, float %cond116.i.2.3 %cmp125.i.2.3 = fcmp olt float %mul226.2.3, -6.000000e+00 %cond129.i.2.3 = select i1 %cmp125.i.2.3, float 2.000000e+00, float %cond124.i.2.3 %cmp.i.i.2.3 = fcmp uno float %mul226.2.3, 0.000000e+00 %cond134.i.2.3 = select i1 %cmp.i.i.2.3, float %mul226.2.3, float %cond129.i.2.3 %mul229.2.3 = fmul float %cond.2.3, %nbparam_params_sh_ewald %neg230.2.3 = fsub float -0.000000e+00, %mul229.2.3 %2673 = tail call float @llvm.fmuladd.f32(float %div196.2.3, float %cond134.i.2.3, float %neg230.2.3) %2674 = tail call float @llvm.fmuladd.f32(float %mul217.2.3, float %2673, float %E_el.5.1.3) %splat.splatinsert.2.3 = insertelement <3 x float> undef, float %2609, i32 0 %splat.splat.2.3 = shufflevector <3 x float> %splat.splatinsert.2.3, <3 x float> undef, <3 x i32> zeroinitializer %mul235.2.3 = fmul <3 x float> %extractVec166.2.3, %splat.splat.2.3 %extractVec243.2.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.3, <4 x float> undef, <3 x i32> %sub244.2.3 = fsub <3 x float> %extractVec243.2.3, %mul235.2.3 %extractVec245.2.3 = shufflevector <3 x float> %sub244.2.3, <3 x float> undef, <4 x i32> %extractVec253.2.3 = shufflevector <4 x float> %fci_buf.sroa.22.7, <4 x float> undef, <3 x i32> %add254.2.3 = fadd <3 x float> %extractVec253.2.3, %mul235.2.3 %extractVec255.2.3 = shufflevector <3 x float> %add254.2.3, <3 x float> undef, <4 x i32> br label %if.end258.2.3 if.end258.2.3: ; preds = %if.then182.2.3, %if.then147.2.3, %if.end258.1.3 %fci_buf.sroa.22.8 = phi <4 x float> [ %fci_buf.sroa.22.7, %if.end258.1.3 ], [ %extractVec255.2.3, %if.then182.2.3 ], [ %fci_buf.sroa.22.7, %if.then147.2.3 ] %E_el.5.2.3 = phi float [ %E_el.5.1.3, %if.end258.1.3 ], [ %2674, %if.then182.2.3 ], [ %E_el.5.1.3, %if.then147.2.3 ] %E_lj.3.2.3 = phi float [ %E_lj.3.1.3, %if.end258.1.3 ], [ %add216.2.3, %if.then182.2.3 ], [ %E_lj.3.1.3, %if.then147.2.3 ] %fcj_buf.sroa.0.1.2.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.1.3, %if.end258.1.3 ], [ %extractVec245.2.3, %if.then182.2.3 ], [ %fcj_buf.sroa.0.1.1.3, %if.then147.2.3 ] %and145.3.3 = and i32 %64, 134217728 %tobool146.3.3 = icmp eq i32 %and145.3.3, 0 br i1 %tobool146.3.3, label %if.end258.3.3, label %if.then147.3.3 if.then147.3.3: ; preds = %if.end258.2.3 %2675 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.3.3, align 16, !tbaa !36 %2676 = fsub <4 x float> %2675, %2390 %2677 = extractelement <4 x float> %2676, i32 0 %2678 = extractelement <4 x float> %2676, i32 1 %mul3.i.i589.3.3 = fmul float %2678, %2678 %2679 = tail call float @llvm.fmuladd.f32(float %2677, float %2677, float %mul3.i.i589.3.3) #5 %2680 = extractelement <4 x float> %2676, i32 2 %2681 = tail call float @llvm.fmuladd.f32(float %2680, float %2680, float %2679) #5 %and168.3.3 = and i32 %66, 134217728 %tobool169.3.3 = icmp ne i32 %and168.3.3, 0 %cond.3.3 = select i1 %tobool169.3.3, float 1.000000e+00, float 0.000000e+00 %cmp174.3.3 = icmp eq i32 %56, %2388 %or.cond.3.3 = and i1 %cmp63, %cmp174.3.3 %not.or.cond.3.3 = xor i1 %or.cond.3.3, true %cmp176..3.3 = or i1 %cmp176, %not.or.cond.3.3 %conv178.3.3 = uitofp i1 %cmp176..3.3 to float %mul179.3.3 = fmul float %conv178.3.3, %nbparam_params_rcoulomb_sq %cmp180.3.3 = fcmp olt float %2681, %mul179.3.3 br i1 %cmp180.3.3, label %if.then182.3.3, label %if.end258.3.3 if.then182.3.3: ; preds = %if.then147.3.3 %extractVec166.3.3 = shufflevector <4 x float> %2676, <4 x float> undef, <3 x i32> %2682 = extractelement <4 x float> %2675, i32 3 %2683 = load i32, i32 addrspace(1)* %arrayidx183.3.3, align 4, !tbaa !41 %mul184.3.3 = mul nsw i32 %2683, %ntypes %add185.3.3 = add nsw i32 %mul184.3.3, %2392 %mul186.3.3 = shl nsw i32 %add185.3.3, 1 %2684 = sext i32 %mul186.3.3 to i64 %arrayidx187.3.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2684 %2685 = load float, float addrspace(2)* %arrayidx187.3.3, align 4, !tbaa !39 %add191.3.3 = or i32 %mul186.3.3, 1 %2686 = sext i32 %add191.3.3 to i64 %arrayidx192.3.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2686 %2687 = load float, float addrspace(2)* %arrayidx192.3.3, align 4, !tbaa !39 %sub193.3.3 = fsub float 1.000000e+00, %cond.3.3 %2688 = tail call float @llvm.fmuladd.f32(float %sub193.3.3, float 0x3D71979980000000, float %2681) %cmp.i.i587.3.3 = fcmp olt float %2688, 0.000000e+00 %call.i.i.3.3 = tail call float @llvm.sqrt.f32(float %2688) #6 %call.i.i.op.3.3 = fdiv float 1.000000e+00, %call.i.i.3.3 %div196.3.3 = select i1 %cmp.i.i587.3.3, float 0x7FF8000000000000, float %call.i.i.op.3.3 %mul197.3.3 = fmul float %div196.3.3, %div196.3.3 %mul198.3.3 = fmul float %mul197.3.3, %mul197.3.3 %mul199.3.3 = fmul float %mul197.3.3, %mul198.3.3 %mul200.3.3 = fmul float %cond.3.3, %mul199.3.3 %neg.3.3 = fsub float -0.000000e+00, %2685 %2689 = tail call float @llvm.fmuladd.f32(float %2687, float %mul200.3.3, float %neg.3.3) %mul202.3.3 = fmul float %mul200.3.3, %2689 %mul203.3.3 = fmul float %mul197.3.3, %mul202.3.3 %2690 = tail call float @llvm.fmuladd.f32(float %mul200.3.3, float %mul200.3.3, float %nbparam_params_repulsion_shift_cpot) %mul207.3.3 = fmul float %2690, %2687 %add211.3.3 = fadd float %mul200.3.3, %nbparam_params_dispersion_shift_cpot %mul212.3.3 = fmul float %add211.3.3, %2685 %mul213.3.3 = fmul float %mul212.3.3, 0x3FC5555560000000 %neg214.3.3 = fsub float -0.000000e+00, %mul213.3.3 %2691 = tail call float @llvm.fmuladd.f32(float %mul207.3.3, float 0x3FB5555540000000, float %neg214.3.3) %mul215.3.3 = fmul float %cond.3.3, %2691 %add216.3.3 = fadd float %E_lj.3.2.3, %mul215.3.3 %mul217.3.3 = fmul float %2391, %2682 %mul218.3.3 = fmul float %cond.3.3, %mul197.3.3 %mul220.3.3 = fmul float %mul, %2688 %mul.i585.3.3 = fmul float %mul220.3.3, %mul220.3.3 %2692 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.3.3, float 0x3FBDA79640000000) #5 %2693 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.3.3, float 0x3FE03C5780000000) #5 %2694 = tail call float @llvm.fmuladd.f32(float %2692, float %mul.i585.3.3, float 1.000000e+00) #5 %2695 = tail call float @llvm.fmuladd.f32(float %2693, float %mul220.3.3, float %2694) #5 %div.i586.3.3 = fdiv float 1.000000e+00, %2695, !fpmath !46 %2696 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.3.3, float 0xBF0BFF7260000000) #5 %2697 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.3.3, float 0x3F50794180000000) #5 %2698 = tail call float @llvm.fmuladd.f32(float %2696, float %mul.i585.3.3, float 0xBF93BDB200000000) #5 %2699 = tail call float @llvm.fmuladd.f32(float %2697, float %mul.i585.3.3, float 0x3FB1D5E760000000) #5 %2700 = tail call float @llvm.fmuladd.f32(float %2698, float %mul.i585.3.3, float 0xBFE81272E0000000) #5 %2701 = tail call float @llvm.fmuladd.f32(float %2699, float %mul220.3.3, float %2700) #5 %mul11.i.3.3 = fmul float %2701, %div.i586.3.3 %mul222.3.3 = fmul float %mul19, %mul11.i.3.3 %2702 = tail call float @llvm.fmuladd.f32(float %mul218.3.3, float %div196.3.3, float %mul222.3.3) %2703 = tail call float @llvm.fmuladd.f32(float %mul217.3.3, float %2702, float %mul203.3.3) %mul225.3.3 = fmul float %2688, %div196.3.3 %mul226.3.3 = fmul float %mul225.3.3, %nbparam_params_ewald_beta %fabs.i.3.3 = tail call float @llvm.fabs.f32(float %mul226.3.3) #5 %and.i.3.3 = bitcast float %fabs.i.3.3 to i32 %mul.i.3.3 = fmul float %mul226.3.3, %mul226.3.3 %div.i.3.3 = fdiv float 1.000000e+00, %mul.i.3.3, !fpmath !46 %sub.i.3.3 = fadd float %fabs.i.3.3, -1.000000e+00 %cmp.i583.3.3 = fcmp olt float %fabs.i.3.3, 1.250000e+00 %cond.i.3.3 = select i1 %cmp.i583.3.3, float %sub.i.3.3, float %div.i.3.3 %cmp2.i.3.3 = fcmp olt float %fabs.i.3.3, 8.437500e-01 %cond6.i.3.3 = select i1 %cmp2.i.3.3, float %mul.i.3.3, float %cond.i.3.3 %2704 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2705 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2704, float 0xC083EC8820000000) #5 %2706 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2705, float 0xC064145D40000000) #5 %2707 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2706, float 0xC031C20960000000) #5 %2708 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2707, float 0xBFE993BA80000000) #5 %2709 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2708, float 0xBF84341240000000) #5 %2710 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2711 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2710, float 0x40A3F219C0000000) #5 %2712 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2711, float 0x40A8FFB760000000) #5 %2713 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2712, float 0x409802EB20000000) #5 %2714 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2713, float 0x40745CAE20000000) #5 %2715 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2714, float 0x403E568B20000000) #5 %2716 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2717 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2716, float 0xC067135CE0000000) #5 %2718 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2717, float 0xC0644CB180000000) #5 %2719 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2718, float 0xC04F300AE0000000) #5 %2720 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2719, float 0xC0251E0440000000) #5 %2721 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2720, float 0xBFE63416E0000000) #5 %2722 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2721, float 0xBF84341260000000) #5 %2723 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2724 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2723, float 0x405B28A3E0000000) #5 %2725 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2724, float 0x407AD02160000000) #5 %2726 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2725, float 0x40842B1920000000) #5 %2727 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2726, float 0x407B290DE0000000) #5 %2728 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2727, float 0x4061350C60000000) #5 %2729 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2728, float 0x4033A6B9C0000000) #5 %cmp32.i.3.3 = fcmp olt float %fabs.i.3.3, 0x4006DB6DA0000000 %cond36.i.3.3 = select i1 %cmp32.i.3.3, float %2722, float %2709 %cond41.i.3.3 = select i1 %cmp32.i.3.3, float %2729, float %2715 %2730 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2731 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2730, float 0xBFBC639840000000) #5 %2732 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2731, float 0x3FD45FCA80000000) #5 %2733 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2732, float 0xBFD7D24100000000) #5 %2734 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2733, float 0x3FDA8D00A0000000) #5 %2735 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2734, float 0xBF6359B8C0000000) #5 %2736 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2737 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2736, float 0x3FC02660E0000000) #5 %2738 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2737, float 0x3FB2635CE0000000) #5 %2739 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2738, float 0x3FE14AF0A0000000) #5 %2740 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2739, float 0x3FBB3E6620000000) #5 %cond57.i.3.3 = select i1 %cmp.i583.3.3, float %2735, float %cond36.i.3.3 %cond62.i.3.3 = select i1 %cmp.i583.3.3, float %2740, float %cond41.i.3.3 %2741 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2742 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2741, float 0xBF9D2A51E0000000) #5 %2743 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2742, float 0xBFD4CD7D60000000) #5 %2744 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2743, float 0x3FC06EBA80000000) #5 %2745 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2746 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2745, float 0x3F74D022C0000000) #5 %2747 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2746, float 0x3FB0A54C60000000) #5 %2748 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2747, float 0x3FD97779C0000000) #5 %cond75.i.3.3 = select i1 %cmp2.i.3.3, float %2744, float %cond57.i.3.3 %cond80.i.3.3 = select i1 %cmp2.i.3.3, float %2748, float %cond62.i.3.3 %2749 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %cond80.i.3.3, float 1.000000e+00) #5 %div82.i.3.3 = fdiv float %cond75.i.3.3, %2749, !fpmath !46 %and83.i.3.3 = and i32 %and.i.3.3, -4096 %astype84.i.3.3 = bitcast i32 %and83.i.3.3 to float %sub85.i.3.3 = fsub float -0.000000e+00, %astype84.i.3.3 %2750 = tail call float @llvm.fmuladd.f32(float %sub85.i.3.3, float %astype84.i.3.3, float -5.625000e-01) #5 %cmp.i2.i.3.3 = fcmp olt float %2750, 0.000000e+00 %cond.i3.i.3.3 = select i1 %cmp.i2.i.3.3, float -5.000000e-01, float 5.000000e-01 %2751 = tail call float @llvm.fmuladd.f32(float %2750, float 0x3FF7154760000000, float %cond.i3.i.3.3) #5 %conv.i4.i.3.3 = fptosi float %2751 to i32 %conv1.i5.i.3.3 = sitofp i32 %conv.i4.i.3.3 to float %2752 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.3.3, float 0xBFE62E3000000000, float %2750) #5 %mul.i6.i.3.3 = fmul float %conv1.i5.i.3.3, 0xBEE2FEFA20000000 %add.i7.i.3.3 = fadd float %2752, %mul.i6.i.3.3 %mul3.i8.i.3.3 = fmul float %add.i7.i.3.3, %add.i7.i.3.3 %2753 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2754 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float %2753, float 0x3F11566AA0000000) #5 %2755 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float %2754, float 0xBF66C16C20000000) #5 %2756 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float %2755, float 0x3FC5555560000000) #5 %sub8.i9.i.3.3 = fsub float -0.000000e+00, %2756 %2757 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float %sub8.i9.i.3.3, float %add.i7.i.3.3) #5 %sub10.i10.i.3.3 = fsub float -0.000000e+00, %mul.i6.i.3.3 %mul11.i11.i.3.3 = fmul float %add.i7.i.3.3, %2757 %sub12.i12.i.3.3 = fsub float 2.000000e+00, %2757 %div.i13.i.3.3 = fdiv float %mul11.i11.i.3.3, %sub12.i12.i.3.3, !fpmath !46 %sub13.i14.i.3.3 = fsub float %sub10.i10.i.3.3, %div.i13.i.3.3 %sub14.i15.i.3.3 = fsub float %sub13.i14.i.3.3, %2752 %sub15.i16.i.3.3 = fsub float 1.000000e+00, %sub14.i15.i.3.3 %astype.i17.i.3.3 = bitcast float %sub15.i16.i.3.3 to i32 %shl.i18.i.3.3 = shl i32 %conv.i4.i.3.3, 23 %add16.i19.i.3.3 = add nsw i32 %astype.i17.i.3.3, %shl.i18.i.3.3 %astype17.i20.i.3.3 = bitcast i32 %add16.i19.i.3.3 to float %cmp18.i21.i.3.3 = fcmp olt float %2750, 0xC055D589E0000000 %cond20.i22.i.3.3 = select i1 %cmp18.i21.i.3.3, float 0.000000e+00, float %astype17.i20.i.3.3 %cmp21.i23.i.3.3 = fcmp olt float %2750, 0x40562E4300000000 %cond26.i24.i.3.3 = select i1 %cmp21.i23.i.3.3, float %cond20.i22.i.3.3, float 0x7FF0000000000000 %cmp.i.i25.i.3.3 = fcmp uno float %2750, 0.000000e+00 %cond31.i26.i.3.3 = select i1 %cmp.i.i25.i.3.3, float %2750, float %cond26.i24.i.3.3 %sub88.i.3.3 = fsub float %astype84.i.3.3, %fabs.i.3.3 %add.i584.3.3 = fadd float %fabs.i.3.3, %astype84.i.3.3 %2758 = tail call float @llvm.fmuladd.f32(float %sub88.i.3.3, float %add.i584.3.3, float %div82.i.3.3) #5 %cmp.i1.i.3.3 = fcmp olt float %2758, 0.000000e+00 %cond.i.i.3.3 = select i1 %cmp.i1.i.3.3, float -5.000000e-01, float 5.000000e-01 %2759 = tail call float @llvm.fmuladd.f32(float %2758, float 0x3FF7154760000000, float %cond.i.i.3.3) #5 %conv.i.i.3.3 = fptosi float %2759 to i32 %conv1.i.i.3.3 = sitofp i32 %conv.i.i.3.3 to float %2760 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.3.3, float 0xBFE62E3000000000, float %2758) #5 %mul.i.i.3.3 = fmul float %conv1.i.i.3.3, 0xBEE2FEFA20000000 %add.i.i.3.3 = fadd float %2760, %mul.i.i.3.3 %mul3.i.i.3.3 = fmul float %add.i.i.3.3, %add.i.i.3.3 %2761 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2762 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float %2761, float 0x3F11566AA0000000) #5 %2763 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float %2762, float 0xBF66C16C20000000) #5 %2764 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float %2763, float 0x3FC5555560000000) #5 %sub8.i.i.3.3 = fsub float -0.000000e+00, %2764 %2765 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float %sub8.i.i.3.3, float %add.i.i.3.3) #5 %sub10.i.i.3.3 = fsub float -0.000000e+00, %mul.i.i.3.3 %mul11.i.i.3.3 = fmul float %add.i.i.3.3, %2765 %sub12.i.i.3.3 = fsub float 2.000000e+00, %2765 %div.i.i.3.3 = fdiv float %mul11.i.i.3.3, %sub12.i.i.3.3, !fpmath !46 %sub13.i.i.3.3 = fsub float %sub10.i.i.3.3, %div.i.i.3.3 %sub14.i.i.3.3 = fsub float %sub13.i.i.3.3, %2760 %sub15.i.i.3.3 = fsub float 1.000000e+00, %sub14.i.i.3.3 %astype.i.i.3.3 = bitcast float %sub15.i.i.3.3 to i32 %shl.i.i.3.3 = shl i32 %conv.i.i.3.3, 23 %add16.i.i.3.3 = add nsw i32 %astype.i.i.3.3, %shl.i.i.3.3 %astype17.i.i.3.3 = bitcast i32 %add16.i.i.3.3 to float %cmp18.i.i.3.3 = fcmp olt float %2758, 0xC055D589E0000000 %cond20.i.i.3.3 = select i1 %cmp18.i.i.3.3, float 0.000000e+00, float %astype17.i.i.3.3 %cmp21.i.i.3.3 = fcmp olt float %2758, 0x40562E4300000000 %cond26.i.i.3.3 = select i1 %cmp21.i.i.3.3, float %cond20.i.i.3.3, float 0x7FF0000000000000 %cmp.i.i.i.3.3 = fcmp uno float %2758, 0.000000e+00 %cond31.i.i.3.3 = select i1 %cmp.i.i.i.3.3, float %2758, float %cond26.i.i.3.3 %mul91.i.3.3 = fmul float %cond31.i26.i.3.3, %cond31.i.i.3.3 %div92.i.3.3 = fdiv float %mul91.i.3.3, %fabs.i.3.3, !fpmath !46 %sub93.i.3.3 = fsub float 2.000000e+00, %div92.i.3.3 %cmp94.i.3.3 = fcmp olt float %mul226.3.3, 0.000000e+00 %cond98.i.3.3 = select i1 %cmp94.i.3.3, float %sub93.i.3.3, float %div92.i.3.3 %cmp99.i.3.3 = fcmp olt float %fabs.i.3.3, 2.800000e+01 %cond103.i.3.3 = select i1 %cmp99.i.3.3, float %cond98.i.3.3, float 0.000000e+00 %sub104.i.3.3 = fsub float 0x3FC3D4FA80000000, %div82.i.3.3 %add105.i.3.3 = fadd float %div82.i.3.3, 0x3FEB0AC160000000 %add106.i.3.3 = fadd float %add105.i.3.3, 1.000000e+00 %cond111.i.3.3 = select i1 %cmp94.i.3.3, float %add106.i.3.3, float %sub104.i.3.3 %cond116.i.3.3 = select i1 %cmp.i583.3.3, float %cond111.i.3.3, float %cond103.i.3.3 %sub117.i.3.3 = fadd float %mul226.3.3, -5.000000e-01 %2766 = tail call float @llvm.fmuladd.f32(float %mul226.3.3, float %div82.i.3.3, float %sub117.i.3.3) #5 %sub119.i.3.3 = fsub float 5.000000e-01, %2766 %cond124.i.3.3 = select i1 %cmp2.i.3.3, float %sub119.i.3.3, float %cond116.i.3.3 %cmp125.i.3.3 = fcmp olt float %mul226.3.3, -6.000000e+00 %cond129.i.3.3 = select i1 %cmp125.i.3.3, float 2.000000e+00, float %cond124.i.3.3 %cmp.i.i.3.3 = fcmp uno float %mul226.3.3, 0.000000e+00 %cond134.i.3.3 = select i1 %cmp.i.i.3.3, float %mul226.3.3, float %cond129.i.3.3 %mul229.3.3 = fmul float %cond.3.3, %nbparam_params_sh_ewald %neg230.3.3 = fsub float -0.000000e+00, %mul229.3.3 %2767 = tail call float @llvm.fmuladd.f32(float %div196.3.3, float %cond134.i.3.3, float %neg230.3.3) %2768 = tail call float @llvm.fmuladd.f32(float %mul217.3.3, float %2767, float %E_el.5.2.3) %splat.splatinsert.3.3 = insertelement <3 x float> undef, float %2703, i32 0 %splat.splat.3.3 = shufflevector <3 x float> %splat.splatinsert.3.3, <3 x float> undef, <3 x i32> zeroinitializer %mul235.3.3 = fmul <3 x float> %extractVec166.3.3, %splat.splat.3.3 %extractVec243.3.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.3, <4 x float> undef, <3 x i32> %sub244.3.3 = fsub <3 x float> %extractVec243.3.3, %mul235.3.3 %extractVec245.3.3 = shufflevector <3 x float> %sub244.3.3, <3 x float> undef, <4 x i32> %extractVec253.3.3 = shufflevector <4 x float> %fci_buf.sroa.32.7, <4 x float> undef, <3 x i32> %add254.3.3 = fadd <3 x float> %extractVec253.3.3, %mul235.3.3 %extractVec255.3.3 = shufflevector <3 x float> %add254.3.3, <3 x float> undef, <4 x i32> br label %if.end258.3.3 if.end258.3.3: ; preds = %if.then182.3.3, %if.then147.3.3, %if.end258.2.3 %fci_buf.sroa.32.8 = phi <4 x float> [ %fci_buf.sroa.32.7, %if.end258.2.3 ], [ %extractVec255.3.3, %if.then182.3.3 ], [ %fci_buf.sroa.32.7, %if.then147.3.3 ] %E_el.5.3.3 = phi float [ %E_el.5.2.3, %if.end258.2.3 ], [ %2768, %if.then182.3.3 ], [ %E_el.5.2.3, %if.then147.3.3 ] %E_lj.3.3.3 = phi float [ %E_lj.3.2.3, %if.end258.2.3 ], [ %add216.3.3, %if.then182.3.3 ], [ %E_lj.3.2.3, %if.then147.3.3 ] %fcj_buf.sroa.0.1.3.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.2.3, %if.end258.2.3 ], [ %extractVec245.3.3, %if.then182.3.3 ], [ %fcj_buf.sroa.0.1.2.3, %if.then147.3.3 ] %and145.4.3 = and i32 %64, 268435456 %tobool146.4.3 = icmp eq i32 %and145.4.3, 0 br i1 %tobool146.4.3, label %if.end258.4.3, label %if.then147.4.3 if.then147.4.3: ; preds = %if.end258.3.3 %2769 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.4.3, align 16, !tbaa !36 %2770 = fsub <4 x float> %2769, %2390 %2771 = extractelement <4 x float> %2770, i32 0 %2772 = extractelement <4 x float> %2770, i32 1 %mul3.i.i589.4.3 = fmul float %2772, %2772 %2773 = tail call float @llvm.fmuladd.f32(float %2771, float %2771, float %mul3.i.i589.4.3) #5 %2774 = extractelement <4 x float> %2770, i32 2 %2775 = tail call float @llvm.fmuladd.f32(float %2774, float %2774, float %2773) #5 %and168.4.3 = and i32 %66, 268435456 %tobool169.4.3 = icmp ne i32 %and168.4.3, 0 %cond.4.3 = select i1 %tobool169.4.3, float 1.000000e+00, float 0.000000e+00 %cmp174.4.3 = icmp eq i32 %54, %2388 %or.cond.4.3 = and i1 %cmp63, %cmp174.4.3 %not.or.cond.4.3 = xor i1 %or.cond.4.3, true %cmp176..4.3 = or i1 %cmp176, %not.or.cond.4.3 %conv178.4.3 = uitofp i1 %cmp176..4.3 to float %mul179.4.3 = fmul float %conv178.4.3, %nbparam_params_rcoulomb_sq %cmp180.4.3 = fcmp olt float %2775, %mul179.4.3 br i1 %cmp180.4.3, label %if.then182.4.3, label %if.end258.4.3 if.then182.4.3: ; preds = %if.then147.4.3 %extractVec166.4.3 = shufflevector <4 x float> %2770, <4 x float> undef, <3 x i32> %2776 = extractelement <4 x float> %2769, i32 3 %2777 = load i32, i32 addrspace(1)* %arrayidx183.4.3, align 4, !tbaa !41 %mul184.4.3 = mul nsw i32 %2777, %ntypes %add185.4.3 = add nsw i32 %mul184.4.3, %2392 %mul186.4.3 = shl nsw i32 %add185.4.3, 1 %2778 = sext i32 %mul186.4.3 to i64 %arrayidx187.4.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2778 %2779 = load float, float addrspace(2)* %arrayidx187.4.3, align 4, !tbaa !39 %add191.4.3 = or i32 %mul186.4.3, 1 %2780 = sext i32 %add191.4.3 to i64 %arrayidx192.4.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2780 %2781 = load float, float addrspace(2)* %arrayidx192.4.3, align 4, !tbaa !39 %sub193.4.3 = fsub float 1.000000e+00, %cond.4.3 %2782 = tail call float @llvm.fmuladd.f32(float %sub193.4.3, float 0x3D71979980000000, float %2775) %cmp.i.i587.4.3 = fcmp olt float %2782, 0.000000e+00 %call.i.i.4.3 = tail call float @llvm.sqrt.f32(float %2782) #6 %call.i.i.op.4.3 = fdiv float 1.000000e+00, %call.i.i.4.3 %div196.4.3 = select i1 %cmp.i.i587.4.3, float 0x7FF8000000000000, float %call.i.i.op.4.3 %mul197.4.3 = fmul float %div196.4.3, %div196.4.3 %mul198.4.3 = fmul float %mul197.4.3, %mul197.4.3 %mul199.4.3 = fmul float %mul197.4.3, %mul198.4.3 %mul200.4.3 = fmul float %cond.4.3, %mul199.4.3 %neg.4.3 = fsub float -0.000000e+00, %2779 %2783 = tail call float @llvm.fmuladd.f32(float %2781, float %mul200.4.3, float %neg.4.3) %mul202.4.3 = fmul float %mul200.4.3, %2783 %mul203.4.3 = fmul float %mul197.4.3, %mul202.4.3 %2784 = tail call float @llvm.fmuladd.f32(float %mul200.4.3, float %mul200.4.3, float %nbparam_params_repulsion_shift_cpot) %mul207.4.3 = fmul float %2784, %2781 %add211.4.3 = fadd float %mul200.4.3, %nbparam_params_dispersion_shift_cpot %mul212.4.3 = fmul float %add211.4.3, %2779 %mul213.4.3 = fmul float %mul212.4.3, 0x3FC5555560000000 %neg214.4.3 = fsub float -0.000000e+00, %mul213.4.3 %2785 = tail call float @llvm.fmuladd.f32(float %mul207.4.3, float 0x3FB5555540000000, float %neg214.4.3) %mul215.4.3 = fmul float %cond.4.3, %2785 %add216.4.3 = fadd float %E_lj.3.3.3, %mul215.4.3 %mul217.4.3 = fmul float %2391, %2776 %mul218.4.3 = fmul float %cond.4.3, %mul197.4.3 %mul220.4.3 = fmul float %mul, %2782 %mul.i585.4.3 = fmul float %mul220.4.3, %mul220.4.3 %2786 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.4.3, float 0x3FBDA79640000000) #5 %2787 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.4.3, float 0x3FE03C5780000000) #5 %2788 = tail call float @llvm.fmuladd.f32(float %2786, float %mul.i585.4.3, float 1.000000e+00) #5 %2789 = tail call float @llvm.fmuladd.f32(float %2787, float %mul220.4.3, float %2788) #5 %div.i586.4.3 = fdiv float 1.000000e+00, %2789, !fpmath !46 %2790 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.4.3, float 0xBF0BFF7260000000) #5 %2791 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.4.3, float 0x3F50794180000000) #5 %2792 = tail call float @llvm.fmuladd.f32(float %2790, float %mul.i585.4.3, float 0xBF93BDB200000000) #5 %2793 = tail call float @llvm.fmuladd.f32(float %2791, float %mul.i585.4.3, float 0x3FB1D5E760000000) #5 %2794 = tail call float @llvm.fmuladd.f32(float %2792, float %mul.i585.4.3, float 0xBFE81272E0000000) #5 %2795 = tail call float @llvm.fmuladd.f32(float %2793, float %mul220.4.3, float %2794) #5 %mul11.i.4.3 = fmul float %2795, %div.i586.4.3 %mul222.4.3 = fmul float %mul19, %mul11.i.4.3 %2796 = tail call float @llvm.fmuladd.f32(float %mul218.4.3, float %div196.4.3, float %mul222.4.3) %2797 = tail call float @llvm.fmuladd.f32(float %mul217.4.3, float %2796, float %mul203.4.3) %mul225.4.3 = fmul float %2782, %div196.4.3 %mul226.4.3 = fmul float %mul225.4.3, %nbparam_params_ewald_beta %fabs.i.4.3 = tail call float @llvm.fabs.f32(float %mul226.4.3) #5 %and.i.4.3 = bitcast float %fabs.i.4.3 to i32 %mul.i.4.3 = fmul float %mul226.4.3, %mul226.4.3 %div.i.4.3 = fdiv float 1.000000e+00, %mul.i.4.3, !fpmath !46 %sub.i.4.3 = fadd float %fabs.i.4.3, -1.000000e+00 %cmp.i583.4.3 = fcmp olt float %fabs.i.4.3, 1.250000e+00 %cond.i.4.3 = select i1 %cmp.i583.4.3, float %sub.i.4.3, float %div.i.4.3 %cmp2.i.4.3 = fcmp olt float %fabs.i.4.3, 8.437500e-01 %cond6.i.4.3 = select i1 %cmp2.i.4.3, float %mul.i.4.3, float %cond.i.4.3 %2798 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2799 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2798, float 0xC083EC8820000000) #5 %2800 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2799, float 0xC064145D40000000) #5 %2801 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2800, float 0xC031C20960000000) #5 %2802 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2801, float 0xBFE993BA80000000) #5 %2803 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2802, float 0xBF84341240000000) #5 %2804 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2805 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2804, float 0x40A3F219C0000000) #5 %2806 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2805, float 0x40A8FFB760000000) #5 %2807 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2806, float 0x409802EB20000000) #5 %2808 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2807, float 0x40745CAE20000000) #5 %2809 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2808, float 0x403E568B20000000) #5 %2810 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2811 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2810, float 0xC067135CE0000000) #5 %2812 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2811, float 0xC0644CB180000000) #5 %2813 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2812, float 0xC04F300AE0000000) #5 %2814 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2813, float 0xC0251E0440000000) #5 %2815 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2814, float 0xBFE63416E0000000) #5 %2816 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2815, float 0xBF84341260000000) #5 %2817 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2818 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2817, float 0x405B28A3E0000000) #5 %2819 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2818, float 0x407AD02160000000) #5 %2820 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2819, float 0x40842B1920000000) #5 %2821 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2820, float 0x407B290DE0000000) #5 %2822 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2821, float 0x4061350C60000000) #5 %2823 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2822, float 0x4033A6B9C0000000) #5 %cmp32.i.4.3 = fcmp olt float %fabs.i.4.3, 0x4006DB6DA0000000 %cond36.i.4.3 = select i1 %cmp32.i.4.3, float %2816, float %2803 %cond41.i.4.3 = select i1 %cmp32.i.4.3, float %2823, float %2809 %2824 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2825 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2824, float 0xBFBC639840000000) #5 %2826 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2825, float 0x3FD45FCA80000000) #5 %2827 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2826, float 0xBFD7D24100000000) #5 %2828 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2827, float 0x3FDA8D00A0000000) #5 %2829 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2828, float 0xBF6359B8C0000000) #5 %2830 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2831 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2830, float 0x3FC02660E0000000) #5 %2832 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2831, float 0x3FB2635CE0000000) #5 %2833 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2832, float 0x3FE14AF0A0000000) #5 %2834 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2833, float 0x3FBB3E6620000000) #5 %cond57.i.4.3 = select i1 %cmp.i583.4.3, float %2829, float %cond36.i.4.3 %cond62.i.4.3 = select i1 %cmp.i583.4.3, float %2834, float %cond41.i.4.3 %2835 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2836 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2835, float 0xBF9D2A51E0000000) #5 %2837 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2836, float 0xBFD4CD7D60000000) #5 %2838 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2837, float 0x3FC06EBA80000000) #5 %2839 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2840 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2839, float 0x3F74D022C0000000) #5 %2841 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2840, float 0x3FB0A54C60000000) #5 %2842 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2841, float 0x3FD97779C0000000) #5 %cond75.i.4.3 = select i1 %cmp2.i.4.3, float %2838, float %cond57.i.4.3 %cond80.i.4.3 = select i1 %cmp2.i.4.3, float %2842, float %cond62.i.4.3 %2843 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %cond80.i.4.3, float 1.000000e+00) #5 %div82.i.4.3 = fdiv float %cond75.i.4.3, %2843, !fpmath !46 %and83.i.4.3 = and i32 %and.i.4.3, -4096 %astype84.i.4.3 = bitcast i32 %and83.i.4.3 to float %sub85.i.4.3 = fsub float -0.000000e+00, %astype84.i.4.3 %2844 = tail call float @llvm.fmuladd.f32(float %sub85.i.4.3, float %astype84.i.4.3, float -5.625000e-01) #5 %cmp.i2.i.4.3 = fcmp olt float %2844, 0.000000e+00 %cond.i3.i.4.3 = select i1 %cmp.i2.i.4.3, float -5.000000e-01, float 5.000000e-01 %2845 = tail call float @llvm.fmuladd.f32(float %2844, float 0x3FF7154760000000, float %cond.i3.i.4.3) #5 %conv.i4.i.4.3 = fptosi float %2845 to i32 %conv1.i5.i.4.3 = sitofp i32 %conv.i4.i.4.3 to float %2846 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.4.3, float 0xBFE62E3000000000, float %2844) #5 %mul.i6.i.4.3 = fmul float %conv1.i5.i.4.3, 0xBEE2FEFA20000000 %add.i7.i.4.3 = fadd float %2846, %mul.i6.i.4.3 %mul3.i8.i.4.3 = fmul float %add.i7.i.4.3, %add.i7.i.4.3 %2847 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2848 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float %2847, float 0x3F11566AA0000000) #5 %2849 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float %2848, float 0xBF66C16C20000000) #5 %2850 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float %2849, float 0x3FC5555560000000) #5 %sub8.i9.i.4.3 = fsub float -0.000000e+00, %2850 %2851 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float %sub8.i9.i.4.3, float %add.i7.i.4.3) #5 %sub10.i10.i.4.3 = fsub float -0.000000e+00, %mul.i6.i.4.3 %mul11.i11.i.4.3 = fmul float %add.i7.i.4.3, %2851 %sub12.i12.i.4.3 = fsub float 2.000000e+00, %2851 %div.i13.i.4.3 = fdiv float %mul11.i11.i.4.3, %sub12.i12.i.4.3, !fpmath !46 %sub13.i14.i.4.3 = fsub float %sub10.i10.i.4.3, %div.i13.i.4.3 %sub14.i15.i.4.3 = fsub float %sub13.i14.i.4.3, %2846 %sub15.i16.i.4.3 = fsub float 1.000000e+00, %sub14.i15.i.4.3 %astype.i17.i.4.3 = bitcast float %sub15.i16.i.4.3 to i32 %shl.i18.i.4.3 = shl i32 %conv.i4.i.4.3, 23 %add16.i19.i.4.3 = add nsw i32 %astype.i17.i.4.3, %shl.i18.i.4.3 %astype17.i20.i.4.3 = bitcast i32 %add16.i19.i.4.3 to float %cmp18.i21.i.4.3 = fcmp olt float %2844, 0xC055D589E0000000 %cond20.i22.i.4.3 = select i1 %cmp18.i21.i.4.3, float 0.000000e+00, float %astype17.i20.i.4.3 %cmp21.i23.i.4.3 = fcmp olt float %2844, 0x40562E4300000000 %cond26.i24.i.4.3 = select i1 %cmp21.i23.i.4.3, float %cond20.i22.i.4.3, float 0x7FF0000000000000 %cmp.i.i25.i.4.3 = fcmp uno float %2844, 0.000000e+00 %cond31.i26.i.4.3 = select i1 %cmp.i.i25.i.4.3, float %2844, float %cond26.i24.i.4.3 %sub88.i.4.3 = fsub float %astype84.i.4.3, %fabs.i.4.3 %add.i584.4.3 = fadd float %fabs.i.4.3, %astype84.i.4.3 %2852 = tail call float @llvm.fmuladd.f32(float %sub88.i.4.3, float %add.i584.4.3, float %div82.i.4.3) #5 %cmp.i1.i.4.3 = fcmp olt float %2852, 0.000000e+00 %cond.i.i.4.3 = select i1 %cmp.i1.i.4.3, float -5.000000e-01, float 5.000000e-01 %2853 = tail call float @llvm.fmuladd.f32(float %2852, float 0x3FF7154760000000, float %cond.i.i.4.3) #5 %conv.i.i.4.3 = fptosi float %2853 to i32 %conv1.i.i.4.3 = sitofp i32 %conv.i.i.4.3 to float %2854 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.4.3, float 0xBFE62E3000000000, float %2852) #5 %mul.i.i.4.3 = fmul float %conv1.i.i.4.3, 0xBEE2FEFA20000000 %add.i.i.4.3 = fadd float %2854, %mul.i.i.4.3 %mul3.i.i.4.3 = fmul float %add.i.i.4.3, %add.i.i.4.3 %2855 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2856 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float %2855, float 0x3F11566AA0000000) #5 %2857 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float %2856, float 0xBF66C16C20000000) #5 %2858 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float %2857, float 0x3FC5555560000000) #5 %sub8.i.i.4.3 = fsub float -0.000000e+00, %2858 %2859 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float %sub8.i.i.4.3, float %add.i.i.4.3) #5 %sub10.i.i.4.3 = fsub float -0.000000e+00, %mul.i.i.4.3 %mul11.i.i.4.3 = fmul float %add.i.i.4.3, %2859 %sub12.i.i.4.3 = fsub float 2.000000e+00, %2859 %div.i.i.4.3 = fdiv float %mul11.i.i.4.3, %sub12.i.i.4.3, !fpmath !46 %sub13.i.i.4.3 = fsub float %sub10.i.i.4.3, %div.i.i.4.3 %sub14.i.i.4.3 = fsub float %sub13.i.i.4.3, %2854 %sub15.i.i.4.3 = fsub float 1.000000e+00, %sub14.i.i.4.3 %astype.i.i.4.3 = bitcast float %sub15.i.i.4.3 to i32 %shl.i.i.4.3 = shl i32 %conv.i.i.4.3, 23 %add16.i.i.4.3 = add nsw i32 %astype.i.i.4.3, %shl.i.i.4.3 %astype17.i.i.4.3 = bitcast i32 %add16.i.i.4.3 to float %cmp18.i.i.4.3 = fcmp olt float %2852, 0xC055D589E0000000 %cond20.i.i.4.3 = select i1 %cmp18.i.i.4.3, float 0.000000e+00, float %astype17.i.i.4.3 %cmp21.i.i.4.3 = fcmp olt float %2852, 0x40562E4300000000 %cond26.i.i.4.3 = select i1 %cmp21.i.i.4.3, float %cond20.i.i.4.3, float 0x7FF0000000000000 %cmp.i.i.i.4.3 = fcmp uno float %2852, 0.000000e+00 %cond31.i.i.4.3 = select i1 %cmp.i.i.i.4.3, float %2852, float %cond26.i.i.4.3 %mul91.i.4.3 = fmul float %cond31.i26.i.4.3, %cond31.i.i.4.3 %div92.i.4.3 = fdiv float %mul91.i.4.3, %fabs.i.4.3, !fpmath !46 %sub93.i.4.3 = fsub float 2.000000e+00, %div92.i.4.3 %cmp94.i.4.3 = fcmp olt float %mul226.4.3, 0.000000e+00 %cond98.i.4.3 = select i1 %cmp94.i.4.3, float %sub93.i.4.3, float %div92.i.4.3 %cmp99.i.4.3 = fcmp olt float %fabs.i.4.3, 2.800000e+01 %cond103.i.4.3 = select i1 %cmp99.i.4.3, float %cond98.i.4.3, float 0.000000e+00 %sub104.i.4.3 = fsub float 0x3FC3D4FA80000000, %div82.i.4.3 %add105.i.4.3 = fadd float %div82.i.4.3, 0x3FEB0AC160000000 %add106.i.4.3 = fadd float %add105.i.4.3, 1.000000e+00 %cond111.i.4.3 = select i1 %cmp94.i.4.3, float %add106.i.4.3, float %sub104.i.4.3 %cond116.i.4.3 = select i1 %cmp.i583.4.3, float %cond111.i.4.3, float %cond103.i.4.3 %sub117.i.4.3 = fadd float %mul226.4.3, -5.000000e-01 %2860 = tail call float @llvm.fmuladd.f32(float %mul226.4.3, float %div82.i.4.3, float %sub117.i.4.3) #5 %sub119.i.4.3 = fsub float 5.000000e-01, %2860 %cond124.i.4.3 = select i1 %cmp2.i.4.3, float %sub119.i.4.3, float %cond116.i.4.3 %cmp125.i.4.3 = fcmp olt float %mul226.4.3, -6.000000e+00 %cond129.i.4.3 = select i1 %cmp125.i.4.3, float 2.000000e+00, float %cond124.i.4.3 %cmp.i.i.4.3 = fcmp uno float %mul226.4.3, 0.000000e+00 %cond134.i.4.3 = select i1 %cmp.i.i.4.3, float %mul226.4.3, float %cond129.i.4.3 %mul229.4.3 = fmul float %cond.4.3, %nbparam_params_sh_ewald %neg230.4.3 = fsub float -0.000000e+00, %mul229.4.3 %2861 = tail call float @llvm.fmuladd.f32(float %div196.4.3, float %cond134.i.4.3, float %neg230.4.3) %2862 = tail call float @llvm.fmuladd.f32(float %mul217.4.3, float %2861, float %E_el.5.3.3) %splat.splatinsert.4.3 = insertelement <3 x float> undef, float %2797, i32 0 %splat.splat.4.3 = shufflevector <3 x float> %splat.splatinsert.4.3, <3 x float> undef, <3 x i32> zeroinitializer %mul235.4.3 = fmul <3 x float> %extractVec166.4.3, %splat.splat.4.3 %extractVec243.4.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.3, <4 x float> undef, <3 x i32> %sub244.4.3 = fsub <3 x float> %extractVec243.4.3, %mul235.4.3 %extractVec245.4.3 = shufflevector <3 x float> %sub244.4.3, <3 x float> undef, <4 x i32> %extractVec253.4.3 = shufflevector <4 x float> %fci_buf.sroa.42.7, <4 x float> undef, <3 x i32> %add254.4.3 = fadd <3 x float> %extractVec253.4.3, %mul235.4.3 %extractVec255.4.3 = shufflevector <3 x float> %add254.4.3, <3 x float> undef, <4 x i32> br label %if.end258.4.3 if.end258.4.3: ; preds = %if.then182.4.3, %if.then147.4.3, %if.end258.3.3 %fci_buf.sroa.42.8 = phi <4 x float> [ %fci_buf.sroa.42.7, %if.end258.3.3 ], [ %extractVec255.4.3, %if.then182.4.3 ], [ %fci_buf.sroa.42.7, %if.then147.4.3 ] %E_el.5.4.3 = phi float [ %E_el.5.3.3, %if.end258.3.3 ], [ %2862, %if.then182.4.3 ], [ %E_el.5.3.3, %if.then147.4.3 ] %E_lj.3.4.3 = phi float [ %E_lj.3.3.3, %if.end258.3.3 ], [ %add216.4.3, %if.then182.4.3 ], [ %E_lj.3.3.3, %if.then147.4.3 ] %fcj_buf.sroa.0.1.4.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.3.3, %if.end258.3.3 ], [ %extractVec245.4.3, %if.then182.4.3 ], [ %fcj_buf.sroa.0.1.3.3, %if.then147.4.3 ] %and145.5.3 = and i32 %64, 536870912 %tobool146.5.3 = icmp eq i32 %and145.5.3, 0 br i1 %tobool146.5.3, label %if.end258.5.3, label %if.then147.5.3 if.then147.5.3: ; preds = %if.end258.4.3 %2863 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.5.3, align 16, !tbaa !36 %2864 = fsub <4 x float> %2863, %2390 %2865 = extractelement <4 x float> %2864, i32 0 %2866 = extractelement <4 x float> %2864, i32 1 %mul3.i.i589.5.3 = fmul float %2866, %2866 %2867 = tail call float @llvm.fmuladd.f32(float %2865, float %2865, float %mul3.i.i589.5.3) #5 %2868 = extractelement <4 x float> %2864, i32 2 %2869 = tail call float @llvm.fmuladd.f32(float %2868, float %2868, float %2867) #5 %and168.5.3 = and i32 %66, 536870912 %tobool169.5.3 = icmp ne i32 %and168.5.3, 0 %cond.5.3 = select i1 %tobool169.5.3, float 1.000000e+00, float 0.000000e+00 %cmp174.5.3 = icmp eq i32 %52, %2388 %or.cond.5.3 = and i1 %cmp63, %cmp174.5.3 %not.or.cond.5.3 = xor i1 %or.cond.5.3, true %cmp176..5.3 = or i1 %cmp176, %not.or.cond.5.3 %conv178.5.3 = uitofp i1 %cmp176..5.3 to float %mul179.5.3 = fmul float %conv178.5.3, %nbparam_params_rcoulomb_sq %cmp180.5.3 = fcmp olt float %2869, %mul179.5.3 br i1 %cmp180.5.3, label %if.then182.5.3, label %if.end258.5.3 if.then182.5.3: ; preds = %if.then147.5.3 %extractVec166.5.3 = shufflevector <4 x float> %2864, <4 x float> undef, <3 x i32> %2870 = extractelement <4 x float> %2863, i32 3 %2871 = load i32, i32 addrspace(1)* %arrayidx183.5.3, align 4, !tbaa !41 %mul184.5.3 = mul nsw i32 %2871, %ntypes %add185.5.3 = add nsw i32 %mul184.5.3, %2392 %mul186.5.3 = shl nsw i32 %add185.5.3, 1 %2872 = sext i32 %mul186.5.3 to i64 %arrayidx187.5.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2872 %2873 = load float, float addrspace(2)* %arrayidx187.5.3, align 4, !tbaa !39 %add191.5.3 = or i32 %mul186.5.3, 1 %2874 = sext i32 %add191.5.3 to i64 %arrayidx192.5.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2874 %2875 = load float, float addrspace(2)* %arrayidx192.5.3, align 4, !tbaa !39 %sub193.5.3 = fsub float 1.000000e+00, %cond.5.3 %2876 = tail call float @llvm.fmuladd.f32(float %sub193.5.3, float 0x3D71979980000000, float %2869) %cmp.i.i587.5.3 = fcmp olt float %2876, 0.000000e+00 %call.i.i.5.3 = tail call float @llvm.sqrt.f32(float %2876) #6 %call.i.i.op.5.3 = fdiv float 1.000000e+00, %call.i.i.5.3 %div196.5.3 = select i1 %cmp.i.i587.5.3, float 0x7FF8000000000000, float %call.i.i.op.5.3 %mul197.5.3 = fmul float %div196.5.3, %div196.5.3 %mul198.5.3 = fmul float %mul197.5.3, %mul197.5.3 %mul199.5.3 = fmul float %mul197.5.3, %mul198.5.3 %mul200.5.3 = fmul float %cond.5.3, %mul199.5.3 %neg.5.3 = fsub float -0.000000e+00, %2873 %2877 = tail call float @llvm.fmuladd.f32(float %2875, float %mul200.5.3, float %neg.5.3) %mul202.5.3 = fmul float %mul200.5.3, %2877 %mul203.5.3 = fmul float %mul197.5.3, %mul202.5.3 %2878 = tail call float @llvm.fmuladd.f32(float %mul200.5.3, float %mul200.5.3, float %nbparam_params_repulsion_shift_cpot) %mul207.5.3 = fmul float %2878, %2875 %add211.5.3 = fadd float %mul200.5.3, %nbparam_params_dispersion_shift_cpot %mul212.5.3 = fmul float %add211.5.3, %2873 %mul213.5.3 = fmul float %mul212.5.3, 0x3FC5555560000000 %neg214.5.3 = fsub float -0.000000e+00, %mul213.5.3 %2879 = tail call float @llvm.fmuladd.f32(float %mul207.5.3, float 0x3FB5555540000000, float %neg214.5.3) %mul215.5.3 = fmul float %cond.5.3, %2879 %add216.5.3 = fadd float %E_lj.3.4.3, %mul215.5.3 %mul217.5.3 = fmul float %2391, %2870 %mul218.5.3 = fmul float %cond.5.3, %mul197.5.3 %mul220.5.3 = fmul float %mul, %2876 %mul.i585.5.3 = fmul float %mul220.5.3, %mul220.5.3 %2880 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.5.3, float 0x3FBDA79640000000) #5 %2881 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.5.3, float 0x3FE03C5780000000) #5 %2882 = tail call float @llvm.fmuladd.f32(float %2880, float %mul.i585.5.3, float 1.000000e+00) #5 %2883 = tail call float @llvm.fmuladd.f32(float %2881, float %mul220.5.3, float %2882) #5 %div.i586.5.3 = fdiv float 1.000000e+00, %2883, !fpmath !46 %2884 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.5.3, float 0xBF0BFF7260000000) #5 %2885 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.5.3, float 0x3F50794180000000) #5 %2886 = tail call float @llvm.fmuladd.f32(float %2884, float %mul.i585.5.3, float 0xBF93BDB200000000) #5 %2887 = tail call float @llvm.fmuladd.f32(float %2885, float %mul.i585.5.3, float 0x3FB1D5E760000000) #5 %2888 = tail call float @llvm.fmuladd.f32(float %2886, float %mul.i585.5.3, float 0xBFE81272E0000000) #5 %2889 = tail call float @llvm.fmuladd.f32(float %2887, float %mul220.5.3, float %2888) #5 %mul11.i.5.3 = fmul float %2889, %div.i586.5.3 %mul222.5.3 = fmul float %mul19, %mul11.i.5.3 %2890 = tail call float @llvm.fmuladd.f32(float %mul218.5.3, float %div196.5.3, float %mul222.5.3) %2891 = tail call float @llvm.fmuladd.f32(float %mul217.5.3, float %2890, float %mul203.5.3) %mul225.5.3 = fmul float %2876, %div196.5.3 %mul226.5.3 = fmul float %mul225.5.3, %nbparam_params_ewald_beta %fabs.i.5.3 = tail call float @llvm.fabs.f32(float %mul226.5.3) #5 %and.i.5.3 = bitcast float %fabs.i.5.3 to i32 %mul.i.5.3 = fmul float %mul226.5.3, %mul226.5.3 %div.i.5.3 = fdiv float 1.000000e+00, %mul.i.5.3, !fpmath !46 %sub.i.5.3 = fadd float %fabs.i.5.3, -1.000000e+00 %cmp.i583.5.3 = fcmp olt float %fabs.i.5.3, 1.250000e+00 %cond.i.5.3 = select i1 %cmp.i583.5.3, float %sub.i.5.3, float %div.i.5.3 %cmp2.i.5.3 = fcmp olt float %fabs.i.5.3, 8.437500e-01 %cond6.i.5.3 = select i1 %cmp2.i.5.3, float %mul.i.5.3, float %cond.i.5.3 %2892 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2893 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2892, float 0xC083EC8820000000) #5 %2894 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2893, float 0xC064145D40000000) #5 %2895 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2894, float 0xC031C20960000000) #5 %2896 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2895, float 0xBFE993BA80000000) #5 %2897 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2896, float 0xBF84341240000000) #5 %2898 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2899 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2898, float 0x40A3F219C0000000) #5 %2900 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2899, float 0x40A8FFB760000000) #5 %2901 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2900, float 0x409802EB20000000) #5 %2902 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2901, float 0x40745CAE20000000) #5 %2903 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2902, float 0x403E568B20000000) #5 %2904 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2905 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2904, float 0xC067135CE0000000) #5 %2906 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2905, float 0xC0644CB180000000) #5 %2907 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2906, float 0xC04F300AE0000000) #5 %2908 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2907, float 0xC0251E0440000000) #5 %2909 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2908, float 0xBFE63416E0000000) #5 %2910 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2909, float 0xBF84341260000000) #5 %2911 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2912 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2911, float 0x405B28A3E0000000) #5 %2913 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2912, float 0x407AD02160000000) #5 %2914 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2913, float 0x40842B1920000000) #5 %2915 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2914, float 0x407B290DE0000000) #5 %2916 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2915, float 0x4061350C60000000) #5 %2917 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2916, float 0x4033A6B9C0000000) #5 %cmp32.i.5.3 = fcmp olt float %fabs.i.5.3, 0x4006DB6DA0000000 %cond36.i.5.3 = select i1 %cmp32.i.5.3, float %2910, float %2897 %cond41.i.5.3 = select i1 %cmp32.i.5.3, float %2917, float %2903 %2918 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2919 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2918, float 0xBFBC639840000000) #5 %2920 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2919, float 0x3FD45FCA80000000) #5 %2921 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2920, float 0xBFD7D24100000000) #5 %2922 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2921, float 0x3FDA8D00A0000000) #5 %2923 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2922, float 0xBF6359B8C0000000) #5 %2924 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2925 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2924, float 0x3FC02660E0000000) #5 %2926 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2925, float 0x3FB2635CE0000000) #5 %2927 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2926, float 0x3FE14AF0A0000000) #5 %2928 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2927, float 0x3FBB3E6620000000) #5 %cond57.i.5.3 = select i1 %cmp.i583.5.3, float %2923, float %cond36.i.5.3 %cond62.i.5.3 = select i1 %cmp.i583.5.3, float %2928, float %cond41.i.5.3 %2929 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2930 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2929, float 0xBF9D2A51E0000000) #5 %2931 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2930, float 0xBFD4CD7D60000000) #5 %2932 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2931, float 0x3FC06EBA80000000) #5 %2933 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2934 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2933, float 0x3F74D022C0000000) #5 %2935 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2934, float 0x3FB0A54C60000000) #5 %2936 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2935, float 0x3FD97779C0000000) #5 %cond75.i.5.3 = select i1 %cmp2.i.5.3, float %2932, float %cond57.i.5.3 %cond80.i.5.3 = select i1 %cmp2.i.5.3, float %2936, float %cond62.i.5.3 %2937 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %cond80.i.5.3, float 1.000000e+00) #5 %div82.i.5.3 = fdiv float %cond75.i.5.3, %2937, !fpmath !46 %and83.i.5.3 = and i32 %and.i.5.3, -4096 %astype84.i.5.3 = bitcast i32 %and83.i.5.3 to float %sub85.i.5.3 = fsub float -0.000000e+00, %astype84.i.5.3 %2938 = tail call float @llvm.fmuladd.f32(float %sub85.i.5.3, float %astype84.i.5.3, float -5.625000e-01) #5 %cmp.i2.i.5.3 = fcmp olt float %2938, 0.000000e+00 %cond.i3.i.5.3 = select i1 %cmp.i2.i.5.3, float -5.000000e-01, float 5.000000e-01 %2939 = tail call float @llvm.fmuladd.f32(float %2938, float 0x3FF7154760000000, float %cond.i3.i.5.3) #5 %conv.i4.i.5.3 = fptosi float %2939 to i32 %conv1.i5.i.5.3 = sitofp i32 %conv.i4.i.5.3 to float %2940 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.5.3, float 0xBFE62E3000000000, float %2938) #5 %mul.i6.i.5.3 = fmul float %conv1.i5.i.5.3, 0xBEE2FEFA20000000 %add.i7.i.5.3 = fadd float %2940, %mul.i6.i.5.3 %mul3.i8.i.5.3 = fmul float %add.i7.i.5.3, %add.i7.i.5.3 %2941 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2942 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float %2941, float 0x3F11566AA0000000) #5 %2943 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float %2942, float 0xBF66C16C20000000) #5 %2944 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float %2943, float 0x3FC5555560000000) #5 %sub8.i9.i.5.3 = fsub float -0.000000e+00, %2944 %2945 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float %sub8.i9.i.5.3, float %add.i7.i.5.3) #5 %sub10.i10.i.5.3 = fsub float -0.000000e+00, %mul.i6.i.5.3 %mul11.i11.i.5.3 = fmul float %add.i7.i.5.3, %2945 %sub12.i12.i.5.3 = fsub float 2.000000e+00, %2945 %div.i13.i.5.3 = fdiv float %mul11.i11.i.5.3, %sub12.i12.i.5.3, !fpmath !46 %sub13.i14.i.5.3 = fsub float %sub10.i10.i.5.3, %div.i13.i.5.3 %sub14.i15.i.5.3 = fsub float %sub13.i14.i.5.3, %2940 %sub15.i16.i.5.3 = fsub float 1.000000e+00, %sub14.i15.i.5.3 %astype.i17.i.5.3 = bitcast float %sub15.i16.i.5.3 to i32 %shl.i18.i.5.3 = shl i32 %conv.i4.i.5.3, 23 %add16.i19.i.5.3 = add nsw i32 %astype.i17.i.5.3, %shl.i18.i.5.3 %astype17.i20.i.5.3 = bitcast i32 %add16.i19.i.5.3 to float %cmp18.i21.i.5.3 = fcmp olt float %2938, 0xC055D589E0000000 %cond20.i22.i.5.3 = select i1 %cmp18.i21.i.5.3, float 0.000000e+00, float %astype17.i20.i.5.3 %cmp21.i23.i.5.3 = fcmp olt float %2938, 0x40562E4300000000 %cond26.i24.i.5.3 = select i1 %cmp21.i23.i.5.3, float %cond20.i22.i.5.3, float 0x7FF0000000000000 %cmp.i.i25.i.5.3 = fcmp uno float %2938, 0.000000e+00 %cond31.i26.i.5.3 = select i1 %cmp.i.i25.i.5.3, float %2938, float %cond26.i24.i.5.3 %sub88.i.5.3 = fsub float %astype84.i.5.3, %fabs.i.5.3 %add.i584.5.3 = fadd float %fabs.i.5.3, %astype84.i.5.3 %2946 = tail call float @llvm.fmuladd.f32(float %sub88.i.5.3, float %add.i584.5.3, float %div82.i.5.3) #5 %cmp.i1.i.5.3 = fcmp olt float %2946, 0.000000e+00 %cond.i.i.5.3 = select i1 %cmp.i1.i.5.3, float -5.000000e-01, float 5.000000e-01 %2947 = tail call float @llvm.fmuladd.f32(float %2946, float 0x3FF7154760000000, float %cond.i.i.5.3) #5 %conv.i.i.5.3 = fptosi float %2947 to i32 %conv1.i.i.5.3 = sitofp i32 %conv.i.i.5.3 to float %2948 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.5.3, float 0xBFE62E3000000000, float %2946) #5 %mul.i.i.5.3 = fmul float %conv1.i.i.5.3, 0xBEE2FEFA20000000 %add.i.i.5.3 = fadd float %2948, %mul.i.i.5.3 %mul3.i.i.5.3 = fmul float %add.i.i.5.3, %add.i.i.5.3 %2949 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2950 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float %2949, float 0x3F11566AA0000000) #5 %2951 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float %2950, float 0xBF66C16C20000000) #5 %2952 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float %2951, float 0x3FC5555560000000) #5 %sub8.i.i.5.3 = fsub float -0.000000e+00, %2952 %2953 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float %sub8.i.i.5.3, float %add.i.i.5.3) #5 %sub10.i.i.5.3 = fsub float -0.000000e+00, %mul.i.i.5.3 %mul11.i.i.5.3 = fmul float %add.i.i.5.3, %2953 %sub12.i.i.5.3 = fsub float 2.000000e+00, %2953 %div.i.i.5.3 = fdiv float %mul11.i.i.5.3, %sub12.i.i.5.3, !fpmath !46 %sub13.i.i.5.3 = fsub float %sub10.i.i.5.3, %div.i.i.5.3 %sub14.i.i.5.3 = fsub float %sub13.i.i.5.3, %2948 %sub15.i.i.5.3 = fsub float 1.000000e+00, %sub14.i.i.5.3 %astype.i.i.5.3 = bitcast float %sub15.i.i.5.3 to i32 %shl.i.i.5.3 = shl i32 %conv.i.i.5.3, 23 %add16.i.i.5.3 = add nsw i32 %astype.i.i.5.3, %shl.i.i.5.3 %astype17.i.i.5.3 = bitcast i32 %add16.i.i.5.3 to float %cmp18.i.i.5.3 = fcmp olt float %2946, 0xC055D589E0000000 %cond20.i.i.5.3 = select i1 %cmp18.i.i.5.3, float 0.000000e+00, float %astype17.i.i.5.3 %cmp21.i.i.5.3 = fcmp olt float %2946, 0x40562E4300000000 %cond26.i.i.5.3 = select i1 %cmp21.i.i.5.3, float %cond20.i.i.5.3, float 0x7FF0000000000000 %cmp.i.i.i.5.3 = fcmp uno float %2946, 0.000000e+00 %cond31.i.i.5.3 = select i1 %cmp.i.i.i.5.3, float %2946, float %cond26.i.i.5.3 %mul91.i.5.3 = fmul float %cond31.i26.i.5.3, %cond31.i.i.5.3 %div92.i.5.3 = fdiv float %mul91.i.5.3, %fabs.i.5.3, !fpmath !46 %sub93.i.5.3 = fsub float 2.000000e+00, %div92.i.5.3 %cmp94.i.5.3 = fcmp olt float %mul226.5.3, 0.000000e+00 %cond98.i.5.3 = select i1 %cmp94.i.5.3, float %sub93.i.5.3, float %div92.i.5.3 %cmp99.i.5.3 = fcmp olt float %fabs.i.5.3, 2.800000e+01 %cond103.i.5.3 = select i1 %cmp99.i.5.3, float %cond98.i.5.3, float 0.000000e+00 %sub104.i.5.3 = fsub float 0x3FC3D4FA80000000, %div82.i.5.3 %add105.i.5.3 = fadd float %div82.i.5.3, 0x3FEB0AC160000000 %add106.i.5.3 = fadd float %add105.i.5.3, 1.000000e+00 %cond111.i.5.3 = select i1 %cmp94.i.5.3, float %add106.i.5.3, float %sub104.i.5.3 %cond116.i.5.3 = select i1 %cmp.i583.5.3, float %cond111.i.5.3, float %cond103.i.5.3 %sub117.i.5.3 = fadd float %mul226.5.3, -5.000000e-01 %2954 = tail call float @llvm.fmuladd.f32(float %mul226.5.3, float %div82.i.5.3, float %sub117.i.5.3) #5 %sub119.i.5.3 = fsub float 5.000000e-01, %2954 %cond124.i.5.3 = select i1 %cmp2.i.5.3, float %sub119.i.5.3, float %cond116.i.5.3 %cmp125.i.5.3 = fcmp olt float %mul226.5.3, -6.000000e+00 %cond129.i.5.3 = select i1 %cmp125.i.5.3, float 2.000000e+00, float %cond124.i.5.3 %cmp.i.i.5.3 = fcmp uno float %mul226.5.3, 0.000000e+00 %cond134.i.5.3 = select i1 %cmp.i.i.5.3, float %mul226.5.3, float %cond129.i.5.3 %mul229.5.3 = fmul float %cond.5.3, %nbparam_params_sh_ewald %neg230.5.3 = fsub float -0.000000e+00, %mul229.5.3 %2955 = tail call float @llvm.fmuladd.f32(float %div196.5.3, float %cond134.i.5.3, float %neg230.5.3) %2956 = tail call float @llvm.fmuladd.f32(float %mul217.5.3, float %2955, float %E_el.5.4.3) %splat.splatinsert.5.3 = insertelement <3 x float> undef, float %2891, i32 0 %splat.splat.5.3 = shufflevector <3 x float> %splat.splatinsert.5.3, <3 x float> undef, <3 x i32> zeroinitializer %mul235.5.3 = fmul <3 x float> %extractVec166.5.3, %splat.splat.5.3 %extractVec243.5.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.3, <4 x float> undef, <3 x i32> %sub244.5.3 = fsub <3 x float> %extractVec243.5.3, %mul235.5.3 %extractVec245.5.3 = shufflevector <3 x float> %sub244.5.3, <3 x float> undef, <4 x i32> %extractVec253.5.3 = shufflevector <4 x float> %fci_buf.sroa.52.7, <4 x float> undef, <3 x i32> %add254.5.3 = fadd <3 x float> %extractVec253.5.3, %mul235.5.3 %extractVec255.5.3 = shufflevector <3 x float> %add254.5.3, <3 x float> undef, <4 x i32> br label %if.end258.5.3 if.end258.5.3: ; preds = %if.then182.5.3, %if.then147.5.3, %if.end258.4.3 %fci_buf.sroa.52.8 = phi <4 x float> [ %fci_buf.sroa.52.7, %if.end258.4.3 ], [ %extractVec255.5.3, %if.then182.5.3 ], [ %fci_buf.sroa.52.7, %if.then147.5.3 ] %E_el.5.5.3 = phi float [ %E_el.5.4.3, %if.end258.4.3 ], [ %2956, %if.then182.5.3 ], [ %E_el.5.4.3, %if.then147.5.3 ] %E_lj.3.5.3 = phi float [ %E_lj.3.4.3, %if.end258.4.3 ], [ %add216.5.3, %if.then182.5.3 ], [ %E_lj.3.4.3, %if.then147.5.3 ] %fcj_buf.sroa.0.1.5.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.4.3, %if.end258.4.3 ], [ %extractVec245.5.3, %if.then182.5.3 ], [ %fcj_buf.sroa.0.1.4.3, %if.then147.5.3 ] %and145.6.3 = and i32 %64, 1073741824 %tobool146.6.3 = icmp eq i32 %and145.6.3, 0 br i1 %tobool146.6.3, label %if.end258.6.3, label %if.then147.6.3 if.then147.6.3: ; preds = %if.end258.5.3 %2957 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.6.3, align 16, !tbaa !36 %2958 = fsub <4 x float> %2957, %2390 %2959 = extractelement <4 x float> %2958, i32 0 %2960 = extractelement <4 x float> %2958, i32 1 %mul3.i.i589.6.3 = fmul float %2960, %2960 %2961 = tail call float @llvm.fmuladd.f32(float %2959, float %2959, float %mul3.i.i589.6.3) #5 %2962 = extractelement <4 x float> %2958, i32 2 %2963 = tail call float @llvm.fmuladd.f32(float %2962, float %2962, float %2961) #5 %and168.6.3 = and i32 %66, 1073741824 %tobool169.6.3 = icmp ne i32 %and168.6.3, 0 %cond.6.3 = select i1 %tobool169.6.3, float 1.000000e+00, float 0.000000e+00 %cmp174.6.3 = icmp eq i32 %50, %2388 %or.cond.6.3 = and i1 %cmp63, %cmp174.6.3 %not.or.cond.6.3 = xor i1 %or.cond.6.3, true %cmp176..6.3 = or i1 %cmp176, %not.or.cond.6.3 %conv178.6.3 = uitofp i1 %cmp176..6.3 to float %mul179.6.3 = fmul float %conv178.6.3, %nbparam_params_rcoulomb_sq %cmp180.6.3 = fcmp olt float %2963, %mul179.6.3 br i1 %cmp180.6.3, label %if.then182.6.3, label %if.end258.6.3 if.then182.6.3: ; preds = %if.then147.6.3 %extractVec166.6.3 = shufflevector <4 x float> %2958, <4 x float> undef, <3 x i32> %2964 = extractelement <4 x float> %2957, i32 3 %2965 = load i32, i32 addrspace(1)* %arrayidx183.6.3, align 4, !tbaa !41 %mul184.6.3 = mul nsw i32 %2965, %ntypes %add185.6.3 = add nsw i32 %mul184.6.3, %2392 %mul186.6.3 = shl nsw i32 %add185.6.3, 1 %2966 = sext i32 %mul186.6.3 to i64 %arrayidx187.6.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2966 %2967 = load float, float addrspace(2)* %arrayidx187.6.3, align 4, !tbaa !39 %add191.6.3 = or i32 %mul186.6.3, 1 %2968 = sext i32 %add191.6.3 to i64 %arrayidx192.6.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2968 %2969 = load float, float addrspace(2)* %arrayidx192.6.3, align 4, !tbaa !39 %sub193.6.3 = fsub float 1.000000e+00, %cond.6.3 %2970 = tail call float @llvm.fmuladd.f32(float %sub193.6.3, float 0x3D71979980000000, float %2963) %cmp.i.i587.6.3 = fcmp olt float %2970, 0.000000e+00 %call.i.i.6.3 = tail call float @llvm.sqrt.f32(float %2970) #6 %call.i.i.op.6.3 = fdiv float 1.000000e+00, %call.i.i.6.3 %div196.6.3 = select i1 %cmp.i.i587.6.3, float 0x7FF8000000000000, float %call.i.i.op.6.3 %mul197.6.3 = fmul float %div196.6.3, %div196.6.3 %mul198.6.3 = fmul float %mul197.6.3, %mul197.6.3 %mul199.6.3 = fmul float %mul197.6.3, %mul198.6.3 %mul200.6.3 = fmul float %cond.6.3, %mul199.6.3 %neg.6.3 = fsub float -0.000000e+00, %2967 %2971 = tail call float @llvm.fmuladd.f32(float %2969, float %mul200.6.3, float %neg.6.3) %mul202.6.3 = fmul float %mul200.6.3, %2971 %mul203.6.3 = fmul float %mul197.6.3, %mul202.6.3 %2972 = tail call float @llvm.fmuladd.f32(float %mul200.6.3, float %mul200.6.3, float %nbparam_params_repulsion_shift_cpot) %mul207.6.3 = fmul float %2972, %2969 %add211.6.3 = fadd float %mul200.6.3, %nbparam_params_dispersion_shift_cpot %mul212.6.3 = fmul float %add211.6.3, %2967 %mul213.6.3 = fmul float %mul212.6.3, 0x3FC5555560000000 %neg214.6.3 = fsub float -0.000000e+00, %mul213.6.3 %2973 = tail call float @llvm.fmuladd.f32(float %mul207.6.3, float 0x3FB5555540000000, float %neg214.6.3) %mul215.6.3 = fmul float %cond.6.3, %2973 %add216.6.3 = fadd float %E_lj.3.5.3, %mul215.6.3 %mul217.6.3 = fmul float %2391, %2964 %mul218.6.3 = fmul float %cond.6.3, %mul197.6.3 %mul220.6.3 = fmul float %mul, %2970 %mul.i585.6.3 = fmul float %mul220.6.3, %mul220.6.3 %2974 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.6.3, float 0x3FBDA79640000000) #5 %2975 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.6.3, float 0x3FE03C5780000000) #5 %2976 = tail call float @llvm.fmuladd.f32(float %2974, float %mul.i585.6.3, float 1.000000e+00) #5 %2977 = tail call float @llvm.fmuladd.f32(float %2975, float %mul220.6.3, float %2976) #5 %div.i586.6.3 = fdiv float 1.000000e+00, %2977, !fpmath !46 %2978 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.6.3, float 0xBF0BFF7260000000) #5 %2979 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.6.3, float 0x3F50794180000000) #5 %2980 = tail call float @llvm.fmuladd.f32(float %2978, float %mul.i585.6.3, float 0xBF93BDB200000000) #5 %2981 = tail call float @llvm.fmuladd.f32(float %2979, float %mul.i585.6.3, float 0x3FB1D5E760000000) #5 %2982 = tail call float @llvm.fmuladd.f32(float %2980, float %mul.i585.6.3, float 0xBFE81272E0000000) #5 %2983 = tail call float @llvm.fmuladd.f32(float %2981, float %mul220.6.3, float %2982) #5 %mul11.i.6.3 = fmul float %2983, %div.i586.6.3 %mul222.6.3 = fmul float %mul19, %mul11.i.6.3 %2984 = tail call float @llvm.fmuladd.f32(float %mul218.6.3, float %div196.6.3, float %mul222.6.3) %2985 = tail call float @llvm.fmuladd.f32(float %mul217.6.3, float %2984, float %mul203.6.3) %mul225.6.3 = fmul float %2970, %div196.6.3 %mul226.6.3 = fmul float %mul225.6.3, %nbparam_params_ewald_beta %fabs.i.6.3 = tail call float @llvm.fabs.f32(float %mul226.6.3) #5 %and.i.6.3 = bitcast float %fabs.i.6.3 to i32 %mul.i.6.3 = fmul float %mul226.6.3, %mul226.6.3 %div.i.6.3 = fdiv float 1.000000e+00, %mul.i.6.3, !fpmath !46 %sub.i.6.3 = fadd float %fabs.i.6.3, -1.000000e+00 %cmp.i583.6.3 = fcmp olt float %fabs.i.6.3, 1.250000e+00 %cond.i.6.3 = select i1 %cmp.i583.6.3, float %sub.i.6.3, float %div.i.6.3 %cmp2.i.6.3 = fcmp olt float %fabs.i.6.3, 8.437500e-01 %cond6.i.6.3 = select i1 %cmp2.i.6.3, float %mul.i.6.3, float %cond.i.6.3 %2986 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2987 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2986, float 0xC083EC8820000000) #5 %2988 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2987, float 0xC064145D40000000) #5 %2989 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2988, float 0xC031C20960000000) #5 %2990 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2989, float 0xBFE993BA80000000) #5 %2991 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2990, float 0xBF84341240000000) #5 %2992 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2993 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2992, float 0x40A3F219C0000000) #5 %2994 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2993, float 0x40A8FFB760000000) #5 %2995 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2994, float 0x409802EB20000000) #5 %2996 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2995, float 0x40745CAE20000000) #5 %2997 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2996, float 0x403E568B20000000) #5 %2998 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2999 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2998, float 0xC067135CE0000000) #5 %3000 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2999, float 0xC0644CB180000000) #5 %3001 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3000, float 0xC04F300AE0000000) #5 %3002 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3001, float 0xC0251E0440000000) #5 %3003 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3002, float 0xBFE63416E0000000) #5 %3004 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3003, float 0xBF84341260000000) #5 %3005 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %3006 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3005, float 0x405B28A3E0000000) #5 %3007 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3006, float 0x407AD02160000000) #5 %3008 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3007, float 0x40842B1920000000) #5 %3009 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3008, float 0x407B290DE0000000) #5 %3010 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3009, float 0x4061350C60000000) #5 %3011 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3010, float 0x4033A6B9C0000000) #5 %cmp32.i.6.3 = fcmp olt float %fabs.i.6.3, 0x4006DB6DA0000000 %cond36.i.6.3 = select i1 %cmp32.i.6.3, float %3004, float %2991 %cond41.i.6.3 = select i1 %cmp32.i.6.3, float %3011, float %2997 %3012 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %3013 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3012, float 0xBFBC639840000000) #5 %3014 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3013, float 0x3FD45FCA80000000) #5 %3015 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3014, float 0xBFD7D24100000000) #5 %3016 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3015, float 0x3FDA8D00A0000000) #5 %3017 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3016, float 0xBF6359B8C0000000) #5 %3018 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %3019 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3018, float 0x3FC02660E0000000) #5 %3020 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3019, float 0x3FB2635CE0000000) #5 %3021 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3020, float 0x3FE14AF0A0000000) #5 %3022 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3021, float 0x3FBB3E6620000000) #5 %cond57.i.6.3 = select i1 %cmp.i583.6.3, float %3017, float %cond36.i.6.3 %cond62.i.6.3 = select i1 %cmp.i583.6.3, float %3022, float %cond41.i.6.3 %3023 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %3024 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3023, float 0xBF9D2A51E0000000) #5 %3025 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3024, float 0xBFD4CD7D60000000) #5 %3026 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3025, float 0x3FC06EBA80000000) #5 %3027 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %3028 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3027, float 0x3F74D022C0000000) #5 %3029 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3028, float 0x3FB0A54C60000000) #5 %3030 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3029, float 0x3FD97779C0000000) #5 %cond75.i.6.3 = select i1 %cmp2.i.6.3, float %3026, float %cond57.i.6.3 %cond80.i.6.3 = select i1 %cmp2.i.6.3, float %3030, float %cond62.i.6.3 %3031 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %cond80.i.6.3, float 1.000000e+00) #5 %div82.i.6.3 = fdiv float %cond75.i.6.3, %3031, !fpmath !46 %and83.i.6.3 = and i32 %and.i.6.3, -4096 %astype84.i.6.3 = bitcast i32 %and83.i.6.3 to float %sub85.i.6.3 = fsub float -0.000000e+00, %astype84.i.6.3 %3032 = tail call float @llvm.fmuladd.f32(float %sub85.i.6.3, float %astype84.i.6.3, float -5.625000e-01) #5 %cmp.i2.i.6.3 = fcmp olt float %3032, 0.000000e+00 %cond.i3.i.6.3 = select i1 %cmp.i2.i.6.3, float -5.000000e-01, float 5.000000e-01 %3033 = tail call float @llvm.fmuladd.f32(float %3032, float 0x3FF7154760000000, float %cond.i3.i.6.3) #5 %conv.i4.i.6.3 = fptosi float %3033 to i32 %conv1.i5.i.6.3 = sitofp i32 %conv.i4.i.6.3 to float %3034 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.6.3, float 0xBFE62E3000000000, float %3032) #5 %mul.i6.i.6.3 = fmul float %conv1.i5.i.6.3, 0xBEE2FEFA20000000 %add.i7.i.6.3 = fadd float %3034, %mul.i6.i.6.3 %mul3.i8.i.6.3 = fmul float %add.i7.i.6.3, %add.i7.i.6.3 %3035 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %3036 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float %3035, float 0x3F11566AA0000000) #5 %3037 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float %3036, float 0xBF66C16C20000000) #5 %3038 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float %3037, float 0x3FC5555560000000) #5 %sub8.i9.i.6.3 = fsub float -0.000000e+00, %3038 %3039 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float %sub8.i9.i.6.3, float %add.i7.i.6.3) #5 %sub10.i10.i.6.3 = fsub float -0.000000e+00, %mul.i6.i.6.3 %mul11.i11.i.6.3 = fmul float %add.i7.i.6.3, %3039 %sub12.i12.i.6.3 = fsub float 2.000000e+00, %3039 %div.i13.i.6.3 = fdiv float %mul11.i11.i.6.3, %sub12.i12.i.6.3, !fpmath !46 %sub13.i14.i.6.3 = fsub float %sub10.i10.i.6.3, %div.i13.i.6.3 %sub14.i15.i.6.3 = fsub float %sub13.i14.i.6.3, %3034 %sub15.i16.i.6.3 = fsub float 1.000000e+00, %sub14.i15.i.6.3 %astype.i17.i.6.3 = bitcast float %sub15.i16.i.6.3 to i32 %shl.i18.i.6.3 = shl i32 %conv.i4.i.6.3, 23 %add16.i19.i.6.3 = add nsw i32 %astype.i17.i.6.3, %shl.i18.i.6.3 %astype17.i20.i.6.3 = bitcast i32 %add16.i19.i.6.3 to float %cmp18.i21.i.6.3 = fcmp olt float %3032, 0xC055D589E0000000 %cond20.i22.i.6.3 = select i1 %cmp18.i21.i.6.3, float 0.000000e+00, float %astype17.i20.i.6.3 %cmp21.i23.i.6.3 = fcmp olt float %3032, 0x40562E4300000000 %cond26.i24.i.6.3 = select i1 %cmp21.i23.i.6.3, float %cond20.i22.i.6.3, float 0x7FF0000000000000 %cmp.i.i25.i.6.3 = fcmp uno float %3032, 0.000000e+00 %cond31.i26.i.6.3 = select i1 %cmp.i.i25.i.6.3, float %3032, float %cond26.i24.i.6.3 %sub88.i.6.3 = fsub float %astype84.i.6.3, %fabs.i.6.3 %add.i584.6.3 = fadd float %fabs.i.6.3, %astype84.i.6.3 %3040 = tail call float @llvm.fmuladd.f32(float %sub88.i.6.3, float %add.i584.6.3, float %div82.i.6.3) #5 %cmp.i1.i.6.3 = fcmp olt float %3040, 0.000000e+00 %cond.i.i.6.3 = select i1 %cmp.i1.i.6.3, float -5.000000e-01, float 5.000000e-01 %3041 = tail call float @llvm.fmuladd.f32(float %3040, float 0x3FF7154760000000, float %cond.i.i.6.3) #5 %conv.i.i.6.3 = fptosi float %3041 to i32 %conv1.i.i.6.3 = sitofp i32 %conv.i.i.6.3 to float %3042 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.6.3, float 0xBFE62E3000000000, float %3040) #5 %mul.i.i.6.3 = fmul float %conv1.i.i.6.3, 0xBEE2FEFA20000000 %add.i.i.6.3 = fadd float %3042, %mul.i.i.6.3 %mul3.i.i.6.3 = fmul float %add.i.i.6.3, %add.i.i.6.3 %3043 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %3044 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float %3043, float 0x3F11566AA0000000) #5 %3045 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float %3044, float 0xBF66C16C20000000) #5 %3046 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float %3045, float 0x3FC5555560000000) #5 %sub8.i.i.6.3 = fsub float -0.000000e+00, %3046 %3047 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float %sub8.i.i.6.3, float %add.i.i.6.3) #5 %sub10.i.i.6.3 = fsub float -0.000000e+00, %mul.i.i.6.3 %mul11.i.i.6.3 = fmul float %add.i.i.6.3, %3047 %sub12.i.i.6.3 = fsub float 2.000000e+00, %3047 %div.i.i.6.3 = fdiv float %mul11.i.i.6.3, %sub12.i.i.6.3, !fpmath !46 %sub13.i.i.6.3 = fsub float %sub10.i.i.6.3, %div.i.i.6.3 %sub14.i.i.6.3 = fsub float %sub13.i.i.6.3, %3042 %sub15.i.i.6.3 = fsub float 1.000000e+00, %sub14.i.i.6.3 %astype.i.i.6.3 = bitcast float %sub15.i.i.6.3 to i32 %shl.i.i.6.3 = shl i32 %conv.i.i.6.3, 23 %add16.i.i.6.3 = add nsw i32 %astype.i.i.6.3, %shl.i.i.6.3 %astype17.i.i.6.3 = bitcast i32 %add16.i.i.6.3 to float %cmp18.i.i.6.3 = fcmp olt float %3040, 0xC055D589E0000000 %cond20.i.i.6.3 = select i1 %cmp18.i.i.6.3, float 0.000000e+00, float %astype17.i.i.6.3 %cmp21.i.i.6.3 = fcmp olt float %3040, 0x40562E4300000000 %cond26.i.i.6.3 = select i1 %cmp21.i.i.6.3, float %cond20.i.i.6.3, float 0x7FF0000000000000 %cmp.i.i.i.6.3 = fcmp uno float %3040, 0.000000e+00 %cond31.i.i.6.3 = select i1 %cmp.i.i.i.6.3, float %3040, float %cond26.i.i.6.3 %mul91.i.6.3 = fmul float %cond31.i26.i.6.3, %cond31.i.i.6.3 %div92.i.6.3 = fdiv float %mul91.i.6.3, %fabs.i.6.3, !fpmath !46 %sub93.i.6.3 = fsub float 2.000000e+00, %div92.i.6.3 %cmp94.i.6.3 = fcmp olt float %mul226.6.3, 0.000000e+00 %cond98.i.6.3 = select i1 %cmp94.i.6.3, float %sub93.i.6.3, float %div92.i.6.3 %cmp99.i.6.3 = fcmp olt float %fabs.i.6.3, 2.800000e+01 %cond103.i.6.3 = select i1 %cmp99.i.6.3, float %cond98.i.6.3, float 0.000000e+00 %sub104.i.6.3 = fsub float 0x3FC3D4FA80000000, %div82.i.6.3 %add105.i.6.3 = fadd float %div82.i.6.3, 0x3FEB0AC160000000 %add106.i.6.3 = fadd float %add105.i.6.3, 1.000000e+00 %cond111.i.6.3 = select i1 %cmp94.i.6.3, float %add106.i.6.3, float %sub104.i.6.3 %cond116.i.6.3 = select i1 %cmp.i583.6.3, float %cond111.i.6.3, float %cond103.i.6.3 %sub117.i.6.3 = fadd float %mul226.6.3, -5.000000e-01 %3048 = tail call float @llvm.fmuladd.f32(float %mul226.6.3, float %div82.i.6.3, float %sub117.i.6.3) #5 %sub119.i.6.3 = fsub float 5.000000e-01, %3048 %cond124.i.6.3 = select i1 %cmp2.i.6.3, float %sub119.i.6.3, float %cond116.i.6.3 %cmp125.i.6.3 = fcmp olt float %mul226.6.3, -6.000000e+00 %cond129.i.6.3 = select i1 %cmp125.i.6.3, float 2.000000e+00, float %cond124.i.6.3 %cmp.i.i.6.3 = fcmp uno float %mul226.6.3, 0.000000e+00 %cond134.i.6.3 = select i1 %cmp.i.i.6.3, float %mul226.6.3, float %cond129.i.6.3 %mul229.6.3 = fmul float %cond.6.3, %nbparam_params_sh_ewald %neg230.6.3 = fsub float -0.000000e+00, %mul229.6.3 %3049 = tail call float @llvm.fmuladd.f32(float %div196.6.3, float %cond134.i.6.3, float %neg230.6.3) %3050 = tail call float @llvm.fmuladd.f32(float %mul217.6.3, float %3049, float %E_el.5.5.3) %splat.splatinsert.6.3 = insertelement <3 x float> undef, float %2985, i32 0 %splat.splat.6.3 = shufflevector <3 x float> %splat.splatinsert.6.3, <3 x float> undef, <3 x i32> zeroinitializer %mul235.6.3 = fmul <3 x float> %extractVec166.6.3, %splat.splat.6.3 %extractVec243.6.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.3, <4 x float> undef, <3 x i32> %sub244.6.3 = fsub <3 x float> %extractVec243.6.3, %mul235.6.3 %extractVec245.6.3 = shufflevector <3 x float> %sub244.6.3, <3 x float> undef, <4 x i32> %extractVec253.6.3 = shufflevector <4 x float> %fci_buf.sroa.62.7, <4 x float> undef, <3 x i32> %add254.6.3 = fadd <3 x float> %extractVec253.6.3, %mul235.6.3 %extractVec255.6.3 = shufflevector <3 x float> %add254.6.3, <3 x float> undef, <4 x i32> br label %if.end258.6.3 if.end258.6.3: ; preds = %if.then182.6.3, %if.then147.6.3, %if.end258.5.3 %fci_buf.sroa.62.8 = phi <4 x float> [ %fci_buf.sroa.62.7, %if.end258.5.3 ], [ %extractVec255.6.3, %if.then182.6.3 ], [ %fci_buf.sroa.62.7, %if.then147.6.3 ] %E_el.5.6.3 = phi float [ %E_el.5.5.3, %if.end258.5.3 ], [ %3050, %if.then182.6.3 ], [ %E_el.5.5.3, %if.then147.6.3 ] %E_lj.3.6.3 = phi float [ %E_lj.3.5.3, %if.end258.5.3 ], [ %add216.6.3, %if.then182.6.3 ], [ %E_lj.3.5.3, %if.then147.6.3 ] %fcj_buf.sroa.0.1.6.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.5.3, %if.end258.5.3 ], [ %extractVec245.6.3, %if.then182.6.3 ], [ %fcj_buf.sroa.0.1.5.3, %if.then147.6.3 ] %tobool146.7.3 = icmp sgt i32 %64, -1 br i1 %tobool146.7.3, label %if.end258.7.3, label %if.then147.7.3 if.then147.7.3: ; preds = %if.end258.6.3 %3051 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154.7.3, align 16, !tbaa !36 %3052 = fsub <4 x float> %3051, %2390 %3053 = extractelement <4 x float> %3052, i32 0 %3054 = extractelement <4 x float> %3052, i32 1 %mul3.i.i589.7.3 = fmul float %3054, %3054 %3055 = tail call float @llvm.fmuladd.f32(float %3053, float %3053, float %mul3.i.i589.7.3) #5 %3056 = extractelement <4 x float> %3052, i32 2 %3057 = tail call float @llvm.fmuladd.f32(float %3056, float %3056, float %3055) #5 %tobool169.7.3 = icmp slt i32 %66, 0 %cond.7.3 = select i1 %tobool169.7.3, float 1.000000e+00, float 0.000000e+00 %cmp174.7.3 = icmp eq i32 %48, %2388 %or.cond.7.3 = and i1 %cmp63, %cmp174.7.3 %not.or.cond.7.3 = xor i1 %or.cond.7.3, true %cmp176..7.3 = or i1 %cmp176, %not.or.cond.7.3 %conv178.7.3 = uitofp i1 %cmp176..7.3 to float %mul179.7.3 = fmul float %conv178.7.3, %nbparam_params_rcoulomb_sq %cmp180.7.3 = fcmp olt float %3057, %mul179.7.3 br i1 %cmp180.7.3, label %if.then182.7.3, label %if.end258.7.3 if.then182.7.3: ; preds = %if.then147.7.3 %extractVec166.7.3 = shufflevector <4 x float> %3052, <4 x float> undef, <3 x i32> %3058 = extractelement <4 x float> %3051, i32 3 %3059 = load i32, i32 addrspace(1)* %arrayidx183.7.3, align 4, !tbaa !41 %mul184.7.3 = mul nsw i32 %3059, %ntypes %add185.7.3 = add nsw i32 %mul184.7.3, %2392 %mul186.7.3 = shl nsw i32 %add185.7.3, 1 %3060 = sext i32 %mul186.7.3 to i64 %arrayidx187.7.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %3060 %3061 = load float, float addrspace(2)* %arrayidx187.7.3, align 4, !tbaa !39 %add191.7.3 = or i32 %mul186.7.3, 1 %3062 = sext i32 %add191.7.3 to i64 %arrayidx192.7.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %3062 %3063 = load float, float addrspace(2)* %arrayidx192.7.3, align 4, !tbaa !39 %sub193.7.3 = fsub float 1.000000e+00, %cond.7.3 %3064 = tail call float @llvm.fmuladd.f32(float %sub193.7.3, float 0x3D71979980000000, float %3057) %cmp.i.i587.7.3 = fcmp olt float %3064, 0.000000e+00 %call.i.i.7.3 = tail call float @llvm.sqrt.f32(float %3064) #6 %call.i.i.op.7.3 = fdiv float 1.000000e+00, %call.i.i.7.3 %div196.7.3 = select i1 %cmp.i.i587.7.3, float 0x7FF8000000000000, float %call.i.i.op.7.3 %mul197.7.3 = fmul float %div196.7.3, %div196.7.3 %mul198.7.3 = fmul float %mul197.7.3, %mul197.7.3 %mul199.7.3 = fmul float %mul197.7.3, %mul198.7.3 %mul200.7.3 = fmul float %cond.7.3, %mul199.7.3 %neg.7.3 = fsub float -0.000000e+00, %3061 %3065 = tail call float @llvm.fmuladd.f32(float %3063, float %mul200.7.3, float %neg.7.3) %mul202.7.3 = fmul float %mul200.7.3, %3065 %mul203.7.3 = fmul float %mul197.7.3, %mul202.7.3 %3066 = tail call float @llvm.fmuladd.f32(float %mul200.7.3, float %mul200.7.3, float %nbparam_params_repulsion_shift_cpot) %mul207.7.3 = fmul float %3066, %3063 %add211.7.3 = fadd float %mul200.7.3, %nbparam_params_dispersion_shift_cpot %mul212.7.3 = fmul float %add211.7.3, %3061 %mul213.7.3 = fmul float %mul212.7.3, 0x3FC5555560000000 %neg214.7.3 = fsub float -0.000000e+00, %mul213.7.3 %3067 = tail call float @llvm.fmuladd.f32(float %mul207.7.3, float 0x3FB5555540000000, float %neg214.7.3) %mul215.7.3 = fmul float %cond.7.3, %3067 %add216.7.3 = fadd float %E_lj.3.6.3, %mul215.7.3 %mul217.7.3 = fmul float %2391, %3058 %mul218.7.3 = fmul float %cond.7.3, %mul197.7.3 %mul220.7.3 = fmul float %mul, %3064 %mul.i585.7.3 = fmul float %mul220.7.3, %mul220.7.3 %3068 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i585.7.3, float 0x3FBDA79640000000) #5 %3069 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i585.7.3, float 0x3FE03C5780000000) #5 %3070 = tail call float @llvm.fmuladd.f32(float %3068, float %mul.i585.7.3, float 1.000000e+00) #5 %3071 = tail call float @llvm.fmuladd.f32(float %3069, float %mul220.7.3, float %3070) #5 %div.i586.7.3 = fdiv float 1.000000e+00, %3071, !fpmath !46 %3072 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i585.7.3, float 0xBF0BFF7260000000) #5 %3073 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i585.7.3, float 0x3F50794180000000) #5 %3074 = tail call float @llvm.fmuladd.f32(float %3072, float %mul.i585.7.3, float 0xBF93BDB200000000) #5 %3075 = tail call float @llvm.fmuladd.f32(float %3073, float %mul.i585.7.3, float 0x3FB1D5E760000000) #5 %3076 = tail call float @llvm.fmuladd.f32(float %3074, float %mul.i585.7.3, float 0xBFE81272E0000000) #5 %3077 = tail call float @llvm.fmuladd.f32(float %3075, float %mul220.7.3, float %3076) #5 %mul11.i.7.3 = fmul float %3077, %div.i586.7.3 %mul222.7.3 = fmul float %mul19, %mul11.i.7.3 %3078 = tail call float @llvm.fmuladd.f32(float %mul218.7.3, float %div196.7.3, float %mul222.7.3) %3079 = tail call float @llvm.fmuladd.f32(float %mul217.7.3, float %3078, float %mul203.7.3) %mul225.7.3 = fmul float %3064, %div196.7.3 %mul226.7.3 = fmul float %mul225.7.3, %nbparam_params_ewald_beta %fabs.i.7.3 = tail call float @llvm.fabs.f32(float %mul226.7.3) #5 %and.i.7.3 = bitcast float %fabs.i.7.3 to i32 %mul.i.7.3 = fmul float %mul226.7.3, %mul226.7.3 %div.i.7.3 = fdiv float 1.000000e+00, %mul.i.7.3, !fpmath !46 %sub.i.7.3 = fadd float %fabs.i.7.3, -1.000000e+00 %cmp.i583.7.3 = fcmp olt float %fabs.i.7.3, 1.250000e+00 %cond.i.7.3 = select i1 %cmp.i583.7.3, float %sub.i.7.3, float %div.i.7.3 %cmp2.i.7.3 = fcmp olt float %fabs.i.7.3, 8.437500e-01 %cond6.i.7.3 = select i1 %cmp2.i.7.3, float %mul.i.7.3, float %cond.i.7.3 %3080 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %3081 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3080, float 0xC083EC8820000000) #5 %3082 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3081, float 0xC064145D40000000) #5 %3083 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3082, float 0xC031C20960000000) #5 %3084 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3083, float 0xBFE993BA80000000) #5 %3085 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3084, float 0xBF84341240000000) #5 %3086 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %3087 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3086, float 0x40A3F219C0000000) #5 %3088 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3087, float 0x40A8FFB760000000) #5 %3089 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3088, float 0x409802EB20000000) #5 %3090 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3089, float 0x40745CAE20000000) #5 %3091 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3090, float 0x403E568B20000000) #5 %3092 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %3093 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3092, float 0xC067135CE0000000) #5 %3094 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3093, float 0xC0644CB180000000) #5 %3095 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3094, float 0xC04F300AE0000000) #5 %3096 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3095, float 0xC0251E0440000000) #5 %3097 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3096, float 0xBFE63416E0000000) #5 %3098 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3097, float 0xBF84341260000000) #5 %3099 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %3100 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3099, float 0x405B28A3E0000000) #5 %3101 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3100, float 0x407AD02160000000) #5 %3102 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3101, float 0x40842B1920000000) #5 %3103 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3102, float 0x407B290DE0000000) #5 %3104 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3103, float 0x4061350C60000000) #5 %3105 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3104, float 0x4033A6B9C0000000) #5 %cmp32.i.7.3 = fcmp olt float %fabs.i.7.3, 0x4006DB6DA0000000 %cond36.i.7.3 = select i1 %cmp32.i.7.3, float %3098, float %3085 %cond41.i.7.3 = select i1 %cmp32.i.7.3, float %3105, float %3091 %3106 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %3107 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3106, float 0xBFBC639840000000) #5 %3108 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3107, float 0x3FD45FCA80000000) #5 %3109 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3108, float 0xBFD7D24100000000) #5 %3110 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3109, float 0x3FDA8D00A0000000) #5 %3111 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3110, float 0xBF6359B8C0000000) #5 %3112 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %3113 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3112, float 0x3FC02660E0000000) #5 %3114 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3113, float 0x3FB2635CE0000000) #5 %3115 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3114, float 0x3FE14AF0A0000000) #5 %3116 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3115, float 0x3FBB3E6620000000) #5 %cond57.i.7.3 = select i1 %cmp.i583.7.3, float %3111, float %cond36.i.7.3 %cond62.i.7.3 = select i1 %cmp.i583.7.3, float %3116, float %cond41.i.7.3 %3117 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %3118 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3117, float 0xBF9D2A51E0000000) #5 %3119 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3118, float 0xBFD4CD7D60000000) #5 %3120 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3119, float 0x3FC06EBA80000000) #5 %3121 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %3122 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3121, float 0x3F74D022C0000000) #5 %3123 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3122, float 0x3FB0A54C60000000) #5 %3124 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3123, float 0x3FD97779C0000000) #5 %cond75.i.7.3 = select i1 %cmp2.i.7.3, float %3120, float %cond57.i.7.3 %cond80.i.7.3 = select i1 %cmp2.i.7.3, float %3124, float %cond62.i.7.3 %3125 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %cond80.i.7.3, float 1.000000e+00) #5 %div82.i.7.3 = fdiv float %cond75.i.7.3, %3125, !fpmath !46 %and83.i.7.3 = and i32 %and.i.7.3, -4096 %astype84.i.7.3 = bitcast i32 %and83.i.7.3 to float %sub85.i.7.3 = fsub float -0.000000e+00, %astype84.i.7.3 %3126 = tail call float @llvm.fmuladd.f32(float %sub85.i.7.3, float %astype84.i.7.3, float -5.625000e-01) #5 %cmp.i2.i.7.3 = fcmp olt float %3126, 0.000000e+00 %cond.i3.i.7.3 = select i1 %cmp.i2.i.7.3, float -5.000000e-01, float 5.000000e-01 %3127 = tail call float @llvm.fmuladd.f32(float %3126, float 0x3FF7154760000000, float %cond.i3.i.7.3) #5 %conv.i4.i.7.3 = fptosi float %3127 to i32 %conv1.i5.i.7.3 = sitofp i32 %conv.i4.i.7.3 to float %3128 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.7.3, float 0xBFE62E3000000000, float %3126) #5 %mul.i6.i.7.3 = fmul float %conv1.i5.i.7.3, 0xBEE2FEFA20000000 %add.i7.i.7.3 = fadd float %3128, %mul.i6.i.7.3 %mul3.i8.i.7.3 = fmul float %add.i7.i.7.3, %add.i7.i.7.3 %3129 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %3130 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float %3129, float 0x3F11566AA0000000) #5 %3131 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float %3130, float 0xBF66C16C20000000) #5 %3132 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float %3131, float 0x3FC5555560000000) #5 %sub8.i9.i.7.3 = fsub float -0.000000e+00, %3132 %3133 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float %sub8.i9.i.7.3, float %add.i7.i.7.3) #5 %sub10.i10.i.7.3 = fsub float -0.000000e+00, %mul.i6.i.7.3 %mul11.i11.i.7.3 = fmul float %add.i7.i.7.3, %3133 %sub12.i12.i.7.3 = fsub float 2.000000e+00, %3133 %div.i13.i.7.3 = fdiv float %mul11.i11.i.7.3, %sub12.i12.i.7.3, !fpmath !46 %sub13.i14.i.7.3 = fsub float %sub10.i10.i.7.3, %div.i13.i.7.3 %sub14.i15.i.7.3 = fsub float %sub13.i14.i.7.3, %3128 %sub15.i16.i.7.3 = fsub float 1.000000e+00, %sub14.i15.i.7.3 %astype.i17.i.7.3 = bitcast float %sub15.i16.i.7.3 to i32 %shl.i18.i.7.3 = shl i32 %conv.i4.i.7.3, 23 %add16.i19.i.7.3 = add nsw i32 %astype.i17.i.7.3, %shl.i18.i.7.3 %astype17.i20.i.7.3 = bitcast i32 %add16.i19.i.7.3 to float %cmp18.i21.i.7.3 = fcmp olt float %3126, 0xC055D589E0000000 %cond20.i22.i.7.3 = select i1 %cmp18.i21.i.7.3, float 0.000000e+00, float %astype17.i20.i.7.3 %cmp21.i23.i.7.3 = fcmp olt float %3126, 0x40562E4300000000 %cond26.i24.i.7.3 = select i1 %cmp21.i23.i.7.3, float %cond20.i22.i.7.3, float 0x7FF0000000000000 %cmp.i.i25.i.7.3 = fcmp uno float %3126, 0.000000e+00 %cond31.i26.i.7.3 = select i1 %cmp.i.i25.i.7.3, float %3126, float %cond26.i24.i.7.3 %sub88.i.7.3 = fsub float %astype84.i.7.3, %fabs.i.7.3 %add.i584.7.3 = fadd float %fabs.i.7.3, %astype84.i.7.3 %3134 = tail call float @llvm.fmuladd.f32(float %sub88.i.7.3, float %add.i584.7.3, float %div82.i.7.3) #5 %cmp.i1.i.7.3 = fcmp olt float %3134, 0.000000e+00 %cond.i.i.7.3 = select i1 %cmp.i1.i.7.3, float -5.000000e-01, float 5.000000e-01 %3135 = tail call float @llvm.fmuladd.f32(float %3134, float 0x3FF7154760000000, float %cond.i.i.7.3) #5 %conv.i.i.7.3 = fptosi float %3135 to i32 %conv1.i.i.7.3 = sitofp i32 %conv.i.i.7.3 to float %3136 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.7.3, float 0xBFE62E3000000000, float %3134) #5 %mul.i.i.7.3 = fmul float %conv1.i.i.7.3, 0xBEE2FEFA20000000 %add.i.i.7.3 = fadd float %3136, %mul.i.i.7.3 %mul3.i.i.7.3 = fmul float %add.i.i.7.3, %add.i.i.7.3 %3137 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %3138 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float %3137, float 0x3F11566AA0000000) #5 %3139 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float %3138, float 0xBF66C16C20000000) #5 %3140 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float %3139, float 0x3FC5555560000000) #5 %sub8.i.i.7.3 = fsub float -0.000000e+00, %3140 %3141 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float %sub8.i.i.7.3, float %add.i.i.7.3) #5 %sub10.i.i.7.3 = fsub float -0.000000e+00, %mul.i.i.7.3 %mul11.i.i.7.3 = fmul float %add.i.i.7.3, %3141 %sub12.i.i.7.3 = fsub float 2.000000e+00, %3141 %div.i.i.7.3 = fdiv float %mul11.i.i.7.3, %sub12.i.i.7.3, !fpmath !46 %sub13.i.i.7.3 = fsub float %sub10.i.i.7.3, %div.i.i.7.3 %sub14.i.i.7.3 = fsub float %sub13.i.i.7.3, %3136 %sub15.i.i.7.3 = fsub float 1.000000e+00, %sub14.i.i.7.3 %astype.i.i.7.3 = bitcast float %sub15.i.i.7.3 to i32 %shl.i.i.7.3 = shl i32 %conv.i.i.7.3, 23 %add16.i.i.7.3 = add nsw i32 %astype.i.i.7.3, %shl.i.i.7.3 %astype17.i.i.7.3 = bitcast i32 %add16.i.i.7.3 to float %cmp18.i.i.7.3 = fcmp olt float %3134, 0xC055D589E0000000 %cond20.i.i.7.3 = select i1 %cmp18.i.i.7.3, float 0.000000e+00, float %astype17.i.i.7.3 %cmp21.i.i.7.3 = fcmp olt float %3134, 0x40562E4300000000 %cond26.i.i.7.3 = select i1 %cmp21.i.i.7.3, float %cond20.i.i.7.3, float 0x7FF0000000000000 %cmp.i.i.i.7.3 = fcmp uno float %3134, 0.000000e+00 %cond31.i.i.7.3 = select i1 %cmp.i.i.i.7.3, float %3134, float %cond26.i.i.7.3 %mul91.i.7.3 = fmul float %cond31.i26.i.7.3, %cond31.i.i.7.3 %div92.i.7.3 = fdiv float %mul91.i.7.3, %fabs.i.7.3, !fpmath !46 %sub93.i.7.3 = fsub float 2.000000e+00, %div92.i.7.3 %cmp94.i.7.3 = fcmp olt float %mul226.7.3, 0.000000e+00 %cond98.i.7.3 = select i1 %cmp94.i.7.3, float %sub93.i.7.3, float %div92.i.7.3 %cmp99.i.7.3 = fcmp olt float %fabs.i.7.3, 2.800000e+01 %cond103.i.7.3 = select i1 %cmp99.i.7.3, float %cond98.i.7.3, float 0.000000e+00 %sub104.i.7.3 = fsub float 0x3FC3D4FA80000000, %div82.i.7.3 %add105.i.7.3 = fadd float %div82.i.7.3, 0x3FEB0AC160000000 %add106.i.7.3 = fadd float %add105.i.7.3, 1.000000e+00 %cond111.i.7.3 = select i1 %cmp94.i.7.3, float %add106.i.7.3, float %sub104.i.7.3 %cond116.i.7.3 = select i1 %cmp.i583.7.3, float %cond111.i.7.3, float %cond103.i.7.3 %sub117.i.7.3 = fadd float %mul226.7.3, -5.000000e-01 %3142 = tail call float @llvm.fmuladd.f32(float %mul226.7.3, float %div82.i.7.3, float %sub117.i.7.3) #5 %sub119.i.7.3 = fsub float 5.000000e-01, %3142 %cond124.i.7.3 = select i1 %cmp2.i.7.3, float %sub119.i.7.3, float %cond116.i.7.3 %cmp125.i.7.3 = fcmp olt float %mul226.7.3, -6.000000e+00 %cond129.i.7.3 = select i1 %cmp125.i.7.3, float 2.000000e+00, float %cond124.i.7.3 %cmp.i.i.7.3 = fcmp uno float %mul226.7.3, 0.000000e+00 %cond134.i.7.3 = select i1 %cmp.i.i.7.3, float %mul226.7.3, float %cond129.i.7.3 %mul229.7.3 = fmul float %cond.7.3, %nbparam_params_sh_ewald %neg230.7.3 = fsub float -0.000000e+00, %mul229.7.3 %3143 = tail call float @llvm.fmuladd.f32(float %div196.7.3, float %cond134.i.7.3, float %neg230.7.3) %3144 = tail call float @llvm.fmuladd.f32(float %mul217.7.3, float %3143, float %E_el.5.6.3) %splat.splatinsert.7.3 = insertelement <3 x float> undef, float %3079, i32 0 %splat.splat.7.3 = shufflevector <3 x float> %splat.splatinsert.7.3, <3 x float> undef, <3 x i32> zeroinitializer %mul235.7.3 = fmul <3 x float> %extractVec166.7.3, %splat.splat.7.3 %extractVec243.7.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.3, <4 x float> undef, <3 x i32> %sub244.7.3 = fsub <3 x float> %extractVec243.7.3, %mul235.7.3 %extractVec245.7.3 = shufflevector <3 x float> %sub244.7.3, <3 x float> undef, <4 x i32> %extractVec253.7.3 = shufflevector <4 x float> %fci_buf.sroa.72.8, <4 x float> undef, <3 x i32> %add254.7.3 = fadd <3 x float> %extractVec253.7.3, %mul235.7.3 %extractVec255.7.3 = shufflevector <3 x float> %add254.7.3, <3 x float> undef, <4 x i32> br label %if.end258.7.3 if.end258.7.3: ; preds = %if.then182.7.3, %if.then147.7.3, %if.end258.6.3 %fci_buf.sroa.72.9 = phi <4 x float> [ %fci_buf.sroa.72.8, %if.end258.6.3 ], [ %extractVec255.7.3, %if.then182.7.3 ], [ %fci_buf.sroa.72.8, %if.then147.7.3 ] %E_el.5.7.3 = phi float [ %E_el.5.6.3, %if.end258.6.3 ], [ %3144, %if.then182.7.3 ], [ %E_el.5.6.3, %if.then147.7.3 ] %E_lj.3.7.3 = phi float [ %E_lj.3.6.3, %if.end258.6.3 ], [ %add216.7.3, %if.then182.7.3 ], [ %E_lj.3.6.3, %if.then147.7.3 ] %fcj_buf.sroa.0.1.7.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.3, %if.end258.6.3 ], [ %extractVec245.7.3, %if.then182.7.3 ], [ %fcj_buf.sroa.0.1.6.3, %if.then147.7.3 ] %3145 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 0 store float %3145, float addrspace(3)* %arrayidx263, align 4, !tbaa !39 %3146 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 1 store float %3146, float addrspace(3)* %arrayidx265, align 4, !tbaa !39 %3147 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 2 store float %3147, 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.3) br label %for.inc273 } ; Function Attrs: nounwind define void @nbnxn_kernel_ElecEwTwinCut_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 %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.i594 = tail call i32 @llvm.r600.read.local.size.x() #2 %mul27 = mul i32 %x.i594, %y.i %add = add i32 %mul27, %x.i %x.i595 = 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.i595 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_idx346 = 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_idx346, align 4 %nb_sci.sroa.11.0..sroa_idx354 = 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_idx354, align 4 %nb_sci.sroa.12.0..sroa_idx356 = 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_idx356, align 4 %mul33 = shl nsw i32 %nb_sci.sroa.0.0.copyload, 3 %add34 = add i32 %mul33, %y.i %mul35 = shl i32 %add34, 3 %add36 = add i32 %mul35, %x.i %4 = sext i32 %add36 to i64 %arrayidx37 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %4 %5 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx37, align 16, !tbaa !36 %mul38 = mul nsw i32 %nb_sci.sroa.4.0.copyload, 3 %6 = sext i32 %mul38 to i64 %arrayidx39 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %6 %7 = load float, float addrspace(1)* %arrayidx39, align 4, !tbaa !39 %vecinit = insertelement <4 x float> undef, float %7, i32 0 %add42 = add nsw i32 %mul38, 1 %8 = sext i32 %add42 to i64 %arrayidx43 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %8 %9 = load float, float addrspace(1)* %arrayidx43, align 4, !tbaa !39 %vecinit44 = insertelement <4 x float> %vecinit, float %9, i32 1 %add47 = add nsw i32 %mul38, 2 %10 = sext i32 %add47 to i64 %arrayidx48 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %10 %11 = load float, float addrspace(1)* %arrayidx48, align 4, !tbaa !39 %vecinit49 = insertelement <4 x float> %vecinit44, float %11, i32 2 %vecinit50 = insertelement <4 x float> %vecinit49, float 0.000000e+00, i32 3 %add51 = fadd <4 x float> %5, %vecinit50 %12 = extractelement <4 x float> %add51, i32 3 %mul53 = fmul float %12, %nbparam_params_epsfac %13 = insertelement <4 x float> %add51, float %mul53, i32 3 %mul54 = shl nuw nsw i32 %y.i, 3 %add55 = add nuw nsw i32 %mul54, %x.i %arrayidx56 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add55 store <4 x float> %13, <4 x float> addrspace(3)* %arrayidx56, 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.ptr31 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 192 %arrayidx60593 = getelementptr inbounds float, float addrspace(3)* %add.ptr31, i32 %div %arrayidx60 = bitcast float addrspace(3)* %arrayidx60593 to i32 addrspace(3)* store volatile i32 0, i32 addrspace(3)* %arrayidx60, align 4, !tbaa !41 br label %if.end if.end: ; preds = %entry, %if.then tail call void @llvm.amdgcn.s.barrier() #5 %cmp65 = icmp eq i32 %nb_sci.sroa.4.0.copyload, 22 br i1 %cmp65, label %land.lhs.true, label %for.cond91.preheader land.lhs.true: ; preds = %if.end %16 = sext i32 %nb_sci.sroa.11.0.copyload to i64 %arrayidx69 = 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)* %arrayidx69, align 4, !tbaa !41 %cmp71 = icmp eq i32 %17, %mul33 br i1 %cmp71, label %for.body77.preheader, label %for.cond91.preheader for.body77.preheader: ; preds = %land.lhs.true %arrayidx80 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %x.i %18 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80, 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) %add79.1 = add nuw nsw i32 %x.i, 8 %arrayidx80.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.1 %21 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.1, align 16 %22 = extractelement <4 x float> %21, i32 3 %23 = tail call float @llvm.fmuladd.f32(float %22, float %22, float %20) %add79.2 = add nuw nsw i32 %x.i, 16 %arrayidx80.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.2 %24 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.2, align 16 %25 = extractelement <4 x float> %24, i32 3 %26 = tail call float @llvm.fmuladd.f32(float %25, float %25, float %23) %add79.3 = add nuw nsw i32 %x.i, 24 %arrayidx80.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.3 %27 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.3, align 16 %28 = extractelement <4 x float> %27, i32 3 %29 = tail call float @llvm.fmuladd.f32(float %28, float %28, float %26) %add79.4 = add nuw nsw i32 %x.i, 32 %arrayidx80.4 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.4 %30 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.4, align 16 %31 = extractelement <4 x float> %30, i32 3 %32 = tail call float @llvm.fmuladd.f32(float %31, float %31, float %29) %add79.5 = add nuw nsw i32 %x.i, 40 %arrayidx80.5 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.5 %33 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.5, align 16 %34 = extractelement <4 x float> %33, i32 3 %35 = tail call float @llvm.fmuladd.f32(float %34, float %34, float %32) %add79.6 = add nuw nsw i32 %x.i, 48 %arrayidx80.6 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.6 %36 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.6, align 16 %37 = extractelement <4 x float> %36, i32 3 %38 = tail call float @llvm.fmuladd.f32(float %37, float %37, float %35) %add79.7 = add nuw nsw i32 %x.i, 56 %arrayidx80.7 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.7 %39 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.7, align 16 %40 = extractelement <4 x float> %39, i32 3 %41 = tail call float @llvm.fmuladd.f32(float %40, float %40, float %38) %mul86 = fmul float %nbparam_params_epsfac, 8.000000e+00 %div87 = fdiv float %41, %mul86, !fpmath !46 %mul88 = fmul float %nbparam_params_ewald_beta, 0xBFE20DD760000000 %mul89 = fmul float %mul88, %div87 br label %for.cond91.preheader for.cond91.preheader: ; preds = %for.body77.preheader, %land.lhs.true, %if.end %E_el.2.ph = phi float [ 0.000000e+00, %if.end ], [ 0.000000e+00, %land.lhs.true ], [ %mul89, %for.body77.preheader ] %cmp92612 = icmp slt i32 %nb_sci.sroa.11.0.copyload, %nb_sci.sroa.12.0.copyload br i1 %cmp92612, label %for.body94.lr.ph, label %for.cond91.preheader.for.end282_crit_edge for.cond91.preheader.for.end282_crit_edge: ; preds = %for.cond91.preheader %.pre1133 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %.pre1134 = add i32 %add, 64 %.pre1135 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre1134 %.pre1136 = add i32 %add, 128 %.pre1137 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre1136 %.pre = shl i32 %nb_sci.sroa.0.0.copyload, 6 %.pre1179 = add i32 %.pre, %x.i %.pre1180 = or i32 %.pre, 8 %.pre1181 = add i32 %.pre1180, %x.i %.pre1182 = or i32 %.pre, 16 %.pre1183 = add i32 %.pre1182, %x.i %.pre1184 = or i32 %.pre, 24 %.pre1185 = add i32 %.pre1184, %x.i %.pre1186 = or i32 %.pre, 32 %.pre1187 = add i32 %.pre1186, %x.i %.pre1188 = or i32 %.pre, 40 %.pre1189 = add i32 %.pre1188, %x.i %.pre1190 = or i32 %.pre, 48 %.pre1191 = add i32 %.pre1190, %x.i %.pre1192 = or i32 %.pre, 56 %.pre1193 = add i32 %.pre1192, %x.i br label %for.end282 for.body94.lr.ph: ; preds = %for.cond91.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 %cmp110 = icmp ult i32 %x.i, 4 %or.cond326 = and i1 %cmp110, %45 %46 = zext i32 %x.i to i64 %add118 = add nuw nsw i32 %y.i, %x.i %arrayidx119 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add118 %mul133 = and i32 %y.i, 4 %cmp178 = icmp ugt i32 %y.i, %x.i %arrayidx270 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %add271 = add i32 %add, 64 %arrayidx272 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add271 %add273 = add i32 %add, 128 %arrayidx274 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add273 %47 = sext i32 %nb_sci.sroa.11.0.copyload to i64 %add135.3 = or i32 %mul133, 3 %arrayidx136.3 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add135.3 %48 = or i32 %mul33, 7 %add155.7.3 = add nuw nsw i32 %x.i, 56 %arrayidx156.7.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add155.7.3 %add151.7.3 = shl i32 %nb_sci.sroa.0.0.copyload, 6 %mul152.7.3 = or i32 %add151.7.3, 56 %add153.7.3 = add i32 %mul152.7.3, %x.i %49 = sext i32 %add153.7.3 to i64 %arrayidx185.7.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %49 %50 = or i32 %mul33, 6 %add155.6.3 = add nuw nsw i32 %x.i, 48 %arrayidx156.6.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add155.6.3 %mul152.6.3 = or i32 %add151.7.3, 48 %add153.6.3 = add i32 %mul152.6.3, %x.i %51 = sext i32 %add153.6.3 to i64 %arrayidx185.6.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %51 %52 = or i32 %mul33, 5 %add155.5.3 = add nuw nsw i32 %x.i, 40 %arrayidx156.5.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add155.5.3 %mul152.5.3 = or i32 %add151.7.3, 40 %add153.5.3 = add i32 %mul152.5.3, %x.i %53 = sext i32 %add153.5.3 to i64 %arrayidx185.5.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %53 %54 = or i32 %mul33, 4 %add155.4.3 = add nuw nsw i32 %x.i, 32 %arrayidx156.4.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add155.4.3 %mul152.4.3 = or i32 %add151.7.3, 32 %add153.4.3 = add i32 %mul152.4.3, %x.i %55 = sext i32 %add153.4.3 to i64 %arrayidx185.4.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %55 %56 = or i32 %mul33, 3 %add155.3.3 = add nuw nsw i32 %x.i, 24 %arrayidx156.3.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add155.3.3 %mul152.3.3 = or i32 %add151.7.3, 24 %add153.3.3 = add i32 %mul152.3.3, %x.i %57 = sext i32 %add153.3.3 to i64 %arrayidx185.3.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %57 %58 = or i32 %mul33, 2 %add155.2.3 = add nuw nsw i32 %x.i, 16 %arrayidx156.2.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add155.2.3 %mul152.2.3 = or i32 %add151.7.3, 16 %add153.2.3 = add i32 %mul152.2.3, %x.i %59 = sext i32 %add153.2.3 to i64 %arrayidx185.2.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %59 %60 = or i32 %mul33, 1 %add155.1.3 = add nuw nsw i32 %x.i, 8 %arrayidx156.1.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add155.1.3 %mul152.1.3 = or i32 %add151.7.3, 8 %add153.1.3 = add i32 %mul152.1.3, %x.i %61 = sext i32 %add153.1.3 to i64 %arrayidx185.1.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %61 %arrayidx156.3960 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %x.i %add153.3975 = add i32 %add151.7.3, %x.i %62 = sext i32 %add153.3975 to i64 %arrayidx185.3976 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %62 %add135.2 = or i32 %mul133, 2 %arrayidx136.2 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add135.2 %add135.1 = or i32 %mul133, 1 %arrayidx136.1 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %add135.1 %arrayidx136 = getelementptr inbounds i32, i32 addrspace(3)* %1, i32 %mul133 br label %for.body94 for.body94: ; preds = %for.inc280, %for.body94.lr.ph %fci_buf.sroa.72.0 = phi <4 x float> [ , %for.body94.lr.ph ], [ %fci_buf.sroa.72.2, %for.inc280 ] %fci_buf.sroa.62.0 = phi <4 x float> [ , %for.body94.lr.ph ], [ %fci_buf.sroa.62.2, %for.inc280 ] %fci_buf.sroa.52.0 = phi <4 x float> [ , %for.body94.lr.ph ], [ %fci_buf.sroa.52.2, %for.inc280 ] %fci_buf.sroa.42.0 = phi <4 x float> [ , %for.body94.lr.ph ], [ %fci_buf.sroa.42.2, %for.inc280 ] %fci_buf.sroa.32.0 = phi <4 x float> [ , %for.body94.lr.ph ], [ %fci_buf.sroa.32.2, %for.inc280 ] %fci_buf.sroa.22.0 = phi <4 x float> [ , %for.body94.lr.ph ], [ %fci_buf.sroa.22.2, %for.inc280 ] %fci_buf.sroa.12.0 = phi <4 x float> [ , %for.body94.lr.ph ], [ %fci_buf.sroa.12.2, %for.inc280 ] %fci_buf.sroa.0.0 = phi <4 x float> [ , %for.body94.lr.ph ], [ %fci_buf.sroa.0.3, %for.inc280 ] %indvars.iv = phi i64 [ %47, %for.body94.lr.ph ], [ %indvars.iv.next, %for.inc280 ] %E_lj.0614 = phi float [ 0.000000e+00, %for.body94.lr.ph ], [ %E_lj.5, %for.inc280 ] %E_el.2613 = phi float [ %E_el.2.ph, %for.body94.lr.ph ], [ %E_el.7, %for.inc280 ] %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 %imask100 = 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)* %imask100, align 4, !tbaa !45 %65 = sext i32 %63 to i64 %arrayidx102 = 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)* %arrayidx102, align 4, !tbaa !41 %tobool = icmp eq i32 %64, 0 br i1 %tobool, label %for.inc280, label %if.then103 if.then103: ; preds = %for.body94 br i1 %or.cond326, label %if.then112, label %for.body124.preheader if.then112: ; preds = %if.then103 %arrayidx115 = 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)* %arrayidx115, align 4, !tbaa !41 store i32 %67, i32 addrspace(3)* %arrayidx119, align 4, !tbaa !41 br label %for.body124.preheader for.body124.preheader: ; preds = %if.then103, %if.then112 %and126 = and i32 %64, 255 %tobool127 = icmp eq i32 %and126, 0 br i1 %tobool127, label %for.inc276, label %if.then128 if.then128: ; preds = %for.body124.preheader %68 = load i32, i32 addrspace(3)* %arrayidx136, align 4, !tbaa !41 %mul137 = shl nsw i32 %68, 3 %add138 = add i32 %mul137, %y.i %69 = sext i32 %add138 to i64 %arrayidx139 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %69 %70 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx139, align 16, !tbaa !36 %71 = extractelement <4 x float> %70, i32 3 %arrayidx141 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %69 %72 = load i32, i32 addrspace(1)* %arrayidx141, align 4, !tbaa !41 %and147 = and i32 %64, 1 %tobool148 = icmp eq i32 %and147, 0 br i1 %tobool148, label %if.end265, label %if.then149 if.then149: ; preds = %if.then128 %73 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.3960, 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.i602 = fmul float %76, %76 %77 = tail call float @llvm.fmuladd.f32(float %75, float %75, float %mul3.i.i602) #5 %78 = extractelement <4 x float> %74, i32 2 %79 = tail call float @llvm.fmuladd.f32(float %78, float %78, float %77) #5 %and170 = and i32 %66, 1 %tobool171 = icmp ne i32 %and170, 0 %cond = select i1 %tobool171, float 1.000000e+00, float 0.000000e+00 %cmp176 = icmp eq i32 %mul33, %68 %or.cond = and i1 %cmp65, %cmp176 %not.or.cond = xor i1 %or.cond, true %cmp178. = or i1 %cmp178, %not.or.cond %conv180 = uitofp i1 %cmp178. to float %mul181 = fmul float %conv180, %nbparam_params_rcoulomb_sq %cmp182 = fcmp olt float %79, %mul181 br i1 %cmp182, label %if.then184, label %if.end265 if.then184: ; preds = %if.then149 %extractVec168 = shufflevector <4 x float> %74, <4 x float> undef, <3 x i32> %80 = extractelement <4 x float> %73, i32 3 %81 = load i32, i32 addrspace(1)* %arrayidx185.3976, align 4, !tbaa !41 %mul186 = mul nsw i32 %81, %ntypes %add187 = add nsw i32 %mul186, %72 %mul188 = shl nsw i32 %add187, 1 %82 = sext i32 %mul188 to i64 %arrayidx189 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %82 %83 = load float, float addrspace(2)* %arrayidx189, align 4, !tbaa !39 %add193 = or i32 %mul188, 1 %84 = sext i32 %add193 to i64 %arrayidx194 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %84 %85 = load float, float addrspace(2)* %arrayidx194, align 4, !tbaa !39 %sub195 = fsub float 1.000000e+00, %cond %86 = tail call float @llvm.fmuladd.f32(float %sub195, float 0x3D71979980000000, float %79) %cmp.i.i600 = 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 %div198 = select i1 %cmp.i.i600, float 0x7FF8000000000000, float %call.i.i.op %mul199 = fmul float %div198, %div198 %mul200 = fmul float %mul199, %mul199 %mul201 = fmul float %mul199, %mul200 %mul202 = fmul float %cond, %mul201 %neg = fsub float -0.000000e+00, %83 %87 = tail call float @llvm.fmuladd.f32(float %85, float %mul202, float %neg) %mul204 = fmul float %mul202, %87 %mul205 = fmul float %mul199, %mul204 %88 = tail call float @llvm.fmuladd.f32(float %mul202, float %mul202, float %nbparam_params_repulsion_shift_cpot) %mul209 = fmul float %88, %85 %add213 = fadd float %mul202, %nbparam_params_dispersion_shift_cpot %mul214 = fmul float %add213, %83 %mul215 = fmul float %mul214, 0x3FC5555560000000 %neg216 = fsub float -0.000000e+00, %mul215 %89 = tail call float @llvm.fmuladd.f32(float %mul209, float 0x3FB5555540000000, float %neg216) %mul217 = fmul float %cond, %89 %cmp218 = fcmp olt float %86, %nbparam_params_rvdw_sq %cond220 = select i1 %cmp218, float 1.000000e+00, float 0.000000e+00 %mul221 = fmul float %cond220, %mul205 %mul222 = fmul float %cond220, %mul217 %add223 = fadd float %E_lj.0614, %mul222 %mul224 = fmul float %71, %80 %mul225 = fmul float %cond, %mul199 %mul227 = fmul float %mul, %86 %mul.i598 = fmul float %mul227, %mul227 %90 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598, float 0x3FBDA79640000000) #5 %91 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598, float 0x3FE03C5780000000) #5 %92 = tail call float @llvm.fmuladd.f32(float %90, float %mul.i598, float 1.000000e+00) #5 %93 = tail call float @llvm.fmuladd.f32(float %91, float %mul227, float %92) #5 %div.i599 = fdiv float 1.000000e+00, %93, !fpmath !46 %94 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598, float 0xBF0BFF7260000000) #5 %95 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598, float 0x3F50794180000000) #5 %96 = tail call float @llvm.fmuladd.f32(float %94, float %mul.i598, float 0xBF93BDB200000000) #5 %97 = tail call float @llvm.fmuladd.f32(float %95, float %mul.i598, float 0x3FB1D5E760000000) #5 %98 = tail call float @llvm.fmuladd.f32(float %96, float %mul.i598, float 0xBFE81272E0000000) #5 %99 = tail call float @llvm.fmuladd.f32(float %97, float %mul227, float %98) #5 %mul11.i = fmul float %99, %div.i599 %mul229 = fmul float %mul21, %mul11.i %100 = tail call float @llvm.fmuladd.f32(float %mul225, float %div198, float %mul229) %101 = tail call float @llvm.fmuladd.f32(float %mul224, float %100, float %mul221) %mul232 = fmul float %86, %div198 %mul233 = fmul float %mul232, %nbparam_params_ewald_beta %fabs.i = tail call float @llvm.fabs.f32(float %mul233) #5 %and.i = bitcast float %fabs.i to i32 %mul.i = fmul float %mul233, %mul233 %div.i = fdiv float 1.000000e+00, %mul.i, !fpmath !46 %sub.i = fadd float %fabs.i, -1.000000e+00 %cmp.i596 = fcmp olt float %fabs.i, 1.250000e+00 %cond.i = select i1 %cmp.i596, 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.i596, float %133, float %cond36.i %cond62.i = select i1 %cmp.i596, 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.i597 = fadd float %fabs.i, %astype84.i %156 = tail call float @llvm.fmuladd.f32(float %sub88.i, float %add.i597, 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 %mul233, 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.i596, float %cond111.i, float %cond103.i %sub117.i = fadd float %mul233, -5.000000e-01 %164 = tail call float @llvm.fmuladd.f32(float %mul233, 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 %mul233, -6.000000e+00 %cond129.i = select i1 %cmp125.i, float 2.000000e+00, float %cond124.i %cmp.i.i = fcmp uno float %mul233, 0.000000e+00 %cond134.i = select i1 %cmp.i.i, float %mul233, float %cond129.i %mul236 = fmul float %cond, %nbparam_params_sh_ewald %neg237 = fsub float -0.000000e+00, %mul236 %165 = tail call float @llvm.fmuladd.f32(float %div198, float %cond134.i, float %neg237) %166 = tail call float @llvm.fmuladd.f32(float %mul224, float %165, float %E_el.2613) %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 %mul242 = fmul <3 x float> %extractVec168, %splat.splat %sub251 = fsub <3 x float> zeroinitializer, %mul242 %extractVec252 = shufflevector <3 x float> %sub251, <3 x float> undef, <4 x i32> %extractVec260 = shufflevector <4 x float> %fci_buf.sroa.0.0, <4 x float> undef, <3 x i32> %add261 = fadd <3 x float> %extractVec260, %mul242 %extractVec262 = shufflevector <3 x float> %add261, <3 x float> undef, <4 x i32> br label %if.end265 if.end265: ; preds = %if.then128, %if.then149, %if.then184 %fci_buf.sroa.0.1 = phi <4 x float> [ %fci_buf.sroa.0.0, %if.then128 ], [ %extractVec262, %if.then184 ], [ %fci_buf.sroa.0.0, %if.then149 ] %E_el.5 = phi float [ %E_el.2613, %if.then128 ], [ %166, %if.then184 ], [ %E_el.2613, %if.then149 ] %E_lj.3 = phi float [ %E_lj.0614, %if.then128 ], [ %add223, %if.then184 ], [ %E_lj.0614, %if.then149 ] %fcj_buf.sroa.0.1 = phi <4 x float> [ , %if.then128 ], [ %extractVec252, %if.then184 ], [ , %if.then149 ] %and147.1 = and i32 %64, 2 %tobool148.1 = icmp eq i32 %and147.1, 0 br i1 %tobool148.1, label %if.end265.1, label %if.then149.1 for.inc276: ; preds = %for.body124.preheader, %if.end265.7 %fci_buf.sroa.72.1 = phi <4 x float> [ %fci_buf.sroa.72.0, %for.body124.preheader ], [ %fci_buf.sroa.72.4, %if.end265.7 ] %fci_buf.sroa.62.1 = phi <4 x float> [ %fci_buf.sroa.62.0, %for.body124.preheader ], [ %fci_buf.sroa.62.3, %if.end265.7 ] %fci_buf.sroa.52.1 = phi <4 x float> [ %fci_buf.sroa.52.0, %for.body124.preheader ], [ %fci_buf.sroa.52.3, %if.end265.7 ] %fci_buf.sroa.42.1 = phi <4 x float> [ %fci_buf.sroa.42.0, %for.body124.preheader ], [ %fci_buf.sroa.42.3, %if.end265.7 ] %fci_buf.sroa.32.1 = phi <4 x float> [ %fci_buf.sroa.32.0, %for.body124.preheader ], [ %fci_buf.sroa.32.3, %if.end265.7 ] %fci_buf.sroa.22.1 = phi <4 x float> [ %fci_buf.sroa.22.0, %for.body124.preheader ], [ %fci_buf.sroa.22.3, %if.end265.7 ] %fci_buf.sroa.12.1 = phi <4 x float> [ %fci_buf.sroa.12.0, %for.body124.preheader ], [ %fci_buf.sroa.12.3, %if.end265.7 ] %fci_buf.sroa.0.2 = phi <4 x float> [ %fci_buf.sroa.0.0, %for.body124.preheader ], [ %fci_buf.sroa.0.1, %if.end265.7 ] %E_el.6 = phi float [ %E_el.2613, %for.body124.preheader ], [ %E_el.5.7, %if.end265.7 ] %E_lj.4 = phi float [ %E_lj.0614, %for.body124.preheader ], [ %E_lj.3.7, %if.end265.7 ] %and126.1 = and i32 %64, 65280 %tobool127.1 = icmp eq i32 %and126.1, 0 br i1 %tobool127.1, label %for.inc276.1, label %if.then128.1 for.inc280: ; preds = %for.inc276.2, %if.end265.7.3, %for.body94 %fci_buf.sroa.72.2 = phi <4 x float> [ %fci_buf.sroa.72.0, %for.body94 ], [ %fci_buf.sroa.72.8, %for.inc276.2 ], [ %fci_buf.sroa.72.9, %if.end265.7.3 ] %fci_buf.sroa.62.2 = phi <4 x float> [ %fci_buf.sroa.62.0, %for.body94 ], [ %fci_buf.sroa.62.7, %for.inc276.2 ], [ %fci_buf.sroa.62.8, %if.end265.7.3 ] %fci_buf.sroa.52.2 = phi <4 x float> [ %fci_buf.sroa.52.0, %for.body94 ], [ %fci_buf.sroa.52.7, %for.inc276.2 ], [ %fci_buf.sroa.52.8, %if.end265.7.3 ] %fci_buf.sroa.42.2 = phi <4 x float> [ %fci_buf.sroa.42.0, %for.body94 ], [ %fci_buf.sroa.42.7, %for.inc276.2 ], [ %fci_buf.sroa.42.8, %if.end265.7.3 ] %fci_buf.sroa.32.2 = phi <4 x float> [ %fci_buf.sroa.32.0, %for.body94 ], [ %fci_buf.sroa.32.7, %for.inc276.2 ], [ %fci_buf.sroa.32.8, %if.end265.7.3 ] %fci_buf.sroa.22.2 = phi <4 x float> [ %fci_buf.sroa.22.0, %for.body94 ], [ %fci_buf.sroa.22.7, %for.inc276.2 ], [ %fci_buf.sroa.22.8, %if.end265.7.3 ] %fci_buf.sroa.12.2 = phi <4 x float> [ %fci_buf.sroa.12.0, %for.body94 ], [ %fci_buf.sroa.12.7, %for.inc276.2 ], [ %fci_buf.sroa.12.8, %if.end265.7.3 ] %fci_buf.sroa.0.3 = phi <4 x float> [ %fci_buf.sroa.0.0, %for.body94 ], [ %fci_buf.sroa.0.7, %for.inc276.2 ], [ %fci_buf.sroa.0.8, %if.end265.7.3 ] %E_el.7 = phi float [ %E_el.2613, %for.body94 ], [ %E_el.6.2, %for.inc276.2 ], [ %E_el.5.7.3, %if.end265.7.3 ] %E_lj.5 = phi float [ %E_lj.0614, %for.body94 ], [ %E_lj.4.2, %for.inc276.2 ], [ %E_lj.3.7.3, %if.end265.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.end282.loopexit, label %for.body94 for.end282.loopexit: ; preds = %for.inc280 %E_lj.5.lcssa = phi float [ %E_lj.5, %for.inc280 ] %E_el.7.lcssa = phi float [ %E_el.7, %for.inc280 ] %fci_buf.sroa.0.3.lcssa = phi <4 x float> [ %fci_buf.sroa.0.3, %for.inc280 ] %fci_buf.sroa.12.2.lcssa = phi <4 x float> [ %fci_buf.sroa.12.2, %for.inc280 ] %fci_buf.sroa.22.2.lcssa = phi <4 x float> [ %fci_buf.sroa.22.2, %for.inc280 ] %fci_buf.sroa.32.2.lcssa = phi <4 x float> [ %fci_buf.sroa.32.2, %for.inc280 ] %fci_buf.sroa.42.2.lcssa = phi <4 x float> [ %fci_buf.sroa.42.2, %for.inc280 ] %fci_buf.sroa.52.2.lcssa = phi <4 x float> [ %fci_buf.sroa.52.2, %for.inc280 ] %fci_buf.sroa.62.2.lcssa = phi <4 x float> [ %fci_buf.sroa.62.2, %for.inc280 ] %fci_buf.sroa.72.2.lcssa = phi <4 x float> [ %fci_buf.sroa.72.2, %for.inc280 ] %fci_buf.sroa.0.0.vec.extract = shufflevector <4 x float> %fci_buf.sroa.0.3.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.12.16.vec.extract = shufflevector <4 x float> %fci_buf.sroa.12.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.22.32.vec.extract = shufflevector <4 x float> %fci_buf.sroa.22.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.32.48.vec.extract = shufflevector <4 x float> %fci_buf.sroa.32.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.42.64.vec.extract = shufflevector <4 x float> %fci_buf.sroa.42.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.52.80.vec.extract = shufflevector <4 x float> %fci_buf.sroa.52.2.lcssa, <4 x float> undef, <3 x i32> %fci_buf.sroa.62.96.vec.extract = shufflevector <4 x float> %fci_buf.sroa.62.2.lcssa, <4 x float> undef, <3 x i32> br label %for.end282 for.end282: ; preds = %for.cond91.preheader.for.end282_crit_edge, %for.end282.loopexit %add295.7.pre-phi = phi i32 [ %.pre1193, %for.cond91.preheader.for.end282_crit_edge ], [ %add153.7.3, %for.end282.loopexit ] %add295.6.pre-phi = phi i32 [ %.pre1191, %for.cond91.preheader.for.end282_crit_edge ], [ %add153.6.3, %for.end282.loopexit ] %add295.5.pre-phi = phi i32 [ %.pre1189, %for.cond91.preheader.for.end282_crit_edge ], [ %add153.5.3, %for.end282.loopexit ] %add295.4.pre-phi = phi i32 [ %.pre1187, %for.cond91.preheader.for.end282_crit_edge ], [ %add153.4.3, %for.end282.loopexit ] %add295.3.pre-phi = phi i32 [ %.pre1185, %for.cond91.preheader.for.end282_crit_edge ], [ %add153.3.3, %for.end282.loopexit ] %add295.2.pre-phi = phi i32 [ %.pre1183, %for.cond91.preheader.for.end282_crit_edge ], [ %add153.2.3, %for.end282.loopexit ] %add295.1.pre-phi = phi i32 [ %.pre1181, %for.cond91.preheader.for.end282_crit_edge ], [ %add153.1.3, %for.end282.loopexit ] %add295.pre-phi = phi i32 [ %.pre1179, %for.cond91.preheader.for.end282_crit_edge ], [ %add153.3975, %for.end282.loopexit ] %fci_buf.sroa.72.3 = phi <4 x float> [ , %for.cond91.preheader.for.end282_crit_edge ], [ %fci_buf.sroa.72.2.lcssa, %for.end282.loopexit ] %arrayidx303.pre-phi = phi float addrspace(3)* [ %.pre1137, %for.cond91.preheader.for.end282_crit_edge ], [ %arrayidx274, %for.end282.loopexit ] %arrayidx300.pre-phi = phi float addrspace(3)* [ %.pre1135, %for.cond91.preheader.for.end282_crit_edge ], [ %arrayidx272, %for.end282.loopexit ] %arrayidx297.pre-phi = phi float addrspace(3)* [ %.pre1133, %for.cond91.preheader.for.end282_crit_edge ], [ %arrayidx270, %for.end282.loopexit ] %167 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end282_crit_edge ], [ %fci_buf.sroa.62.96.vec.extract, %for.end282.loopexit ] %168 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end282_crit_edge ], [ %fci_buf.sroa.52.80.vec.extract, %for.end282.loopexit ] %169 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end282_crit_edge ], [ %fci_buf.sroa.42.64.vec.extract, %for.end282.loopexit ] %170 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end282_crit_edge ], [ %fci_buf.sroa.32.48.vec.extract, %for.end282.loopexit ] %171 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end282_crit_edge ], [ %fci_buf.sroa.22.32.vec.extract, %for.end282.loopexit ] %172 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end282_crit_edge ], [ %fci_buf.sroa.12.16.vec.extract, %for.end282.loopexit ] %173 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end282_crit_edge ], [ %fci_buf.sroa.0.0.vec.extract, %for.end282.loopexit ] %E_lj.0.lcssa = phi float [ 0.000000e+00, %for.cond91.preheader.for.end282_crit_edge ], [ %E_lj.5.lcssa, %for.end282.loopexit ] %E_el.2.lcssa = phi float [ %E_el.2.ph, %for.cond91.preheader.for.end282_crit_edge ], [ %E_el.7.lcssa, %for.end282.loopexit ] store float 0.000000e+00, float* %fshift_buf, align 4, !tbaa !39 %tobool3041138 = icmp ne i32 %bCalcFshift, 0 %not.cmp65 = xor i1 %cmp65, true %tobool304 = and i1 %tobool3041138, %not.cmp65 %174 = extractelement <3 x float> %173, i32 0 store float %174, float addrspace(3)* %arrayidx297.pre-phi, align 4, !tbaa !39 %175 = extractelement <3 x float> %173, i32 1 store float %175, float addrspace(3)* %arrayidx300.pre-phi, align 4, !tbaa !39 %176 = extractelement <3 x float> %173, i32 2 store float %176, float addrspace(3)* %arrayidx303.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 %tobool304, i32 %x.i, i32 %y.i, i32 %add295.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)* %arrayidx297.pre-phi, align 4, !tbaa !39 %178 = extractelement <3 x float> %172, i32 1 store float %178, float addrspace(3)* %arrayidx300.pre-phi, align 4, !tbaa !39 %179 = extractelement <3 x float> %172, i32 2 store float %179, float addrspace(3)* %arrayidx303.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 %tobool304, i32 %x.i, i32 %y.i, i32 %add295.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)* %arrayidx297.pre-phi, align 4, !tbaa !39 %181 = extractelement <3 x float> %171, i32 1 store float %181, float addrspace(3)* %arrayidx300.pre-phi, align 4, !tbaa !39 %182 = extractelement <3 x float> %171, i32 2 store float %182, float addrspace(3)* %arrayidx303.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 %tobool304, i32 %x.i, i32 %y.i, i32 %add295.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)* %arrayidx297.pre-phi, align 4, !tbaa !39 %184 = extractelement <3 x float> %170, i32 1 store float %184, float addrspace(3)* %arrayidx300.pre-phi, align 4, !tbaa !39 %185 = extractelement <3 x float> %170, i32 2 store float %185, float addrspace(3)* %arrayidx303.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 %tobool304, i32 %x.i, i32 %y.i, i32 %add295.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)* %arrayidx297.pre-phi, align 4, !tbaa !39 %187 = extractelement <3 x float> %169, i32 1 store float %187, float addrspace(3)* %arrayidx300.pre-phi, align 4, !tbaa !39 %188 = extractelement <3 x float> %169, i32 2 store float %188, float addrspace(3)* %arrayidx303.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 %tobool304, i32 %x.i, i32 %y.i, i32 %add295.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)* %arrayidx297.pre-phi, align 4, !tbaa !39 %190 = extractelement <3 x float> %168, i32 1 store float %190, float addrspace(3)* %arrayidx300.pre-phi, align 4, !tbaa !39 %191 = extractelement <3 x float> %168, i32 2 store float %191, float addrspace(3)* %arrayidx303.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 %tobool304, i32 %x.i, i32 %y.i, i32 %add295.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)* %arrayidx297.pre-phi, align 4, !tbaa !39 %193 = extractelement <3 x float> %167, i32 1 store float %193, float addrspace(3)* %arrayidx300.pre-phi, align 4, !tbaa !39 %194 = extractelement <3 x float> %167, i32 2 store float %194, float addrspace(3)* %arrayidx303.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 %tobool304, i32 %x.i, i32 %y.i, i32 %add295.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)* %arrayidx297.pre-phi, align 4, !tbaa !39 %196 = extractelement <4 x float> %fci_buf.sroa.72.3, i32 1 store float %196, float addrspace(3)* %arrayidx300.pre-phi, align 4, !tbaa !39 %197 = extractelement <4 x float> %fci_buf.sroa.72.3, i32 2 store float %197, float addrspace(3)* %arrayidx303.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 %tobool304, i32 %x.i, i32 %y.i, i32 %add295.7.pre-phi) #5 tail call void @llvm.amdgcn.s.barrier() #5 %cmp310 = icmp ult i32 %y.i, 3 %or.cond327 = and i1 %cmp310, %tobool304 br i1 %or.cond327, label %if.then312, label %if.end318 if.then312: ; preds = %for.end282 %add315 = add i32 %mul38, %y.i %198 = sext i32 %add315 to i64 %arrayidx316 = 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)* %arrayidx316, align 4, !tbaa !39 %201 = bitcast float %200 to i32 %202 = bitcast float addrspace(1)* %arrayidx316 to i32 addrspace(1)* br label %do.body.i do.body.i: ; preds = %do.body.i, %if.then312 %current.sroa.0.0.i = phi i32 [ %201, %if.then312 ], [ %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.end318.loopexit, label %do.body.i if.end318.loopexit: ; preds = %do.body.i br label %if.end318 if.end318: ; preds = %if.end318.loopexit, %for.end282 store float %E_lj.0.lcssa, float addrspace(3)* %arrayidx297.pre-phi, align 4, !tbaa !39 store float %E_el.2.lcssa, float addrspace(3)* %arrayidx300.pre-phi, align 4, !tbaa !39 %and322 = and i32 %add, 32 %add.ptr323 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %and322 %and324 = and i32 %add, -33 tail call fastcc void @reduce_energy_pow2(float addrspace(3)* %add.ptr323, float addrspace(1)* %e_lj, float addrspace(1)* %e_el, i32 %and324) call void @llvm.lifetime.end(i64 4, i8* %0) #5 ret void if.then149.1: ; preds = %if.end265 %207 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.1 = fmul float %210, %210 %211 = tail call float @llvm.fmuladd.f32(float %209, float %209, float %mul3.i.i602.1) #5 %212 = extractelement <4 x float> %208, i32 2 %213 = tail call float @llvm.fmuladd.f32(float %212, float %212, float %211) #5 %and170.1 = and i32 %66, 2 %tobool171.1 = icmp ne i32 %and170.1, 0 %cond.1 = select i1 %tobool171.1, float 1.000000e+00, float 0.000000e+00 %cmp176.1 = icmp eq i32 %60, %68 %or.cond.1 = and i1 %cmp65, %cmp176.1 %not.or.cond.1 = xor i1 %or.cond.1, true %cmp178..1 = or i1 %cmp178, %not.or.cond.1 %conv180.1 = uitofp i1 %cmp178..1 to float %mul181.1 = fmul float %conv180.1, %nbparam_params_rcoulomb_sq %cmp182.1 = fcmp olt float %213, %mul181.1 br i1 %cmp182.1, label %if.then184.1, label %if.end265.1 if.then184.1: ; preds = %if.then149.1 %extractVec168.1 = shufflevector <4 x float> %208, <4 x float> undef, <3 x i32> %214 = extractelement <4 x float> %207, i32 3 %215 = load i32, i32 addrspace(1)* %arrayidx185.1.3, align 4, !tbaa !41 %mul186.1 = mul nsw i32 %215, %ntypes %add187.1 = add nsw i32 %mul186.1, %72 %mul188.1 = shl nsw i32 %add187.1, 1 %216 = sext i32 %mul188.1 to i64 %arrayidx189.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %216 %217 = load float, float addrspace(2)* %arrayidx189.1, align 4, !tbaa !39 %add193.1 = or i32 %mul188.1, 1 %218 = sext i32 %add193.1 to i64 %arrayidx194.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %218 %219 = load float, float addrspace(2)* %arrayidx194.1, align 4, !tbaa !39 %sub195.1 = fsub float 1.000000e+00, %cond.1 %220 = tail call float @llvm.fmuladd.f32(float %sub195.1, float 0x3D71979980000000, float %213) %cmp.i.i600.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 %div198.1 = select i1 %cmp.i.i600.1, float 0x7FF8000000000000, float %call.i.i.op.1 %mul199.1 = fmul float %div198.1, %div198.1 %mul200.1 = fmul float %mul199.1, %mul199.1 %mul201.1 = fmul float %mul199.1, %mul200.1 %mul202.1 = fmul float %cond.1, %mul201.1 %neg.1 = fsub float -0.000000e+00, %217 %221 = tail call float @llvm.fmuladd.f32(float %219, float %mul202.1, float %neg.1) %mul204.1 = fmul float %mul202.1, %221 %mul205.1 = fmul float %mul199.1, %mul204.1 %222 = tail call float @llvm.fmuladd.f32(float %mul202.1, float %mul202.1, float %nbparam_params_repulsion_shift_cpot) %mul209.1 = fmul float %222, %219 %add213.1 = fadd float %mul202.1, %nbparam_params_dispersion_shift_cpot %mul214.1 = fmul float %add213.1, %217 %mul215.1 = fmul float %mul214.1, 0x3FC5555560000000 %neg216.1 = fsub float -0.000000e+00, %mul215.1 %223 = tail call float @llvm.fmuladd.f32(float %mul209.1, float 0x3FB5555540000000, float %neg216.1) %mul217.1 = fmul float %cond.1, %223 %cmp218.1 = fcmp olt float %220, %nbparam_params_rvdw_sq %cond220.1 = select i1 %cmp218.1, float 1.000000e+00, float 0.000000e+00 %mul221.1 = fmul float %cond220.1, %mul205.1 %mul222.1 = fmul float %cond220.1, %mul217.1 %add223.1 = fadd float %E_lj.3, %mul222.1 %mul224.1 = fmul float %71, %214 %mul225.1 = fmul float %cond.1, %mul199.1 %mul227.1 = fmul float %mul, %220 %mul.i598.1 = fmul float %mul227.1, %mul227.1 %224 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.1, float 0x3FBDA79640000000) #5 %225 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.1, float 0x3FE03C5780000000) #5 %226 = tail call float @llvm.fmuladd.f32(float %224, float %mul.i598.1, float 1.000000e+00) #5 %227 = tail call float @llvm.fmuladd.f32(float %225, float %mul227.1, float %226) #5 %div.i599.1 = fdiv float 1.000000e+00, %227, !fpmath !46 %228 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.1, float 0xBF0BFF7260000000) #5 %229 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.1, float 0x3F50794180000000) #5 %230 = tail call float @llvm.fmuladd.f32(float %228, float %mul.i598.1, float 0xBF93BDB200000000) #5 %231 = tail call float @llvm.fmuladd.f32(float %229, float %mul.i598.1, float 0x3FB1D5E760000000) #5 %232 = tail call float @llvm.fmuladd.f32(float %230, float %mul.i598.1, float 0xBFE81272E0000000) #5 %233 = tail call float @llvm.fmuladd.f32(float %231, float %mul227.1, float %232) #5 %mul11.i.1 = fmul float %233, %div.i599.1 %mul229.1 = fmul float %mul21, %mul11.i.1 %234 = tail call float @llvm.fmuladd.f32(float %mul225.1, float %div198.1, float %mul229.1) %235 = tail call float @llvm.fmuladd.f32(float %mul224.1, float %234, float %mul221.1) %mul232.1 = fmul float %220, %div198.1 %mul233.1 = fmul float %mul232.1, %nbparam_params_ewald_beta %fabs.i.1 = tail call float @llvm.fabs.f32(float %mul233.1) #5 %and.i.1 = bitcast float %fabs.i.1 to i32 %mul.i.1 = fmul float %mul233.1, %mul233.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.i596.1 = fcmp olt float %fabs.i.1, 1.250000e+00 %cond.i.1 = select i1 %cmp.i596.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.i596.1, float %267, float %cond36.i.1 %cond62.i.1 = select i1 %cmp.i596.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.i597.1 = fadd float %fabs.i.1, %astype84.i.1 %290 = tail call float @llvm.fmuladd.f32(float %sub88.i.1, float %add.i597.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 %mul233.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.i596.1, float %cond111.i.1, float %cond103.i.1 %sub117.i.1 = fadd float %mul233.1, -5.000000e-01 %298 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.1, 0.000000e+00 %cond134.i.1 = select i1 %cmp.i.i.1, float %mul233.1, float %cond129.i.1 %mul236.1 = fmul float %cond.1, %nbparam_params_sh_ewald %neg237.1 = fsub float -0.000000e+00, %mul236.1 %299 = tail call float @llvm.fmuladd.f32(float %div198.1, float %cond134.i.1, float %neg237.1) %300 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.1 = fmul <3 x float> %extractVec168.1, %splat.splat.1 %extractVec250.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1, <4 x float> undef, <3 x i32> %sub251.1 = fsub <3 x float> %extractVec250.1, %mul242.1 %extractVec252.1 = shufflevector <3 x float> %sub251.1, <3 x float> undef, <4 x i32> %extractVec260.1 = shufflevector <4 x float> %fci_buf.sroa.12.0, <4 x float> undef, <3 x i32> %add261.1 = fadd <3 x float> %extractVec260.1, %mul242.1 %extractVec262.1 = shufflevector <3 x float> %add261.1, <3 x float> undef, <4 x i32> br label %if.end265.1 if.end265.1: ; preds = %if.then184.1, %if.then149.1, %if.end265 %fci_buf.sroa.12.3 = phi <4 x float> [ %fci_buf.sroa.12.0, %if.end265 ], [ %extractVec262.1, %if.then184.1 ], [ %fci_buf.sroa.12.0, %if.then149.1 ] %E_el.5.1 = phi float [ %E_el.5, %if.end265 ], [ %300, %if.then184.1 ], [ %E_el.5, %if.then149.1 ] %E_lj.3.1 = phi float [ %E_lj.3, %if.end265 ], [ %add223.1, %if.then184.1 ], [ %E_lj.3, %if.then149.1 ] %fcj_buf.sroa.0.1.1 = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end265 ], [ %extractVec252.1, %if.then184.1 ], [ %fcj_buf.sroa.0.1, %if.then149.1 ] %and147.2 = and i32 %64, 4 %tobool148.2 = icmp eq i32 %and147.2, 0 br i1 %tobool148.2, label %if.end265.2, label %if.then149.2 if.then149.2: ; preds = %if.end265.1 %301 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.2 = fmul float %304, %304 %305 = tail call float @llvm.fmuladd.f32(float %303, float %303, float %mul3.i.i602.2) #5 %306 = extractelement <4 x float> %302, i32 2 %307 = tail call float @llvm.fmuladd.f32(float %306, float %306, float %305) #5 %and170.2 = and i32 %66, 4 %tobool171.2 = icmp ne i32 %and170.2, 0 %cond.2 = select i1 %tobool171.2, float 1.000000e+00, float 0.000000e+00 %cmp176.2 = icmp eq i32 %58, %68 %or.cond.2 = and i1 %cmp65, %cmp176.2 %not.or.cond.2 = xor i1 %or.cond.2, true %cmp178..2 = or i1 %cmp178, %not.or.cond.2 %conv180.2 = uitofp i1 %cmp178..2 to float %mul181.2 = fmul float %conv180.2, %nbparam_params_rcoulomb_sq %cmp182.2 = fcmp olt float %307, %mul181.2 br i1 %cmp182.2, label %if.then184.2, label %if.end265.2 if.then184.2: ; preds = %if.then149.2 %extractVec168.2 = shufflevector <4 x float> %302, <4 x float> undef, <3 x i32> %308 = extractelement <4 x float> %301, i32 3 %309 = load i32, i32 addrspace(1)* %arrayidx185.2.3, align 4, !tbaa !41 %mul186.2 = mul nsw i32 %309, %ntypes %add187.2 = add nsw i32 %mul186.2, %72 %mul188.2 = shl nsw i32 %add187.2, 1 %310 = sext i32 %mul188.2 to i64 %arrayidx189.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %310 %311 = load float, float addrspace(2)* %arrayidx189.2, align 4, !tbaa !39 %add193.2 = or i32 %mul188.2, 1 %312 = sext i32 %add193.2 to i64 %arrayidx194.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %312 %313 = load float, float addrspace(2)* %arrayidx194.2, align 4, !tbaa !39 %sub195.2 = fsub float 1.000000e+00, %cond.2 %314 = tail call float @llvm.fmuladd.f32(float %sub195.2, float 0x3D71979980000000, float %307) %cmp.i.i600.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 %div198.2 = select i1 %cmp.i.i600.2, float 0x7FF8000000000000, float %call.i.i.op.2 %mul199.2 = fmul float %div198.2, %div198.2 %mul200.2 = fmul float %mul199.2, %mul199.2 %mul201.2 = fmul float %mul199.2, %mul200.2 %mul202.2 = fmul float %cond.2, %mul201.2 %neg.2 = fsub float -0.000000e+00, %311 %315 = tail call float @llvm.fmuladd.f32(float %313, float %mul202.2, float %neg.2) %mul204.2 = fmul float %mul202.2, %315 %mul205.2 = fmul float %mul199.2, %mul204.2 %316 = tail call float @llvm.fmuladd.f32(float %mul202.2, float %mul202.2, float %nbparam_params_repulsion_shift_cpot) %mul209.2 = fmul float %316, %313 %add213.2 = fadd float %mul202.2, %nbparam_params_dispersion_shift_cpot %mul214.2 = fmul float %add213.2, %311 %mul215.2 = fmul float %mul214.2, 0x3FC5555560000000 %neg216.2 = fsub float -0.000000e+00, %mul215.2 %317 = tail call float @llvm.fmuladd.f32(float %mul209.2, float 0x3FB5555540000000, float %neg216.2) %mul217.2 = fmul float %cond.2, %317 %cmp218.2 = fcmp olt float %314, %nbparam_params_rvdw_sq %cond220.2 = select i1 %cmp218.2, float 1.000000e+00, float 0.000000e+00 %mul221.2 = fmul float %cond220.2, %mul205.2 %mul222.2 = fmul float %cond220.2, %mul217.2 %add223.2 = fadd float %E_lj.3.1, %mul222.2 %mul224.2 = fmul float %71, %308 %mul225.2 = fmul float %cond.2, %mul199.2 %mul227.2 = fmul float %mul, %314 %mul.i598.2 = fmul float %mul227.2, %mul227.2 %318 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.2, float 0x3FBDA79640000000) #5 %319 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.2, float 0x3FE03C5780000000) #5 %320 = tail call float @llvm.fmuladd.f32(float %318, float %mul.i598.2, float 1.000000e+00) #5 %321 = tail call float @llvm.fmuladd.f32(float %319, float %mul227.2, float %320) #5 %div.i599.2 = fdiv float 1.000000e+00, %321, !fpmath !46 %322 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.2, float 0xBF0BFF7260000000) #5 %323 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.2, float 0x3F50794180000000) #5 %324 = tail call float @llvm.fmuladd.f32(float %322, float %mul.i598.2, float 0xBF93BDB200000000) #5 %325 = tail call float @llvm.fmuladd.f32(float %323, float %mul.i598.2, float 0x3FB1D5E760000000) #5 %326 = tail call float @llvm.fmuladd.f32(float %324, float %mul.i598.2, float 0xBFE81272E0000000) #5 %327 = tail call float @llvm.fmuladd.f32(float %325, float %mul227.2, float %326) #5 %mul11.i.2 = fmul float %327, %div.i599.2 %mul229.2 = fmul float %mul21, %mul11.i.2 %328 = tail call float @llvm.fmuladd.f32(float %mul225.2, float %div198.2, float %mul229.2) %329 = tail call float @llvm.fmuladd.f32(float %mul224.2, float %328, float %mul221.2) %mul232.2 = fmul float %314, %div198.2 %mul233.2 = fmul float %mul232.2, %nbparam_params_ewald_beta %fabs.i.2 = tail call float @llvm.fabs.f32(float %mul233.2) #5 %and.i.2 = bitcast float %fabs.i.2 to i32 %mul.i.2 = fmul float %mul233.2, %mul233.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.i596.2 = fcmp olt float %fabs.i.2, 1.250000e+00 %cond.i.2 = select i1 %cmp.i596.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.i596.2, float %361, float %cond36.i.2 %cond62.i.2 = select i1 %cmp.i596.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.i597.2 = fadd float %fabs.i.2, %astype84.i.2 %384 = tail call float @llvm.fmuladd.f32(float %sub88.i.2, float %add.i597.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 %mul233.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.i596.2, float %cond111.i.2, float %cond103.i.2 %sub117.i.2 = fadd float %mul233.2, -5.000000e-01 %392 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.2, 0.000000e+00 %cond134.i.2 = select i1 %cmp.i.i.2, float %mul233.2, float %cond129.i.2 %mul236.2 = fmul float %cond.2, %nbparam_params_sh_ewald %neg237.2 = fsub float -0.000000e+00, %mul236.2 %393 = tail call float @llvm.fmuladd.f32(float %div198.2, float %cond134.i.2, float %neg237.2) %394 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.2 = fmul <3 x float> %extractVec168.2, %splat.splat.2 %extractVec250.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1, <4 x float> undef, <3 x i32> %sub251.2 = fsub <3 x float> %extractVec250.2, %mul242.2 %extractVec252.2 = shufflevector <3 x float> %sub251.2, <3 x float> undef, <4 x i32> %extractVec260.2 = shufflevector <4 x float> %fci_buf.sroa.22.0, <4 x float> undef, <3 x i32> %add261.2 = fadd <3 x float> %extractVec260.2, %mul242.2 %extractVec262.2 = shufflevector <3 x float> %add261.2, <3 x float> undef, <4 x i32> br label %if.end265.2 if.end265.2: ; preds = %if.then184.2, %if.then149.2, %if.end265.1 %fci_buf.sroa.22.3 = phi <4 x float> [ %fci_buf.sroa.22.0, %if.end265.1 ], [ %extractVec262.2, %if.then184.2 ], [ %fci_buf.sroa.22.0, %if.then149.2 ] %E_el.5.2 = phi float [ %E_el.5.1, %if.end265.1 ], [ %394, %if.then184.2 ], [ %E_el.5.1, %if.then149.2 ] %E_lj.3.2 = phi float [ %E_lj.3.1, %if.end265.1 ], [ %add223.2, %if.then184.2 ], [ %E_lj.3.1, %if.then149.2 ] %fcj_buf.sroa.0.1.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.1, %if.end265.1 ], [ %extractVec252.2, %if.then184.2 ], [ %fcj_buf.sroa.0.1.1, %if.then149.2 ] %and147.3 = and i32 %64, 8 %tobool148.3 = icmp eq i32 %and147.3, 0 br i1 %tobool148.3, label %if.end265.3, label %if.then149.3 if.then149.3: ; preds = %if.end265.2 %395 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.3 = fmul float %398, %398 %399 = tail call float @llvm.fmuladd.f32(float %397, float %397, float %mul3.i.i602.3) #5 %400 = extractelement <4 x float> %396, i32 2 %401 = tail call float @llvm.fmuladd.f32(float %400, float %400, float %399) #5 %and170.3 = and i32 %66, 8 %tobool171.3 = icmp ne i32 %and170.3, 0 %cond.3 = select i1 %tobool171.3, float 1.000000e+00, float 0.000000e+00 %cmp176.3 = icmp eq i32 %56, %68 %or.cond.3 = and i1 %cmp65, %cmp176.3 %not.or.cond.3 = xor i1 %or.cond.3, true %cmp178..3 = or i1 %cmp178, %not.or.cond.3 %conv180.3 = uitofp i1 %cmp178..3 to float %mul181.3 = fmul float %conv180.3, %nbparam_params_rcoulomb_sq %cmp182.3 = fcmp olt float %401, %mul181.3 br i1 %cmp182.3, label %if.then184.3, label %if.end265.3 if.then184.3: ; preds = %if.then149.3 %extractVec168.3 = shufflevector <4 x float> %396, <4 x float> undef, <3 x i32> %402 = extractelement <4 x float> %395, i32 3 %403 = load i32, i32 addrspace(1)* %arrayidx185.3.3, align 4, !tbaa !41 %mul186.3 = mul nsw i32 %403, %ntypes %add187.3 = add nsw i32 %mul186.3, %72 %mul188.3 = shl nsw i32 %add187.3, 1 %404 = sext i32 %mul188.3 to i64 %arrayidx189.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %404 %405 = load float, float addrspace(2)* %arrayidx189.3, align 4, !tbaa !39 %add193.3 = or i32 %mul188.3, 1 %406 = sext i32 %add193.3 to i64 %arrayidx194.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %406 %407 = load float, float addrspace(2)* %arrayidx194.3, align 4, !tbaa !39 %sub195.3 = fsub float 1.000000e+00, %cond.3 %408 = tail call float @llvm.fmuladd.f32(float %sub195.3, float 0x3D71979980000000, float %401) %cmp.i.i600.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 %div198.3 = select i1 %cmp.i.i600.3, float 0x7FF8000000000000, float %call.i.i.op.3 %mul199.3 = fmul float %div198.3, %div198.3 %mul200.3 = fmul float %mul199.3, %mul199.3 %mul201.3 = fmul float %mul199.3, %mul200.3 %mul202.3 = fmul float %cond.3, %mul201.3 %neg.3 = fsub float -0.000000e+00, %405 %409 = tail call float @llvm.fmuladd.f32(float %407, float %mul202.3, float %neg.3) %mul204.3 = fmul float %mul202.3, %409 %mul205.3 = fmul float %mul199.3, %mul204.3 %410 = tail call float @llvm.fmuladd.f32(float %mul202.3, float %mul202.3, float %nbparam_params_repulsion_shift_cpot) %mul209.3 = fmul float %410, %407 %add213.3 = fadd float %mul202.3, %nbparam_params_dispersion_shift_cpot %mul214.3 = fmul float %add213.3, %405 %mul215.3 = fmul float %mul214.3, 0x3FC5555560000000 %neg216.3 = fsub float -0.000000e+00, %mul215.3 %411 = tail call float @llvm.fmuladd.f32(float %mul209.3, float 0x3FB5555540000000, float %neg216.3) %mul217.3 = fmul float %cond.3, %411 %cmp218.3 = fcmp olt float %408, %nbparam_params_rvdw_sq %cond220.3 = select i1 %cmp218.3, float 1.000000e+00, float 0.000000e+00 %mul221.3 = fmul float %cond220.3, %mul205.3 %mul222.3 = fmul float %cond220.3, %mul217.3 %add223.3 = fadd float %E_lj.3.2, %mul222.3 %mul224.3 = fmul float %71, %402 %mul225.3 = fmul float %cond.3, %mul199.3 %mul227.3 = fmul float %mul, %408 %mul.i598.3 = fmul float %mul227.3, %mul227.3 %412 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.3, float 0x3FBDA79640000000) #5 %413 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.3, float 0x3FE03C5780000000) #5 %414 = tail call float @llvm.fmuladd.f32(float %412, float %mul.i598.3, float 1.000000e+00) #5 %415 = tail call float @llvm.fmuladd.f32(float %413, float %mul227.3, float %414) #5 %div.i599.3 = fdiv float 1.000000e+00, %415, !fpmath !46 %416 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.3, float 0xBF0BFF7260000000) #5 %417 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.3, float 0x3F50794180000000) #5 %418 = tail call float @llvm.fmuladd.f32(float %416, float %mul.i598.3, float 0xBF93BDB200000000) #5 %419 = tail call float @llvm.fmuladd.f32(float %417, float %mul.i598.3, float 0x3FB1D5E760000000) #5 %420 = tail call float @llvm.fmuladd.f32(float %418, float %mul.i598.3, float 0xBFE81272E0000000) #5 %421 = tail call float @llvm.fmuladd.f32(float %419, float %mul227.3, float %420) #5 %mul11.i.3 = fmul float %421, %div.i599.3 %mul229.3 = fmul float %mul21, %mul11.i.3 %422 = tail call float @llvm.fmuladd.f32(float %mul225.3, float %div198.3, float %mul229.3) %423 = tail call float @llvm.fmuladd.f32(float %mul224.3, float %422, float %mul221.3) %mul232.3 = fmul float %408, %div198.3 %mul233.3 = fmul float %mul232.3, %nbparam_params_ewald_beta %fabs.i.3 = tail call float @llvm.fabs.f32(float %mul233.3) #5 %and.i.3 = bitcast float %fabs.i.3 to i32 %mul.i.3 = fmul float %mul233.3, %mul233.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.i596.3 = fcmp olt float %fabs.i.3, 1.250000e+00 %cond.i.3 = select i1 %cmp.i596.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.i596.3, float %455, float %cond36.i.3 %cond62.i.3 = select i1 %cmp.i596.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.i597.3 = fadd float %fabs.i.3, %astype84.i.3 %478 = tail call float @llvm.fmuladd.f32(float %sub88.i.3, float %add.i597.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 %mul233.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.i596.3, float %cond111.i.3, float %cond103.i.3 %sub117.i.3 = fadd float %mul233.3, -5.000000e-01 %486 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.3, 0.000000e+00 %cond134.i.3 = select i1 %cmp.i.i.3, float %mul233.3, float %cond129.i.3 %mul236.3 = fmul float %cond.3, %nbparam_params_sh_ewald %neg237.3 = fsub float -0.000000e+00, %mul236.3 %487 = tail call float @llvm.fmuladd.f32(float %div198.3, float %cond134.i.3, float %neg237.3) %488 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.3 = fmul <3 x float> %extractVec168.3, %splat.splat.3 %extractVec250.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2, <4 x float> undef, <3 x i32> %sub251.3 = fsub <3 x float> %extractVec250.3, %mul242.3 %extractVec252.3 = shufflevector <3 x float> %sub251.3, <3 x float> undef, <4 x i32> %extractVec260.3 = shufflevector <4 x float> %fci_buf.sroa.32.0, <4 x float> undef, <3 x i32> %add261.3 = fadd <3 x float> %extractVec260.3, %mul242.3 %extractVec262.3 = shufflevector <3 x float> %add261.3, <3 x float> undef, <4 x i32> br label %if.end265.3 if.end265.3: ; preds = %if.then184.3, %if.then149.3, %if.end265.2 %fci_buf.sroa.32.3 = phi <4 x float> [ %fci_buf.sroa.32.0, %if.end265.2 ], [ %extractVec262.3, %if.then184.3 ], [ %fci_buf.sroa.32.0, %if.then149.3 ] %E_el.5.3 = phi float [ %E_el.5.2, %if.end265.2 ], [ %488, %if.then184.3 ], [ %E_el.5.2, %if.then149.3 ] %E_lj.3.3 = phi float [ %E_lj.3.2, %if.end265.2 ], [ %add223.3, %if.then184.3 ], [ %E_lj.3.2, %if.then149.3 ] %fcj_buf.sroa.0.1.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.2, %if.end265.2 ], [ %extractVec252.3, %if.then184.3 ], [ %fcj_buf.sroa.0.1.2, %if.then149.3 ] %and147.4 = and i32 %64, 16 %tobool148.4 = icmp eq i32 %and147.4, 0 br i1 %tobool148.4, label %if.end265.4, label %if.then149.4 if.then149.4: ; preds = %if.end265.3 %489 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.4 = fmul float %492, %492 %493 = tail call float @llvm.fmuladd.f32(float %491, float %491, float %mul3.i.i602.4) #5 %494 = extractelement <4 x float> %490, i32 2 %495 = tail call float @llvm.fmuladd.f32(float %494, float %494, float %493) #5 %and170.4 = and i32 %66, 16 %tobool171.4 = icmp ne i32 %and170.4, 0 %cond.4 = select i1 %tobool171.4, float 1.000000e+00, float 0.000000e+00 %cmp176.4 = icmp eq i32 %54, %68 %or.cond.4 = and i1 %cmp65, %cmp176.4 %not.or.cond.4 = xor i1 %or.cond.4, true %cmp178..4 = or i1 %cmp178, %not.or.cond.4 %conv180.4 = uitofp i1 %cmp178..4 to float %mul181.4 = fmul float %conv180.4, %nbparam_params_rcoulomb_sq %cmp182.4 = fcmp olt float %495, %mul181.4 br i1 %cmp182.4, label %if.then184.4, label %if.end265.4 if.then184.4: ; preds = %if.then149.4 %extractVec168.4 = shufflevector <4 x float> %490, <4 x float> undef, <3 x i32> %496 = extractelement <4 x float> %489, i32 3 %497 = load i32, i32 addrspace(1)* %arrayidx185.4.3, align 4, !tbaa !41 %mul186.4 = mul nsw i32 %497, %ntypes %add187.4 = add nsw i32 %mul186.4, %72 %mul188.4 = shl nsw i32 %add187.4, 1 %498 = sext i32 %mul188.4 to i64 %arrayidx189.4 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %498 %499 = load float, float addrspace(2)* %arrayidx189.4, align 4, !tbaa !39 %add193.4 = or i32 %mul188.4, 1 %500 = sext i32 %add193.4 to i64 %arrayidx194.4 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %500 %501 = load float, float addrspace(2)* %arrayidx194.4, align 4, !tbaa !39 %sub195.4 = fsub float 1.000000e+00, %cond.4 %502 = tail call float @llvm.fmuladd.f32(float %sub195.4, float 0x3D71979980000000, float %495) %cmp.i.i600.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 %div198.4 = select i1 %cmp.i.i600.4, float 0x7FF8000000000000, float %call.i.i.op.4 %mul199.4 = fmul float %div198.4, %div198.4 %mul200.4 = fmul float %mul199.4, %mul199.4 %mul201.4 = fmul float %mul199.4, %mul200.4 %mul202.4 = fmul float %cond.4, %mul201.4 %neg.4 = fsub float -0.000000e+00, %499 %503 = tail call float @llvm.fmuladd.f32(float %501, float %mul202.4, float %neg.4) %mul204.4 = fmul float %mul202.4, %503 %mul205.4 = fmul float %mul199.4, %mul204.4 %504 = tail call float @llvm.fmuladd.f32(float %mul202.4, float %mul202.4, float %nbparam_params_repulsion_shift_cpot) %mul209.4 = fmul float %504, %501 %add213.4 = fadd float %mul202.4, %nbparam_params_dispersion_shift_cpot %mul214.4 = fmul float %add213.4, %499 %mul215.4 = fmul float %mul214.4, 0x3FC5555560000000 %neg216.4 = fsub float -0.000000e+00, %mul215.4 %505 = tail call float @llvm.fmuladd.f32(float %mul209.4, float 0x3FB5555540000000, float %neg216.4) %mul217.4 = fmul float %cond.4, %505 %cmp218.4 = fcmp olt float %502, %nbparam_params_rvdw_sq %cond220.4 = select i1 %cmp218.4, float 1.000000e+00, float 0.000000e+00 %mul221.4 = fmul float %cond220.4, %mul205.4 %mul222.4 = fmul float %cond220.4, %mul217.4 %add223.4 = fadd float %E_lj.3.3, %mul222.4 %mul224.4 = fmul float %71, %496 %mul225.4 = fmul float %cond.4, %mul199.4 %mul227.4 = fmul float %mul, %502 %mul.i598.4 = fmul float %mul227.4, %mul227.4 %506 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.4, float 0x3FBDA79640000000) #5 %507 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.4, float 0x3FE03C5780000000) #5 %508 = tail call float @llvm.fmuladd.f32(float %506, float %mul.i598.4, float 1.000000e+00) #5 %509 = tail call float @llvm.fmuladd.f32(float %507, float %mul227.4, float %508) #5 %div.i599.4 = fdiv float 1.000000e+00, %509, !fpmath !46 %510 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.4, float 0xBF0BFF7260000000) #5 %511 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.4, float 0x3F50794180000000) #5 %512 = tail call float @llvm.fmuladd.f32(float %510, float %mul.i598.4, float 0xBF93BDB200000000) #5 %513 = tail call float @llvm.fmuladd.f32(float %511, float %mul.i598.4, float 0x3FB1D5E760000000) #5 %514 = tail call float @llvm.fmuladd.f32(float %512, float %mul.i598.4, float 0xBFE81272E0000000) #5 %515 = tail call float @llvm.fmuladd.f32(float %513, float %mul227.4, float %514) #5 %mul11.i.4 = fmul float %515, %div.i599.4 %mul229.4 = fmul float %mul21, %mul11.i.4 %516 = tail call float @llvm.fmuladd.f32(float %mul225.4, float %div198.4, float %mul229.4) %517 = tail call float @llvm.fmuladd.f32(float %mul224.4, float %516, float %mul221.4) %mul232.4 = fmul float %502, %div198.4 %mul233.4 = fmul float %mul232.4, %nbparam_params_ewald_beta %fabs.i.4 = tail call float @llvm.fabs.f32(float %mul233.4) #5 %and.i.4 = bitcast float %fabs.i.4 to i32 %mul.i.4 = fmul float %mul233.4, %mul233.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.i596.4 = fcmp olt float %fabs.i.4, 1.250000e+00 %cond.i.4 = select i1 %cmp.i596.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.i596.4, float %549, float %cond36.i.4 %cond62.i.4 = select i1 %cmp.i596.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.i597.4 = fadd float %fabs.i.4, %astype84.i.4 %572 = tail call float @llvm.fmuladd.f32(float %sub88.i.4, float %add.i597.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 %mul233.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.i596.4, float %cond111.i.4, float %cond103.i.4 %sub117.i.4 = fadd float %mul233.4, -5.000000e-01 %580 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.4, 0.000000e+00 %cond134.i.4 = select i1 %cmp.i.i.4, float %mul233.4, float %cond129.i.4 %mul236.4 = fmul float %cond.4, %nbparam_params_sh_ewald %neg237.4 = fsub float -0.000000e+00, %mul236.4 %581 = tail call float @llvm.fmuladd.f32(float %div198.4, float %cond134.i.4, float %neg237.4) %582 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.4 = fmul <3 x float> %extractVec168.4, %splat.splat.4 %extractVec250.4 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3, <4 x float> undef, <3 x i32> %sub251.4 = fsub <3 x float> %extractVec250.4, %mul242.4 %extractVec252.4 = shufflevector <3 x float> %sub251.4, <3 x float> undef, <4 x i32> %extractVec260.4 = shufflevector <4 x float> %fci_buf.sroa.42.0, <4 x float> undef, <3 x i32> %add261.4 = fadd <3 x float> %extractVec260.4, %mul242.4 %extractVec262.4 = shufflevector <3 x float> %add261.4, <3 x float> undef, <4 x i32> br label %if.end265.4 if.end265.4: ; preds = %if.then184.4, %if.then149.4, %if.end265.3 %fci_buf.sroa.42.3 = phi <4 x float> [ %fci_buf.sroa.42.0, %if.end265.3 ], [ %extractVec262.4, %if.then184.4 ], [ %fci_buf.sroa.42.0, %if.then149.4 ] %E_el.5.4 = phi float [ %E_el.5.3, %if.end265.3 ], [ %582, %if.then184.4 ], [ %E_el.5.3, %if.then149.4 ] %E_lj.3.4 = phi float [ %E_lj.3.3, %if.end265.3 ], [ %add223.4, %if.then184.4 ], [ %E_lj.3.3, %if.then149.4 ] %fcj_buf.sroa.0.1.4 = phi <4 x float> [ %fcj_buf.sroa.0.1.3, %if.end265.3 ], [ %extractVec252.4, %if.then184.4 ], [ %fcj_buf.sroa.0.1.3, %if.then149.4 ] %and147.5 = and i32 %64, 32 %tobool148.5 = icmp eq i32 %and147.5, 0 br i1 %tobool148.5, label %if.end265.5, label %if.then149.5 if.then149.5: ; preds = %if.end265.4 %583 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.5 = fmul float %586, %586 %587 = tail call float @llvm.fmuladd.f32(float %585, float %585, float %mul3.i.i602.5) #5 %588 = extractelement <4 x float> %584, i32 2 %589 = tail call float @llvm.fmuladd.f32(float %588, float %588, float %587) #5 %and170.5 = and i32 %66, 32 %tobool171.5 = icmp ne i32 %and170.5, 0 %cond.5 = select i1 %tobool171.5, float 1.000000e+00, float 0.000000e+00 %cmp176.5 = icmp eq i32 %52, %68 %or.cond.5 = and i1 %cmp65, %cmp176.5 %not.or.cond.5 = xor i1 %or.cond.5, true %cmp178..5 = or i1 %cmp178, %not.or.cond.5 %conv180.5 = uitofp i1 %cmp178..5 to float %mul181.5 = fmul float %conv180.5, %nbparam_params_rcoulomb_sq %cmp182.5 = fcmp olt float %589, %mul181.5 br i1 %cmp182.5, label %if.then184.5, label %if.end265.5 if.then184.5: ; preds = %if.then149.5 %extractVec168.5 = shufflevector <4 x float> %584, <4 x float> undef, <3 x i32> %590 = extractelement <4 x float> %583, i32 3 %591 = load i32, i32 addrspace(1)* %arrayidx185.5.3, align 4, !tbaa !41 %mul186.5 = mul nsw i32 %591, %ntypes %add187.5 = add nsw i32 %mul186.5, %72 %mul188.5 = shl nsw i32 %add187.5, 1 %592 = sext i32 %mul188.5 to i64 %arrayidx189.5 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %592 %593 = load float, float addrspace(2)* %arrayidx189.5, align 4, !tbaa !39 %add193.5 = or i32 %mul188.5, 1 %594 = sext i32 %add193.5 to i64 %arrayidx194.5 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %594 %595 = load float, float addrspace(2)* %arrayidx194.5, align 4, !tbaa !39 %sub195.5 = fsub float 1.000000e+00, %cond.5 %596 = tail call float @llvm.fmuladd.f32(float %sub195.5, float 0x3D71979980000000, float %589) %cmp.i.i600.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 %div198.5 = select i1 %cmp.i.i600.5, float 0x7FF8000000000000, float %call.i.i.op.5 %mul199.5 = fmul float %div198.5, %div198.5 %mul200.5 = fmul float %mul199.5, %mul199.5 %mul201.5 = fmul float %mul199.5, %mul200.5 %mul202.5 = fmul float %cond.5, %mul201.5 %neg.5 = fsub float -0.000000e+00, %593 %597 = tail call float @llvm.fmuladd.f32(float %595, float %mul202.5, float %neg.5) %mul204.5 = fmul float %mul202.5, %597 %mul205.5 = fmul float %mul199.5, %mul204.5 %598 = tail call float @llvm.fmuladd.f32(float %mul202.5, float %mul202.5, float %nbparam_params_repulsion_shift_cpot) %mul209.5 = fmul float %598, %595 %add213.5 = fadd float %mul202.5, %nbparam_params_dispersion_shift_cpot %mul214.5 = fmul float %add213.5, %593 %mul215.5 = fmul float %mul214.5, 0x3FC5555560000000 %neg216.5 = fsub float -0.000000e+00, %mul215.5 %599 = tail call float @llvm.fmuladd.f32(float %mul209.5, float 0x3FB5555540000000, float %neg216.5) %mul217.5 = fmul float %cond.5, %599 %cmp218.5 = fcmp olt float %596, %nbparam_params_rvdw_sq %cond220.5 = select i1 %cmp218.5, float 1.000000e+00, float 0.000000e+00 %mul221.5 = fmul float %cond220.5, %mul205.5 %mul222.5 = fmul float %cond220.5, %mul217.5 %add223.5 = fadd float %E_lj.3.4, %mul222.5 %mul224.5 = fmul float %71, %590 %mul225.5 = fmul float %cond.5, %mul199.5 %mul227.5 = fmul float %mul, %596 %mul.i598.5 = fmul float %mul227.5, %mul227.5 %600 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.5, float 0x3FBDA79640000000) #5 %601 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.5, float 0x3FE03C5780000000) #5 %602 = tail call float @llvm.fmuladd.f32(float %600, float %mul.i598.5, float 1.000000e+00) #5 %603 = tail call float @llvm.fmuladd.f32(float %601, float %mul227.5, float %602) #5 %div.i599.5 = fdiv float 1.000000e+00, %603, !fpmath !46 %604 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.5, float 0xBF0BFF7260000000) #5 %605 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.5, float 0x3F50794180000000) #5 %606 = tail call float @llvm.fmuladd.f32(float %604, float %mul.i598.5, float 0xBF93BDB200000000) #5 %607 = tail call float @llvm.fmuladd.f32(float %605, float %mul.i598.5, float 0x3FB1D5E760000000) #5 %608 = tail call float @llvm.fmuladd.f32(float %606, float %mul.i598.5, float 0xBFE81272E0000000) #5 %609 = tail call float @llvm.fmuladd.f32(float %607, float %mul227.5, float %608) #5 %mul11.i.5 = fmul float %609, %div.i599.5 %mul229.5 = fmul float %mul21, %mul11.i.5 %610 = tail call float @llvm.fmuladd.f32(float %mul225.5, float %div198.5, float %mul229.5) %611 = tail call float @llvm.fmuladd.f32(float %mul224.5, float %610, float %mul221.5) %mul232.5 = fmul float %596, %div198.5 %mul233.5 = fmul float %mul232.5, %nbparam_params_ewald_beta %fabs.i.5 = tail call float @llvm.fabs.f32(float %mul233.5) #5 %and.i.5 = bitcast float %fabs.i.5 to i32 %mul.i.5 = fmul float %mul233.5, %mul233.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.i596.5 = fcmp olt float %fabs.i.5, 1.250000e+00 %cond.i.5 = select i1 %cmp.i596.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.i596.5, float %643, float %cond36.i.5 %cond62.i.5 = select i1 %cmp.i596.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.i597.5 = fadd float %fabs.i.5, %astype84.i.5 %666 = tail call float @llvm.fmuladd.f32(float %sub88.i.5, float %add.i597.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 %mul233.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.i596.5, float %cond111.i.5, float %cond103.i.5 %sub117.i.5 = fadd float %mul233.5, -5.000000e-01 %674 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.5, 0.000000e+00 %cond134.i.5 = select i1 %cmp.i.i.5, float %mul233.5, float %cond129.i.5 %mul236.5 = fmul float %cond.5, %nbparam_params_sh_ewald %neg237.5 = fsub float -0.000000e+00, %mul236.5 %675 = tail call float @llvm.fmuladd.f32(float %div198.5, float %cond134.i.5, float %neg237.5) %676 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.5 = fmul <3 x float> %extractVec168.5, %splat.splat.5 %extractVec250.5 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4, <4 x float> undef, <3 x i32> %sub251.5 = fsub <3 x float> %extractVec250.5, %mul242.5 %extractVec252.5 = shufflevector <3 x float> %sub251.5, <3 x float> undef, <4 x i32> %extractVec260.5 = shufflevector <4 x float> %fci_buf.sroa.52.0, <4 x float> undef, <3 x i32> %add261.5 = fadd <3 x float> %extractVec260.5, %mul242.5 %extractVec262.5 = shufflevector <3 x float> %add261.5, <3 x float> undef, <4 x i32> br label %if.end265.5 if.end265.5: ; preds = %if.then184.5, %if.then149.5, %if.end265.4 %fci_buf.sroa.52.3 = phi <4 x float> [ %fci_buf.sroa.52.0, %if.end265.4 ], [ %extractVec262.5, %if.then184.5 ], [ %fci_buf.sroa.52.0, %if.then149.5 ] %E_el.5.5 = phi float [ %E_el.5.4, %if.end265.4 ], [ %676, %if.then184.5 ], [ %E_el.5.4, %if.then149.5 ] %E_lj.3.5 = phi float [ %E_lj.3.4, %if.end265.4 ], [ %add223.5, %if.then184.5 ], [ %E_lj.3.4, %if.then149.5 ] %fcj_buf.sroa.0.1.5 = phi <4 x float> [ %fcj_buf.sroa.0.1.4, %if.end265.4 ], [ %extractVec252.5, %if.then184.5 ], [ %fcj_buf.sroa.0.1.4, %if.then149.5 ] %and147.6 = and i32 %64, 64 %tobool148.6 = icmp eq i32 %and147.6, 0 br i1 %tobool148.6, label %if.end265.6, label %if.then149.6 if.then149.6: ; preds = %if.end265.5 %677 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.6 = fmul float %680, %680 %681 = tail call float @llvm.fmuladd.f32(float %679, float %679, float %mul3.i.i602.6) #5 %682 = extractelement <4 x float> %678, i32 2 %683 = tail call float @llvm.fmuladd.f32(float %682, float %682, float %681) #5 %and170.6 = and i32 %66, 64 %tobool171.6 = icmp ne i32 %and170.6, 0 %cond.6 = select i1 %tobool171.6, float 1.000000e+00, float 0.000000e+00 %cmp176.6 = icmp eq i32 %50, %68 %or.cond.6 = and i1 %cmp65, %cmp176.6 %not.or.cond.6 = xor i1 %or.cond.6, true %cmp178..6 = or i1 %cmp178, %not.or.cond.6 %conv180.6 = uitofp i1 %cmp178..6 to float %mul181.6 = fmul float %conv180.6, %nbparam_params_rcoulomb_sq %cmp182.6 = fcmp olt float %683, %mul181.6 br i1 %cmp182.6, label %if.then184.6, label %if.end265.6 if.then184.6: ; preds = %if.then149.6 %extractVec168.6 = shufflevector <4 x float> %678, <4 x float> undef, <3 x i32> %684 = extractelement <4 x float> %677, i32 3 %685 = load i32, i32 addrspace(1)* %arrayidx185.6.3, align 4, !tbaa !41 %mul186.6 = mul nsw i32 %685, %ntypes %add187.6 = add nsw i32 %mul186.6, %72 %mul188.6 = shl nsw i32 %add187.6, 1 %686 = sext i32 %mul188.6 to i64 %arrayidx189.6 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %686 %687 = load float, float addrspace(2)* %arrayidx189.6, align 4, !tbaa !39 %add193.6 = or i32 %mul188.6, 1 %688 = sext i32 %add193.6 to i64 %arrayidx194.6 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %688 %689 = load float, float addrspace(2)* %arrayidx194.6, align 4, !tbaa !39 %sub195.6 = fsub float 1.000000e+00, %cond.6 %690 = tail call float @llvm.fmuladd.f32(float %sub195.6, float 0x3D71979980000000, float %683) %cmp.i.i600.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 %div198.6 = select i1 %cmp.i.i600.6, float 0x7FF8000000000000, float %call.i.i.op.6 %mul199.6 = fmul float %div198.6, %div198.6 %mul200.6 = fmul float %mul199.6, %mul199.6 %mul201.6 = fmul float %mul199.6, %mul200.6 %mul202.6 = fmul float %cond.6, %mul201.6 %neg.6 = fsub float -0.000000e+00, %687 %691 = tail call float @llvm.fmuladd.f32(float %689, float %mul202.6, float %neg.6) %mul204.6 = fmul float %mul202.6, %691 %mul205.6 = fmul float %mul199.6, %mul204.6 %692 = tail call float @llvm.fmuladd.f32(float %mul202.6, float %mul202.6, float %nbparam_params_repulsion_shift_cpot) %mul209.6 = fmul float %692, %689 %add213.6 = fadd float %mul202.6, %nbparam_params_dispersion_shift_cpot %mul214.6 = fmul float %add213.6, %687 %mul215.6 = fmul float %mul214.6, 0x3FC5555560000000 %neg216.6 = fsub float -0.000000e+00, %mul215.6 %693 = tail call float @llvm.fmuladd.f32(float %mul209.6, float 0x3FB5555540000000, float %neg216.6) %mul217.6 = fmul float %cond.6, %693 %cmp218.6 = fcmp olt float %690, %nbparam_params_rvdw_sq %cond220.6 = select i1 %cmp218.6, float 1.000000e+00, float 0.000000e+00 %mul221.6 = fmul float %cond220.6, %mul205.6 %mul222.6 = fmul float %cond220.6, %mul217.6 %add223.6 = fadd float %E_lj.3.5, %mul222.6 %mul224.6 = fmul float %71, %684 %mul225.6 = fmul float %cond.6, %mul199.6 %mul227.6 = fmul float %mul, %690 %mul.i598.6 = fmul float %mul227.6, %mul227.6 %694 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.6, float 0x3FBDA79640000000) #5 %695 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.6, float 0x3FE03C5780000000) #5 %696 = tail call float @llvm.fmuladd.f32(float %694, float %mul.i598.6, float 1.000000e+00) #5 %697 = tail call float @llvm.fmuladd.f32(float %695, float %mul227.6, float %696) #5 %div.i599.6 = fdiv float 1.000000e+00, %697, !fpmath !46 %698 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.6, float 0xBF0BFF7260000000) #5 %699 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.6, float 0x3F50794180000000) #5 %700 = tail call float @llvm.fmuladd.f32(float %698, float %mul.i598.6, float 0xBF93BDB200000000) #5 %701 = tail call float @llvm.fmuladd.f32(float %699, float %mul.i598.6, float 0x3FB1D5E760000000) #5 %702 = tail call float @llvm.fmuladd.f32(float %700, float %mul.i598.6, float 0xBFE81272E0000000) #5 %703 = tail call float @llvm.fmuladd.f32(float %701, float %mul227.6, float %702) #5 %mul11.i.6 = fmul float %703, %div.i599.6 %mul229.6 = fmul float %mul21, %mul11.i.6 %704 = tail call float @llvm.fmuladd.f32(float %mul225.6, float %div198.6, float %mul229.6) %705 = tail call float @llvm.fmuladd.f32(float %mul224.6, float %704, float %mul221.6) %mul232.6 = fmul float %690, %div198.6 %mul233.6 = fmul float %mul232.6, %nbparam_params_ewald_beta %fabs.i.6 = tail call float @llvm.fabs.f32(float %mul233.6) #5 %and.i.6 = bitcast float %fabs.i.6 to i32 %mul.i.6 = fmul float %mul233.6, %mul233.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.i596.6 = fcmp olt float %fabs.i.6, 1.250000e+00 %cond.i.6 = select i1 %cmp.i596.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.i596.6, float %737, float %cond36.i.6 %cond62.i.6 = select i1 %cmp.i596.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.i597.6 = fadd float %fabs.i.6, %astype84.i.6 %760 = tail call float @llvm.fmuladd.f32(float %sub88.i.6, float %add.i597.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 %mul233.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.i596.6, float %cond111.i.6, float %cond103.i.6 %sub117.i.6 = fadd float %mul233.6, -5.000000e-01 %768 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.6, 0.000000e+00 %cond134.i.6 = select i1 %cmp.i.i.6, float %mul233.6, float %cond129.i.6 %mul236.6 = fmul float %cond.6, %nbparam_params_sh_ewald %neg237.6 = fsub float -0.000000e+00, %mul236.6 %769 = tail call float @llvm.fmuladd.f32(float %div198.6, float %cond134.i.6, float %neg237.6) %770 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.6 = fmul <3 x float> %extractVec168.6, %splat.splat.6 %extractVec250.6 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5, <4 x float> undef, <3 x i32> %sub251.6 = fsub <3 x float> %extractVec250.6, %mul242.6 %extractVec252.6 = shufflevector <3 x float> %sub251.6, <3 x float> undef, <4 x i32> %extractVec260.6 = shufflevector <4 x float> %fci_buf.sroa.62.0, <4 x float> undef, <3 x i32> %add261.6 = fadd <3 x float> %extractVec260.6, %mul242.6 %extractVec262.6 = shufflevector <3 x float> %add261.6, <3 x float> undef, <4 x i32> br label %if.end265.6 if.end265.6: ; preds = %if.then184.6, %if.then149.6, %if.end265.5 %fci_buf.sroa.62.3 = phi <4 x float> [ %fci_buf.sroa.62.0, %if.end265.5 ], [ %extractVec262.6, %if.then184.6 ], [ %fci_buf.sroa.62.0, %if.then149.6 ] %E_el.5.6 = phi float [ %E_el.5.5, %if.end265.5 ], [ %770, %if.then184.6 ], [ %E_el.5.5, %if.then149.6 ] %E_lj.3.6 = phi float [ %E_lj.3.5, %if.end265.5 ], [ %add223.6, %if.then184.6 ], [ %E_lj.3.5, %if.then149.6 ] %fcj_buf.sroa.0.1.6 = phi <4 x float> [ %fcj_buf.sroa.0.1.5, %if.end265.5 ], [ %extractVec252.6, %if.then184.6 ], [ %fcj_buf.sroa.0.1.5, %if.then149.6 ] %and147.7 = and i32 %64, 128 %tobool148.7 = icmp eq i32 %and147.7, 0 br i1 %tobool148.7, label %if.end265.7, label %if.then149.7 if.then149.7: ; preds = %if.end265.6 %771 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.7 = fmul float %774, %774 %775 = tail call float @llvm.fmuladd.f32(float %773, float %773, float %mul3.i.i602.7) #5 %776 = extractelement <4 x float> %772, i32 2 %777 = tail call float @llvm.fmuladd.f32(float %776, float %776, float %775) #5 %and170.7 = and i32 %66, 128 %tobool171.7 = icmp ne i32 %and170.7, 0 %cond.7 = select i1 %tobool171.7, float 1.000000e+00, float 0.000000e+00 %cmp176.7 = icmp eq i32 %48, %68 %or.cond.7 = and i1 %cmp65, %cmp176.7 %not.or.cond.7 = xor i1 %or.cond.7, true %cmp178..7 = or i1 %cmp178, %not.or.cond.7 %conv180.7 = uitofp i1 %cmp178..7 to float %mul181.7 = fmul float %conv180.7, %nbparam_params_rcoulomb_sq %cmp182.7 = fcmp olt float %777, %mul181.7 br i1 %cmp182.7, label %if.then184.7, label %if.end265.7 if.then184.7: ; preds = %if.then149.7 %extractVec168.7 = shufflevector <4 x float> %772, <4 x float> undef, <3 x i32> %778 = extractelement <4 x float> %771, i32 3 %779 = load i32, i32 addrspace(1)* %arrayidx185.7.3, align 4, !tbaa !41 %mul186.7 = mul nsw i32 %779, %ntypes %add187.7 = add nsw i32 %mul186.7, %72 %mul188.7 = shl nsw i32 %add187.7, 1 %780 = sext i32 %mul188.7 to i64 %arrayidx189.7 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %780 %781 = load float, float addrspace(2)* %arrayidx189.7, align 4, !tbaa !39 %add193.7 = or i32 %mul188.7, 1 %782 = sext i32 %add193.7 to i64 %arrayidx194.7 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %782 %783 = load float, float addrspace(2)* %arrayidx194.7, align 4, !tbaa !39 %sub195.7 = fsub float 1.000000e+00, %cond.7 %784 = tail call float @llvm.fmuladd.f32(float %sub195.7, float 0x3D71979980000000, float %777) %cmp.i.i600.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 %div198.7 = select i1 %cmp.i.i600.7, float 0x7FF8000000000000, float %call.i.i.op.7 %mul199.7 = fmul float %div198.7, %div198.7 %mul200.7 = fmul float %mul199.7, %mul199.7 %mul201.7 = fmul float %mul199.7, %mul200.7 %mul202.7 = fmul float %cond.7, %mul201.7 %neg.7 = fsub float -0.000000e+00, %781 %785 = tail call float @llvm.fmuladd.f32(float %783, float %mul202.7, float %neg.7) %mul204.7 = fmul float %mul202.7, %785 %mul205.7 = fmul float %mul199.7, %mul204.7 %786 = tail call float @llvm.fmuladd.f32(float %mul202.7, float %mul202.7, float %nbparam_params_repulsion_shift_cpot) %mul209.7 = fmul float %786, %783 %add213.7 = fadd float %mul202.7, %nbparam_params_dispersion_shift_cpot %mul214.7 = fmul float %add213.7, %781 %mul215.7 = fmul float %mul214.7, 0x3FC5555560000000 %neg216.7 = fsub float -0.000000e+00, %mul215.7 %787 = tail call float @llvm.fmuladd.f32(float %mul209.7, float 0x3FB5555540000000, float %neg216.7) %mul217.7 = fmul float %cond.7, %787 %cmp218.7 = fcmp olt float %784, %nbparam_params_rvdw_sq %cond220.7 = select i1 %cmp218.7, float 1.000000e+00, float 0.000000e+00 %mul221.7 = fmul float %cond220.7, %mul205.7 %mul222.7 = fmul float %cond220.7, %mul217.7 %add223.7 = fadd float %E_lj.3.6, %mul222.7 %mul224.7 = fmul float %71, %778 %mul225.7 = fmul float %cond.7, %mul199.7 %mul227.7 = fmul float %mul, %784 %mul.i598.7 = fmul float %mul227.7, %mul227.7 %788 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.7, float 0x3FBDA79640000000) #5 %789 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.7, float 0x3FE03C5780000000) #5 %790 = tail call float @llvm.fmuladd.f32(float %788, float %mul.i598.7, float 1.000000e+00) #5 %791 = tail call float @llvm.fmuladd.f32(float %789, float %mul227.7, float %790) #5 %div.i599.7 = fdiv float 1.000000e+00, %791, !fpmath !46 %792 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.7, float 0xBF0BFF7260000000) #5 %793 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.7, float 0x3F50794180000000) #5 %794 = tail call float @llvm.fmuladd.f32(float %792, float %mul.i598.7, float 0xBF93BDB200000000) #5 %795 = tail call float @llvm.fmuladd.f32(float %793, float %mul.i598.7, float 0x3FB1D5E760000000) #5 %796 = tail call float @llvm.fmuladd.f32(float %794, float %mul.i598.7, float 0xBFE81272E0000000) #5 %797 = tail call float @llvm.fmuladd.f32(float %795, float %mul227.7, float %796) #5 %mul11.i.7 = fmul float %797, %div.i599.7 %mul229.7 = fmul float %mul21, %mul11.i.7 %798 = tail call float @llvm.fmuladd.f32(float %mul225.7, float %div198.7, float %mul229.7) %799 = tail call float @llvm.fmuladd.f32(float %mul224.7, float %798, float %mul221.7) %mul232.7 = fmul float %784, %div198.7 %mul233.7 = fmul float %mul232.7, %nbparam_params_ewald_beta %fabs.i.7 = tail call float @llvm.fabs.f32(float %mul233.7) #5 %and.i.7 = bitcast float %fabs.i.7 to i32 %mul.i.7 = fmul float %mul233.7, %mul233.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.i596.7 = fcmp olt float %fabs.i.7, 1.250000e+00 %cond.i.7 = select i1 %cmp.i596.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.i596.7, float %831, float %cond36.i.7 %cond62.i.7 = select i1 %cmp.i596.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.i597.7 = fadd float %fabs.i.7, %astype84.i.7 %854 = tail call float @llvm.fmuladd.f32(float %sub88.i.7, float %add.i597.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 %mul233.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.i596.7, float %cond111.i.7, float %cond103.i.7 %sub117.i.7 = fadd float %mul233.7, -5.000000e-01 %862 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.7, 0.000000e+00 %cond134.i.7 = select i1 %cmp.i.i.7, float %mul233.7, float %cond129.i.7 %mul236.7 = fmul float %cond.7, %nbparam_params_sh_ewald %neg237.7 = fsub float -0.000000e+00, %mul236.7 %863 = tail call float @llvm.fmuladd.f32(float %div198.7, float %cond134.i.7, float %neg237.7) %864 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.7 = fmul <3 x float> %extractVec168.7, %splat.splat.7 %extractVec250.7 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6, <4 x float> undef, <3 x i32> %sub251.7 = fsub <3 x float> %extractVec250.7, %mul242.7 %extractVec252.7 = shufflevector <3 x float> %sub251.7, <3 x float> undef, <4 x i32> %extractVec260.7 = shufflevector <4 x float> %fci_buf.sroa.72.0, <4 x float> undef, <3 x i32> %add261.7 = fadd <3 x float> %extractVec260.7, %mul242.7 %extractVec262.7 = shufflevector <3 x float> %add261.7, <3 x float> undef, <4 x i32> br label %if.end265.7 if.end265.7: ; preds = %if.then184.7, %if.then149.7, %if.end265.6 %fci_buf.sroa.72.4 = phi <4 x float> [ %fci_buf.sroa.72.0, %if.end265.6 ], [ %extractVec262.7, %if.then184.7 ], [ %fci_buf.sroa.72.0, %if.then149.7 ] %E_el.5.7 = phi float [ %E_el.5.6, %if.end265.6 ], [ %864, %if.then184.7 ], [ %E_el.5.6, %if.then149.7 ] %E_lj.3.7 = phi float [ %E_lj.3.6, %if.end265.6 ], [ %add223.7, %if.then184.7 ], [ %E_lj.3.6, %if.then149.7 ] %fcj_buf.sroa.0.1.7 = phi <4 x float> [ %fcj_buf.sroa.0.1.6, %if.end265.6 ], [ %extractVec252.7, %if.then184.7 ], [ %fcj_buf.sroa.0.1.6, %if.then149.7 ] %865 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 0 store float %865, float addrspace(3)* %arrayidx270, align 4, !tbaa !39 %866 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 1 store float %866, float addrspace(3)* %arrayidx272, align 4, !tbaa !39 %867 = extractelement <4 x float> %fcj_buf.sroa.0.1.7, i32 2 store float %867, float addrspace(3)* %arrayidx274, 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 %add138) br label %for.inc276 if.then128.1: ; preds = %for.inc276 %868 = load i32, i32 addrspace(3)* %arrayidx136.1, align 4, !tbaa !41 %mul137.1 = shl nsw i32 %868, 3 %add138.1 = add i32 %mul137.1, %y.i %869 = sext i32 %add138.1 to i64 %arrayidx139.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %869 %870 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx139.1, align 16, !tbaa !36 %871 = extractelement <4 x float> %870, i32 3 %arrayidx141.1 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %869 %872 = load i32, i32 addrspace(1)* %arrayidx141.1, align 4, !tbaa !41 %and147.1624 = and i32 %64, 256 %tobool148.1625 = icmp eq i32 %and147.1624, 0 br i1 %tobool148.1625, label %if.end265.1790, label %if.then149.1638 if.then149.1638: ; preds = %if.then128.1 %873 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.3960, 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.i602.1627 = fmul float %876, %876 %877 = tail call float @llvm.fmuladd.f32(float %875, float %875, float %mul3.i.i602.1627) #5 %878 = extractelement <4 x float> %874, i32 2 %879 = tail call float @llvm.fmuladd.f32(float %878, float %878, float %877) #5 %and170.1628 = and i32 %66, 256 %tobool171.1629 = icmp ne i32 %and170.1628, 0 %cond.1630 = select i1 %tobool171.1629, float 1.000000e+00, float 0.000000e+00 %cmp176.1631 = icmp eq i32 %mul33, %868 %or.cond.1632 = and i1 %cmp65, %cmp176.1631 %not.or.cond.1633 = xor i1 %or.cond.1632, true %cmp178..1634 = or i1 %cmp178, %not.or.cond.1633 %conv180.1635 = uitofp i1 %cmp178..1634 to float %mul181.1636 = fmul float %conv180.1635, %nbparam_params_rcoulomb_sq %cmp182.1637 = fcmp olt float %879, %mul181.1636 br i1 %cmp182.1637, label %if.then184.1785, label %if.end265.1790 if.then184.1785: ; preds = %if.then149.1638 %extractVec168.1639 = shufflevector <4 x float> %874, <4 x float> undef, <3 x i32> %880 = extractelement <4 x float> %873, i32 3 %881 = load i32, i32 addrspace(1)* %arrayidx185.3976, align 4, !tbaa !41 %mul186.1643 = mul nsw i32 %881, %ntypes %add187.1644 = add nsw i32 %mul186.1643, %872 %mul188.1645 = shl nsw i32 %add187.1644, 1 %882 = sext i32 %mul188.1645 to i64 %arrayidx189.1646 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %882 %883 = load float, float addrspace(2)* %arrayidx189.1646, align 4, !tbaa !39 %add193.1647 = or i32 %mul188.1645, 1 %884 = sext i32 %add193.1647 to i64 %arrayidx194.1648 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %884 %885 = load float, float addrspace(2)* %arrayidx194.1648, align 4, !tbaa !39 %sub195.1649 = fsub float 1.000000e+00, %cond.1630 %886 = tail call float @llvm.fmuladd.f32(float %sub195.1649, float 0x3D71979980000000, float %879) %cmp.i.i600.1650 = fcmp olt float %886, 0.000000e+00 %call.i.i.1651 = tail call float @llvm.sqrt.f32(float %886) #6 %call.i.i.op.1652 = fdiv float 1.000000e+00, %call.i.i.1651 %div198.1653 = select i1 %cmp.i.i600.1650, float 0x7FF8000000000000, float %call.i.i.op.1652 %mul199.1654 = fmul float %div198.1653, %div198.1653 %mul200.1655 = fmul float %mul199.1654, %mul199.1654 %mul201.1656 = fmul float %mul199.1654, %mul200.1655 %mul202.1657 = fmul float %cond.1630, %mul201.1656 %neg.1658 = fsub float -0.000000e+00, %883 %887 = tail call float @llvm.fmuladd.f32(float %885, float %mul202.1657, float %neg.1658) %mul204.1659 = fmul float %mul202.1657, %887 %mul205.1660 = fmul float %mul199.1654, %mul204.1659 %888 = tail call float @llvm.fmuladd.f32(float %mul202.1657, float %mul202.1657, float %nbparam_params_repulsion_shift_cpot) %mul209.1661 = fmul float %888, %885 %add213.1662 = fadd float %mul202.1657, %nbparam_params_dispersion_shift_cpot %mul214.1663 = fmul float %add213.1662, %883 %mul215.1664 = fmul float %mul214.1663, 0x3FC5555560000000 %neg216.1665 = fsub float -0.000000e+00, %mul215.1664 %889 = tail call float @llvm.fmuladd.f32(float %mul209.1661, float 0x3FB5555540000000, float %neg216.1665) %mul217.1666 = fmul float %cond.1630, %889 %cmp218.1667 = fcmp olt float %886, %nbparam_params_rvdw_sq %cond220.1668 = select i1 %cmp218.1667, float 1.000000e+00, float 0.000000e+00 %mul221.1669 = fmul float %cond220.1668, %mul205.1660 %mul222.1670 = fmul float %cond220.1668, %mul217.1666 %add223.1671 = fadd float %E_lj.4, %mul222.1670 %mul224.1672 = fmul float %871, %880 %mul225.1673 = fmul float %cond.1630, %mul199.1654 %mul227.1674 = fmul float %mul, %886 %mul.i598.1675 = fmul float %mul227.1674, %mul227.1674 %890 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.1675, float 0x3FBDA79640000000) #5 %891 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.1675, float 0x3FE03C5780000000) #5 %892 = tail call float @llvm.fmuladd.f32(float %890, float %mul.i598.1675, float 1.000000e+00) #5 %893 = tail call float @llvm.fmuladd.f32(float %891, float %mul227.1674, float %892) #5 %div.i599.1676 = fdiv float 1.000000e+00, %893, !fpmath !46 %894 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.1675, float 0xBF0BFF7260000000) #5 %895 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.1675, float 0x3F50794180000000) #5 %896 = tail call float @llvm.fmuladd.f32(float %894, float %mul.i598.1675, float 0xBF93BDB200000000) #5 %897 = tail call float @llvm.fmuladd.f32(float %895, float %mul.i598.1675, float 0x3FB1D5E760000000) #5 %898 = tail call float @llvm.fmuladd.f32(float %896, float %mul.i598.1675, float 0xBFE81272E0000000) #5 %899 = tail call float @llvm.fmuladd.f32(float %897, float %mul227.1674, float %898) #5 %mul11.i.1677 = fmul float %899, %div.i599.1676 %mul229.1678 = fmul float %mul21, %mul11.i.1677 %900 = tail call float @llvm.fmuladd.f32(float %mul225.1673, float %div198.1653, float %mul229.1678) %901 = tail call float @llvm.fmuladd.f32(float %mul224.1672, float %900, float %mul221.1669) %mul232.1679 = fmul float %886, %div198.1653 %mul233.1680 = fmul float %mul232.1679, %nbparam_params_ewald_beta %fabs.i.1681 = tail call float @llvm.fabs.f32(float %mul233.1680) #5 %and.i.1682 = bitcast float %fabs.i.1681 to i32 %mul.i.1683 = fmul float %mul233.1680, %mul233.1680 %div.i.1684 = fdiv float 1.000000e+00, %mul.i.1683, !fpmath !46 %sub.i.1685 = fadd float %fabs.i.1681, -1.000000e+00 %cmp.i596.1686 = fcmp olt float %fabs.i.1681, 1.250000e+00 %cond.i.1687 = select i1 %cmp.i596.1686, float %sub.i.1685, float %div.i.1684 %cmp2.i.1688 = fcmp olt float %fabs.i.1681, 8.437500e-01 %cond6.i.1689 = select i1 %cmp2.i.1688, float %mul.i.1683, float %cond.i.1687 %902 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %903 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %902, float 0xC083EC8820000000) #5 %904 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %903, float 0xC064145D40000000) #5 %905 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %904, float 0xC031C20960000000) #5 %906 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %905, float 0xBFE993BA80000000) #5 %907 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %906, float 0xBF84341240000000) #5 %908 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %909 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %908, float 0x40A3F219C0000000) #5 %910 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %909, float 0x40A8FFB760000000) #5 %911 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %910, float 0x409802EB20000000) #5 %912 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %911, float 0x40745CAE20000000) #5 %913 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %912, float 0x403E568B20000000) #5 %914 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %915 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %914, float 0xC067135CE0000000) #5 %916 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %915, float 0xC0644CB180000000) #5 %917 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %916, float 0xC04F300AE0000000) #5 %918 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %917, float 0xC0251E0440000000) #5 %919 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %918, float 0xBFE63416E0000000) #5 %920 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %919, float 0xBF84341260000000) #5 %921 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %922 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %921, float 0x405B28A3E0000000) #5 %923 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %922, float 0x407AD02160000000) #5 %924 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %923, float 0x40842B1920000000) #5 %925 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %924, float 0x407B290DE0000000) #5 %926 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %925, float 0x4061350C60000000) #5 %927 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %926, float 0x4033A6B9C0000000) #5 %cmp32.i.1690 = fcmp olt float %fabs.i.1681, 0x4006DB6DA0000000 %cond36.i.1691 = select i1 %cmp32.i.1690, float %920, float %907 %cond41.i.1692 = select i1 %cmp32.i.1690, float %927, float %913 %928 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %929 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %928, float 0xBFBC639840000000) #5 %930 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %929, float 0x3FD45FCA80000000) #5 %931 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %930, float 0xBFD7D24100000000) #5 %932 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %931, float 0x3FDA8D00A0000000) #5 %933 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %932, float 0xBF6359B8C0000000) #5 %934 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %935 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %934, float 0x3FC02660E0000000) #5 %936 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %935, float 0x3FB2635CE0000000) #5 %937 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %936, float 0x3FE14AF0A0000000) #5 %938 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %937, float 0x3FBB3E6620000000) #5 %cond57.i.1693 = select i1 %cmp.i596.1686, float %933, float %cond36.i.1691 %cond62.i.1694 = select i1 %cmp.i596.1686, float %938, float %cond41.i.1692 %939 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %940 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %939, float 0xBF9D2A51E0000000) #5 %941 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %940, float 0xBFD4CD7D60000000) #5 %942 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %941, float 0x3FC06EBA80000000) #5 %943 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %944 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %943, float 0x3F74D022C0000000) #5 %945 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %944, float 0x3FB0A54C60000000) #5 %946 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %945, float 0x3FD97779C0000000) #5 %cond75.i.1695 = select i1 %cmp2.i.1688, float %942, float %cond57.i.1693 %cond80.i.1696 = select i1 %cmp2.i.1688, float %946, float %cond62.i.1694 %947 = tail call float @llvm.fmuladd.f32(float %cond6.i.1689, float %cond80.i.1696, float 1.000000e+00) #5 %div82.i.1697 = fdiv float %cond75.i.1695, %947, !fpmath !46 %and83.i.1698 = and i32 %and.i.1682, -4096 %astype84.i.1699 = bitcast i32 %and83.i.1698 to float %sub85.i.1700 = fsub float -0.000000e+00, %astype84.i.1699 %948 = tail call float @llvm.fmuladd.f32(float %sub85.i.1700, float %astype84.i.1699, float -5.625000e-01) #5 %cmp.i2.i.1701 = fcmp olt float %948, 0.000000e+00 %cond.i3.i.1702 = select i1 %cmp.i2.i.1701, float -5.000000e-01, float 5.000000e-01 %949 = tail call float @llvm.fmuladd.f32(float %948, float 0x3FF7154760000000, float %cond.i3.i.1702) #5 %conv.i4.i.1703 = fptosi float %949 to i32 %conv1.i5.i.1704 = sitofp i32 %conv.i4.i.1703 to float %950 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.1704, float 0xBFE62E3000000000, float %948) #5 %mul.i6.i.1705 = fmul float %conv1.i5.i.1704, 0xBEE2FEFA20000000 %add.i7.i.1706 = fadd float %950, %mul.i6.i.1705 %mul3.i8.i.1707 = fmul float %add.i7.i.1706, %add.i7.i.1706 %951 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1707, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %952 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1707, float %951, float 0x3F11566AA0000000) #5 %953 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1707, float %952, float 0xBF66C16C20000000) #5 %954 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1707, float %953, float 0x3FC5555560000000) #5 %sub8.i9.i.1708 = fsub float -0.000000e+00, %954 %955 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1707, float %sub8.i9.i.1708, float %add.i7.i.1706) #5 %sub10.i10.i.1709 = fsub float -0.000000e+00, %mul.i6.i.1705 %mul11.i11.i.1710 = fmul float %add.i7.i.1706, %955 %sub12.i12.i.1711 = fsub float 2.000000e+00, %955 %div.i13.i.1712 = fdiv float %mul11.i11.i.1710, %sub12.i12.i.1711, !fpmath !46 %sub13.i14.i.1713 = fsub float %sub10.i10.i.1709, %div.i13.i.1712 %sub14.i15.i.1714 = fsub float %sub13.i14.i.1713, %950 %sub15.i16.i.1715 = fsub float 1.000000e+00, %sub14.i15.i.1714 %astype.i17.i.1716 = bitcast float %sub15.i16.i.1715 to i32 %shl.i18.i.1717 = shl i32 %conv.i4.i.1703, 23 %add16.i19.i.1718 = add nsw i32 %astype.i17.i.1716, %shl.i18.i.1717 %astype17.i20.i.1719 = bitcast i32 %add16.i19.i.1718 to float %cmp18.i21.i.1720 = fcmp olt float %948, 0xC055D589E0000000 %cond20.i22.i.1721 = select i1 %cmp18.i21.i.1720, float 0.000000e+00, float %astype17.i20.i.1719 %cmp21.i23.i.1722 = fcmp olt float %948, 0x40562E4300000000 %cond26.i24.i.1723 = select i1 %cmp21.i23.i.1722, float %cond20.i22.i.1721, float 0x7FF0000000000000 %cmp.i.i25.i.1724 = fcmp uno float %948, 0.000000e+00 %cond31.i26.i.1725 = select i1 %cmp.i.i25.i.1724, float %948, float %cond26.i24.i.1723 %sub88.i.1726 = fsub float %astype84.i.1699, %fabs.i.1681 %add.i597.1727 = fadd float %fabs.i.1681, %astype84.i.1699 %956 = tail call float @llvm.fmuladd.f32(float %sub88.i.1726, float %add.i597.1727, float %div82.i.1697) #5 %cmp.i1.i.1728 = fcmp olt float %956, 0.000000e+00 %cond.i.i.1729 = select i1 %cmp.i1.i.1728, float -5.000000e-01, float 5.000000e-01 %957 = tail call float @llvm.fmuladd.f32(float %956, float 0x3FF7154760000000, float %cond.i.i.1729) #5 %conv.i.i.1730 = fptosi float %957 to i32 %conv1.i.i.1731 = sitofp i32 %conv.i.i.1730 to float %958 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.1731, float 0xBFE62E3000000000, float %956) #5 %mul.i.i.1732 = fmul float %conv1.i.i.1731, 0xBEE2FEFA20000000 %add.i.i.1733 = fadd float %958, %mul.i.i.1732 %mul3.i.i.1734 = fmul float %add.i.i.1733, %add.i.i.1733 %959 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1734, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %960 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1734, float %959, float 0x3F11566AA0000000) #5 %961 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1734, float %960, float 0xBF66C16C20000000) #5 %962 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1734, float %961, float 0x3FC5555560000000) #5 %sub8.i.i.1735 = fsub float -0.000000e+00, %962 %963 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1734, float %sub8.i.i.1735, float %add.i.i.1733) #5 %sub10.i.i.1736 = fsub float -0.000000e+00, %mul.i.i.1732 %mul11.i.i.1737 = fmul float %add.i.i.1733, %963 %sub12.i.i.1738 = fsub float 2.000000e+00, %963 %div.i.i.1739 = fdiv float %mul11.i.i.1737, %sub12.i.i.1738, !fpmath !46 %sub13.i.i.1740 = fsub float %sub10.i.i.1736, %div.i.i.1739 %sub14.i.i.1741 = fsub float %sub13.i.i.1740, %958 %sub15.i.i.1742 = fsub float 1.000000e+00, %sub14.i.i.1741 %astype.i.i.1743 = bitcast float %sub15.i.i.1742 to i32 %shl.i.i.1744 = shl i32 %conv.i.i.1730, 23 %add16.i.i.1745 = add nsw i32 %astype.i.i.1743, %shl.i.i.1744 %astype17.i.i.1746 = bitcast i32 %add16.i.i.1745 to float %cmp18.i.i.1747 = fcmp olt float %956, 0xC055D589E0000000 %cond20.i.i.1748 = select i1 %cmp18.i.i.1747, float 0.000000e+00, float %astype17.i.i.1746 %cmp21.i.i.1749 = fcmp olt float %956, 0x40562E4300000000 %cond26.i.i.1750 = select i1 %cmp21.i.i.1749, float %cond20.i.i.1748, float 0x7FF0000000000000 %cmp.i.i.i.1751 = fcmp uno float %956, 0.000000e+00 %cond31.i.i.1752 = select i1 %cmp.i.i.i.1751, float %956, float %cond26.i.i.1750 %mul91.i.1753 = fmul float %cond31.i26.i.1725, %cond31.i.i.1752 %div92.i.1754 = fdiv float %mul91.i.1753, %fabs.i.1681, !fpmath !46 %sub93.i.1755 = fsub float 2.000000e+00, %div92.i.1754 %cmp94.i.1756 = fcmp olt float %mul233.1680, 0.000000e+00 %cond98.i.1757 = select i1 %cmp94.i.1756, float %sub93.i.1755, float %div92.i.1754 %cmp99.i.1758 = fcmp olt float %fabs.i.1681, 2.800000e+01 %cond103.i.1759 = select i1 %cmp99.i.1758, float %cond98.i.1757, float 0.000000e+00 %sub104.i.1760 = fsub float 0x3FC3D4FA80000000, %div82.i.1697 %add105.i.1761 = fadd float %div82.i.1697, 0x3FEB0AC160000000 %add106.i.1762 = fadd float %add105.i.1761, 1.000000e+00 %cond111.i.1763 = select i1 %cmp94.i.1756, float %add106.i.1762, float %sub104.i.1760 %cond116.i.1764 = select i1 %cmp.i596.1686, float %cond111.i.1763, float %cond103.i.1759 %sub117.i.1765 = fadd float %mul233.1680, -5.000000e-01 %964 = tail call float @llvm.fmuladd.f32(float %mul233.1680, float %div82.i.1697, float %sub117.i.1765) #5 %sub119.i.1766 = fsub float 5.000000e-01, %964 %cond124.i.1767 = select i1 %cmp2.i.1688, float %sub119.i.1766, float %cond116.i.1764 %cmp125.i.1768 = fcmp olt float %mul233.1680, -6.000000e+00 %cond129.i.1769 = select i1 %cmp125.i.1768, float 2.000000e+00, float %cond124.i.1767 %cmp.i.i.1770 = fcmp uno float %mul233.1680, 0.000000e+00 %cond134.i.1771 = select i1 %cmp.i.i.1770, float %mul233.1680, float %cond129.i.1769 %mul236.1772 = fmul float %cond.1630, %nbparam_params_sh_ewald %neg237.1773 = fsub float -0.000000e+00, %mul236.1772 %965 = tail call float @llvm.fmuladd.f32(float %div198.1653, float %cond134.i.1771, float %neg237.1773) %966 = tail call float @llvm.fmuladd.f32(float %mul224.1672, float %965, float %E_el.6) %splat.splatinsert.1774 = insertelement <3 x float> undef, float %901, i32 0 %splat.splat.1775 = shufflevector <3 x float> %splat.splatinsert.1774, <3 x float> undef, <3 x i32> zeroinitializer %mul242.1776 = fmul <3 x float> %extractVec168.1639, %splat.splat.1775 %sub251.1777 = fsub <3 x float> zeroinitializer, %mul242.1776 %extractVec252.1778 = shufflevector <3 x float> %sub251.1777, <3 x float> undef, <4 x i32> %extractVec260.1782 = shufflevector <4 x float> %fci_buf.sroa.0.2, <4 x float> undef, <3 x i32> %add261.1783 = fadd <3 x float> %extractVec260.1782, %mul242.1776 %extractVec262.1784 = shufflevector <3 x float> %add261.1783, <3 x float> undef, <4 x i32> br label %if.end265.1790 if.end265.1790: ; preds = %if.then184.1785, %if.then149.1638, %if.then128.1 %fci_buf.sroa.0.4 = phi <4 x float> [ %fci_buf.sroa.0.2, %if.then128.1 ], [ %extractVec262.1784, %if.then184.1785 ], [ %fci_buf.sroa.0.2, %if.then149.1638 ] %E_el.5.1786 = phi float [ %E_el.6, %if.then128.1 ], [ %966, %if.then184.1785 ], [ %E_el.6, %if.then149.1638 ] %E_lj.3.1787 = phi float [ %E_lj.4, %if.then128.1 ], [ %add223.1671, %if.then184.1785 ], [ %E_lj.4, %if.then149.1638 ] %fcj_buf.sroa.0.1.1788 = phi <4 x float> [ , %if.then128.1 ], [ %extractVec252.1778, %if.then184.1785 ], [ , %if.then149.1638 ] %and147.1.1 = and i32 %64, 512 %tobool148.1.1 = icmp eq i32 %and147.1.1, 0 br i1 %tobool148.1.1, label %if.end265.1.1, label %if.then149.1.1 if.then149.1.1: ; preds = %if.end265.1790 %967 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.1.1 = fmul float %970, %970 %971 = tail call float @llvm.fmuladd.f32(float %969, float %969, float %mul3.i.i602.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 %and170.1.1 = and i32 %66, 512 %tobool171.1.1 = icmp ne i32 %and170.1.1, 0 %cond.1.1 = select i1 %tobool171.1.1, float 1.000000e+00, float 0.000000e+00 %cmp176.1.1 = icmp eq i32 %60, %868 %or.cond.1.1 = and i1 %cmp65, %cmp176.1.1 %not.or.cond.1.1 = xor i1 %or.cond.1.1, true %cmp178..1.1 = or i1 %cmp178, %not.or.cond.1.1 %conv180.1.1 = uitofp i1 %cmp178..1.1 to float %mul181.1.1 = fmul float %conv180.1.1, %nbparam_params_rcoulomb_sq %cmp182.1.1 = fcmp olt float %973, %mul181.1.1 br i1 %cmp182.1.1, label %if.then184.1.1, label %if.end265.1.1 if.then184.1.1: ; preds = %if.then149.1.1 %extractVec168.1.1 = shufflevector <4 x float> %968, <4 x float> undef, <3 x i32> %974 = extractelement <4 x float> %967, i32 3 %975 = load i32, i32 addrspace(1)* %arrayidx185.1.3, align 4, !tbaa !41 %mul186.1.1 = mul nsw i32 %975, %ntypes %add187.1.1 = add nsw i32 %mul186.1.1, %872 %mul188.1.1 = shl nsw i32 %add187.1.1, 1 %976 = sext i32 %mul188.1.1 to i64 %arrayidx189.1.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %976 %977 = load float, float addrspace(2)* %arrayidx189.1.1, align 4, !tbaa !39 %add193.1.1 = or i32 %mul188.1.1, 1 %978 = sext i32 %add193.1.1 to i64 %arrayidx194.1.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %978 %979 = load float, float addrspace(2)* %arrayidx194.1.1, align 4, !tbaa !39 %sub195.1.1 = fsub float 1.000000e+00, %cond.1.1 %980 = tail call float @llvm.fmuladd.f32(float %sub195.1.1, float 0x3D71979980000000, float %973) %cmp.i.i600.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 %div198.1.1 = select i1 %cmp.i.i600.1.1, float 0x7FF8000000000000, float %call.i.i.op.1.1 %mul199.1.1 = fmul float %div198.1.1, %div198.1.1 %mul200.1.1 = fmul float %mul199.1.1, %mul199.1.1 %mul201.1.1 = fmul float %mul199.1.1, %mul200.1.1 %mul202.1.1 = fmul float %cond.1.1, %mul201.1.1 %neg.1.1 = fsub float -0.000000e+00, %977 %981 = tail call float @llvm.fmuladd.f32(float %979, float %mul202.1.1, float %neg.1.1) %mul204.1.1 = fmul float %mul202.1.1, %981 %mul205.1.1 = fmul float %mul199.1.1, %mul204.1.1 %982 = tail call float @llvm.fmuladd.f32(float %mul202.1.1, float %mul202.1.1, float %nbparam_params_repulsion_shift_cpot) %mul209.1.1 = fmul float %982, %979 %add213.1.1 = fadd float %mul202.1.1, %nbparam_params_dispersion_shift_cpot %mul214.1.1 = fmul float %add213.1.1, %977 %mul215.1.1 = fmul float %mul214.1.1, 0x3FC5555560000000 %neg216.1.1 = fsub float -0.000000e+00, %mul215.1.1 %983 = tail call float @llvm.fmuladd.f32(float %mul209.1.1, float 0x3FB5555540000000, float %neg216.1.1) %mul217.1.1 = fmul float %cond.1.1, %983 %cmp218.1.1 = fcmp olt float %980, %nbparam_params_rvdw_sq %cond220.1.1 = select i1 %cmp218.1.1, float 1.000000e+00, float 0.000000e+00 %mul221.1.1 = fmul float %cond220.1.1, %mul205.1.1 %mul222.1.1 = fmul float %cond220.1.1, %mul217.1.1 %add223.1.1 = fadd float %E_lj.3.1787, %mul222.1.1 %mul224.1.1 = fmul float %871, %974 %mul225.1.1 = fmul float %cond.1.1, %mul199.1.1 %mul227.1.1 = fmul float %mul, %980 %mul.i598.1.1 = fmul float %mul227.1.1, %mul227.1.1 %984 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.1.1, float 0x3FBDA79640000000) #5 %985 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.1.1, float 0x3FE03C5780000000) #5 %986 = tail call float @llvm.fmuladd.f32(float %984, float %mul.i598.1.1, float 1.000000e+00) #5 %987 = tail call float @llvm.fmuladd.f32(float %985, float %mul227.1.1, float %986) #5 %div.i599.1.1 = fdiv float 1.000000e+00, %987, !fpmath !46 %988 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.1.1, float 0xBF0BFF7260000000) #5 %989 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.1.1, float 0x3F50794180000000) #5 %990 = tail call float @llvm.fmuladd.f32(float %988, float %mul.i598.1.1, float 0xBF93BDB200000000) #5 %991 = tail call float @llvm.fmuladd.f32(float %989, float %mul.i598.1.1, float 0x3FB1D5E760000000) #5 %992 = tail call float @llvm.fmuladd.f32(float %990, float %mul.i598.1.1, float 0xBFE81272E0000000) #5 %993 = tail call float @llvm.fmuladd.f32(float %991, float %mul227.1.1, float %992) #5 %mul11.i.1.1 = fmul float %993, %div.i599.1.1 %mul229.1.1 = fmul float %mul21, %mul11.i.1.1 %994 = tail call float @llvm.fmuladd.f32(float %mul225.1.1, float %div198.1.1, float %mul229.1.1) %995 = tail call float @llvm.fmuladd.f32(float %mul224.1.1, float %994, float %mul221.1.1) %mul232.1.1 = fmul float %980, %div198.1.1 %mul233.1.1 = fmul float %mul232.1.1, %nbparam_params_ewald_beta %fabs.i.1.1 = tail call float @llvm.fabs.f32(float %mul233.1.1) #5 %and.i.1.1 = bitcast float %fabs.i.1.1 to i32 %mul.i.1.1 = fmul float %mul233.1.1, %mul233.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.i596.1.1 = fcmp olt float %fabs.i.1.1, 1.250000e+00 %cond.i.1.1 = select i1 %cmp.i596.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.i596.1.1, float %1027, float %cond36.i.1.1 %cond62.i.1.1 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.1.1, float %cond111.i.1.1, float %cond103.i.1.1 %sub117.i.1.1 = fadd float %mul233.1.1, -5.000000e-01 %1058 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.1.1, 0.000000e+00 %cond134.i.1.1 = select i1 %cmp.i.i.1.1, float %mul233.1.1, float %cond129.i.1.1 %mul236.1.1 = fmul float %cond.1.1, %nbparam_params_sh_ewald %neg237.1.1 = fsub float -0.000000e+00, %mul236.1.1 %1059 = tail call float @llvm.fmuladd.f32(float %div198.1.1, float %cond134.i.1.1, float %neg237.1.1) %1060 = tail call float @llvm.fmuladd.f32(float %mul224.1.1, float %1059, float %E_el.5.1786) %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 %mul242.1.1 = fmul <3 x float> %extractVec168.1.1, %splat.splat.1.1 %extractVec250.1.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1788, <4 x float> undef, <3 x i32> %sub251.1.1 = fsub <3 x float> %extractVec250.1.1, %mul242.1.1 %extractVec252.1.1 = shufflevector <3 x float> %sub251.1.1, <3 x float> undef, <4 x i32> %extractVec260.1.1 = shufflevector <4 x float> %fci_buf.sroa.12.1, <4 x float> undef, <3 x i32> %add261.1.1 = fadd <3 x float> %extractVec260.1.1, %mul242.1.1 %extractVec262.1.1 = shufflevector <3 x float> %add261.1.1, <3 x float> undef, <4 x i32> br label %if.end265.1.1 if.end265.1.1: ; preds = %if.then184.1.1, %if.then149.1.1, %if.end265.1790 %fci_buf.sroa.12.4 = phi <4 x float> [ %fci_buf.sroa.12.1, %if.end265.1790 ], [ %extractVec262.1.1, %if.then184.1.1 ], [ %fci_buf.sroa.12.1, %if.then149.1.1 ] %E_el.5.1.1 = phi float [ %E_el.5.1786, %if.end265.1790 ], [ %1060, %if.then184.1.1 ], [ %E_el.5.1786, %if.then149.1.1 ] %E_lj.3.1.1 = phi float [ %E_lj.3.1787, %if.end265.1790 ], [ %add223.1.1, %if.then184.1.1 ], [ %E_lj.3.1787, %if.then149.1.1 ] %fcj_buf.sroa.0.1.1.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.1788, %if.end265.1790 ], [ %extractVec252.1.1, %if.then184.1.1 ], [ %fcj_buf.sroa.0.1.1788, %if.then149.1.1 ] %and147.2.1 = and i32 %64, 1024 %tobool148.2.1 = icmp eq i32 %and147.2.1, 0 br i1 %tobool148.2.1, label %if.end265.2.1, label %if.then149.2.1 if.then149.2.1: ; preds = %if.end265.1.1 %1061 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.2.1 = fmul float %1064, %1064 %1065 = tail call float @llvm.fmuladd.f32(float %1063, float %1063, float %mul3.i.i602.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 %and170.2.1 = and i32 %66, 1024 %tobool171.2.1 = icmp ne i32 %and170.2.1, 0 %cond.2.1 = select i1 %tobool171.2.1, float 1.000000e+00, float 0.000000e+00 %cmp176.2.1 = icmp eq i32 %58, %868 %or.cond.2.1 = and i1 %cmp65, %cmp176.2.1 %not.or.cond.2.1 = xor i1 %or.cond.2.1, true %cmp178..2.1 = or i1 %cmp178, %not.or.cond.2.1 %conv180.2.1 = uitofp i1 %cmp178..2.1 to float %mul181.2.1 = fmul float %conv180.2.1, %nbparam_params_rcoulomb_sq %cmp182.2.1 = fcmp olt float %1067, %mul181.2.1 br i1 %cmp182.2.1, label %if.then184.2.1, label %if.end265.2.1 if.then184.2.1: ; preds = %if.then149.2.1 %extractVec168.2.1 = shufflevector <4 x float> %1062, <4 x float> undef, <3 x i32> %1068 = extractelement <4 x float> %1061, i32 3 %1069 = load i32, i32 addrspace(1)* %arrayidx185.2.3, align 4, !tbaa !41 %mul186.2.1 = mul nsw i32 %1069, %ntypes %add187.2.1 = add nsw i32 %mul186.2.1, %872 %mul188.2.1 = shl nsw i32 %add187.2.1, 1 %1070 = sext i32 %mul188.2.1 to i64 %arrayidx189.2.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1070 %1071 = load float, float addrspace(2)* %arrayidx189.2.1, align 4, !tbaa !39 %add193.2.1 = or i32 %mul188.2.1, 1 %1072 = sext i32 %add193.2.1 to i64 %arrayidx194.2.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1072 %1073 = load float, float addrspace(2)* %arrayidx194.2.1, align 4, !tbaa !39 %sub195.2.1 = fsub float 1.000000e+00, %cond.2.1 %1074 = tail call float @llvm.fmuladd.f32(float %sub195.2.1, float 0x3D71979980000000, float %1067) %cmp.i.i600.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 %div198.2.1 = select i1 %cmp.i.i600.2.1, float 0x7FF8000000000000, float %call.i.i.op.2.1 %mul199.2.1 = fmul float %div198.2.1, %div198.2.1 %mul200.2.1 = fmul float %mul199.2.1, %mul199.2.1 %mul201.2.1 = fmul float %mul199.2.1, %mul200.2.1 %mul202.2.1 = fmul float %cond.2.1, %mul201.2.1 %neg.2.1 = fsub float -0.000000e+00, %1071 %1075 = tail call float @llvm.fmuladd.f32(float %1073, float %mul202.2.1, float %neg.2.1) %mul204.2.1 = fmul float %mul202.2.1, %1075 %mul205.2.1 = fmul float %mul199.2.1, %mul204.2.1 %1076 = tail call float @llvm.fmuladd.f32(float %mul202.2.1, float %mul202.2.1, float %nbparam_params_repulsion_shift_cpot) %mul209.2.1 = fmul float %1076, %1073 %add213.2.1 = fadd float %mul202.2.1, %nbparam_params_dispersion_shift_cpot %mul214.2.1 = fmul float %add213.2.1, %1071 %mul215.2.1 = fmul float %mul214.2.1, 0x3FC5555560000000 %neg216.2.1 = fsub float -0.000000e+00, %mul215.2.1 %1077 = tail call float @llvm.fmuladd.f32(float %mul209.2.1, float 0x3FB5555540000000, float %neg216.2.1) %mul217.2.1 = fmul float %cond.2.1, %1077 %cmp218.2.1 = fcmp olt float %1074, %nbparam_params_rvdw_sq %cond220.2.1 = select i1 %cmp218.2.1, float 1.000000e+00, float 0.000000e+00 %mul221.2.1 = fmul float %cond220.2.1, %mul205.2.1 %mul222.2.1 = fmul float %cond220.2.1, %mul217.2.1 %add223.2.1 = fadd float %E_lj.3.1.1, %mul222.2.1 %mul224.2.1 = fmul float %871, %1068 %mul225.2.1 = fmul float %cond.2.1, %mul199.2.1 %mul227.2.1 = fmul float %mul, %1074 %mul.i598.2.1 = fmul float %mul227.2.1, %mul227.2.1 %1078 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.2.1, float 0x3FBDA79640000000) #5 %1079 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.2.1, float 0x3FE03C5780000000) #5 %1080 = tail call float @llvm.fmuladd.f32(float %1078, float %mul.i598.2.1, float 1.000000e+00) #5 %1081 = tail call float @llvm.fmuladd.f32(float %1079, float %mul227.2.1, float %1080) #5 %div.i599.2.1 = fdiv float 1.000000e+00, %1081, !fpmath !46 %1082 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.2.1, float 0xBF0BFF7260000000) #5 %1083 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.2.1, float 0x3F50794180000000) #5 %1084 = tail call float @llvm.fmuladd.f32(float %1082, float %mul.i598.2.1, float 0xBF93BDB200000000) #5 %1085 = tail call float @llvm.fmuladd.f32(float %1083, float %mul.i598.2.1, float 0x3FB1D5E760000000) #5 %1086 = tail call float @llvm.fmuladd.f32(float %1084, float %mul.i598.2.1, float 0xBFE81272E0000000) #5 %1087 = tail call float @llvm.fmuladd.f32(float %1085, float %mul227.2.1, float %1086) #5 %mul11.i.2.1 = fmul float %1087, %div.i599.2.1 %mul229.2.1 = fmul float %mul21, %mul11.i.2.1 %1088 = tail call float @llvm.fmuladd.f32(float %mul225.2.1, float %div198.2.1, float %mul229.2.1) %1089 = tail call float @llvm.fmuladd.f32(float %mul224.2.1, float %1088, float %mul221.2.1) %mul232.2.1 = fmul float %1074, %div198.2.1 %mul233.2.1 = fmul float %mul232.2.1, %nbparam_params_ewald_beta %fabs.i.2.1 = tail call float @llvm.fabs.f32(float %mul233.2.1) #5 %and.i.2.1 = bitcast float %fabs.i.2.1 to i32 %mul.i.2.1 = fmul float %mul233.2.1, %mul233.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.i596.2.1 = fcmp olt float %fabs.i.2.1, 1.250000e+00 %cond.i.2.1 = select i1 %cmp.i596.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.i596.2.1, float %1121, float %cond36.i.2.1 %cond62.i.2.1 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.2.1, float %cond111.i.2.1, float %cond103.i.2.1 %sub117.i.2.1 = fadd float %mul233.2.1, -5.000000e-01 %1152 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.2.1, 0.000000e+00 %cond134.i.2.1 = select i1 %cmp.i.i.2.1, float %mul233.2.1, float %cond129.i.2.1 %mul236.2.1 = fmul float %cond.2.1, %nbparam_params_sh_ewald %neg237.2.1 = fsub float -0.000000e+00, %mul236.2.1 %1153 = tail call float @llvm.fmuladd.f32(float %div198.2.1, float %cond134.i.2.1, float %neg237.2.1) %1154 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.2.1 = fmul <3 x float> %extractVec168.2.1, %splat.splat.2.1 %extractVec250.2.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.1, <4 x float> undef, <3 x i32> %sub251.2.1 = fsub <3 x float> %extractVec250.2.1, %mul242.2.1 %extractVec252.2.1 = shufflevector <3 x float> %sub251.2.1, <3 x float> undef, <4 x i32> %extractVec260.2.1 = shufflevector <4 x float> %fci_buf.sroa.22.1, <4 x float> undef, <3 x i32> %add261.2.1 = fadd <3 x float> %extractVec260.2.1, %mul242.2.1 %extractVec262.2.1 = shufflevector <3 x float> %add261.2.1, <3 x float> undef, <4 x i32> br label %if.end265.2.1 if.end265.2.1: ; preds = %if.then184.2.1, %if.then149.2.1, %if.end265.1.1 %fci_buf.sroa.22.4 = phi <4 x float> [ %fci_buf.sroa.22.1, %if.end265.1.1 ], [ %extractVec262.2.1, %if.then184.2.1 ], [ %fci_buf.sroa.22.1, %if.then149.2.1 ] %E_el.5.2.1 = phi float [ %E_el.5.1.1, %if.end265.1.1 ], [ %1154, %if.then184.2.1 ], [ %E_el.5.1.1, %if.then149.2.1 ] %E_lj.3.2.1 = phi float [ %E_lj.3.1.1, %if.end265.1.1 ], [ %add223.2.1, %if.then184.2.1 ], [ %E_lj.3.1.1, %if.then149.2.1 ] %fcj_buf.sroa.0.1.2.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.1.1, %if.end265.1.1 ], [ %extractVec252.2.1, %if.then184.2.1 ], [ %fcj_buf.sroa.0.1.1.1, %if.then149.2.1 ] %and147.3.1 = and i32 %64, 2048 %tobool148.3.1 = icmp eq i32 %and147.3.1, 0 br i1 %tobool148.3.1, label %if.end265.3.1, label %if.then149.3.1 if.then149.3.1: ; preds = %if.end265.2.1 %1155 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.3.1 = fmul float %1158, %1158 %1159 = tail call float @llvm.fmuladd.f32(float %1157, float %1157, float %mul3.i.i602.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 %and170.3.1 = and i32 %66, 2048 %tobool171.3.1 = icmp ne i32 %and170.3.1, 0 %cond.3.1 = select i1 %tobool171.3.1, float 1.000000e+00, float 0.000000e+00 %cmp176.3.1 = icmp eq i32 %56, %868 %or.cond.3.1 = and i1 %cmp65, %cmp176.3.1 %not.or.cond.3.1 = xor i1 %or.cond.3.1, true %cmp178..3.1 = or i1 %cmp178, %not.or.cond.3.1 %conv180.3.1 = uitofp i1 %cmp178..3.1 to float %mul181.3.1 = fmul float %conv180.3.1, %nbparam_params_rcoulomb_sq %cmp182.3.1 = fcmp olt float %1161, %mul181.3.1 br i1 %cmp182.3.1, label %if.then184.3.1, label %if.end265.3.1 if.then184.3.1: ; preds = %if.then149.3.1 %extractVec168.3.1 = shufflevector <4 x float> %1156, <4 x float> undef, <3 x i32> %1162 = extractelement <4 x float> %1155, i32 3 %1163 = load i32, i32 addrspace(1)* %arrayidx185.3.3, align 4, !tbaa !41 %mul186.3.1 = mul nsw i32 %1163, %ntypes %add187.3.1 = add nsw i32 %mul186.3.1, %872 %mul188.3.1 = shl nsw i32 %add187.3.1, 1 %1164 = sext i32 %mul188.3.1 to i64 %arrayidx189.3.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1164 %1165 = load float, float addrspace(2)* %arrayidx189.3.1, align 4, !tbaa !39 %add193.3.1 = or i32 %mul188.3.1, 1 %1166 = sext i32 %add193.3.1 to i64 %arrayidx194.3.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1166 %1167 = load float, float addrspace(2)* %arrayidx194.3.1, align 4, !tbaa !39 %sub195.3.1 = fsub float 1.000000e+00, %cond.3.1 %1168 = tail call float @llvm.fmuladd.f32(float %sub195.3.1, float 0x3D71979980000000, float %1161) %cmp.i.i600.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 %div198.3.1 = select i1 %cmp.i.i600.3.1, float 0x7FF8000000000000, float %call.i.i.op.3.1 %mul199.3.1 = fmul float %div198.3.1, %div198.3.1 %mul200.3.1 = fmul float %mul199.3.1, %mul199.3.1 %mul201.3.1 = fmul float %mul199.3.1, %mul200.3.1 %mul202.3.1 = fmul float %cond.3.1, %mul201.3.1 %neg.3.1 = fsub float -0.000000e+00, %1165 %1169 = tail call float @llvm.fmuladd.f32(float %1167, float %mul202.3.1, float %neg.3.1) %mul204.3.1 = fmul float %mul202.3.1, %1169 %mul205.3.1 = fmul float %mul199.3.1, %mul204.3.1 %1170 = tail call float @llvm.fmuladd.f32(float %mul202.3.1, float %mul202.3.1, float %nbparam_params_repulsion_shift_cpot) %mul209.3.1 = fmul float %1170, %1167 %add213.3.1 = fadd float %mul202.3.1, %nbparam_params_dispersion_shift_cpot %mul214.3.1 = fmul float %add213.3.1, %1165 %mul215.3.1 = fmul float %mul214.3.1, 0x3FC5555560000000 %neg216.3.1 = fsub float -0.000000e+00, %mul215.3.1 %1171 = tail call float @llvm.fmuladd.f32(float %mul209.3.1, float 0x3FB5555540000000, float %neg216.3.1) %mul217.3.1 = fmul float %cond.3.1, %1171 %cmp218.3.1 = fcmp olt float %1168, %nbparam_params_rvdw_sq %cond220.3.1 = select i1 %cmp218.3.1, float 1.000000e+00, float 0.000000e+00 %mul221.3.1 = fmul float %cond220.3.1, %mul205.3.1 %mul222.3.1 = fmul float %cond220.3.1, %mul217.3.1 %add223.3.1 = fadd float %E_lj.3.2.1, %mul222.3.1 %mul224.3.1 = fmul float %871, %1162 %mul225.3.1 = fmul float %cond.3.1, %mul199.3.1 %mul227.3.1 = fmul float %mul, %1168 %mul.i598.3.1 = fmul float %mul227.3.1, %mul227.3.1 %1172 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.3.1, float 0x3FBDA79640000000) #5 %1173 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.3.1, float 0x3FE03C5780000000) #5 %1174 = tail call float @llvm.fmuladd.f32(float %1172, float %mul.i598.3.1, float 1.000000e+00) #5 %1175 = tail call float @llvm.fmuladd.f32(float %1173, float %mul227.3.1, float %1174) #5 %div.i599.3.1 = fdiv float 1.000000e+00, %1175, !fpmath !46 %1176 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.3.1, float 0xBF0BFF7260000000) #5 %1177 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.3.1, float 0x3F50794180000000) #5 %1178 = tail call float @llvm.fmuladd.f32(float %1176, float %mul.i598.3.1, float 0xBF93BDB200000000) #5 %1179 = tail call float @llvm.fmuladd.f32(float %1177, float %mul.i598.3.1, float 0x3FB1D5E760000000) #5 %1180 = tail call float @llvm.fmuladd.f32(float %1178, float %mul.i598.3.1, float 0xBFE81272E0000000) #5 %1181 = tail call float @llvm.fmuladd.f32(float %1179, float %mul227.3.1, float %1180) #5 %mul11.i.3.1 = fmul float %1181, %div.i599.3.1 %mul229.3.1 = fmul float %mul21, %mul11.i.3.1 %1182 = tail call float @llvm.fmuladd.f32(float %mul225.3.1, float %div198.3.1, float %mul229.3.1) %1183 = tail call float @llvm.fmuladd.f32(float %mul224.3.1, float %1182, float %mul221.3.1) %mul232.3.1 = fmul float %1168, %div198.3.1 %mul233.3.1 = fmul float %mul232.3.1, %nbparam_params_ewald_beta %fabs.i.3.1 = tail call float @llvm.fabs.f32(float %mul233.3.1) #5 %and.i.3.1 = bitcast float %fabs.i.3.1 to i32 %mul.i.3.1 = fmul float %mul233.3.1, %mul233.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.i596.3.1 = fcmp olt float %fabs.i.3.1, 1.250000e+00 %cond.i.3.1 = select i1 %cmp.i596.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.i596.3.1, float %1215, float %cond36.i.3.1 %cond62.i.3.1 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.3.1, float %cond111.i.3.1, float %cond103.i.3.1 %sub117.i.3.1 = fadd float %mul233.3.1, -5.000000e-01 %1246 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.3.1, 0.000000e+00 %cond134.i.3.1 = select i1 %cmp.i.i.3.1, float %mul233.3.1, float %cond129.i.3.1 %mul236.3.1 = fmul float %cond.3.1, %nbparam_params_sh_ewald %neg237.3.1 = fsub float -0.000000e+00, %mul236.3.1 %1247 = tail call float @llvm.fmuladd.f32(float %div198.3.1, float %cond134.i.3.1, float %neg237.3.1) %1248 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.3.1 = fmul <3 x float> %extractVec168.3.1, %splat.splat.3.1 %extractVec250.3.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.1, <4 x float> undef, <3 x i32> %sub251.3.1 = fsub <3 x float> %extractVec250.3.1, %mul242.3.1 %extractVec252.3.1 = shufflevector <3 x float> %sub251.3.1, <3 x float> undef, <4 x i32> %extractVec260.3.1 = shufflevector <4 x float> %fci_buf.sroa.32.1, <4 x float> undef, <3 x i32> %add261.3.1 = fadd <3 x float> %extractVec260.3.1, %mul242.3.1 %extractVec262.3.1 = shufflevector <3 x float> %add261.3.1, <3 x float> undef, <4 x i32> br label %if.end265.3.1 if.end265.3.1: ; preds = %if.then184.3.1, %if.then149.3.1, %if.end265.2.1 %fci_buf.sroa.32.4 = phi <4 x float> [ %fci_buf.sroa.32.1, %if.end265.2.1 ], [ %extractVec262.3.1, %if.then184.3.1 ], [ %fci_buf.sroa.32.1, %if.then149.3.1 ] %E_el.5.3.1 = phi float [ %E_el.5.2.1, %if.end265.2.1 ], [ %1248, %if.then184.3.1 ], [ %E_el.5.2.1, %if.then149.3.1 ] %E_lj.3.3.1 = phi float [ %E_lj.3.2.1, %if.end265.2.1 ], [ %add223.3.1, %if.then184.3.1 ], [ %E_lj.3.2.1, %if.then149.3.1 ] %fcj_buf.sroa.0.1.3.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.2.1, %if.end265.2.1 ], [ %extractVec252.3.1, %if.then184.3.1 ], [ %fcj_buf.sroa.0.1.2.1, %if.then149.3.1 ] %and147.4.1 = and i32 %64, 4096 %tobool148.4.1 = icmp eq i32 %and147.4.1, 0 br i1 %tobool148.4.1, label %if.end265.4.1, label %if.then149.4.1 if.then149.4.1: ; preds = %if.end265.3.1 %1249 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.4.1 = fmul float %1252, %1252 %1253 = tail call float @llvm.fmuladd.f32(float %1251, float %1251, float %mul3.i.i602.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 %and170.4.1 = and i32 %66, 4096 %tobool171.4.1 = icmp ne i32 %and170.4.1, 0 %cond.4.1 = select i1 %tobool171.4.1, float 1.000000e+00, float 0.000000e+00 %cmp176.4.1 = icmp eq i32 %54, %868 %or.cond.4.1 = and i1 %cmp65, %cmp176.4.1 %not.or.cond.4.1 = xor i1 %or.cond.4.1, true %cmp178..4.1 = or i1 %cmp178, %not.or.cond.4.1 %conv180.4.1 = uitofp i1 %cmp178..4.1 to float %mul181.4.1 = fmul float %conv180.4.1, %nbparam_params_rcoulomb_sq %cmp182.4.1 = fcmp olt float %1255, %mul181.4.1 br i1 %cmp182.4.1, label %if.then184.4.1, label %if.end265.4.1 if.then184.4.1: ; preds = %if.then149.4.1 %extractVec168.4.1 = shufflevector <4 x float> %1250, <4 x float> undef, <3 x i32> %1256 = extractelement <4 x float> %1249, i32 3 %1257 = load i32, i32 addrspace(1)* %arrayidx185.4.3, align 4, !tbaa !41 %mul186.4.1 = mul nsw i32 %1257, %ntypes %add187.4.1 = add nsw i32 %mul186.4.1, %872 %mul188.4.1 = shl nsw i32 %add187.4.1, 1 %1258 = sext i32 %mul188.4.1 to i64 %arrayidx189.4.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1258 %1259 = load float, float addrspace(2)* %arrayidx189.4.1, align 4, !tbaa !39 %add193.4.1 = or i32 %mul188.4.1, 1 %1260 = sext i32 %add193.4.1 to i64 %arrayidx194.4.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1260 %1261 = load float, float addrspace(2)* %arrayidx194.4.1, align 4, !tbaa !39 %sub195.4.1 = fsub float 1.000000e+00, %cond.4.1 %1262 = tail call float @llvm.fmuladd.f32(float %sub195.4.1, float 0x3D71979980000000, float %1255) %cmp.i.i600.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 %div198.4.1 = select i1 %cmp.i.i600.4.1, float 0x7FF8000000000000, float %call.i.i.op.4.1 %mul199.4.1 = fmul float %div198.4.1, %div198.4.1 %mul200.4.1 = fmul float %mul199.4.1, %mul199.4.1 %mul201.4.1 = fmul float %mul199.4.1, %mul200.4.1 %mul202.4.1 = fmul float %cond.4.1, %mul201.4.1 %neg.4.1 = fsub float -0.000000e+00, %1259 %1263 = tail call float @llvm.fmuladd.f32(float %1261, float %mul202.4.1, float %neg.4.1) %mul204.4.1 = fmul float %mul202.4.1, %1263 %mul205.4.1 = fmul float %mul199.4.1, %mul204.4.1 %1264 = tail call float @llvm.fmuladd.f32(float %mul202.4.1, float %mul202.4.1, float %nbparam_params_repulsion_shift_cpot) %mul209.4.1 = fmul float %1264, %1261 %add213.4.1 = fadd float %mul202.4.1, %nbparam_params_dispersion_shift_cpot %mul214.4.1 = fmul float %add213.4.1, %1259 %mul215.4.1 = fmul float %mul214.4.1, 0x3FC5555560000000 %neg216.4.1 = fsub float -0.000000e+00, %mul215.4.1 %1265 = tail call float @llvm.fmuladd.f32(float %mul209.4.1, float 0x3FB5555540000000, float %neg216.4.1) %mul217.4.1 = fmul float %cond.4.1, %1265 %cmp218.4.1 = fcmp olt float %1262, %nbparam_params_rvdw_sq %cond220.4.1 = select i1 %cmp218.4.1, float 1.000000e+00, float 0.000000e+00 %mul221.4.1 = fmul float %cond220.4.1, %mul205.4.1 %mul222.4.1 = fmul float %cond220.4.1, %mul217.4.1 %add223.4.1 = fadd float %E_lj.3.3.1, %mul222.4.1 %mul224.4.1 = fmul float %871, %1256 %mul225.4.1 = fmul float %cond.4.1, %mul199.4.1 %mul227.4.1 = fmul float %mul, %1262 %mul.i598.4.1 = fmul float %mul227.4.1, %mul227.4.1 %1266 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.4.1, float 0x3FBDA79640000000) #5 %1267 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.4.1, float 0x3FE03C5780000000) #5 %1268 = tail call float @llvm.fmuladd.f32(float %1266, float %mul.i598.4.1, float 1.000000e+00) #5 %1269 = tail call float @llvm.fmuladd.f32(float %1267, float %mul227.4.1, float %1268) #5 %div.i599.4.1 = fdiv float 1.000000e+00, %1269, !fpmath !46 %1270 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.4.1, float 0xBF0BFF7260000000) #5 %1271 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.4.1, float 0x3F50794180000000) #5 %1272 = tail call float @llvm.fmuladd.f32(float %1270, float %mul.i598.4.1, float 0xBF93BDB200000000) #5 %1273 = tail call float @llvm.fmuladd.f32(float %1271, float %mul.i598.4.1, float 0x3FB1D5E760000000) #5 %1274 = tail call float @llvm.fmuladd.f32(float %1272, float %mul.i598.4.1, float 0xBFE81272E0000000) #5 %1275 = tail call float @llvm.fmuladd.f32(float %1273, float %mul227.4.1, float %1274) #5 %mul11.i.4.1 = fmul float %1275, %div.i599.4.1 %mul229.4.1 = fmul float %mul21, %mul11.i.4.1 %1276 = tail call float @llvm.fmuladd.f32(float %mul225.4.1, float %div198.4.1, float %mul229.4.1) %1277 = tail call float @llvm.fmuladd.f32(float %mul224.4.1, float %1276, float %mul221.4.1) %mul232.4.1 = fmul float %1262, %div198.4.1 %mul233.4.1 = fmul float %mul232.4.1, %nbparam_params_ewald_beta %fabs.i.4.1 = tail call float @llvm.fabs.f32(float %mul233.4.1) #5 %and.i.4.1 = bitcast float %fabs.i.4.1 to i32 %mul.i.4.1 = fmul float %mul233.4.1, %mul233.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.i596.4.1 = fcmp olt float %fabs.i.4.1, 1.250000e+00 %cond.i.4.1 = select i1 %cmp.i596.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.i596.4.1, float %1309, float %cond36.i.4.1 %cond62.i.4.1 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.4.1, float %cond111.i.4.1, float %cond103.i.4.1 %sub117.i.4.1 = fadd float %mul233.4.1, -5.000000e-01 %1340 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.4.1, 0.000000e+00 %cond134.i.4.1 = select i1 %cmp.i.i.4.1, float %mul233.4.1, float %cond129.i.4.1 %mul236.4.1 = fmul float %cond.4.1, %nbparam_params_sh_ewald %neg237.4.1 = fsub float -0.000000e+00, %mul236.4.1 %1341 = tail call float @llvm.fmuladd.f32(float %div198.4.1, float %cond134.i.4.1, float %neg237.4.1) %1342 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.4.1 = fmul <3 x float> %extractVec168.4.1, %splat.splat.4.1 %extractVec250.4.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.1, <4 x float> undef, <3 x i32> %sub251.4.1 = fsub <3 x float> %extractVec250.4.1, %mul242.4.1 %extractVec252.4.1 = shufflevector <3 x float> %sub251.4.1, <3 x float> undef, <4 x i32> %extractVec260.4.1 = shufflevector <4 x float> %fci_buf.sroa.42.1, <4 x float> undef, <3 x i32> %add261.4.1 = fadd <3 x float> %extractVec260.4.1, %mul242.4.1 %extractVec262.4.1 = shufflevector <3 x float> %add261.4.1, <3 x float> undef, <4 x i32> br label %if.end265.4.1 if.end265.4.1: ; preds = %if.then184.4.1, %if.then149.4.1, %if.end265.3.1 %fci_buf.sroa.42.4 = phi <4 x float> [ %fci_buf.sroa.42.1, %if.end265.3.1 ], [ %extractVec262.4.1, %if.then184.4.1 ], [ %fci_buf.sroa.42.1, %if.then149.4.1 ] %E_el.5.4.1 = phi float [ %E_el.5.3.1, %if.end265.3.1 ], [ %1342, %if.then184.4.1 ], [ %E_el.5.3.1, %if.then149.4.1 ] %E_lj.3.4.1 = phi float [ %E_lj.3.3.1, %if.end265.3.1 ], [ %add223.4.1, %if.then184.4.1 ], [ %E_lj.3.3.1, %if.then149.4.1 ] %fcj_buf.sroa.0.1.4.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.3.1, %if.end265.3.1 ], [ %extractVec252.4.1, %if.then184.4.1 ], [ %fcj_buf.sroa.0.1.3.1, %if.then149.4.1 ] %and147.5.1 = and i32 %64, 8192 %tobool148.5.1 = icmp eq i32 %and147.5.1, 0 br i1 %tobool148.5.1, label %if.end265.5.1, label %if.then149.5.1 if.then149.5.1: ; preds = %if.end265.4.1 %1343 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.5.1 = fmul float %1346, %1346 %1347 = tail call float @llvm.fmuladd.f32(float %1345, float %1345, float %mul3.i.i602.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 %and170.5.1 = and i32 %66, 8192 %tobool171.5.1 = icmp ne i32 %and170.5.1, 0 %cond.5.1 = select i1 %tobool171.5.1, float 1.000000e+00, float 0.000000e+00 %cmp176.5.1 = icmp eq i32 %52, %868 %or.cond.5.1 = and i1 %cmp65, %cmp176.5.1 %not.or.cond.5.1 = xor i1 %or.cond.5.1, true %cmp178..5.1 = or i1 %cmp178, %not.or.cond.5.1 %conv180.5.1 = uitofp i1 %cmp178..5.1 to float %mul181.5.1 = fmul float %conv180.5.1, %nbparam_params_rcoulomb_sq %cmp182.5.1 = fcmp olt float %1349, %mul181.5.1 br i1 %cmp182.5.1, label %if.then184.5.1, label %if.end265.5.1 if.then184.5.1: ; preds = %if.then149.5.1 %extractVec168.5.1 = shufflevector <4 x float> %1344, <4 x float> undef, <3 x i32> %1350 = extractelement <4 x float> %1343, i32 3 %1351 = load i32, i32 addrspace(1)* %arrayidx185.5.3, align 4, !tbaa !41 %mul186.5.1 = mul nsw i32 %1351, %ntypes %add187.5.1 = add nsw i32 %mul186.5.1, %872 %mul188.5.1 = shl nsw i32 %add187.5.1, 1 %1352 = sext i32 %mul188.5.1 to i64 %arrayidx189.5.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1352 %1353 = load float, float addrspace(2)* %arrayidx189.5.1, align 4, !tbaa !39 %add193.5.1 = or i32 %mul188.5.1, 1 %1354 = sext i32 %add193.5.1 to i64 %arrayidx194.5.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1354 %1355 = load float, float addrspace(2)* %arrayidx194.5.1, align 4, !tbaa !39 %sub195.5.1 = fsub float 1.000000e+00, %cond.5.1 %1356 = tail call float @llvm.fmuladd.f32(float %sub195.5.1, float 0x3D71979980000000, float %1349) %cmp.i.i600.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 %div198.5.1 = select i1 %cmp.i.i600.5.1, float 0x7FF8000000000000, float %call.i.i.op.5.1 %mul199.5.1 = fmul float %div198.5.1, %div198.5.1 %mul200.5.1 = fmul float %mul199.5.1, %mul199.5.1 %mul201.5.1 = fmul float %mul199.5.1, %mul200.5.1 %mul202.5.1 = fmul float %cond.5.1, %mul201.5.1 %neg.5.1 = fsub float -0.000000e+00, %1353 %1357 = tail call float @llvm.fmuladd.f32(float %1355, float %mul202.5.1, float %neg.5.1) %mul204.5.1 = fmul float %mul202.5.1, %1357 %mul205.5.1 = fmul float %mul199.5.1, %mul204.5.1 %1358 = tail call float @llvm.fmuladd.f32(float %mul202.5.1, float %mul202.5.1, float %nbparam_params_repulsion_shift_cpot) %mul209.5.1 = fmul float %1358, %1355 %add213.5.1 = fadd float %mul202.5.1, %nbparam_params_dispersion_shift_cpot %mul214.5.1 = fmul float %add213.5.1, %1353 %mul215.5.1 = fmul float %mul214.5.1, 0x3FC5555560000000 %neg216.5.1 = fsub float -0.000000e+00, %mul215.5.1 %1359 = tail call float @llvm.fmuladd.f32(float %mul209.5.1, float 0x3FB5555540000000, float %neg216.5.1) %mul217.5.1 = fmul float %cond.5.1, %1359 %cmp218.5.1 = fcmp olt float %1356, %nbparam_params_rvdw_sq %cond220.5.1 = select i1 %cmp218.5.1, float 1.000000e+00, float 0.000000e+00 %mul221.5.1 = fmul float %cond220.5.1, %mul205.5.1 %mul222.5.1 = fmul float %cond220.5.1, %mul217.5.1 %add223.5.1 = fadd float %E_lj.3.4.1, %mul222.5.1 %mul224.5.1 = fmul float %871, %1350 %mul225.5.1 = fmul float %cond.5.1, %mul199.5.1 %mul227.5.1 = fmul float %mul, %1356 %mul.i598.5.1 = fmul float %mul227.5.1, %mul227.5.1 %1360 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.5.1, float 0x3FBDA79640000000) #5 %1361 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.5.1, float 0x3FE03C5780000000) #5 %1362 = tail call float @llvm.fmuladd.f32(float %1360, float %mul.i598.5.1, float 1.000000e+00) #5 %1363 = tail call float @llvm.fmuladd.f32(float %1361, float %mul227.5.1, float %1362) #5 %div.i599.5.1 = fdiv float 1.000000e+00, %1363, !fpmath !46 %1364 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.5.1, float 0xBF0BFF7260000000) #5 %1365 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.5.1, float 0x3F50794180000000) #5 %1366 = tail call float @llvm.fmuladd.f32(float %1364, float %mul.i598.5.1, float 0xBF93BDB200000000) #5 %1367 = tail call float @llvm.fmuladd.f32(float %1365, float %mul.i598.5.1, float 0x3FB1D5E760000000) #5 %1368 = tail call float @llvm.fmuladd.f32(float %1366, float %mul.i598.5.1, float 0xBFE81272E0000000) #5 %1369 = tail call float @llvm.fmuladd.f32(float %1367, float %mul227.5.1, float %1368) #5 %mul11.i.5.1 = fmul float %1369, %div.i599.5.1 %mul229.5.1 = fmul float %mul21, %mul11.i.5.1 %1370 = tail call float @llvm.fmuladd.f32(float %mul225.5.1, float %div198.5.1, float %mul229.5.1) %1371 = tail call float @llvm.fmuladd.f32(float %mul224.5.1, float %1370, float %mul221.5.1) %mul232.5.1 = fmul float %1356, %div198.5.1 %mul233.5.1 = fmul float %mul232.5.1, %nbparam_params_ewald_beta %fabs.i.5.1 = tail call float @llvm.fabs.f32(float %mul233.5.1) #5 %and.i.5.1 = bitcast float %fabs.i.5.1 to i32 %mul.i.5.1 = fmul float %mul233.5.1, %mul233.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.i596.5.1 = fcmp olt float %fabs.i.5.1, 1.250000e+00 %cond.i.5.1 = select i1 %cmp.i596.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.i596.5.1, float %1403, float %cond36.i.5.1 %cond62.i.5.1 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.5.1, float %cond111.i.5.1, float %cond103.i.5.1 %sub117.i.5.1 = fadd float %mul233.5.1, -5.000000e-01 %1434 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.5.1, 0.000000e+00 %cond134.i.5.1 = select i1 %cmp.i.i.5.1, float %mul233.5.1, float %cond129.i.5.1 %mul236.5.1 = fmul float %cond.5.1, %nbparam_params_sh_ewald %neg237.5.1 = fsub float -0.000000e+00, %mul236.5.1 %1435 = tail call float @llvm.fmuladd.f32(float %div198.5.1, float %cond134.i.5.1, float %neg237.5.1) %1436 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.5.1 = fmul <3 x float> %extractVec168.5.1, %splat.splat.5.1 %extractVec250.5.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.1, <4 x float> undef, <3 x i32> %sub251.5.1 = fsub <3 x float> %extractVec250.5.1, %mul242.5.1 %extractVec252.5.1 = shufflevector <3 x float> %sub251.5.1, <3 x float> undef, <4 x i32> %extractVec260.5.1 = shufflevector <4 x float> %fci_buf.sroa.52.1, <4 x float> undef, <3 x i32> %add261.5.1 = fadd <3 x float> %extractVec260.5.1, %mul242.5.1 %extractVec262.5.1 = shufflevector <3 x float> %add261.5.1, <3 x float> undef, <4 x i32> br label %if.end265.5.1 if.end265.5.1: ; preds = %if.then184.5.1, %if.then149.5.1, %if.end265.4.1 %fci_buf.sroa.52.4 = phi <4 x float> [ %fci_buf.sroa.52.1, %if.end265.4.1 ], [ %extractVec262.5.1, %if.then184.5.1 ], [ %fci_buf.sroa.52.1, %if.then149.5.1 ] %E_el.5.5.1 = phi float [ %E_el.5.4.1, %if.end265.4.1 ], [ %1436, %if.then184.5.1 ], [ %E_el.5.4.1, %if.then149.5.1 ] %E_lj.3.5.1 = phi float [ %E_lj.3.4.1, %if.end265.4.1 ], [ %add223.5.1, %if.then184.5.1 ], [ %E_lj.3.4.1, %if.then149.5.1 ] %fcj_buf.sroa.0.1.5.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.4.1, %if.end265.4.1 ], [ %extractVec252.5.1, %if.then184.5.1 ], [ %fcj_buf.sroa.0.1.4.1, %if.then149.5.1 ] %and147.6.1 = and i32 %64, 16384 %tobool148.6.1 = icmp eq i32 %and147.6.1, 0 br i1 %tobool148.6.1, label %if.end265.6.1, label %if.then149.6.1 if.then149.6.1: ; preds = %if.end265.5.1 %1437 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.6.1 = fmul float %1440, %1440 %1441 = tail call float @llvm.fmuladd.f32(float %1439, float %1439, float %mul3.i.i602.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 %and170.6.1 = and i32 %66, 16384 %tobool171.6.1 = icmp ne i32 %and170.6.1, 0 %cond.6.1 = select i1 %tobool171.6.1, float 1.000000e+00, float 0.000000e+00 %cmp176.6.1 = icmp eq i32 %50, %868 %or.cond.6.1 = and i1 %cmp65, %cmp176.6.1 %not.or.cond.6.1 = xor i1 %or.cond.6.1, true %cmp178..6.1 = or i1 %cmp178, %not.or.cond.6.1 %conv180.6.1 = uitofp i1 %cmp178..6.1 to float %mul181.6.1 = fmul float %conv180.6.1, %nbparam_params_rcoulomb_sq %cmp182.6.1 = fcmp olt float %1443, %mul181.6.1 br i1 %cmp182.6.1, label %if.then184.6.1, label %if.end265.6.1 if.then184.6.1: ; preds = %if.then149.6.1 %extractVec168.6.1 = shufflevector <4 x float> %1438, <4 x float> undef, <3 x i32> %1444 = extractelement <4 x float> %1437, i32 3 %1445 = load i32, i32 addrspace(1)* %arrayidx185.6.3, align 4, !tbaa !41 %mul186.6.1 = mul nsw i32 %1445, %ntypes %add187.6.1 = add nsw i32 %mul186.6.1, %872 %mul188.6.1 = shl nsw i32 %add187.6.1, 1 %1446 = sext i32 %mul188.6.1 to i64 %arrayidx189.6.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1446 %1447 = load float, float addrspace(2)* %arrayidx189.6.1, align 4, !tbaa !39 %add193.6.1 = or i32 %mul188.6.1, 1 %1448 = sext i32 %add193.6.1 to i64 %arrayidx194.6.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1448 %1449 = load float, float addrspace(2)* %arrayidx194.6.1, align 4, !tbaa !39 %sub195.6.1 = fsub float 1.000000e+00, %cond.6.1 %1450 = tail call float @llvm.fmuladd.f32(float %sub195.6.1, float 0x3D71979980000000, float %1443) %cmp.i.i600.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 %div198.6.1 = select i1 %cmp.i.i600.6.1, float 0x7FF8000000000000, float %call.i.i.op.6.1 %mul199.6.1 = fmul float %div198.6.1, %div198.6.1 %mul200.6.1 = fmul float %mul199.6.1, %mul199.6.1 %mul201.6.1 = fmul float %mul199.6.1, %mul200.6.1 %mul202.6.1 = fmul float %cond.6.1, %mul201.6.1 %neg.6.1 = fsub float -0.000000e+00, %1447 %1451 = tail call float @llvm.fmuladd.f32(float %1449, float %mul202.6.1, float %neg.6.1) %mul204.6.1 = fmul float %mul202.6.1, %1451 %mul205.6.1 = fmul float %mul199.6.1, %mul204.6.1 %1452 = tail call float @llvm.fmuladd.f32(float %mul202.6.1, float %mul202.6.1, float %nbparam_params_repulsion_shift_cpot) %mul209.6.1 = fmul float %1452, %1449 %add213.6.1 = fadd float %mul202.6.1, %nbparam_params_dispersion_shift_cpot %mul214.6.1 = fmul float %add213.6.1, %1447 %mul215.6.1 = fmul float %mul214.6.1, 0x3FC5555560000000 %neg216.6.1 = fsub float -0.000000e+00, %mul215.6.1 %1453 = tail call float @llvm.fmuladd.f32(float %mul209.6.1, float 0x3FB5555540000000, float %neg216.6.1) %mul217.6.1 = fmul float %cond.6.1, %1453 %cmp218.6.1 = fcmp olt float %1450, %nbparam_params_rvdw_sq %cond220.6.1 = select i1 %cmp218.6.1, float 1.000000e+00, float 0.000000e+00 %mul221.6.1 = fmul float %cond220.6.1, %mul205.6.1 %mul222.6.1 = fmul float %cond220.6.1, %mul217.6.1 %add223.6.1 = fadd float %E_lj.3.5.1, %mul222.6.1 %mul224.6.1 = fmul float %871, %1444 %mul225.6.1 = fmul float %cond.6.1, %mul199.6.1 %mul227.6.1 = fmul float %mul, %1450 %mul.i598.6.1 = fmul float %mul227.6.1, %mul227.6.1 %1454 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.6.1, float 0x3FBDA79640000000) #5 %1455 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.6.1, float 0x3FE03C5780000000) #5 %1456 = tail call float @llvm.fmuladd.f32(float %1454, float %mul.i598.6.1, float 1.000000e+00) #5 %1457 = tail call float @llvm.fmuladd.f32(float %1455, float %mul227.6.1, float %1456) #5 %div.i599.6.1 = fdiv float 1.000000e+00, %1457, !fpmath !46 %1458 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.6.1, float 0xBF0BFF7260000000) #5 %1459 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.6.1, float 0x3F50794180000000) #5 %1460 = tail call float @llvm.fmuladd.f32(float %1458, float %mul.i598.6.1, float 0xBF93BDB200000000) #5 %1461 = tail call float @llvm.fmuladd.f32(float %1459, float %mul.i598.6.1, float 0x3FB1D5E760000000) #5 %1462 = tail call float @llvm.fmuladd.f32(float %1460, float %mul.i598.6.1, float 0xBFE81272E0000000) #5 %1463 = tail call float @llvm.fmuladd.f32(float %1461, float %mul227.6.1, float %1462) #5 %mul11.i.6.1 = fmul float %1463, %div.i599.6.1 %mul229.6.1 = fmul float %mul21, %mul11.i.6.1 %1464 = tail call float @llvm.fmuladd.f32(float %mul225.6.1, float %div198.6.1, float %mul229.6.1) %1465 = tail call float @llvm.fmuladd.f32(float %mul224.6.1, float %1464, float %mul221.6.1) %mul232.6.1 = fmul float %1450, %div198.6.1 %mul233.6.1 = fmul float %mul232.6.1, %nbparam_params_ewald_beta %fabs.i.6.1 = tail call float @llvm.fabs.f32(float %mul233.6.1) #5 %and.i.6.1 = bitcast float %fabs.i.6.1 to i32 %mul.i.6.1 = fmul float %mul233.6.1, %mul233.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.i596.6.1 = fcmp olt float %fabs.i.6.1, 1.250000e+00 %cond.i.6.1 = select i1 %cmp.i596.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.i596.6.1, float %1497, float %cond36.i.6.1 %cond62.i.6.1 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.6.1, float %cond111.i.6.1, float %cond103.i.6.1 %sub117.i.6.1 = fadd float %mul233.6.1, -5.000000e-01 %1528 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.6.1, 0.000000e+00 %cond134.i.6.1 = select i1 %cmp.i.i.6.1, float %mul233.6.1, float %cond129.i.6.1 %mul236.6.1 = fmul float %cond.6.1, %nbparam_params_sh_ewald %neg237.6.1 = fsub float -0.000000e+00, %mul236.6.1 %1529 = tail call float @llvm.fmuladd.f32(float %div198.6.1, float %cond134.i.6.1, float %neg237.6.1) %1530 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.6.1 = fmul <3 x float> %extractVec168.6.1, %splat.splat.6.1 %extractVec250.6.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.1, <4 x float> undef, <3 x i32> %sub251.6.1 = fsub <3 x float> %extractVec250.6.1, %mul242.6.1 %extractVec252.6.1 = shufflevector <3 x float> %sub251.6.1, <3 x float> undef, <4 x i32> %extractVec260.6.1 = shufflevector <4 x float> %fci_buf.sroa.62.1, <4 x float> undef, <3 x i32> %add261.6.1 = fadd <3 x float> %extractVec260.6.1, %mul242.6.1 %extractVec262.6.1 = shufflevector <3 x float> %add261.6.1, <3 x float> undef, <4 x i32> br label %if.end265.6.1 if.end265.6.1: ; preds = %if.then184.6.1, %if.then149.6.1, %if.end265.5.1 %fci_buf.sroa.62.4 = phi <4 x float> [ %fci_buf.sroa.62.1, %if.end265.5.1 ], [ %extractVec262.6.1, %if.then184.6.1 ], [ %fci_buf.sroa.62.1, %if.then149.6.1 ] %E_el.5.6.1 = phi float [ %E_el.5.5.1, %if.end265.5.1 ], [ %1530, %if.then184.6.1 ], [ %E_el.5.5.1, %if.then149.6.1 ] %E_lj.3.6.1 = phi float [ %E_lj.3.5.1, %if.end265.5.1 ], [ %add223.6.1, %if.then184.6.1 ], [ %E_lj.3.5.1, %if.then149.6.1 ] %fcj_buf.sroa.0.1.6.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.5.1, %if.end265.5.1 ], [ %extractVec252.6.1, %if.then184.6.1 ], [ %fcj_buf.sroa.0.1.5.1, %if.then149.6.1 ] %and147.7.1 = and i32 %64, 32768 %tobool148.7.1 = icmp eq i32 %and147.7.1, 0 br i1 %tobool148.7.1, label %if.end265.7.1, label %if.then149.7.1 if.then149.7.1: ; preds = %if.end265.6.1 %1531 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.7.1 = fmul float %1534, %1534 %1535 = tail call float @llvm.fmuladd.f32(float %1533, float %1533, float %mul3.i.i602.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 %and170.7.1 = and i32 %66, 32768 %tobool171.7.1 = icmp ne i32 %and170.7.1, 0 %cond.7.1 = select i1 %tobool171.7.1, float 1.000000e+00, float 0.000000e+00 %cmp176.7.1 = icmp eq i32 %48, %868 %or.cond.7.1 = and i1 %cmp65, %cmp176.7.1 %not.or.cond.7.1 = xor i1 %or.cond.7.1, true %cmp178..7.1 = or i1 %cmp178, %not.or.cond.7.1 %conv180.7.1 = uitofp i1 %cmp178..7.1 to float %mul181.7.1 = fmul float %conv180.7.1, %nbparam_params_rcoulomb_sq %cmp182.7.1 = fcmp olt float %1537, %mul181.7.1 br i1 %cmp182.7.1, label %if.then184.7.1, label %if.end265.7.1 if.then184.7.1: ; preds = %if.then149.7.1 %extractVec168.7.1 = shufflevector <4 x float> %1532, <4 x float> undef, <3 x i32> %1538 = extractelement <4 x float> %1531, i32 3 %1539 = load i32, i32 addrspace(1)* %arrayidx185.7.3, align 4, !tbaa !41 %mul186.7.1 = mul nsw i32 %1539, %ntypes %add187.7.1 = add nsw i32 %mul186.7.1, %872 %mul188.7.1 = shl nsw i32 %add187.7.1, 1 %1540 = sext i32 %mul188.7.1 to i64 %arrayidx189.7.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1540 %1541 = load float, float addrspace(2)* %arrayidx189.7.1, align 4, !tbaa !39 %add193.7.1 = or i32 %mul188.7.1, 1 %1542 = sext i32 %add193.7.1 to i64 %arrayidx194.7.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1542 %1543 = load float, float addrspace(2)* %arrayidx194.7.1, align 4, !tbaa !39 %sub195.7.1 = fsub float 1.000000e+00, %cond.7.1 %1544 = tail call float @llvm.fmuladd.f32(float %sub195.7.1, float 0x3D71979980000000, float %1537) %cmp.i.i600.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 %div198.7.1 = select i1 %cmp.i.i600.7.1, float 0x7FF8000000000000, float %call.i.i.op.7.1 %mul199.7.1 = fmul float %div198.7.1, %div198.7.1 %mul200.7.1 = fmul float %mul199.7.1, %mul199.7.1 %mul201.7.1 = fmul float %mul199.7.1, %mul200.7.1 %mul202.7.1 = fmul float %cond.7.1, %mul201.7.1 %neg.7.1 = fsub float -0.000000e+00, %1541 %1545 = tail call float @llvm.fmuladd.f32(float %1543, float %mul202.7.1, float %neg.7.1) %mul204.7.1 = fmul float %mul202.7.1, %1545 %mul205.7.1 = fmul float %mul199.7.1, %mul204.7.1 %1546 = tail call float @llvm.fmuladd.f32(float %mul202.7.1, float %mul202.7.1, float %nbparam_params_repulsion_shift_cpot) %mul209.7.1 = fmul float %1546, %1543 %add213.7.1 = fadd float %mul202.7.1, %nbparam_params_dispersion_shift_cpot %mul214.7.1 = fmul float %add213.7.1, %1541 %mul215.7.1 = fmul float %mul214.7.1, 0x3FC5555560000000 %neg216.7.1 = fsub float -0.000000e+00, %mul215.7.1 %1547 = tail call float @llvm.fmuladd.f32(float %mul209.7.1, float 0x3FB5555540000000, float %neg216.7.1) %mul217.7.1 = fmul float %cond.7.1, %1547 %cmp218.7.1 = fcmp olt float %1544, %nbparam_params_rvdw_sq %cond220.7.1 = select i1 %cmp218.7.1, float 1.000000e+00, float 0.000000e+00 %mul221.7.1 = fmul float %cond220.7.1, %mul205.7.1 %mul222.7.1 = fmul float %cond220.7.1, %mul217.7.1 %add223.7.1 = fadd float %E_lj.3.6.1, %mul222.7.1 %mul224.7.1 = fmul float %871, %1538 %mul225.7.1 = fmul float %cond.7.1, %mul199.7.1 %mul227.7.1 = fmul float %mul, %1544 %mul.i598.7.1 = fmul float %mul227.7.1, %mul227.7.1 %1548 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.7.1, float 0x3FBDA79640000000) #5 %1549 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.7.1, float 0x3FE03C5780000000) #5 %1550 = tail call float @llvm.fmuladd.f32(float %1548, float %mul.i598.7.1, float 1.000000e+00) #5 %1551 = tail call float @llvm.fmuladd.f32(float %1549, float %mul227.7.1, float %1550) #5 %div.i599.7.1 = fdiv float 1.000000e+00, %1551, !fpmath !46 %1552 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.7.1, float 0xBF0BFF7260000000) #5 %1553 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.7.1, float 0x3F50794180000000) #5 %1554 = tail call float @llvm.fmuladd.f32(float %1552, float %mul.i598.7.1, float 0xBF93BDB200000000) #5 %1555 = tail call float @llvm.fmuladd.f32(float %1553, float %mul.i598.7.1, float 0x3FB1D5E760000000) #5 %1556 = tail call float @llvm.fmuladd.f32(float %1554, float %mul.i598.7.1, float 0xBFE81272E0000000) #5 %1557 = tail call float @llvm.fmuladd.f32(float %1555, float %mul227.7.1, float %1556) #5 %mul11.i.7.1 = fmul float %1557, %div.i599.7.1 %mul229.7.1 = fmul float %mul21, %mul11.i.7.1 %1558 = tail call float @llvm.fmuladd.f32(float %mul225.7.1, float %div198.7.1, float %mul229.7.1) %1559 = tail call float @llvm.fmuladd.f32(float %mul224.7.1, float %1558, float %mul221.7.1) %mul232.7.1 = fmul float %1544, %div198.7.1 %mul233.7.1 = fmul float %mul232.7.1, %nbparam_params_ewald_beta %fabs.i.7.1 = tail call float @llvm.fabs.f32(float %mul233.7.1) #5 %and.i.7.1 = bitcast float %fabs.i.7.1 to i32 %mul.i.7.1 = fmul float %mul233.7.1, %mul233.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.i596.7.1 = fcmp olt float %fabs.i.7.1, 1.250000e+00 %cond.i.7.1 = select i1 %cmp.i596.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.i596.7.1, float %1591, float %cond36.i.7.1 %cond62.i.7.1 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.7.1, float %cond111.i.7.1, float %cond103.i.7.1 %sub117.i.7.1 = fadd float %mul233.7.1, -5.000000e-01 %1622 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.7.1, 0.000000e+00 %cond134.i.7.1 = select i1 %cmp.i.i.7.1, float %mul233.7.1, float %cond129.i.7.1 %mul236.7.1 = fmul float %cond.7.1, %nbparam_params_sh_ewald %neg237.7.1 = fsub float -0.000000e+00, %mul236.7.1 %1623 = tail call float @llvm.fmuladd.f32(float %div198.7.1, float %cond134.i.7.1, float %neg237.7.1) %1624 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.7.1 = fmul <3 x float> %extractVec168.7.1, %splat.splat.7.1 %extractVec250.7.1 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.1, <4 x float> undef, <3 x i32> %sub251.7.1 = fsub <3 x float> %extractVec250.7.1, %mul242.7.1 %extractVec252.7.1 = shufflevector <3 x float> %sub251.7.1, <3 x float> undef, <4 x i32> %extractVec260.7.1 = shufflevector <4 x float> %fci_buf.sroa.72.1, <4 x float> undef, <3 x i32> %add261.7.1 = fadd <3 x float> %extractVec260.7.1, %mul242.7.1 %extractVec262.7.1 = shufflevector <3 x float> %add261.7.1, <3 x float> undef, <4 x i32> br label %if.end265.7.1 if.end265.7.1: ; preds = %if.then184.7.1, %if.then149.7.1, %if.end265.6.1 %fci_buf.sroa.72.5 = phi <4 x float> [ %fci_buf.sroa.72.1, %if.end265.6.1 ], [ %extractVec262.7.1, %if.then184.7.1 ], [ %fci_buf.sroa.72.1, %if.then149.7.1 ] %E_el.5.7.1 = phi float [ %E_el.5.6.1, %if.end265.6.1 ], [ %1624, %if.then184.7.1 ], [ %E_el.5.6.1, %if.then149.7.1 ] %E_lj.3.7.1 = phi float [ %E_lj.3.6.1, %if.end265.6.1 ], [ %add223.7.1, %if.then184.7.1 ], [ %E_lj.3.6.1, %if.then149.7.1 ] %fcj_buf.sroa.0.1.7.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.1, %if.end265.6.1 ], [ %extractVec252.7.1, %if.then184.7.1 ], [ %fcj_buf.sroa.0.1.6.1, %if.then149.7.1 ] %1625 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 0 store float %1625, float addrspace(3)* %arrayidx270, align 4, !tbaa !39 %1626 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 1 store float %1626, float addrspace(3)* %arrayidx272, align 4, !tbaa !39 %1627 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.1, i32 2 store float %1627, float addrspace(3)* %arrayidx274, 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 %add138.1) br label %for.inc276.1 for.inc276.1: ; preds = %if.end265.7.1, %for.inc276 %fci_buf.sroa.72.6 = phi <4 x float> [ %fci_buf.sroa.72.1, %for.inc276 ], [ %fci_buf.sroa.72.5, %if.end265.7.1 ] %fci_buf.sroa.62.5 = phi <4 x float> [ %fci_buf.sroa.62.1, %for.inc276 ], [ %fci_buf.sroa.62.4, %if.end265.7.1 ] %fci_buf.sroa.52.5 = phi <4 x float> [ %fci_buf.sroa.52.1, %for.inc276 ], [ %fci_buf.sroa.52.4, %if.end265.7.1 ] %fci_buf.sroa.42.5 = phi <4 x float> [ %fci_buf.sroa.42.1, %for.inc276 ], [ %fci_buf.sroa.42.4, %if.end265.7.1 ] %fci_buf.sroa.32.5 = phi <4 x float> [ %fci_buf.sroa.32.1, %for.inc276 ], [ %fci_buf.sroa.32.4, %if.end265.7.1 ] %fci_buf.sroa.22.5 = phi <4 x float> [ %fci_buf.sroa.22.1, %for.inc276 ], [ %fci_buf.sroa.22.4, %if.end265.7.1 ] %fci_buf.sroa.12.5 = phi <4 x float> [ %fci_buf.sroa.12.1, %for.inc276 ], [ %fci_buf.sroa.12.4, %if.end265.7.1 ] %fci_buf.sroa.0.5 = phi <4 x float> [ %fci_buf.sroa.0.2, %for.inc276 ], [ %fci_buf.sroa.0.4, %if.end265.7.1 ] %E_el.6.1 = phi float [ %E_el.6, %for.inc276 ], [ %E_el.5.7.1, %if.end265.7.1 ] %E_lj.4.1 = phi float [ %E_lj.4, %for.inc276 ], [ %E_lj.3.7.1, %if.end265.7.1 ] %and126.2 = and i32 %64, 16711680 %tobool127.2 = icmp eq i32 %and126.2, 0 br i1 %tobool127.2, label %for.inc276.2, label %if.then128.2 if.then128.2: ; preds = %for.inc276.1 %1628 = load i32, i32 addrspace(3)* %arrayidx136.2, align 4, !tbaa !41 %mul137.2 = shl nsw i32 %1628, 3 %add138.2 = add i32 %mul137.2, %y.i %1629 = sext i32 %add138.2 to i64 %arrayidx139.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %1629 %1630 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx139.2, align 16, !tbaa !36 %1631 = extractelement <4 x float> %1630, i32 3 %arrayidx141.2 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %1629 %1632 = load i32, i32 addrspace(1)* %arrayidx141.2, align 4, !tbaa !41 %and147.2791 = and i32 %64, 65536 %tobool148.2792 = icmp eq i32 %and147.2791, 0 br i1 %tobool148.2792, label %if.end265.2957, label %if.then149.2805 if.then149.2805: ; preds = %if.then128.2 %1633 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.3960, 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.i602.2794 = fmul float %1636, %1636 %1637 = tail call float @llvm.fmuladd.f32(float %1635, float %1635, float %mul3.i.i602.2794) #5 %1638 = extractelement <4 x float> %1634, i32 2 %1639 = tail call float @llvm.fmuladd.f32(float %1638, float %1638, float %1637) #5 %and170.2795 = and i32 %66, 65536 %tobool171.2796 = icmp ne i32 %and170.2795, 0 %cond.2797 = select i1 %tobool171.2796, float 1.000000e+00, float 0.000000e+00 %cmp176.2798 = icmp eq i32 %mul33, %1628 %or.cond.2799 = and i1 %cmp65, %cmp176.2798 %not.or.cond.2800 = xor i1 %or.cond.2799, true %cmp178..2801 = or i1 %cmp178, %not.or.cond.2800 %conv180.2802 = uitofp i1 %cmp178..2801 to float %mul181.2803 = fmul float %conv180.2802, %nbparam_params_rcoulomb_sq %cmp182.2804 = fcmp olt float %1639, %mul181.2803 br i1 %cmp182.2804, label %if.then184.2952, label %if.end265.2957 if.then184.2952: ; preds = %if.then149.2805 %extractVec168.2806 = shufflevector <4 x float> %1634, <4 x float> undef, <3 x i32> %1640 = extractelement <4 x float> %1633, i32 3 %1641 = load i32, i32 addrspace(1)* %arrayidx185.3976, align 4, !tbaa !41 %mul186.2810 = mul nsw i32 %1641, %ntypes %add187.2811 = add nsw i32 %mul186.2810, %1632 %mul188.2812 = shl nsw i32 %add187.2811, 1 %1642 = sext i32 %mul188.2812 to i64 %arrayidx189.2813 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1642 %1643 = load float, float addrspace(2)* %arrayidx189.2813, align 4, !tbaa !39 %add193.2814 = or i32 %mul188.2812, 1 %1644 = sext i32 %add193.2814 to i64 %arrayidx194.2815 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1644 %1645 = load float, float addrspace(2)* %arrayidx194.2815, align 4, !tbaa !39 %sub195.2816 = fsub float 1.000000e+00, %cond.2797 %1646 = tail call float @llvm.fmuladd.f32(float %sub195.2816, float 0x3D71979980000000, float %1639) %cmp.i.i600.2817 = fcmp olt float %1646, 0.000000e+00 %call.i.i.2818 = tail call float @llvm.sqrt.f32(float %1646) #6 %call.i.i.op.2819 = fdiv float 1.000000e+00, %call.i.i.2818 %div198.2820 = select i1 %cmp.i.i600.2817, float 0x7FF8000000000000, float %call.i.i.op.2819 %mul199.2821 = fmul float %div198.2820, %div198.2820 %mul200.2822 = fmul float %mul199.2821, %mul199.2821 %mul201.2823 = fmul float %mul199.2821, %mul200.2822 %mul202.2824 = fmul float %cond.2797, %mul201.2823 %neg.2825 = fsub float -0.000000e+00, %1643 %1647 = tail call float @llvm.fmuladd.f32(float %1645, float %mul202.2824, float %neg.2825) %mul204.2826 = fmul float %mul202.2824, %1647 %mul205.2827 = fmul float %mul199.2821, %mul204.2826 %1648 = tail call float @llvm.fmuladd.f32(float %mul202.2824, float %mul202.2824, float %nbparam_params_repulsion_shift_cpot) %mul209.2828 = fmul float %1648, %1645 %add213.2829 = fadd float %mul202.2824, %nbparam_params_dispersion_shift_cpot %mul214.2830 = fmul float %add213.2829, %1643 %mul215.2831 = fmul float %mul214.2830, 0x3FC5555560000000 %neg216.2832 = fsub float -0.000000e+00, %mul215.2831 %1649 = tail call float @llvm.fmuladd.f32(float %mul209.2828, float 0x3FB5555540000000, float %neg216.2832) %mul217.2833 = fmul float %cond.2797, %1649 %cmp218.2834 = fcmp olt float %1646, %nbparam_params_rvdw_sq %cond220.2835 = select i1 %cmp218.2834, float 1.000000e+00, float 0.000000e+00 %mul221.2836 = fmul float %cond220.2835, %mul205.2827 %mul222.2837 = fmul float %cond220.2835, %mul217.2833 %add223.2838 = fadd float %E_lj.4.1, %mul222.2837 %mul224.2839 = fmul float %1631, %1640 %mul225.2840 = fmul float %cond.2797, %mul199.2821 %mul227.2841 = fmul float %mul, %1646 %mul.i598.2842 = fmul float %mul227.2841, %mul227.2841 %1650 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.2842, float 0x3FBDA79640000000) #5 %1651 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.2842, float 0x3FE03C5780000000) #5 %1652 = tail call float @llvm.fmuladd.f32(float %1650, float %mul.i598.2842, float 1.000000e+00) #5 %1653 = tail call float @llvm.fmuladd.f32(float %1651, float %mul227.2841, float %1652) #5 %div.i599.2843 = fdiv float 1.000000e+00, %1653, !fpmath !46 %1654 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.2842, float 0xBF0BFF7260000000) #5 %1655 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.2842, float 0x3F50794180000000) #5 %1656 = tail call float @llvm.fmuladd.f32(float %1654, float %mul.i598.2842, float 0xBF93BDB200000000) #5 %1657 = tail call float @llvm.fmuladd.f32(float %1655, float %mul.i598.2842, float 0x3FB1D5E760000000) #5 %1658 = tail call float @llvm.fmuladd.f32(float %1656, float %mul.i598.2842, float 0xBFE81272E0000000) #5 %1659 = tail call float @llvm.fmuladd.f32(float %1657, float %mul227.2841, float %1658) #5 %mul11.i.2844 = fmul float %1659, %div.i599.2843 %mul229.2845 = fmul float %mul21, %mul11.i.2844 %1660 = tail call float @llvm.fmuladd.f32(float %mul225.2840, float %div198.2820, float %mul229.2845) %1661 = tail call float @llvm.fmuladd.f32(float %mul224.2839, float %1660, float %mul221.2836) %mul232.2846 = fmul float %1646, %div198.2820 %mul233.2847 = fmul float %mul232.2846, %nbparam_params_ewald_beta %fabs.i.2848 = tail call float @llvm.fabs.f32(float %mul233.2847) #5 %and.i.2849 = bitcast float %fabs.i.2848 to i32 %mul.i.2850 = fmul float %mul233.2847, %mul233.2847 %div.i.2851 = fdiv float 1.000000e+00, %mul.i.2850, !fpmath !46 %sub.i.2852 = fadd float %fabs.i.2848, -1.000000e+00 %cmp.i596.2853 = fcmp olt float %fabs.i.2848, 1.250000e+00 %cond.i.2854 = select i1 %cmp.i596.2853, float %sub.i.2852, float %div.i.2851 %cmp2.i.2855 = fcmp olt float %fabs.i.2848, 8.437500e-01 %cond6.i.2856 = select i1 %cmp2.i.2855, float %mul.i.2850, float %cond.i.2854 %1662 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %1663 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1662, float 0xC083EC8820000000) #5 %1664 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1663, float 0xC064145D40000000) #5 %1665 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1664, float 0xC031C20960000000) #5 %1666 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1665, float 0xBFE993BA80000000) #5 %1667 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1666, float 0xBF84341240000000) #5 %1668 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %1669 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1668, float 0x40A3F219C0000000) #5 %1670 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1669, float 0x40A8FFB760000000) #5 %1671 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1670, float 0x409802EB20000000) #5 %1672 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1671, float 0x40745CAE20000000) #5 %1673 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1672, float 0x403E568B20000000) #5 %1674 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %1675 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1674, float 0xC067135CE0000000) #5 %1676 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1675, float 0xC0644CB180000000) #5 %1677 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1676, float 0xC04F300AE0000000) #5 %1678 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1677, float 0xC0251E0440000000) #5 %1679 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1678, float 0xBFE63416E0000000) #5 %1680 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1679, float 0xBF84341260000000) #5 %1681 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %1682 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1681, float 0x405B28A3E0000000) #5 %1683 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1682, float 0x407AD02160000000) #5 %1684 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1683, float 0x40842B1920000000) #5 %1685 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1684, float 0x407B290DE0000000) #5 %1686 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1685, float 0x4061350C60000000) #5 %1687 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1686, float 0x4033A6B9C0000000) #5 %cmp32.i.2857 = fcmp olt float %fabs.i.2848, 0x4006DB6DA0000000 %cond36.i.2858 = select i1 %cmp32.i.2857, float %1680, float %1667 %cond41.i.2859 = select i1 %cmp32.i.2857, float %1687, float %1673 %1688 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %1689 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1688, float 0xBFBC639840000000) #5 %1690 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1689, float 0x3FD45FCA80000000) #5 %1691 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1690, float 0xBFD7D24100000000) #5 %1692 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1691, float 0x3FDA8D00A0000000) #5 %1693 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1692, float 0xBF6359B8C0000000) #5 %1694 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %1695 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1694, float 0x3FC02660E0000000) #5 %1696 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1695, float 0x3FB2635CE0000000) #5 %1697 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1696, float 0x3FE14AF0A0000000) #5 %1698 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1697, float 0x3FBB3E6620000000) #5 %cond57.i.2860 = select i1 %cmp.i596.2853, float %1693, float %cond36.i.2858 %cond62.i.2861 = select i1 %cmp.i596.2853, float %1698, float %cond41.i.2859 %1699 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %1700 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1699, float 0xBF9D2A51E0000000) #5 %1701 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1700, float 0xBFD4CD7D60000000) #5 %1702 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1701, float 0x3FC06EBA80000000) #5 %1703 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %1704 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1703, float 0x3F74D022C0000000) #5 %1705 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1704, float 0x3FB0A54C60000000) #5 %1706 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %1705, float 0x3FD97779C0000000) #5 %cond75.i.2862 = select i1 %cmp2.i.2855, float %1702, float %cond57.i.2860 %cond80.i.2863 = select i1 %cmp2.i.2855, float %1706, float %cond62.i.2861 %1707 = tail call float @llvm.fmuladd.f32(float %cond6.i.2856, float %cond80.i.2863, float 1.000000e+00) #5 %div82.i.2864 = fdiv float %cond75.i.2862, %1707, !fpmath !46 %and83.i.2865 = and i32 %and.i.2849, -4096 %astype84.i.2866 = bitcast i32 %and83.i.2865 to float %sub85.i.2867 = fsub float -0.000000e+00, %astype84.i.2866 %1708 = tail call float @llvm.fmuladd.f32(float %sub85.i.2867, float %astype84.i.2866, float -5.625000e-01) #5 %cmp.i2.i.2868 = fcmp olt float %1708, 0.000000e+00 %cond.i3.i.2869 = select i1 %cmp.i2.i.2868, float -5.000000e-01, float 5.000000e-01 %1709 = tail call float @llvm.fmuladd.f32(float %1708, float 0x3FF7154760000000, float %cond.i3.i.2869) #5 %conv.i4.i.2870 = fptosi float %1709 to i32 %conv1.i5.i.2871 = sitofp i32 %conv.i4.i.2870 to float %1710 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.2871, float 0xBFE62E3000000000, float %1708) #5 %mul.i6.i.2872 = fmul float %conv1.i5.i.2871, 0xBEE2FEFA20000000 %add.i7.i.2873 = fadd float %1710, %mul.i6.i.2872 %mul3.i8.i.2874 = fmul float %add.i7.i.2873, %add.i7.i.2873 %1711 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2874, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %1712 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2874, float %1711, float 0x3F11566AA0000000) #5 %1713 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2874, float %1712, float 0xBF66C16C20000000) #5 %1714 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2874, float %1713, float 0x3FC5555560000000) #5 %sub8.i9.i.2875 = fsub float -0.000000e+00, %1714 %1715 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2874, float %sub8.i9.i.2875, float %add.i7.i.2873) #5 %sub10.i10.i.2876 = fsub float -0.000000e+00, %mul.i6.i.2872 %mul11.i11.i.2877 = fmul float %add.i7.i.2873, %1715 %sub12.i12.i.2878 = fsub float 2.000000e+00, %1715 %div.i13.i.2879 = fdiv float %mul11.i11.i.2877, %sub12.i12.i.2878, !fpmath !46 %sub13.i14.i.2880 = fsub float %sub10.i10.i.2876, %div.i13.i.2879 %sub14.i15.i.2881 = fsub float %sub13.i14.i.2880, %1710 %sub15.i16.i.2882 = fsub float 1.000000e+00, %sub14.i15.i.2881 %astype.i17.i.2883 = bitcast float %sub15.i16.i.2882 to i32 %shl.i18.i.2884 = shl i32 %conv.i4.i.2870, 23 %add16.i19.i.2885 = add nsw i32 %astype.i17.i.2883, %shl.i18.i.2884 %astype17.i20.i.2886 = bitcast i32 %add16.i19.i.2885 to float %cmp18.i21.i.2887 = fcmp olt float %1708, 0xC055D589E0000000 %cond20.i22.i.2888 = select i1 %cmp18.i21.i.2887, float 0.000000e+00, float %astype17.i20.i.2886 %cmp21.i23.i.2889 = fcmp olt float %1708, 0x40562E4300000000 %cond26.i24.i.2890 = select i1 %cmp21.i23.i.2889, float %cond20.i22.i.2888, float 0x7FF0000000000000 %cmp.i.i25.i.2891 = fcmp uno float %1708, 0.000000e+00 %cond31.i26.i.2892 = select i1 %cmp.i.i25.i.2891, float %1708, float %cond26.i24.i.2890 %sub88.i.2893 = fsub float %astype84.i.2866, %fabs.i.2848 %add.i597.2894 = fadd float %fabs.i.2848, %astype84.i.2866 %1716 = tail call float @llvm.fmuladd.f32(float %sub88.i.2893, float %add.i597.2894, float %div82.i.2864) #5 %cmp.i1.i.2895 = fcmp olt float %1716, 0.000000e+00 %cond.i.i.2896 = select i1 %cmp.i1.i.2895, float -5.000000e-01, float 5.000000e-01 %1717 = tail call float @llvm.fmuladd.f32(float %1716, float 0x3FF7154760000000, float %cond.i.i.2896) #5 %conv.i.i.2897 = fptosi float %1717 to i32 %conv1.i.i.2898 = sitofp i32 %conv.i.i.2897 to float %1718 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.2898, float 0xBFE62E3000000000, float %1716) #5 %mul.i.i.2899 = fmul float %conv1.i.i.2898, 0xBEE2FEFA20000000 %add.i.i.2900 = fadd float %1718, %mul.i.i.2899 %mul3.i.i.2901 = fmul float %add.i.i.2900, %add.i.i.2900 %1719 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2901, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %1720 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2901, float %1719, float 0x3F11566AA0000000) #5 %1721 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2901, float %1720, float 0xBF66C16C20000000) #5 %1722 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2901, float %1721, float 0x3FC5555560000000) #5 %sub8.i.i.2902 = fsub float -0.000000e+00, %1722 %1723 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2901, float %sub8.i.i.2902, float %add.i.i.2900) #5 %sub10.i.i.2903 = fsub float -0.000000e+00, %mul.i.i.2899 %mul11.i.i.2904 = fmul float %add.i.i.2900, %1723 %sub12.i.i.2905 = fsub float 2.000000e+00, %1723 %div.i.i.2906 = fdiv float %mul11.i.i.2904, %sub12.i.i.2905, !fpmath !46 %sub13.i.i.2907 = fsub float %sub10.i.i.2903, %div.i.i.2906 %sub14.i.i.2908 = fsub float %sub13.i.i.2907, %1718 %sub15.i.i.2909 = fsub float 1.000000e+00, %sub14.i.i.2908 %astype.i.i.2910 = bitcast float %sub15.i.i.2909 to i32 %shl.i.i.2911 = shl i32 %conv.i.i.2897, 23 %add16.i.i.2912 = add nsw i32 %astype.i.i.2910, %shl.i.i.2911 %astype17.i.i.2913 = bitcast i32 %add16.i.i.2912 to float %cmp18.i.i.2914 = fcmp olt float %1716, 0xC055D589E0000000 %cond20.i.i.2915 = select i1 %cmp18.i.i.2914, float 0.000000e+00, float %astype17.i.i.2913 %cmp21.i.i.2916 = fcmp olt float %1716, 0x40562E4300000000 %cond26.i.i.2917 = select i1 %cmp21.i.i.2916, float %cond20.i.i.2915, float 0x7FF0000000000000 %cmp.i.i.i.2918 = fcmp uno float %1716, 0.000000e+00 %cond31.i.i.2919 = select i1 %cmp.i.i.i.2918, float %1716, float %cond26.i.i.2917 %mul91.i.2920 = fmul float %cond31.i26.i.2892, %cond31.i.i.2919 %div92.i.2921 = fdiv float %mul91.i.2920, %fabs.i.2848, !fpmath !46 %sub93.i.2922 = fsub float 2.000000e+00, %div92.i.2921 %cmp94.i.2923 = fcmp olt float %mul233.2847, 0.000000e+00 %cond98.i.2924 = select i1 %cmp94.i.2923, float %sub93.i.2922, float %div92.i.2921 %cmp99.i.2925 = fcmp olt float %fabs.i.2848, 2.800000e+01 %cond103.i.2926 = select i1 %cmp99.i.2925, float %cond98.i.2924, float 0.000000e+00 %sub104.i.2927 = fsub float 0x3FC3D4FA80000000, %div82.i.2864 %add105.i.2928 = fadd float %div82.i.2864, 0x3FEB0AC160000000 %add106.i.2929 = fadd float %add105.i.2928, 1.000000e+00 %cond111.i.2930 = select i1 %cmp94.i.2923, float %add106.i.2929, float %sub104.i.2927 %cond116.i.2931 = select i1 %cmp.i596.2853, float %cond111.i.2930, float %cond103.i.2926 %sub117.i.2932 = fadd float %mul233.2847, -5.000000e-01 %1724 = tail call float @llvm.fmuladd.f32(float %mul233.2847, float %div82.i.2864, float %sub117.i.2932) #5 %sub119.i.2933 = fsub float 5.000000e-01, %1724 %cond124.i.2934 = select i1 %cmp2.i.2855, float %sub119.i.2933, float %cond116.i.2931 %cmp125.i.2935 = fcmp olt float %mul233.2847, -6.000000e+00 %cond129.i.2936 = select i1 %cmp125.i.2935, float 2.000000e+00, float %cond124.i.2934 %cmp.i.i.2937 = fcmp uno float %mul233.2847, 0.000000e+00 %cond134.i.2938 = select i1 %cmp.i.i.2937, float %mul233.2847, float %cond129.i.2936 %mul236.2939 = fmul float %cond.2797, %nbparam_params_sh_ewald %neg237.2940 = fsub float -0.000000e+00, %mul236.2939 %1725 = tail call float @llvm.fmuladd.f32(float %div198.2820, float %cond134.i.2938, float %neg237.2940) %1726 = tail call float @llvm.fmuladd.f32(float %mul224.2839, float %1725, float %E_el.6.1) %splat.splatinsert.2941 = insertelement <3 x float> undef, float %1661, i32 0 %splat.splat.2942 = shufflevector <3 x float> %splat.splatinsert.2941, <3 x float> undef, <3 x i32> zeroinitializer %mul242.2943 = fmul <3 x float> %extractVec168.2806, %splat.splat.2942 %sub251.2944 = fsub <3 x float> zeroinitializer, %mul242.2943 %extractVec252.2945 = shufflevector <3 x float> %sub251.2944, <3 x float> undef, <4 x i32> %extractVec260.2949 = shufflevector <4 x float> %fci_buf.sroa.0.5, <4 x float> undef, <3 x i32> %add261.2950 = fadd <3 x float> %extractVec260.2949, %mul242.2943 %extractVec262.2951 = shufflevector <3 x float> %add261.2950, <3 x float> undef, <4 x i32> br label %if.end265.2957 if.end265.2957: ; preds = %if.then184.2952, %if.then149.2805, %if.then128.2 %fci_buf.sroa.0.6 = phi <4 x float> [ %fci_buf.sroa.0.5, %if.then128.2 ], [ %extractVec262.2951, %if.then184.2952 ], [ %fci_buf.sroa.0.5, %if.then149.2805 ] %E_el.5.2953 = phi float [ %E_el.6.1, %if.then128.2 ], [ %1726, %if.then184.2952 ], [ %E_el.6.1, %if.then149.2805 ] %E_lj.3.2954 = phi float [ %E_lj.4.1, %if.then128.2 ], [ %add223.2838, %if.then184.2952 ], [ %E_lj.4.1, %if.then149.2805 ] %fcj_buf.sroa.0.1.2955 = phi <4 x float> [ , %if.then128.2 ], [ %extractVec252.2945, %if.then184.2952 ], [ , %if.then149.2805 ] %and147.1.2 = and i32 %64, 131072 %tobool148.1.2 = icmp eq i32 %and147.1.2, 0 br i1 %tobool148.1.2, label %if.end265.1.2, label %if.then149.1.2 if.then149.1.2: ; preds = %if.end265.2957 %1727 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.1.2 = fmul float %1730, %1730 %1731 = tail call float @llvm.fmuladd.f32(float %1729, float %1729, float %mul3.i.i602.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 %and170.1.2 = and i32 %66, 131072 %tobool171.1.2 = icmp ne i32 %and170.1.2, 0 %cond.1.2 = select i1 %tobool171.1.2, float 1.000000e+00, float 0.000000e+00 %cmp176.1.2 = icmp eq i32 %60, %1628 %or.cond.1.2 = and i1 %cmp65, %cmp176.1.2 %not.or.cond.1.2 = xor i1 %or.cond.1.2, true %cmp178..1.2 = or i1 %cmp178, %not.or.cond.1.2 %conv180.1.2 = uitofp i1 %cmp178..1.2 to float %mul181.1.2 = fmul float %conv180.1.2, %nbparam_params_rcoulomb_sq %cmp182.1.2 = fcmp olt float %1733, %mul181.1.2 br i1 %cmp182.1.2, label %if.then184.1.2, label %if.end265.1.2 if.then184.1.2: ; preds = %if.then149.1.2 %extractVec168.1.2 = shufflevector <4 x float> %1728, <4 x float> undef, <3 x i32> %1734 = extractelement <4 x float> %1727, i32 3 %1735 = load i32, i32 addrspace(1)* %arrayidx185.1.3, align 4, !tbaa !41 %mul186.1.2 = mul nsw i32 %1735, %ntypes %add187.1.2 = add nsw i32 %mul186.1.2, %1632 %mul188.1.2 = shl nsw i32 %add187.1.2, 1 %1736 = sext i32 %mul188.1.2 to i64 %arrayidx189.1.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1736 %1737 = load float, float addrspace(2)* %arrayidx189.1.2, align 4, !tbaa !39 %add193.1.2 = or i32 %mul188.1.2, 1 %1738 = sext i32 %add193.1.2 to i64 %arrayidx194.1.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1738 %1739 = load float, float addrspace(2)* %arrayidx194.1.2, align 4, !tbaa !39 %sub195.1.2 = fsub float 1.000000e+00, %cond.1.2 %1740 = tail call float @llvm.fmuladd.f32(float %sub195.1.2, float 0x3D71979980000000, float %1733) %cmp.i.i600.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 %div198.1.2 = select i1 %cmp.i.i600.1.2, float 0x7FF8000000000000, float %call.i.i.op.1.2 %mul199.1.2 = fmul float %div198.1.2, %div198.1.2 %mul200.1.2 = fmul float %mul199.1.2, %mul199.1.2 %mul201.1.2 = fmul float %mul199.1.2, %mul200.1.2 %mul202.1.2 = fmul float %cond.1.2, %mul201.1.2 %neg.1.2 = fsub float -0.000000e+00, %1737 %1741 = tail call float @llvm.fmuladd.f32(float %1739, float %mul202.1.2, float %neg.1.2) %mul204.1.2 = fmul float %mul202.1.2, %1741 %mul205.1.2 = fmul float %mul199.1.2, %mul204.1.2 %1742 = tail call float @llvm.fmuladd.f32(float %mul202.1.2, float %mul202.1.2, float %nbparam_params_repulsion_shift_cpot) %mul209.1.2 = fmul float %1742, %1739 %add213.1.2 = fadd float %mul202.1.2, %nbparam_params_dispersion_shift_cpot %mul214.1.2 = fmul float %add213.1.2, %1737 %mul215.1.2 = fmul float %mul214.1.2, 0x3FC5555560000000 %neg216.1.2 = fsub float -0.000000e+00, %mul215.1.2 %1743 = tail call float @llvm.fmuladd.f32(float %mul209.1.2, float 0x3FB5555540000000, float %neg216.1.2) %mul217.1.2 = fmul float %cond.1.2, %1743 %cmp218.1.2 = fcmp olt float %1740, %nbparam_params_rvdw_sq %cond220.1.2 = select i1 %cmp218.1.2, float 1.000000e+00, float 0.000000e+00 %mul221.1.2 = fmul float %cond220.1.2, %mul205.1.2 %mul222.1.2 = fmul float %cond220.1.2, %mul217.1.2 %add223.1.2 = fadd float %E_lj.3.2954, %mul222.1.2 %mul224.1.2 = fmul float %1631, %1734 %mul225.1.2 = fmul float %cond.1.2, %mul199.1.2 %mul227.1.2 = fmul float %mul, %1740 %mul.i598.1.2 = fmul float %mul227.1.2, %mul227.1.2 %1744 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.1.2, float 0x3FBDA79640000000) #5 %1745 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.1.2, float 0x3FE03C5780000000) #5 %1746 = tail call float @llvm.fmuladd.f32(float %1744, float %mul.i598.1.2, float 1.000000e+00) #5 %1747 = tail call float @llvm.fmuladd.f32(float %1745, float %mul227.1.2, float %1746) #5 %div.i599.1.2 = fdiv float 1.000000e+00, %1747, !fpmath !46 %1748 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.1.2, float 0xBF0BFF7260000000) #5 %1749 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.1.2, float 0x3F50794180000000) #5 %1750 = tail call float @llvm.fmuladd.f32(float %1748, float %mul.i598.1.2, float 0xBF93BDB200000000) #5 %1751 = tail call float @llvm.fmuladd.f32(float %1749, float %mul.i598.1.2, float 0x3FB1D5E760000000) #5 %1752 = tail call float @llvm.fmuladd.f32(float %1750, float %mul.i598.1.2, float 0xBFE81272E0000000) #5 %1753 = tail call float @llvm.fmuladd.f32(float %1751, float %mul227.1.2, float %1752) #5 %mul11.i.1.2 = fmul float %1753, %div.i599.1.2 %mul229.1.2 = fmul float %mul21, %mul11.i.1.2 %1754 = tail call float @llvm.fmuladd.f32(float %mul225.1.2, float %div198.1.2, float %mul229.1.2) %1755 = tail call float @llvm.fmuladd.f32(float %mul224.1.2, float %1754, float %mul221.1.2) %mul232.1.2 = fmul float %1740, %div198.1.2 %mul233.1.2 = fmul float %mul232.1.2, %nbparam_params_ewald_beta %fabs.i.1.2 = tail call float @llvm.fabs.f32(float %mul233.1.2) #5 %and.i.1.2 = bitcast float %fabs.i.1.2 to i32 %mul.i.1.2 = fmul float %mul233.1.2, %mul233.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.i596.1.2 = fcmp olt float %fabs.i.1.2, 1.250000e+00 %cond.i.1.2 = select i1 %cmp.i596.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.i596.1.2, float %1787, float %cond36.i.1.2 %cond62.i.1.2 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.1.2, float %cond111.i.1.2, float %cond103.i.1.2 %sub117.i.1.2 = fadd float %mul233.1.2, -5.000000e-01 %1818 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.1.2, 0.000000e+00 %cond134.i.1.2 = select i1 %cmp.i.i.1.2, float %mul233.1.2, float %cond129.i.1.2 %mul236.1.2 = fmul float %cond.1.2, %nbparam_params_sh_ewald %neg237.1.2 = fsub float -0.000000e+00, %mul236.1.2 %1819 = tail call float @llvm.fmuladd.f32(float %div198.1.2, float %cond134.i.1.2, float %neg237.1.2) %1820 = tail call float @llvm.fmuladd.f32(float %mul224.1.2, float %1819, float %E_el.5.2953) %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 %mul242.1.2 = fmul <3 x float> %extractVec168.1.2, %splat.splat.1.2 %extractVec250.1.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2955, <4 x float> undef, <3 x i32> %sub251.1.2 = fsub <3 x float> %extractVec250.1.2, %mul242.1.2 %extractVec252.1.2 = shufflevector <3 x float> %sub251.1.2, <3 x float> undef, <4 x i32> %extractVec260.1.2 = shufflevector <4 x float> %fci_buf.sroa.12.5, <4 x float> undef, <3 x i32> %add261.1.2 = fadd <3 x float> %extractVec260.1.2, %mul242.1.2 %extractVec262.1.2 = shufflevector <3 x float> %add261.1.2, <3 x float> undef, <4 x i32> br label %if.end265.1.2 if.end265.1.2: ; preds = %if.then184.1.2, %if.then149.1.2, %if.end265.2957 %fci_buf.sroa.12.6 = phi <4 x float> [ %fci_buf.sroa.12.5, %if.end265.2957 ], [ %extractVec262.1.2, %if.then184.1.2 ], [ %fci_buf.sroa.12.5, %if.then149.1.2 ] %E_el.5.1.2 = phi float [ %E_el.5.2953, %if.end265.2957 ], [ %1820, %if.then184.1.2 ], [ %E_el.5.2953, %if.then149.1.2 ] %E_lj.3.1.2 = phi float [ %E_lj.3.2954, %if.end265.2957 ], [ %add223.1.2, %if.then184.1.2 ], [ %E_lj.3.2954, %if.then149.1.2 ] %fcj_buf.sroa.0.1.1.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.2955, %if.end265.2957 ], [ %extractVec252.1.2, %if.then184.1.2 ], [ %fcj_buf.sroa.0.1.2955, %if.then149.1.2 ] %and147.2.2 = and i32 %64, 262144 %tobool148.2.2 = icmp eq i32 %and147.2.2, 0 br i1 %tobool148.2.2, label %if.end265.2.2, label %if.then149.2.2 if.then149.2.2: ; preds = %if.end265.1.2 %1821 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.2.2 = fmul float %1824, %1824 %1825 = tail call float @llvm.fmuladd.f32(float %1823, float %1823, float %mul3.i.i602.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 %and170.2.2 = and i32 %66, 262144 %tobool171.2.2 = icmp ne i32 %and170.2.2, 0 %cond.2.2 = select i1 %tobool171.2.2, float 1.000000e+00, float 0.000000e+00 %cmp176.2.2 = icmp eq i32 %58, %1628 %or.cond.2.2 = and i1 %cmp65, %cmp176.2.2 %not.or.cond.2.2 = xor i1 %or.cond.2.2, true %cmp178..2.2 = or i1 %cmp178, %not.or.cond.2.2 %conv180.2.2 = uitofp i1 %cmp178..2.2 to float %mul181.2.2 = fmul float %conv180.2.2, %nbparam_params_rcoulomb_sq %cmp182.2.2 = fcmp olt float %1827, %mul181.2.2 br i1 %cmp182.2.2, label %if.then184.2.2, label %if.end265.2.2 if.then184.2.2: ; preds = %if.then149.2.2 %extractVec168.2.2 = shufflevector <4 x float> %1822, <4 x float> undef, <3 x i32> %1828 = extractelement <4 x float> %1821, i32 3 %1829 = load i32, i32 addrspace(1)* %arrayidx185.2.3, align 4, !tbaa !41 %mul186.2.2 = mul nsw i32 %1829, %ntypes %add187.2.2 = add nsw i32 %mul186.2.2, %1632 %mul188.2.2 = shl nsw i32 %add187.2.2, 1 %1830 = sext i32 %mul188.2.2 to i64 %arrayidx189.2.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1830 %1831 = load float, float addrspace(2)* %arrayidx189.2.2, align 4, !tbaa !39 %add193.2.2 = or i32 %mul188.2.2, 1 %1832 = sext i32 %add193.2.2 to i64 %arrayidx194.2.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1832 %1833 = load float, float addrspace(2)* %arrayidx194.2.2, align 4, !tbaa !39 %sub195.2.2 = fsub float 1.000000e+00, %cond.2.2 %1834 = tail call float @llvm.fmuladd.f32(float %sub195.2.2, float 0x3D71979980000000, float %1827) %cmp.i.i600.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 %div198.2.2 = select i1 %cmp.i.i600.2.2, float 0x7FF8000000000000, float %call.i.i.op.2.2 %mul199.2.2 = fmul float %div198.2.2, %div198.2.2 %mul200.2.2 = fmul float %mul199.2.2, %mul199.2.2 %mul201.2.2 = fmul float %mul199.2.2, %mul200.2.2 %mul202.2.2 = fmul float %cond.2.2, %mul201.2.2 %neg.2.2 = fsub float -0.000000e+00, %1831 %1835 = tail call float @llvm.fmuladd.f32(float %1833, float %mul202.2.2, float %neg.2.2) %mul204.2.2 = fmul float %mul202.2.2, %1835 %mul205.2.2 = fmul float %mul199.2.2, %mul204.2.2 %1836 = tail call float @llvm.fmuladd.f32(float %mul202.2.2, float %mul202.2.2, float %nbparam_params_repulsion_shift_cpot) %mul209.2.2 = fmul float %1836, %1833 %add213.2.2 = fadd float %mul202.2.2, %nbparam_params_dispersion_shift_cpot %mul214.2.2 = fmul float %add213.2.2, %1831 %mul215.2.2 = fmul float %mul214.2.2, 0x3FC5555560000000 %neg216.2.2 = fsub float -0.000000e+00, %mul215.2.2 %1837 = tail call float @llvm.fmuladd.f32(float %mul209.2.2, float 0x3FB5555540000000, float %neg216.2.2) %mul217.2.2 = fmul float %cond.2.2, %1837 %cmp218.2.2 = fcmp olt float %1834, %nbparam_params_rvdw_sq %cond220.2.2 = select i1 %cmp218.2.2, float 1.000000e+00, float 0.000000e+00 %mul221.2.2 = fmul float %cond220.2.2, %mul205.2.2 %mul222.2.2 = fmul float %cond220.2.2, %mul217.2.2 %add223.2.2 = fadd float %E_lj.3.1.2, %mul222.2.2 %mul224.2.2 = fmul float %1631, %1828 %mul225.2.2 = fmul float %cond.2.2, %mul199.2.2 %mul227.2.2 = fmul float %mul, %1834 %mul.i598.2.2 = fmul float %mul227.2.2, %mul227.2.2 %1838 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.2.2, float 0x3FBDA79640000000) #5 %1839 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.2.2, float 0x3FE03C5780000000) #5 %1840 = tail call float @llvm.fmuladd.f32(float %1838, float %mul.i598.2.2, float 1.000000e+00) #5 %1841 = tail call float @llvm.fmuladd.f32(float %1839, float %mul227.2.2, float %1840) #5 %div.i599.2.2 = fdiv float 1.000000e+00, %1841, !fpmath !46 %1842 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.2.2, float 0xBF0BFF7260000000) #5 %1843 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.2.2, float 0x3F50794180000000) #5 %1844 = tail call float @llvm.fmuladd.f32(float %1842, float %mul.i598.2.2, float 0xBF93BDB200000000) #5 %1845 = tail call float @llvm.fmuladd.f32(float %1843, float %mul.i598.2.2, float 0x3FB1D5E760000000) #5 %1846 = tail call float @llvm.fmuladd.f32(float %1844, float %mul.i598.2.2, float 0xBFE81272E0000000) #5 %1847 = tail call float @llvm.fmuladd.f32(float %1845, float %mul227.2.2, float %1846) #5 %mul11.i.2.2 = fmul float %1847, %div.i599.2.2 %mul229.2.2 = fmul float %mul21, %mul11.i.2.2 %1848 = tail call float @llvm.fmuladd.f32(float %mul225.2.2, float %div198.2.2, float %mul229.2.2) %1849 = tail call float @llvm.fmuladd.f32(float %mul224.2.2, float %1848, float %mul221.2.2) %mul232.2.2 = fmul float %1834, %div198.2.2 %mul233.2.2 = fmul float %mul232.2.2, %nbparam_params_ewald_beta %fabs.i.2.2 = tail call float @llvm.fabs.f32(float %mul233.2.2) #5 %and.i.2.2 = bitcast float %fabs.i.2.2 to i32 %mul.i.2.2 = fmul float %mul233.2.2, %mul233.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.i596.2.2 = fcmp olt float %fabs.i.2.2, 1.250000e+00 %cond.i.2.2 = select i1 %cmp.i596.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.i596.2.2, float %1881, float %cond36.i.2.2 %cond62.i.2.2 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.2.2, float %cond111.i.2.2, float %cond103.i.2.2 %sub117.i.2.2 = fadd float %mul233.2.2, -5.000000e-01 %1912 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.2.2, 0.000000e+00 %cond134.i.2.2 = select i1 %cmp.i.i.2.2, float %mul233.2.2, float %cond129.i.2.2 %mul236.2.2 = fmul float %cond.2.2, %nbparam_params_sh_ewald %neg237.2.2 = fsub float -0.000000e+00, %mul236.2.2 %1913 = tail call float @llvm.fmuladd.f32(float %div198.2.2, float %cond134.i.2.2, float %neg237.2.2) %1914 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.2.2 = fmul <3 x float> %extractVec168.2.2, %splat.splat.2.2 %extractVec250.2.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.2, <4 x float> undef, <3 x i32> %sub251.2.2 = fsub <3 x float> %extractVec250.2.2, %mul242.2.2 %extractVec252.2.2 = shufflevector <3 x float> %sub251.2.2, <3 x float> undef, <4 x i32> %extractVec260.2.2 = shufflevector <4 x float> %fci_buf.sroa.22.5, <4 x float> undef, <3 x i32> %add261.2.2 = fadd <3 x float> %extractVec260.2.2, %mul242.2.2 %extractVec262.2.2 = shufflevector <3 x float> %add261.2.2, <3 x float> undef, <4 x i32> br label %if.end265.2.2 if.end265.2.2: ; preds = %if.then184.2.2, %if.then149.2.2, %if.end265.1.2 %fci_buf.sroa.22.6 = phi <4 x float> [ %fci_buf.sroa.22.5, %if.end265.1.2 ], [ %extractVec262.2.2, %if.then184.2.2 ], [ %fci_buf.sroa.22.5, %if.then149.2.2 ] %E_el.5.2.2 = phi float [ %E_el.5.1.2, %if.end265.1.2 ], [ %1914, %if.then184.2.2 ], [ %E_el.5.1.2, %if.then149.2.2 ] %E_lj.3.2.2 = phi float [ %E_lj.3.1.2, %if.end265.1.2 ], [ %add223.2.2, %if.then184.2.2 ], [ %E_lj.3.1.2, %if.then149.2.2 ] %fcj_buf.sroa.0.1.2.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.1.2, %if.end265.1.2 ], [ %extractVec252.2.2, %if.then184.2.2 ], [ %fcj_buf.sroa.0.1.1.2, %if.then149.2.2 ] %and147.3.2 = and i32 %64, 524288 %tobool148.3.2 = icmp eq i32 %and147.3.2, 0 br i1 %tobool148.3.2, label %if.end265.3.2, label %if.then149.3.2 if.then149.3.2: ; preds = %if.end265.2.2 %1915 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.3.2 = fmul float %1918, %1918 %1919 = tail call float @llvm.fmuladd.f32(float %1917, float %1917, float %mul3.i.i602.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 %and170.3.2 = and i32 %66, 524288 %tobool171.3.2 = icmp ne i32 %and170.3.2, 0 %cond.3.2 = select i1 %tobool171.3.2, float 1.000000e+00, float 0.000000e+00 %cmp176.3.2 = icmp eq i32 %56, %1628 %or.cond.3.2 = and i1 %cmp65, %cmp176.3.2 %not.or.cond.3.2 = xor i1 %or.cond.3.2, true %cmp178..3.2 = or i1 %cmp178, %not.or.cond.3.2 %conv180.3.2 = uitofp i1 %cmp178..3.2 to float %mul181.3.2 = fmul float %conv180.3.2, %nbparam_params_rcoulomb_sq %cmp182.3.2 = fcmp olt float %1921, %mul181.3.2 br i1 %cmp182.3.2, label %if.then184.3.2, label %if.end265.3.2 if.then184.3.2: ; preds = %if.then149.3.2 %extractVec168.3.2 = shufflevector <4 x float> %1916, <4 x float> undef, <3 x i32> %1922 = extractelement <4 x float> %1915, i32 3 %1923 = load i32, i32 addrspace(1)* %arrayidx185.3.3, align 4, !tbaa !41 %mul186.3.2 = mul nsw i32 %1923, %ntypes %add187.3.2 = add nsw i32 %mul186.3.2, %1632 %mul188.3.2 = shl nsw i32 %add187.3.2, 1 %1924 = sext i32 %mul188.3.2 to i64 %arrayidx189.3.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1924 %1925 = load float, float addrspace(2)* %arrayidx189.3.2, align 4, !tbaa !39 %add193.3.2 = or i32 %mul188.3.2, 1 %1926 = sext i32 %add193.3.2 to i64 %arrayidx194.3.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %1926 %1927 = load float, float addrspace(2)* %arrayidx194.3.2, align 4, !tbaa !39 %sub195.3.2 = fsub float 1.000000e+00, %cond.3.2 %1928 = tail call float @llvm.fmuladd.f32(float %sub195.3.2, float 0x3D71979980000000, float %1921) %cmp.i.i600.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 %div198.3.2 = select i1 %cmp.i.i600.3.2, float 0x7FF8000000000000, float %call.i.i.op.3.2 %mul199.3.2 = fmul float %div198.3.2, %div198.3.2 %mul200.3.2 = fmul float %mul199.3.2, %mul199.3.2 %mul201.3.2 = fmul float %mul199.3.2, %mul200.3.2 %mul202.3.2 = fmul float %cond.3.2, %mul201.3.2 %neg.3.2 = fsub float -0.000000e+00, %1925 %1929 = tail call float @llvm.fmuladd.f32(float %1927, float %mul202.3.2, float %neg.3.2) %mul204.3.2 = fmul float %mul202.3.2, %1929 %mul205.3.2 = fmul float %mul199.3.2, %mul204.3.2 %1930 = tail call float @llvm.fmuladd.f32(float %mul202.3.2, float %mul202.3.2, float %nbparam_params_repulsion_shift_cpot) %mul209.3.2 = fmul float %1930, %1927 %add213.3.2 = fadd float %mul202.3.2, %nbparam_params_dispersion_shift_cpot %mul214.3.2 = fmul float %add213.3.2, %1925 %mul215.3.2 = fmul float %mul214.3.2, 0x3FC5555560000000 %neg216.3.2 = fsub float -0.000000e+00, %mul215.3.2 %1931 = tail call float @llvm.fmuladd.f32(float %mul209.3.2, float 0x3FB5555540000000, float %neg216.3.2) %mul217.3.2 = fmul float %cond.3.2, %1931 %cmp218.3.2 = fcmp olt float %1928, %nbparam_params_rvdw_sq %cond220.3.2 = select i1 %cmp218.3.2, float 1.000000e+00, float 0.000000e+00 %mul221.3.2 = fmul float %cond220.3.2, %mul205.3.2 %mul222.3.2 = fmul float %cond220.3.2, %mul217.3.2 %add223.3.2 = fadd float %E_lj.3.2.2, %mul222.3.2 %mul224.3.2 = fmul float %1631, %1922 %mul225.3.2 = fmul float %cond.3.2, %mul199.3.2 %mul227.3.2 = fmul float %mul, %1928 %mul.i598.3.2 = fmul float %mul227.3.2, %mul227.3.2 %1932 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.3.2, float 0x3FBDA79640000000) #5 %1933 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.3.2, float 0x3FE03C5780000000) #5 %1934 = tail call float @llvm.fmuladd.f32(float %1932, float %mul.i598.3.2, float 1.000000e+00) #5 %1935 = tail call float @llvm.fmuladd.f32(float %1933, float %mul227.3.2, float %1934) #5 %div.i599.3.2 = fdiv float 1.000000e+00, %1935, !fpmath !46 %1936 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.3.2, float 0xBF0BFF7260000000) #5 %1937 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.3.2, float 0x3F50794180000000) #5 %1938 = tail call float @llvm.fmuladd.f32(float %1936, float %mul.i598.3.2, float 0xBF93BDB200000000) #5 %1939 = tail call float @llvm.fmuladd.f32(float %1937, float %mul.i598.3.2, float 0x3FB1D5E760000000) #5 %1940 = tail call float @llvm.fmuladd.f32(float %1938, float %mul.i598.3.2, float 0xBFE81272E0000000) #5 %1941 = tail call float @llvm.fmuladd.f32(float %1939, float %mul227.3.2, float %1940) #5 %mul11.i.3.2 = fmul float %1941, %div.i599.3.2 %mul229.3.2 = fmul float %mul21, %mul11.i.3.2 %1942 = tail call float @llvm.fmuladd.f32(float %mul225.3.2, float %div198.3.2, float %mul229.3.2) %1943 = tail call float @llvm.fmuladd.f32(float %mul224.3.2, float %1942, float %mul221.3.2) %mul232.3.2 = fmul float %1928, %div198.3.2 %mul233.3.2 = fmul float %mul232.3.2, %nbparam_params_ewald_beta %fabs.i.3.2 = tail call float @llvm.fabs.f32(float %mul233.3.2) #5 %and.i.3.2 = bitcast float %fabs.i.3.2 to i32 %mul.i.3.2 = fmul float %mul233.3.2, %mul233.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.i596.3.2 = fcmp olt float %fabs.i.3.2, 1.250000e+00 %cond.i.3.2 = select i1 %cmp.i596.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.i596.3.2, float %1975, float %cond36.i.3.2 %cond62.i.3.2 = select i1 %cmp.i596.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.i597.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.i597.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 %mul233.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.i596.3.2, float %cond111.i.3.2, float %cond103.i.3.2 %sub117.i.3.2 = fadd float %mul233.3.2, -5.000000e-01 %2006 = tail call float @llvm.fmuladd.f32(float %mul233.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 %mul233.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 %mul233.3.2, 0.000000e+00 %cond134.i.3.2 = select i1 %cmp.i.i.3.2, float %mul233.3.2, float %cond129.i.3.2 %mul236.3.2 = fmul float %cond.3.2, %nbparam_params_sh_ewald %neg237.3.2 = fsub float -0.000000e+00, %mul236.3.2 %2007 = tail call float @llvm.fmuladd.f32(float %div198.3.2, float %cond134.i.3.2, float %neg237.3.2) %2008 = tail call float @llvm.fmuladd.f32(float %mul224.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 %mul242.3.2 = fmul <3 x float> %extractVec168.3.2, %splat.splat.3.2 %extractVec250.3.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.2, <4 x float> undef, <3 x i32> %sub251.3.2 = fsub <3 x float> %extractVec250.3.2, %mul242.3.2 %extractVec252.3.2 = shufflevector <3 x float> %sub251.3.2, <3 x float> undef, <4 x i32> %extractVec260.3.2 = shufflevector <4 x float> %fci_buf.sroa.32.5, <4 x float> undef, <3 x i32> %add261.3.2 = fadd <3 x float> %extractVec260.3.2, %mul242.3.2 %extractVec262.3.2 = shufflevector <3 x float> %add261.3.2, <3 x float> undef, <4 x i32> br label %if.end265.3.2 if.end265.3.2: ; preds = %if.then184.3.2, %if.then149.3.2, %if.end265.2.2 %fci_buf.sroa.32.6 = phi <4 x float> [ %fci_buf.sroa.32.5, %if.end265.2.2 ], [ %extractVec262.3.2, %if.then184.3.2 ], [ %fci_buf.sroa.32.5, %if.then149.3.2 ] %E_el.5.3.2 = phi float [ %E_el.5.2.2, %if.end265.2.2 ], [ %2008, %if.then184.3.2 ], [ %E_el.5.2.2, %if.then149.3.2 ] %E_lj.3.3.2 = phi float [ %E_lj.3.2.2, %if.end265.2.2 ], [ %add223.3.2, %if.then184.3.2 ], [ %E_lj.3.2.2, %if.then149.3.2 ] %fcj_buf.sroa.0.1.3.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.2.2, %if.end265.2.2 ], [ %extractVec252.3.2, %if.then184.3.2 ], [ %fcj_buf.sroa.0.1.2.2, %if.then149.3.2 ] %and147.4.2 = and i32 %64, 1048576 %tobool148.4.2 = icmp eq i32 %and147.4.2, 0 br i1 %tobool148.4.2, label %if.end265.4.2, label %if.then149.4.2 if.then149.4.2: ; preds = %if.end265.3.2 %2009 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.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.i602.4.2 = fmul float %2012, %2012 %2013 = tail call float @llvm.fmuladd.f32(float %2011, float %2011, float %mul3.i.i602.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 %and170.4.2 = and i32 %66, 1048576 %tobool171.4.2 = icmp ne i32 %and170.4.2, 0 %cond.4.2 = select i1 %tobool171.4.2, float 1.000000e+00, float 0.000000e+00 %cmp176.4.2 = icmp eq i32 %54, %1628 %or.cond.4.2 = and i1 %cmp65, %cmp176.4.2 %not.or.cond.4.2 = xor i1 %or.cond.4.2, true %cmp178..4.2 = or i1 %cmp178, %not.or.cond.4.2 %conv180.4.2 = uitofp i1 %cmp178..4.2 to float %mul181.4.2 = fmul float %conv180.4.2, %nbparam_params_rcoulomb_sq %cmp182.4.2 = fcmp olt float %2015, %mul181.4.2 br i1 %cmp182.4.2, label %if.then184.4.2, label %if.end265.4.2 if.then184.4.2: ; preds = %if.then149.4.2 %extractVec168.4.2 = shufflevector <4 x float> %2010, <4 x float> undef, <3 x i32> %2016 = extractelement <4 x float> %2009, i32 3 %2017 = load i32, i32 addrspace(1)* %arrayidx185.4.3, align 4, !tbaa !41 %mul186.4.2 = mul nsw i32 %2017, %ntypes %add187.4.2 = add nsw i32 %mul186.4.2, %1632 %mul188.4.2 = shl nsw i32 %add187.4.2, 1 %2018 = sext i32 %mul188.4.2 to i64 %arrayidx189.4.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2018 %2019 = load float, float addrspace(2)* %arrayidx189.4.2, align 4, !tbaa !39 %add193.4.2 = or i32 %mul188.4.2, 1 %2020 = sext i32 %add193.4.2 to i64 %arrayidx194.4.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2020 %2021 = load float, float addrspace(2)* %arrayidx194.4.2, align 4, !tbaa !39 %sub195.4.2 = fsub float 1.000000e+00, %cond.4.2 %2022 = tail call float @llvm.fmuladd.f32(float %sub195.4.2, float 0x3D71979980000000, float %2015) %cmp.i.i600.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 %div198.4.2 = select i1 %cmp.i.i600.4.2, float 0x7FF8000000000000, float %call.i.i.op.4.2 %mul199.4.2 = fmul float %div198.4.2, %div198.4.2 %mul200.4.2 = fmul float %mul199.4.2, %mul199.4.2 %mul201.4.2 = fmul float %mul199.4.2, %mul200.4.2 %mul202.4.2 = fmul float %cond.4.2, %mul201.4.2 %neg.4.2 = fsub float -0.000000e+00, %2019 %2023 = tail call float @llvm.fmuladd.f32(float %2021, float %mul202.4.2, float %neg.4.2) %mul204.4.2 = fmul float %mul202.4.2, %2023 %mul205.4.2 = fmul float %mul199.4.2, %mul204.4.2 %2024 = tail call float @llvm.fmuladd.f32(float %mul202.4.2, float %mul202.4.2, float %nbparam_params_repulsion_shift_cpot) %mul209.4.2 = fmul float %2024, %2021 %add213.4.2 = fadd float %mul202.4.2, %nbparam_params_dispersion_shift_cpot %mul214.4.2 = fmul float %add213.4.2, %2019 %mul215.4.2 = fmul float %mul214.4.2, 0x3FC5555560000000 %neg216.4.2 = fsub float -0.000000e+00, %mul215.4.2 %2025 = tail call float @llvm.fmuladd.f32(float %mul209.4.2, float 0x3FB5555540000000, float %neg216.4.2) %mul217.4.2 = fmul float %cond.4.2, %2025 %cmp218.4.2 = fcmp olt float %2022, %nbparam_params_rvdw_sq %cond220.4.2 = select i1 %cmp218.4.2, float 1.000000e+00, float 0.000000e+00 %mul221.4.2 = fmul float %cond220.4.2, %mul205.4.2 %mul222.4.2 = fmul float %cond220.4.2, %mul217.4.2 %add223.4.2 = fadd float %E_lj.3.3.2, %mul222.4.2 %mul224.4.2 = fmul float %1631, %2016 %mul225.4.2 = fmul float %cond.4.2, %mul199.4.2 %mul227.4.2 = fmul float %mul, %2022 %mul.i598.4.2 = fmul float %mul227.4.2, %mul227.4.2 %2026 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.4.2, float 0x3FBDA79640000000) #5 %2027 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.4.2, float 0x3FE03C5780000000) #5 %2028 = tail call float @llvm.fmuladd.f32(float %2026, float %mul.i598.4.2, float 1.000000e+00) #5 %2029 = tail call float @llvm.fmuladd.f32(float %2027, float %mul227.4.2, float %2028) #5 %div.i599.4.2 = fdiv float 1.000000e+00, %2029, !fpmath !46 %2030 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.4.2, float 0xBF0BFF7260000000) #5 %2031 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.4.2, float 0x3F50794180000000) #5 %2032 = tail call float @llvm.fmuladd.f32(float %2030, float %mul.i598.4.2, float 0xBF93BDB200000000) #5 %2033 = tail call float @llvm.fmuladd.f32(float %2031, float %mul.i598.4.2, float 0x3FB1D5E760000000) #5 %2034 = tail call float @llvm.fmuladd.f32(float %2032, float %mul.i598.4.2, float 0xBFE81272E0000000) #5 %2035 = tail call float @llvm.fmuladd.f32(float %2033, float %mul227.4.2, float %2034) #5 %mul11.i.4.2 = fmul float %2035, %div.i599.4.2 %mul229.4.2 = fmul float %mul21, %mul11.i.4.2 %2036 = tail call float @llvm.fmuladd.f32(float %mul225.4.2, float %div198.4.2, float %mul229.4.2) %2037 = tail call float @llvm.fmuladd.f32(float %mul224.4.2, float %2036, float %mul221.4.2) %mul232.4.2 = fmul float %2022, %div198.4.2 %mul233.4.2 = fmul float %mul232.4.2, %nbparam_params_ewald_beta %fabs.i.4.2 = tail call float @llvm.fabs.f32(float %mul233.4.2) #5 %and.i.4.2 = bitcast float %fabs.i.4.2 to i32 %mul.i.4.2 = fmul float %mul233.4.2, %mul233.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.i596.4.2 = fcmp olt float %fabs.i.4.2, 1.250000e+00 %cond.i.4.2 = select i1 %cmp.i596.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 @llvm.fmuladd.f32(float %cond6.i.4.2, float %2058, float 0x407AD02160000000) #5 %2060 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2059, float 0x40842B1920000000) #5 %2061 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2060, float 0x407B290DE0000000) #5 %2062 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2061, float 0x4061350C60000000) #5 %2063 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2062, float 0x4033A6B9C0000000) #5 %cmp32.i.4.2 = fcmp olt float %fabs.i.4.2, 0x4006DB6DA0000000 %cond36.i.4.2 = select i1 %cmp32.i.4.2, float %2056, float %2043 %cond41.i.4.2 = select i1 %cmp32.i.4.2, float %2063, float %2049 %2064 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2065 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2064, float 0xBFBC639840000000) #5 %2066 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2065, float 0x3FD45FCA80000000) #5 %2067 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2066, float 0xBFD7D24100000000) #5 %2068 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2067, float 0x3FDA8D00A0000000) #5 %2069 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2068, float 0xBF6359B8C0000000) #5 %2070 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2071 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2070, float 0x3FC02660E0000000) #5 %2072 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2071, float 0x3FB2635CE0000000) #5 %2073 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2072, float 0x3FE14AF0A0000000) #5 %2074 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2073, float 0x3FBB3E6620000000) #5 %cond57.i.4.2 = select i1 %cmp.i596.4.2, float %2069, float %cond36.i.4.2 %cond62.i.4.2 = select i1 %cmp.i596.4.2, float %2074, float %cond41.i.4.2 %2075 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2076 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2075, float 0xBF9D2A51E0000000) #5 %2077 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2076, float 0xBFD4CD7D60000000) #5 %2078 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2077, float 0x3FC06EBA80000000) #5 %2079 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2080 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2079, float 0x3F74D022C0000000) #5 %2081 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2080, float 0x3FB0A54C60000000) #5 %2082 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %2081, float 0x3FD97779C0000000) #5 %cond75.i.4.2 = select i1 %cmp2.i.4.2, float %2078, float %cond57.i.4.2 %cond80.i.4.2 = select i1 %cmp2.i.4.2, float %2082, float %cond62.i.4.2 %2083 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.2, float %cond80.i.4.2, float 1.000000e+00) #5 %div82.i.4.2 = fdiv float %cond75.i.4.2, %2083, !fpmath !46 %and83.i.4.2 = and i32 %and.i.4.2, -4096 %astype84.i.4.2 = bitcast i32 %and83.i.4.2 to float %sub85.i.4.2 = fsub float -0.000000e+00, %astype84.i.4.2 %2084 = tail call float @llvm.fmuladd.f32(float %sub85.i.4.2, float %astype84.i.4.2, float -5.625000e-01) #5 %cmp.i2.i.4.2 = fcmp olt float %2084, 0.000000e+00 %cond.i3.i.4.2 = select i1 %cmp.i2.i.4.2, float -5.000000e-01, float 5.000000e-01 %2085 = tail call float @llvm.fmuladd.f32(float %2084, float 0x3FF7154760000000, float %cond.i3.i.4.2) #5 %conv.i4.i.4.2 = fptosi float %2085 to i32 %conv1.i5.i.4.2 = sitofp i32 %conv.i4.i.4.2 to float %2086 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.4.2, float 0xBFE62E3000000000, float %2084) #5 %mul.i6.i.4.2 = fmul float %conv1.i5.i.4.2, 0xBEE2FEFA20000000 %add.i7.i.4.2 = fadd float %2086, %mul.i6.i.4.2 %mul3.i8.i.4.2 = fmul float %add.i7.i.4.2, %add.i7.i.4.2 %2087 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2088 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float %2087, float 0x3F11566AA0000000) #5 %2089 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float %2088, float 0xBF66C16C20000000) #5 %2090 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float %2089, float 0x3FC5555560000000) #5 %sub8.i9.i.4.2 = fsub float -0.000000e+00, %2090 %2091 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.2, float %sub8.i9.i.4.2, float %add.i7.i.4.2) #5 %sub10.i10.i.4.2 = fsub float -0.000000e+00, %mul.i6.i.4.2 %mul11.i11.i.4.2 = fmul float %add.i7.i.4.2, %2091 %sub12.i12.i.4.2 = fsub float 2.000000e+00, %2091 %div.i13.i.4.2 = fdiv float %mul11.i11.i.4.2, %sub12.i12.i.4.2, !fpmath !46 %sub13.i14.i.4.2 = fsub float %sub10.i10.i.4.2, %div.i13.i.4.2 %sub14.i15.i.4.2 = fsub float %sub13.i14.i.4.2, %2086 %sub15.i16.i.4.2 = fsub float 1.000000e+00, %sub14.i15.i.4.2 %astype.i17.i.4.2 = bitcast float %sub15.i16.i.4.2 to i32 %shl.i18.i.4.2 = shl i32 %conv.i4.i.4.2, 23 %add16.i19.i.4.2 = add nsw i32 %astype.i17.i.4.2, %shl.i18.i.4.2 %astype17.i20.i.4.2 = bitcast i32 %add16.i19.i.4.2 to float %cmp18.i21.i.4.2 = fcmp olt float %2084, 0xC055D589E0000000 %cond20.i22.i.4.2 = select i1 %cmp18.i21.i.4.2, float 0.000000e+00, float %astype17.i20.i.4.2 %cmp21.i23.i.4.2 = fcmp olt float %2084, 0x40562E4300000000 %cond26.i24.i.4.2 = select i1 %cmp21.i23.i.4.2, float %cond20.i22.i.4.2, float 0x7FF0000000000000 %cmp.i.i25.i.4.2 = fcmp uno float %2084, 0.000000e+00 %cond31.i26.i.4.2 = select i1 %cmp.i.i25.i.4.2, float %2084, float %cond26.i24.i.4.2 %sub88.i.4.2 = fsub float %astype84.i.4.2, %fabs.i.4.2 %add.i597.4.2 = fadd float %fabs.i.4.2, %astype84.i.4.2 %2092 = tail call float @llvm.fmuladd.f32(float %sub88.i.4.2, float %add.i597.4.2, float %div82.i.4.2) #5 %cmp.i1.i.4.2 = fcmp olt float %2092, 0.000000e+00 %cond.i.i.4.2 = select i1 %cmp.i1.i.4.2, float -5.000000e-01, float 5.000000e-01 %2093 = tail call float @llvm.fmuladd.f32(float %2092, float 0x3FF7154760000000, float %cond.i.i.4.2) #5 %conv.i.i.4.2 = fptosi float %2093 to i32 %conv1.i.i.4.2 = sitofp i32 %conv.i.i.4.2 to float %2094 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.4.2, float 0xBFE62E3000000000, float %2092) #5 %mul.i.i.4.2 = fmul float %conv1.i.i.4.2, 0xBEE2FEFA20000000 %add.i.i.4.2 = fadd float %2094, %mul.i.i.4.2 %mul3.i.i.4.2 = fmul float %add.i.i.4.2, %add.i.i.4.2 %2095 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2096 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float %2095, float 0x3F11566AA0000000) #5 %2097 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float %2096, float 0xBF66C16C20000000) #5 %2098 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float %2097, float 0x3FC5555560000000) #5 %sub8.i.i.4.2 = fsub float -0.000000e+00, %2098 %2099 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.2, float %sub8.i.i.4.2, float %add.i.i.4.2) #5 %sub10.i.i.4.2 = fsub float -0.000000e+00, %mul.i.i.4.2 %mul11.i.i.4.2 = fmul float %add.i.i.4.2, %2099 %sub12.i.i.4.2 = fsub float 2.000000e+00, %2099 %div.i.i.4.2 = fdiv float %mul11.i.i.4.2, %sub12.i.i.4.2, !fpmath !46 %sub13.i.i.4.2 = fsub float %sub10.i.i.4.2, %div.i.i.4.2 %sub14.i.i.4.2 = fsub float %sub13.i.i.4.2, %2094 %sub15.i.i.4.2 = fsub float 1.000000e+00, %sub14.i.i.4.2 %astype.i.i.4.2 = bitcast float %sub15.i.i.4.2 to i32 %shl.i.i.4.2 = shl i32 %conv.i.i.4.2, 23 %add16.i.i.4.2 = add nsw i32 %astype.i.i.4.2, %shl.i.i.4.2 %astype17.i.i.4.2 = bitcast i32 %add16.i.i.4.2 to float %cmp18.i.i.4.2 = fcmp olt float %2092, 0xC055D589E0000000 %cond20.i.i.4.2 = select i1 %cmp18.i.i.4.2, float 0.000000e+00, float %astype17.i.i.4.2 %cmp21.i.i.4.2 = fcmp olt float %2092, 0x40562E4300000000 %cond26.i.i.4.2 = select i1 %cmp21.i.i.4.2, float %cond20.i.i.4.2, float 0x7FF0000000000000 %cmp.i.i.i.4.2 = fcmp uno float %2092, 0.000000e+00 %cond31.i.i.4.2 = select i1 %cmp.i.i.i.4.2, float %2092, float %cond26.i.i.4.2 %mul91.i.4.2 = fmul float %cond31.i26.i.4.2, %cond31.i.i.4.2 %div92.i.4.2 = fdiv float %mul91.i.4.2, %fabs.i.4.2, !fpmath !46 %sub93.i.4.2 = fsub float 2.000000e+00, %div92.i.4.2 %cmp94.i.4.2 = fcmp olt float %mul233.4.2, 0.000000e+00 %cond98.i.4.2 = select i1 %cmp94.i.4.2, float %sub93.i.4.2, float %div92.i.4.2 %cmp99.i.4.2 = fcmp olt float %fabs.i.4.2, 2.800000e+01 %cond103.i.4.2 = select i1 %cmp99.i.4.2, float %cond98.i.4.2, float 0.000000e+00 %sub104.i.4.2 = fsub float 0x3FC3D4FA80000000, %div82.i.4.2 %add105.i.4.2 = fadd float %div82.i.4.2, 0x3FEB0AC160000000 %add106.i.4.2 = fadd float %add105.i.4.2, 1.000000e+00 %cond111.i.4.2 = select i1 %cmp94.i.4.2, float %add106.i.4.2, float %sub104.i.4.2 %cond116.i.4.2 = select i1 %cmp.i596.4.2, float %cond111.i.4.2, float %cond103.i.4.2 %sub117.i.4.2 = fadd float %mul233.4.2, -5.000000e-01 %2100 = tail call float @llvm.fmuladd.f32(float %mul233.4.2, float %div82.i.4.2, float %sub117.i.4.2) #5 %sub119.i.4.2 = fsub float 5.000000e-01, %2100 %cond124.i.4.2 = select i1 %cmp2.i.4.2, float %sub119.i.4.2, float %cond116.i.4.2 %cmp125.i.4.2 = fcmp olt float %mul233.4.2, -6.000000e+00 %cond129.i.4.2 = select i1 %cmp125.i.4.2, float 2.000000e+00, float %cond124.i.4.2 %cmp.i.i.4.2 = fcmp uno float %mul233.4.2, 0.000000e+00 %cond134.i.4.2 = select i1 %cmp.i.i.4.2, float %mul233.4.2, float %cond129.i.4.2 %mul236.4.2 = fmul float %cond.4.2, %nbparam_params_sh_ewald %neg237.4.2 = fsub float -0.000000e+00, %mul236.4.2 %2101 = tail call float @llvm.fmuladd.f32(float %div198.4.2, float %cond134.i.4.2, float %neg237.4.2) %2102 = tail call float @llvm.fmuladd.f32(float %mul224.4.2, float %2101, float %E_el.5.3.2) %splat.splatinsert.4.2 = insertelement <3 x float> undef, float %2037, i32 0 %splat.splat.4.2 = shufflevector <3 x float> %splat.splatinsert.4.2, <3 x float> undef, <3 x i32> zeroinitializer %mul242.4.2 = fmul <3 x float> %extractVec168.4.2, %splat.splat.4.2 %extractVec250.4.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.2, <4 x float> undef, <3 x i32> %sub251.4.2 = fsub <3 x float> %extractVec250.4.2, %mul242.4.2 %extractVec252.4.2 = shufflevector <3 x float> %sub251.4.2, <3 x float> undef, <4 x i32> %extractVec260.4.2 = shufflevector <4 x float> %fci_buf.sroa.42.5, <4 x float> undef, <3 x i32> %add261.4.2 = fadd <3 x float> %extractVec260.4.2, %mul242.4.2 %extractVec262.4.2 = shufflevector <3 x float> %add261.4.2, <3 x float> undef, <4 x i32> br label %if.end265.4.2 if.end265.4.2: ; preds = %if.then184.4.2, %if.then149.4.2, %if.end265.3.2 %fci_buf.sroa.42.6 = phi <4 x float> [ %fci_buf.sroa.42.5, %if.end265.3.2 ], [ %extractVec262.4.2, %if.then184.4.2 ], [ %fci_buf.sroa.42.5, %if.then149.4.2 ] %E_el.5.4.2 = phi float [ %E_el.5.3.2, %if.end265.3.2 ], [ %2102, %if.then184.4.2 ], [ %E_el.5.3.2, %if.then149.4.2 ] %E_lj.3.4.2 = phi float [ %E_lj.3.3.2, %if.end265.3.2 ], [ %add223.4.2, %if.then184.4.2 ], [ %E_lj.3.3.2, %if.then149.4.2 ] %fcj_buf.sroa.0.1.4.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.3.2, %if.end265.3.2 ], [ %extractVec252.4.2, %if.then184.4.2 ], [ %fcj_buf.sroa.0.1.3.2, %if.then149.4.2 ] %and147.5.2 = and i32 %64, 2097152 %tobool148.5.2 = icmp eq i32 %and147.5.2, 0 br i1 %tobool148.5.2, label %if.end265.5.2, label %if.then149.5.2 if.then149.5.2: ; preds = %if.end265.4.2 %2103 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.5.3, align 16, !tbaa !36 %2104 = fsub <4 x float> %2103, %1630 %2105 = extractelement <4 x float> %2104, i32 0 %2106 = extractelement <4 x float> %2104, i32 1 %mul3.i.i602.5.2 = fmul float %2106, %2106 %2107 = tail call float @llvm.fmuladd.f32(float %2105, float %2105, float %mul3.i.i602.5.2) #5 %2108 = extractelement <4 x float> %2104, i32 2 %2109 = tail call float @llvm.fmuladd.f32(float %2108, float %2108, float %2107) #5 %and170.5.2 = and i32 %66, 2097152 %tobool171.5.2 = icmp ne i32 %and170.5.2, 0 %cond.5.2 = select i1 %tobool171.5.2, float 1.000000e+00, float 0.000000e+00 %cmp176.5.2 = icmp eq i32 %52, %1628 %or.cond.5.2 = and i1 %cmp65, %cmp176.5.2 %not.or.cond.5.2 = xor i1 %or.cond.5.2, true %cmp178..5.2 = or i1 %cmp178, %not.or.cond.5.2 %conv180.5.2 = uitofp i1 %cmp178..5.2 to float %mul181.5.2 = fmul float %conv180.5.2, %nbparam_params_rcoulomb_sq %cmp182.5.2 = fcmp olt float %2109, %mul181.5.2 br i1 %cmp182.5.2, label %if.then184.5.2, label %if.end265.5.2 if.then184.5.2: ; preds = %if.then149.5.2 %extractVec168.5.2 = shufflevector <4 x float> %2104, <4 x float> undef, <3 x i32> %2110 = extractelement <4 x float> %2103, i32 3 %2111 = load i32, i32 addrspace(1)* %arrayidx185.5.3, align 4, !tbaa !41 %mul186.5.2 = mul nsw i32 %2111, %ntypes %add187.5.2 = add nsw i32 %mul186.5.2, %1632 %mul188.5.2 = shl nsw i32 %add187.5.2, 1 %2112 = sext i32 %mul188.5.2 to i64 %arrayidx189.5.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2112 %2113 = load float, float addrspace(2)* %arrayidx189.5.2, align 4, !tbaa !39 %add193.5.2 = or i32 %mul188.5.2, 1 %2114 = sext i32 %add193.5.2 to i64 %arrayidx194.5.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2114 %2115 = load float, float addrspace(2)* %arrayidx194.5.2, align 4, !tbaa !39 %sub195.5.2 = fsub float 1.000000e+00, %cond.5.2 %2116 = tail call float @llvm.fmuladd.f32(float %sub195.5.2, float 0x3D71979980000000, float %2109) %cmp.i.i600.5.2 = fcmp olt float %2116, 0.000000e+00 %call.i.i.5.2 = tail call float @llvm.sqrt.f32(float %2116) #6 %call.i.i.op.5.2 = fdiv float 1.000000e+00, %call.i.i.5.2 %div198.5.2 = select i1 %cmp.i.i600.5.2, float 0x7FF8000000000000, float %call.i.i.op.5.2 %mul199.5.2 = fmul float %div198.5.2, %div198.5.2 %mul200.5.2 = fmul float %mul199.5.2, %mul199.5.2 %mul201.5.2 = fmul float %mul199.5.2, %mul200.5.2 %mul202.5.2 = fmul float %cond.5.2, %mul201.5.2 %neg.5.2 = fsub float -0.000000e+00, %2113 %2117 = tail call float @llvm.fmuladd.f32(float %2115, float %mul202.5.2, float %neg.5.2) %mul204.5.2 = fmul float %mul202.5.2, %2117 %mul205.5.2 = fmul float %mul199.5.2, %mul204.5.2 %2118 = tail call float @llvm.fmuladd.f32(float %mul202.5.2, float %mul202.5.2, float %nbparam_params_repulsion_shift_cpot) %mul209.5.2 = fmul float %2118, %2115 %add213.5.2 = fadd float %mul202.5.2, %nbparam_params_dispersion_shift_cpot %mul214.5.2 = fmul float %add213.5.2, %2113 %mul215.5.2 = fmul float %mul214.5.2, 0x3FC5555560000000 %neg216.5.2 = fsub float -0.000000e+00, %mul215.5.2 %2119 = tail call float @llvm.fmuladd.f32(float %mul209.5.2, float 0x3FB5555540000000, float %neg216.5.2) %mul217.5.2 = fmul float %cond.5.2, %2119 %cmp218.5.2 = fcmp olt float %2116, %nbparam_params_rvdw_sq %cond220.5.2 = select i1 %cmp218.5.2, float 1.000000e+00, float 0.000000e+00 %mul221.5.2 = fmul float %cond220.5.2, %mul205.5.2 %mul222.5.2 = fmul float %cond220.5.2, %mul217.5.2 %add223.5.2 = fadd float %E_lj.3.4.2, %mul222.5.2 %mul224.5.2 = fmul float %1631, %2110 %mul225.5.2 = fmul float %cond.5.2, %mul199.5.2 %mul227.5.2 = fmul float %mul, %2116 %mul.i598.5.2 = fmul float %mul227.5.2, %mul227.5.2 %2120 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.5.2, float 0x3FBDA79640000000) #5 %2121 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.5.2, float 0x3FE03C5780000000) #5 %2122 = tail call float @llvm.fmuladd.f32(float %2120, float %mul.i598.5.2, float 1.000000e+00) #5 %2123 = tail call float @llvm.fmuladd.f32(float %2121, float %mul227.5.2, float %2122) #5 %div.i599.5.2 = fdiv float 1.000000e+00, %2123, !fpmath !46 %2124 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.5.2, float 0xBF0BFF7260000000) #5 %2125 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.5.2, float 0x3F50794180000000) #5 %2126 = tail call float @llvm.fmuladd.f32(float %2124, float %mul.i598.5.2, float 0xBF93BDB200000000) #5 %2127 = tail call float @llvm.fmuladd.f32(float %2125, float %mul.i598.5.2, float 0x3FB1D5E760000000) #5 %2128 = tail call float @llvm.fmuladd.f32(float %2126, float %mul.i598.5.2, float 0xBFE81272E0000000) #5 %2129 = tail call float @llvm.fmuladd.f32(float %2127, float %mul227.5.2, float %2128) #5 %mul11.i.5.2 = fmul float %2129, %div.i599.5.2 %mul229.5.2 = fmul float %mul21, %mul11.i.5.2 %2130 = tail call float @llvm.fmuladd.f32(float %mul225.5.2, float %div198.5.2, float %mul229.5.2) %2131 = tail call float @llvm.fmuladd.f32(float %mul224.5.2, float %2130, float %mul221.5.2) %mul232.5.2 = fmul float %2116, %div198.5.2 %mul233.5.2 = fmul float %mul232.5.2, %nbparam_params_ewald_beta %fabs.i.5.2 = tail call float @llvm.fabs.f32(float %mul233.5.2) #5 %and.i.5.2 = bitcast float %fabs.i.5.2 to i32 %mul.i.5.2 = fmul float %mul233.5.2, %mul233.5.2 %div.i.5.2 = fdiv float 1.000000e+00, %mul.i.5.2, !fpmath !46 %sub.i.5.2 = fadd float %fabs.i.5.2, -1.000000e+00 %cmp.i596.5.2 = fcmp olt float %fabs.i.5.2, 1.250000e+00 %cond.i.5.2 = select i1 %cmp.i596.5.2, float %sub.i.5.2, float %div.i.5.2 %cmp2.i.5.2 = fcmp olt float %fabs.i.5.2, 8.437500e-01 %cond6.i.5.2 = select i1 %cmp2.i.5.2, float %mul.i.5.2, float %cond.i.5.2 %2132 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2133 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2132, float 0xC083EC8820000000) #5 %2134 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2133, float 0xC064145D40000000) #5 %2135 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2134, float 0xC031C20960000000) #5 %2136 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2135, float 0xBFE993BA80000000) #5 %2137 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2136, float 0xBF84341240000000) #5 %2138 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2139 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2138, float 0x40A3F219C0000000) #5 %2140 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2139, float 0x40A8FFB760000000) #5 %2141 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2140, float 0x409802EB20000000) #5 %2142 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2141, float 0x40745CAE20000000) #5 %2143 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2142, float 0x403E568B20000000) #5 %2144 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2145 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2144, float 0xC067135CE0000000) #5 %2146 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2145, float 0xC0644CB180000000) #5 %2147 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2146, float 0xC04F300AE0000000) #5 %2148 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2147, float 0xC0251E0440000000) #5 %2149 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2148, float 0xBFE63416E0000000) #5 %2150 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2149, float 0xBF84341260000000) #5 %2151 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2152 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2151, float 0x405B28A3E0000000) #5 %2153 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2152, float 0x407AD02160000000) #5 %2154 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2153, float 0x40842B1920000000) #5 %2155 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2154, float 0x407B290DE0000000) #5 %2156 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2155, float 0x4061350C60000000) #5 %2157 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2156, float 0x4033A6B9C0000000) #5 %cmp32.i.5.2 = fcmp olt float %fabs.i.5.2, 0x4006DB6DA0000000 %cond36.i.5.2 = select i1 %cmp32.i.5.2, float %2150, float %2137 %cond41.i.5.2 = select i1 %cmp32.i.5.2, float %2157, float %2143 %2158 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2159 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2158, float 0xBFBC639840000000) #5 %2160 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2159, float 0x3FD45FCA80000000) #5 %2161 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2160, float 0xBFD7D24100000000) #5 %2162 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2161, float 0x3FDA8D00A0000000) #5 %2163 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2162, float 0xBF6359B8C0000000) #5 %2164 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2165 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2164, float 0x3FC02660E0000000) #5 %2166 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2165, float 0x3FB2635CE0000000) #5 %2167 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2166, float 0x3FE14AF0A0000000) #5 %2168 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2167, float 0x3FBB3E6620000000) #5 %cond57.i.5.2 = select i1 %cmp.i596.5.2, float %2163, float %cond36.i.5.2 %cond62.i.5.2 = select i1 %cmp.i596.5.2, float %2168, float %cond41.i.5.2 %2169 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2170 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2169, float 0xBF9D2A51E0000000) #5 %2171 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2170, float 0xBFD4CD7D60000000) #5 %2172 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2171, float 0x3FC06EBA80000000) #5 %2173 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2174 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2173, float 0x3F74D022C0000000) #5 %2175 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2174, float 0x3FB0A54C60000000) #5 %2176 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %2175, float 0x3FD97779C0000000) #5 %cond75.i.5.2 = select i1 %cmp2.i.5.2, float %2172, float %cond57.i.5.2 %cond80.i.5.2 = select i1 %cmp2.i.5.2, float %2176, float %cond62.i.5.2 %2177 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.2, float %cond80.i.5.2, float 1.000000e+00) #5 %div82.i.5.2 = fdiv float %cond75.i.5.2, %2177, !fpmath !46 %and83.i.5.2 = and i32 %and.i.5.2, -4096 %astype84.i.5.2 = bitcast i32 %and83.i.5.2 to float %sub85.i.5.2 = fsub float -0.000000e+00, %astype84.i.5.2 %2178 = tail call float @llvm.fmuladd.f32(float %sub85.i.5.2, float %astype84.i.5.2, float -5.625000e-01) #5 %cmp.i2.i.5.2 = fcmp olt float %2178, 0.000000e+00 %cond.i3.i.5.2 = select i1 %cmp.i2.i.5.2, float -5.000000e-01, float 5.000000e-01 %2179 = tail call float @llvm.fmuladd.f32(float %2178, float 0x3FF7154760000000, float %cond.i3.i.5.2) #5 %conv.i4.i.5.2 = fptosi float %2179 to i32 %conv1.i5.i.5.2 = sitofp i32 %conv.i4.i.5.2 to float %2180 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.5.2, float 0xBFE62E3000000000, float %2178) #5 %mul.i6.i.5.2 = fmul float %conv1.i5.i.5.2, 0xBEE2FEFA20000000 %add.i7.i.5.2 = fadd float %2180, %mul.i6.i.5.2 %mul3.i8.i.5.2 = fmul float %add.i7.i.5.2, %add.i7.i.5.2 %2181 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2182 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float %2181, float 0x3F11566AA0000000) #5 %2183 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float %2182, float 0xBF66C16C20000000) #5 %2184 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float %2183, float 0x3FC5555560000000) #5 %sub8.i9.i.5.2 = fsub float -0.000000e+00, %2184 %2185 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.2, float %sub8.i9.i.5.2, float %add.i7.i.5.2) #5 %sub10.i10.i.5.2 = fsub float -0.000000e+00, %mul.i6.i.5.2 %mul11.i11.i.5.2 = fmul float %add.i7.i.5.2, %2185 %sub12.i12.i.5.2 = fsub float 2.000000e+00, %2185 %div.i13.i.5.2 = fdiv float %mul11.i11.i.5.2, %sub12.i12.i.5.2, !fpmath !46 %sub13.i14.i.5.2 = fsub float %sub10.i10.i.5.2, %div.i13.i.5.2 %sub14.i15.i.5.2 = fsub float %sub13.i14.i.5.2, %2180 %sub15.i16.i.5.2 = fsub float 1.000000e+00, %sub14.i15.i.5.2 %astype.i17.i.5.2 = bitcast float %sub15.i16.i.5.2 to i32 %shl.i18.i.5.2 = shl i32 %conv.i4.i.5.2, 23 %add16.i19.i.5.2 = add nsw i32 %astype.i17.i.5.2, %shl.i18.i.5.2 %astype17.i20.i.5.2 = bitcast i32 %add16.i19.i.5.2 to float %cmp18.i21.i.5.2 = fcmp olt float %2178, 0xC055D589E0000000 %cond20.i22.i.5.2 = select i1 %cmp18.i21.i.5.2, float 0.000000e+00, float %astype17.i20.i.5.2 %cmp21.i23.i.5.2 = fcmp olt float %2178, 0x40562E4300000000 %cond26.i24.i.5.2 = select i1 %cmp21.i23.i.5.2, float %cond20.i22.i.5.2, float 0x7FF0000000000000 %cmp.i.i25.i.5.2 = fcmp uno float %2178, 0.000000e+00 %cond31.i26.i.5.2 = select i1 %cmp.i.i25.i.5.2, float %2178, float %cond26.i24.i.5.2 %sub88.i.5.2 = fsub float %astype84.i.5.2, %fabs.i.5.2 %add.i597.5.2 = fadd float %fabs.i.5.2, %astype84.i.5.2 %2186 = tail call float @llvm.fmuladd.f32(float %sub88.i.5.2, float %add.i597.5.2, float %div82.i.5.2) #5 %cmp.i1.i.5.2 = fcmp olt float %2186, 0.000000e+00 %cond.i.i.5.2 = select i1 %cmp.i1.i.5.2, float -5.000000e-01, float 5.000000e-01 %2187 = tail call float @llvm.fmuladd.f32(float %2186, float 0x3FF7154760000000, float %cond.i.i.5.2) #5 %conv.i.i.5.2 = fptosi float %2187 to i32 %conv1.i.i.5.2 = sitofp i32 %conv.i.i.5.2 to float %2188 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.5.2, float 0xBFE62E3000000000, float %2186) #5 %mul.i.i.5.2 = fmul float %conv1.i.i.5.2, 0xBEE2FEFA20000000 %add.i.i.5.2 = fadd float %2188, %mul.i.i.5.2 %mul3.i.i.5.2 = fmul float %add.i.i.5.2, %add.i.i.5.2 %2189 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2190 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float %2189, float 0x3F11566AA0000000) #5 %2191 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float %2190, float 0xBF66C16C20000000) #5 %2192 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float %2191, float 0x3FC5555560000000) #5 %sub8.i.i.5.2 = fsub float -0.000000e+00, %2192 %2193 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.2, float %sub8.i.i.5.2, float %add.i.i.5.2) #5 %sub10.i.i.5.2 = fsub float -0.000000e+00, %mul.i.i.5.2 %mul11.i.i.5.2 = fmul float %add.i.i.5.2, %2193 %sub12.i.i.5.2 = fsub float 2.000000e+00, %2193 %div.i.i.5.2 = fdiv float %mul11.i.i.5.2, %sub12.i.i.5.2, !fpmath !46 %sub13.i.i.5.2 = fsub float %sub10.i.i.5.2, %div.i.i.5.2 %sub14.i.i.5.2 = fsub float %sub13.i.i.5.2, %2188 %sub15.i.i.5.2 = fsub float 1.000000e+00, %sub14.i.i.5.2 %astype.i.i.5.2 = bitcast float %sub15.i.i.5.2 to i32 %shl.i.i.5.2 = shl i32 %conv.i.i.5.2, 23 %add16.i.i.5.2 = add nsw i32 %astype.i.i.5.2, %shl.i.i.5.2 %astype17.i.i.5.2 = bitcast i32 %add16.i.i.5.2 to float %cmp18.i.i.5.2 = fcmp olt float %2186, 0xC055D589E0000000 %cond20.i.i.5.2 = select i1 %cmp18.i.i.5.2, float 0.000000e+00, float %astype17.i.i.5.2 %cmp21.i.i.5.2 = fcmp olt float %2186, 0x40562E4300000000 %cond26.i.i.5.2 = select i1 %cmp21.i.i.5.2, float %cond20.i.i.5.2, float 0x7FF0000000000000 %cmp.i.i.i.5.2 = fcmp uno float %2186, 0.000000e+00 %cond31.i.i.5.2 = select i1 %cmp.i.i.i.5.2, float %2186, float %cond26.i.i.5.2 %mul91.i.5.2 = fmul float %cond31.i26.i.5.2, %cond31.i.i.5.2 %div92.i.5.2 = fdiv float %mul91.i.5.2, %fabs.i.5.2, !fpmath !46 %sub93.i.5.2 = fsub float 2.000000e+00, %div92.i.5.2 %cmp94.i.5.2 = fcmp olt float %mul233.5.2, 0.000000e+00 %cond98.i.5.2 = select i1 %cmp94.i.5.2, float %sub93.i.5.2, float %div92.i.5.2 %cmp99.i.5.2 = fcmp olt float %fabs.i.5.2, 2.800000e+01 %cond103.i.5.2 = select i1 %cmp99.i.5.2, float %cond98.i.5.2, float 0.000000e+00 %sub104.i.5.2 = fsub float 0x3FC3D4FA80000000, %div82.i.5.2 %add105.i.5.2 = fadd float %div82.i.5.2, 0x3FEB0AC160000000 %add106.i.5.2 = fadd float %add105.i.5.2, 1.000000e+00 %cond111.i.5.2 = select i1 %cmp94.i.5.2, float %add106.i.5.2, float %sub104.i.5.2 %cond116.i.5.2 = select i1 %cmp.i596.5.2, float %cond111.i.5.2, float %cond103.i.5.2 %sub117.i.5.2 = fadd float %mul233.5.2, -5.000000e-01 %2194 = tail call float @llvm.fmuladd.f32(float %mul233.5.2, float %div82.i.5.2, float %sub117.i.5.2) #5 %sub119.i.5.2 = fsub float 5.000000e-01, %2194 %cond124.i.5.2 = select i1 %cmp2.i.5.2, float %sub119.i.5.2, float %cond116.i.5.2 %cmp125.i.5.2 = fcmp olt float %mul233.5.2, -6.000000e+00 %cond129.i.5.2 = select i1 %cmp125.i.5.2, float 2.000000e+00, float %cond124.i.5.2 %cmp.i.i.5.2 = fcmp uno float %mul233.5.2, 0.000000e+00 %cond134.i.5.2 = select i1 %cmp.i.i.5.2, float %mul233.5.2, float %cond129.i.5.2 %mul236.5.2 = fmul float %cond.5.2, %nbparam_params_sh_ewald %neg237.5.2 = fsub float -0.000000e+00, %mul236.5.2 %2195 = tail call float @llvm.fmuladd.f32(float %div198.5.2, float %cond134.i.5.2, float %neg237.5.2) %2196 = tail call float @llvm.fmuladd.f32(float %mul224.5.2, float %2195, float %E_el.5.4.2) %splat.splatinsert.5.2 = insertelement <3 x float> undef, float %2131, i32 0 %splat.splat.5.2 = shufflevector <3 x float> %splat.splatinsert.5.2, <3 x float> undef, <3 x i32> zeroinitializer %mul242.5.2 = fmul <3 x float> %extractVec168.5.2, %splat.splat.5.2 %extractVec250.5.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.2, <4 x float> undef, <3 x i32> %sub251.5.2 = fsub <3 x float> %extractVec250.5.2, %mul242.5.2 %extractVec252.5.2 = shufflevector <3 x float> %sub251.5.2, <3 x float> undef, <4 x i32> %extractVec260.5.2 = shufflevector <4 x float> %fci_buf.sroa.52.5, <4 x float> undef, <3 x i32> %add261.5.2 = fadd <3 x float> %extractVec260.5.2, %mul242.5.2 %extractVec262.5.2 = shufflevector <3 x float> %add261.5.2, <3 x float> undef, <4 x i32> br label %if.end265.5.2 if.end265.5.2: ; preds = %if.then184.5.2, %if.then149.5.2, %if.end265.4.2 %fci_buf.sroa.52.6 = phi <4 x float> [ %fci_buf.sroa.52.5, %if.end265.4.2 ], [ %extractVec262.5.2, %if.then184.5.2 ], [ %fci_buf.sroa.52.5, %if.then149.5.2 ] %E_el.5.5.2 = phi float [ %E_el.5.4.2, %if.end265.4.2 ], [ %2196, %if.then184.5.2 ], [ %E_el.5.4.2, %if.then149.5.2 ] %E_lj.3.5.2 = phi float [ %E_lj.3.4.2, %if.end265.4.2 ], [ %add223.5.2, %if.then184.5.2 ], [ %E_lj.3.4.2, %if.then149.5.2 ] %fcj_buf.sroa.0.1.5.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.4.2, %if.end265.4.2 ], [ %extractVec252.5.2, %if.then184.5.2 ], [ %fcj_buf.sroa.0.1.4.2, %if.then149.5.2 ] %and147.6.2 = and i32 %64, 4194304 %tobool148.6.2 = icmp eq i32 %and147.6.2, 0 br i1 %tobool148.6.2, label %if.end265.6.2, label %if.then149.6.2 if.then149.6.2: ; preds = %if.end265.5.2 %2197 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.6.3, align 16, !tbaa !36 %2198 = fsub <4 x float> %2197, %1630 %2199 = extractelement <4 x float> %2198, i32 0 %2200 = extractelement <4 x float> %2198, i32 1 %mul3.i.i602.6.2 = fmul float %2200, %2200 %2201 = tail call float @llvm.fmuladd.f32(float %2199, float %2199, float %mul3.i.i602.6.2) #5 %2202 = extractelement <4 x float> %2198, i32 2 %2203 = tail call float @llvm.fmuladd.f32(float %2202, float %2202, float %2201) #5 %and170.6.2 = and i32 %66, 4194304 %tobool171.6.2 = icmp ne i32 %and170.6.2, 0 %cond.6.2 = select i1 %tobool171.6.2, float 1.000000e+00, float 0.000000e+00 %cmp176.6.2 = icmp eq i32 %50, %1628 %or.cond.6.2 = and i1 %cmp65, %cmp176.6.2 %not.or.cond.6.2 = xor i1 %or.cond.6.2, true %cmp178..6.2 = or i1 %cmp178, %not.or.cond.6.2 %conv180.6.2 = uitofp i1 %cmp178..6.2 to float %mul181.6.2 = fmul float %conv180.6.2, %nbparam_params_rcoulomb_sq %cmp182.6.2 = fcmp olt float %2203, %mul181.6.2 br i1 %cmp182.6.2, label %if.then184.6.2, label %if.end265.6.2 if.then184.6.2: ; preds = %if.then149.6.2 %extractVec168.6.2 = shufflevector <4 x float> %2198, <4 x float> undef, <3 x i32> %2204 = extractelement <4 x float> %2197, i32 3 %2205 = load i32, i32 addrspace(1)* %arrayidx185.6.3, align 4, !tbaa !41 %mul186.6.2 = mul nsw i32 %2205, %ntypes %add187.6.2 = add nsw i32 %mul186.6.2, %1632 %mul188.6.2 = shl nsw i32 %add187.6.2, 1 %2206 = sext i32 %mul188.6.2 to i64 %arrayidx189.6.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2206 %2207 = load float, float addrspace(2)* %arrayidx189.6.2, align 4, !tbaa !39 %add193.6.2 = or i32 %mul188.6.2, 1 %2208 = sext i32 %add193.6.2 to i64 %arrayidx194.6.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2208 %2209 = load float, float addrspace(2)* %arrayidx194.6.2, align 4, !tbaa !39 %sub195.6.2 = fsub float 1.000000e+00, %cond.6.2 %2210 = tail call float @llvm.fmuladd.f32(float %sub195.6.2, float 0x3D71979980000000, float %2203) %cmp.i.i600.6.2 = fcmp olt float %2210, 0.000000e+00 %call.i.i.6.2 = tail call float @llvm.sqrt.f32(float %2210) #6 %call.i.i.op.6.2 = fdiv float 1.000000e+00, %call.i.i.6.2 %div198.6.2 = select i1 %cmp.i.i600.6.2, float 0x7FF8000000000000, float %call.i.i.op.6.2 %mul199.6.2 = fmul float %div198.6.2, %div198.6.2 %mul200.6.2 = fmul float %mul199.6.2, %mul199.6.2 %mul201.6.2 = fmul float %mul199.6.2, %mul200.6.2 %mul202.6.2 = fmul float %cond.6.2, %mul201.6.2 %neg.6.2 = fsub float -0.000000e+00, %2207 %2211 = tail call float @llvm.fmuladd.f32(float %2209, float %mul202.6.2, float %neg.6.2) %mul204.6.2 = fmul float %mul202.6.2, %2211 %mul205.6.2 = fmul float %mul199.6.2, %mul204.6.2 %2212 = tail call float @llvm.fmuladd.f32(float %mul202.6.2, float %mul202.6.2, float %nbparam_params_repulsion_shift_cpot) %mul209.6.2 = fmul float %2212, %2209 %add213.6.2 = fadd float %mul202.6.2, %nbparam_params_dispersion_shift_cpot %mul214.6.2 = fmul float %add213.6.2, %2207 %mul215.6.2 = fmul float %mul214.6.2, 0x3FC5555560000000 %neg216.6.2 = fsub float -0.000000e+00, %mul215.6.2 %2213 = tail call float @llvm.fmuladd.f32(float %mul209.6.2, float 0x3FB5555540000000, float %neg216.6.2) %mul217.6.2 = fmul float %cond.6.2, %2213 %cmp218.6.2 = fcmp olt float %2210, %nbparam_params_rvdw_sq %cond220.6.2 = select i1 %cmp218.6.2, float 1.000000e+00, float 0.000000e+00 %mul221.6.2 = fmul float %cond220.6.2, %mul205.6.2 %mul222.6.2 = fmul float %cond220.6.2, %mul217.6.2 %add223.6.2 = fadd float %E_lj.3.5.2, %mul222.6.2 %mul224.6.2 = fmul float %1631, %2204 %mul225.6.2 = fmul float %cond.6.2, %mul199.6.2 %mul227.6.2 = fmul float %mul, %2210 %mul.i598.6.2 = fmul float %mul227.6.2, %mul227.6.2 %2214 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.6.2, float 0x3FBDA79640000000) #5 %2215 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.6.2, float 0x3FE03C5780000000) #5 %2216 = tail call float @llvm.fmuladd.f32(float %2214, float %mul.i598.6.2, float 1.000000e+00) #5 %2217 = tail call float @llvm.fmuladd.f32(float %2215, float %mul227.6.2, float %2216) #5 %div.i599.6.2 = fdiv float 1.000000e+00, %2217, !fpmath !46 %2218 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.6.2, float 0xBF0BFF7260000000) #5 %2219 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.6.2, float 0x3F50794180000000) #5 %2220 = tail call float @llvm.fmuladd.f32(float %2218, float %mul.i598.6.2, float 0xBF93BDB200000000) #5 %2221 = tail call float @llvm.fmuladd.f32(float %2219, float %mul.i598.6.2, float 0x3FB1D5E760000000) #5 %2222 = tail call float @llvm.fmuladd.f32(float %2220, float %mul.i598.6.2, float 0xBFE81272E0000000) #5 %2223 = tail call float @llvm.fmuladd.f32(float %2221, float %mul227.6.2, float %2222) #5 %mul11.i.6.2 = fmul float %2223, %div.i599.6.2 %mul229.6.2 = fmul float %mul21, %mul11.i.6.2 %2224 = tail call float @llvm.fmuladd.f32(float %mul225.6.2, float %div198.6.2, float %mul229.6.2) %2225 = tail call float @llvm.fmuladd.f32(float %mul224.6.2, float %2224, float %mul221.6.2) %mul232.6.2 = fmul float %2210, %div198.6.2 %mul233.6.2 = fmul float %mul232.6.2, %nbparam_params_ewald_beta %fabs.i.6.2 = tail call float @llvm.fabs.f32(float %mul233.6.2) #5 %and.i.6.2 = bitcast float %fabs.i.6.2 to i32 %mul.i.6.2 = fmul float %mul233.6.2, %mul233.6.2 %div.i.6.2 = fdiv float 1.000000e+00, %mul.i.6.2, !fpmath !46 %sub.i.6.2 = fadd float %fabs.i.6.2, -1.000000e+00 %cmp.i596.6.2 = fcmp olt float %fabs.i.6.2, 1.250000e+00 %cond.i.6.2 = select i1 %cmp.i596.6.2, float %sub.i.6.2, float %div.i.6.2 %cmp2.i.6.2 = fcmp olt float %fabs.i.6.2, 8.437500e-01 %cond6.i.6.2 = select i1 %cmp2.i.6.2, float %mul.i.6.2, float %cond.i.6.2 %2226 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2227 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2226, float 0xC083EC8820000000) #5 %2228 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2227, float 0xC064145D40000000) #5 %2229 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2228, float 0xC031C20960000000) #5 %2230 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2229, float 0xBFE993BA80000000) #5 %2231 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2230, float 0xBF84341240000000) #5 %2232 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2233 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2232, float 0x40A3F219C0000000) #5 %2234 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2233, float 0x40A8FFB760000000) #5 %2235 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2234, float 0x409802EB20000000) #5 %2236 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2235, float 0x40745CAE20000000) #5 %2237 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2236, float 0x403E568B20000000) #5 %2238 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2239 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2238, float 0xC067135CE0000000) #5 %2240 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2239, float 0xC0644CB180000000) #5 %2241 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2240, float 0xC04F300AE0000000) #5 %2242 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2241, float 0xC0251E0440000000) #5 %2243 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2242, float 0xBFE63416E0000000) #5 %2244 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2243, float 0xBF84341260000000) #5 %2245 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2246 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2245, float 0x405B28A3E0000000) #5 %2247 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2246, float 0x407AD02160000000) #5 %2248 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2247, float 0x40842B1920000000) #5 %2249 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2248, float 0x407B290DE0000000) #5 %2250 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2249, float 0x4061350C60000000) #5 %2251 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2250, float 0x4033A6B9C0000000) #5 %cmp32.i.6.2 = fcmp olt float %fabs.i.6.2, 0x4006DB6DA0000000 %cond36.i.6.2 = select i1 %cmp32.i.6.2, float %2244, float %2231 %cond41.i.6.2 = select i1 %cmp32.i.6.2, float %2251, float %2237 %2252 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2253 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2252, float 0xBFBC639840000000) #5 %2254 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2253, float 0x3FD45FCA80000000) #5 %2255 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2254, float 0xBFD7D24100000000) #5 %2256 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2255, float 0x3FDA8D00A0000000) #5 %2257 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2256, float 0xBF6359B8C0000000) #5 %2258 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2259 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2258, float 0x3FC02660E0000000) #5 %2260 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2259, float 0x3FB2635CE0000000) #5 %2261 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2260, float 0x3FE14AF0A0000000) #5 %2262 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2261, float 0x3FBB3E6620000000) #5 %cond57.i.6.2 = select i1 %cmp.i596.6.2, float %2257, float %cond36.i.6.2 %cond62.i.6.2 = select i1 %cmp.i596.6.2, float %2262, float %cond41.i.6.2 %2263 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2264 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2263, float 0xBF9D2A51E0000000) #5 %2265 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2264, float 0xBFD4CD7D60000000) #5 %2266 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2265, float 0x3FC06EBA80000000) #5 %2267 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2268 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2267, float 0x3F74D022C0000000) #5 %2269 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2268, float 0x3FB0A54C60000000) #5 %2270 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %2269, float 0x3FD97779C0000000) #5 %cond75.i.6.2 = select i1 %cmp2.i.6.2, float %2266, float %cond57.i.6.2 %cond80.i.6.2 = select i1 %cmp2.i.6.2, float %2270, float %cond62.i.6.2 %2271 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.2, float %cond80.i.6.2, float 1.000000e+00) #5 %div82.i.6.2 = fdiv float %cond75.i.6.2, %2271, !fpmath !46 %and83.i.6.2 = and i32 %and.i.6.2, -4096 %astype84.i.6.2 = bitcast i32 %and83.i.6.2 to float %sub85.i.6.2 = fsub float -0.000000e+00, %astype84.i.6.2 %2272 = tail call float @llvm.fmuladd.f32(float %sub85.i.6.2, float %astype84.i.6.2, float -5.625000e-01) #5 %cmp.i2.i.6.2 = fcmp olt float %2272, 0.000000e+00 %cond.i3.i.6.2 = select i1 %cmp.i2.i.6.2, float -5.000000e-01, float 5.000000e-01 %2273 = tail call float @llvm.fmuladd.f32(float %2272, float 0x3FF7154760000000, float %cond.i3.i.6.2) #5 %conv.i4.i.6.2 = fptosi float %2273 to i32 %conv1.i5.i.6.2 = sitofp i32 %conv.i4.i.6.2 to float %2274 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.6.2, float 0xBFE62E3000000000, float %2272) #5 %mul.i6.i.6.2 = fmul float %conv1.i5.i.6.2, 0xBEE2FEFA20000000 %add.i7.i.6.2 = fadd float %2274, %mul.i6.i.6.2 %mul3.i8.i.6.2 = fmul float %add.i7.i.6.2, %add.i7.i.6.2 %2275 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2276 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float %2275, float 0x3F11566AA0000000) #5 %2277 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float %2276, float 0xBF66C16C20000000) #5 %2278 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float %2277, float 0x3FC5555560000000) #5 %sub8.i9.i.6.2 = fsub float -0.000000e+00, %2278 %2279 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.2, float %sub8.i9.i.6.2, float %add.i7.i.6.2) #5 %sub10.i10.i.6.2 = fsub float -0.000000e+00, %mul.i6.i.6.2 %mul11.i11.i.6.2 = fmul float %add.i7.i.6.2, %2279 %sub12.i12.i.6.2 = fsub float 2.000000e+00, %2279 %div.i13.i.6.2 = fdiv float %mul11.i11.i.6.2, %sub12.i12.i.6.2, !fpmath !46 %sub13.i14.i.6.2 = fsub float %sub10.i10.i.6.2, %div.i13.i.6.2 %sub14.i15.i.6.2 = fsub float %sub13.i14.i.6.2, %2274 %sub15.i16.i.6.2 = fsub float 1.000000e+00, %sub14.i15.i.6.2 %astype.i17.i.6.2 = bitcast float %sub15.i16.i.6.2 to i32 %shl.i18.i.6.2 = shl i32 %conv.i4.i.6.2, 23 %add16.i19.i.6.2 = add nsw i32 %astype.i17.i.6.2, %shl.i18.i.6.2 %astype17.i20.i.6.2 = bitcast i32 %add16.i19.i.6.2 to float %cmp18.i21.i.6.2 = fcmp olt float %2272, 0xC055D589E0000000 %cond20.i22.i.6.2 = select i1 %cmp18.i21.i.6.2, float 0.000000e+00, float %astype17.i20.i.6.2 %cmp21.i23.i.6.2 = fcmp olt float %2272, 0x40562E4300000000 %cond26.i24.i.6.2 = select i1 %cmp21.i23.i.6.2, float %cond20.i22.i.6.2, float 0x7FF0000000000000 %cmp.i.i25.i.6.2 = fcmp uno float %2272, 0.000000e+00 %cond31.i26.i.6.2 = select i1 %cmp.i.i25.i.6.2, float %2272, float %cond26.i24.i.6.2 %sub88.i.6.2 = fsub float %astype84.i.6.2, %fabs.i.6.2 %add.i597.6.2 = fadd float %fabs.i.6.2, %astype84.i.6.2 %2280 = tail call float @llvm.fmuladd.f32(float %sub88.i.6.2, float %add.i597.6.2, float %div82.i.6.2) #5 %cmp.i1.i.6.2 = fcmp olt float %2280, 0.000000e+00 %cond.i.i.6.2 = select i1 %cmp.i1.i.6.2, float -5.000000e-01, float 5.000000e-01 %2281 = tail call float @llvm.fmuladd.f32(float %2280, float 0x3FF7154760000000, float %cond.i.i.6.2) #5 %conv.i.i.6.2 = fptosi float %2281 to i32 %conv1.i.i.6.2 = sitofp i32 %conv.i.i.6.2 to float %2282 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.6.2, float 0xBFE62E3000000000, float %2280) #5 %mul.i.i.6.2 = fmul float %conv1.i.i.6.2, 0xBEE2FEFA20000000 %add.i.i.6.2 = fadd float %2282, %mul.i.i.6.2 %mul3.i.i.6.2 = fmul float %add.i.i.6.2, %add.i.i.6.2 %2283 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2284 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float %2283, float 0x3F11566AA0000000) #5 %2285 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float %2284, float 0xBF66C16C20000000) #5 %2286 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float %2285, float 0x3FC5555560000000) #5 %sub8.i.i.6.2 = fsub float -0.000000e+00, %2286 %2287 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.2, float %sub8.i.i.6.2, float %add.i.i.6.2) #5 %sub10.i.i.6.2 = fsub float -0.000000e+00, %mul.i.i.6.2 %mul11.i.i.6.2 = fmul float %add.i.i.6.2, %2287 %sub12.i.i.6.2 = fsub float 2.000000e+00, %2287 %div.i.i.6.2 = fdiv float %mul11.i.i.6.2, %sub12.i.i.6.2, !fpmath !46 %sub13.i.i.6.2 = fsub float %sub10.i.i.6.2, %div.i.i.6.2 %sub14.i.i.6.2 = fsub float %sub13.i.i.6.2, %2282 %sub15.i.i.6.2 = fsub float 1.000000e+00, %sub14.i.i.6.2 %astype.i.i.6.2 = bitcast float %sub15.i.i.6.2 to i32 %shl.i.i.6.2 = shl i32 %conv.i.i.6.2, 23 %add16.i.i.6.2 = add nsw i32 %astype.i.i.6.2, %shl.i.i.6.2 %astype17.i.i.6.2 = bitcast i32 %add16.i.i.6.2 to float %cmp18.i.i.6.2 = fcmp olt float %2280, 0xC055D589E0000000 %cond20.i.i.6.2 = select i1 %cmp18.i.i.6.2, float 0.000000e+00, float %astype17.i.i.6.2 %cmp21.i.i.6.2 = fcmp olt float %2280, 0x40562E4300000000 %cond26.i.i.6.2 = select i1 %cmp21.i.i.6.2, float %cond20.i.i.6.2, float 0x7FF0000000000000 %cmp.i.i.i.6.2 = fcmp uno float %2280, 0.000000e+00 %cond31.i.i.6.2 = select i1 %cmp.i.i.i.6.2, float %2280, float %cond26.i.i.6.2 %mul91.i.6.2 = fmul float %cond31.i26.i.6.2, %cond31.i.i.6.2 %div92.i.6.2 = fdiv float %mul91.i.6.2, %fabs.i.6.2, !fpmath !46 %sub93.i.6.2 = fsub float 2.000000e+00, %div92.i.6.2 %cmp94.i.6.2 = fcmp olt float %mul233.6.2, 0.000000e+00 %cond98.i.6.2 = select i1 %cmp94.i.6.2, float %sub93.i.6.2, float %div92.i.6.2 %cmp99.i.6.2 = fcmp olt float %fabs.i.6.2, 2.800000e+01 %cond103.i.6.2 = select i1 %cmp99.i.6.2, float %cond98.i.6.2, float 0.000000e+00 %sub104.i.6.2 = fsub float 0x3FC3D4FA80000000, %div82.i.6.2 %add105.i.6.2 = fadd float %div82.i.6.2, 0x3FEB0AC160000000 %add106.i.6.2 = fadd float %add105.i.6.2, 1.000000e+00 %cond111.i.6.2 = select i1 %cmp94.i.6.2, float %add106.i.6.2, float %sub104.i.6.2 %cond116.i.6.2 = select i1 %cmp.i596.6.2, float %cond111.i.6.2, float %cond103.i.6.2 %sub117.i.6.2 = fadd float %mul233.6.2, -5.000000e-01 %2288 = tail call float @llvm.fmuladd.f32(float %mul233.6.2, float %div82.i.6.2, float %sub117.i.6.2) #5 %sub119.i.6.2 = fsub float 5.000000e-01, %2288 %cond124.i.6.2 = select i1 %cmp2.i.6.2, float %sub119.i.6.2, float %cond116.i.6.2 %cmp125.i.6.2 = fcmp olt float %mul233.6.2, -6.000000e+00 %cond129.i.6.2 = select i1 %cmp125.i.6.2, float 2.000000e+00, float %cond124.i.6.2 %cmp.i.i.6.2 = fcmp uno float %mul233.6.2, 0.000000e+00 %cond134.i.6.2 = select i1 %cmp.i.i.6.2, float %mul233.6.2, float %cond129.i.6.2 %mul236.6.2 = fmul float %cond.6.2, %nbparam_params_sh_ewald %neg237.6.2 = fsub float -0.000000e+00, %mul236.6.2 %2289 = tail call float @llvm.fmuladd.f32(float %div198.6.2, float %cond134.i.6.2, float %neg237.6.2) %2290 = tail call float @llvm.fmuladd.f32(float %mul224.6.2, float %2289, float %E_el.5.5.2) %splat.splatinsert.6.2 = insertelement <3 x float> undef, float %2225, i32 0 %splat.splat.6.2 = shufflevector <3 x float> %splat.splatinsert.6.2, <3 x float> undef, <3 x i32> zeroinitializer %mul242.6.2 = fmul <3 x float> %extractVec168.6.2, %splat.splat.6.2 %extractVec250.6.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.2, <4 x float> undef, <3 x i32> %sub251.6.2 = fsub <3 x float> %extractVec250.6.2, %mul242.6.2 %extractVec252.6.2 = shufflevector <3 x float> %sub251.6.2, <3 x float> undef, <4 x i32> %extractVec260.6.2 = shufflevector <4 x float> %fci_buf.sroa.62.5, <4 x float> undef, <3 x i32> %add261.6.2 = fadd <3 x float> %extractVec260.6.2, %mul242.6.2 %extractVec262.6.2 = shufflevector <3 x float> %add261.6.2, <3 x float> undef, <4 x i32> br label %if.end265.6.2 if.end265.6.2: ; preds = %if.then184.6.2, %if.then149.6.2, %if.end265.5.2 %fci_buf.sroa.62.6 = phi <4 x float> [ %fci_buf.sroa.62.5, %if.end265.5.2 ], [ %extractVec262.6.2, %if.then184.6.2 ], [ %fci_buf.sroa.62.5, %if.then149.6.2 ] %E_el.5.6.2 = phi float [ %E_el.5.5.2, %if.end265.5.2 ], [ %2290, %if.then184.6.2 ], [ %E_el.5.5.2, %if.then149.6.2 ] %E_lj.3.6.2 = phi float [ %E_lj.3.5.2, %if.end265.5.2 ], [ %add223.6.2, %if.then184.6.2 ], [ %E_lj.3.5.2, %if.then149.6.2 ] %fcj_buf.sroa.0.1.6.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.5.2, %if.end265.5.2 ], [ %extractVec252.6.2, %if.then184.6.2 ], [ %fcj_buf.sroa.0.1.5.2, %if.then149.6.2 ] %and147.7.2 = and i32 %64, 8388608 %tobool148.7.2 = icmp eq i32 %and147.7.2, 0 br i1 %tobool148.7.2, label %if.end265.7.2, label %if.then149.7.2 if.then149.7.2: ; preds = %if.end265.6.2 %2291 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.7.3, align 16, !tbaa !36 %2292 = fsub <4 x float> %2291, %1630 %2293 = extractelement <4 x float> %2292, i32 0 %2294 = extractelement <4 x float> %2292, i32 1 %mul3.i.i602.7.2 = fmul float %2294, %2294 %2295 = tail call float @llvm.fmuladd.f32(float %2293, float %2293, float %mul3.i.i602.7.2) #5 %2296 = extractelement <4 x float> %2292, i32 2 %2297 = tail call float @llvm.fmuladd.f32(float %2296, float %2296, float %2295) #5 %and170.7.2 = and i32 %66, 8388608 %tobool171.7.2 = icmp ne i32 %and170.7.2, 0 %cond.7.2 = select i1 %tobool171.7.2, float 1.000000e+00, float 0.000000e+00 %cmp176.7.2 = icmp eq i32 %48, %1628 %or.cond.7.2 = and i1 %cmp65, %cmp176.7.2 %not.or.cond.7.2 = xor i1 %or.cond.7.2, true %cmp178..7.2 = or i1 %cmp178, %not.or.cond.7.2 %conv180.7.2 = uitofp i1 %cmp178..7.2 to float %mul181.7.2 = fmul float %conv180.7.2, %nbparam_params_rcoulomb_sq %cmp182.7.2 = fcmp olt float %2297, %mul181.7.2 br i1 %cmp182.7.2, label %if.then184.7.2, label %if.end265.7.2 if.then184.7.2: ; preds = %if.then149.7.2 %extractVec168.7.2 = shufflevector <4 x float> %2292, <4 x float> undef, <3 x i32> %2298 = extractelement <4 x float> %2291, i32 3 %2299 = load i32, i32 addrspace(1)* %arrayidx185.7.3, align 4, !tbaa !41 %mul186.7.2 = mul nsw i32 %2299, %ntypes %add187.7.2 = add nsw i32 %mul186.7.2, %1632 %mul188.7.2 = shl nsw i32 %add187.7.2, 1 %2300 = sext i32 %mul188.7.2 to i64 %arrayidx189.7.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2300 %2301 = load float, float addrspace(2)* %arrayidx189.7.2, align 4, !tbaa !39 %add193.7.2 = or i32 %mul188.7.2, 1 %2302 = sext i32 %add193.7.2 to i64 %arrayidx194.7.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2302 %2303 = load float, float addrspace(2)* %arrayidx194.7.2, align 4, !tbaa !39 %sub195.7.2 = fsub float 1.000000e+00, %cond.7.2 %2304 = tail call float @llvm.fmuladd.f32(float %sub195.7.2, float 0x3D71979980000000, float %2297) %cmp.i.i600.7.2 = fcmp olt float %2304, 0.000000e+00 %call.i.i.7.2 = tail call float @llvm.sqrt.f32(float %2304) #6 %call.i.i.op.7.2 = fdiv float 1.000000e+00, %call.i.i.7.2 %div198.7.2 = select i1 %cmp.i.i600.7.2, float 0x7FF8000000000000, float %call.i.i.op.7.2 %mul199.7.2 = fmul float %div198.7.2, %div198.7.2 %mul200.7.2 = fmul float %mul199.7.2, %mul199.7.2 %mul201.7.2 = fmul float %mul199.7.2, %mul200.7.2 %mul202.7.2 = fmul float %cond.7.2, %mul201.7.2 %neg.7.2 = fsub float -0.000000e+00, %2301 %2305 = tail call float @llvm.fmuladd.f32(float %2303, float %mul202.7.2, float %neg.7.2) %mul204.7.2 = fmul float %mul202.7.2, %2305 %mul205.7.2 = fmul float %mul199.7.2, %mul204.7.2 %2306 = tail call float @llvm.fmuladd.f32(float %mul202.7.2, float %mul202.7.2, float %nbparam_params_repulsion_shift_cpot) %mul209.7.2 = fmul float %2306, %2303 %add213.7.2 = fadd float %mul202.7.2, %nbparam_params_dispersion_shift_cpot %mul214.7.2 = fmul float %add213.7.2, %2301 %mul215.7.2 = fmul float %mul214.7.2, 0x3FC5555560000000 %neg216.7.2 = fsub float -0.000000e+00, %mul215.7.2 %2307 = tail call float @llvm.fmuladd.f32(float %mul209.7.2, float 0x3FB5555540000000, float %neg216.7.2) %mul217.7.2 = fmul float %cond.7.2, %2307 %cmp218.7.2 = fcmp olt float %2304, %nbparam_params_rvdw_sq %cond220.7.2 = select i1 %cmp218.7.2, float 1.000000e+00, float 0.000000e+00 %mul221.7.2 = fmul float %cond220.7.2, %mul205.7.2 %mul222.7.2 = fmul float %cond220.7.2, %mul217.7.2 %add223.7.2 = fadd float %E_lj.3.6.2, %mul222.7.2 %mul224.7.2 = fmul float %1631, %2298 %mul225.7.2 = fmul float %cond.7.2, %mul199.7.2 %mul227.7.2 = fmul float %mul, %2304 %mul.i598.7.2 = fmul float %mul227.7.2, %mul227.7.2 %2308 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.7.2, float 0x3FBDA79640000000) #5 %2309 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.7.2, float 0x3FE03C5780000000) #5 %2310 = tail call float @llvm.fmuladd.f32(float %2308, float %mul.i598.7.2, float 1.000000e+00) #5 %2311 = tail call float @llvm.fmuladd.f32(float %2309, float %mul227.7.2, float %2310) #5 %div.i599.7.2 = fdiv float 1.000000e+00, %2311, !fpmath !46 %2312 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.7.2, float 0xBF0BFF7260000000) #5 %2313 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.7.2, float 0x3F50794180000000) #5 %2314 = tail call float @llvm.fmuladd.f32(float %2312, float %mul.i598.7.2, float 0xBF93BDB200000000) #5 %2315 = tail call float @llvm.fmuladd.f32(float %2313, float %mul.i598.7.2, float 0x3FB1D5E760000000) #5 %2316 = tail call float @llvm.fmuladd.f32(float %2314, float %mul.i598.7.2, float 0xBFE81272E0000000) #5 %2317 = tail call float @llvm.fmuladd.f32(float %2315, float %mul227.7.2, float %2316) #5 %mul11.i.7.2 = fmul float %2317, %div.i599.7.2 %mul229.7.2 = fmul float %mul21, %mul11.i.7.2 %2318 = tail call float @llvm.fmuladd.f32(float %mul225.7.2, float %div198.7.2, float %mul229.7.2) %2319 = tail call float @llvm.fmuladd.f32(float %mul224.7.2, float %2318, float %mul221.7.2) %mul232.7.2 = fmul float %2304, %div198.7.2 %mul233.7.2 = fmul float %mul232.7.2, %nbparam_params_ewald_beta %fabs.i.7.2 = tail call float @llvm.fabs.f32(float %mul233.7.2) #5 %and.i.7.2 = bitcast float %fabs.i.7.2 to i32 %mul.i.7.2 = fmul float %mul233.7.2, %mul233.7.2 %div.i.7.2 = fdiv float 1.000000e+00, %mul.i.7.2, !fpmath !46 %sub.i.7.2 = fadd float %fabs.i.7.2, -1.000000e+00 %cmp.i596.7.2 = fcmp olt float %fabs.i.7.2, 1.250000e+00 %cond.i.7.2 = select i1 %cmp.i596.7.2, float %sub.i.7.2, float %div.i.7.2 %cmp2.i.7.2 = fcmp olt float %fabs.i.7.2, 8.437500e-01 %cond6.i.7.2 = select i1 %cmp2.i.7.2, float %mul.i.7.2, float %cond.i.7.2 %2320 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2321 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2320, float 0xC083EC8820000000) #5 %2322 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2321, float 0xC064145D40000000) #5 %2323 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2322, float 0xC031C20960000000) #5 %2324 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2323, float 0xBFE993BA80000000) #5 %2325 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2324, float 0xBF84341240000000) #5 %2326 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2327 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2326, float 0x40A3F219C0000000) #5 %2328 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2327, float 0x40A8FFB760000000) #5 %2329 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2328, float 0x409802EB20000000) #5 %2330 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2329, float 0x40745CAE20000000) #5 %2331 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2330, float 0x403E568B20000000) #5 %2332 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2333 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2332, float 0xC067135CE0000000) #5 %2334 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2333, float 0xC0644CB180000000) #5 %2335 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2334, float 0xC04F300AE0000000) #5 %2336 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2335, float 0xC0251E0440000000) #5 %2337 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2336, float 0xBFE63416E0000000) #5 %2338 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2337, float 0xBF84341260000000) #5 %2339 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2340 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2339, float 0x405B28A3E0000000) #5 %2341 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2340, float 0x407AD02160000000) #5 %2342 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2341, float 0x40842B1920000000) #5 %2343 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2342, float 0x407B290DE0000000) #5 %2344 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2343, float 0x4061350C60000000) #5 %2345 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2344, float 0x4033A6B9C0000000) #5 %cmp32.i.7.2 = fcmp olt float %fabs.i.7.2, 0x4006DB6DA0000000 %cond36.i.7.2 = select i1 %cmp32.i.7.2, float %2338, float %2325 %cond41.i.7.2 = select i1 %cmp32.i.7.2, float %2345, float %2331 %2346 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2347 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2346, float 0xBFBC639840000000) #5 %2348 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2347, float 0x3FD45FCA80000000) #5 %2349 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2348, float 0xBFD7D24100000000) #5 %2350 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2349, float 0x3FDA8D00A0000000) #5 %2351 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2350, float 0xBF6359B8C0000000) #5 %2352 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2353 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2352, float 0x3FC02660E0000000) #5 %2354 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2353, float 0x3FB2635CE0000000) #5 %2355 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2354, float 0x3FE14AF0A0000000) #5 %2356 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2355, float 0x3FBB3E6620000000) #5 %cond57.i.7.2 = select i1 %cmp.i596.7.2, float %2351, float %cond36.i.7.2 %cond62.i.7.2 = select i1 %cmp.i596.7.2, float %2356, float %cond41.i.7.2 %2357 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2358 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2357, float 0xBF9D2A51E0000000) #5 %2359 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2358, float 0xBFD4CD7D60000000) #5 %2360 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2359, float 0x3FC06EBA80000000) #5 %2361 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2362 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2361, float 0x3F74D022C0000000) #5 %2363 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2362, float 0x3FB0A54C60000000) #5 %2364 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %2363, float 0x3FD97779C0000000) #5 %cond75.i.7.2 = select i1 %cmp2.i.7.2, float %2360, float %cond57.i.7.2 %cond80.i.7.2 = select i1 %cmp2.i.7.2, float %2364, float %cond62.i.7.2 %2365 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.2, float %cond80.i.7.2, float 1.000000e+00) #5 %div82.i.7.2 = fdiv float %cond75.i.7.2, %2365, !fpmath !46 %and83.i.7.2 = and i32 %and.i.7.2, -4096 %astype84.i.7.2 = bitcast i32 %and83.i.7.2 to float %sub85.i.7.2 = fsub float -0.000000e+00, %astype84.i.7.2 %2366 = tail call float @llvm.fmuladd.f32(float %sub85.i.7.2, float %astype84.i.7.2, float -5.625000e-01) #5 %cmp.i2.i.7.2 = fcmp olt float %2366, 0.000000e+00 %cond.i3.i.7.2 = select i1 %cmp.i2.i.7.2, float -5.000000e-01, float 5.000000e-01 %2367 = tail call float @llvm.fmuladd.f32(float %2366, float 0x3FF7154760000000, float %cond.i3.i.7.2) #5 %conv.i4.i.7.2 = fptosi float %2367 to i32 %conv1.i5.i.7.2 = sitofp i32 %conv.i4.i.7.2 to float %2368 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.7.2, float 0xBFE62E3000000000, float %2366) #5 %mul.i6.i.7.2 = fmul float %conv1.i5.i.7.2, 0xBEE2FEFA20000000 %add.i7.i.7.2 = fadd float %2368, %mul.i6.i.7.2 %mul3.i8.i.7.2 = fmul float %add.i7.i.7.2, %add.i7.i.7.2 %2369 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2370 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float %2369, float 0x3F11566AA0000000) #5 %2371 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float %2370, float 0xBF66C16C20000000) #5 %2372 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float %2371, float 0x3FC5555560000000) #5 %sub8.i9.i.7.2 = fsub float -0.000000e+00, %2372 %2373 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.2, float %sub8.i9.i.7.2, float %add.i7.i.7.2) #5 %sub10.i10.i.7.2 = fsub float -0.000000e+00, %mul.i6.i.7.2 %mul11.i11.i.7.2 = fmul float %add.i7.i.7.2, %2373 %sub12.i12.i.7.2 = fsub float 2.000000e+00, %2373 %div.i13.i.7.2 = fdiv float %mul11.i11.i.7.2, %sub12.i12.i.7.2, !fpmath !46 %sub13.i14.i.7.2 = fsub float %sub10.i10.i.7.2, %div.i13.i.7.2 %sub14.i15.i.7.2 = fsub float %sub13.i14.i.7.2, %2368 %sub15.i16.i.7.2 = fsub float 1.000000e+00, %sub14.i15.i.7.2 %astype.i17.i.7.2 = bitcast float %sub15.i16.i.7.2 to i32 %shl.i18.i.7.2 = shl i32 %conv.i4.i.7.2, 23 %add16.i19.i.7.2 = add nsw i32 %astype.i17.i.7.2, %shl.i18.i.7.2 %astype17.i20.i.7.2 = bitcast i32 %add16.i19.i.7.2 to float %cmp18.i21.i.7.2 = fcmp olt float %2366, 0xC055D589E0000000 %cond20.i22.i.7.2 = select i1 %cmp18.i21.i.7.2, float 0.000000e+00, float %astype17.i20.i.7.2 %cmp21.i23.i.7.2 = fcmp olt float %2366, 0x40562E4300000000 %cond26.i24.i.7.2 = select i1 %cmp21.i23.i.7.2, float %cond20.i22.i.7.2, float 0x7FF0000000000000 %cmp.i.i25.i.7.2 = fcmp uno float %2366, 0.000000e+00 %cond31.i26.i.7.2 = select i1 %cmp.i.i25.i.7.2, float %2366, float %cond26.i24.i.7.2 %sub88.i.7.2 = fsub float %astype84.i.7.2, %fabs.i.7.2 %add.i597.7.2 = fadd float %fabs.i.7.2, %astype84.i.7.2 %2374 = tail call float @llvm.fmuladd.f32(float %sub88.i.7.2, float %add.i597.7.2, float %div82.i.7.2) #5 %cmp.i1.i.7.2 = fcmp olt float %2374, 0.000000e+00 %cond.i.i.7.2 = select i1 %cmp.i1.i.7.2, float -5.000000e-01, float 5.000000e-01 %2375 = tail call float @llvm.fmuladd.f32(float %2374, float 0x3FF7154760000000, float %cond.i.i.7.2) #5 %conv.i.i.7.2 = fptosi float %2375 to i32 %conv1.i.i.7.2 = sitofp i32 %conv.i.i.7.2 to float %2376 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.7.2, float 0xBFE62E3000000000, float %2374) #5 %mul.i.i.7.2 = fmul float %conv1.i.i.7.2, 0xBEE2FEFA20000000 %add.i.i.7.2 = fadd float %2376, %mul.i.i.7.2 %mul3.i.i.7.2 = fmul float %add.i.i.7.2, %add.i.i.7.2 %2377 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2378 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float %2377, float 0x3F11566AA0000000) #5 %2379 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float %2378, float 0xBF66C16C20000000) #5 %2380 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float %2379, float 0x3FC5555560000000) #5 %sub8.i.i.7.2 = fsub float -0.000000e+00, %2380 %2381 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.2, float %sub8.i.i.7.2, float %add.i.i.7.2) #5 %sub10.i.i.7.2 = fsub float -0.000000e+00, %mul.i.i.7.2 %mul11.i.i.7.2 = fmul float %add.i.i.7.2, %2381 %sub12.i.i.7.2 = fsub float 2.000000e+00, %2381 %div.i.i.7.2 = fdiv float %mul11.i.i.7.2, %sub12.i.i.7.2, !fpmath !46 %sub13.i.i.7.2 = fsub float %sub10.i.i.7.2, %div.i.i.7.2 %sub14.i.i.7.2 = fsub float %sub13.i.i.7.2, %2376 %sub15.i.i.7.2 = fsub float 1.000000e+00, %sub14.i.i.7.2 %astype.i.i.7.2 = bitcast float %sub15.i.i.7.2 to i32 %shl.i.i.7.2 = shl i32 %conv.i.i.7.2, 23 %add16.i.i.7.2 = add nsw i32 %astype.i.i.7.2, %shl.i.i.7.2 %astype17.i.i.7.2 = bitcast i32 %add16.i.i.7.2 to float %cmp18.i.i.7.2 = fcmp olt float %2374, 0xC055D589E0000000 %cond20.i.i.7.2 = select i1 %cmp18.i.i.7.2, float 0.000000e+00, float %astype17.i.i.7.2 %cmp21.i.i.7.2 = fcmp olt float %2374, 0x40562E4300000000 %cond26.i.i.7.2 = select i1 %cmp21.i.i.7.2, float %cond20.i.i.7.2, float 0x7FF0000000000000 %cmp.i.i.i.7.2 = fcmp uno float %2374, 0.000000e+00 %cond31.i.i.7.2 = select i1 %cmp.i.i.i.7.2, float %2374, float %cond26.i.i.7.2 %mul91.i.7.2 = fmul float %cond31.i26.i.7.2, %cond31.i.i.7.2 %div92.i.7.2 = fdiv float %mul91.i.7.2, %fabs.i.7.2, !fpmath !46 %sub93.i.7.2 = fsub float 2.000000e+00, %div92.i.7.2 %cmp94.i.7.2 = fcmp olt float %mul233.7.2, 0.000000e+00 %cond98.i.7.2 = select i1 %cmp94.i.7.2, float %sub93.i.7.2, float %div92.i.7.2 %cmp99.i.7.2 = fcmp olt float %fabs.i.7.2, 2.800000e+01 %cond103.i.7.2 = select i1 %cmp99.i.7.2, float %cond98.i.7.2, float 0.000000e+00 %sub104.i.7.2 = fsub float 0x3FC3D4FA80000000, %div82.i.7.2 %add105.i.7.2 = fadd float %div82.i.7.2, 0x3FEB0AC160000000 %add106.i.7.2 = fadd float %add105.i.7.2, 1.000000e+00 %cond111.i.7.2 = select i1 %cmp94.i.7.2, float %add106.i.7.2, float %sub104.i.7.2 %cond116.i.7.2 = select i1 %cmp.i596.7.2, float %cond111.i.7.2, float %cond103.i.7.2 %sub117.i.7.2 = fadd float %mul233.7.2, -5.000000e-01 %2382 = tail call float @llvm.fmuladd.f32(float %mul233.7.2, float %div82.i.7.2, float %sub117.i.7.2) #5 %sub119.i.7.2 = fsub float 5.000000e-01, %2382 %cond124.i.7.2 = select i1 %cmp2.i.7.2, float %sub119.i.7.2, float %cond116.i.7.2 %cmp125.i.7.2 = fcmp olt float %mul233.7.2, -6.000000e+00 %cond129.i.7.2 = select i1 %cmp125.i.7.2, float 2.000000e+00, float %cond124.i.7.2 %cmp.i.i.7.2 = fcmp uno float %mul233.7.2, 0.000000e+00 %cond134.i.7.2 = select i1 %cmp.i.i.7.2, float %mul233.7.2, float %cond129.i.7.2 %mul236.7.2 = fmul float %cond.7.2, %nbparam_params_sh_ewald %neg237.7.2 = fsub float -0.000000e+00, %mul236.7.2 %2383 = tail call float @llvm.fmuladd.f32(float %div198.7.2, float %cond134.i.7.2, float %neg237.7.2) %2384 = tail call float @llvm.fmuladd.f32(float %mul224.7.2, float %2383, float %E_el.5.6.2) %splat.splatinsert.7.2 = insertelement <3 x float> undef, float %2319, i32 0 %splat.splat.7.2 = shufflevector <3 x float> %splat.splatinsert.7.2, <3 x float> undef, <3 x i32> zeroinitializer %mul242.7.2 = fmul <3 x float> %extractVec168.7.2, %splat.splat.7.2 %extractVec250.7.2 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.2, <4 x float> undef, <3 x i32> %sub251.7.2 = fsub <3 x float> %extractVec250.7.2, %mul242.7.2 %extractVec252.7.2 = shufflevector <3 x float> %sub251.7.2, <3 x float> undef, <4 x i32> %extractVec260.7.2 = shufflevector <4 x float> %fci_buf.sroa.72.6, <4 x float> undef, <3 x i32> %add261.7.2 = fadd <3 x float> %extractVec260.7.2, %mul242.7.2 %extractVec262.7.2 = shufflevector <3 x float> %add261.7.2, <3 x float> undef, <4 x i32> br label %if.end265.7.2 if.end265.7.2: ; preds = %if.then184.7.2, %if.then149.7.2, %if.end265.6.2 %fci_buf.sroa.72.7 = phi <4 x float> [ %fci_buf.sroa.72.6, %if.end265.6.2 ], [ %extractVec262.7.2, %if.then184.7.2 ], [ %fci_buf.sroa.72.6, %if.then149.7.2 ] %E_el.5.7.2 = phi float [ %E_el.5.6.2, %if.end265.6.2 ], [ %2384, %if.then184.7.2 ], [ %E_el.5.6.2, %if.then149.7.2 ] %E_lj.3.7.2 = phi float [ %E_lj.3.6.2, %if.end265.6.2 ], [ %add223.7.2, %if.then184.7.2 ], [ %E_lj.3.6.2, %if.then149.7.2 ] %fcj_buf.sroa.0.1.7.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.2, %if.end265.6.2 ], [ %extractVec252.7.2, %if.then184.7.2 ], [ %fcj_buf.sroa.0.1.6.2, %if.then149.7.2 ] %2385 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 0 store float %2385, float addrspace(3)* %arrayidx270, align 4, !tbaa !39 %2386 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 1 store float %2386, float addrspace(3)* %arrayidx272, align 4, !tbaa !39 %2387 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.2, i32 2 store float %2387, float addrspace(3)* %arrayidx274, 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 %add138.2) br label %for.inc276.2 for.inc276.2: ; preds = %if.end265.7.2, %for.inc276.1 %fci_buf.sroa.72.8 = phi <4 x float> [ %fci_buf.sroa.72.6, %for.inc276.1 ], [ %fci_buf.sroa.72.7, %if.end265.7.2 ] %fci_buf.sroa.62.7 = phi <4 x float> [ %fci_buf.sroa.62.5, %for.inc276.1 ], [ %fci_buf.sroa.62.6, %if.end265.7.2 ] %fci_buf.sroa.52.7 = phi <4 x float> [ %fci_buf.sroa.52.5, %for.inc276.1 ], [ %fci_buf.sroa.52.6, %if.end265.7.2 ] %fci_buf.sroa.42.7 = phi <4 x float> [ %fci_buf.sroa.42.5, %for.inc276.1 ], [ %fci_buf.sroa.42.6, %if.end265.7.2 ] %fci_buf.sroa.32.7 = phi <4 x float> [ %fci_buf.sroa.32.5, %for.inc276.1 ], [ %fci_buf.sroa.32.6, %if.end265.7.2 ] %fci_buf.sroa.22.7 = phi <4 x float> [ %fci_buf.sroa.22.5, %for.inc276.1 ], [ %fci_buf.sroa.22.6, %if.end265.7.2 ] %fci_buf.sroa.12.7 = phi <4 x float> [ %fci_buf.sroa.12.5, %for.inc276.1 ], [ %fci_buf.sroa.12.6, %if.end265.7.2 ] %fci_buf.sroa.0.7 = phi <4 x float> [ %fci_buf.sroa.0.5, %for.inc276.1 ], [ %fci_buf.sroa.0.6, %if.end265.7.2 ] %E_el.6.2 = phi float [ %E_el.6.1, %for.inc276.1 ], [ %E_el.5.7.2, %if.end265.7.2 ] %E_lj.4.2 = phi float [ %E_lj.4.1, %for.inc276.1 ], [ %E_lj.3.7.2, %if.end265.7.2 ] %tobool127.3 = icmp ult i32 %64, 16777216 br i1 %tobool127.3, label %for.inc280, label %if.then128.3 if.then128.3: ; preds = %for.inc276.2 %2388 = load i32, i32 addrspace(3)* %arrayidx136.3, align 4, !tbaa !41 %mul137.3 = shl nsw i32 %2388, 3 %add138.3 = add i32 %mul137.3, %y.i %2389 = sext i32 %add138.3 to i64 %arrayidx139.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %2389 %2390 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx139.3, align 16, !tbaa !36 %2391 = extractelement <4 x float> %2390, i32 3 %arrayidx141.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %2389 %2392 = load i32, i32 addrspace(1)* %arrayidx141.3, align 4, !tbaa !41 %and147.3958 = and i32 %64, 16777216 %tobool148.3959 = icmp eq i32 %and147.3958, 0 br i1 %tobool148.3959, label %if.end265.31124, label %if.then149.3972 if.then149.3972: ; preds = %if.then128.3 %2393 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.3960, align 16, !tbaa !36 %2394 = fsub <4 x float> %2393, %2390 %2395 = extractelement <4 x float> %2394, i32 0 %2396 = extractelement <4 x float> %2394, i32 1 %mul3.i.i602.3961 = fmul float %2396, %2396 %2397 = tail call float @llvm.fmuladd.f32(float %2395, float %2395, float %mul3.i.i602.3961) #5 %2398 = extractelement <4 x float> %2394, i32 2 %2399 = tail call float @llvm.fmuladd.f32(float %2398, float %2398, float %2397) #5 %and170.3962 = and i32 %66, 16777216 %tobool171.3963 = icmp ne i32 %and170.3962, 0 %cond.3964 = select i1 %tobool171.3963, float 1.000000e+00, float 0.000000e+00 %cmp176.3965 = icmp eq i32 %mul33, %2388 %or.cond.3966 = and i1 %cmp65, %cmp176.3965 %not.or.cond.3967 = xor i1 %or.cond.3966, true %cmp178..3968 = or i1 %cmp178, %not.or.cond.3967 %conv180.3969 = uitofp i1 %cmp178..3968 to float %mul181.3970 = fmul float %conv180.3969, %nbparam_params_rcoulomb_sq %cmp182.3971 = fcmp olt float %2399, %mul181.3970 br i1 %cmp182.3971, label %if.then184.31119, label %if.end265.31124 if.then184.31119: ; preds = %if.then149.3972 %extractVec168.3973 = shufflevector <4 x float> %2394, <4 x float> undef, <3 x i32> %2400 = extractelement <4 x float> %2393, i32 3 %2401 = load i32, i32 addrspace(1)* %arrayidx185.3976, align 4, !tbaa !41 %mul186.3977 = mul nsw i32 %2401, %ntypes %add187.3978 = add nsw i32 %mul186.3977, %2392 %mul188.3979 = shl nsw i32 %add187.3978, 1 %2402 = sext i32 %mul188.3979 to i64 %arrayidx189.3980 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2402 %2403 = load float, float addrspace(2)* %arrayidx189.3980, align 4, !tbaa !39 %add193.3981 = or i32 %mul188.3979, 1 %2404 = sext i32 %add193.3981 to i64 %arrayidx194.3982 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2404 %2405 = load float, float addrspace(2)* %arrayidx194.3982, align 4, !tbaa !39 %sub195.3983 = fsub float 1.000000e+00, %cond.3964 %2406 = tail call float @llvm.fmuladd.f32(float %sub195.3983, float 0x3D71979980000000, float %2399) %cmp.i.i600.3984 = fcmp olt float %2406, 0.000000e+00 %call.i.i.3985 = tail call float @llvm.sqrt.f32(float %2406) #6 %call.i.i.op.3986 = fdiv float 1.000000e+00, %call.i.i.3985 %div198.3987 = select i1 %cmp.i.i600.3984, float 0x7FF8000000000000, float %call.i.i.op.3986 %mul199.3988 = fmul float %div198.3987, %div198.3987 %mul200.3989 = fmul float %mul199.3988, %mul199.3988 %mul201.3990 = fmul float %mul199.3988, %mul200.3989 %mul202.3991 = fmul float %cond.3964, %mul201.3990 %neg.3992 = fsub float -0.000000e+00, %2403 %2407 = tail call float @llvm.fmuladd.f32(float %2405, float %mul202.3991, float %neg.3992) %mul204.3993 = fmul float %mul202.3991, %2407 %mul205.3994 = fmul float %mul199.3988, %mul204.3993 %2408 = tail call float @llvm.fmuladd.f32(float %mul202.3991, float %mul202.3991, float %nbparam_params_repulsion_shift_cpot) %mul209.3995 = fmul float %2408, %2405 %add213.3996 = fadd float %mul202.3991, %nbparam_params_dispersion_shift_cpot %mul214.3997 = fmul float %add213.3996, %2403 %mul215.3998 = fmul float %mul214.3997, 0x3FC5555560000000 %neg216.3999 = fsub float -0.000000e+00, %mul215.3998 %2409 = tail call float @llvm.fmuladd.f32(float %mul209.3995, float 0x3FB5555540000000, float %neg216.3999) %mul217.31000 = fmul float %cond.3964, %2409 %cmp218.31001 = fcmp olt float %2406, %nbparam_params_rvdw_sq %cond220.31002 = select i1 %cmp218.31001, float 1.000000e+00, float 0.000000e+00 %mul221.31003 = fmul float %cond220.31002, %mul205.3994 %mul222.31004 = fmul float %cond220.31002, %mul217.31000 %add223.31005 = fadd float %E_lj.4.2, %mul222.31004 %mul224.31006 = fmul float %2391, %2400 %mul225.31007 = fmul float %cond.3964, %mul199.3988 %mul227.31008 = fmul float %mul, %2406 %mul.i598.31009 = fmul float %mul227.31008, %mul227.31008 %2410 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.31009, float 0x3FBDA79640000000) #5 %2411 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.31009, float 0x3FE03C5780000000) #5 %2412 = tail call float @llvm.fmuladd.f32(float %2410, float %mul.i598.31009, float 1.000000e+00) #5 %2413 = tail call float @llvm.fmuladd.f32(float %2411, float %mul227.31008, float %2412) #5 %div.i599.31010 = fdiv float 1.000000e+00, %2413, !fpmath !46 %2414 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.31009, float 0xBF0BFF7260000000) #5 %2415 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.31009, float 0x3F50794180000000) #5 %2416 = tail call float @llvm.fmuladd.f32(float %2414, float %mul.i598.31009, float 0xBF93BDB200000000) #5 %2417 = tail call float @llvm.fmuladd.f32(float %2415, float %mul.i598.31009, float 0x3FB1D5E760000000) #5 %2418 = tail call float @llvm.fmuladd.f32(float %2416, float %mul.i598.31009, float 0xBFE81272E0000000) #5 %2419 = tail call float @llvm.fmuladd.f32(float %2417, float %mul227.31008, float %2418) #5 %mul11.i.31011 = fmul float %2419, %div.i599.31010 %mul229.31012 = fmul float %mul21, %mul11.i.31011 %2420 = tail call float @llvm.fmuladd.f32(float %mul225.31007, float %div198.3987, float %mul229.31012) %2421 = tail call float @llvm.fmuladd.f32(float %mul224.31006, float %2420, float %mul221.31003) %mul232.31013 = fmul float %2406, %div198.3987 %mul233.31014 = fmul float %mul232.31013, %nbparam_params_ewald_beta %fabs.i.31015 = tail call float @llvm.fabs.f32(float %mul233.31014) #5 %and.i.31016 = bitcast float %fabs.i.31015 to i32 %mul.i.31017 = fmul float %mul233.31014, %mul233.31014 %div.i.31018 = fdiv float 1.000000e+00, %mul.i.31017, !fpmath !46 %sub.i.31019 = fadd float %fabs.i.31015, -1.000000e+00 %cmp.i596.31020 = fcmp olt float %fabs.i.31015, 1.250000e+00 %cond.i.31021 = select i1 %cmp.i596.31020, float %sub.i.31019, float %div.i.31018 %cmp2.i.31022 = fcmp olt float %fabs.i.31015, 8.437500e-01 %cond6.i.31023 = select i1 %cmp2.i.31022, float %mul.i.31017, float %cond.i.31021 %2422 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2423 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2422, float 0xC083EC8820000000) #5 %2424 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2423, float 0xC064145D40000000) #5 %2425 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2424, float 0xC031C20960000000) #5 %2426 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2425, float 0xBFE993BA80000000) #5 %2427 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2426, float 0xBF84341240000000) #5 %2428 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2429 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2428, float 0x40A3F219C0000000) #5 %2430 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2429, float 0x40A8FFB760000000) #5 %2431 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2430, float 0x409802EB20000000) #5 %2432 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2431, float 0x40745CAE20000000) #5 %2433 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2432, float 0x403E568B20000000) #5 %2434 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2435 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2434, float 0xC067135CE0000000) #5 %2436 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2435, float 0xC0644CB180000000) #5 %2437 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2436, float 0xC04F300AE0000000) #5 %2438 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2437, float 0xC0251E0440000000) #5 %2439 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2438, float 0xBFE63416E0000000) #5 %2440 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2439, float 0xBF84341260000000) #5 %2441 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2442 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2441, float 0x405B28A3E0000000) #5 %2443 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2442, float 0x407AD02160000000) #5 %2444 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2443, float 0x40842B1920000000) #5 %2445 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2444, float 0x407B290DE0000000) #5 %2446 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2445, float 0x4061350C60000000) #5 %2447 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2446, float 0x4033A6B9C0000000) #5 %cmp32.i.31024 = fcmp olt float %fabs.i.31015, 0x4006DB6DA0000000 %cond36.i.31025 = select i1 %cmp32.i.31024, float %2440, float %2427 %cond41.i.31026 = select i1 %cmp32.i.31024, float %2447, float %2433 %2448 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2449 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2448, float 0xBFBC639840000000) #5 %2450 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2449, float 0x3FD45FCA80000000) #5 %2451 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2450, float 0xBFD7D24100000000) #5 %2452 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2451, float 0x3FDA8D00A0000000) #5 %2453 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2452, float 0xBF6359B8C0000000) #5 %2454 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2455 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2454, float 0x3FC02660E0000000) #5 %2456 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2455, float 0x3FB2635CE0000000) #5 %2457 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2456, float 0x3FE14AF0A0000000) #5 %2458 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2457, float 0x3FBB3E6620000000) #5 %cond57.i.31027 = select i1 %cmp.i596.31020, float %2453, float %cond36.i.31025 %cond62.i.31028 = select i1 %cmp.i596.31020, float %2458, float %cond41.i.31026 %2459 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2460 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2459, float 0xBF9D2A51E0000000) #5 %2461 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2460, float 0xBFD4CD7D60000000) #5 %2462 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2461, float 0x3FC06EBA80000000) #5 %2463 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2464 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2463, float 0x3F74D022C0000000) #5 %2465 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2464, float 0x3FB0A54C60000000) #5 %2466 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %2465, float 0x3FD97779C0000000) #5 %cond75.i.31029 = select i1 %cmp2.i.31022, float %2462, float %cond57.i.31027 %cond80.i.31030 = select i1 %cmp2.i.31022, float %2466, float %cond62.i.31028 %2467 = tail call float @llvm.fmuladd.f32(float %cond6.i.31023, float %cond80.i.31030, float 1.000000e+00) #5 %div82.i.31031 = fdiv float %cond75.i.31029, %2467, !fpmath !46 %and83.i.31032 = and i32 %and.i.31016, -4096 %astype84.i.31033 = bitcast i32 %and83.i.31032 to float %sub85.i.31034 = fsub float -0.000000e+00, %astype84.i.31033 %2468 = tail call float @llvm.fmuladd.f32(float %sub85.i.31034, float %astype84.i.31033, float -5.625000e-01) #5 %cmp.i2.i.31035 = fcmp olt float %2468, 0.000000e+00 %cond.i3.i.31036 = select i1 %cmp.i2.i.31035, float -5.000000e-01, float 5.000000e-01 %2469 = tail call float @llvm.fmuladd.f32(float %2468, float 0x3FF7154760000000, float %cond.i3.i.31036) #5 %conv.i4.i.31037 = fptosi float %2469 to i32 %conv1.i5.i.31038 = sitofp i32 %conv.i4.i.31037 to float %2470 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.31038, float 0xBFE62E3000000000, float %2468) #5 %mul.i6.i.31039 = fmul float %conv1.i5.i.31038, 0xBEE2FEFA20000000 %add.i7.i.31040 = fadd float %2470, %mul.i6.i.31039 %mul3.i8.i.31041 = fmul float %add.i7.i.31040, %add.i7.i.31040 %2471 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31041, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2472 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31041, float %2471, float 0x3F11566AA0000000) #5 %2473 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31041, float %2472, float 0xBF66C16C20000000) #5 %2474 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31041, float %2473, float 0x3FC5555560000000) #5 %sub8.i9.i.31042 = fsub float -0.000000e+00, %2474 %2475 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.31041, float %sub8.i9.i.31042, float %add.i7.i.31040) #5 %sub10.i10.i.31043 = fsub float -0.000000e+00, %mul.i6.i.31039 %mul11.i11.i.31044 = fmul float %add.i7.i.31040, %2475 %sub12.i12.i.31045 = fsub float 2.000000e+00, %2475 %div.i13.i.31046 = fdiv float %mul11.i11.i.31044, %sub12.i12.i.31045, !fpmath !46 %sub13.i14.i.31047 = fsub float %sub10.i10.i.31043, %div.i13.i.31046 %sub14.i15.i.31048 = fsub float %sub13.i14.i.31047, %2470 %sub15.i16.i.31049 = fsub float 1.000000e+00, %sub14.i15.i.31048 %astype.i17.i.31050 = bitcast float %sub15.i16.i.31049 to i32 %shl.i18.i.31051 = shl i32 %conv.i4.i.31037, 23 %add16.i19.i.31052 = add nsw i32 %astype.i17.i.31050, %shl.i18.i.31051 %astype17.i20.i.31053 = bitcast i32 %add16.i19.i.31052 to float %cmp18.i21.i.31054 = fcmp olt float %2468, 0xC055D589E0000000 %cond20.i22.i.31055 = select i1 %cmp18.i21.i.31054, float 0.000000e+00, float %astype17.i20.i.31053 %cmp21.i23.i.31056 = fcmp olt float %2468, 0x40562E4300000000 %cond26.i24.i.31057 = select i1 %cmp21.i23.i.31056, float %cond20.i22.i.31055, float 0x7FF0000000000000 %cmp.i.i25.i.31058 = fcmp uno float %2468, 0.000000e+00 %cond31.i26.i.31059 = select i1 %cmp.i.i25.i.31058, float %2468, float %cond26.i24.i.31057 %sub88.i.31060 = fsub float %astype84.i.31033, %fabs.i.31015 %add.i597.31061 = fadd float %fabs.i.31015, %astype84.i.31033 %2476 = tail call float @llvm.fmuladd.f32(float %sub88.i.31060, float %add.i597.31061, float %div82.i.31031) #5 %cmp.i1.i.31062 = fcmp olt float %2476, 0.000000e+00 %cond.i.i.31063 = select i1 %cmp.i1.i.31062, float -5.000000e-01, float 5.000000e-01 %2477 = tail call float @llvm.fmuladd.f32(float %2476, float 0x3FF7154760000000, float %cond.i.i.31063) #5 %conv.i.i.31064 = fptosi float %2477 to i32 %conv1.i.i.31065 = sitofp i32 %conv.i.i.31064 to float %2478 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.31065, float 0xBFE62E3000000000, float %2476) #5 %mul.i.i.31066 = fmul float %conv1.i.i.31065, 0xBEE2FEFA20000000 %add.i.i.31067 = fadd float %2478, %mul.i.i.31066 %mul3.i.i.31068 = fmul float %add.i.i.31067, %add.i.i.31067 %2479 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31068, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2480 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31068, float %2479, float 0x3F11566AA0000000) #5 %2481 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31068, float %2480, float 0xBF66C16C20000000) #5 %2482 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31068, float %2481, float 0x3FC5555560000000) #5 %sub8.i.i.31069 = fsub float -0.000000e+00, %2482 %2483 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.31068, float %sub8.i.i.31069, float %add.i.i.31067) #5 %sub10.i.i.31070 = fsub float -0.000000e+00, %mul.i.i.31066 %mul11.i.i.31071 = fmul float %add.i.i.31067, %2483 %sub12.i.i.31072 = fsub float 2.000000e+00, %2483 %div.i.i.31073 = fdiv float %mul11.i.i.31071, %sub12.i.i.31072, !fpmath !46 %sub13.i.i.31074 = fsub float %sub10.i.i.31070, %div.i.i.31073 %sub14.i.i.31075 = fsub float %sub13.i.i.31074, %2478 %sub15.i.i.31076 = fsub float 1.000000e+00, %sub14.i.i.31075 %astype.i.i.31077 = bitcast float %sub15.i.i.31076 to i32 %shl.i.i.31078 = shl i32 %conv.i.i.31064, 23 %add16.i.i.31079 = add nsw i32 %astype.i.i.31077, %shl.i.i.31078 %astype17.i.i.31080 = bitcast i32 %add16.i.i.31079 to float %cmp18.i.i.31081 = fcmp olt float %2476, 0xC055D589E0000000 %cond20.i.i.31082 = select i1 %cmp18.i.i.31081, float 0.000000e+00, float %astype17.i.i.31080 %cmp21.i.i.31083 = fcmp olt float %2476, 0x40562E4300000000 %cond26.i.i.31084 = select i1 %cmp21.i.i.31083, float %cond20.i.i.31082, float 0x7FF0000000000000 %cmp.i.i.i.31085 = fcmp uno float %2476, 0.000000e+00 %cond31.i.i.31086 = select i1 %cmp.i.i.i.31085, float %2476, float %cond26.i.i.31084 %mul91.i.31087 = fmul float %cond31.i26.i.31059, %cond31.i.i.31086 %div92.i.31088 = fdiv float %mul91.i.31087, %fabs.i.31015, !fpmath !46 %sub93.i.31089 = fsub float 2.000000e+00, %div92.i.31088 %cmp94.i.31090 = fcmp olt float %mul233.31014, 0.000000e+00 %cond98.i.31091 = select i1 %cmp94.i.31090, float %sub93.i.31089, float %div92.i.31088 %cmp99.i.31092 = fcmp olt float %fabs.i.31015, 2.800000e+01 %cond103.i.31093 = select i1 %cmp99.i.31092, float %cond98.i.31091, float 0.000000e+00 %sub104.i.31094 = fsub float 0x3FC3D4FA80000000, %div82.i.31031 %add105.i.31095 = fadd float %div82.i.31031, 0x3FEB0AC160000000 %add106.i.31096 = fadd float %add105.i.31095, 1.000000e+00 %cond111.i.31097 = select i1 %cmp94.i.31090, float %add106.i.31096, float %sub104.i.31094 %cond116.i.31098 = select i1 %cmp.i596.31020, float %cond111.i.31097, float %cond103.i.31093 %sub117.i.31099 = fadd float %mul233.31014, -5.000000e-01 %2484 = tail call float @llvm.fmuladd.f32(float %mul233.31014, float %div82.i.31031, float %sub117.i.31099) #5 %sub119.i.31100 = fsub float 5.000000e-01, %2484 %cond124.i.31101 = select i1 %cmp2.i.31022, float %sub119.i.31100, float %cond116.i.31098 %cmp125.i.31102 = fcmp olt float %mul233.31014, -6.000000e+00 %cond129.i.31103 = select i1 %cmp125.i.31102, float 2.000000e+00, float %cond124.i.31101 %cmp.i.i.31104 = fcmp uno float %mul233.31014, 0.000000e+00 %cond134.i.31105 = select i1 %cmp.i.i.31104, float %mul233.31014, float %cond129.i.31103 %mul236.31106 = fmul float %cond.3964, %nbparam_params_sh_ewald %neg237.31107 = fsub float -0.000000e+00, %mul236.31106 %2485 = tail call float @llvm.fmuladd.f32(float %div198.3987, float %cond134.i.31105, float %neg237.31107) %2486 = tail call float @llvm.fmuladd.f32(float %mul224.31006, float %2485, float %E_el.6.2) %splat.splatinsert.31108 = insertelement <3 x float> undef, float %2421, i32 0 %splat.splat.31109 = shufflevector <3 x float> %splat.splatinsert.31108, <3 x float> undef, <3 x i32> zeroinitializer %mul242.31110 = fmul <3 x float> %extractVec168.3973, %splat.splat.31109 %sub251.31111 = fsub <3 x float> zeroinitializer, %mul242.31110 %extractVec252.31112 = shufflevector <3 x float> %sub251.31111, <3 x float> undef, <4 x i32> %extractVec260.31116 = shufflevector <4 x float> %fci_buf.sroa.0.7, <4 x float> undef, <3 x i32> %add261.31117 = fadd <3 x float> %extractVec260.31116, %mul242.31110 %extractVec262.31118 = shufflevector <3 x float> %add261.31117, <3 x float> undef, <4 x i32> br label %if.end265.31124 if.end265.31124: ; preds = %if.then184.31119, %if.then149.3972, %if.then128.3 %fci_buf.sroa.0.8 = phi <4 x float> [ %fci_buf.sroa.0.7, %if.then128.3 ], [ %extractVec262.31118, %if.then184.31119 ], [ %fci_buf.sroa.0.7, %if.then149.3972 ] %E_el.5.31120 = phi float [ %E_el.6.2, %if.then128.3 ], [ %2486, %if.then184.31119 ], [ %E_el.6.2, %if.then149.3972 ] %E_lj.3.31121 = phi float [ %E_lj.4.2, %if.then128.3 ], [ %add223.31005, %if.then184.31119 ], [ %E_lj.4.2, %if.then149.3972 ] %fcj_buf.sroa.0.1.31122 = phi <4 x float> [ , %if.then128.3 ], [ %extractVec252.31112, %if.then184.31119 ], [ , %if.then149.3972 ] %and147.1.3 = and i32 %64, 33554432 %tobool148.1.3 = icmp eq i32 %and147.1.3, 0 br i1 %tobool148.1.3, label %if.end265.1.3, label %if.then149.1.3 if.then149.1.3: ; preds = %if.end265.31124 %2487 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.1.3, align 16, !tbaa !36 %2488 = fsub <4 x float> %2487, %2390 %2489 = extractelement <4 x float> %2488, i32 0 %2490 = extractelement <4 x float> %2488, i32 1 %mul3.i.i602.1.3 = fmul float %2490, %2490 %2491 = tail call float @llvm.fmuladd.f32(float %2489, float %2489, float %mul3.i.i602.1.3) #5 %2492 = extractelement <4 x float> %2488, i32 2 %2493 = tail call float @llvm.fmuladd.f32(float %2492, float %2492, float %2491) #5 %and170.1.3 = and i32 %66, 33554432 %tobool171.1.3 = icmp ne i32 %and170.1.3, 0 %cond.1.3 = select i1 %tobool171.1.3, float 1.000000e+00, float 0.000000e+00 %cmp176.1.3 = icmp eq i32 %60, %2388 %or.cond.1.3 = and i1 %cmp65, %cmp176.1.3 %not.or.cond.1.3 = xor i1 %or.cond.1.3, true %cmp178..1.3 = or i1 %cmp178, %not.or.cond.1.3 %conv180.1.3 = uitofp i1 %cmp178..1.3 to float %mul181.1.3 = fmul float %conv180.1.3, %nbparam_params_rcoulomb_sq %cmp182.1.3 = fcmp olt float %2493, %mul181.1.3 br i1 %cmp182.1.3, label %if.then184.1.3, label %if.end265.1.3 if.then184.1.3: ; preds = %if.then149.1.3 %extractVec168.1.3 = shufflevector <4 x float> %2488, <4 x float> undef, <3 x i32> %2494 = extractelement <4 x float> %2487, i32 3 %2495 = load i32, i32 addrspace(1)* %arrayidx185.1.3, align 4, !tbaa !41 %mul186.1.3 = mul nsw i32 %2495, %ntypes %add187.1.3 = add nsw i32 %mul186.1.3, %2392 %mul188.1.3 = shl nsw i32 %add187.1.3, 1 %2496 = sext i32 %mul188.1.3 to i64 %arrayidx189.1.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2496 %2497 = load float, float addrspace(2)* %arrayidx189.1.3, align 4, !tbaa !39 %add193.1.3 = or i32 %mul188.1.3, 1 %2498 = sext i32 %add193.1.3 to i64 %arrayidx194.1.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2498 %2499 = load float, float addrspace(2)* %arrayidx194.1.3, align 4, !tbaa !39 %sub195.1.3 = fsub float 1.000000e+00, %cond.1.3 %2500 = tail call float @llvm.fmuladd.f32(float %sub195.1.3, float 0x3D71979980000000, float %2493) %cmp.i.i600.1.3 = fcmp olt float %2500, 0.000000e+00 %call.i.i.1.3 = tail call float @llvm.sqrt.f32(float %2500) #6 %call.i.i.op.1.3 = fdiv float 1.000000e+00, %call.i.i.1.3 %div198.1.3 = select i1 %cmp.i.i600.1.3, float 0x7FF8000000000000, float %call.i.i.op.1.3 %mul199.1.3 = fmul float %div198.1.3, %div198.1.3 %mul200.1.3 = fmul float %mul199.1.3, %mul199.1.3 %mul201.1.3 = fmul float %mul199.1.3, %mul200.1.3 %mul202.1.3 = fmul float %cond.1.3, %mul201.1.3 %neg.1.3 = fsub float -0.000000e+00, %2497 %2501 = tail call float @llvm.fmuladd.f32(float %2499, float %mul202.1.3, float %neg.1.3) %mul204.1.3 = fmul float %mul202.1.3, %2501 %mul205.1.3 = fmul float %mul199.1.3, %mul204.1.3 %2502 = tail call float @llvm.fmuladd.f32(float %mul202.1.3, float %mul202.1.3, float %nbparam_params_repulsion_shift_cpot) %mul209.1.3 = fmul float %2502, %2499 %add213.1.3 = fadd float %mul202.1.3, %nbparam_params_dispersion_shift_cpot %mul214.1.3 = fmul float %add213.1.3, %2497 %mul215.1.3 = fmul float %mul214.1.3, 0x3FC5555560000000 %neg216.1.3 = fsub float -0.000000e+00, %mul215.1.3 %2503 = tail call float @llvm.fmuladd.f32(float %mul209.1.3, float 0x3FB5555540000000, float %neg216.1.3) %mul217.1.3 = fmul float %cond.1.3, %2503 %cmp218.1.3 = fcmp olt float %2500, %nbparam_params_rvdw_sq %cond220.1.3 = select i1 %cmp218.1.3, float 1.000000e+00, float 0.000000e+00 %mul221.1.3 = fmul float %cond220.1.3, %mul205.1.3 %mul222.1.3 = fmul float %cond220.1.3, %mul217.1.3 %add223.1.3 = fadd float %E_lj.3.31121, %mul222.1.3 %mul224.1.3 = fmul float %2391, %2494 %mul225.1.3 = fmul float %cond.1.3, %mul199.1.3 %mul227.1.3 = fmul float %mul, %2500 %mul.i598.1.3 = fmul float %mul227.1.3, %mul227.1.3 %2504 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.1.3, float 0x3FBDA79640000000) #5 %2505 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.1.3, float 0x3FE03C5780000000) #5 %2506 = tail call float @llvm.fmuladd.f32(float %2504, float %mul.i598.1.3, float 1.000000e+00) #5 %2507 = tail call float @llvm.fmuladd.f32(float %2505, float %mul227.1.3, float %2506) #5 %div.i599.1.3 = fdiv float 1.000000e+00, %2507, !fpmath !46 %2508 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.1.3, float 0xBF0BFF7260000000) #5 %2509 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.1.3, float 0x3F50794180000000) #5 %2510 = tail call float @llvm.fmuladd.f32(float %2508, float %mul.i598.1.3, float 0xBF93BDB200000000) #5 %2511 = tail call float @llvm.fmuladd.f32(float %2509, float %mul.i598.1.3, float 0x3FB1D5E760000000) #5 %2512 = tail call float @llvm.fmuladd.f32(float %2510, float %mul.i598.1.3, float 0xBFE81272E0000000) #5 %2513 = tail call float @llvm.fmuladd.f32(float %2511, float %mul227.1.3, float %2512) #5 %mul11.i.1.3 = fmul float %2513, %div.i599.1.3 %mul229.1.3 = fmul float %mul21, %mul11.i.1.3 %2514 = tail call float @llvm.fmuladd.f32(float %mul225.1.3, float %div198.1.3, float %mul229.1.3) %2515 = tail call float @llvm.fmuladd.f32(float %mul224.1.3, float %2514, float %mul221.1.3) %mul232.1.3 = fmul float %2500, %div198.1.3 %mul233.1.3 = fmul float %mul232.1.3, %nbparam_params_ewald_beta %fabs.i.1.3 = tail call float @llvm.fabs.f32(float %mul233.1.3) #5 %and.i.1.3 = bitcast float %fabs.i.1.3 to i32 %mul.i.1.3 = fmul float %mul233.1.3, %mul233.1.3 %div.i.1.3 = fdiv float 1.000000e+00, %mul.i.1.3, !fpmath !46 %sub.i.1.3 = fadd float %fabs.i.1.3, -1.000000e+00 %cmp.i596.1.3 = fcmp olt float %fabs.i.1.3, 1.250000e+00 %cond.i.1.3 = select i1 %cmp.i596.1.3, float %sub.i.1.3, float %div.i.1.3 %cmp2.i.1.3 = fcmp olt float %fabs.i.1.3, 8.437500e-01 %cond6.i.1.3 = select i1 %cmp2.i.1.3, float %mul.i.1.3, float %cond.i.1.3 %2516 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2517 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2516, float 0xC083EC8820000000) #5 %2518 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2517, float 0xC064145D40000000) #5 %2519 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2518, float 0xC031C20960000000) #5 %2520 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2519, float 0xBFE993BA80000000) #5 %2521 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2520, float 0xBF84341240000000) #5 %2522 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2523 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2522, float 0x40A3F219C0000000) #5 %2524 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2523, float 0x40A8FFB760000000) #5 %2525 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2524, float 0x409802EB20000000) #5 %2526 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2525, float 0x40745CAE20000000) #5 %2527 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2526, float 0x403E568B20000000) #5 %2528 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2529 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2528, float 0xC067135CE0000000) #5 %2530 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2529, float 0xC0644CB180000000) #5 %2531 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2530, float 0xC04F300AE0000000) #5 %2532 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2531, float 0xC0251E0440000000) #5 %2533 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2532, float 0xBFE63416E0000000) #5 %2534 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2533, float 0xBF84341260000000) #5 %2535 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2536 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2535, float 0x405B28A3E0000000) #5 %2537 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2536, float 0x407AD02160000000) #5 %2538 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2537, float 0x40842B1920000000) #5 %2539 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2538, float 0x407B290DE0000000) #5 %2540 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2539, float 0x4061350C60000000) #5 %2541 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2540, float 0x4033A6B9C0000000) #5 %cmp32.i.1.3 = fcmp olt float %fabs.i.1.3, 0x4006DB6DA0000000 %cond36.i.1.3 = select i1 %cmp32.i.1.3, float %2534, float %2521 %cond41.i.1.3 = select i1 %cmp32.i.1.3, float %2541, float %2527 %2542 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2543 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2542, float 0xBFBC639840000000) #5 %2544 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2543, float 0x3FD45FCA80000000) #5 %2545 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2544, float 0xBFD7D24100000000) #5 %2546 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2545, float 0x3FDA8D00A0000000) #5 %2547 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2546, float 0xBF6359B8C0000000) #5 %2548 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2549 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2548, float 0x3FC02660E0000000) #5 %2550 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2549, float 0x3FB2635CE0000000) #5 %2551 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2550, float 0x3FE14AF0A0000000) #5 %2552 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2551, float 0x3FBB3E6620000000) #5 %cond57.i.1.3 = select i1 %cmp.i596.1.3, float %2547, float %cond36.i.1.3 %cond62.i.1.3 = select i1 %cmp.i596.1.3, float %2552, float %cond41.i.1.3 %2553 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2554 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2553, float 0xBF9D2A51E0000000) #5 %2555 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2554, float 0xBFD4CD7D60000000) #5 %2556 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2555, float 0x3FC06EBA80000000) #5 %2557 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2558 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2557, float 0x3F74D022C0000000) #5 %2559 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2558, float 0x3FB0A54C60000000) #5 %2560 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %2559, float 0x3FD97779C0000000) #5 %cond75.i.1.3 = select i1 %cmp2.i.1.3, float %2556, float %cond57.i.1.3 %cond80.i.1.3 = select i1 %cmp2.i.1.3, float %2560, float %cond62.i.1.3 %2561 = tail call float @llvm.fmuladd.f32(float %cond6.i.1.3, float %cond80.i.1.3, float 1.000000e+00) #5 %div82.i.1.3 = fdiv float %cond75.i.1.3, %2561, !fpmath !46 %and83.i.1.3 = and i32 %and.i.1.3, -4096 %astype84.i.1.3 = bitcast i32 %and83.i.1.3 to float %sub85.i.1.3 = fsub float -0.000000e+00, %astype84.i.1.3 %2562 = tail call float @llvm.fmuladd.f32(float %sub85.i.1.3, float %astype84.i.1.3, float -5.625000e-01) #5 %cmp.i2.i.1.3 = fcmp olt float %2562, 0.000000e+00 %cond.i3.i.1.3 = select i1 %cmp.i2.i.1.3, float -5.000000e-01, float 5.000000e-01 %2563 = tail call float @llvm.fmuladd.f32(float %2562, float 0x3FF7154760000000, float %cond.i3.i.1.3) #5 %conv.i4.i.1.3 = fptosi float %2563 to i32 %conv1.i5.i.1.3 = sitofp i32 %conv.i4.i.1.3 to float %2564 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.1.3, float 0xBFE62E3000000000, float %2562) #5 %mul.i6.i.1.3 = fmul float %conv1.i5.i.1.3, 0xBEE2FEFA20000000 %add.i7.i.1.3 = fadd float %2564, %mul.i6.i.1.3 %mul3.i8.i.1.3 = fmul float %add.i7.i.1.3, %add.i7.i.1.3 %2565 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2566 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float %2565, float 0x3F11566AA0000000) #5 %2567 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float %2566, float 0xBF66C16C20000000) #5 %2568 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float %2567, float 0x3FC5555560000000) #5 %sub8.i9.i.1.3 = fsub float -0.000000e+00, %2568 %2569 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.1.3, float %sub8.i9.i.1.3, float %add.i7.i.1.3) #5 %sub10.i10.i.1.3 = fsub float -0.000000e+00, %mul.i6.i.1.3 %mul11.i11.i.1.3 = fmul float %add.i7.i.1.3, %2569 %sub12.i12.i.1.3 = fsub float 2.000000e+00, %2569 %div.i13.i.1.3 = fdiv float %mul11.i11.i.1.3, %sub12.i12.i.1.3, !fpmath !46 %sub13.i14.i.1.3 = fsub float %sub10.i10.i.1.3, %div.i13.i.1.3 %sub14.i15.i.1.3 = fsub float %sub13.i14.i.1.3, %2564 %sub15.i16.i.1.3 = fsub float 1.000000e+00, %sub14.i15.i.1.3 %astype.i17.i.1.3 = bitcast float %sub15.i16.i.1.3 to i32 %shl.i18.i.1.3 = shl i32 %conv.i4.i.1.3, 23 %add16.i19.i.1.3 = add nsw i32 %astype.i17.i.1.3, %shl.i18.i.1.3 %astype17.i20.i.1.3 = bitcast i32 %add16.i19.i.1.3 to float %cmp18.i21.i.1.3 = fcmp olt float %2562, 0xC055D589E0000000 %cond20.i22.i.1.3 = select i1 %cmp18.i21.i.1.3, float 0.000000e+00, float %astype17.i20.i.1.3 %cmp21.i23.i.1.3 = fcmp olt float %2562, 0x40562E4300000000 %cond26.i24.i.1.3 = select i1 %cmp21.i23.i.1.3, float %cond20.i22.i.1.3, float 0x7FF0000000000000 %cmp.i.i25.i.1.3 = fcmp uno float %2562, 0.000000e+00 %cond31.i26.i.1.3 = select i1 %cmp.i.i25.i.1.3, float %2562, float %cond26.i24.i.1.3 %sub88.i.1.3 = fsub float %astype84.i.1.3, %fabs.i.1.3 %add.i597.1.3 = fadd float %fabs.i.1.3, %astype84.i.1.3 %2570 = tail call float @llvm.fmuladd.f32(float %sub88.i.1.3, float %add.i597.1.3, float %div82.i.1.3) #5 %cmp.i1.i.1.3 = fcmp olt float %2570, 0.000000e+00 %cond.i.i.1.3 = select i1 %cmp.i1.i.1.3, float -5.000000e-01, float 5.000000e-01 %2571 = tail call float @llvm.fmuladd.f32(float %2570, float 0x3FF7154760000000, float %cond.i.i.1.3) #5 %conv.i.i.1.3 = fptosi float %2571 to i32 %conv1.i.i.1.3 = sitofp i32 %conv.i.i.1.3 to float %2572 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.1.3, float 0xBFE62E3000000000, float %2570) #5 %mul.i.i.1.3 = fmul float %conv1.i.i.1.3, 0xBEE2FEFA20000000 %add.i.i.1.3 = fadd float %2572, %mul.i.i.1.3 %mul3.i.i.1.3 = fmul float %add.i.i.1.3, %add.i.i.1.3 %2573 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2574 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float %2573, float 0x3F11566AA0000000) #5 %2575 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float %2574, float 0xBF66C16C20000000) #5 %2576 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float %2575, float 0x3FC5555560000000) #5 %sub8.i.i.1.3 = fsub float -0.000000e+00, %2576 %2577 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.1.3, float %sub8.i.i.1.3, float %add.i.i.1.3) #5 %sub10.i.i.1.3 = fsub float -0.000000e+00, %mul.i.i.1.3 %mul11.i.i.1.3 = fmul float %add.i.i.1.3, %2577 %sub12.i.i.1.3 = fsub float 2.000000e+00, %2577 %div.i.i.1.3 = fdiv float %mul11.i.i.1.3, %sub12.i.i.1.3, !fpmath !46 %sub13.i.i.1.3 = fsub float %sub10.i.i.1.3, %div.i.i.1.3 %sub14.i.i.1.3 = fsub float %sub13.i.i.1.3, %2572 %sub15.i.i.1.3 = fsub float 1.000000e+00, %sub14.i.i.1.3 %astype.i.i.1.3 = bitcast float %sub15.i.i.1.3 to i32 %shl.i.i.1.3 = shl i32 %conv.i.i.1.3, 23 %add16.i.i.1.3 = add nsw i32 %astype.i.i.1.3, %shl.i.i.1.3 %astype17.i.i.1.3 = bitcast i32 %add16.i.i.1.3 to float %cmp18.i.i.1.3 = fcmp olt float %2570, 0xC055D589E0000000 %cond20.i.i.1.3 = select i1 %cmp18.i.i.1.3, float 0.000000e+00, float %astype17.i.i.1.3 %cmp21.i.i.1.3 = fcmp olt float %2570, 0x40562E4300000000 %cond26.i.i.1.3 = select i1 %cmp21.i.i.1.3, float %cond20.i.i.1.3, float 0x7FF0000000000000 %cmp.i.i.i.1.3 = fcmp uno float %2570, 0.000000e+00 %cond31.i.i.1.3 = select i1 %cmp.i.i.i.1.3, float %2570, float %cond26.i.i.1.3 %mul91.i.1.3 = fmul float %cond31.i26.i.1.3, %cond31.i.i.1.3 %div92.i.1.3 = fdiv float %mul91.i.1.3, %fabs.i.1.3, !fpmath !46 %sub93.i.1.3 = fsub float 2.000000e+00, %div92.i.1.3 %cmp94.i.1.3 = fcmp olt float %mul233.1.3, 0.000000e+00 %cond98.i.1.3 = select i1 %cmp94.i.1.3, float %sub93.i.1.3, float %div92.i.1.3 %cmp99.i.1.3 = fcmp olt float %fabs.i.1.3, 2.800000e+01 %cond103.i.1.3 = select i1 %cmp99.i.1.3, float %cond98.i.1.3, float 0.000000e+00 %sub104.i.1.3 = fsub float 0x3FC3D4FA80000000, %div82.i.1.3 %add105.i.1.3 = fadd float %div82.i.1.3, 0x3FEB0AC160000000 %add106.i.1.3 = fadd float %add105.i.1.3, 1.000000e+00 %cond111.i.1.3 = select i1 %cmp94.i.1.3, float %add106.i.1.3, float %sub104.i.1.3 %cond116.i.1.3 = select i1 %cmp.i596.1.3, float %cond111.i.1.3, float %cond103.i.1.3 %sub117.i.1.3 = fadd float %mul233.1.3, -5.000000e-01 %2578 = tail call float @llvm.fmuladd.f32(float %mul233.1.3, float %div82.i.1.3, float %sub117.i.1.3) #5 %sub119.i.1.3 = fsub float 5.000000e-01, %2578 %cond124.i.1.3 = select i1 %cmp2.i.1.3, float %sub119.i.1.3, float %cond116.i.1.3 %cmp125.i.1.3 = fcmp olt float %mul233.1.3, -6.000000e+00 %cond129.i.1.3 = select i1 %cmp125.i.1.3, float 2.000000e+00, float %cond124.i.1.3 %cmp.i.i.1.3 = fcmp uno float %mul233.1.3, 0.000000e+00 %cond134.i.1.3 = select i1 %cmp.i.i.1.3, float %mul233.1.3, float %cond129.i.1.3 %mul236.1.3 = fmul float %cond.1.3, %nbparam_params_sh_ewald %neg237.1.3 = fsub float -0.000000e+00, %mul236.1.3 %2579 = tail call float @llvm.fmuladd.f32(float %div198.1.3, float %cond134.i.1.3, float %neg237.1.3) %2580 = tail call float @llvm.fmuladd.f32(float %mul224.1.3, float %2579, float %E_el.5.31120) %splat.splatinsert.1.3 = insertelement <3 x float> undef, float %2515, i32 0 %splat.splat.1.3 = shufflevector <3 x float> %splat.splatinsert.1.3, <3 x float> undef, <3 x i32> zeroinitializer %mul242.1.3 = fmul <3 x float> %extractVec168.1.3, %splat.splat.1.3 %extractVec250.1.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.31122, <4 x float> undef, <3 x i32> %sub251.1.3 = fsub <3 x float> %extractVec250.1.3, %mul242.1.3 %extractVec252.1.3 = shufflevector <3 x float> %sub251.1.3, <3 x float> undef, <4 x i32> %extractVec260.1.3 = shufflevector <4 x float> %fci_buf.sroa.12.7, <4 x float> undef, <3 x i32> %add261.1.3 = fadd <3 x float> %extractVec260.1.3, %mul242.1.3 %extractVec262.1.3 = shufflevector <3 x float> %add261.1.3, <3 x float> undef, <4 x i32> br label %if.end265.1.3 if.end265.1.3: ; preds = %if.then184.1.3, %if.then149.1.3, %if.end265.31124 %fci_buf.sroa.12.8 = phi <4 x float> [ %fci_buf.sroa.12.7, %if.end265.31124 ], [ %extractVec262.1.3, %if.then184.1.3 ], [ %fci_buf.sroa.12.7, %if.then149.1.3 ] %E_el.5.1.3 = phi float [ %E_el.5.31120, %if.end265.31124 ], [ %2580, %if.then184.1.3 ], [ %E_el.5.31120, %if.then149.1.3 ] %E_lj.3.1.3 = phi float [ %E_lj.3.31121, %if.end265.31124 ], [ %add223.1.3, %if.then184.1.3 ], [ %E_lj.3.31121, %if.then149.1.3 ] %fcj_buf.sroa.0.1.1.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.31122, %if.end265.31124 ], [ %extractVec252.1.3, %if.then184.1.3 ], [ %fcj_buf.sroa.0.1.31122, %if.then149.1.3 ] %and147.2.3 = and i32 %64, 67108864 %tobool148.2.3 = icmp eq i32 %and147.2.3, 0 br i1 %tobool148.2.3, label %if.end265.2.3, label %if.then149.2.3 if.then149.2.3: ; preds = %if.end265.1.3 %2581 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.2.3, align 16, !tbaa !36 %2582 = fsub <4 x float> %2581, %2390 %2583 = extractelement <4 x float> %2582, i32 0 %2584 = extractelement <4 x float> %2582, i32 1 %mul3.i.i602.2.3 = fmul float %2584, %2584 %2585 = tail call float @llvm.fmuladd.f32(float %2583, float %2583, float %mul3.i.i602.2.3) #5 %2586 = extractelement <4 x float> %2582, i32 2 %2587 = tail call float @llvm.fmuladd.f32(float %2586, float %2586, float %2585) #5 %and170.2.3 = and i32 %66, 67108864 %tobool171.2.3 = icmp ne i32 %and170.2.3, 0 %cond.2.3 = select i1 %tobool171.2.3, float 1.000000e+00, float 0.000000e+00 %cmp176.2.3 = icmp eq i32 %58, %2388 %or.cond.2.3 = and i1 %cmp65, %cmp176.2.3 %not.or.cond.2.3 = xor i1 %or.cond.2.3, true %cmp178..2.3 = or i1 %cmp178, %not.or.cond.2.3 %conv180.2.3 = uitofp i1 %cmp178..2.3 to float %mul181.2.3 = fmul float %conv180.2.3, %nbparam_params_rcoulomb_sq %cmp182.2.3 = fcmp olt float %2587, %mul181.2.3 br i1 %cmp182.2.3, label %if.then184.2.3, label %if.end265.2.3 if.then184.2.3: ; preds = %if.then149.2.3 %extractVec168.2.3 = shufflevector <4 x float> %2582, <4 x float> undef, <3 x i32> %2588 = extractelement <4 x float> %2581, i32 3 %2589 = load i32, i32 addrspace(1)* %arrayidx185.2.3, align 4, !tbaa !41 %mul186.2.3 = mul nsw i32 %2589, %ntypes %add187.2.3 = add nsw i32 %mul186.2.3, %2392 %mul188.2.3 = shl nsw i32 %add187.2.3, 1 %2590 = sext i32 %mul188.2.3 to i64 %arrayidx189.2.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2590 %2591 = load float, float addrspace(2)* %arrayidx189.2.3, align 4, !tbaa !39 %add193.2.3 = or i32 %mul188.2.3, 1 %2592 = sext i32 %add193.2.3 to i64 %arrayidx194.2.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2592 %2593 = load float, float addrspace(2)* %arrayidx194.2.3, align 4, !tbaa !39 %sub195.2.3 = fsub float 1.000000e+00, %cond.2.3 %2594 = tail call float @llvm.fmuladd.f32(float %sub195.2.3, float 0x3D71979980000000, float %2587) %cmp.i.i600.2.3 = fcmp olt float %2594, 0.000000e+00 %call.i.i.2.3 = tail call float @llvm.sqrt.f32(float %2594) #6 %call.i.i.op.2.3 = fdiv float 1.000000e+00, %call.i.i.2.3 %div198.2.3 = select i1 %cmp.i.i600.2.3, float 0x7FF8000000000000, float %call.i.i.op.2.3 %mul199.2.3 = fmul float %div198.2.3, %div198.2.3 %mul200.2.3 = fmul float %mul199.2.3, %mul199.2.3 %mul201.2.3 = fmul float %mul199.2.3, %mul200.2.3 %mul202.2.3 = fmul float %cond.2.3, %mul201.2.3 %neg.2.3 = fsub float -0.000000e+00, %2591 %2595 = tail call float @llvm.fmuladd.f32(float %2593, float %mul202.2.3, float %neg.2.3) %mul204.2.3 = fmul float %mul202.2.3, %2595 %mul205.2.3 = fmul float %mul199.2.3, %mul204.2.3 %2596 = tail call float @llvm.fmuladd.f32(float %mul202.2.3, float %mul202.2.3, float %nbparam_params_repulsion_shift_cpot) %mul209.2.3 = fmul float %2596, %2593 %add213.2.3 = fadd float %mul202.2.3, %nbparam_params_dispersion_shift_cpot %mul214.2.3 = fmul float %add213.2.3, %2591 %mul215.2.3 = fmul float %mul214.2.3, 0x3FC5555560000000 %neg216.2.3 = fsub float -0.000000e+00, %mul215.2.3 %2597 = tail call float @llvm.fmuladd.f32(float %mul209.2.3, float 0x3FB5555540000000, float %neg216.2.3) %mul217.2.3 = fmul float %cond.2.3, %2597 %cmp218.2.3 = fcmp olt float %2594, %nbparam_params_rvdw_sq %cond220.2.3 = select i1 %cmp218.2.3, float 1.000000e+00, float 0.000000e+00 %mul221.2.3 = fmul float %cond220.2.3, %mul205.2.3 %mul222.2.3 = fmul float %cond220.2.3, %mul217.2.3 %add223.2.3 = fadd float %E_lj.3.1.3, %mul222.2.3 %mul224.2.3 = fmul float %2391, %2588 %mul225.2.3 = fmul float %cond.2.3, %mul199.2.3 %mul227.2.3 = fmul float %mul, %2594 %mul.i598.2.3 = fmul float %mul227.2.3, %mul227.2.3 %2598 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.2.3, float 0x3FBDA79640000000) #5 %2599 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.2.3, float 0x3FE03C5780000000) #5 %2600 = tail call float @llvm.fmuladd.f32(float %2598, float %mul.i598.2.3, float 1.000000e+00) #5 %2601 = tail call float @llvm.fmuladd.f32(float %2599, float %mul227.2.3, float %2600) #5 %div.i599.2.3 = fdiv float 1.000000e+00, %2601, !fpmath !46 %2602 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.2.3, float 0xBF0BFF7260000000) #5 %2603 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.2.3, float 0x3F50794180000000) #5 %2604 = tail call float @llvm.fmuladd.f32(float %2602, float %mul.i598.2.3, float 0xBF93BDB200000000) #5 %2605 = tail call float @llvm.fmuladd.f32(float %2603, float %mul.i598.2.3, float 0x3FB1D5E760000000) #5 %2606 = tail call float @llvm.fmuladd.f32(float %2604, float %mul.i598.2.3, float 0xBFE81272E0000000) #5 %2607 = tail call float @llvm.fmuladd.f32(float %2605, float %mul227.2.3, float %2606) #5 %mul11.i.2.3 = fmul float %2607, %div.i599.2.3 %mul229.2.3 = fmul float %mul21, %mul11.i.2.3 %2608 = tail call float @llvm.fmuladd.f32(float %mul225.2.3, float %div198.2.3, float %mul229.2.3) %2609 = tail call float @llvm.fmuladd.f32(float %mul224.2.3, float %2608, float %mul221.2.3) %mul232.2.3 = fmul float %2594, %div198.2.3 %mul233.2.3 = fmul float %mul232.2.3, %nbparam_params_ewald_beta %fabs.i.2.3 = tail call float @llvm.fabs.f32(float %mul233.2.3) #5 %and.i.2.3 = bitcast float %fabs.i.2.3 to i32 %mul.i.2.3 = fmul float %mul233.2.3, %mul233.2.3 %div.i.2.3 = fdiv float 1.000000e+00, %mul.i.2.3, !fpmath !46 %sub.i.2.3 = fadd float %fabs.i.2.3, -1.000000e+00 %cmp.i596.2.3 = fcmp olt float %fabs.i.2.3, 1.250000e+00 %cond.i.2.3 = select i1 %cmp.i596.2.3, float %sub.i.2.3, float %div.i.2.3 %cmp2.i.2.3 = fcmp olt float %fabs.i.2.3, 8.437500e-01 %cond6.i.2.3 = select i1 %cmp2.i.2.3, float %mul.i.2.3, float %cond.i.2.3 %2610 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2611 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2610, float 0xC083EC8820000000) #5 %2612 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2611, float 0xC064145D40000000) #5 %2613 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2612, float 0xC031C20960000000) #5 %2614 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2613, float 0xBFE993BA80000000) #5 %2615 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2614, float 0xBF84341240000000) #5 %2616 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2617 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2616, float 0x40A3F219C0000000) #5 %2618 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2617, float 0x40A8FFB760000000) #5 %2619 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2618, float 0x409802EB20000000) #5 %2620 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2619, float 0x40745CAE20000000) #5 %2621 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2620, float 0x403E568B20000000) #5 %2622 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2623 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2622, float 0xC067135CE0000000) #5 %2624 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2623, float 0xC0644CB180000000) #5 %2625 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2624, float 0xC04F300AE0000000) #5 %2626 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2625, float 0xC0251E0440000000) #5 %2627 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2626, float 0xBFE63416E0000000) #5 %2628 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2627, float 0xBF84341260000000) #5 %2629 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2630 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2629, float 0x405B28A3E0000000) #5 %2631 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2630, float 0x407AD02160000000) #5 %2632 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2631, float 0x40842B1920000000) #5 %2633 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2632, float 0x407B290DE0000000) #5 %2634 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2633, float 0x4061350C60000000) #5 %2635 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2634, float 0x4033A6B9C0000000) #5 %cmp32.i.2.3 = fcmp olt float %fabs.i.2.3, 0x4006DB6DA0000000 %cond36.i.2.3 = select i1 %cmp32.i.2.3, float %2628, float %2615 %cond41.i.2.3 = select i1 %cmp32.i.2.3, float %2635, float %2621 %2636 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2637 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2636, float 0xBFBC639840000000) #5 %2638 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2637, float 0x3FD45FCA80000000) #5 %2639 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2638, float 0xBFD7D24100000000) #5 %2640 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2639, float 0x3FDA8D00A0000000) #5 %2641 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2640, float 0xBF6359B8C0000000) #5 %2642 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2643 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2642, float 0x3FC02660E0000000) #5 %2644 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2643, float 0x3FB2635CE0000000) #5 %2645 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2644, float 0x3FE14AF0A0000000) #5 %2646 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2645, float 0x3FBB3E6620000000) #5 %cond57.i.2.3 = select i1 %cmp.i596.2.3, float %2641, float %cond36.i.2.3 %cond62.i.2.3 = select i1 %cmp.i596.2.3, float %2646, float %cond41.i.2.3 %2647 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2648 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2647, float 0xBF9D2A51E0000000) #5 %2649 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2648, float 0xBFD4CD7D60000000) #5 %2650 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2649, float 0x3FC06EBA80000000) #5 %2651 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2652 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2651, float 0x3F74D022C0000000) #5 %2653 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2652, float 0x3FB0A54C60000000) #5 %2654 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %2653, float 0x3FD97779C0000000) #5 %cond75.i.2.3 = select i1 %cmp2.i.2.3, float %2650, float %cond57.i.2.3 %cond80.i.2.3 = select i1 %cmp2.i.2.3, float %2654, float %cond62.i.2.3 %2655 = tail call float @llvm.fmuladd.f32(float %cond6.i.2.3, float %cond80.i.2.3, float 1.000000e+00) #5 %div82.i.2.3 = fdiv float %cond75.i.2.3, %2655, !fpmath !46 %and83.i.2.3 = and i32 %and.i.2.3, -4096 %astype84.i.2.3 = bitcast i32 %and83.i.2.3 to float %sub85.i.2.3 = fsub float -0.000000e+00, %astype84.i.2.3 %2656 = tail call float @llvm.fmuladd.f32(float %sub85.i.2.3, float %astype84.i.2.3, float -5.625000e-01) #5 %cmp.i2.i.2.3 = fcmp olt float %2656, 0.000000e+00 %cond.i3.i.2.3 = select i1 %cmp.i2.i.2.3, float -5.000000e-01, float 5.000000e-01 %2657 = tail call float @llvm.fmuladd.f32(float %2656, float 0x3FF7154760000000, float %cond.i3.i.2.3) #5 %conv.i4.i.2.3 = fptosi float %2657 to i32 %conv1.i5.i.2.3 = sitofp i32 %conv.i4.i.2.3 to float %2658 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.2.3, float 0xBFE62E3000000000, float %2656) #5 %mul.i6.i.2.3 = fmul float %conv1.i5.i.2.3, 0xBEE2FEFA20000000 %add.i7.i.2.3 = fadd float %2658, %mul.i6.i.2.3 %mul3.i8.i.2.3 = fmul float %add.i7.i.2.3, %add.i7.i.2.3 %2659 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2660 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float %2659, float 0x3F11566AA0000000) #5 %2661 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float %2660, float 0xBF66C16C20000000) #5 %2662 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float %2661, float 0x3FC5555560000000) #5 %sub8.i9.i.2.3 = fsub float -0.000000e+00, %2662 %2663 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.2.3, float %sub8.i9.i.2.3, float %add.i7.i.2.3) #5 %sub10.i10.i.2.3 = fsub float -0.000000e+00, %mul.i6.i.2.3 %mul11.i11.i.2.3 = fmul float %add.i7.i.2.3, %2663 %sub12.i12.i.2.3 = fsub float 2.000000e+00, %2663 %div.i13.i.2.3 = fdiv float %mul11.i11.i.2.3, %sub12.i12.i.2.3, !fpmath !46 %sub13.i14.i.2.3 = fsub float %sub10.i10.i.2.3, %div.i13.i.2.3 %sub14.i15.i.2.3 = fsub float %sub13.i14.i.2.3, %2658 %sub15.i16.i.2.3 = fsub float 1.000000e+00, %sub14.i15.i.2.3 %astype.i17.i.2.3 = bitcast float %sub15.i16.i.2.3 to i32 %shl.i18.i.2.3 = shl i32 %conv.i4.i.2.3, 23 %add16.i19.i.2.3 = add nsw i32 %astype.i17.i.2.3, %shl.i18.i.2.3 %astype17.i20.i.2.3 = bitcast i32 %add16.i19.i.2.3 to float %cmp18.i21.i.2.3 = fcmp olt float %2656, 0xC055D589E0000000 %cond20.i22.i.2.3 = select i1 %cmp18.i21.i.2.3, float 0.000000e+00, float %astype17.i20.i.2.3 %cmp21.i23.i.2.3 = fcmp olt float %2656, 0x40562E4300000000 %cond26.i24.i.2.3 = select i1 %cmp21.i23.i.2.3, float %cond20.i22.i.2.3, float 0x7FF0000000000000 %cmp.i.i25.i.2.3 = fcmp uno float %2656, 0.000000e+00 %cond31.i26.i.2.3 = select i1 %cmp.i.i25.i.2.3, float %2656, float %cond26.i24.i.2.3 %sub88.i.2.3 = fsub float %astype84.i.2.3, %fabs.i.2.3 %add.i597.2.3 = fadd float %fabs.i.2.3, %astype84.i.2.3 %2664 = tail call float @llvm.fmuladd.f32(float %sub88.i.2.3, float %add.i597.2.3, float %div82.i.2.3) #5 %cmp.i1.i.2.3 = fcmp olt float %2664, 0.000000e+00 %cond.i.i.2.3 = select i1 %cmp.i1.i.2.3, float -5.000000e-01, float 5.000000e-01 %2665 = tail call float @llvm.fmuladd.f32(float %2664, float 0x3FF7154760000000, float %cond.i.i.2.3) #5 %conv.i.i.2.3 = fptosi float %2665 to i32 %conv1.i.i.2.3 = sitofp i32 %conv.i.i.2.3 to float %2666 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.2.3, float 0xBFE62E3000000000, float %2664) #5 %mul.i.i.2.3 = fmul float %conv1.i.i.2.3, 0xBEE2FEFA20000000 %add.i.i.2.3 = fadd float %2666, %mul.i.i.2.3 %mul3.i.i.2.3 = fmul float %add.i.i.2.3, %add.i.i.2.3 %2667 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2668 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float %2667, float 0x3F11566AA0000000) #5 %2669 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float %2668, float 0xBF66C16C20000000) #5 %2670 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float %2669, float 0x3FC5555560000000) #5 %sub8.i.i.2.3 = fsub float -0.000000e+00, %2670 %2671 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.2.3, float %sub8.i.i.2.3, float %add.i.i.2.3) #5 %sub10.i.i.2.3 = fsub float -0.000000e+00, %mul.i.i.2.3 %mul11.i.i.2.3 = fmul float %add.i.i.2.3, %2671 %sub12.i.i.2.3 = fsub float 2.000000e+00, %2671 %div.i.i.2.3 = fdiv float %mul11.i.i.2.3, %sub12.i.i.2.3, !fpmath !46 %sub13.i.i.2.3 = fsub float %sub10.i.i.2.3, %div.i.i.2.3 %sub14.i.i.2.3 = fsub float %sub13.i.i.2.3, %2666 %sub15.i.i.2.3 = fsub float 1.000000e+00, %sub14.i.i.2.3 %astype.i.i.2.3 = bitcast float %sub15.i.i.2.3 to i32 %shl.i.i.2.3 = shl i32 %conv.i.i.2.3, 23 %add16.i.i.2.3 = add nsw i32 %astype.i.i.2.3, %shl.i.i.2.3 %astype17.i.i.2.3 = bitcast i32 %add16.i.i.2.3 to float %cmp18.i.i.2.3 = fcmp olt float %2664, 0xC055D589E0000000 %cond20.i.i.2.3 = select i1 %cmp18.i.i.2.3, float 0.000000e+00, float %astype17.i.i.2.3 %cmp21.i.i.2.3 = fcmp olt float %2664, 0x40562E4300000000 %cond26.i.i.2.3 = select i1 %cmp21.i.i.2.3, float %cond20.i.i.2.3, float 0x7FF0000000000000 %cmp.i.i.i.2.3 = fcmp uno float %2664, 0.000000e+00 %cond31.i.i.2.3 = select i1 %cmp.i.i.i.2.3, float %2664, float %cond26.i.i.2.3 %mul91.i.2.3 = fmul float %cond31.i26.i.2.3, %cond31.i.i.2.3 %div92.i.2.3 = fdiv float %mul91.i.2.3, %fabs.i.2.3, !fpmath !46 %sub93.i.2.3 = fsub float 2.000000e+00, %div92.i.2.3 %cmp94.i.2.3 = fcmp olt float %mul233.2.3, 0.000000e+00 %cond98.i.2.3 = select i1 %cmp94.i.2.3, float %sub93.i.2.3, float %div92.i.2.3 %cmp99.i.2.3 = fcmp olt float %fabs.i.2.3, 2.800000e+01 %cond103.i.2.3 = select i1 %cmp99.i.2.3, float %cond98.i.2.3, float 0.000000e+00 %sub104.i.2.3 = fsub float 0x3FC3D4FA80000000, %div82.i.2.3 %add105.i.2.3 = fadd float %div82.i.2.3, 0x3FEB0AC160000000 %add106.i.2.3 = fadd float %add105.i.2.3, 1.000000e+00 %cond111.i.2.3 = select i1 %cmp94.i.2.3, float %add106.i.2.3, float %sub104.i.2.3 %cond116.i.2.3 = select i1 %cmp.i596.2.3, float %cond111.i.2.3, float %cond103.i.2.3 %sub117.i.2.3 = fadd float %mul233.2.3, -5.000000e-01 %2672 = tail call float @llvm.fmuladd.f32(float %mul233.2.3, float %div82.i.2.3, float %sub117.i.2.3) #5 %sub119.i.2.3 = fsub float 5.000000e-01, %2672 %cond124.i.2.3 = select i1 %cmp2.i.2.3, float %sub119.i.2.3, float %cond116.i.2.3 %cmp125.i.2.3 = fcmp olt float %mul233.2.3, -6.000000e+00 %cond129.i.2.3 = select i1 %cmp125.i.2.3, float 2.000000e+00, float %cond124.i.2.3 %cmp.i.i.2.3 = fcmp uno float %mul233.2.3, 0.000000e+00 %cond134.i.2.3 = select i1 %cmp.i.i.2.3, float %mul233.2.3, float %cond129.i.2.3 %mul236.2.3 = fmul float %cond.2.3, %nbparam_params_sh_ewald %neg237.2.3 = fsub float -0.000000e+00, %mul236.2.3 %2673 = tail call float @llvm.fmuladd.f32(float %div198.2.3, float %cond134.i.2.3, float %neg237.2.3) %2674 = tail call float @llvm.fmuladd.f32(float %mul224.2.3, float %2673, float %E_el.5.1.3) %splat.splatinsert.2.3 = insertelement <3 x float> undef, float %2609, i32 0 %splat.splat.2.3 = shufflevector <3 x float> %splat.splatinsert.2.3, <3 x float> undef, <3 x i32> zeroinitializer %mul242.2.3 = fmul <3 x float> %extractVec168.2.3, %splat.splat.2.3 %extractVec250.2.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.1.3, <4 x float> undef, <3 x i32> %sub251.2.3 = fsub <3 x float> %extractVec250.2.3, %mul242.2.3 %extractVec252.2.3 = shufflevector <3 x float> %sub251.2.3, <3 x float> undef, <4 x i32> %extractVec260.2.3 = shufflevector <4 x float> %fci_buf.sroa.22.7, <4 x float> undef, <3 x i32> %add261.2.3 = fadd <3 x float> %extractVec260.2.3, %mul242.2.3 %extractVec262.2.3 = shufflevector <3 x float> %add261.2.3, <3 x float> undef, <4 x i32> br label %if.end265.2.3 if.end265.2.3: ; preds = %if.then184.2.3, %if.then149.2.3, %if.end265.1.3 %fci_buf.sroa.22.8 = phi <4 x float> [ %fci_buf.sroa.22.7, %if.end265.1.3 ], [ %extractVec262.2.3, %if.then184.2.3 ], [ %fci_buf.sroa.22.7, %if.then149.2.3 ] %E_el.5.2.3 = phi float [ %E_el.5.1.3, %if.end265.1.3 ], [ %2674, %if.then184.2.3 ], [ %E_el.5.1.3, %if.then149.2.3 ] %E_lj.3.2.3 = phi float [ %E_lj.3.1.3, %if.end265.1.3 ], [ %add223.2.3, %if.then184.2.3 ], [ %E_lj.3.1.3, %if.then149.2.3 ] %fcj_buf.sroa.0.1.2.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.1.3, %if.end265.1.3 ], [ %extractVec252.2.3, %if.then184.2.3 ], [ %fcj_buf.sroa.0.1.1.3, %if.then149.2.3 ] %and147.3.3 = and i32 %64, 134217728 %tobool148.3.3 = icmp eq i32 %and147.3.3, 0 br i1 %tobool148.3.3, label %if.end265.3.3, label %if.then149.3.3 if.then149.3.3: ; preds = %if.end265.2.3 %2675 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.3.3, align 16, !tbaa !36 %2676 = fsub <4 x float> %2675, %2390 %2677 = extractelement <4 x float> %2676, i32 0 %2678 = extractelement <4 x float> %2676, i32 1 %mul3.i.i602.3.3 = fmul float %2678, %2678 %2679 = tail call float @llvm.fmuladd.f32(float %2677, float %2677, float %mul3.i.i602.3.3) #5 %2680 = extractelement <4 x float> %2676, i32 2 %2681 = tail call float @llvm.fmuladd.f32(float %2680, float %2680, float %2679) #5 %and170.3.3 = and i32 %66, 134217728 %tobool171.3.3 = icmp ne i32 %and170.3.3, 0 %cond.3.3 = select i1 %tobool171.3.3, float 1.000000e+00, float 0.000000e+00 %cmp176.3.3 = icmp eq i32 %56, %2388 %or.cond.3.3 = and i1 %cmp65, %cmp176.3.3 %not.or.cond.3.3 = xor i1 %or.cond.3.3, true %cmp178..3.3 = or i1 %cmp178, %not.or.cond.3.3 %conv180.3.3 = uitofp i1 %cmp178..3.3 to float %mul181.3.3 = fmul float %conv180.3.3, %nbparam_params_rcoulomb_sq %cmp182.3.3 = fcmp olt float %2681, %mul181.3.3 br i1 %cmp182.3.3, label %if.then184.3.3, label %if.end265.3.3 if.then184.3.3: ; preds = %if.then149.3.3 %extractVec168.3.3 = shufflevector <4 x float> %2676, <4 x float> undef, <3 x i32> %2682 = extractelement <4 x float> %2675, i32 3 %2683 = load i32, i32 addrspace(1)* %arrayidx185.3.3, align 4, !tbaa !41 %mul186.3.3 = mul nsw i32 %2683, %ntypes %add187.3.3 = add nsw i32 %mul186.3.3, %2392 %mul188.3.3 = shl nsw i32 %add187.3.3, 1 %2684 = sext i32 %mul188.3.3 to i64 %arrayidx189.3.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2684 %2685 = load float, float addrspace(2)* %arrayidx189.3.3, align 4, !tbaa !39 %add193.3.3 = or i32 %mul188.3.3, 1 %2686 = sext i32 %add193.3.3 to i64 %arrayidx194.3.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2686 %2687 = load float, float addrspace(2)* %arrayidx194.3.3, align 4, !tbaa !39 %sub195.3.3 = fsub float 1.000000e+00, %cond.3.3 %2688 = tail call float @llvm.fmuladd.f32(float %sub195.3.3, float 0x3D71979980000000, float %2681) %cmp.i.i600.3.3 = fcmp olt float %2688, 0.000000e+00 %call.i.i.3.3 = tail call float @llvm.sqrt.f32(float %2688) #6 %call.i.i.op.3.3 = fdiv float 1.000000e+00, %call.i.i.3.3 %div198.3.3 = select i1 %cmp.i.i600.3.3, float 0x7FF8000000000000, float %call.i.i.op.3.3 %mul199.3.3 = fmul float %div198.3.3, %div198.3.3 %mul200.3.3 = fmul float %mul199.3.3, %mul199.3.3 %mul201.3.3 = fmul float %mul199.3.3, %mul200.3.3 %mul202.3.3 = fmul float %cond.3.3, %mul201.3.3 %neg.3.3 = fsub float -0.000000e+00, %2685 %2689 = tail call float @llvm.fmuladd.f32(float %2687, float %mul202.3.3, float %neg.3.3) %mul204.3.3 = fmul float %mul202.3.3, %2689 %mul205.3.3 = fmul float %mul199.3.3, %mul204.3.3 %2690 = tail call float @llvm.fmuladd.f32(float %mul202.3.3, float %mul202.3.3, float %nbparam_params_repulsion_shift_cpot) %mul209.3.3 = fmul float %2690, %2687 %add213.3.3 = fadd float %mul202.3.3, %nbparam_params_dispersion_shift_cpot %mul214.3.3 = fmul float %add213.3.3, %2685 %mul215.3.3 = fmul float %mul214.3.3, 0x3FC5555560000000 %neg216.3.3 = fsub float -0.000000e+00, %mul215.3.3 %2691 = tail call float @llvm.fmuladd.f32(float %mul209.3.3, float 0x3FB5555540000000, float %neg216.3.3) %mul217.3.3 = fmul float %cond.3.3, %2691 %cmp218.3.3 = fcmp olt float %2688, %nbparam_params_rvdw_sq %cond220.3.3 = select i1 %cmp218.3.3, float 1.000000e+00, float 0.000000e+00 %mul221.3.3 = fmul float %cond220.3.3, %mul205.3.3 %mul222.3.3 = fmul float %cond220.3.3, %mul217.3.3 %add223.3.3 = fadd float %E_lj.3.2.3, %mul222.3.3 %mul224.3.3 = fmul float %2391, %2682 %mul225.3.3 = fmul float %cond.3.3, %mul199.3.3 %mul227.3.3 = fmul float %mul, %2688 %mul.i598.3.3 = fmul float %mul227.3.3, %mul227.3.3 %2692 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.3.3, float 0x3FBDA79640000000) #5 %2693 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.3.3, float 0x3FE03C5780000000) #5 %2694 = tail call float @llvm.fmuladd.f32(float %2692, float %mul.i598.3.3, float 1.000000e+00) #5 %2695 = tail call float @llvm.fmuladd.f32(float %2693, float %mul227.3.3, float %2694) #5 %div.i599.3.3 = fdiv float 1.000000e+00, %2695, !fpmath !46 %2696 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.3.3, float 0xBF0BFF7260000000) #5 %2697 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.3.3, float 0x3F50794180000000) #5 %2698 = tail call float @llvm.fmuladd.f32(float %2696, float %mul.i598.3.3, float 0xBF93BDB200000000) #5 %2699 = tail call float @llvm.fmuladd.f32(float %2697, float %mul.i598.3.3, float 0x3FB1D5E760000000) #5 %2700 = tail call float @llvm.fmuladd.f32(float %2698, float %mul.i598.3.3, float 0xBFE81272E0000000) #5 %2701 = tail call float @llvm.fmuladd.f32(float %2699, float %mul227.3.3, float %2700) #5 %mul11.i.3.3 = fmul float %2701, %div.i599.3.3 %mul229.3.3 = fmul float %mul21, %mul11.i.3.3 %2702 = tail call float @llvm.fmuladd.f32(float %mul225.3.3, float %div198.3.3, float %mul229.3.3) %2703 = tail call float @llvm.fmuladd.f32(float %mul224.3.3, float %2702, float %mul221.3.3) %mul232.3.3 = fmul float %2688, %div198.3.3 %mul233.3.3 = fmul float %mul232.3.3, %nbparam_params_ewald_beta %fabs.i.3.3 = tail call float @llvm.fabs.f32(float %mul233.3.3) #5 %and.i.3.3 = bitcast float %fabs.i.3.3 to i32 %mul.i.3.3 = fmul float %mul233.3.3, %mul233.3.3 %div.i.3.3 = fdiv float 1.000000e+00, %mul.i.3.3, !fpmath !46 %sub.i.3.3 = fadd float %fabs.i.3.3, -1.000000e+00 %cmp.i596.3.3 = fcmp olt float %fabs.i.3.3, 1.250000e+00 %cond.i.3.3 = select i1 %cmp.i596.3.3, float %sub.i.3.3, float %div.i.3.3 %cmp2.i.3.3 = fcmp olt float %fabs.i.3.3, 8.437500e-01 %cond6.i.3.3 = select i1 %cmp2.i.3.3, float %mul.i.3.3, float %cond.i.3.3 %2704 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2705 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2704, float 0xC083EC8820000000) #5 %2706 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2705, float 0xC064145D40000000) #5 %2707 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2706, float 0xC031C20960000000) #5 %2708 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2707, float 0xBFE993BA80000000) #5 %2709 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2708, float 0xBF84341240000000) #5 %2710 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2711 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2710, float 0x40A3F219C0000000) #5 %2712 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2711, float 0x40A8FFB760000000) #5 %2713 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2712, float 0x409802EB20000000) #5 %2714 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2713, float 0x40745CAE20000000) #5 %2715 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2714, float 0x403E568B20000000) #5 %2716 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2717 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2716, float 0xC067135CE0000000) #5 %2718 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2717, float 0xC0644CB180000000) #5 %2719 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2718, float 0xC04F300AE0000000) #5 %2720 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2719, float 0xC0251E0440000000) #5 %2721 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2720, float 0xBFE63416E0000000) #5 %2722 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2721, float 0xBF84341260000000) #5 %2723 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2724 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2723, float 0x405B28A3E0000000) #5 %2725 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2724, float 0x407AD02160000000) #5 %2726 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2725, float 0x40842B1920000000) #5 %2727 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2726, float 0x407B290DE0000000) #5 %2728 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2727, float 0x4061350C60000000) #5 %2729 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2728, float 0x4033A6B9C0000000) #5 %cmp32.i.3.3 = fcmp olt float %fabs.i.3.3, 0x4006DB6DA0000000 %cond36.i.3.3 = select i1 %cmp32.i.3.3, float %2722, float %2709 %cond41.i.3.3 = select i1 %cmp32.i.3.3, float %2729, float %2715 %2730 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2731 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2730, float 0xBFBC639840000000) #5 %2732 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2731, float 0x3FD45FCA80000000) #5 %2733 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2732, float 0xBFD7D24100000000) #5 %2734 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2733, float 0x3FDA8D00A0000000) #5 %2735 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2734, float 0xBF6359B8C0000000) #5 %2736 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2737 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2736, float 0x3FC02660E0000000) #5 %2738 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2737, float 0x3FB2635CE0000000) #5 %2739 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2738, float 0x3FE14AF0A0000000) #5 %2740 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2739, float 0x3FBB3E6620000000) #5 %cond57.i.3.3 = select i1 %cmp.i596.3.3, float %2735, float %cond36.i.3.3 %cond62.i.3.3 = select i1 %cmp.i596.3.3, float %2740, float %cond41.i.3.3 %2741 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2742 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2741, float 0xBF9D2A51E0000000) #5 %2743 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2742, float 0xBFD4CD7D60000000) #5 %2744 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2743, float 0x3FC06EBA80000000) #5 %2745 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2746 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2745, float 0x3F74D022C0000000) #5 %2747 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2746, float 0x3FB0A54C60000000) #5 %2748 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %2747, float 0x3FD97779C0000000) #5 %cond75.i.3.3 = select i1 %cmp2.i.3.3, float %2744, float %cond57.i.3.3 %cond80.i.3.3 = select i1 %cmp2.i.3.3, float %2748, float %cond62.i.3.3 %2749 = tail call float @llvm.fmuladd.f32(float %cond6.i.3.3, float %cond80.i.3.3, float 1.000000e+00) #5 %div82.i.3.3 = fdiv float %cond75.i.3.3, %2749, !fpmath !46 %and83.i.3.3 = and i32 %and.i.3.3, -4096 %astype84.i.3.3 = bitcast i32 %and83.i.3.3 to float %sub85.i.3.3 = fsub float -0.000000e+00, %astype84.i.3.3 %2750 = tail call float @llvm.fmuladd.f32(float %sub85.i.3.3, float %astype84.i.3.3, float -5.625000e-01) #5 %cmp.i2.i.3.3 = fcmp olt float %2750, 0.000000e+00 %cond.i3.i.3.3 = select i1 %cmp.i2.i.3.3, float -5.000000e-01, float 5.000000e-01 %2751 = tail call float @llvm.fmuladd.f32(float %2750, float 0x3FF7154760000000, float %cond.i3.i.3.3) #5 %conv.i4.i.3.3 = fptosi float %2751 to i32 %conv1.i5.i.3.3 = sitofp i32 %conv.i4.i.3.3 to float %2752 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.3.3, float 0xBFE62E3000000000, float %2750) #5 %mul.i6.i.3.3 = fmul float %conv1.i5.i.3.3, 0xBEE2FEFA20000000 %add.i7.i.3.3 = fadd float %2752, %mul.i6.i.3.3 %mul3.i8.i.3.3 = fmul float %add.i7.i.3.3, %add.i7.i.3.3 %2753 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2754 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float %2753, float 0x3F11566AA0000000) #5 %2755 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float %2754, float 0xBF66C16C20000000) #5 %2756 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float %2755, float 0x3FC5555560000000) #5 %sub8.i9.i.3.3 = fsub float -0.000000e+00, %2756 %2757 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.3.3, float %sub8.i9.i.3.3, float %add.i7.i.3.3) #5 %sub10.i10.i.3.3 = fsub float -0.000000e+00, %mul.i6.i.3.3 %mul11.i11.i.3.3 = fmul float %add.i7.i.3.3, %2757 %sub12.i12.i.3.3 = fsub float 2.000000e+00, %2757 %div.i13.i.3.3 = fdiv float %mul11.i11.i.3.3, %sub12.i12.i.3.3, !fpmath !46 %sub13.i14.i.3.3 = fsub float %sub10.i10.i.3.3, %div.i13.i.3.3 %sub14.i15.i.3.3 = fsub float %sub13.i14.i.3.3, %2752 %sub15.i16.i.3.3 = fsub float 1.000000e+00, %sub14.i15.i.3.3 %astype.i17.i.3.3 = bitcast float %sub15.i16.i.3.3 to i32 %shl.i18.i.3.3 = shl i32 %conv.i4.i.3.3, 23 %add16.i19.i.3.3 = add nsw i32 %astype.i17.i.3.3, %shl.i18.i.3.3 %astype17.i20.i.3.3 = bitcast i32 %add16.i19.i.3.3 to float %cmp18.i21.i.3.3 = fcmp olt float %2750, 0xC055D589E0000000 %cond20.i22.i.3.3 = select i1 %cmp18.i21.i.3.3, float 0.000000e+00, float %astype17.i20.i.3.3 %cmp21.i23.i.3.3 = fcmp olt float %2750, 0x40562E4300000000 %cond26.i24.i.3.3 = select i1 %cmp21.i23.i.3.3, float %cond20.i22.i.3.3, float 0x7FF0000000000000 %cmp.i.i25.i.3.3 = fcmp uno float %2750, 0.000000e+00 %cond31.i26.i.3.3 = select i1 %cmp.i.i25.i.3.3, float %2750, float %cond26.i24.i.3.3 %sub88.i.3.3 = fsub float %astype84.i.3.3, %fabs.i.3.3 %add.i597.3.3 = fadd float %fabs.i.3.3, %astype84.i.3.3 %2758 = tail call float @llvm.fmuladd.f32(float %sub88.i.3.3, float %add.i597.3.3, float %div82.i.3.3) #5 %cmp.i1.i.3.3 = fcmp olt float %2758, 0.000000e+00 %cond.i.i.3.3 = select i1 %cmp.i1.i.3.3, float -5.000000e-01, float 5.000000e-01 %2759 = tail call float @llvm.fmuladd.f32(float %2758, float 0x3FF7154760000000, float %cond.i.i.3.3) #5 %conv.i.i.3.3 = fptosi float %2759 to i32 %conv1.i.i.3.3 = sitofp i32 %conv.i.i.3.3 to float %2760 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.3.3, float 0xBFE62E3000000000, float %2758) #5 %mul.i.i.3.3 = fmul float %conv1.i.i.3.3, 0xBEE2FEFA20000000 %add.i.i.3.3 = fadd float %2760, %mul.i.i.3.3 %mul3.i.i.3.3 = fmul float %add.i.i.3.3, %add.i.i.3.3 %2761 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2762 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float %2761, float 0x3F11566AA0000000) #5 %2763 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float %2762, float 0xBF66C16C20000000) #5 %2764 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float %2763, float 0x3FC5555560000000) #5 %sub8.i.i.3.3 = fsub float -0.000000e+00, %2764 %2765 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.3.3, float %sub8.i.i.3.3, float %add.i.i.3.3) #5 %sub10.i.i.3.3 = fsub float -0.000000e+00, %mul.i.i.3.3 %mul11.i.i.3.3 = fmul float %add.i.i.3.3, %2765 %sub12.i.i.3.3 = fsub float 2.000000e+00, %2765 %div.i.i.3.3 = fdiv float %mul11.i.i.3.3, %sub12.i.i.3.3, !fpmath !46 %sub13.i.i.3.3 = fsub float %sub10.i.i.3.3, %div.i.i.3.3 %sub14.i.i.3.3 = fsub float %sub13.i.i.3.3, %2760 %sub15.i.i.3.3 = fsub float 1.000000e+00, %sub14.i.i.3.3 %astype.i.i.3.3 = bitcast float %sub15.i.i.3.3 to i32 %shl.i.i.3.3 = shl i32 %conv.i.i.3.3, 23 %add16.i.i.3.3 = add nsw i32 %astype.i.i.3.3, %shl.i.i.3.3 %astype17.i.i.3.3 = bitcast i32 %add16.i.i.3.3 to float %cmp18.i.i.3.3 = fcmp olt float %2758, 0xC055D589E0000000 %cond20.i.i.3.3 = select i1 %cmp18.i.i.3.3, float 0.000000e+00, float %astype17.i.i.3.3 %cmp21.i.i.3.3 = fcmp olt float %2758, 0x40562E4300000000 %cond26.i.i.3.3 = select i1 %cmp21.i.i.3.3, float %cond20.i.i.3.3, float 0x7FF0000000000000 %cmp.i.i.i.3.3 = fcmp uno float %2758, 0.000000e+00 %cond31.i.i.3.3 = select i1 %cmp.i.i.i.3.3, float %2758, float %cond26.i.i.3.3 %mul91.i.3.3 = fmul float %cond31.i26.i.3.3, %cond31.i.i.3.3 %div92.i.3.3 = fdiv float %mul91.i.3.3, %fabs.i.3.3, !fpmath !46 %sub93.i.3.3 = fsub float 2.000000e+00, %div92.i.3.3 %cmp94.i.3.3 = fcmp olt float %mul233.3.3, 0.000000e+00 %cond98.i.3.3 = select i1 %cmp94.i.3.3, float %sub93.i.3.3, float %div92.i.3.3 %cmp99.i.3.3 = fcmp olt float %fabs.i.3.3, 2.800000e+01 %cond103.i.3.3 = select i1 %cmp99.i.3.3, float %cond98.i.3.3, float 0.000000e+00 %sub104.i.3.3 = fsub float 0x3FC3D4FA80000000, %div82.i.3.3 %add105.i.3.3 = fadd float %div82.i.3.3, 0x3FEB0AC160000000 %add106.i.3.3 = fadd float %add105.i.3.3, 1.000000e+00 %cond111.i.3.3 = select i1 %cmp94.i.3.3, float %add106.i.3.3, float %sub104.i.3.3 %cond116.i.3.3 = select i1 %cmp.i596.3.3, float %cond111.i.3.3, float %cond103.i.3.3 %sub117.i.3.3 = fadd float %mul233.3.3, -5.000000e-01 %2766 = tail call float @llvm.fmuladd.f32(float %mul233.3.3, float %div82.i.3.3, float %sub117.i.3.3) #5 %sub119.i.3.3 = fsub float 5.000000e-01, %2766 %cond124.i.3.3 = select i1 %cmp2.i.3.3, float %sub119.i.3.3, float %cond116.i.3.3 %cmp125.i.3.3 = fcmp olt float %mul233.3.3, -6.000000e+00 %cond129.i.3.3 = select i1 %cmp125.i.3.3, float 2.000000e+00, float %cond124.i.3.3 %cmp.i.i.3.3 = fcmp uno float %mul233.3.3, 0.000000e+00 %cond134.i.3.3 = select i1 %cmp.i.i.3.3, float %mul233.3.3, float %cond129.i.3.3 %mul236.3.3 = fmul float %cond.3.3, %nbparam_params_sh_ewald %neg237.3.3 = fsub float -0.000000e+00, %mul236.3.3 %2767 = tail call float @llvm.fmuladd.f32(float %div198.3.3, float %cond134.i.3.3, float %neg237.3.3) %2768 = tail call float @llvm.fmuladd.f32(float %mul224.3.3, float %2767, float %E_el.5.2.3) %splat.splatinsert.3.3 = insertelement <3 x float> undef, float %2703, i32 0 %splat.splat.3.3 = shufflevector <3 x float> %splat.splatinsert.3.3, <3 x float> undef, <3 x i32> zeroinitializer %mul242.3.3 = fmul <3 x float> %extractVec168.3.3, %splat.splat.3.3 %extractVec250.3.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.2.3, <4 x float> undef, <3 x i32> %sub251.3.3 = fsub <3 x float> %extractVec250.3.3, %mul242.3.3 %extractVec252.3.3 = shufflevector <3 x float> %sub251.3.3, <3 x float> undef, <4 x i32> %extractVec260.3.3 = shufflevector <4 x float> %fci_buf.sroa.32.7, <4 x float> undef, <3 x i32> %add261.3.3 = fadd <3 x float> %extractVec260.3.3, %mul242.3.3 %extractVec262.3.3 = shufflevector <3 x float> %add261.3.3, <3 x float> undef, <4 x i32> br label %if.end265.3.3 if.end265.3.3: ; preds = %if.then184.3.3, %if.then149.3.3, %if.end265.2.3 %fci_buf.sroa.32.8 = phi <4 x float> [ %fci_buf.sroa.32.7, %if.end265.2.3 ], [ %extractVec262.3.3, %if.then184.3.3 ], [ %fci_buf.sroa.32.7, %if.then149.3.3 ] %E_el.5.3.3 = phi float [ %E_el.5.2.3, %if.end265.2.3 ], [ %2768, %if.then184.3.3 ], [ %E_el.5.2.3, %if.then149.3.3 ] %E_lj.3.3.3 = phi float [ %E_lj.3.2.3, %if.end265.2.3 ], [ %add223.3.3, %if.then184.3.3 ], [ %E_lj.3.2.3, %if.then149.3.3 ] %fcj_buf.sroa.0.1.3.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.2.3, %if.end265.2.3 ], [ %extractVec252.3.3, %if.then184.3.3 ], [ %fcj_buf.sroa.0.1.2.3, %if.then149.3.3 ] %and147.4.3 = and i32 %64, 268435456 %tobool148.4.3 = icmp eq i32 %and147.4.3, 0 br i1 %tobool148.4.3, label %if.end265.4.3, label %if.then149.4.3 if.then149.4.3: ; preds = %if.end265.3.3 %2769 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.4.3, align 16, !tbaa !36 %2770 = fsub <4 x float> %2769, %2390 %2771 = extractelement <4 x float> %2770, i32 0 %2772 = extractelement <4 x float> %2770, i32 1 %mul3.i.i602.4.3 = fmul float %2772, %2772 %2773 = tail call float @llvm.fmuladd.f32(float %2771, float %2771, float %mul3.i.i602.4.3) #5 %2774 = extractelement <4 x float> %2770, i32 2 %2775 = tail call float @llvm.fmuladd.f32(float %2774, float %2774, float %2773) #5 %and170.4.3 = and i32 %66, 268435456 %tobool171.4.3 = icmp ne i32 %and170.4.3, 0 %cond.4.3 = select i1 %tobool171.4.3, float 1.000000e+00, float 0.000000e+00 %cmp176.4.3 = icmp eq i32 %54, %2388 %or.cond.4.3 = and i1 %cmp65, %cmp176.4.3 %not.or.cond.4.3 = xor i1 %or.cond.4.3, true %cmp178..4.3 = or i1 %cmp178, %not.or.cond.4.3 %conv180.4.3 = uitofp i1 %cmp178..4.3 to float %mul181.4.3 = fmul float %conv180.4.3, %nbparam_params_rcoulomb_sq %cmp182.4.3 = fcmp olt float %2775, %mul181.4.3 br i1 %cmp182.4.3, label %if.then184.4.3, label %if.end265.4.3 if.then184.4.3: ; preds = %if.then149.4.3 %extractVec168.4.3 = shufflevector <4 x float> %2770, <4 x float> undef, <3 x i32> %2776 = extractelement <4 x float> %2769, i32 3 %2777 = load i32, i32 addrspace(1)* %arrayidx185.4.3, align 4, !tbaa !41 %mul186.4.3 = mul nsw i32 %2777, %ntypes %add187.4.3 = add nsw i32 %mul186.4.3, %2392 %mul188.4.3 = shl nsw i32 %add187.4.3, 1 %2778 = sext i32 %mul188.4.3 to i64 %arrayidx189.4.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2778 %2779 = load float, float addrspace(2)* %arrayidx189.4.3, align 4, !tbaa !39 %add193.4.3 = or i32 %mul188.4.3, 1 %2780 = sext i32 %add193.4.3 to i64 %arrayidx194.4.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2780 %2781 = load float, float addrspace(2)* %arrayidx194.4.3, align 4, !tbaa !39 %sub195.4.3 = fsub float 1.000000e+00, %cond.4.3 %2782 = tail call float @llvm.fmuladd.f32(float %sub195.4.3, float 0x3D71979980000000, float %2775) %cmp.i.i600.4.3 = fcmp olt float %2782, 0.000000e+00 %call.i.i.4.3 = tail call float @llvm.sqrt.f32(float %2782) #6 %call.i.i.op.4.3 = fdiv float 1.000000e+00, %call.i.i.4.3 %div198.4.3 = select i1 %cmp.i.i600.4.3, float 0x7FF8000000000000, float %call.i.i.op.4.3 %mul199.4.3 = fmul float %div198.4.3, %div198.4.3 %mul200.4.3 = fmul float %mul199.4.3, %mul199.4.3 %mul201.4.3 = fmul float %mul199.4.3, %mul200.4.3 %mul202.4.3 = fmul float %cond.4.3, %mul201.4.3 %neg.4.3 = fsub float -0.000000e+00, %2779 %2783 = tail call float @llvm.fmuladd.f32(float %2781, float %mul202.4.3, float %neg.4.3) %mul204.4.3 = fmul float %mul202.4.3, %2783 %mul205.4.3 = fmul float %mul199.4.3, %mul204.4.3 %2784 = tail call float @llvm.fmuladd.f32(float %mul202.4.3, float %mul202.4.3, float %nbparam_params_repulsion_shift_cpot) %mul209.4.3 = fmul float %2784, %2781 %add213.4.3 = fadd float %mul202.4.3, %nbparam_params_dispersion_shift_cpot %mul214.4.3 = fmul float %add213.4.3, %2779 %mul215.4.3 = fmul float %mul214.4.3, 0x3FC5555560000000 %neg216.4.3 = fsub float -0.000000e+00, %mul215.4.3 %2785 = tail call float @llvm.fmuladd.f32(float %mul209.4.3, float 0x3FB5555540000000, float %neg216.4.3) %mul217.4.3 = fmul float %cond.4.3, %2785 %cmp218.4.3 = fcmp olt float %2782, %nbparam_params_rvdw_sq %cond220.4.3 = select i1 %cmp218.4.3, float 1.000000e+00, float 0.000000e+00 %mul221.4.3 = fmul float %cond220.4.3, %mul205.4.3 %mul222.4.3 = fmul float %cond220.4.3, %mul217.4.3 %add223.4.3 = fadd float %E_lj.3.3.3, %mul222.4.3 %mul224.4.3 = fmul float %2391, %2776 %mul225.4.3 = fmul float %cond.4.3, %mul199.4.3 %mul227.4.3 = fmul float %mul, %2782 %mul.i598.4.3 = fmul float %mul227.4.3, %mul227.4.3 %2786 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.4.3, float 0x3FBDA79640000000) #5 %2787 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.4.3, float 0x3FE03C5780000000) #5 %2788 = tail call float @llvm.fmuladd.f32(float %2786, float %mul.i598.4.3, float 1.000000e+00) #5 %2789 = tail call float @llvm.fmuladd.f32(float %2787, float %mul227.4.3, float %2788) #5 %div.i599.4.3 = fdiv float 1.000000e+00, %2789, !fpmath !46 %2790 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.4.3, float 0xBF0BFF7260000000) #5 %2791 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.4.3, float 0x3F50794180000000) #5 %2792 = tail call float @llvm.fmuladd.f32(float %2790, float %mul.i598.4.3, float 0xBF93BDB200000000) #5 %2793 = tail call float @llvm.fmuladd.f32(float %2791, float %mul.i598.4.3, float 0x3FB1D5E760000000) #5 %2794 = tail call float @llvm.fmuladd.f32(float %2792, float %mul.i598.4.3, float 0xBFE81272E0000000) #5 %2795 = tail call float @llvm.fmuladd.f32(float %2793, float %mul227.4.3, float %2794) #5 %mul11.i.4.3 = fmul float %2795, %div.i599.4.3 %mul229.4.3 = fmul float %mul21, %mul11.i.4.3 %2796 = tail call float @llvm.fmuladd.f32(float %mul225.4.3, float %div198.4.3, float %mul229.4.3) %2797 = tail call float @llvm.fmuladd.f32(float %mul224.4.3, float %2796, float %mul221.4.3) %mul232.4.3 = fmul float %2782, %div198.4.3 %mul233.4.3 = fmul float %mul232.4.3, %nbparam_params_ewald_beta %fabs.i.4.3 = tail call float @llvm.fabs.f32(float %mul233.4.3) #5 %and.i.4.3 = bitcast float %fabs.i.4.3 to i32 %mul.i.4.3 = fmul float %mul233.4.3, %mul233.4.3 %div.i.4.3 = fdiv float 1.000000e+00, %mul.i.4.3, !fpmath !46 %sub.i.4.3 = fadd float %fabs.i.4.3, -1.000000e+00 %cmp.i596.4.3 = fcmp olt float %fabs.i.4.3, 1.250000e+00 %cond.i.4.3 = select i1 %cmp.i596.4.3, float %sub.i.4.3, float %div.i.4.3 %cmp2.i.4.3 = fcmp olt float %fabs.i.4.3, 8.437500e-01 %cond6.i.4.3 = select i1 %cmp2.i.4.3, float %mul.i.4.3, float %cond.i.4.3 %2798 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2799 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2798, float 0xC083EC8820000000) #5 %2800 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2799, float 0xC064145D40000000) #5 %2801 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2800, float 0xC031C20960000000) #5 %2802 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2801, float 0xBFE993BA80000000) #5 %2803 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2802, float 0xBF84341240000000) #5 %2804 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2805 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2804, float 0x40A3F219C0000000) #5 %2806 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2805, float 0x40A8FFB760000000) #5 %2807 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2806, float 0x409802EB20000000) #5 %2808 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2807, float 0x40745CAE20000000) #5 %2809 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2808, float 0x403E568B20000000) #5 %2810 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2811 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2810, float 0xC067135CE0000000) #5 %2812 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2811, float 0xC0644CB180000000) #5 %2813 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2812, float 0xC04F300AE0000000) #5 %2814 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2813, float 0xC0251E0440000000) #5 %2815 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2814, float 0xBFE63416E0000000) #5 %2816 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2815, float 0xBF84341260000000) #5 %2817 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2818 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2817, float 0x405B28A3E0000000) #5 %2819 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2818, float 0x407AD02160000000) #5 %2820 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2819, float 0x40842B1920000000) #5 %2821 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2820, float 0x407B290DE0000000) #5 %2822 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2821, float 0x4061350C60000000) #5 %2823 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2822, float 0x4033A6B9C0000000) #5 %cmp32.i.4.3 = fcmp olt float %fabs.i.4.3, 0x4006DB6DA0000000 %cond36.i.4.3 = select i1 %cmp32.i.4.3, float %2816, float %2803 %cond41.i.4.3 = select i1 %cmp32.i.4.3, float %2823, float %2809 %2824 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2825 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2824, float 0xBFBC639840000000) #5 %2826 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2825, float 0x3FD45FCA80000000) #5 %2827 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2826, float 0xBFD7D24100000000) #5 %2828 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2827, float 0x3FDA8D00A0000000) #5 %2829 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2828, float 0xBF6359B8C0000000) #5 %2830 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2831 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2830, float 0x3FC02660E0000000) #5 %2832 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2831, float 0x3FB2635CE0000000) #5 %2833 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2832, float 0x3FE14AF0A0000000) #5 %2834 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2833, float 0x3FBB3E6620000000) #5 %cond57.i.4.3 = select i1 %cmp.i596.4.3, float %2829, float %cond36.i.4.3 %cond62.i.4.3 = select i1 %cmp.i596.4.3, float %2834, float %cond41.i.4.3 %2835 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2836 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2835, float 0xBF9D2A51E0000000) #5 %2837 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2836, float 0xBFD4CD7D60000000) #5 %2838 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2837, float 0x3FC06EBA80000000) #5 %2839 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2840 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2839, float 0x3F74D022C0000000) #5 %2841 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2840, float 0x3FB0A54C60000000) #5 %2842 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %2841, float 0x3FD97779C0000000) #5 %cond75.i.4.3 = select i1 %cmp2.i.4.3, float %2838, float %cond57.i.4.3 %cond80.i.4.3 = select i1 %cmp2.i.4.3, float %2842, float %cond62.i.4.3 %2843 = tail call float @llvm.fmuladd.f32(float %cond6.i.4.3, float %cond80.i.4.3, float 1.000000e+00) #5 %div82.i.4.3 = fdiv float %cond75.i.4.3, %2843, !fpmath !46 %and83.i.4.3 = and i32 %and.i.4.3, -4096 %astype84.i.4.3 = bitcast i32 %and83.i.4.3 to float %sub85.i.4.3 = fsub float -0.000000e+00, %astype84.i.4.3 %2844 = tail call float @llvm.fmuladd.f32(float %sub85.i.4.3, float %astype84.i.4.3, float -5.625000e-01) #5 %cmp.i2.i.4.3 = fcmp olt float %2844, 0.000000e+00 %cond.i3.i.4.3 = select i1 %cmp.i2.i.4.3, float -5.000000e-01, float 5.000000e-01 %2845 = tail call float @llvm.fmuladd.f32(float %2844, float 0x3FF7154760000000, float %cond.i3.i.4.3) #5 %conv.i4.i.4.3 = fptosi float %2845 to i32 %conv1.i5.i.4.3 = sitofp i32 %conv.i4.i.4.3 to float %2846 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.4.3, float 0xBFE62E3000000000, float %2844) #5 %mul.i6.i.4.3 = fmul float %conv1.i5.i.4.3, 0xBEE2FEFA20000000 %add.i7.i.4.3 = fadd float %2846, %mul.i6.i.4.3 %mul3.i8.i.4.3 = fmul float %add.i7.i.4.3, %add.i7.i.4.3 %2847 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2848 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float %2847, float 0x3F11566AA0000000) #5 %2849 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float %2848, float 0xBF66C16C20000000) #5 %2850 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float %2849, float 0x3FC5555560000000) #5 %sub8.i9.i.4.3 = fsub float -0.000000e+00, %2850 %2851 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.4.3, float %sub8.i9.i.4.3, float %add.i7.i.4.3) #5 %sub10.i10.i.4.3 = fsub float -0.000000e+00, %mul.i6.i.4.3 %mul11.i11.i.4.3 = fmul float %add.i7.i.4.3, %2851 %sub12.i12.i.4.3 = fsub float 2.000000e+00, %2851 %div.i13.i.4.3 = fdiv float %mul11.i11.i.4.3, %sub12.i12.i.4.3, !fpmath !46 %sub13.i14.i.4.3 = fsub float %sub10.i10.i.4.3, %div.i13.i.4.3 %sub14.i15.i.4.3 = fsub float %sub13.i14.i.4.3, %2846 %sub15.i16.i.4.3 = fsub float 1.000000e+00, %sub14.i15.i.4.3 %astype.i17.i.4.3 = bitcast float %sub15.i16.i.4.3 to i32 %shl.i18.i.4.3 = shl i32 %conv.i4.i.4.3, 23 %add16.i19.i.4.3 = add nsw i32 %astype.i17.i.4.3, %shl.i18.i.4.3 %astype17.i20.i.4.3 = bitcast i32 %add16.i19.i.4.3 to float %cmp18.i21.i.4.3 = fcmp olt float %2844, 0xC055D589E0000000 %cond20.i22.i.4.3 = select i1 %cmp18.i21.i.4.3, float 0.000000e+00, float %astype17.i20.i.4.3 %cmp21.i23.i.4.3 = fcmp olt float %2844, 0x40562E4300000000 %cond26.i24.i.4.3 = select i1 %cmp21.i23.i.4.3, float %cond20.i22.i.4.3, float 0x7FF0000000000000 %cmp.i.i25.i.4.3 = fcmp uno float %2844, 0.000000e+00 %cond31.i26.i.4.3 = select i1 %cmp.i.i25.i.4.3, float %2844, float %cond26.i24.i.4.3 %sub88.i.4.3 = fsub float %astype84.i.4.3, %fabs.i.4.3 %add.i597.4.3 = fadd float %fabs.i.4.3, %astype84.i.4.3 %2852 = tail call float @llvm.fmuladd.f32(float %sub88.i.4.3, float %add.i597.4.3, float %div82.i.4.3) #5 %cmp.i1.i.4.3 = fcmp olt float %2852, 0.000000e+00 %cond.i.i.4.3 = select i1 %cmp.i1.i.4.3, float -5.000000e-01, float 5.000000e-01 %2853 = tail call float @llvm.fmuladd.f32(float %2852, float 0x3FF7154760000000, float %cond.i.i.4.3) #5 %conv.i.i.4.3 = fptosi float %2853 to i32 %conv1.i.i.4.3 = sitofp i32 %conv.i.i.4.3 to float %2854 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.4.3, float 0xBFE62E3000000000, float %2852) #5 %mul.i.i.4.3 = fmul float %conv1.i.i.4.3, 0xBEE2FEFA20000000 %add.i.i.4.3 = fadd float %2854, %mul.i.i.4.3 %mul3.i.i.4.3 = fmul float %add.i.i.4.3, %add.i.i.4.3 %2855 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2856 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float %2855, float 0x3F11566AA0000000) #5 %2857 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float %2856, float 0xBF66C16C20000000) #5 %2858 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float %2857, float 0x3FC5555560000000) #5 %sub8.i.i.4.3 = fsub float -0.000000e+00, %2858 %2859 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.4.3, float %sub8.i.i.4.3, float %add.i.i.4.3) #5 %sub10.i.i.4.3 = fsub float -0.000000e+00, %mul.i.i.4.3 %mul11.i.i.4.3 = fmul float %add.i.i.4.3, %2859 %sub12.i.i.4.3 = fsub float 2.000000e+00, %2859 %div.i.i.4.3 = fdiv float %mul11.i.i.4.3, %sub12.i.i.4.3, !fpmath !46 %sub13.i.i.4.3 = fsub float %sub10.i.i.4.3, %div.i.i.4.3 %sub14.i.i.4.3 = fsub float %sub13.i.i.4.3, %2854 %sub15.i.i.4.3 = fsub float 1.000000e+00, %sub14.i.i.4.3 %astype.i.i.4.3 = bitcast float %sub15.i.i.4.3 to i32 %shl.i.i.4.3 = shl i32 %conv.i.i.4.3, 23 %add16.i.i.4.3 = add nsw i32 %astype.i.i.4.3, %shl.i.i.4.3 %astype17.i.i.4.3 = bitcast i32 %add16.i.i.4.3 to float %cmp18.i.i.4.3 = fcmp olt float %2852, 0xC055D589E0000000 %cond20.i.i.4.3 = select i1 %cmp18.i.i.4.3, float 0.000000e+00, float %astype17.i.i.4.3 %cmp21.i.i.4.3 = fcmp olt float %2852, 0x40562E4300000000 %cond26.i.i.4.3 = select i1 %cmp21.i.i.4.3, float %cond20.i.i.4.3, float 0x7FF0000000000000 %cmp.i.i.i.4.3 = fcmp uno float %2852, 0.000000e+00 %cond31.i.i.4.3 = select i1 %cmp.i.i.i.4.3, float %2852, float %cond26.i.i.4.3 %mul91.i.4.3 = fmul float %cond31.i26.i.4.3, %cond31.i.i.4.3 %div92.i.4.3 = fdiv float %mul91.i.4.3, %fabs.i.4.3, !fpmath !46 %sub93.i.4.3 = fsub float 2.000000e+00, %div92.i.4.3 %cmp94.i.4.3 = fcmp olt float %mul233.4.3, 0.000000e+00 %cond98.i.4.3 = select i1 %cmp94.i.4.3, float %sub93.i.4.3, float %div92.i.4.3 %cmp99.i.4.3 = fcmp olt float %fabs.i.4.3, 2.800000e+01 %cond103.i.4.3 = select i1 %cmp99.i.4.3, float %cond98.i.4.3, float 0.000000e+00 %sub104.i.4.3 = fsub float 0x3FC3D4FA80000000, %div82.i.4.3 %add105.i.4.3 = fadd float %div82.i.4.3, 0x3FEB0AC160000000 %add106.i.4.3 = fadd float %add105.i.4.3, 1.000000e+00 %cond111.i.4.3 = select i1 %cmp94.i.4.3, float %add106.i.4.3, float %sub104.i.4.3 %cond116.i.4.3 = select i1 %cmp.i596.4.3, float %cond111.i.4.3, float %cond103.i.4.3 %sub117.i.4.3 = fadd float %mul233.4.3, -5.000000e-01 %2860 = tail call float @llvm.fmuladd.f32(float %mul233.4.3, float %div82.i.4.3, float %sub117.i.4.3) #5 %sub119.i.4.3 = fsub float 5.000000e-01, %2860 %cond124.i.4.3 = select i1 %cmp2.i.4.3, float %sub119.i.4.3, float %cond116.i.4.3 %cmp125.i.4.3 = fcmp olt float %mul233.4.3, -6.000000e+00 %cond129.i.4.3 = select i1 %cmp125.i.4.3, float 2.000000e+00, float %cond124.i.4.3 %cmp.i.i.4.3 = fcmp uno float %mul233.4.3, 0.000000e+00 %cond134.i.4.3 = select i1 %cmp.i.i.4.3, float %mul233.4.3, float %cond129.i.4.3 %mul236.4.3 = fmul float %cond.4.3, %nbparam_params_sh_ewald %neg237.4.3 = fsub float -0.000000e+00, %mul236.4.3 %2861 = tail call float @llvm.fmuladd.f32(float %div198.4.3, float %cond134.i.4.3, float %neg237.4.3) %2862 = tail call float @llvm.fmuladd.f32(float %mul224.4.3, float %2861, float %E_el.5.3.3) %splat.splatinsert.4.3 = insertelement <3 x float> undef, float %2797, i32 0 %splat.splat.4.3 = shufflevector <3 x float> %splat.splatinsert.4.3, <3 x float> undef, <3 x i32> zeroinitializer %mul242.4.3 = fmul <3 x float> %extractVec168.4.3, %splat.splat.4.3 %extractVec250.4.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.3.3, <4 x float> undef, <3 x i32> %sub251.4.3 = fsub <3 x float> %extractVec250.4.3, %mul242.4.3 %extractVec252.4.3 = shufflevector <3 x float> %sub251.4.3, <3 x float> undef, <4 x i32> %extractVec260.4.3 = shufflevector <4 x float> %fci_buf.sroa.42.7, <4 x float> undef, <3 x i32> %add261.4.3 = fadd <3 x float> %extractVec260.4.3, %mul242.4.3 %extractVec262.4.3 = shufflevector <3 x float> %add261.4.3, <3 x float> undef, <4 x i32> br label %if.end265.4.3 if.end265.4.3: ; preds = %if.then184.4.3, %if.then149.4.3, %if.end265.3.3 %fci_buf.sroa.42.8 = phi <4 x float> [ %fci_buf.sroa.42.7, %if.end265.3.3 ], [ %extractVec262.4.3, %if.then184.4.3 ], [ %fci_buf.sroa.42.7, %if.then149.4.3 ] %E_el.5.4.3 = phi float [ %E_el.5.3.3, %if.end265.3.3 ], [ %2862, %if.then184.4.3 ], [ %E_el.5.3.3, %if.then149.4.3 ] %E_lj.3.4.3 = phi float [ %E_lj.3.3.3, %if.end265.3.3 ], [ %add223.4.3, %if.then184.4.3 ], [ %E_lj.3.3.3, %if.then149.4.3 ] %fcj_buf.sroa.0.1.4.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.3.3, %if.end265.3.3 ], [ %extractVec252.4.3, %if.then184.4.3 ], [ %fcj_buf.sroa.0.1.3.3, %if.then149.4.3 ] %and147.5.3 = and i32 %64, 536870912 %tobool148.5.3 = icmp eq i32 %and147.5.3, 0 br i1 %tobool148.5.3, label %if.end265.5.3, label %if.then149.5.3 if.then149.5.3: ; preds = %if.end265.4.3 %2863 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.5.3, align 16, !tbaa !36 %2864 = fsub <4 x float> %2863, %2390 %2865 = extractelement <4 x float> %2864, i32 0 %2866 = extractelement <4 x float> %2864, i32 1 %mul3.i.i602.5.3 = fmul float %2866, %2866 %2867 = tail call float @llvm.fmuladd.f32(float %2865, float %2865, float %mul3.i.i602.5.3) #5 %2868 = extractelement <4 x float> %2864, i32 2 %2869 = tail call float @llvm.fmuladd.f32(float %2868, float %2868, float %2867) #5 %and170.5.3 = and i32 %66, 536870912 %tobool171.5.3 = icmp ne i32 %and170.5.3, 0 %cond.5.3 = select i1 %tobool171.5.3, float 1.000000e+00, float 0.000000e+00 %cmp176.5.3 = icmp eq i32 %52, %2388 %or.cond.5.3 = and i1 %cmp65, %cmp176.5.3 %not.or.cond.5.3 = xor i1 %or.cond.5.3, true %cmp178..5.3 = or i1 %cmp178, %not.or.cond.5.3 %conv180.5.3 = uitofp i1 %cmp178..5.3 to float %mul181.5.3 = fmul float %conv180.5.3, %nbparam_params_rcoulomb_sq %cmp182.5.3 = fcmp olt float %2869, %mul181.5.3 br i1 %cmp182.5.3, label %if.then184.5.3, label %if.end265.5.3 if.then184.5.3: ; preds = %if.then149.5.3 %extractVec168.5.3 = shufflevector <4 x float> %2864, <4 x float> undef, <3 x i32> %2870 = extractelement <4 x float> %2863, i32 3 %2871 = load i32, i32 addrspace(1)* %arrayidx185.5.3, align 4, !tbaa !41 %mul186.5.3 = mul nsw i32 %2871, %ntypes %add187.5.3 = add nsw i32 %mul186.5.3, %2392 %mul188.5.3 = shl nsw i32 %add187.5.3, 1 %2872 = sext i32 %mul188.5.3 to i64 %arrayidx189.5.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2872 %2873 = load float, float addrspace(2)* %arrayidx189.5.3, align 4, !tbaa !39 %add193.5.3 = or i32 %mul188.5.3, 1 %2874 = sext i32 %add193.5.3 to i64 %arrayidx194.5.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2874 %2875 = load float, float addrspace(2)* %arrayidx194.5.3, align 4, !tbaa !39 %sub195.5.3 = fsub float 1.000000e+00, %cond.5.3 %2876 = tail call float @llvm.fmuladd.f32(float %sub195.5.3, float 0x3D71979980000000, float %2869) %cmp.i.i600.5.3 = fcmp olt float %2876, 0.000000e+00 %call.i.i.5.3 = tail call float @llvm.sqrt.f32(float %2876) #6 %call.i.i.op.5.3 = fdiv float 1.000000e+00, %call.i.i.5.3 %div198.5.3 = select i1 %cmp.i.i600.5.3, float 0x7FF8000000000000, float %call.i.i.op.5.3 %mul199.5.3 = fmul float %div198.5.3, %div198.5.3 %mul200.5.3 = fmul float %mul199.5.3, %mul199.5.3 %mul201.5.3 = fmul float %mul199.5.3, %mul200.5.3 %mul202.5.3 = fmul float %cond.5.3, %mul201.5.3 %neg.5.3 = fsub float -0.000000e+00, %2873 %2877 = tail call float @llvm.fmuladd.f32(float %2875, float %mul202.5.3, float %neg.5.3) %mul204.5.3 = fmul float %mul202.5.3, %2877 %mul205.5.3 = fmul float %mul199.5.3, %mul204.5.3 %2878 = tail call float @llvm.fmuladd.f32(float %mul202.5.3, float %mul202.5.3, float %nbparam_params_repulsion_shift_cpot) %mul209.5.3 = fmul float %2878, %2875 %add213.5.3 = fadd float %mul202.5.3, %nbparam_params_dispersion_shift_cpot %mul214.5.3 = fmul float %add213.5.3, %2873 %mul215.5.3 = fmul float %mul214.5.3, 0x3FC5555560000000 %neg216.5.3 = fsub float -0.000000e+00, %mul215.5.3 %2879 = tail call float @llvm.fmuladd.f32(float %mul209.5.3, float 0x3FB5555540000000, float %neg216.5.3) %mul217.5.3 = fmul float %cond.5.3, %2879 %cmp218.5.3 = fcmp olt float %2876, %nbparam_params_rvdw_sq %cond220.5.3 = select i1 %cmp218.5.3, float 1.000000e+00, float 0.000000e+00 %mul221.5.3 = fmul float %cond220.5.3, %mul205.5.3 %mul222.5.3 = fmul float %cond220.5.3, %mul217.5.3 %add223.5.3 = fadd float %E_lj.3.4.3, %mul222.5.3 %mul224.5.3 = fmul float %2391, %2870 %mul225.5.3 = fmul float %cond.5.3, %mul199.5.3 %mul227.5.3 = fmul float %mul, %2876 %mul.i598.5.3 = fmul float %mul227.5.3, %mul227.5.3 %2880 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.5.3, float 0x3FBDA79640000000) #5 %2881 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.5.3, float 0x3FE03C5780000000) #5 %2882 = tail call float @llvm.fmuladd.f32(float %2880, float %mul.i598.5.3, float 1.000000e+00) #5 %2883 = tail call float @llvm.fmuladd.f32(float %2881, float %mul227.5.3, float %2882) #5 %div.i599.5.3 = fdiv float 1.000000e+00, %2883, !fpmath !46 %2884 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.5.3, float 0xBF0BFF7260000000) #5 %2885 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.5.3, float 0x3F50794180000000) #5 %2886 = tail call float @llvm.fmuladd.f32(float %2884, float %mul.i598.5.3, float 0xBF93BDB200000000) #5 %2887 = tail call float @llvm.fmuladd.f32(float %2885, float %mul.i598.5.3, float 0x3FB1D5E760000000) #5 %2888 = tail call float @llvm.fmuladd.f32(float %2886, float %mul.i598.5.3, float 0xBFE81272E0000000) #5 %2889 = tail call float @llvm.fmuladd.f32(float %2887, float %mul227.5.3, float %2888) #5 %mul11.i.5.3 = fmul float %2889, %div.i599.5.3 %mul229.5.3 = fmul float %mul21, %mul11.i.5.3 %2890 = tail call float @llvm.fmuladd.f32(float %mul225.5.3, float %div198.5.3, float %mul229.5.3) %2891 = tail call float @llvm.fmuladd.f32(float %mul224.5.3, float %2890, float %mul221.5.3) %mul232.5.3 = fmul float %2876, %div198.5.3 %mul233.5.3 = fmul float %mul232.5.3, %nbparam_params_ewald_beta %fabs.i.5.3 = tail call float @llvm.fabs.f32(float %mul233.5.3) #5 %and.i.5.3 = bitcast float %fabs.i.5.3 to i32 %mul.i.5.3 = fmul float %mul233.5.3, %mul233.5.3 %div.i.5.3 = fdiv float 1.000000e+00, %mul.i.5.3, !fpmath !46 %sub.i.5.3 = fadd float %fabs.i.5.3, -1.000000e+00 %cmp.i596.5.3 = fcmp olt float %fabs.i.5.3, 1.250000e+00 %cond.i.5.3 = select i1 %cmp.i596.5.3, float %sub.i.5.3, float %div.i.5.3 %cmp2.i.5.3 = fcmp olt float %fabs.i.5.3, 8.437500e-01 %cond6.i.5.3 = select i1 %cmp2.i.5.3, float %mul.i.5.3, float %cond.i.5.3 %2892 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2893 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2892, float 0xC083EC8820000000) #5 %2894 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2893, float 0xC064145D40000000) #5 %2895 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2894, float 0xC031C20960000000) #5 %2896 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2895, float 0xBFE993BA80000000) #5 %2897 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2896, float 0xBF84341240000000) #5 %2898 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2899 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2898, float 0x40A3F219C0000000) #5 %2900 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2899, float 0x40A8FFB760000000) #5 %2901 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2900, float 0x409802EB20000000) #5 %2902 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2901, float 0x40745CAE20000000) #5 %2903 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2902, float 0x403E568B20000000) #5 %2904 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2905 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2904, float 0xC067135CE0000000) #5 %2906 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2905, float 0xC0644CB180000000) #5 %2907 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2906, float 0xC04F300AE0000000) #5 %2908 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2907, float 0xC0251E0440000000) #5 %2909 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2908, float 0xBFE63416E0000000) #5 %2910 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2909, float 0xBF84341260000000) #5 %2911 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %2912 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2911, float 0x405B28A3E0000000) #5 %2913 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2912, float 0x407AD02160000000) #5 %2914 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2913, float 0x40842B1920000000) #5 %2915 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2914, float 0x407B290DE0000000) #5 %2916 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2915, float 0x4061350C60000000) #5 %2917 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2916, float 0x4033A6B9C0000000) #5 %cmp32.i.5.3 = fcmp olt float %fabs.i.5.3, 0x4006DB6DA0000000 %cond36.i.5.3 = select i1 %cmp32.i.5.3, float %2910, float %2897 %cond41.i.5.3 = select i1 %cmp32.i.5.3, float %2917, float %2903 %2918 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %2919 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2918, float 0xBFBC639840000000) #5 %2920 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2919, float 0x3FD45FCA80000000) #5 %2921 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2920, float 0xBFD7D24100000000) #5 %2922 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2921, float 0x3FDA8D00A0000000) #5 %2923 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2922, float 0xBF6359B8C0000000) #5 %2924 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %2925 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2924, float 0x3FC02660E0000000) #5 %2926 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2925, float 0x3FB2635CE0000000) #5 %2927 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2926, float 0x3FE14AF0A0000000) #5 %2928 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2927, float 0x3FBB3E6620000000) #5 %cond57.i.5.3 = select i1 %cmp.i596.5.3, float %2923, float %cond36.i.5.3 %cond62.i.5.3 = select i1 %cmp.i596.5.3, float %2928, float %cond41.i.5.3 %2929 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %2930 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2929, float 0xBF9D2A51E0000000) #5 %2931 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2930, float 0xBFD4CD7D60000000) #5 %2932 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2931, float 0x3FC06EBA80000000) #5 %2933 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %2934 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2933, float 0x3F74D022C0000000) #5 %2935 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2934, float 0x3FB0A54C60000000) #5 %2936 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %2935, float 0x3FD97779C0000000) #5 %cond75.i.5.3 = select i1 %cmp2.i.5.3, float %2932, float %cond57.i.5.3 %cond80.i.5.3 = select i1 %cmp2.i.5.3, float %2936, float %cond62.i.5.3 %2937 = tail call float @llvm.fmuladd.f32(float %cond6.i.5.3, float %cond80.i.5.3, float 1.000000e+00) #5 %div82.i.5.3 = fdiv float %cond75.i.5.3, %2937, !fpmath !46 %and83.i.5.3 = and i32 %and.i.5.3, -4096 %astype84.i.5.3 = bitcast i32 %and83.i.5.3 to float %sub85.i.5.3 = fsub float -0.000000e+00, %astype84.i.5.3 %2938 = tail call float @llvm.fmuladd.f32(float %sub85.i.5.3, float %astype84.i.5.3, float -5.625000e-01) #5 %cmp.i2.i.5.3 = fcmp olt float %2938, 0.000000e+00 %cond.i3.i.5.3 = select i1 %cmp.i2.i.5.3, float -5.000000e-01, float 5.000000e-01 %2939 = tail call float @llvm.fmuladd.f32(float %2938, float 0x3FF7154760000000, float %cond.i3.i.5.3) #5 %conv.i4.i.5.3 = fptosi float %2939 to i32 %conv1.i5.i.5.3 = sitofp i32 %conv.i4.i.5.3 to float %2940 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.5.3, float 0xBFE62E3000000000, float %2938) #5 %mul.i6.i.5.3 = fmul float %conv1.i5.i.5.3, 0xBEE2FEFA20000000 %add.i7.i.5.3 = fadd float %2940, %mul.i6.i.5.3 %mul3.i8.i.5.3 = fmul float %add.i7.i.5.3, %add.i7.i.5.3 %2941 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2942 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float %2941, float 0x3F11566AA0000000) #5 %2943 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float %2942, float 0xBF66C16C20000000) #5 %2944 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float %2943, float 0x3FC5555560000000) #5 %sub8.i9.i.5.3 = fsub float -0.000000e+00, %2944 %2945 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.5.3, float %sub8.i9.i.5.3, float %add.i7.i.5.3) #5 %sub10.i10.i.5.3 = fsub float -0.000000e+00, %mul.i6.i.5.3 %mul11.i11.i.5.3 = fmul float %add.i7.i.5.3, %2945 %sub12.i12.i.5.3 = fsub float 2.000000e+00, %2945 %div.i13.i.5.3 = fdiv float %mul11.i11.i.5.3, %sub12.i12.i.5.3, !fpmath !46 %sub13.i14.i.5.3 = fsub float %sub10.i10.i.5.3, %div.i13.i.5.3 %sub14.i15.i.5.3 = fsub float %sub13.i14.i.5.3, %2940 %sub15.i16.i.5.3 = fsub float 1.000000e+00, %sub14.i15.i.5.3 %astype.i17.i.5.3 = bitcast float %sub15.i16.i.5.3 to i32 %shl.i18.i.5.3 = shl i32 %conv.i4.i.5.3, 23 %add16.i19.i.5.3 = add nsw i32 %astype.i17.i.5.3, %shl.i18.i.5.3 %astype17.i20.i.5.3 = bitcast i32 %add16.i19.i.5.3 to float %cmp18.i21.i.5.3 = fcmp olt float %2938, 0xC055D589E0000000 %cond20.i22.i.5.3 = select i1 %cmp18.i21.i.5.3, float 0.000000e+00, float %astype17.i20.i.5.3 %cmp21.i23.i.5.3 = fcmp olt float %2938, 0x40562E4300000000 %cond26.i24.i.5.3 = select i1 %cmp21.i23.i.5.3, float %cond20.i22.i.5.3, float 0x7FF0000000000000 %cmp.i.i25.i.5.3 = fcmp uno float %2938, 0.000000e+00 %cond31.i26.i.5.3 = select i1 %cmp.i.i25.i.5.3, float %2938, float %cond26.i24.i.5.3 %sub88.i.5.3 = fsub float %astype84.i.5.3, %fabs.i.5.3 %add.i597.5.3 = fadd float %fabs.i.5.3, %astype84.i.5.3 %2946 = tail call float @llvm.fmuladd.f32(float %sub88.i.5.3, float %add.i597.5.3, float %div82.i.5.3) #5 %cmp.i1.i.5.3 = fcmp olt float %2946, 0.000000e+00 %cond.i.i.5.3 = select i1 %cmp.i1.i.5.3, float -5.000000e-01, float 5.000000e-01 %2947 = tail call float @llvm.fmuladd.f32(float %2946, float 0x3FF7154760000000, float %cond.i.i.5.3) #5 %conv.i.i.5.3 = fptosi float %2947 to i32 %conv1.i.i.5.3 = sitofp i32 %conv.i.i.5.3 to float %2948 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.5.3, float 0xBFE62E3000000000, float %2946) #5 %mul.i.i.5.3 = fmul float %conv1.i.i.5.3, 0xBEE2FEFA20000000 %add.i.i.5.3 = fadd float %2948, %mul.i.i.5.3 %mul3.i.i.5.3 = fmul float %add.i.i.5.3, %add.i.i.5.3 %2949 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %2950 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float %2949, float 0x3F11566AA0000000) #5 %2951 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float %2950, float 0xBF66C16C20000000) #5 %2952 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float %2951, float 0x3FC5555560000000) #5 %sub8.i.i.5.3 = fsub float -0.000000e+00, %2952 %2953 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.5.3, float %sub8.i.i.5.3, float %add.i.i.5.3) #5 %sub10.i.i.5.3 = fsub float -0.000000e+00, %mul.i.i.5.3 %mul11.i.i.5.3 = fmul float %add.i.i.5.3, %2953 %sub12.i.i.5.3 = fsub float 2.000000e+00, %2953 %div.i.i.5.3 = fdiv float %mul11.i.i.5.3, %sub12.i.i.5.3, !fpmath !46 %sub13.i.i.5.3 = fsub float %sub10.i.i.5.3, %div.i.i.5.3 %sub14.i.i.5.3 = fsub float %sub13.i.i.5.3, %2948 %sub15.i.i.5.3 = fsub float 1.000000e+00, %sub14.i.i.5.3 %astype.i.i.5.3 = bitcast float %sub15.i.i.5.3 to i32 %shl.i.i.5.3 = shl i32 %conv.i.i.5.3, 23 %add16.i.i.5.3 = add nsw i32 %astype.i.i.5.3, %shl.i.i.5.3 %astype17.i.i.5.3 = bitcast i32 %add16.i.i.5.3 to float %cmp18.i.i.5.3 = fcmp olt float %2946, 0xC055D589E0000000 %cond20.i.i.5.3 = select i1 %cmp18.i.i.5.3, float 0.000000e+00, float %astype17.i.i.5.3 %cmp21.i.i.5.3 = fcmp olt float %2946, 0x40562E4300000000 %cond26.i.i.5.3 = select i1 %cmp21.i.i.5.3, float %cond20.i.i.5.3, float 0x7FF0000000000000 %cmp.i.i.i.5.3 = fcmp uno float %2946, 0.000000e+00 %cond31.i.i.5.3 = select i1 %cmp.i.i.i.5.3, float %2946, float %cond26.i.i.5.3 %mul91.i.5.3 = fmul float %cond31.i26.i.5.3, %cond31.i.i.5.3 %div92.i.5.3 = fdiv float %mul91.i.5.3, %fabs.i.5.3, !fpmath !46 %sub93.i.5.3 = fsub float 2.000000e+00, %div92.i.5.3 %cmp94.i.5.3 = fcmp olt float %mul233.5.3, 0.000000e+00 %cond98.i.5.3 = select i1 %cmp94.i.5.3, float %sub93.i.5.3, float %div92.i.5.3 %cmp99.i.5.3 = fcmp olt float %fabs.i.5.3, 2.800000e+01 %cond103.i.5.3 = select i1 %cmp99.i.5.3, float %cond98.i.5.3, float 0.000000e+00 %sub104.i.5.3 = fsub float 0x3FC3D4FA80000000, %div82.i.5.3 %add105.i.5.3 = fadd float %div82.i.5.3, 0x3FEB0AC160000000 %add106.i.5.3 = fadd float %add105.i.5.3, 1.000000e+00 %cond111.i.5.3 = select i1 %cmp94.i.5.3, float %add106.i.5.3, float %sub104.i.5.3 %cond116.i.5.3 = select i1 %cmp.i596.5.3, float %cond111.i.5.3, float %cond103.i.5.3 %sub117.i.5.3 = fadd float %mul233.5.3, -5.000000e-01 %2954 = tail call float @llvm.fmuladd.f32(float %mul233.5.3, float %div82.i.5.3, float %sub117.i.5.3) #5 %sub119.i.5.3 = fsub float 5.000000e-01, %2954 %cond124.i.5.3 = select i1 %cmp2.i.5.3, float %sub119.i.5.3, float %cond116.i.5.3 %cmp125.i.5.3 = fcmp olt float %mul233.5.3, -6.000000e+00 %cond129.i.5.3 = select i1 %cmp125.i.5.3, float 2.000000e+00, float %cond124.i.5.3 %cmp.i.i.5.3 = fcmp uno float %mul233.5.3, 0.000000e+00 %cond134.i.5.3 = select i1 %cmp.i.i.5.3, float %mul233.5.3, float %cond129.i.5.3 %mul236.5.3 = fmul float %cond.5.3, %nbparam_params_sh_ewald %neg237.5.3 = fsub float -0.000000e+00, %mul236.5.3 %2955 = tail call float @llvm.fmuladd.f32(float %div198.5.3, float %cond134.i.5.3, float %neg237.5.3) %2956 = tail call float @llvm.fmuladd.f32(float %mul224.5.3, float %2955, float %E_el.5.4.3) %splat.splatinsert.5.3 = insertelement <3 x float> undef, float %2891, i32 0 %splat.splat.5.3 = shufflevector <3 x float> %splat.splatinsert.5.3, <3 x float> undef, <3 x i32> zeroinitializer %mul242.5.3 = fmul <3 x float> %extractVec168.5.3, %splat.splat.5.3 %extractVec250.5.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.4.3, <4 x float> undef, <3 x i32> %sub251.5.3 = fsub <3 x float> %extractVec250.5.3, %mul242.5.3 %extractVec252.5.3 = shufflevector <3 x float> %sub251.5.3, <3 x float> undef, <4 x i32> %extractVec260.5.3 = shufflevector <4 x float> %fci_buf.sroa.52.7, <4 x float> undef, <3 x i32> %add261.5.3 = fadd <3 x float> %extractVec260.5.3, %mul242.5.3 %extractVec262.5.3 = shufflevector <3 x float> %add261.5.3, <3 x float> undef, <4 x i32> br label %if.end265.5.3 if.end265.5.3: ; preds = %if.then184.5.3, %if.then149.5.3, %if.end265.4.3 %fci_buf.sroa.52.8 = phi <4 x float> [ %fci_buf.sroa.52.7, %if.end265.4.3 ], [ %extractVec262.5.3, %if.then184.5.3 ], [ %fci_buf.sroa.52.7, %if.then149.5.3 ] %E_el.5.5.3 = phi float [ %E_el.5.4.3, %if.end265.4.3 ], [ %2956, %if.then184.5.3 ], [ %E_el.5.4.3, %if.then149.5.3 ] %E_lj.3.5.3 = phi float [ %E_lj.3.4.3, %if.end265.4.3 ], [ %add223.5.3, %if.then184.5.3 ], [ %E_lj.3.4.3, %if.then149.5.3 ] %fcj_buf.sroa.0.1.5.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.4.3, %if.end265.4.3 ], [ %extractVec252.5.3, %if.then184.5.3 ], [ %fcj_buf.sroa.0.1.4.3, %if.then149.5.3 ] %and147.6.3 = and i32 %64, 1073741824 %tobool148.6.3 = icmp eq i32 %and147.6.3, 0 br i1 %tobool148.6.3, label %if.end265.6.3, label %if.then149.6.3 if.then149.6.3: ; preds = %if.end265.5.3 %2957 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.6.3, align 16, !tbaa !36 %2958 = fsub <4 x float> %2957, %2390 %2959 = extractelement <4 x float> %2958, i32 0 %2960 = extractelement <4 x float> %2958, i32 1 %mul3.i.i602.6.3 = fmul float %2960, %2960 %2961 = tail call float @llvm.fmuladd.f32(float %2959, float %2959, float %mul3.i.i602.6.3) #5 %2962 = extractelement <4 x float> %2958, i32 2 %2963 = tail call float @llvm.fmuladd.f32(float %2962, float %2962, float %2961) #5 %and170.6.3 = and i32 %66, 1073741824 %tobool171.6.3 = icmp ne i32 %and170.6.3, 0 %cond.6.3 = select i1 %tobool171.6.3, float 1.000000e+00, float 0.000000e+00 %cmp176.6.3 = icmp eq i32 %50, %2388 %or.cond.6.3 = and i1 %cmp65, %cmp176.6.3 %not.or.cond.6.3 = xor i1 %or.cond.6.3, true %cmp178..6.3 = or i1 %cmp178, %not.or.cond.6.3 %conv180.6.3 = uitofp i1 %cmp178..6.3 to float %mul181.6.3 = fmul float %conv180.6.3, %nbparam_params_rcoulomb_sq %cmp182.6.3 = fcmp olt float %2963, %mul181.6.3 br i1 %cmp182.6.3, label %if.then184.6.3, label %if.end265.6.3 if.then184.6.3: ; preds = %if.then149.6.3 %extractVec168.6.3 = shufflevector <4 x float> %2958, <4 x float> undef, <3 x i32> %2964 = extractelement <4 x float> %2957, i32 3 %2965 = load i32, i32 addrspace(1)* %arrayidx185.6.3, align 4, !tbaa !41 %mul186.6.3 = mul nsw i32 %2965, %ntypes %add187.6.3 = add nsw i32 %mul186.6.3, %2392 %mul188.6.3 = shl nsw i32 %add187.6.3, 1 %2966 = sext i32 %mul188.6.3 to i64 %arrayidx189.6.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2966 %2967 = load float, float addrspace(2)* %arrayidx189.6.3, align 4, !tbaa !39 %add193.6.3 = or i32 %mul188.6.3, 1 %2968 = sext i32 %add193.6.3 to i64 %arrayidx194.6.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %2968 %2969 = load float, float addrspace(2)* %arrayidx194.6.3, align 4, !tbaa !39 %sub195.6.3 = fsub float 1.000000e+00, %cond.6.3 %2970 = tail call float @llvm.fmuladd.f32(float %sub195.6.3, float 0x3D71979980000000, float %2963) %cmp.i.i600.6.3 = fcmp olt float %2970, 0.000000e+00 %call.i.i.6.3 = tail call float @llvm.sqrt.f32(float %2970) #6 %call.i.i.op.6.3 = fdiv float 1.000000e+00, %call.i.i.6.3 %div198.6.3 = select i1 %cmp.i.i600.6.3, float 0x7FF8000000000000, float %call.i.i.op.6.3 %mul199.6.3 = fmul float %div198.6.3, %div198.6.3 %mul200.6.3 = fmul float %mul199.6.3, %mul199.6.3 %mul201.6.3 = fmul float %mul199.6.3, %mul200.6.3 %mul202.6.3 = fmul float %cond.6.3, %mul201.6.3 %neg.6.3 = fsub float -0.000000e+00, %2967 %2971 = tail call float @llvm.fmuladd.f32(float %2969, float %mul202.6.3, float %neg.6.3) %mul204.6.3 = fmul float %mul202.6.3, %2971 %mul205.6.3 = fmul float %mul199.6.3, %mul204.6.3 %2972 = tail call float @llvm.fmuladd.f32(float %mul202.6.3, float %mul202.6.3, float %nbparam_params_repulsion_shift_cpot) %mul209.6.3 = fmul float %2972, %2969 %add213.6.3 = fadd float %mul202.6.3, %nbparam_params_dispersion_shift_cpot %mul214.6.3 = fmul float %add213.6.3, %2967 %mul215.6.3 = fmul float %mul214.6.3, 0x3FC5555560000000 %neg216.6.3 = fsub float -0.000000e+00, %mul215.6.3 %2973 = tail call float @llvm.fmuladd.f32(float %mul209.6.3, float 0x3FB5555540000000, float %neg216.6.3) %mul217.6.3 = fmul float %cond.6.3, %2973 %cmp218.6.3 = fcmp olt float %2970, %nbparam_params_rvdw_sq %cond220.6.3 = select i1 %cmp218.6.3, float 1.000000e+00, float 0.000000e+00 %mul221.6.3 = fmul float %cond220.6.3, %mul205.6.3 %mul222.6.3 = fmul float %cond220.6.3, %mul217.6.3 %add223.6.3 = fadd float %E_lj.3.5.3, %mul222.6.3 %mul224.6.3 = fmul float %2391, %2964 %mul225.6.3 = fmul float %cond.6.3, %mul199.6.3 %mul227.6.3 = fmul float %mul, %2970 %mul.i598.6.3 = fmul float %mul227.6.3, %mul227.6.3 %2974 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.6.3, float 0x3FBDA79640000000) #5 %2975 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.6.3, float 0x3FE03C5780000000) #5 %2976 = tail call float @llvm.fmuladd.f32(float %2974, float %mul.i598.6.3, float 1.000000e+00) #5 %2977 = tail call float @llvm.fmuladd.f32(float %2975, float %mul227.6.3, float %2976) #5 %div.i599.6.3 = fdiv float 1.000000e+00, %2977, !fpmath !46 %2978 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.6.3, float 0xBF0BFF7260000000) #5 %2979 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.6.3, float 0x3F50794180000000) #5 %2980 = tail call float @llvm.fmuladd.f32(float %2978, float %mul.i598.6.3, float 0xBF93BDB200000000) #5 %2981 = tail call float @llvm.fmuladd.f32(float %2979, float %mul.i598.6.3, float 0x3FB1D5E760000000) #5 %2982 = tail call float @llvm.fmuladd.f32(float %2980, float %mul.i598.6.3, float 0xBFE81272E0000000) #5 %2983 = tail call float @llvm.fmuladd.f32(float %2981, float %mul227.6.3, float %2982) #5 %mul11.i.6.3 = fmul float %2983, %div.i599.6.3 %mul229.6.3 = fmul float %mul21, %mul11.i.6.3 %2984 = tail call float @llvm.fmuladd.f32(float %mul225.6.3, float %div198.6.3, float %mul229.6.3) %2985 = tail call float @llvm.fmuladd.f32(float %mul224.6.3, float %2984, float %mul221.6.3) %mul232.6.3 = fmul float %2970, %div198.6.3 %mul233.6.3 = fmul float %mul232.6.3, %nbparam_params_ewald_beta %fabs.i.6.3 = tail call float @llvm.fabs.f32(float %mul233.6.3) #5 %and.i.6.3 = bitcast float %fabs.i.6.3 to i32 %mul.i.6.3 = fmul float %mul233.6.3, %mul233.6.3 %div.i.6.3 = fdiv float 1.000000e+00, %mul.i.6.3, !fpmath !46 %sub.i.6.3 = fadd float %fabs.i.6.3, -1.000000e+00 %cmp.i596.6.3 = fcmp olt float %fabs.i.6.3, 1.250000e+00 %cond.i.6.3 = select i1 %cmp.i596.6.3, float %sub.i.6.3, float %div.i.6.3 %cmp2.i.6.3 = fcmp olt float %fabs.i.6.3, 8.437500e-01 %cond6.i.6.3 = select i1 %cmp2.i.6.3, float %mul.i.6.3, float %cond.i.6.3 %2986 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %2987 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2986, float 0xC083EC8820000000) #5 %2988 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2987, float 0xC064145D40000000) #5 %2989 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2988, float 0xC031C20960000000) #5 %2990 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2989, float 0xBFE993BA80000000) #5 %2991 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2990, float 0xBF84341240000000) #5 %2992 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %2993 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2992, float 0x40A3F219C0000000) #5 %2994 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2993, float 0x40A8FFB760000000) #5 %2995 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2994, float 0x409802EB20000000) #5 %2996 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2995, float 0x40745CAE20000000) #5 %2997 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2996, float 0x403E568B20000000) #5 %2998 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %2999 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2998, float 0xC067135CE0000000) #5 %3000 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %2999, float 0xC0644CB180000000) #5 %3001 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3000, float 0xC04F300AE0000000) #5 %3002 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3001, float 0xC0251E0440000000) #5 %3003 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3002, float 0xBFE63416E0000000) #5 %3004 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3003, float 0xBF84341260000000) #5 %3005 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %3006 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3005, float 0x405B28A3E0000000) #5 %3007 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3006, float 0x407AD02160000000) #5 %3008 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3007, float 0x40842B1920000000) #5 %3009 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3008, float 0x407B290DE0000000) #5 %3010 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3009, float 0x4061350C60000000) #5 %3011 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3010, float 0x4033A6B9C0000000) #5 %cmp32.i.6.3 = fcmp olt float %fabs.i.6.3, 0x4006DB6DA0000000 %cond36.i.6.3 = select i1 %cmp32.i.6.3, float %3004, float %2991 %cond41.i.6.3 = select i1 %cmp32.i.6.3, float %3011, float %2997 %3012 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %3013 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3012, float 0xBFBC639840000000) #5 %3014 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3013, float 0x3FD45FCA80000000) #5 %3015 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3014, float 0xBFD7D24100000000) #5 %3016 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3015, float 0x3FDA8D00A0000000) #5 %3017 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3016, float 0xBF6359B8C0000000) #5 %3018 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %3019 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3018, float 0x3FC02660E0000000) #5 %3020 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3019, float 0x3FB2635CE0000000) #5 %3021 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3020, float 0x3FE14AF0A0000000) #5 %3022 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3021, float 0x3FBB3E6620000000) #5 %cond57.i.6.3 = select i1 %cmp.i596.6.3, float %3017, float %cond36.i.6.3 %cond62.i.6.3 = select i1 %cmp.i596.6.3, float %3022, float %cond41.i.6.3 %3023 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %3024 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3023, float 0xBF9D2A51E0000000) #5 %3025 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3024, float 0xBFD4CD7D60000000) #5 %3026 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3025, float 0x3FC06EBA80000000) #5 %3027 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %3028 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3027, float 0x3F74D022C0000000) #5 %3029 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3028, float 0x3FB0A54C60000000) #5 %3030 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %3029, float 0x3FD97779C0000000) #5 %cond75.i.6.3 = select i1 %cmp2.i.6.3, float %3026, float %cond57.i.6.3 %cond80.i.6.3 = select i1 %cmp2.i.6.3, float %3030, float %cond62.i.6.3 %3031 = tail call float @llvm.fmuladd.f32(float %cond6.i.6.3, float %cond80.i.6.3, float 1.000000e+00) #5 %div82.i.6.3 = fdiv float %cond75.i.6.3, %3031, !fpmath !46 %and83.i.6.3 = and i32 %and.i.6.3, -4096 %astype84.i.6.3 = bitcast i32 %and83.i.6.3 to float %sub85.i.6.3 = fsub float -0.000000e+00, %astype84.i.6.3 %3032 = tail call float @llvm.fmuladd.f32(float %sub85.i.6.3, float %astype84.i.6.3, float -5.625000e-01) #5 %cmp.i2.i.6.3 = fcmp olt float %3032, 0.000000e+00 %cond.i3.i.6.3 = select i1 %cmp.i2.i.6.3, float -5.000000e-01, float 5.000000e-01 %3033 = tail call float @llvm.fmuladd.f32(float %3032, float 0x3FF7154760000000, float %cond.i3.i.6.3) #5 %conv.i4.i.6.3 = fptosi float %3033 to i32 %conv1.i5.i.6.3 = sitofp i32 %conv.i4.i.6.3 to float %3034 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.6.3, float 0xBFE62E3000000000, float %3032) #5 %mul.i6.i.6.3 = fmul float %conv1.i5.i.6.3, 0xBEE2FEFA20000000 %add.i7.i.6.3 = fadd float %3034, %mul.i6.i.6.3 %mul3.i8.i.6.3 = fmul float %add.i7.i.6.3, %add.i7.i.6.3 %3035 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %3036 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float %3035, float 0x3F11566AA0000000) #5 %3037 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float %3036, float 0xBF66C16C20000000) #5 %3038 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float %3037, float 0x3FC5555560000000) #5 %sub8.i9.i.6.3 = fsub float -0.000000e+00, %3038 %3039 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.6.3, float %sub8.i9.i.6.3, float %add.i7.i.6.3) #5 %sub10.i10.i.6.3 = fsub float -0.000000e+00, %mul.i6.i.6.3 %mul11.i11.i.6.3 = fmul float %add.i7.i.6.3, %3039 %sub12.i12.i.6.3 = fsub float 2.000000e+00, %3039 %div.i13.i.6.3 = fdiv float %mul11.i11.i.6.3, %sub12.i12.i.6.3, !fpmath !46 %sub13.i14.i.6.3 = fsub float %sub10.i10.i.6.3, %div.i13.i.6.3 %sub14.i15.i.6.3 = fsub float %sub13.i14.i.6.3, %3034 %sub15.i16.i.6.3 = fsub float 1.000000e+00, %sub14.i15.i.6.3 %astype.i17.i.6.3 = bitcast float %sub15.i16.i.6.3 to i32 %shl.i18.i.6.3 = shl i32 %conv.i4.i.6.3, 23 %add16.i19.i.6.3 = add nsw i32 %astype.i17.i.6.3, %shl.i18.i.6.3 %astype17.i20.i.6.3 = bitcast i32 %add16.i19.i.6.3 to float %cmp18.i21.i.6.3 = fcmp olt float %3032, 0xC055D589E0000000 %cond20.i22.i.6.3 = select i1 %cmp18.i21.i.6.3, float 0.000000e+00, float %astype17.i20.i.6.3 %cmp21.i23.i.6.3 = fcmp olt float %3032, 0x40562E4300000000 %cond26.i24.i.6.3 = select i1 %cmp21.i23.i.6.3, float %cond20.i22.i.6.3, float 0x7FF0000000000000 %cmp.i.i25.i.6.3 = fcmp uno float %3032, 0.000000e+00 %cond31.i26.i.6.3 = select i1 %cmp.i.i25.i.6.3, float %3032, float %cond26.i24.i.6.3 %sub88.i.6.3 = fsub float %astype84.i.6.3, %fabs.i.6.3 %add.i597.6.3 = fadd float %fabs.i.6.3, %astype84.i.6.3 %3040 = tail call float @llvm.fmuladd.f32(float %sub88.i.6.3, float %add.i597.6.3, float %div82.i.6.3) #5 %cmp.i1.i.6.3 = fcmp olt float %3040, 0.000000e+00 %cond.i.i.6.3 = select i1 %cmp.i1.i.6.3, float -5.000000e-01, float 5.000000e-01 %3041 = tail call float @llvm.fmuladd.f32(float %3040, float 0x3FF7154760000000, float %cond.i.i.6.3) #5 %conv.i.i.6.3 = fptosi float %3041 to i32 %conv1.i.i.6.3 = sitofp i32 %conv.i.i.6.3 to float %3042 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.6.3, float 0xBFE62E3000000000, float %3040) #5 %mul.i.i.6.3 = fmul float %conv1.i.i.6.3, 0xBEE2FEFA20000000 %add.i.i.6.3 = fadd float %3042, %mul.i.i.6.3 %mul3.i.i.6.3 = fmul float %add.i.i.6.3, %add.i.i.6.3 %3043 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %3044 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float %3043, float 0x3F11566AA0000000) #5 %3045 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float %3044, float 0xBF66C16C20000000) #5 %3046 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float %3045, float 0x3FC5555560000000) #5 %sub8.i.i.6.3 = fsub float -0.000000e+00, %3046 %3047 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.6.3, float %sub8.i.i.6.3, float %add.i.i.6.3) #5 %sub10.i.i.6.3 = fsub float -0.000000e+00, %mul.i.i.6.3 %mul11.i.i.6.3 = fmul float %add.i.i.6.3, %3047 %sub12.i.i.6.3 = fsub float 2.000000e+00, %3047 %div.i.i.6.3 = fdiv float %mul11.i.i.6.3, %sub12.i.i.6.3, !fpmath !46 %sub13.i.i.6.3 = fsub float %sub10.i.i.6.3, %div.i.i.6.3 %sub14.i.i.6.3 = fsub float %sub13.i.i.6.3, %3042 %sub15.i.i.6.3 = fsub float 1.000000e+00, %sub14.i.i.6.3 %astype.i.i.6.3 = bitcast float %sub15.i.i.6.3 to i32 %shl.i.i.6.3 = shl i32 %conv.i.i.6.3, 23 %add16.i.i.6.3 = add nsw i32 %astype.i.i.6.3, %shl.i.i.6.3 %astype17.i.i.6.3 = bitcast i32 %add16.i.i.6.3 to float %cmp18.i.i.6.3 = fcmp olt float %3040, 0xC055D589E0000000 %cond20.i.i.6.3 = select i1 %cmp18.i.i.6.3, float 0.000000e+00, float %astype17.i.i.6.3 %cmp21.i.i.6.3 = fcmp olt float %3040, 0x40562E4300000000 %cond26.i.i.6.3 = select i1 %cmp21.i.i.6.3, float %cond20.i.i.6.3, float 0x7FF0000000000000 %cmp.i.i.i.6.3 = fcmp uno float %3040, 0.000000e+00 %cond31.i.i.6.3 = select i1 %cmp.i.i.i.6.3, float %3040, float %cond26.i.i.6.3 %mul91.i.6.3 = fmul float %cond31.i26.i.6.3, %cond31.i.i.6.3 %div92.i.6.3 = fdiv float %mul91.i.6.3, %fabs.i.6.3, !fpmath !46 %sub93.i.6.3 = fsub float 2.000000e+00, %div92.i.6.3 %cmp94.i.6.3 = fcmp olt float %mul233.6.3, 0.000000e+00 %cond98.i.6.3 = select i1 %cmp94.i.6.3, float %sub93.i.6.3, float %div92.i.6.3 %cmp99.i.6.3 = fcmp olt float %fabs.i.6.3, 2.800000e+01 %cond103.i.6.3 = select i1 %cmp99.i.6.3, float %cond98.i.6.3, float 0.000000e+00 %sub104.i.6.3 = fsub float 0x3FC3D4FA80000000, %div82.i.6.3 %add105.i.6.3 = fadd float %div82.i.6.3, 0x3FEB0AC160000000 %add106.i.6.3 = fadd float %add105.i.6.3, 1.000000e+00 %cond111.i.6.3 = select i1 %cmp94.i.6.3, float %add106.i.6.3, float %sub104.i.6.3 %cond116.i.6.3 = select i1 %cmp.i596.6.3, float %cond111.i.6.3, float %cond103.i.6.3 %sub117.i.6.3 = fadd float %mul233.6.3, -5.000000e-01 %3048 = tail call float @llvm.fmuladd.f32(float %mul233.6.3, float %div82.i.6.3, float %sub117.i.6.3) #5 %sub119.i.6.3 = fsub float 5.000000e-01, %3048 %cond124.i.6.3 = select i1 %cmp2.i.6.3, float %sub119.i.6.3, float %cond116.i.6.3 %cmp125.i.6.3 = fcmp olt float %mul233.6.3, -6.000000e+00 %cond129.i.6.3 = select i1 %cmp125.i.6.3, float 2.000000e+00, float %cond124.i.6.3 %cmp.i.i.6.3 = fcmp uno float %mul233.6.3, 0.000000e+00 %cond134.i.6.3 = select i1 %cmp.i.i.6.3, float %mul233.6.3, float %cond129.i.6.3 %mul236.6.3 = fmul float %cond.6.3, %nbparam_params_sh_ewald %neg237.6.3 = fsub float -0.000000e+00, %mul236.6.3 %3049 = tail call float @llvm.fmuladd.f32(float %div198.6.3, float %cond134.i.6.3, float %neg237.6.3) %3050 = tail call float @llvm.fmuladd.f32(float %mul224.6.3, float %3049, float %E_el.5.5.3) %splat.splatinsert.6.3 = insertelement <3 x float> undef, float %2985, i32 0 %splat.splat.6.3 = shufflevector <3 x float> %splat.splatinsert.6.3, <3 x float> undef, <3 x i32> zeroinitializer %mul242.6.3 = fmul <3 x float> %extractVec168.6.3, %splat.splat.6.3 %extractVec250.6.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.5.3, <4 x float> undef, <3 x i32> %sub251.6.3 = fsub <3 x float> %extractVec250.6.3, %mul242.6.3 %extractVec252.6.3 = shufflevector <3 x float> %sub251.6.3, <3 x float> undef, <4 x i32> %extractVec260.6.3 = shufflevector <4 x float> %fci_buf.sroa.62.7, <4 x float> undef, <3 x i32> %add261.6.3 = fadd <3 x float> %extractVec260.6.3, %mul242.6.3 %extractVec262.6.3 = shufflevector <3 x float> %add261.6.3, <3 x float> undef, <4 x i32> br label %if.end265.6.3 if.end265.6.3: ; preds = %if.then184.6.3, %if.then149.6.3, %if.end265.5.3 %fci_buf.sroa.62.8 = phi <4 x float> [ %fci_buf.sroa.62.7, %if.end265.5.3 ], [ %extractVec262.6.3, %if.then184.6.3 ], [ %fci_buf.sroa.62.7, %if.then149.6.3 ] %E_el.5.6.3 = phi float [ %E_el.5.5.3, %if.end265.5.3 ], [ %3050, %if.then184.6.3 ], [ %E_el.5.5.3, %if.then149.6.3 ] %E_lj.3.6.3 = phi float [ %E_lj.3.5.3, %if.end265.5.3 ], [ %add223.6.3, %if.then184.6.3 ], [ %E_lj.3.5.3, %if.then149.6.3 ] %fcj_buf.sroa.0.1.6.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.5.3, %if.end265.5.3 ], [ %extractVec252.6.3, %if.then184.6.3 ], [ %fcj_buf.sroa.0.1.5.3, %if.then149.6.3 ] %tobool148.7.3 = icmp sgt i32 %64, -1 br i1 %tobool148.7.3, label %if.end265.7.3, label %if.then149.7.3 if.then149.7.3: ; preds = %if.end265.6.3 %3051 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156.7.3, align 16, !tbaa !36 %3052 = fsub <4 x float> %3051, %2390 %3053 = extractelement <4 x float> %3052, i32 0 %3054 = extractelement <4 x float> %3052, i32 1 %mul3.i.i602.7.3 = fmul float %3054, %3054 %3055 = tail call float @llvm.fmuladd.f32(float %3053, float %3053, float %mul3.i.i602.7.3) #5 %3056 = extractelement <4 x float> %3052, i32 2 %3057 = tail call float @llvm.fmuladd.f32(float %3056, float %3056, float %3055) #5 %tobool171.7.3 = icmp slt i32 %66, 0 %cond.7.3 = select i1 %tobool171.7.3, float 1.000000e+00, float 0.000000e+00 %cmp176.7.3 = icmp eq i32 %48, %2388 %or.cond.7.3 = and i1 %cmp65, %cmp176.7.3 %not.or.cond.7.3 = xor i1 %or.cond.7.3, true %cmp178..7.3 = or i1 %cmp178, %not.or.cond.7.3 %conv180.7.3 = uitofp i1 %cmp178..7.3 to float %mul181.7.3 = fmul float %conv180.7.3, %nbparam_params_rcoulomb_sq %cmp182.7.3 = fcmp olt float %3057, %mul181.7.3 br i1 %cmp182.7.3, label %if.then184.7.3, label %if.end265.7.3 if.then184.7.3: ; preds = %if.then149.7.3 %extractVec168.7.3 = shufflevector <4 x float> %3052, <4 x float> undef, <3 x i32> %3058 = extractelement <4 x float> %3051, i32 3 %3059 = load i32, i32 addrspace(1)* %arrayidx185.7.3, align 4, !tbaa !41 %mul186.7.3 = mul nsw i32 %3059, %ntypes %add187.7.3 = add nsw i32 %mul186.7.3, %2392 %mul188.7.3 = shl nsw i32 %add187.7.3, 1 %3060 = sext i32 %mul188.7.3 to i64 %arrayidx189.7.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %3060 %3061 = load float, float addrspace(2)* %arrayidx189.7.3, align 4, !tbaa !39 %add193.7.3 = or i32 %mul188.7.3, 1 %3062 = sext i32 %add193.7.3 to i64 %arrayidx194.7.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %3062 %3063 = load float, float addrspace(2)* %arrayidx194.7.3, align 4, !tbaa !39 %sub195.7.3 = fsub float 1.000000e+00, %cond.7.3 %3064 = tail call float @llvm.fmuladd.f32(float %sub195.7.3, float 0x3D71979980000000, float %3057) %cmp.i.i600.7.3 = fcmp olt float %3064, 0.000000e+00 %call.i.i.7.3 = tail call float @llvm.sqrt.f32(float %3064) #6 %call.i.i.op.7.3 = fdiv float 1.000000e+00, %call.i.i.7.3 %div198.7.3 = select i1 %cmp.i.i600.7.3, float 0x7FF8000000000000, float %call.i.i.op.7.3 %mul199.7.3 = fmul float %div198.7.3, %div198.7.3 %mul200.7.3 = fmul float %mul199.7.3, %mul199.7.3 %mul201.7.3 = fmul float %mul199.7.3, %mul200.7.3 %mul202.7.3 = fmul float %cond.7.3, %mul201.7.3 %neg.7.3 = fsub float -0.000000e+00, %3061 %3065 = tail call float @llvm.fmuladd.f32(float %3063, float %mul202.7.3, float %neg.7.3) %mul204.7.3 = fmul float %mul202.7.3, %3065 %mul205.7.3 = fmul float %mul199.7.3, %mul204.7.3 %3066 = tail call float @llvm.fmuladd.f32(float %mul202.7.3, float %mul202.7.3, float %nbparam_params_repulsion_shift_cpot) %mul209.7.3 = fmul float %3066, %3063 %add213.7.3 = fadd float %mul202.7.3, %nbparam_params_dispersion_shift_cpot %mul214.7.3 = fmul float %add213.7.3, %3061 %mul215.7.3 = fmul float %mul214.7.3, 0x3FC5555560000000 %neg216.7.3 = fsub float -0.000000e+00, %mul215.7.3 %3067 = tail call float @llvm.fmuladd.f32(float %mul209.7.3, float 0x3FB5555540000000, float %neg216.7.3) %mul217.7.3 = fmul float %cond.7.3, %3067 %cmp218.7.3 = fcmp olt float %3064, %nbparam_params_rvdw_sq %cond220.7.3 = select i1 %cmp218.7.3, float 1.000000e+00, float 0.000000e+00 %mul221.7.3 = fmul float %cond220.7.3, %mul205.7.3 %mul222.7.3 = fmul float %cond220.7.3, %mul217.7.3 %add223.7.3 = fadd float %E_lj.3.6.3, %mul222.7.3 %mul224.7.3 = fmul float %2391, %3058 %mul225.7.3 = fmul float %cond.7.3, %mul199.7.3 %mul227.7.3 = fmul float %mul, %3064 %mul.i598.7.3 = fmul float %mul227.7.3, %mul227.7.3 %3068 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i598.7.3, float 0x3FBDA79640000000) #5 %3069 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i598.7.3, float 0x3FE03C5780000000) #5 %3070 = tail call float @llvm.fmuladd.f32(float %3068, float %mul.i598.7.3, float 1.000000e+00) #5 %3071 = tail call float @llvm.fmuladd.f32(float %3069, float %mul227.7.3, float %3070) #5 %div.i599.7.3 = fdiv float 1.000000e+00, %3071, !fpmath !46 %3072 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i598.7.3, float 0xBF0BFF7260000000) #5 %3073 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i598.7.3, float 0x3F50794180000000) #5 %3074 = tail call float @llvm.fmuladd.f32(float %3072, float %mul.i598.7.3, float 0xBF93BDB200000000) #5 %3075 = tail call float @llvm.fmuladd.f32(float %3073, float %mul.i598.7.3, float 0x3FB1D5E760000000) #5 %3076 = tail call float @llvm.fmuladd.f32(float %3074, float %mul.i598.7.3, float 0xBFE81272E0000000) #5 %3077 = tail call float @llvm.fmuladd.f32(float %3075, float %mul227.7.3, float %3076) #5 %mul11.i.7.3 = fmul float %3077, %div.i599.7.3 %mul229.7.3 = fmul float %mul21, %mul11.i.7.3 %3078 = tail call float @llvm.fmuladd.f32(float %mul225.7.3, float %div198.7.3, float %mul229.7.3) %3079 = tail call float @llvm.fmuladd.f32(float %mul224.7.3, float %3078, float %mul221.7.3) %mul232.7.3 = fmul float %3064, %div198.7.3 %mul233.7.3 = fmul float %mul232.7.3, %nbparam_params_ewald_beta %fabs.i.7.3 = tail call float @llvm.fabs.f32(float %mul233.7.3) #5 %and.i.7.3 = bitcast float %fabs.i.7.3 to i32 %mul.i.7.3 = fmul float %mul233.7.3, %mul233.7.3 %div.i.7.3 = fdiv float 1.000000e+00, %mul.i.7.3, !fpmath !46 %sub.i.7.3 = fadd float %fabs.i.7.3, -1.000000e+00 %cmp.i596.7.3 = fcmp olt float %fabs.i.7.3, 1.250000e+00 %cond.i.7.3 = select i1 %cmp.i596.7.3, float %sub.i.7.3, float %div.i.7.3 %cmp2.i.7.3 = fcmp olt float %fabs.i.7.3, 8.437500e-01 %cond6.i.7.3 = select i1 %cmp2.i.7.3, float %mul.i.7.3, float %cond.i.7.3 %3080 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %3081 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3080, float 0xC083EC8820000000) #5 %3082 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3081, float 0xC064145D40000000) #5 %3083 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3082, float 0xC031C20960000000) #5 %3084 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3083, float 0xBFE993BA80000000) #5 %3085 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3084, float 0xBF84341240000000) #5 %3086 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %3087 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3086, float 0x40A3F219C0000000) #5 %3088 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3087, float 0x40A8FFB760000000) #5 %3089 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3088, float 0x409802EB20000000) #5 %3090 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3089, float 0x40745CAE20000000) #5 %3091 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3090, float 0x403E568B20000000) #5 %3092 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %3093 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3092, float 0xC067135CE0000000) #5 %3094 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3093, float 0xC0644CB180000000) #5 %3095 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3094, float 0xC04F300AE0000000) #5 %3096 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3095, float 0xC0251E0440000000) #5 %3097 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3096, float 0xBFE63416E0000000) #5 %3098 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3097, float 0xBF84341260000000) #5 %3099 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %3100 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3099, float 0x405B28A3E0000000) #5 %3101 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3100, float 0x407AD02160000000) #5 %3102 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3101, float 0x40842B1920000000) #5 %3103 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3102, float 0x407B290DE0000000) #5 %3104 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3103, float 0x4061350C60000000) #5 %3105 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3104, float 0x4033A6B9C0000000) #5 %cmp32.i.7.3 = fcmp olt float %fabs.i.7.3, 0x4006DB6DA0000000 %cond36.i.7.3 = select i1 %cmp32.i.7.3, float %3098, float %3085 %cond41.i.7.3 = select i1 %cmp32.i.7.3, float %3105, float %3091 %3106 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %3107 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3106, float 0xBFBC639840000000) #5 %3108 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3107, float 0x3FD45FCA80000000) #5 %3109 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3108, float 0xBFD7D24100000000) #5 %3110 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3109, float 0x3FDA8D00A0000000) #5 %3111 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3110, float 0xBF6359B8C0000000) #5 %3112 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %3113 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3112, float 0x3FC02660E0000000) #5 %3114 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3113, float 0x3FB2635CE0000000) #5 %3115 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3114, float 0x3FE14AF0A0000000) #5 %3116 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3115, float 0x3FBB3E6620000000) #5 %cond57.i.7.3 = select i1 %cmp.i596.7.3, float %3111, float %cond36.i.7.3 %cond62.i.7.3 = select i1 %cmp.i596.7.3, float %3116, float %cond41.i.7.3 %3117 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %3118 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3117, float 0xBF9D2A51E0000000) #5 %3119 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3118, float 0xBFD4CD7D60000000) #5 %3120 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3119, float 0x3FC06EBA80000000) #5 %3121 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %3122 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3121, float 0x3F74D022C0000000) #5 %3123 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3122, float 0x3FB0A54C60000000) #5 %3124 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %3123, float 0x3FD97779C0000000) #5 %cond75.i.7.3 = select i1 %cmp2.i.7.3, float %3120, float %cond57.i.7.3 %cond80.i.7.3 = select i1 %cmp2.i.7.3, float %3124, float %cond62.i.7.3 %3125 = tail call float @llvm.fmuladd.f32(float %cond6.i.7.3, float %cond80.i.7.3, float 1.000000e+00) #5 %div82.i.7.3 = fdiv float %cond75.i.7.3, %3125, !fpmath !46 %and83.i.7.3 = and i32 %and.i.7.3, -4096 %astype84.i.7.3 = bitcast i32 %and83.i.7.3 to float %sub85.i.7.3 = fsub float -0.000000e+00, %astype84.i.7.3 %3126 = tail call float @llvm.fmuladd.f32(float %sub85.i.7.3, float %astype84.i.7.3, float -5.625000e-01) #5 %cmp.i2.i.7.3 = fcmp olt float %3126, 0.000000e+00 %cond.i3.i.7.3 = select i1 %cmp.i2.i.7.3, float -5.000000e-01, float 5.000000e-01 %3127 = tail call float @llvm.fmuladd.f32(float %3126, float 0x3FF7154760000000, float %cond.i3.i.7.3) #5 %conv.i4.i.7.3 = fptosi float %3127 to i32 %conv1.i5.i.7.3 = sitofp i32 %conv.i4.i.7.3 to float %3128 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i.7.3, float 0xBFE62E3000000000, float %3126) #5 %mul.i6.i.7.3 = fmul float %conv1.i5.i.7.3, 0xBEE2FEFA20000000 %add.i7.i.7.3 = fadd float %3128, %mul.i6.i.7.3 %mul3.i8.i.7.3 = fmul float %add.i7.i.7.3, %add.i7.i.7.3 %3129 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %3130 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float %3129, float 0x3F11566AA0000000) #5 %3131 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float %3130, float 0xBF66C16C20000000) #5 %3132 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float %3131, float 0x3FC5555560000000) #5 %sub8.i9.i.7.3 = fsub float -0.000000e+00, %3132 %3133 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i.7.3, float %sub8.i9.i.7.3, float %add.i7.i.7.3) #5 %sub10.i10.i.7.3 = fsub float -0.000000e+00, %mul.i6.i.7.3 %mul11.i11.i.7.3 = fmul float %add.i7.i.7.3, %3133 %sub12.i12.i.7.3 = fsub float 2.000000e+00, %3133 %div.i13.i.7.3 = fdiv float %mul11.i11.i.7.3, %sub12.i12.i.7.3, !fpmath !46 %sub13.i14.i.7.3 = fsub float %sub10.i10.i.7.3, %div.i13.i.7.3 %sub14.i15.i.7.3 = fsub float %sub13.i14.i.7.3, %3128 %sub15.i16.i.7.3 = fsub float 1.000000e+00, %sub14.i15.i.7.3 %astype.i17.i.7.3 = bitcast float %sub15.i16.i.7.3 to i32 %shl.i18.i.7.3 = shl i32 %conv.i4.i.7.3, 23 %add16.i19.i.7.3 = add nsw i32 %astype.i17.i.7.3, %shl.i18.i.7.3 %astype17.i20.i.7.3 = bitcast i32 %add16.i19.i.7.3 to float %cmp18.i21.i.7.3 = fcmp olt float %3126, 0xC055D589E0000000 %cond20.i22.i.7.3 = select i1 %cmp18.i21.i.7.3, float 0.000000e+00, float %astype17.i20.i.7.3 %cmp21.i23.i.7.3 = fcmp olt float %3126, 0x40562E4300000000 %cond26.i24.i.7.3 = select i1 %cmp21.i23.i.7.3, float %cond20.i22.i.7.3, float 0x7FF0000000000000 %cmp.i.i25.i.7.3 = fcmp uno float %3126, 0.000000e+00 %cond31.i26.i.7.3 = select i1 %cmp.i.i25.i.7.3, float %3126, float %cond26.i24.i.7.3 %sub88.i.7.3 = fsub float %astype84.i.7.3, %fabs.i.7.3 %add.i597.7.3 = fadd float %fabs.i.7.3, %astype84.i.7.3 %3134 = tail call float @llvm.fmuladd.f32(float %sub88.i.7.3, float %add.i597.7.3, float %div82.i.7.3) #5 %cmp.i1.i.7.3 = fcmp olt float %3134, 0.000000e+00 %cond.i.i.7.3 = select i1 %cmp.i1.i.7.3, float -5.000000e-01, float 5.000000e-01 %3135 = tail call float @llvm.fmuladd.f32(float %3134, float 0x3FF7154760000000, float %cond.i.i.7.3) #5 %conv.i.i.7.3 = fptosi float %3135 to i32 %conv1.i.i.7.3 = sitofp i32 %conv.i.i.7.3 to float %3136 = tail call float @llvm.fmuladd.f32(float %conv1.i.i.7.3, float 0xBFE62E3000000000, float %3134) #5 %mul.i.i.7.3 = fmul float %conv1.i.i.7.3, 0xBEE2FEFA20000000 %add.i.i.7.3 = fadd float %3136, %mul.i.i.7.3 %mul3.i.i.7.3 = fmul float %add.i.i.7.3, %add.i.i.7.3 %3137 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %3138 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float %3137, float 0x3F11566AA0000000) #5 %3139 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float %3138, float 0xBF66C16C20000000) #5 %3140 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float %3139, float 0x3FC5555560000000) #5 %sub8.i.i.7.3 = fsub float -0.000000e+00, %3140 %3141 = tail call float @llvm.fmuladd.f32(float %mul3.i.i.7.3, float %sub8.i.i.7.3, float %add.i.i.7.3) #5 %sub10.i.i.7.3 = fsub float -0.000000e+00, %mul.i.i.7.3 %mul11.i.i.7.3 = fmul float %add.i.i.7.3, %3141 %sub12.i.i.7.3 = fsub float 2.000000e+00, %3141 %div.i.i.7.3 = fdiv float %mul11.i.i.7.3, %sub12.i.i.7.3, !fpmath !46 %sub13.i.i.7.3 = fsub float %sub10.i.i.7.3, %div.i.i.7.3 %sub14.i.i.7.3 = fsub float %sub13.i.i.7.3, %3136 %sub15.i.i.7.3 = fsub float 1.000000e+00, %sub14.i.i.7.3 %astype.i.i.7.3 = bitcast float %sub15.i.i.7.3 to i32 %shl.i.i.7.3 = shl i32 %conv.i.i.7.3, 23 %add16.i.i.7.3 = add nsw i32 %astype.i.i.7.3, %shl.i.i.7.3 %astype17.i.i.7.3 = bitcast i32 %add16.i.i.7.3 to float %cmp18.i.i.7.3 = fcmp olt float %3134, 0xC055D589E0000000 %cond20.i.i.7.3 = select i1 %cmp18.i.i.7.3, float 0.000000e+00, float %astype17.i.i.7.3 %cmp21.i.i.7.3 = fcmp olt float %3134, 0x40562E4300000000 %cond26.i.i.7.3 = select i1 %cmp21.i.i.7.3, float %cond20.i.i.7.3, float 0x7FF0000000000000 %cmp.i.i.i.7.3 = fcmp uno float %3134, 0.000000e+00 %cond31.i.i.7.3 = select i1 %cmp.i.i.i.7.3, float %3134, float %cond26.i.i.7.3 %mul91.i.7.3 = fmul float %cond31.i26.i.7.3, %cond31.i.i.7.3 %div92.i.7.3 = fdiv float %mul91.i.7.3, %fabs.i.7.3, !fpmath !46 %sub93.i.7.3 = fsub float 2.000000e+00, %div92.i.7.3 %cmp94.i.7.3 = fcmp olt float %mul233.7.3, 0.000000e+00 %cond98.i.7.3 = select i1 %cmp94.i.7.3, float %sub93.i.7.3, float %div92.i.7.3 %cmp99.i.7.3 = fcmp olt float %fabs.i.7.3, 2.800000e+01 %cond103.i.7.3 = select i1 %cmp99.i.7.3, float %cond98.i.7.3, float 0.000000e+00 %sub104.i.7.3 = fsub float 0x3FC3D4FA80000000, %div82.i.7.3 %add105.i.7.3 = fadd float %div82.i.7.3, 0x3FEB0AC160000000 %add106.i.7.3 = fadd float %add105.i.7.3, 1.000000e+00 %cond111.i.7.3 = select i1 %cmp94.i.7.3, float %add106.i.7.3, float %sub104.i.7.3 %cond116.i.7.3 = select i1 %cmp.i596.7.3, float %cond111.i.7.3, float %cond103.i.7.3 %sub117.i.7.3 = fadd float %mul233.7.3, -5.000000e-01 %3142 = tail call float @llvm.fmuladd.f32(float %mul233.7.3, float %div82.i.7.3, float %sub117.i.7.3) #5 %sub119.i.7.3 = fsub float 5.000000e-01, %3142 %cond124.i.7.3 = select i1 %cmp2.i.7.3, float %sub119.i.7.3, float %cond116.i.7.3 %cmp125.i.7.3 = fcmp olt float %mul233.7.3, -6.000000e+00 %cond129.i.7.3 = select i1 %cmp125.i.7.3, float 2.000000e+00, float %cond124.i.7.3 %cmp.i.i.7.3 = fcmp uno float %mul233.7.3, 0.000000e+00 %cond134.i.7.3 = select i1 %cmp.i.i.7.3, float %mul233.7.3, float %cond129.i.7.3 %mul236.7.3 = fmul float %cond.7.3, %nbparam_params_sh_ewald %neg237.7.3 = fsub float -0.000000e+00, %mul236.7.3 %3143 = tail call float @llvm.fmuladd.f32(float %div198.7.3, float %cond134.i.7.3, float %neg237.7.3) %3144 = tail call float @llvm.fmuladd.f32(float %mul224.7.3, float %3143, float %E_el.5.6.3) %splat.splatinsert.7.3 = insertelement <3 x float> undef, float %3079, i32 0 %splat.splat.7.3 = shufflevector <3 x float> %splat.splatinsert.7.3, <3 x float> undef, <3 x i32> zeroinitializer %mul242.7.3 = fmul <3 x float> %extractVec168.7.3, %splat.splat.7.3 %extractVec250.7.3 = shufflevector <4 x float> %fcj_buf.sroa.0.1.6.3, <4 x float> undef, <3 x i32> %sub251.7.3 = fsub <3 x float> %extractVec250.7.3, %mul242.7.3 %extractVec252.7.3 = shufflevector <3 x float> %sub251.7.3, <3 x float> undef, <4 x i32> %extractVec260.7.3 = shufflevector <4 x float> %fci_buf.sroa.72.8, <4 x float> undef, <3 x i32> %add261.7.3 = fadd <3 x float> %extractVec260.7.3, %mul242.7.3 %extractVec262.7.3 = shufflevector <3 x float> %add261.7.3, <3 x float> undef, <4 x i32> br label %if.end265.7.3 if.end265.7.3: ; preds = %if.then184.7.3, %if.then149.7.3, %if.end265.6.3 %fci_buf.sroa.72.9 = phi <4 x float> [ %fci_buf.sroa.72.8, %if.end265.6.3 ], [ %extractVec262.7.3, %if.then184.7.3 ], [ %fci_buf.sroa.72.8, %if.then149.7.3 ] %E_el.5.7.3 = phi float [ %E_el.5.6.3, %if.end265.6.3 ], [ %3144, %if.then184.7.3 ], [ %E_el.5.6.3, %if.then149.7.3 ] %E_lj.3.7.3 = phi float [ %E_lj.3.6.3, %if.end265.6.3 ], [ %add223.7.3, %if.then184.7.3 ], [ %E_lj.3.6.3, %if.then149.7.3 ] %fcj_buf.sroa.0.1.7.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.6.3, %if.end265.6.3 ], [ %extractVec252.7.3, %if.then184.7.3 ], [ %fcj_buf.sroa.0.1.6.3, %if.then149.7.3 ] %3145 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 0 store float %3145, float addrspace(3)* %arrayidx270, align 4, !tbaa !39 %3146 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 1 store float %3146, float addrspace(3)* %arrayidx272, align 4, !tbaa !39 %3147 = extractelement <4 x float> %fcj_buf.sroa.0.1.7.3, i32 2 store float %3147, float addrspace(3)* %arrayidx274, 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 %add138.3) br label %for.inc280 } ; Function Attrs: nounwind define void @nbnxn_kernel_ElecEw_VdwLJ_F_prune_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 %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 %fci_buf = alloca [8 x <3 x float>], align 16 %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.i505 = tail call i32 @llvm.r600.read.local.size.x() #2 %mul25 = mul i32 %x.i505, %y.i %add = add i32 %mul25, %x.i %x.i506 = 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 %1 = bitcast [8 x <3 x float>]* %fci_buf to i8* call void @llvm.lifetime.start(i64 128, i8* %1) #5 %add.ptr = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 64 %2 = bitcast <4 x float> addrspace(3)* %add.ptr to i32 addrspace(3)* %3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 0 %add.ptr29 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 192 %4 = sext i32 %x.i506 to i64 %nb_sci.sroa.0.0..sroa_idx = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, 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_idx296 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 1 %nb_sci.sroa.4.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.4.0..sroa_idx296, align 4 %nb_sci.sroa.10.0..sroa_idx303 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 2 %nb_sci.sroa.10.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.10.0..sroa_idx303, align 4 %nb_sci.sroa.11.0..sroa_idx305 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 3 %nb_sci.sroa.11.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.11.0..sroa_idx305, 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 %5 = sext i32 %add34 to i64 %arrayidx35 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %5 %6 = 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 %7 = sext i32 %mul36 to i64 %arrayidx37 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %7 %8 = load float, float addrspace(1)* %arrayidx37, align 4, !tbaa !39 %vecinit = insertelement <4 x float> undef, float %8, i32 0 %add40 = add nsw i32 %mul36, 1 %9 = sext i32 %add40 to i64 %arrayidx41 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %9 %10 = load float, float addrspace(1)* %arrayidx41, align 4, !tbaa !39 %vecinit42 = insertelement <4 x float> %vecinit, float %10, i32 1 %add45 = add nsw i32 %mul36, 2 %11 = sext i32 %add45 to i64 %arrayidx46 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %11 %12 = load float, float addrspace(1)* %arrayidx46, align 4, !tbaa !39 %vecinit47 = insertelement <4 x float> %vecinit42, float %12, i32 2 %vecinit48 = insertelement <4 x float> %vecinit47, float 0.000000e+00, i32 3 %add49 = fadd <4 x float> %6, %vecinit48 %13 = extractelement <4 x float> %add49, i32 3 %mul51 = fmul float %13, %nbparam_params_epsfac %14 = 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> %14, <4 x float> addrspace(3)* %arrayidx54, align 16, !tbaa !36 %15 = or i32 %add, 32 %16 = icmp eq i32 %15, 32 br i1 %16, label %if.then, label %if.end if.then: ; preds = %entry %arrayidx58504 = getelementptr inbounds float, float addrspace(3)* %add.ptr29, i32 %div %arrayidx58 = bitcast float addrspace(3)* %arrayidx58504 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 %arrayidx61 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 0 %storetmp = bitcast [8 x <3 x float>]* %fci_buf to <4 x float>* store <4 x float> , <4 x float>* %storetmp, align 16, !tbaa !36 %arrayidx61.1 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 1 %storetmp.1 = bitcast <3 x float>* %arrayidx61.1 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.1, align 16, !tbaa !36 %arrayidx61.2 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 2 %storetmp.2 = bitcast <3 x float>* %arrayidx61.2 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.2, align 16, !tbaa !36 %arrayidx61.3 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 3 %storetmp.3 = bitcast <3 x float>* %arrayidx61.3 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.3, align 16, !tbaa !36 %arrayidx61.4 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 4 %storetmp.4 = bitcast <3 x float>* %arrayidx61.4 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.4, align 16, !tbaa !36 %arrayidx61.5 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 5 %storetmp.5 = bitcast <3 x float>* %arrayidx61.5 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.5, align 16, !tbaa !36 %arrayidx61.6 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 6 %storetmp.6 = bitcast <3 x float>* %arrayidx61.6 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.6, align 16, !tbaa !36 %arrayidx61.7 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 7 %storetmp.7 = bitcast <3 x float>* %arrayidx61.7 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.7, align 16, !tbaa !36 %cmp63515 = icmp slt i32 %nb_sci.sroa.10.0.copyload, %nb_sci.sroa.11.0.copyload br i1 %cmp63515, label %for.body65.lr.ph, label %if.end.for.end238_crit_edge if.end.for.end238_crit_edge: ; preds = %if.end %.pre533 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %.pre534 = add i32 %add, 64 %.pre535 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre534 %.pre536 = add i32 %add, 128 %.pre537 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre536 br label %for.end238 for.body65.lr.ph: ; preds = %if.end %17 = zext i32 %div to i64 %and = and i32 %add, 31 %18 = zext i32 %and to i64 %19 = or i32 %y.i, 4 %20 = icmp eq i32 %19, 4 %cmp79 = icmp ult i32 %x.i, 4 %or.cond276 = and i1 %cmp79, %20 %21 = zext i32 %x.i to i64 %add87 = add nuw nsw i32 %y.i, %x.i %arrayidx88 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add87 %mul101 = and i32 %y.i, 4 %arrayidx140503 = getelementptr inbounds float, float addrspace(3)* %add.ptr29, i32 %div %arrayidx140 = bitcast float addrspace(3)* %arrayidx140503 to i32 addrspace(3)* %cmp156 = icmp ugt i32 %y.i, %x.i %notlhs = icmp ne i32 %nb_sci.sroa.4.0.copyload, 22 %arrayidx223 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %add224 = add i32 %add, 64 %arrayidx225 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add224 %add226 = add i32 %add, 128 %arrayidx227 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add226 %22 = sext i32 %mul31 to i64 %23 = sext i32 %nb_sci.sroa.10.0.copyload to i64 %add103.3 = or i32 %mul101, 3 %arrayidx104.3 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add103.3 %add103.2 = or i32 %mul101, 2 %arrayidx104.2 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add103.2 %add103.1 = or i32 %mul101, 1 %arrayidx104.1 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add103.1 %arrayidx104 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %mul101 %24 = zext i32 %x.i to i64 br label %for.body65 for.body65: ; preds = %for.inc229.3, %for.body65.lr.ph %indvars.iv523 = phi i64 [ %23, %for.body65.lr.ph ], [ %indvars.iv.next524, %for.inc229.3 ] %excl_ind = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv523, i32 1, i64 %17, i32 1 %25 = 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.iv523, i32 1, i64 %17, i32 0 %26 = load i32, i32 addrspace(1)* %imask71, align 4, !tbaa !45 %27 = sext i32 %25 to i64 %arrayidx73 = getelementptr inbounds %struct.nbnxn_excl_t, %struct.nbnxn_excl_t addrspace(1)* %excl, i64 %27, i32 0, i64 %18 %28 = load i32, i32 addrspace(1)* %arrayidx73, align 4, !tbaa !41 br i1 %or.cond276, label %if.then81, label %for.body93.preheader if.then81: ; preds = %for.body65 %arrayidx84 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv523, i32 0, i64 %21 %29 = load i32, i32 addrspace(1)* %arrayidx84, align 4, !tbaa !41 store i32 %29, i32 addrspace(3)* %arrayidx88, align 4, !tbaa !41 br label %for.body93.preheader for.body93.preheader: ; preds = %for.body65, %if.then81 %and95 = and i32 %26, 255 %tobool = icmp eq i32 %and95, 0 br i1 %tobool, label %for.inc229, label %if.then96 if.then96: ; preds = %for.body93.preheader %30 = load i32, i32 addrspace(3)* %arrayidx104, align 4, !tbaa !41 %mul105 = shl nsw i32 %30, 3 %add106 = add i32 %mul105, %y.i %31 = sext i32 %add106 to i64 %arrayidx107 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %31 %32 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx107, align 16, !tbaa !36 %33 = extractelement <4 x float> %32, i32 3 %arrayidx109 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %31 %34 = load i32, i32 addrspace(1)* %arrayidx109, align 4, !tbaa !41 br label %for.body114 for.body114: ; preds = %if.end218, %if.then96 %indvars.iv539 = phi i64 [ %indvars.iv.next540, %if.end218 ], [ 0, %if.then96 ] %i.0512 = phi i32 [ %inc221, %if.end218 ], [ 0, %if.then96 ] %imask.1511 = phi i32 [ %imask.3, %if.end218 ], [ %26, %if.then96 ] %fcj_buf.sroa.0.0510 = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end218 ], [ , %if.then96 ] %mask_ji.0508 = phi i32 [ %add219, %if.end218 ], [ 1, %if.then96 ] %and115 = and i32 %mask_ji.0508, %imask.1511 %tobool116 = icmp eq i32 %and115, 0 br i1 %tobool116, label %if.end218, label %if.then117 if.then117: ; preds = %for.body114 %35 = add nuw nsw i64 %indvars.iv539, %22 %add119 = add nuw nsw i32 %i.0512, %mul31 %mul120 = shl i32 %add119, 3 %add121 = add i32 %mul120, %x.i %36 = shl i64 %indvars.iv539, 3 %37 = add nuw nsw i64 %36, %24 %38 = trunc i64 %37 to i32 %arrayidx124 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %38 %39 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124, align 16, !tbaa !36 %40 = fsub <4 x float> %39, %32 %extractVec135 = shufflevector <4 x float> %40, <4 x float> undef, <3 x i32> %41 = extractelement <4 x float> %40, i32 0 %42 = extractelement <4 x float> %40, i32 1 %mul3.i.i = fmul float %42, %42 %43 = tail call float @llvm.fmuladd.f32(float %41, float %41, float %mul3.i.i) #5 %44 = extractelement <4 x float> %40, i32 2 %45 = tail call float @llvm.fmuladd.f32(float %44, float %44, float %43) #5 %cmp137 = fcmp olt float %45, %nbparam_params_rlist_sq br i1 %cmp137, label %if.then139, label %if.end141 if.then139: ; preds = %if.then117 store volatile i32 1, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 br label %if.end141 if.end141: ; preds = %if.then139, %if.then117 %46 = load volatile i32, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 %tobool143 = icmp eq i32 %46, 0 %neg = xor i32 %mask_ji.0508, -1 %and145 = select i1 %tobool143, i32 %neg, i32 -1 %imask.2 = and i32 %and145, %imask.1511 store volatile i32 0, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 %and148 = and i32 %mask_ji.0508, %28 %tobool149 = icmp ne i32 %and148, 0 %cond = select i1 %tobool149, float 1.000000e+00, float 0.000000e+00 %47 = trunc i64 %35 to i32 %notrhs = icmp ne i32 %47, %30 %not.or.cond = or i1 %notlhs, %notrhs %cmp156. = or i1 %cmp156, %not.or.cond %conv158 = uitofp i1 %cmp156. to float %mul159 = fmul float %conv158, %nbparam_params_rcoulomb_sq %cmp160 = fcmp olt float %45, %mul159 br i1 %cmp160, label %if.then162, label %if.end218 if.then162: ; preds = %if.end141 %48 = extractelement <4 x float> %39, i32 3 %49 = sext i32 %add121 to i64 %arrayidx163 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %49 %50 = load i32, i32 addrspace(1)* %arrayidx163, align 4, !tbaa !41 %mul164 = mul nsw i32 %50, %ntypes %add165 = add nsw i32 %mul164, %34 %mul166 = shl nsw i32 %add165, 1 %51 = sext i32 %mul166 to i64 %arrayidx167 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %51 %52 = load float, float addrspace(2)* %arrayidx167, align 4, !tbaa !39 %add171 = or i32 %mul166, 1 %53 = sext i32 %add171 to i64 %arrayidx172 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %53 %54 = load float, float addrspace(2)* %arrayidx172, align 4, !tbaa !39 %sub173 = fsub float 1.000000e+00, %cond %55 = tail call float @llvm.fmuladd.f32(float %sub173, float 0x3D71979980000000, float %45) %cmp.i.i = fcmp olt float %55, 0.000000e+00 %call.i.i = tail call float @llvm.sqrt.f32(float %55) #6 %call.i.i.op = fdiv float 1.000000e+00, %call.i.i %div176 = select i1 %cmp.i.i, float 0x7FF8000000000000, float %call.i.i.op %mul177 = fmul float %div176, %div176 %mul178 = fmul float %mul177, %mul177 %mul179 = fmul float %mul177, %mul178 %mul180 = fmul float %cond, %mul179 %neg182 = fsub float -0.000000e+00, %52 %56 = tail call float @llvm.fmuladd.f32(float %54, float %mul180, float %neg182) %mul183 = fmul float %mul180, %56 %mul184 = fmul float %mul177, %mul183 %mul185 = fmul float %33, %48 %mul186 = fmul float %cond, %mul177 %mul188 = fmul float %mul, %55 %mul.i = fmul float %mul188, %mul188 %57 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i, float 0x3FBDA79640000000) #5 %58 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i, float 0x3FE03C5780000000) #5 %59 = tail call float @llvm.fmuladd.f32(float %57, float %mul.i, float 1.000000e+00) #5 %60 = tail call float @llvm.fmuladd.f32(float %58, float %mul188, float %59) #5 %div.i = fdiv float 1.000000e+00, %60, !fpmath !46 %61 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i, float 0xBF0BFF7260000000) #5 %62 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i, float 0x3F50794180000000) #5 %63 = tail call float @llvm.fmuladd.f32(float %61, float %mul.i, float 0xBF93BDB200000000) #5 %64 = tail call float @llvm.fmuladd.f32(float %62, float %mul.i, float 0x3FB1D5E760000000) #5 %65 = tail call float @llvm.fmuladd.f32(float %63, float %mul.i, float 0xBFE81272E0000000) #5 %66 = tail call float @llvm.fmuladd.f32(float %64, float %mul188, float %65) #5 %mul11.i = fmul float %66, %div.i %mul190 = fmul float %mul19, %mul11.i %67 = tail call float @llvm.fmuladd.f32(float %mul186, float %div176, float %mul190) %68 = tail call float @llvm.fmuladd.f32(float %mul185, float %67, float %mul184) %splat.splatinsert = insertelement <3 x float> undef, float %68, i32 0 %splat.splat = shufflevector <3 x float> %splat.splatinsert, <3 x float> undef, <3 x i32> zeroinitializer %mul195 = fmul <3 x float> %extractVec135, %splat.splat %extractVec203 = shufflevector <4 x float> %fcj_buf.sroa.0.0510, <4 x float> undef, <3 x i32> %sub204 = fsub <3 x float> %extractVec203, %mul195 %extractVec205 = shufflevector <3 x float> %sub204, <3 x float> undef, <4 x i32> %arrayidx210 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.0512 %castToVec4211 = bitcast <3 x float>* %arrayidx210 to <4 x float>* %loadVec4212 = load <4 x float>, <4 x float>* %castToVec4211, align 16 %extractVec213 = shufflevector <4 x float> %loadVec4212, <4 x float> undef, <3 x i32> %add214 = fadd <3 x float> %extractVec213, %mul195 %extractVec215 = shufflevector <3 x float> %add214, <3 x float> undef, <4 x i32> store <4 x float> %extractVec215, <4 x float>* %castToVec4211, align 16, !tbaa !36 br label %if.end218 if.end218: ; preds = %for.body114, %if.end141, %if.then162 %fcj_buf.sroa.0.1 = phi <4 x float> [ %extractVec205, %if.then162 ], [ %fcj_buf.sroa.0.0510, %if.end141 ], [ %fcj_buf.sroa.0.0510, %for.body114 ] %imask.3 = phi i32 [ %imask.2, %if.then162 ], [ %imask.2, %if.end141 ], [ %imask.1511, %for.body114 ] %add219 = shl i32 %mask_ji.0508, 1 %indvars.iv.next540 = add nuw nsw i64 %indvars.iv539, 1 %inc221 = add nuw nsw i32 %i.0512, 1 %exitcond = icmp eq i64 %indvars.iv.next540, 8 br i1 %exitcond, label %for.end222, label %for.body114 for.end222: ; preds = %if.end218 %imask.3.lcssa = phi i32 [ %imask.3, %if.end218 ] %fcj_buf.sroa.0.1.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end218 ] %69 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 0 store float %69, float addrspace(3)* %arrayidx223, align 4, !tbaa !39 %70 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 1 store float %70, float addrspace(3)* %arrayidx225, align 4, !tbaa !39 %71 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 2 store float %71, float addrspace(3)* %arrayidx227, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add106) br label %for.inc229 for.inc229: ; preds = %for.body93.preheader, %for.end222 %imask.4 = phi i32 [ %imask.3.lcssa, %for.end222 ], [ %26, %for.body93.preheader ] %and95.1 = and i32 %imask.4, 65280 %tobool.1 = icmp eq i32 %and95.1, 0 br i1 %tobool.1, label %for.inc229.1, label %if.then96.1 for.end238.loopexit: ; preds = %for.inc229.3 %.pre = load <3 x float>, <3 x float>* %arrayidx61, align 16 %.pre527 = load <3 x float>, <3 x float>* %arrayidx61.1, align 16 %.pre528 = load <3 x float>, <3 x float>* %arrayidx61.2, align 16 %.pre529 = load <3 x float>, <3 x float>* %arrayidx61.3, align 16 %.pre530 = load <3 x float>, <3 x float>* %arrayidx61.4, align 16 %.pre531 = load <3 x float>, <3 x float>* %arrayidx61.5, align 16 %.pre532 = load <3 x float>, <3 x float>* %arrayidx61.6, align 16 %.pre561 = load <3 x float>, <3 x float>* %arrayidx61.7, align 16 br label %for.end238 for.end238: ; preds = %if.end.for.end238_crit_edge, %for.end238.loopexit %72 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end238_crit_edge ], [ %.pre561, %for.end238.loopexit ] %arrayidx259.pre-phi = phi float addrspace(3)* [ %.pre537, %if.end.for.end238_crit_edge ], [ %arrayidx227, %for.end238.loopexit ] %arrayidx256.pre-phi = phi float addrspace(3)* [ %.pre535, %if.end.for.end238_crit_edge ], [ %arrayidx225, %for.end238.loopexit ] %arrayidx253.pre-phi = phi float addrspace(3)* [ %.pre533, %if.end.for.end238_crit_edge ], [ %arrayidx223, %for.end238.loopexit ] %73 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end238_crit_edge ], [ %.pre532, %for.end238.loopexit ] %74 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end238_crit_edge ], [ %.pre531, %for.end238.loopexit ] %75 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end238_crit_edge ], [ %.pre530, %for.end238.loopexit ] %76 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end238_crit_edge ], [ %.pre529, %for.end238.loopexit ] %77 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end238_crit_edge ], [ %.pre528, %for.end238.loopexit ] %78 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end238_crit_edge ], [ %.pre527, %for.end238.loopexit ] %79 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end238_crit_edge ], [ %.pre, %for.end238.loopexit ] store float 0.000000e+00, float* %fshift_buf, align 4, !tbaa !39 %tobool260538 = icmp ne i32 %bCalcFshift, 0 %not.cmp240 = icmp ne i32 %nb_sci.sroa.4.0.copyload, 22 %tobool260 = and i1 %tobool260538, %not.cmp240 %mul250 = shl i32 %nb_sci.sroa.0.0.copyload, 6 %add251 = add i32 %mul250, %x.i %80 = extractelement <3 x float> %79, i32 0 store float %80, float addrspace(3)* %arrayidx253.pre-phi, align 4, !tbaa !39 %81 = extractelement <3 x float> %79, i32 1 store float %81, float addrspace(3)* %arrayidx256.pre-phi, align 4, !tbaa !39 %82 = extractelement <3 x float> %79, i32 2 store float %82, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool260, i32 %x.i, i32 %y.i, i32 %add251) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul250.1 = or i32 %mul250, 8 %add251.1 = add i32 %mul250.1, %x.i %83 = extractelement <3 x float> %78, i32 0 store float %83, float addrspace(3)* %arrayidx253.pre-phi, align 4, !tbaa !39 %84 = extractelement <3 x float> %78, i32 1 store float %84, float addrspace(3)* %arrayidx256.pre-phi, align 4, !tbaa !39 %85 = extractelement <3 x float> %78, i32 2 store float %85, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool260, i32 %x.i, i32 %y.i, i32 %add251.1) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul250.2 = or i32 %mul250, 16 %add251.2 = add i32 %mul250.2, %x.i %86 = extractelement <3 x float> %77, i32 0 store float %86, float addrspace(3)* %arrayidx253.pre-phi, align 4, !tbaa !39 %87 = extractelement <3 x float> %77, i32 1 store float %87, float addrspace(3)* %arrayidx256.pre-phi, align 4, !tbaa !39 %88 = extractelement <3 x float> %77, i32 2 store float %88, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool260, i32 %x.i, i32 %y.i, i32 %add251.2) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul250.3 = or i32 %mul250, 24 %add251.3 = add i32 %mul250.3, %x.i %89 = extractelement <3 x float> %76, i32 0 store float %89, float addrspace(3)* %arrayidx253.pre-phi, align 4, !tbaa !39 %90 = extractelement <3 x float> %76, i32 1 store float %90, float addrspace(3)* %arrayidx256.pre-phi, align 4, !tbaa !39 %91 = extractelement <3 x float> %76, i32 2 store float %91, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool260, i32 %x.i, i32 %y.i, i32 %add251.3) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul250.4 = or i32 %mul250, 32 %add251.4 = add i32 %mul250.4, %x.i %92 = extractelement <3 x float> %75, i32 0 store float %92, float addrspace(3)* %arrayidx253.pre-phi, align 4, !tbaa !39 %93 = extractelement <3 x float> %75, i32 1 store float %93, float addrspace(3)* %arrayidx256.pre-phi, align 4, !tbaa !39 %94 = extractelement <3 x float> %75, i32 2 store float %94, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool260, i32 %x.i, i32 %y.i, i32 %add251.4) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul250.5 = or i32 %mul250, 40 %add251.5 = add i32 %mul250.5, %x.i %95 = extractelement <3 x float> %74, i32 0 store float %95, float addrspace(3)* %arrayidx253.pre-phi, align 4, !tbaa !39 %96 = extractelement <3 x float> %74, i32 1 store float %96, float addrspace(3)* %arrayidx256.pre-phi, align 4, !tbaa !39 %97 = extractelement <3 x float> %74, i32 2 store float %97, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool260, i32 %x.i, i32 %y.i, i32 %add251.5) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul250.6 = or i32 %mul250, 48 %add251.6 = add i32 %mul250.6, %x.i %98 = extractelement <3 x float> %73, i32 0 store float %98, float addrspace(3)* %arrayidx253.pre-phi, align 4, !tbaa !39 %99 = extractelement <3 x float> %73, i32 1 store float %99, float addrspace(3)* %arrayidx256.pre-phi, align 4, !tbaa !39 %100 = extractelement <3 x float> %73, i32 2 store float %100, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool260, i32 %x.i, i32 %y.i, i32 %add251.6) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul250.7 = or i32 %mul250, 56 %add251.7 = add i32 %mul250.7, %x.i %101 = extractelement <3 x float> %72, i32 0 store float %101, float addrspace(3)* %arrayidx253.pre-phi, align 4, !tbaa !39 %102 = extractelement <3 x float> %72, i32 1 store float %102, float addrspace(3)* %arrayidx256.pre-phi, align 4, !tbaa !39 %103 = extractelement <3 x float> %72, i32 2 store float %103, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool260, i32 %x.i, i32 %y.i, i32 %add251.7) #5 tail call void @llvm.amdgcn.s.barrier() #5 %cmp266 = icmp ult i32 %y.i, 3 %or.cond277 = and i1 %cmp266, %tobool260 br i1 %or.cond277, label %if.then268, label %if.end274 if.then268: ; preds = %for.end238 %add271 = add i32 %mul36, %y.i %104 = sext i32 %add271 to i64 %arrayidx272 = getelementptr inbounds float, float addrspace(1)* %fshift, i64 %104 %105 = load float, float* %fshift_buf, align 4, !tbaa !39 %106 = load volatile float, float addrspace(1)* %arrayidx272, align 4, !tbaa !39 %107 = bitcast float %106 to i32 %108 = bitcast float addrspace(1)* %arrayidx272 to i32 addrspace(1)* br label %do.body.i do.body.i: ; preds = %do.body.i, %if.then268 %current.sroa.0.0.i = phi i32 [ %107, %if.then268 ], [ %112, %do.body.i ] %109 = bitcast i32 %current.sroa.0.0.i to float %add.i = fadd float %105, %109 %110 = bitcast float %add.i to i32 %111 = cmpxchg volatile i32 addrspace(1)* %108, i32 %current.sroa.0.0.i, i32 %110 seq_cst seq_cst %112 = extractvalue { i32, i1 } %111, 0 %cmp.i = extractvalue { i32, i1 } %111, 1 br i1 %cmp.i, label %if.end274.loopexit, label %do.body.i if.end274.loopexit: ; preds = %do.body.i br label %if.end274 if.end274: ; preds = %if.end274.loopexit, %for.end238 call void @llvm.lifetime.end(i64 128, i8* %1) #5 call void @llvm.lifetime.end(i64 4, i8* %0) #5 ret void if.then96.1: ; preds = %for.inc229 %113 = load i32, i32 addrspace(3)* %arrayidx104.1, align 4, !tbaa !41 %mul105.1 = shl nsw i32 %113, 3 %add106.1 = add i32 %mul105.1, %y.i %114 = sext i32 %add106.1 to i64 %arrayidx107.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %114 %115 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx107.1, align 16, !tbaa !36 %116 = extractelement <4 x float> %115, i32 3 %arrayidx109.1 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %114 %117 = load i32, i32 addrspace(1)* %arrayidx109.1, align 4, !tbaa !41 br label %for.body114.1 for.body114.1: ; preds = %if.end218.1, %if.then96.1 %indvars.iv = phi i64 [ %indvars.iv.next, %if.end218.1 ], [ 0, %if.then96.1 ] %i.0512.1 = phi i32 [ %inc221.1, %if.end218.1 ], [ 0, %if.then96.1 ] %imask.1511.1 = phi i32 [ %imask.3.1, %if.end218.1 ], [ %imask.4, %if.then96.1 ] %fcj_buf.sroa.0.0510.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.1, %if.end218.1 ], [ , %if.then96.1 ] %mask_ji.0508.1 = phi i32 [ %add219.1, %if.end218.1 ], [ 256, %if.then96.1 ] %and115.1 = and i32 %mask_ji.0508.1, %imask.1511.1 %tobool116.1 = icmp eq i32 %and115.1, 0 br i1 %tobool116.1, label %if.end218.1, label %if.then117.1 if.then117.1: ; preds = %for.body114.1 %118 = add nuw nsw i64 %indvars.iv, %22 %add119.1 = add nuw nsw i32 %i.0512.1, %mul31 %mul120.1 = shl i32 %add119.1, 3 %add121.1 = add i32 %mul120.1, %x.i %119 = shl i64 %indvars.iv, 3 %120 = add nuw nsw i64 %119, %24 %121 = trunc i64 %120 to i32 %arrayidx124.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %121 %122 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.1, align 16, !tbaa !36 %123 = fsub <4 x float> %122, %115 %extractVec135.1 = shufflevector <4 x float> %123, <4 x float> undef, <3 x i32> %124 = extractelement <4 x float> %123, i32 0 %125 = extractelement <4 x float> %123, i32 1 %mul3.i.i.1 = fmul float %125, %125 %126 = tail call float @llvm.fmuladd.f32(float %124, float %124, float %mul3.i.i.1) #5 %127 = extractelement <4 x float> %123, i32 2 %128 = tail call float @llvm.fmuladd.f32(float %127, float %127, float %126) #5 %cmp137.1 = fcmp olt float %128, %nbparam_params_rlist_sq br i1 %cmp137.1, label %if.then139.1, label %if.end141.1 if.then139.1: ; preds = %if.then117.1 store volatile i32 1, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 br label %if.end141.1 if.end141.1: ; preds = %if.then139.1, %if.then117.1 %129 = load volatile i32, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 %tobool143.1 = icmp eq i32 %129, 0 %neg.1 = xor i32 %mask_ji.0508.1, -1 %and145.1 = select i1 %tobool143.1, i32 %neg.1, i32 -1 %imask.2.1 = and i32 %and145.1, %imask.1511.1 store volatile i32 0, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 %and148.1 = and i32 %mask_ji.0508.1, %28 %tobool149.1 = icmp ne i32 %and148.1, 0 %cond.1 = select i1 %tobool149.1, float 1.000000e+00, float 0.000000e+00 %130 = trunc i64 %118 to i32 %notrhs.1 = icmp ne i32 %130, %113 %not.or.cond.1 = or i1 %notlhs, %notrhs.1 %cmp156..1 = or i1 %cmp156, %not.or.cond.1 %conv158.1 = uitofp i1 %cmp156..1 to float %mul159.1 = fmul float %conv158.1, %nbparam_params_rcoulomb_sq %cmp160.1 = fcmp olt float %128, %mul159.1 br i1 %cmp160.1, label %if.then162.1, label %if.end218.1 if.then162.1: ; preds = %if.end141.1 %131 = extractelement <4 x float> %122, i32 3 %132 = sext i32 %add121.1 to i64 %arrayidx163.1 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %132 %133 = load i32, i32 addrspace(1)* %arrayidx163.1, align 4, !tbaa !41 %mul164.1 = mul nsw i32 %133, %ntypes %add165.1 = add nsw i32 %mul164.1, %117 %mul166.1 = shl nsw i32 %add165.1, 1 %134 = sext i32 %mul166.1 to i64 %arrayidx167.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %134 %135 = load float, float addrspace(2)* %arrayidx167.1, align 4, !tbaa !39 %add171.1 = or i32 %mul166.1, 1 %136 = sext i32 %add171.1 to i64 %arrayidx172.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %136 %137 = load float, float addrspace(2)* %arrayidx172.1, align 4, !tbaa !39 %sub173.1 = fsub float 1.000000e+00, %cond.1 %138 = tail call float @llvm.fmuladd.f32(float %sub173.1, float 0x3D71979980000000, float %128) %cmp.i.i.1 = fcmp olt float %138, 0.000000e+00 %call.i.i.1 = tail call float @llvm.sqrt.f32(float %138) #6 %call.i.i.op.1 = fdiv float 1.000000e+00, %call.i.i.1 %div176.1 = select i1 %cmp.i.i.1, float 0x7FF8000000000000, float %call.i.i.op.1 %mul177.1 = fmul float %div176.1, %div176.1 %mul178.1 = fmul float %mul177.1, %mul177.1 %mul179.1 = fmul float %mul177.1, %mul178.1 %mul180.1 = fmul float %cond.1, %mul179.1 %neg182.1 = fsub float -0.000000e+00, %135 %139 = tail call float @llvm.fmuladd.f32(float %137, float %mul180.1, float %neg182.1) %mul183.1 = fmul float %mul180.1, %139 %mul184.1 = fmul float %mul177.1, %mul183.1 %mul185.1 = fmul float %116, %131 %mul186.1 = fmul float %cond.1, %mul177.1 %mul188.1 = fmul float %mul, %138 %mul.i.1 = fmul float %mul188.1, %mul188.1 %140 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1, float 0x3FBDA79640000000) #5 %141 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1, float 0x3FE03C5780000000) #5 %142 = tail call float @llvm.fmuladd.f32(float %140, float %mul.i.1, float 1.000000e+00) #5 %143 = tail call float @llvm.fmuladd.f32(float %141, float %mul188.1, float %142) #5 %div.i.1 = fdiv float 1.000000e+00, %143, !fpmath !46 %144 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1, float 0xBF0BFF7260000000) #5 %145 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1, float 0x3F50794180000000) #5 %146 = tail call float @llvm.fmuladd.f32(float %144, float %mul.i.1, float 0xBF93BDB200000000) #5 %147 = tail call float @llvm.fmuladd.f32(float %145, float %mul.i.1, float 0x3FB1D5E760000000) #5 %148 = tail call float @llvm.fmuladd.f32(float %146, float %mul.i.1, float 0xBFE81272E0000000) #5 %149 = tail call float @llvm.fmuladd.f32(float %147, float %mul188.1, float %148) #5 %mul11.i.1 = fmul float %149, %div.i.1 %mul190.1 = fmul float %mul19, %mul11.i.1 %150 = tail call float @llvm.fmuladd.f32(float %mul186.1, float %div176.1, float %mul190.1) %151 = tail call float @llvm.fmuladd.f32(float %mul185.1, float %150, float %mul184.1) %splat.splatinsert.1 = insertelement <3 x float> undef, float %151, i32 0 %splat.splat.1 = shufflevector <3 x float> %splat.splatinsert.1, <3 x float> undef, <3 x i32> zeroinitializer %mul195.1 = fmul <3 x float> %extractVec135.1, %splat.splat.1 %extractVec203.1 = shufflevector <4 x float> %fcj_buf.sroa.0.0510.1, <4 x float> undef, <3 x i32> %sub204.1 = fsub <3 x float> %extractVec203.1, %mul195.1 %extractVec205.1 = shufflevector <3 x float> %sub204.1, <3 x float> undef, <4 x i32> %arrayidx210.1 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.0512.1 %castToVec4211.1 = bitcast <3 x float>* %arrayidx210.1 to <4 x float>* %loadVec4212.1 = load <4 x float>, <4 x float>* %castToVec4211.1, align 16 %extractVec213.1 = shufflevector <4 x float> %loadVec4212.1, <4 x float> undef, <3 x i32> %add214.1 = fadd <3 x float> %extractVec213.1, %mul195.1 %extractVec215.1 = shufflevector <3 x float> %add214.1, <3 x float> undef, <4 x i32> store <4 x float> %extractVec215.1, <4 x float>* %castToVec4211.1, align 16, !tbaa !36 br label %if.end218.1 if.end218.1: ; preds = %if.then162.1, %if.end141.1, %for.body114.1 %fcj_buf.sroa.0.1.1 = phi <4 x float> [ %extractVec205.1, %if.then162.1 ], [ %fcj_buf.sroa.0.0510.1, %if.end141.1 ], [ %fcj_buf.sroa.0.0510.1, %for.body114.1 ] %imask.3.1 = phi i32 [ %imask.2.1, %if.then162.1 ], [ %imask.2.1, %if.end141.1 ], [ %imask.1511.1, %for.body114.1 ] %add219.1 = shl i32 %mask_ji.0508.1, 1 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %inc221.1 = add nuw nsw i32 %i.0512.1, 1 %exitcond.1 = icmp eq i64 %indvars.iv.next, 8 br i1 %exitcond.1, label %for.end222.1, label %for.body114.1 for.end222.1: ; preds = %if.end218.1 %imask.3.1.lcssa = phi i32 [ %imask.3.1, %if.end218.1 ] %fcj_buf.sroa.0.1.1.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1.1, %if.end218.1 ] %152 = extractelement <4 x float> %fcj_buf.sroa.0.1.1.lcssa, i32 0 store float %152, float addrspace(3)* %arrayidx223, align 4, !tbaa !39 %153 = extractelement <4 x float> %fcj_buf.sroa.0.1.1.lcssa, i32 1 store float %153, float addrspace(3)* %arrayidx225, align 4, !tbaa !39 %154 = extractelement <4 x float> %fcj_buf.sroa.0.1.1.lcssa, i32 2 store float %154, float addrspace(3)* %arrayidx227, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add106.1) br label %for.inc229.1 for.inc229.1: ; preds = %for.end222.1, %for.inc229 %imask.4.1 = phi i32 [ %imask.3.1.lcssa, %for.end222.1 ], [ %imask.4, %for.inc229 ] %and95.2 = and i32 %imask.4.1, 16711680 %tobool.2 = icmp eq i32 %and95.2, 0 br i1 %tobool.2, label %for.inc229.2, label %if.then96.2 if.then96.2: ; preds = %for.inc229.1 %155 = load i32, i32 addrspace(3)* %arrayidx104.2, align 4, !tbaa !41 %mul105.2 = shl nsw i32 %155, 3 %add106.2 = add i32 %mul105.2, %y.i %156 = sext i32 %add106.2 to i64 %arrayidx107.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %156 %157 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx107.2, align 16, !tbaa !36 %158 = extractelement <4 x float> %157, i32 3 %arrayidx109.2 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %156 %159 = load i32, i32 addrspace(1)* %arrayidx109.2, align 4, !tbaa !41 br label %for.body114.2 for.body114.2: ; preds = %if.end218.2, %if.then96.2 %indvars.iv549 = phi i64 [ %indvars.iv.next550, %if.end218.2 ], [ 0, %if.then96.2 ] %i.0512.2 = phi i32 [ %inc221.2, %if.end218.2 ], [ 0, %if.then96.2 ] %imask.1511.2 = phi i32 [ %imask.3.2, %if.end218.2 ], [ %imask.4.1, %if.then96.2 ] %fcj_buf.sroa.0.0510.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.2, %if.end218.2 ], [ , %if.then96.2 ] %mask_ji.0508.2 = phi i32 [ %add219.2, %if.end218.2 ], [ 65536, %if.then96.2 ] %and115.2 = and i32 %mask_ji.0508.2, %imask.1511.2 %tobool116.2 = icmp eq i32 %and115.2, 0 br i1 %tobool116.2, label %if.end218.2, label %if.then117.2 if.then117.2: ; preds = %for.body114.2 %160 = add nuw nsw i64 %indvars.iv549, %22 %add119.2 = add nuw nsw i32 %i.0512.2, %mul31 %mul120.2 = shl i32 %add119.2, 3 %add121.2 = add i32 %mul120.2, %x.i %161 = shl i64 %indvars.iv549, 3 %162 = add nuw nsw i64 %161, %24 %163 = trunc i64 %162 to i32 %arrayidx124.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %163 %164 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.2, align 16, !tbaa !36 %165 = fsub <4 x float> %164, %157 %extractVec135.2 = shufflevector <4 x float> %165, <4 x float> undef, <3 x i32> %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 %cmp137.2 = fcmp olt float %170, %nbparam_params_rlist_sq br i1 %cmp137.2, label %if.then139.2, label %if.end141.2 if.then139.2: ; preds = %if.then117.2 store volatile i32 1, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 br label %if.end141.2 if.end141.2: ; preds = %if.then139.2, %if.then117.2 %171 = load volatile i32, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 %tobool143.2 = icmp eq i32 %171, 0 %neg.2 = xor i32 %mask_ji.0508.2, -1 %and145.2 = select i1 %tobool143.2, i32 %neg.2, i32 -1 %imask.2.2 = and i32 %and145.2, %imask.1511.2 store volatile i32 0, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 %and148.2 = and i32 %mask_ji.0508.2, %28 %tobool149.2 = icmp ne i32 %and148.2, 0 %cond.2 = select i1 %tobool149.2, float 1.000000e+00, float 0.000000e+00 %172 = trunc i64 %160 to i32 %notrhs.2 = icmp ne i32 %172, %155 %not.or.cond.2 = or i1 %notlhs, %notrhs.2 %cmp156..2 = or i1 %cmp156, %not.or.cond.2 %conv158.2 = uitofp i1 %cmp156..2 to float %mul159.2 = fmul float %conv158.2, %nbparam_params_rcoulomb_sq %cmp160.2 = fcmp olt float %170, %mul159.2 br i1 %cmp160.2, label %if.then162.2, label %if.end218.2 if.then162.2: ; preds = %if.end141.2 %173 = extractelement <4 x float> %164, i32 3 %174 = sext i32 %add121.2 to i64 %arrayidx163.2 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %174 %175 = load i32, i32 addrspace(1)* %arrayidx163.2, align 4, !tbaa !41 %mul164.2 = mul nsw i32 %175, %ntypes %add165.2 = add nsw i32 %mul164.2, %159 %mul166.2 = shl nsw i32 %add165.2, 1 %176 = sext i32 %mul166.2 to i64 %arrayidx167.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %176 %177 = load float, float addrspace(2)* %arrayidx167.2, align 4, !tbaa !39 %add171.2 = or i32 %mul166.2, 1 %178 = sext i32 %add171.2 to i64 %arrayidx172.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %178 %179 = load float, float addrspace(2)* %arrayidx172.2, align 4, !tbaa !39 %sub173.2 = fsub float 1.000000e+00, %cond.2 %180 = tail call float @llvm.fmuladd.f32(float %sub173.2, float 0x3D71979980000000, float %170) %cmp.i.i.2 = fcmp olt float %180, 0.000000e+00 %call.i.i.2 = tail call float @llvm.sqrt.f32(float %180) #6 %call.i.i.op.2 = fdiv float 1.000000e+00, %call.i.i.2 %div176.2 = select i1 %cmp.i.i.2, float 0x7FF8000000000000, float %call.i.i.op.2 %mul177.2 = fmul float %div176.2, %div176.2 %mul178.2 = fmul float %mul177.2, %mul177.2 %mul179.2 = fmul float %mul177.2, %mul178.2 %mul180.2 = fmul float %cond.2, %mul179.2 %neg182.2 = fsub float -0.000000e+00, %177 %181 = tail call float @llvm.fmuladd.f32(float %179, float %mul180.2, float %neg182.2) %mul183.2 = fmul float %mul180.2, %181 %mul184.2 = fmul float %mul177.2, %mul183.2 %mul185.2 = fmul float %158, %173 %mul186.2 = fmul float %cond.2, %mul177.2 %mul188.2 = fmul float %mul, %180 %mul.i.2 = fmul float %mul188.2, %mul188.2 %182 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2, float 0x3FBDA79640000000) #5 %183 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2, float 0x3FE03C5780000000) #5 %184 = tail call float @llvm.fmuladd.f32(float %182, float %mul.i.2, float 1.000000e+00) #5 %185 = tail call float @llvm.fmuladd.f32(float %183, float %mul188.2, float %184) #5 %div.i.2 = fdiv float 1.000000e+00, %185, !fpmath !46 %186 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2, float 0xBF0BFF7260000000) #5 %187 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2, float 0x3F50794180000000) #5 %188 = tail call float @llvm.fmuladd.f32(float %186, float %mul.i.2, float 0xBF93BDB200000000) #5 %189 = tail call float @llvm.fmuladd.f32(float %187, float %mul.i.2, float 0x3FB1D5E760000000) #5 %190 = tail call float @llvm.fmuladd.f32(float %188, float %mul.i.2, float 0xBFE81272E0000000) #5 %191 = tail call float @llvm.fmuladd.f32(float %189, float %mul188.2, float %190) #5 %mul11.i.2 = fmul float %191, %div.i.2 %mul190.2 = fmul float %mul19, %mul11.i.2 %192 = tail call float @llvm.fmuladd.f32(float %mul186.2, float %div176.2, float %mul190.2) %193 = tail call float @llvm.fmuladd.f32(float %mul185.2, float %192, float %mul184.2) %splat.splatinsert.2 = insertelement <3 x float> undef, float %193, i32 0 %splat.splat.2 = shufflevector <3 x float> %splat.splatinsert.2, <3 x float> undef, <3 x i32> zeroinitializer %mul195.2 = fmul <3 x float> %extractVec135.2, %splat.splat.2 %extractVec203.2 = shufflevector <4 x float> %fcj_buf.sroa.0.0510.2, <4 x float> undef, <3 x i32> %sub204.2 = fsub <3 x float> %extractVec203.2, %mul195.2 %extractVec205.2 = shufflevector <3 x float> %sub204.2, <3 x float> undef, <4 x i32> %arrayidx210.2 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.0512.2 %castToVec4211.2 = bitcast <3 x float>* %arrayidx210.2 to <4 x float>* %loadVec4212.2 = load <4 x float>, <4 x float>* %castToVec4211.2, align 16 %extractVec213.2 = shufflevector <4 x float> %loadVec4212.2, <4 x float> undef, <3 x i32> %add214.2 = fadd <3 x float> %extractVec213.2, %mul195.2 %extractVec215.2 = shufflevector <3 x float> %add214.2, <3 x float> undef, <4 x i32> store <4 x float> %extractVec215.2, <4 x float>* %castToVec4211.2, align 16, !tbaa !36 br label %if.end218.2 if.end218.2: ; preds = %if.then162.2, %if.end141.2, %for.body114.2 %fcj_buf.sroa.0.1.2 = phi <4 x float> [ %extractVec205.2, %if.then162.2 ], [ %fcj_buf.sroa.0.0510.2, %if.end141.2 ], [ %fcj_buf.sroa.0.0510.2, %for.body114.2 ] %imask.3.2 = phi i32 [ %imask.2.2, %if.then162.2 ], [ %imask.2.2, %if.end141.2 ], [ %imask.1511.2, %for.body114.2 ] %add219.2 = shl i32 %mask_ji.0508.2, 1 %indvars.iv.next550 = add nuw nsw i64 %indvars.iv549, 1 %inc221.2 = add nuw nsw i32 %i.0512.2, 1 %exitcond.2 = icmp eq i64 %indvars.iv.next550, 8 br i1 %exitcond.2, label %for.end222.2, label %for.body114.2 for.end222.2: ; preds = %if.end218.2 %imask.3.2.lcssa = phi i32 [ %imask.3.2, %if.end218.2 ] %fcj_buf.sroa.0.1.2.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1.2, %if.end218.2 ] %194 = extractelement <4 x float> %fcj_buf.sroa.0.1.2.lcssa, i32 0 store float %194, float addrspace(3)* %arrayidx223, align 4, !tbaa !39 %195 = extractelement <4 x float> %fcj_buf.sroa.0.1.2.lcssa, i32 1 store float %195, float addrspace(3)* %arrayidx225, align 4, !tbaa !39 %196 = extractelement <4 x float> %fcj_buf.sroa.0.1.2.lcssa, i32 2 store float %196, float addrspace(3)* %arrayidx227, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add106.2) br label %for.inc229.2 for.inc229.2: ; preds = %for.end222.2, %for.inc229.1 %imask.4.2 = phi i32 [ %imask.3.2.lcssa, %for.end222.2 ], [ %imask.4.1, %for.inc229.1 ] %tobool.3 = icmp ult i32 %imask.4.2, 16777216 br i1 %tobool.3, label %for.inc229.3, label %if.then96.3 if.then96.3: ; preds = %for.inc229.2 %197 = load i32, i32 addrspace(3)* %arrayidx104.3, align 4, !tbaa !41 %mul105.3 = shl nsw i32 %197, 3 %add106.3 = add i32 %mul105.3, %y.i %198 = sext i32 %add106.3 to i64 %arrayidx107.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %198 %199 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx107.3, align 16, !tbaa !36 %200 = extractelement <4 x float> %199, i32 3 %arrayidx109.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %198 %201 = load i32, i32 addrspace(1)* %arrayidx109.3, align 4, !tbaa !41 br label %for.body114.3 for.body114.3: ; preds = %if.end218.3, %if.then96.3 %indvars.iv555 = phi i64 [ %indvars.iv.next556, %if.end218.3 ], [ 0, %if.then96.3 ] %i.0512.3 = phi i32 [ %inc221.3, %if.end218.3 ], [ 0, %if.then96.3 ] %imask.1511.3 = phi i32 [ %imask.3.3, %if.end218.3 ], [ %imask.4.2, %if.then96.3 ] %fcj_buf.sroa.0.0510.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.3, %if.end218.3 ], [ , %if.then96.3 ] %mask_ji.0508.3 = phi i32 [ %add219.3, %if.end218.3 ], [ 16777216, %if.then96.3 ] %and115.3 = and i32 %mask_ji.0508.3, %imask.1511.3 %tobool116.3 = icmp eq i32 %and115.3, 0 br i1 %tobool116.3, label %if.end218.3, label %if.then117.3 if.then117.3: ; preds = %for.body114.3 %202 = add nuw nsw i64 %indvars.iv555, %22 %add119.3 = add nuw nsw i32 %i.0512.3, %mul31 %mul120.3 = shl i32 %add119.3, 3 %add121.3 = add i32 %mul120.3, %x.i %203 = shl i64 %indvars.iv555, 3 %204 = add nuw nsw i64 %203, %24 %205 = trunc i64 %204 to i32 %arrayidx124.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %205 %206 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx124.3, align 16, !tbaa !36 %207 = fsub <4 x float> %206, %199 %extractVec135.3 = shufflevector <4 x float> %207, <4 x float> undef, <3 x i32> %208 = extractelement <4 x float> %207, i32 0 %209 = extractelement <4 x float> %207, i32 1 %mul3.i.i.3 = fmul float %209, %209 %210 = tail call float @llvm.fmuladd.f32(float %208, float %208, float %mul3.i.i.3) #5 %211 = extractelement <4 x float> %207, i32 2 %212 = tail call float @llvm.fmuladd.f32(float %211, float %211, float %210) #5 %cmp137.3 = fcmp olt float %212, %nbparam_params_rlist_sq br i1 %cmp137.3, label %if.then139.3, label %if.end141.3 if.then139.3: ; preds = %if.then117.3 store volatile i32 1, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 br label %if.end141.3 if.end141.3: ; preds = %if.then139.3, %if.then117.3 %213 = load volatile i32, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 %tobool143.3 = icmp eq i32 %213, 0 %neg.3 = xor i32 %mask_ji.0508.3, -1 %and145.3 = select i1 %tobool143.3, i32 %neg.3, i32 -1 %imask.2.3 = and i32 %and145.3, %imask.1511.3 store volatile i32 0, i32 addrspace(3)* %arrayidx140, align 4, !tbaa !41 %and148.3 = and i32 %mask_ji.0508.3, %28 %tobool149.3 = icmp ne i32 %and148.3, 0 %cond.3 = select i1 %tobool149.3, float 1.000000e+00, float 0.000000e+00 %214 = trunc i64 %202 to i32 %notrhs.3 = icmp ne i32 %214, %197 %not.or.cond.3 = or i1 %notlhs, %notrhs.3 %cmp156..3 = or i1 %cmp156, %not.or.cond.3 %conv158.3 = uitofp i1 %cmp156..3 to float %mul159.3 = fmul float %conv158.3, %nbparam_params_rcoulomb_sq %cmp160.3 = fcmp olt float %212, %mul159.3 br i1 %cmp160.3, label %if.then162.3, label %if.end218.3 if.then162.3: ; preds = %if.end141.3 %215 = extractelement <4 x float> %206, i32 3 %216 = sext i32 %add121.3 to i64 %arrayidx163.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %216 %217 = load i32, i32 addrspace(1)* %arrayidx163.3, align 4, !tbaa !41 %mul164.3 = mul nsw i32 %217, %ntypes %add165.3 = add nsw i32 %mul164.3, %201 %mul166.3 = shl nsw i32 %add165.3, 1 %218 = sext i32 %mul166.3 to i64 %arrayidx167.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %218 %219 = load float, float addrspace(2)* %arrayidx167.3, align 4, !tbaa !39 %add171.3 = or i32 %mul166.3, 1 %220 = sext i32 %add171.3 to i64 %arrayidx172.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %220 %221 = load float, float addrspace(2)* %arrayidx172.3, align 4, !tbaa !39 %sub173.3 = fsub float 1.000000e+00, %cond.3 %222 = tail call float @llvm.fmuladd.f32(float %sub173.3, float 0x3D71979980000000, float %212) %cmp.i.i.3 = fcmp olt float %222, 0.000000e+00 %call.i.i.3 = tail call float @llvm.sqrt.f32(float %222) #6 %call.i.i.op.3 = fdiv float 1.000000e+00, %call.i.i.3 %div176.3 = select i1 %cmp.i.i.3, float 0x7FF8000000000000, float %call.i.i.op.3 %mul177.3 = fmul float %div176.3, %div176.3 %mul178.3 = fmul float %mul177.3, %mul177.3 %mul179.3 = fmul float %mul177.3, %mul178.3 %mul180.3 = fmul float %cond.3, %mul179.3 %neg182.3 = fsub float -0.000000e+00, %219 %223 = tail call float @llvm.fmuladd.f32(float %221, float %mul180.3, float %neg182.3) %mul183.3 = fmul float %mul180.3, %223 %mul184.3 = fmul float %mul177.3, %mul183.3 %mul185.3 = fmul float %200, %215 %mul186.3 = fmul float %cond.3, %mul177.3 %mul188.3 = fmul float %mul, %222 %mul.i.3 = fmul float %mul188.3, %mul188.3 %224 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3, float 0x3FBDA79640000000) #5 %225 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3, float 0x3FE03C5780000000) #5 %226 = tail call float @llvm.fmuladd.f32(float %224, float %mul.i.3, float 1.000000e+00) #5 %227 = tail call float @llvm.fmuladd.f32(float %225, float %mul188.3, float %226) #5 %div.i.3 = fdiv float 1.000000e+00, %227, !fpmath !46 %228 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3, float 0xBF0BFF7260000000) #5 %229 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3, float 0x3F50794180000000) #5 %230 = tail call float @llvm.fmuladd.f32(float %228, float %mul.i.3, float 0xBF93BDB200000000) #5 %231 = tail call float @llvm.fmuladd.f32(float %229, float %mul.i.3, float 0x3FB1D5E760000000) #5 %232 = tail call float @llvm.fmuladd.f32(float %230, float %mul.i.3, float 0xBFE81272E0000000) #5 %233 = tail call float @llvm.fmuladd.f32(float %231, float %mul188.3, float %232) #5 %mul11.i.3 = fmul float %233, %div.i.3 %mul190.3 = fmul float %mul19, %mul11.i.3 %234 = tail call float @llvm.fmuladd.f32(float %mul186.3, float %div176.3, float %mul190.3) %235 = tail call float @llvm.fmuladd.f32(float %mul185.3, float %234, float %mul184.3) %splat.splatinsert.3 = insertelement <3 x float> undef, float %235, i32 0 %splat.splat.3 = shufflevector <3 x float> %splat.splatinsert.3, <3 x float> undef, <3 x i32> zeroinitializer %mul195.3 = fmul <3 x float> %extractVec135.3, %splat.splat.3 %extractVec203.3 = shufflevector <4 x float> %fcj_buf.sroa.0.0510.3, <4 x float> undef, <3 x i32> %sub204.3 = fsub <3 x float> %extractVec203.3, %mul195.3 %extractVec205.3 = shufflevector <3 x float> %sub204.3, <3 x float> undef, <4 x i32> %arrayidx210.3 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.0512.3 %castToVec4211.3 = bitcast <3 x float>* %arrayidx210.3 to <4 x float>* %loadVec4212.3 = load <4 x float>, <4 x float>* %castToVec4211.3, align 16 %extractVec213.3 = shufflevector <4 x float> %loadVec4212.3, <4 x float> undef, <3 x i32> %add214.3 = fadd <3 x float> %extractVec213.3, %mul195.3 %extractVec215.3 = shufflevector <3 x float> %add214.3, <3 x float> undef, <4 x i32> store <4 x float> %extractVec215.3, <4 x float>* %castToVec4211.3, align 16, !tbaa !36 br label %if.end218.3 if.end218.3: ; preds = %if.then162.3, %if.end141.3, %for.body114.3 %fcj_buf.sroa.0.1.3 = phi <4 x float> [ %extractVec205.3, %if.then162.3 ], [ %fcj_buf.sroa.0.0510.3, %if.end141.3 ], [ %fcj_buf.sroa.0.0510.3, %for.body114.3 ] %imask.3.3 = phi i32 [ %imask.2.3, %if.then162.3 ], [ %imask.2.3, %if.end141.3 ], [ %imask.1511.3, %for.body114.3 ] %add219.3 = shl i32 %mask_ji.0508.3, 1 %indvars.iv.next556 = add nuw nsw i64 %indvars.iv555, 1 %inc221.3 = add nuw nsw i32 %i.0512.3, 1 %exitcond.3 = icmp eq i64 %indvars.iv.next556, 8 br i1 %exitcond.3, label %for.end222.3, label %for.body114.3 for.end222.3: ; preds = %if.end218.3 %imask.3.3.lcssa = phi i32 [ %imask.3.3, %if.end218.3 ] %fcj_buf.sroa.0.1.3.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1.3, %if.end218.3 ] %236 = extractelement <4 x float> %fcj_buf.sroa.0.1.3.lcssa, i32 0 store float %236, float addrspace(3)* %arrayidx223, align 4, !tbaa !39 %237 = extractelement <4 x float> %fcj_buf.sroa.0.1.3.lcssa, i32 1 store float %237, float addrspace(3)* %arrayidx225, align 4, !tbaa !39 %238 = extractelement <4 x float> %fcj_buf.sroa.0.1.3.lcssa, i32 2 store float %238, float addrspace(3)* %arrayidx227, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add106.3) br label %for.inc229.3 for.inc229.3: ; preds = %for.end222.3, %for.inc229.2 %imask.4.3 = phi i32 [ %imask.3.3.lcssa, %for.end222.3 ], [ %imask.4.2, %for.inc229.2 ] store i32 %imask.4.3, i32 addrspace(1)* %imask71, align 4, !tbaa !45 %indvars.iv.next524 = add nsw i64 %indvars.iv523, 1 %lftr.wideiv = trunc i64 %indvars.iv.next524 to i32 %exitcond525 = icmp eq i32 %lftr.wideiv, %nb_sci.sroa.11.0.copyload br i1 %exitcond525, label %for.end238.loopexit, label %for.body65 } ; Function Attrs: nounwind define void @nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_prune_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 %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 %fci_buf = alloca [8 x <3 x float>], align 16 %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.i515 = tail call i32 @llvm.r600.read.local.size.x() #2 %mul27 = mul i32 %x.i515, %y.i %add = add i32 %mul27, %x.i %x.i516 = 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 %1 = bitcast [8 x <3 x float>]* %fci_buf to i8* call void @llvm.lifetime.start(i64 128, i8* %1) #5 %add.ptr = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 64 %2 = bitcast <4 x float> addrspace(3)* %add.ptr to i32 addrspace(3)* %3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 0 %add.ptr31 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 192 %4 = sext i32 %x.i516 to i64 %nb_sci.sroa.0.0..sroa_idx = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, 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_idx302 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 1 %nb_sci.sroa.4.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.4.0..sroa_idx302, align 4 %nb_sci.sroa.10.0..sroa_idx309 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 2 %nb_sci.sroa.10.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.10.0..sroa_idx309, align 4 %nb_sci.sroa.11.0..sroa_idx311 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 3 %nb_sci.sroa.11.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.11.0..sroa_idx311, align 4 %mul33 = shl nsw i32 %nb_sci.sroa.0.0.copyload, 3 %add34 = add i32 %mul33, %y.i %mul35 = shl i32 %add34, 3 %add36 = add i32 %mul35, %x.i %5 = sext i32 %add36 to i64 %arrayidx37 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %5 %6 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx37, align 16, !tbaa !36 %mul38 = mul nsw i32 %nb_sci.sroa.4.0.copyload, 3 %7 = sext i32 %mul38 to i64 %arrayidx39 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %7 %8 = load float, float addrspace(1)* %arrayidx39, align 4, !tbaa !39 %vecinit = insertelement <4 x float> undef, float %8, i32 0 %add42 = add nsw i32 %mul38, 1 %9 = sext i32 %add42 to i64 %arrayidx43 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %9 %10 = load float, float addrspace(1)* %arrayidx43, align 4, !tbaa !39 %vecinit44 = insertelement <4 x float> %vecinit, float %10, i32 1 %add47 = add nsw i32 %mul38, 2 %11 = sext i32 %add47 to i64 %arrayidx48 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %11 %12 = load float, float addrspace(1)* %arrayidx48, align 4, !tbaa !39 %vecinit49 = insertelement <4 x float> %vecinit44, float %12, i32 2 %vecinit50 = insertelement <4 x float> %vecinit49, float 0.000000e+00, i32 3 %add51 = fadd <4 x float> %6, %vecinit50 %13 = extractelement <4 x float> %add51, i32 3 %mul53 = fmul float %13, %nbparam_params_epsfac %14 = insertelement <4 x float> %add51, float %mul53, i32 3 %mul54 = shl nuw nsw i32 %y.i, 3 %add55 = add nuw nsw i32 %mul54, %x.i %arrayidx56 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add55 store <4 x float> %14, <4 x float> addrspace(3)* %arrayidx56, align 16, !tbaa !36 %15 = or i32 %add, 32 %16 = icmp eq i32 %15, 32 br i1 %16, label %if.then, label %if.end if.then: ; preds = %entry %arrayidx60514 = getelementptr inbounds float, float addrspace(3)* %add.ptr31, i32 %div %arrayidx60 = bitcast float addrspace(3)* %arrayidx60514 to i32 addrspace(3)* store volatile i32 0, i32 addrspace(3)* %arrayidx60, align 4, !tbaa !41 br label %if.end if.end: ; preds = %entry, %if.then tail call void @llvm.amdgcn.s.barrier() #5 %arrayidx63 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 0 %storetmp = bitcast [8 x <3 x float>]* %fci_buf to <4 x float>* store <4 x float> , <4 x float>* %storetmp, align 16, !tbaa !36 %arrayidx63.1 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 1 %storetmp.1 = bitcast <3 x float>* %arrayidx63.1 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.1, align 16, !tbaa !36 %arrayidx63.2 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 2 %storetmp.2 = bitcast <3 x float>* %arrayidx63.2 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.2, align 16, !tbaa !36 %arrayidx63.3 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 3 %storetmp.3 = bitcast <3 x float>* %arrayidx63.3 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.3, align 16, !tbaa !36 %arrayidx63.4 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 4 %storetmp.4 = bitcast <3 x float>* %arrayidx63.4 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.4, align 16, !tbaa !36 %arrayidx63.5 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 5 %storetmp.5 = bitcast <3 x float>* %arrayidx63.5 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.5, align 16, !tbaa !36 %arrayidx63.6 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 6 %storetmp.6 = bitcast <3 x float>* %arrayidx63.6 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.6, align 16, !tbaa !36 %arrayidx63.7 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 7 %storetmp.7 = bitcast <3 x float>* %arrayidx63.7 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.7, align 16, !tbaa !36 %cmp65525 = icmp slt i32 %nb_sci.sroa.10.0.copyload, %nb_sci.sroa.11.0.copyload br i1 %cmp65525, label %for.body67.lr.ph, label %if.end.for.end244_crit_edge if.end.for.end244_crit_edge: ; preds = %if.end %.pre543 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %.pre544 = add i32 %add, 64 %.pre545 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre544 %.pre546 = add i32 %add, 128 %.pre547 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre546 br label %for.end244 for.body67.lr.ph: ; preds = %if.end %17 = zext i32 %div to i64 %and = and i32 %add, 31 %18 = zext i32 %and to i64 %19 = or i32 %y.i, 4 %20 = icmp eq i32 %19, 4 %cmp81 = icmp ult i32 %x.i, 4 %or.cond282 = and i1 %cmp81, %20 %21 = zext i32 %x.i to i64 %add89 = add nuw nsw i32 %y.i, %x.i %arrayidx90 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add89 %mul103 = and i32 %y.i, 4 %arrayidx142513 = getelementptr inbounds float, float addrspace(3)* %add.ptr31, i32 %div %arrayidx142 = bitcast float addrspace(3)* %arrayidx142513 to i32 addrspace(3)* %cmp158 = icmp ugt i32 %y.i, %x.i %notlhs = icmp ne i32 %nb_sci.sroa.4.0.copyload, 22 %arrayidx229 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %add230 = add i32 %add, 64 %arrayidx231 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add230 %add232 = add i32 %add, 128 %arrayidx233 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add232 %22 = sext i32 %mul33 to i64 %23 = sext i32 %nb_sci.sroa.10.0.copyload to i64 %add105.3 = or i32 %mul103, 3 %arrayidx106.3 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add105.3 %add105.2 = or i32 %mul103, 2 %arrayidx106.2 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add105.2 %add105.1 = or i32 %mul103, 1 %arrayidx106.1 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add105.1 %arrayidx106 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %mul103 %24 = zext i32 %x.i to i64 br label %for.body67 for.body67: ; preds = %for.inc235.3, %for.body67.lr.ph %indvars.iv533 = phi i64 [ %23, %for.body67.lr.ph ], [ %indvars.iv.next534, %for.inc235.3 ] %excl_ind = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv533, i32 1, i64 %17, i32 1 %25 = load i32, i32 addrspace(1)* %excl_ind, align 4, !tbaa !43 %imask73 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv533, i32 1, i64 %17, i32 0 %26 = load i32, i32 addrspace(1)* %imask73, align 4, !tbaa !45 %27 = sext i32 %25 to i64 %arrayidx75 = getelementptr inbounds %struct.nbnxn_excl_t, %struct.nbnxn_excl_t addrspace(1)* %excl, i64 %27, i32 0, i64 %18 %28 = load i32, i32 addrspace(1)* %arrayidx75, align 4, !tbaa !41 br i1 %or.cond282, label %if.then83, label %for.body95.preheader if.then83: ; preds = %for.body67 %arrayidx86 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv533, i32 0, i64 %21 %29 = load i32, i32 addrspace(1)* %arrayidx86, align 4, !tbaa !41 store i32 %29, i32 addrspace(3)* %arrayidx90, align 4, !tbaa !41 br label %for.body95.preheader for.body95.preheader: ; preds = %for.body67, %if.then83 %and97 = and i32 %26, 255 %tobool = icmp eq i32 %and97, 0 br i1 %tobool, label %for.inc235, label %if.then98 if.then98: ; preds = %for.body95.preheader %30 = load i32, i32 addrspace(3)* %arrayidx106, align 4, !tbaa !41 %mul107 = shl nsw i32 %30, 3 %add108 = add i32 %mul107, %y.i %31 = sext i32 %add108 to i64 %arrayidx109 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %31 %32 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx109, align 16, !tbaa !36 %33 = extractelement <4 x float> %32, i32 3 %arrayidx111 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %31 %34 = load i32, i32 addrspace(1)* %arrayidx111, align 4, !tbaa !41 br label %for.body116 for.body116: ; preds = %if.end224, %if.then98 %indvars.iv549 = phi i64 [ %indvars.iv.next550, %if.end224 ], [ 0, %if.then98 ] %i.0522 = phi i32 [ %inc227, %if.end224 ], [ 0, %if.then98 ] %imask.1521 = phi i32 [ %imask.3, %if.end224 ], [ %26, %if.then98 ] %fcj_buf.sroa.0.0520 = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end224 ], [ , %if.then98 ] %mask_ji.0518 = phi i32 [ %add225, %if.end224 ], [ 1, %if.then98 ] %and117 = and i32 %mask_ji.0518, %imask.1521 %tobool118 = icmp eq i32 %and117, 0 br i1 %tobool118, label %if.end224, label %if.then119 if.then119: ; preds = %for.body116 %35 = add nuw nsw i64 %indvars.iv549, %22 %add121 = add nuw nsw i32 %i.0522, %mul33 %mul122 = shl i32 %add121, 3 %add123 = add i32 %mul122, %x.i %36 = shl i64 %indvars.iv549, 3 %37 = add nuw nsw i64 %36, %24 %38 = trunc i64 %37 to i32 %arrayidx126 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %38 %39 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126, align 16, !tbaa !36 %40 = fsub <4 x float> %39, %32 %extractVec137 = shufflevector <4 x float> %40, <4 x float> undef, <3 x i32> %41 = extractelement <4 x float> %40, i32 0 %42 = extractelement <4 x float> %40, i32 1 %mul3.i.i = fmul float %42, %42 %43 = tail call float @llvm.fmuladd.f32(float %41, float %41, float %mul3.i.i) #5 %44 = extractelement <4 x float> %40, i32 2 %45 = tail call float @llvm.fmuladd.f32(float %44, float %44, float %43) #5 %cmp139 = fcmp olt float %45, %nbparam_params_rlist_sq br i1 %cmp139, label %if.then141, label %if.end143 if.then141: ; preds = %if.then119 store volatile i32 1, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 br label %if.end143 if.end143: ; preds = %if.then141, %if.then119 %46 = load volatile i32, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 %tobool145 = icmp eq i32 %46, 0 %neg = xor i32 %mask_ji.0518, -1 %and147 = select i1 %tobool145, i32 %neg, i32 -1 %imask.2 = and i32 %and147, %imask.1521 store volatile i32 0, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 %and150 = and i32 %mask_ji.0518, %28 %tobool151 = icmp ne i32 %and150, 0 %cond = select i1 %tobool151, float 1.000000e+00, float 0.000000e+00 %47 = trunc i64 %35 to i32 %notrhs = icmp ne i32 %47, %30 %not.or.cond = or i1 %notlhs, %notrhs %cmp158. = or i1 %cmp158, %not.or.cond %conv160 = uitofp i1 %cmp158. to float %mul161 = fmul float %conv160, %nbparam_params_rcoulomb_sq %cmp162 = fcmp olt float %45, %mul161 br i1 %cmp162, label %if.then164, label %if.end224 if.then164: ; preds = %if.end143 %48 = extractelement <4 x float> %39, i32 3 %49 = sext i32 %add123 to i64 %arrayidx165 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %49 %50 = load i32, i32 addrspace(1)* %arrayidx165, align 4, !tbaa !41 %mul166 = mul nsw i32 %50, %ntypes %add167 = add nsw i32 %mul166, %34 %mul168 = shl nsw i32 %add167, 1 %51 = sext i32 %mul168 to i64 %arrayidx169 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %51 %52 = load float, float addrspace(2)* %arrayidx169, align 4, !tbaa !39 %add173 = or i32 %mul168, 1 %53 = sext i32 %add173 to i64 %arrayidx174 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %53 %54 = load float, float addrspace(2)* %arrayidx174, align 4, !tbaa !39 %sub175 = fsub float 1.000000e+00, %cond %55 = tail call float @llvm.fmuladd.f32(float %sub175, float 0x3D71979980000000, float %45) %cmp.i.i = fcmp olt float %55, 0.000000e+00 %call.i.i = tail call float @llvm.sqrt.f32(float %55) #6 %call.i.i.op = fdiv float 1.000000e+00, %call.i.i %div178 = select i1 %cmp.i.i, float 0x7FF8000000000000, float %call.i.i.op %mul179 = fmul float %div178, %div178 %mul180 = fmul float %mul179, %mul179 %mul181 = fmul float %mul179, %mul180 %mul182 = fmul float %cond, %mul181 %neg184 = fsub float -0.000000e+00, %52 %56 = tail call float @llvm.fmuladd.f32(float %54, float %mul182, float %neg184) %mul185 = fmul float %mul182, %56 %mul186 = fmul float %mul179, %mul185 %cmp187 = fcmp olt float %55, %nbparam_params_rvdw_sq %cond189 = select i1 %cmp187, float 1.000000e+00, float 0.000000e+00 %mul190 = fmul float %cond189, %mul186 %mul191 = fmul float %33, %48 %mul192 = fmul float %cond, %mul179 %mul194 = fmul float %mul, %55 %mul.i = fmul float %mul194, %mul194 %57 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i, float 0x3FBDA79640000000) #5 %58 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i, float 0x3FE03C5780000000) #5 %59 = tail call float @llvm.fmuladd.f32(float %57, float %mul.i, float 1.000000e+00) #5 %60 = tail call float @llvm.fmuladd.f32(float %58, float %mul194, float %59) #5 %div.i = fdiv float 1.000000e+00, %60, !fpmath !46 %61 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i, float 0xBF0BFF7260000000) #5 %62 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i, float 0x3F50794180000000) #5 %63 = tail call float @llvm.fmuladd.f32(float %61, float %mul.i, float 0xBF93BDB200000000) #5 %64 = tail call float @llvm.fmuladd.f32(float %62, float %mul.i, float 0x3FB1D5E760000000) #5 %65 = tail call float @llvm.fmuladd.f32(float %63, float %mul.i, float 0xBFE81272E0000000) #5 %66 = tail call float @llvm.fmuladd.f32(float %64, float %mul194, float %65) #5 %mul11.i = fmul float %66, %div.i %mul196 = fmul float %mul21, %mul11.i %67 = tail call float @llvm.fmuladd.f32(float %mul192, float %div178, float %mul196) %68 = tail call float @llvm.fmuladd.f32(float %mul191, float %67, float %mul190) %splat.splatinsert = insertelement <3 x float> undef, float %68, i32 0 %splat.splat = shufflevector <3 x float> %splat.splatinsert, <3 x float> undef, <3 x i32> zeroinitializer %mul201 = fmul <3 x float> %extractVec137, %splat.splat %extractVec209 = shufflevector <4 x float> %fcj_buf.sroa.0.0520, <4 x float> undef, <3 x i32> %sub210 = fsub <3 x float> %extractVec209, %mul201 %extractVec211 = shufflevector <3 x float> %sub210, <3 x float> undef, <4 x i32> %arrayidx216 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.0522 %castToVec4217 = bitcast <3 x float>* %arrayidx216 to <4 x float>* %loadVec4218 = load <4 x float>, <4 x float>* %castToVec4217, align 16 %extractVec219 = shufflevector <4 x float> %loadVec4218, <4 x float> undef, <3 x i32> %add220 = fadd <3 x float> %extractVec219, %mul201 %extractVec221 = shufflevector <3 x float> %add220, <3 x float> undef, <4 x i32> store <4 x float> %extractVec221, <4 x float>* %castToVec4217, align 16, !tbaa !36 br label %if.end224 if.end224: ; preds = %for.body116, %if.end143, %if.then164 %fcj_buf.sroa.0.1 = phi <4 x float> [ %extractVec211, %if.then164 ], [ %fcj_buf.sroa.0.0520, %if.end143 ], [ %fcj_buf.sroa.0.0520, %for.body116 ] %imask.3 = phi i32 [ %imask.2, %if.then164 ], [ %imask.2, %if.end143 ], [ %imask.1521, %for.body116 ] %add225 = shl i32 %mask_ji.0518, 1 %indvars.iv.next550 = add nuw nsw i64 %indvars.iv549, 1 %inc227 = add nuw nsw i32 %i.0522, 1 %exitcond = icmp eq i64 %indvars.iv.next550, 8 br i1 %exitcond, label %for.end228, label %for.body116 for.end228: ; preds = %if.end224 %imask.3.lcssa = phi i32 [ %imask.3, %if.end224 ] %fcj_buf.sroa.0.1.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end224 ] %69 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 0 store float %69, float addrspace(3)* %arrayidx229, align 4, !tbaa !39 %70 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 1 store float %70, float addrspace(3)* %arrayidx231, align 4, !tbaa !39 %71 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 2 store float %71, float addrspace(3)* %arrayidx233, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add108) br label %for.inc235 for.inc235: ; preds = %for.body95.preheader, %for.end228 %imask.4 = phi i32 [ %imask.3.lcssa, %for.end228 ], [ %26, %for.body95.preheader ] %and97.1 = and i32 %imask.4, 65280 %tobool.1 = icmp eq i32 %and97.1, 0 br i1 %tobool.1, label %for.inc235.1, label %if.then98.1 for.end244.loopexit: ; preds = %for.inc235.3 %.pre = load <3 x float>, <3 x float>* %arrayidx63, align 16 %.pre537 = load <3 x float>, <3 x float>* %arrayidx63.1, align 16 %.pre538 = load <3 x float>, <3 x float>* %arrayidx63.2, align 16 %.pre539 = load <3 x float>, <3 x float>* %arrayidx63.3, align 16 %.pre540 = load <3 x float>, <3 x float>* %arrayidx63.4, align 16 %.pre541 = load <3 x float>, <3 x float>* %arrayidx63.5, align 16 %.pre542 = load <3 x float>, <3 x float>* %arrayidx63.6, align 16 %.pre571 = load <3 x float>, <3 x float>* %arrayidx63.7, align 16 br label %for.end244 for.end244: ; preds = %if.end.for.end244_crit_edge, %for.end244.loopexit %72 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end244_crit_edge ], [ %.pre571, %for.end244.loopexit ] %arrayidx265.pre-phi = phi float addrspace(3)* [ %.pre547, %if.end.for.end244_crit_edge ], [ %arrayidx233, %for.end244.loopexit ] %arrayidx262.pre-phi = phi float addrspace(3)* [ %.pre545, %if.end.for.end244_crit_edge ], [ %arrayidx231, %for.end244.loopexit ] %arrayidx259.pre-phi = phi float addrspace(3)* [ %.pre543, %if.end.for.end244_crit_edge ], [ %arrayidx229, %for.end244.loopexit ] %73 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end244_crit_edge ], [ %.pre542, %for.end244.loopexit ] %74 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end244_crit_edge ], [ %.pre541, %for.end244.loopexit ] %75 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end244_crit_edge ], [ %.pre540, %for.end244.loopexit ] %76 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end244_crit_edge ], [ %.pre539, %for.end244.loopexit ] %77 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end244_crit_edge ], [ %.pre538, %for.end244.loopexit ] %78 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end244_crit_edge ], [ %.pre537, %for.end244.loopexit ] %79 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %if.end.for.end244_crit_edge ], [ %.pre, %for.end244.loopexit ] store float 0.000000e+00, float* %fshift_buf, align 4, !tbaa !39 %tobool266548 = icmp ne i32 %bCalcFshift, 0 %not.cmp246 = icmp ne i32 %nb_sci.sroa.4.0.copyload, 22 %tobool266 = and i1 %tobool266548, %not.cmp246 %mul256 = shl i32 %nb_sci.sroa.0.0.copyload, 6 %add257 = add i32 %mul256, %x.i %80 = extractelement <3 x float> %79, i32 0 store float %80, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 %81 = extractelement <3 x float> %79, i32 1 store float %81, float addrspace(3)* %arrayidx262.pre-phi, align 4, !tbaa !39 %82 = extractelement <3 x float> %79, i32 2 store float %82, float addrspace(3)* %arrayidx265.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool266, i32 %x.i, i32 %y.i, i32 %add257) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul256.1 = or i32 %mul256, 8 %add257.1 = add i32 %mul256.1, %x.i %83 = extractelement <3 x float> %78, i32 0 store float %83, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 %84 = extractelement <3 x float> %78, i32 1 store float %84, float addrspace(3)* %arrayidx262.pre-phi, align 4, !tbaa !39 %85 = extractelement <3 x float> %78, i32 2 store float %85, float addrspace(3)* %arrayidx265.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool266, i32 %x.i, i32 %y.i, i32 %add257.1) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul256.2 = or i32 %mul256, 16 %add257.2 = add i32 %mul256.2, %x.i %86 = extractelement <3 x float> %77, i32 0 store float %86, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 %87 = extractelement <3 x float> %77, i32 1 store float %87, float addrspace(3)* %arrayidx262.pre-phi, align 4, !tbaa !39 %88 = extractelement <3 x float> %77, i32 2 store float %88, float addrspace(3)* %arrayidx265.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool266, i32 %x.i, i32 %y.i, i32 %add257.2) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul256.3 = or i32 %mul256, 24 %add257.3 = add i32 %mul256.3, %x.i %89 = extractelement <3 x float> %76, i32 0 store float %89, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 %90 = extractelement <3 x float> %76, i32 1 store float %90, float addrspace(3)* %arrayidx262.pre-phi, align 4, !tbaa !39 %91 = extractelement <3 x float> %76, i32 2 store float %91, float addrspace(3)* %arrayidx265.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool266, i32 %x.i, i32 %y.i, i32 %add257.3) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul256.4 = or i32 %mul256, 32 %add257.4 = add i32 %mul256.4, %x.i %92 = extractelement <3 x float> %75, i32 0 store float %92, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 %93 = extractelement <3 x float> %75, i32 1 store float %93, float addrspace(3)* %arrayidx262.pre-phi, align 4, !tbaa !39 %94 = extractelement <3 x float> %75, i32 2 store float %94, float addrspace(3)* %arrayidx265.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool266, i32 %x.i, i32 %y.i, i32 %add257.4) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul256.5 = or i32 %mul256, 40 %add257.5 = add i32 %mul256.5, %x.i %95 = extractelement <3 x float> %74, i32 0 store float %95, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 %96 = extractelement <3 x float> %74, i32 1 store float %96, float addrspace(3)* %arrayidx262.pre-phi, align 4, !tbaa !39 %97 = extractelement <3 x float> %74, i32 2 store float %97, float addrspace(3)* %arrayidx265.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool266, i32 %x.i, i32 %y.i, i32 %add257.5) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul256.6 = or i32 %mul256, 48 %add257.6 = add i32 %mul256.6, %x.i %98 = extractelement <3 x float> %73, i32 0 store float %98, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 %99 = extractelement <3 x float> %73, i32 1 store float %99, float addrspace(3)* %arrayidx262.pre-phi, align 4, !tbaa !39 %100 = extractelement <3 x float> %73, i32 2 store float %100, float addrspace(3)* %arrayidx265.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool266, i32 %x.i, i32 %y.i, i32 %add257.6) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul256.7 = or i32 %mul256, 56 %add257.7 = add i32 %mul256.7, %x.i %101 = extractelement <3 x float> %72, i32 0 store float %101, float addrspace(3)* %arrayidx259.pre-phi, align 4, !tbaa !39 %102 = extractelement <3 x float> %72, i32 1 store float %102, float addrspace(3)* %arrayidx262.pre-phi, align 4, !tbaa !39 %103 = extractelement <3 x float> %72, i32 2 store float %103, float addrspace(3)* %arrayidx265.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool266, i32 %x.i, i32 %y.i, i32 %add257.7) #5 tail call void @llvm.amdgcn.s.barrier() #5 %cmp272 = icmp ult i32 %y.i, 3 %or.cond283 = and i1 %cmp272, %tobool266 br i1 %or.cond283, label %if.then274, label %if.end280 if.then274: ; preds = %for.end244 %add277 = add i32 %mul38, %y.i %104 = sext i32 %add277 to i64 %arrayidx278 = getelementptr inbounds float, float addrspace(1)* %fshift, i64 %104 %105 = load float, float* %fshift_buf, align 4, !tbaa !39 %106 = load volatile float, float addrspace(1)* %arrayidx278, align 4, !tbaa !39 %107 = bitcast float %106 to i32 %108 = bitcast float addrspace(1)* %arrayidx278 to i32 addrspace(1)* br label %do.body.i do.body.i: ; preds = %do.body.i, %if.then274 %current.sroa.0.0.i = phi i32 [ %107, %if.then274 ], [ %112, %do.body.i ] %109 = bitcast i32 %current.sroa.0.0.i to float %add.i = fadd float %105, %109 %110 = bitcast float %add.i to i32 %111 = cmpxchg volatile i32 addrspace(1)* %108, i32 %current.sroa.0.0.i, i32 %110 seq_cst seq_cst %112 = extractvalue { i32, i1 } %111, 0 %cmp.i = extractvalue { i32, i1 } %111, 1 br i1 %cmp.i, label %if.end280.loopexit, label %do.body.i if.end280.loopexit: ; preds = %do.body.i br label %if.end280 if.end280: ; preds = %if.end280.loopexit, %for.end244 call void @llvm.lifetime.end(i64 128, i8* %1) #5 call void @llvm.lifetime.end(i64 4, i8* %0) #5 ret void if.then98.1: ; preds = %for.inc235 %113 = load i32, i32 addrspace(3)* %arrayidx106.1, align 4, !tbaa !41 %mul107.1 = shl nsw i32 %113, 3 %add108.1 = add i32 %mul107.1, %y.i %114 = sext i32 %add108.1 to i64 %arrayidx109.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %114 %115 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx109.1, align 16, !tbaa !36 %116 = extractelement <4 x float> %115, i32 3 %arrayidx111.1 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %114 %117 = load i32, i32 addrspace(1)* %arrayidx111.1, align 4, !tbaa !41 br label %for.body116.1 for.body116.1: ; preds = %if.end224.1, %if.then98.1 %indvars.iv = phi i64 [ %indvars.iv.next, %if.end224.1 ], [ 0, %if.then98.1 ] %i.0522.1 = phi i32 [ %inc227.1, %if.end224.1 ], [ 0, %if.then98.1 ] %imask.1521.1 = phi i32 [ %imask.3.1, %if.end224.1 ], [ %imask.4, %if.then98.1 ] %fcj_buf.sroa.0.0520.1 = phi <4 x float> [ %fcj_buf.sroa.0.1.1, %if.end224.1 ], [ , %if.then98.1 ] %mask_ji.0518.1 = phi i32 [ %add225.1, %if.end224.1 ], [ 256, %if.then98.1 ] %and117.1 = and i32 %mask_ji.0518.1, %imask.1521.1 %tobool118.1 = icmp eq i32 %and117.1, 0 br i1 %tobool118.1, label %if.end224.1, label %if.then119.1 if.then119.1: ; preds = %for.body116.1 %118 = add nuw nsw i64 %indvars.iv, %22 %add121.1 = add nuw nsw i32 %i.0522.1, %mul33 %mul122.1 = shl i32 %add121.1, 3 %add123.1 = add i32 %mul122.1, %x.i %119 = shl i64 %indvars.iv, 3 %120 = add nuw nsw i64 %119, %24 %121 = trunc i64 %120 to i32 %arrayidx126.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %121 %122 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.1, align 16, !tbaa !36 %123 = fsub <4 x float> %122, %115 %extractVec137.1 = shufflevector <4 x float> %123, <4 x float> undef, <3 x i32> %124 = extractelement <4 x float> %123, i32 0 %125 = extractelement <4 x float> %123, i32 1 %mul3.i.i.1 = fmul float %125, %125 %126 = tail call float @llvm.fmuladd.f32(float %124, float %124, float %mul3.i.i.1) #5 %127 = extractelement <4 x float> %123, i32 2 %128 = tail call float @llvm.fmuladd.f32(float %127, float %127, float %126) #5 %cmp139.1 = fcmp olt float %128, %nbparam_params_rlist_sq br i1 %cmp139.1, label %if.then141.1, label %if.end143.1 if.then141.1: ; preds = %if.then119.1 store volatile i32 1, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 br label %if.end143.1 if.end143.1: ; preds = %if.then141.1, %if.then119.1 %129 = load volatile i32, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 %tobool145.1 = icmp eq i32 %129, 0 %neg.1 = xor i32 %mask_ji.0518.1, -1 %and147.1 = select i1 %tobool145.1, i32 %neg.1, i32 -1 %imask.2.1 = and i32 %and147.1, %imask.1521.1 store volatile i32 0, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 %and150.1 = and i32 %mask_ji.0518.1, %28 %tobool151.1 = icmp ne i32 %and150.1, 0 %cond.1 = select i1 %tobool151.1, float 1.000000e+00, float 0.000000e+00 %130 = trunc i64 %118 to i32 %notrhs.1 = icmp ne i32 %130, %113 %not.or.cond.1 = or i1 %notlhs, %notrhs.1 %cmp158..1 = or i1 %cmp158, %not.or.cond.1 %conv160.1 = uitofp i1 %cmp158..1 to float %mul161.1 = fmul float %conv160.1, %nbparam_params_rcoulomb_sq %cmp162.1 = fcmp olt float %128, %mul161.1 br i1 %cmp162.1, label %if.then164.1, label %if.end224.1 if.then164.1: ; preds = %if.end143.1 %131 = extractelement <4 x float> %122, i32 3 %132 = sext i32 %add123.1 to i64 %arrayidx165.1 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %132 %133 = load i32, i32 addrspace(1)* %arrayidx165.1, align 4, !tbaa !41 %mul166.1 = mul nsw i32 %133, %ntypes %add167.1 = add nsw i32 %mul166.1, %117 %mul168.1 = shl nsw i32 %add167.1, 1 %134 = sext i32 %mul168.1 to i64 %arrayidx169.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %134 %135 = load float, float addrspace(2)* %arrayidx169.1, align 4, !tbaa !39 %add173.1 = or i32 %mul168.1, 1 %136 = sext i32 %add173.1 to i64 %arrayidx174.1 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %136 %137 = load float, float addrspace(2)* %arrayidx174.1, align 4, !tbaa !39 %sub175.1 = fsub float 1.000000e+00, %cond.1 %138 = tail call float @llvm.fmuladd.f32(float %sub175.1, float 0x3D71979980000000, float %128) %cmp.i.i.1 = fcmp olt float %138, 0.000000e+00 %call.i.i.1 = tail call float @llvm.sqrt.f32(float %138) #6 %call.i.i.op.1 = fdiv float 1.000000e+00, %call.i.i.1 %div178.1 = select i1 %cmp.i.i.1, float 0x7FF8000000000000, float %call.i.i.op.1 %mul179.1 = fmul float %div178.1, %div178.1 %mul180.1 = fmul float %mul179.1, %mul179.1 %mul181.1 = fmul float %mul179.1, %mul180.1 %mul182.1 = fmul float %cond.1, %mul181.1 %neg184.1 = fsub float -0.000000e+00, %135 %139 = tail call float @llvm.fmuladd.f32(float %137, float %mul182.1, float %neg184.1) %mul185.1 = fmul float %mul182.1, %139 %mul186.1 = fmul float %mul179.1, %mul185.1 %cmp187.1 = fcmp olt float %138, %nbparam_params_rvdw_sq %cond189.1 = select i1 %cmp187.1, float 1.000000e+00, float 0.000000e+00 %mul190.1 = fmul float %cond189.1, %mul186.1 %mul191.1 = fmul float %116, %131 %mul192.1 = fmul float %cond.1, %mul179.1 %mul194.1 = fmul float %mul, %138 %mul.i.1 = fmul float %mul194.1, %mul194.1 %140 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.1, float 0x3FBDA79640000000) #5 %141 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.1, float 0x3FE03C5780000000) #5 %142 = tail call float @llvm.fmuladd.f32(float %140, float %mul.i.1, float 1.000000e+00) #5 %143 = tail call float @llvm.fmuladd.f32(float %141, float %mul194.1, float %142) #5 %div.i.1 = fdiv float 1.000000e+00, %143, !fpmath !46 %144 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.1, float 0xBF0BFF7260000000) #5 %145 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.1, float 0x3F50794180000000) #5 %146 = tail call float @llvm.fmuladd.f32(float %144, float %mul.i.1, float 0xBF93BDB200000000) #5 %147 = tail call float @llvm.fmuladd.f32(float %145, float %mul.i.1, float 0x3FB1D5E760000000) #5 %148 = tail call float @llvm.fmuladd.f32(float %146, float %mul.i.1, float 0xBFE81272E0000000) #5 %149 = tail call float @llvm.fmuladd.f32(float %147, float %mul194.1, float %148) #5 %mul11.i.1 = fmul float %149, %div.i.1 %mul196.1 = fmul float %mul21, %mul11.i.1 %150 = tail call float @llvm.fmuladd.f32(float %mul192.1, float %div178.1, float %mul196.1) %151 = tail call float @llvm.fmuladd.f32(float %mul191.1, float %150, float %mul190.1) %splat.splatinsert.1 = insertelement <3 x float> undef, float %151, i32 0 %splat.splat.1 = shufflevector <3 x float> %splat.splatinsert.1, <3 x float> undef, <3 x i32> zeroinitializer %mul201.1 = fmul <3 x float> %extractVec137.1, %splat.splat.1 %extractVec209.1 = shufflevector <4 x float> %fcj_buf.sroa.0.0520.1, <4 x float> undef, <3 x i32> %sub210.1 = fsub <3 x float> %extractVec209.1, %mul201.1 %extractVec211.1 = shufflevector <3 x float> %sub210.1, <3 x float> undef, <4 x i32> %arrayidx216.1 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.0522.1 %castToVec4217.1 = bitcast <3 x float>* %arrayidx216.1 to <4 x float>* %loadVec4218.1 = load <4 x float>, <4 x float>* %castToVec4217.1, align 16 %extractVec219.1 = shufflevector <4 x float> %loadVec4218.1, <4 x float> undef, <3 x i32> %add220.1 = fadd <3 x float> %extractVec219.1, %mul201.1 %extractVec221.1 = shufflevector <3 x float> %add220.1, <3 x float> undef, <4 x i32> store <4 x float> %extractVec221.1, <4 x float>* %castToVec4217.1, align 16, !tbaa !36 br label %if.end224.1 if.end224.1: ; preds = %if.then164.1, %if.end143.1, %for.body116.1 %fcj_buf.sroa.0.1.1 = phi <4 x float> [ %extractVec211.1, %if.then164.1 ], [ %fcj_buf.sroa.0.0520.1, %if.end143.1 ], [ %fcj_buf.sroa.0.0520.1, %for.body116.1 ] %imask.3.1 = phi i32 [ %imask.2.1, %if.then164.1 ], [ %imask.2.1, %if.end143.1 ], [ %imask.1521.1, %for.body116.1 ] %add225.1 = shl i32 %mask_ji.0518.1, 1 %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1 %inc227.1 = add nuw nsw i32 %i.0522.1, 1 %exitcond.1 = icmp eq i64 %indvars.iv.next, 8 br i1 %exitcond.1, label %for.end228.1, label %for.body116.1 for.end228.1: ; preds = %if.end224.1 %imask.3.1.lcssa = phi i32 [ %imask.3.1, %if.end224.1 ] %fcj_buf.sroa.0.1.1.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1.1, %if.end224.1 ] %152 = extractelement <4 x float> %fcj_buf.sroa.0.1.1.lcssa, i32 0 store float %152, float addrspace(3)* %arrayidx229, align 4, !tbaa !39 %153 = extractelement <4 x float> %fcj_buf.sroa.0.1.1.lcssa, i32 1 store float %153, float addrspace(3)* %arrayidx231, align 4, !tbaa !39 %154 = extractelement <4 x float> %fcj_buf.sroa.0.1.1.lcssa, i32 2 store float %154, float addrspace(3)* %arrayidx233, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add108.1) br label %for.inc235.1 for.inc235.1: ; preds = %for.end228.1, %for.inc235 %imask.4.1 = phi i32 [ %imask.3.1.lcssa, %for.end228.1 ], [ %imask.4, %for.inc235 ] %and97.2 = and i32 %imask.4.1, 16711680 %tobool.2 = icmp eq i32 %and97.2, 0 br i1 %tobool.2, label %for.inc235.2, label %if.then98.2 if.then98.2: ; preds = %for.inc235.1 %155 = load i32, i32 addrspace(3)* %arrayidx106.2, align 4, !tbaa !41 %mul107.2 = shl nsw i32 %155, 3 %add108.2 = add i32 %mul107.2, %y.i %156 = sext i32 %add108.2 to i64 %arrayidx109.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %156 %157 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx109.2, align 16, !tbaa !36 %158 = extractelement <4 x float> %157, i32 3 %arrayidx111.2 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %156 %159 = load i32, i32 addrspace(1)* %arrayidx111.2, align 4, !tbaa !41 br label %for.body116.2 for.body116.2: ; preds = %if.end224.2, %if.then98.2 %indvars.iv559 = phi i64 [ %indvars.iv.next560, %if.end224.2 ], [ 0, %if.then98.2 ] %i.0522.2 = phi i32 [ %inc227.2, %if.end224.2 ], [ 0, %if.then98.2 ] %imask.1521.2 = phi i32 [ %imask.3.2, %if.end224.2 ], [ %imask.4.1, %if.then98.2 ] %fcj_buf.sroa.0.0520.2 = phi <4 x float> [ %fcj_buf.sroa.0.1.2, %if.end224.2 ], [ , %if.then98.2 ] %mask_ji.0518.2 = phi i32 [ %add225.2, %if.end224.2 ], [ 65536, %if.then98.2 ] %and117.2 = and i32 %mask_ji.0518.2, %imask.1521.2 %tobool118.2 = icmp eq i32 %and117.2, 0 br i1 %tobool118.2, label %if.end224.2, label %if.then119.2 if.then119.2: ; preds = %for.body116.2 %160 = add nuw nsw i64 %indvars.iv559, %22 %add121.2 = add nuw nsw i32 %i.0522.2, %mul33 %mul122.2 = shl i32 %add121.2, 3 %add123.2 = add i32 %mul122.2, %x.i %161 = shl i64 %indvars.iv559, 3 %162 = add nuw nsw i64 %161, %24 %163 = trunc i64 %162 to i32 %arrayidx126.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %163 %164 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.2, align 16, !tbaa !36 %165 = fsub <4 x float> %164, %157 %extractVec137.2 = shufflevector <4 x float> %165, <4 x float> undef, <3 x i32> %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 %cmp139.2 = fcmp olt float %170, %nbparam_params_rlist_sq br i1 %cmp139.2, label %if.then141.2, label %if.end143.2 if.then141.2: ; preds = %if.then119.2 store volatile i32 1, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 br label %if.end143.2 if.end143.2: ; preds = %if.then141.2, %if.then119.2 %171 = load volatile i32, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 %tobool145.2 = icmp eq i32 %171, 0 %neg.2 = xor i32 %mask_ji.0518.2, -1 %and147.2 = select i1 %tobool145.2, i32 %neg.2, i32 -1 %imask.2.2 = and i32 %and147.2, %imask.1521.2 store volatile i32 0, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 %and150.2 = and i32 %mask_ji.0518.2, %28 %tobool151.2 = icmp ne i32 %and150.2, 0 %cond.2 = select i1 %tobool151.2, float 1.000000e+00, float 0.000000e+00 %172 = trunc i64 %160 to i32 %notrhs.2 = icmp ne i32 %172, %155 %not.or.cond.2 = or i1 %notlhs, %notrhs.2 %cmp158..2 = or i1 %cmp158, %not.or.cond.2 %conv160.2 = uitofp i1 %cmp158..2 to float %mul161.2 = fmul float %conv160.2, %nbparam_params_rcoulomb_sq %cmp162.2 = fcmp olt float %170, %mul161.2 br i1 %cmp162.2, label %if.then164.2, label %if.end224.2 if.then164.2: ; preds = %if.end143.2 %173 = extractelement <4 x float> %164, i32 3 %174 = sext i32 %add123.2 to i64 %arrayidx165.2 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %174 %175 = load i32, i32 addrspace(1)* %arrayidx165.2, align 4, !tbaa !41 %mul166.2 = mul nsw i32 %175, %ntypes %add167.2 = add nsw i32 %mul166.2, %159 %mul168.2 = shl nsw i32 %add167.2, 1 %176 = sext i32 %mul168.2 to i64 %arrayidx169.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %176 %177 = load float, float addrspace(2)* %arrayidx169.2, align 4, !tbaa !39 %add173.2 = or i32 %mul168.2, 1 %178 = sext i32 %add173.2 to i64 %arrayidx174.2 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %178 %179 = load float, float addrspace(2)* %arrayidx174.2, align 4, !tbaa !39 %sub175.2 = fsub float 1.000000e+00, %cond.2 %180 = tail call float @llvm.fmuladd.f32(float %sub175.2, float 0x3D71979980000000, float %170) %cmp.i.i.2 = fcmp olt float %180, 0.000000e+00 %call.i.i.2 = tail call float @llvm.sqrt.f32(float %180) #6 %call.i.i.op.2 = fdiv float 1.000000e+00, %call.i.i.2 %div178.2 = select i1 %cmp.i.i.2, float 0x7FF8000000000000, float %call.i.i.op.2 %mul179.2 = fmul float %div178.2, %div178.2 %mul180.2 = fmul float %mul179.2, %mul179.2 %mul181.2 = fmul float %mul179.2, %mul180.2 %mul182.2 = fmul float %cond.2, %mul181.2 %neg184.2 = fsub float -0.000000e+00, %177 %181 = tail call float @llvm.fmuladd.f32(float %179, float %mul182.2, float %neg184.2) %mul185.2 = fmul float %mul182.2, %181 %mul186.2 = fmul float %mul179.2, %mul185.2 %cmp187.2 = fcmp olt float %180, %nbparam_params_rvdw_sq %cond189.2 = select i1 %cmp187.2, float 1.000000e+00, float 0.000000e+00 %mul190.2 = fmul float %cond189.2, %mul186.2 %mul191.2 = fmul float %158, %173 %mul192.2 = fmul float %cond.2, %mul179.2 %mul194.2 = fmul float %mul, %180 %mul.i.2 = fmul float %mul194.2, %mul194.2 %182 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.2, float 0x3FBDA79640000000) #5 %183 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.2, float 0x3FE03C5780000000) #5 %184 = tail call float @llvm.fmuladd.f32(float %182, float %mul.i.2, float 1.000000e+00) #5 %185 = tail call float @llvm.fmuladd.f32(float %183, float %mul194.2, float %184) #5 %div.i.2 = fdiv float 1.000000e+00, %185, !fpmath !46 %186 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.2, float 0xBF0BFF7260000000) #5 %187 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.2, float 0x3F50794180000000) #5 %188 = tail call float @llvm.fmuladd.f32(float %186, float %mul.i.2, float 0xBF93BDB200000000) #5 %189 = tail call float @llvm.fmuladd.f32(float %187, float %mul.i.2, float 0x3FB1D5E760000000) #5 %190 = tail call float @llvm.fmuladd.f32(float %188, float %mul.i.2, float 0xBFE81272E0000000) #5 %191 = tail call float @llvm.fmuladd.f32(float %189, float %mul194.2, float %190) #5 %mul11.i.2 = fmul float %191, %div.i.2 %mul196.2 = fmul float %mul21, %mul11.i.2 %192 = tail call float @llvm.fmuladd.f32(float %mul192.2, float %div178.2, float %mul196.2) %193 = tail call float @llvm.fmuladd.f32(float %mul191.2, float %192, float %mul190.2) %splat.splatinsert.2 = insertelement <3 x float> undef, float %193, i32 0 %splat.splat.2 = shufflevector <3 x float> %splat.splatinsert.2, <3 x float> undef, <3 x i32> zeroinitializer %mul201.2 = fmul <3 x float> %extractVec137.2, %splat.splat.2 %extractVec209.2 = shufflevector <4 x float> %fcj_buf.sroa.0.0520.2, <4 x float> undef, <3 x i32> %sub210.2 = fsub <3 x float> %extractVec209.2, %mul201.2 %extractVec211.2 = shufflevector <3 x float> %sub210.2, <3 x float> undef, <4 x i32> %arrayidx216.2 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.0522.2 %castToVec4217.2 = bitcast <3 x float>* %arrayidx216.2 to <4 x float>* %loadVec4218.2 = load <4 x float>, <4 x float>* %castToVec4217.2, align 16 %extractVec219.2 = shufflevector <4 x float> %loadVec4218.2, <4 x float> undef, <3 x i32> %add220.2 = fadd <3 x float> %extractVec219.2, %mul201.2 %extractVec221.2 = shufflevector <3 x float> %add220.2, <3 x float> undef, <4 x i32> store <4 x float> %extractVec221.2, <4 x float>* %castToVec4217.2, align 16, !tbaa !36 br label %if.end224.2 if.end224.2: ; preds = %if.then164.2, %if.end143.2, %for.body116.2 %fcj_buf.sroa.0.1.2 = phi <4 x float> [ %extractVec211.2, %if.then164.2 ], [ %fcj_buf.sroa.0.0520.2, %if.end143.2 ], [ %fcj_buf.sroa.0.0520.2, %for.body116.2 ] %imask.3.2 = phi i32 [ %imask.2.2, %if.then164.2 ], [ %imask.2.2, %if.end143.2 ], [ %imask.1521.2, %for.body116.2 ] %add225.2 = shl i32 %mask_ji.0518.2, 1 %indvars.iv.next560 = add nuw nsw i64 %indvars.iv559, 1 %inc227.2 = add nuw nsw i32 %i.0522.2, 1 %exitcond.2 = icmp eq i64 %indvars.iv.next560, 8 br i1 %exitcond.2, label %for.end228.2, label %for.body116.2 for.end228.2: ; preds = %if.end224.2 %imask.3.2.lcssa = phi i32 [ %imask.3.2, %if.end224.2 ] %fcj_buf.sroa.0.1.2.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1.2, %if.end224.2 ] %194 = extractelement <4 x float> %fcj_buf.sroa.0.1.2.lcssa, i32 0 store float %194, float addrspace(3)* %arrayidx229, align 4, !tbaa !39 %195 = extractelement <4 x float> %fcj_buf.sroa.0.1.2.lcssa, i32 1 store float %195, float addrspace(3)* %arrayidx231, align 4, !tbaa !39 %196 = extractelement <4 x float> %fcj_buf.sroa.0.1.2.lcssa, i32 2 store float %196, float addrspace(3)* %arrayidx233, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add108.2) br label %for.inc235.2 for.inc235.2: ; preds = %for.end228.2, %for.inc235.1 %imask.4.2 = phi i32 [ %imask.3.2.lcssa, %for.end228.2 ], [ %imask.4.1, %for.inc235.1 ] %tobool.3 = icmp ult i32 %imask.4.2, 16777216 br i1 %tobool.3, label %for.inc235.3, label %if.then98.3 if.then98.3: ; preds = %for.inc235.2 %197 = load i32, i32 addrspace(3)* %arrayidx106.3, align 4, !tbaa !41 %mul107.3 = shl nsw i32 %197, 3 %add108.3 = add i32 %mul107.3, %y.i %198 = sext i32 %add108.3 to i64 %arrayidx109.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %198 %199 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx109.3, align 16, !tbaa !36 %200 = extractelement <4 x float> %199, i32 3 %arrayidx111.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %198 %201 = load i32, i32 addrspace(1)* %arrayidx111.3, align 4, !tbaa !41 br label %for.body116.3 for.body116.3: ; preds = %if.end224.3, %if.then98.3 %indvars.iv565 = phi i64 [ %indvars.iv.next566, %if.end224.3 ], [ 0, %if.then98.3 ] %i.0522.3 = phi i32 [ %inc227.3, %if.end224.3 ], [ 0, %if.then98.3 ] %imask.1521.3 = phi i32 [ %imask.3.3, %if.end224.3 ], [ %imask.4.2, %if.then98.3 ] %fcj_buf.sroa.0.0520.3 = phi <4 x float> [ %fcj_buf.sroa.0.1.3, %if.end224.3 ], [ , %if.then98.3 ] %mask_ji.0518.3 = phi i32 [ %add225.3, %if.end224.3 ], [ 16777216, %if.then98.3 ] %and117.3 = and i32 %mask_ji.0518.3, %imask.1521.3 %tobool118.3 = icmp eq i32 %and117.3, 0 br i1 %tobool118.3, label %if.end224.3, label %if.then119.3 if.then119.3: ; preds = %for.body116.3 %202 = add nuw nsw i64 %indvars.iv565, %22 %add121.3 = add nuw nsw i32 %i.0522.3, %mul33 %mul122.3 = shl i32 %add121.3, 3 %add123.3 = add i32 %mul122.3, %x.i %203 = shl i64 %indvars.iv565, 3 %204 = add nuw nsw i64 %203, %24 %205 = trunc i64 %204 to i32 %arrayidx126.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %205 %206 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx126.3, align 16, !tbaa !36 %207 = fsub <4 x float> %206, %199 %extractVec137.3 = shufflevector <4 x float> %207, <4 x float> undef, <3 x i32> %208 = extractelement <4 x float> %207, i32 0 %209 = extractelement <4 x float> %207, i32 1 %mul3.i.i.3 = fmul float %209, %209 %210 = tail call float @llvm.fmuladd.f32(float %208, float %208, float %mul3.i.i.3) #5 %211 = extractelement <4 x float> %207, i32 2 %212 = tail call float @llvm.fmuladd.f32(float %211, float %211, float %210) #5 %cmp139.3 = fcmp olt float %212, %nbparam_params_rlist_sq br i1 %cmp139.3, label %if.then141.3, label %if.end143.3 if.then141.3: ; preds = %if.then119.3 store volatile i32 1, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 br label %if.end143.3 if.end143.3: ; preds = %if.then141.3, %if.then119.3 %213 = load volatile i32, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 %tobool145.3 = icmp eq i32 %213, 0 %neg.3 = xor i32 %mask_ji.0518.3, -1 %and147.3 = select i1 %tobool145.3, i32 %neg.3, i32 -1 %imask.2.3 = and i32 %and147.3, %imask.1521.3 store volatile i32 0, i32 addrspace(3)* %arrayidx142, align 4, !tbaa !41 %and150.3 = and i32 %mask_ji.0518.3, %28 %tobool151.3 = icmp ne i32 %and150.3, 0 %cond.3 = select i1 %tobool151.3, float 1.000000e+00, float 0.000000e+00 %214 = trunc i64 %202 to i32 %notrhs.3 = icmp ne i32 %214, %197 %not.or.cond.3 = or i1 %notlhs, %notrhs.3 %cmp158..3 = or i1 %cmp158, %not.or.cond.3 %conv160.3 = uitofp i1 %cmp158..3 to float %mul161.3 = fmul float %conv160.3, %nbparam_params_rcoulomb_sq %cmp162.3 = fcmp olt float %212, %mul161.3 br i1 %cmp162.3, label %if.then164.3, label %if.end224.3 if.then164.3: ; preds = %if.end143.3 %215 = extractelement <4 x float> %206, i32 3 %216 = sext i32 %add123.3 to i64 %arrayidx165.3 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %216 %217 = load i32, i32 addrspace(1)* %arrayidx165.3, align 4, !tbaa !41 %mul166.3 = mul nsw i32 %217, %ntypes %add167.3 = add nsw i32 %mul166.3, %201 %mul168.3 = shl nsw i32 %add167.3, 1 %218 = sext i32 %mul168.3 to i64 %arrayidx169.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %218 %219 = load float, float addrspace(2)* %arrayidx169.3, align 4, !tbaa !39 %add173.3 = or i32 %mul168.3, 1 %220 = sext i32 %add173.3 to i64 %arrayidx174.3 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %220 %221 = load float, float addrspace(2)* %arrayidx174.3, align 4, !tbaa !39 %sub175.3 = fsub float 1.000000e+00, %cond.3 %222 = tail call float @llvm.fmuladd.f32(float %sub175.3, float 0x3D71979980000000, float %212) %cmp.i.i.3 = fcmp olt float %222, 0.000000e+00 %call.i.i.3 = tail call float @llvm.sqrt.f32(float %222) #6 %call.i.i.op.3 = fdiv float 1.000000e+00, %call.i.i.3 %div178.3 = select i1 %cmp.i.i.3, float 0x7FF8000000000000, float %call.i.i.op.3 %mul179.3 = fmul float %div178.3, %div178.3 %mul180.3 = fmul float %mul179.3, %mul179.3 %mul181.3 = fmul float %mul179.3, %mul180.3 %mul182.3 = fmul float %cond.3, %mul181.3 %neg184.3 = fsub float -0.000000e+00, %219 %223 = tail call float @llvm.fmuladd.f32(float %221, float %mul182.3, float %neg184.3) %mul185.3 = fmul float %mul182.3, %223 %mul186.3 = fmul float %mul179.3, %mul185.3 %cmp187.3 = fcmp olt float %222, %nbparam_params_rvdw_sq %cond189.3 = select i1 %cmp187.3, float 1.000000e+00, float 0.000000e+00 %mul190.3 = fmul float %cond189.3, %mul186.3 %mul191.3 = fmul float %200, %215 %mul192.3 = fmul float %cond.3, %mul179.3 %mul194.3 = fmul float %mul, %222 %mul.i.3 = fmul float %mul194.3, %mul194.3 %224 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i.3, float 0x3FBDA79640000000) #5 %225 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i.3, float 0x3FE03C5780000000) #5 %226 = tail call float @llvm.fmuladd.f32(float %224, float %mul.i.3, float 1.000000e+00) #5 %227 = tail call float @llvm.fmuladd.f32(float %225, float %mul194.3, float %226) #5 %div.i.3 = fdiv float 1.000000e+00, %227, !fpmath !46 %228 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i.3, float 0xBF0BFF7260000000) #5 %229 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i.3, float 0x3F50794180000000) #5 %230 = tail call float @llvm.fmuladd.f32(float %228, float %mul.i.3, float 0xBF93BDB200000000) #5 %231 = tail call float @llvm.fmuladd.f32(float %229, float %mul.i.3, float 0x3FB1D5E760000000) #5 %232 = tail call float @llvm.fmuladd.f32(float %230, float %mul.i.3, float 0xBFE81272E0000000) #5 %233 = tail call float @llvm.fmuladd.f32(float %231, float %mul194.3, float %232) #5 %mul11.i.3 = fmul float %233, %div.i.3 %mul196.3 = fmul float %mul21, %mul11.i.3 %234 = tail call float @llvm.fmuladd.f32(float %mul192.3, float %div178.3, float %mul196.3) %235 = tail call float @llvm.fmuladd.f32(float %mul191.3, float %234, float %mul190.3) %splat.splatinsert.3 = insertelement <3 x float> undef, float %235, i32 0 %splat.splat.3 = shufflevector <3 x float> %splat.splatinsert.3, <3 x float> undef, <3 x i32> zeroinitializer %mul201.3 = fmul <3 x float> %extractVec137.3, %splat.splat.3 %extractVec209.3 = shufflevector <4 x float> %fcj_buf.sroa.0.0520.3, <4 x float> undef, <3 x i32> %sub210.3 = fsub <3 x float> %extractVec209.3, %mul201.3 %extractVec211.3 = shufflevector <3 x float> %sub210.3, <3 x float> undef, <4 x i32> %arrayidx216.3 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.0522.3 %castToVec4217.3 = bitcast <3 x float>* %arrayidx216.3 to <4 x float>* %loadVec4218.3 = load <4 x float>, <4 x float>* %castToVec4217.3, align 16 %extractVec219.3 = shufflevector <4 x float> %loadVec4218.3, <4 x float> undef, <3 x i32> %add220.3 = fadd <3 x float> %extractVec219.3, %mul201.3 %extractVec221.3 = shufflevector <3 x float> %add220.3, <3 x float> undef, <4 x i32> store <4 x float> %extractVec221.3, <4 x float>* %castToVec4217.3, align 16, !tbaa !36 br label %if.end224.3 if.end224.3: ; preds = %if.then164.3, %if.end143.3, %for.body116.3 %fcj_buf.sroa.0.1.3 = phi <4 x float> [ %extractVec211.3, %if.then164.3 ], [ %fcj_buf.sroa.0.0520.3, %if.end143.3 ], [ %fcj_buf.sroa.0.0520.3, %for.body116.3 ] %imask.3.3 = phi i32 [ %imask.2.3, %if.then164.3 ], [ %imask.2.3, %if.end143.3 ], [ %imask.1521.3, %for.body116.3 ] %add225.3 = shl i32 %mask_ji.0518.3, 1 %indvars.iv.next566 = add nuw nsw i64 %indvars.iv565, 1 %inc227.3 = add nuw nsw i32 %i.0522.3, 1 %exitcond.3 = icmp eq i64 %indvars.iv.next566, 8 br i1 %exitcond.3, label %for.end228.3, label %for.body116.3 for.end228.3: ; preds = %if.end224.3 %imask.3.3.lcssa = phi i32 [ %imask.3.3, %if.end224.3 ] %fcj_buf.sroa.0.1.3.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1.3, %if.end224.3 ] %236 = extractelement <4 x float> %fcj_buf.sroa.0.1.3.lcssa, i32 0 store float %236, float addrspace(3)* %arrayidx229, align 4, !tbaa !39 %237 = extractelement <4 x float> %fcj_buf.sroa.0.1.3.lcssa, i32 1 store float %237, float addrspace(3)* %arrayidx231, align 4, !tbaa !39 %238 = extractelement <4 x float> %fcj_buf.sroa.0.1.3.lcssa, i32 2 store float %238, float addrspace(3)* %arrayidx233, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add108.3) br label %for.inc235.3 for.inc235.3: ; preds = %for.end228.3, %for.inc235.2 %imask.4.3 = phi i32 [ %imask.3.3.lcssa, %for.end228.3 ], [ %imask.4.2, %for.inc235.2 ] store i32 %imask.4.3, i32 addrspace(1)* %imask73, align 4, !tbaa !45 %indvars.iv.next534 = add nsw i64 %indvars.iv533, 1 %lftr.wideiv = trunc i64 %indvars.iv.next534 to i32 %exitcond535 = icmp eq i32 %lftr.wideiv, %nb_sci.sroa.11.0.copyload br i1 %exitcond535, label %for.end244.loopexit, label %for.body67 } ; Function Attrs: nounwind define void @nbnxn_kernel_ElecEw_VdwLJ_VF_prune_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 %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 %fci_buf = alloca [8 x <3 x float>], align 16 %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.i611 = tail call i32 @llvm.r600.read.local.size.x() #2 %mul27 = mul i32 %x.i611, %y.i %add = add i32 %mul27, %x.i %x.i612 = 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 %1 = bitcast [8 x <3 x float>]* %fci_buf to i8* call void @llvm.lifetime.start(i64 128, i8* %1) #5 %add.ptr = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 64 %2 = bitcast <4 x float> addrspace(3)* %add.ptr to i32 addrspace(3)* %3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 0 %add.ptr31 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 192 %4 = sext i32 %x.i612 to i64 %nb_sci.sroa.0.0..sroa_idx = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, 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_idx357 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 1 %nb_sci.sroa.4.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.4.0..sroa_idx357, align 4 %nb_sci.sroa.11.0..sroa_idx365 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 2 %nb_sci.sroa.11.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.11.0..sroa_idx365, align 4 %nb_sci.sroa.12.0..sroa_idx367 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 3 %nb_sci.sroa.12.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.12.0..sroa_idx367, align 4 %mul33 = shl nsw i32 %nb_sci.sroa.0.0.copyload, 3 %add34 = add i32 %mul33, %y.i %mul35 = shl i32 %add34, 3 %add36 = add i32 %mul35, %x.i %5 = sext i32 %add36 to i64 %arrayidx37 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %5 %6 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx37, align 16, !tbaa !36 %mul38 = mul nsw i32 %nb_sci.sroa.4.0.copyload, 3 %7 = sext i32 %mul38 to i64 %arrayidx39 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %7 %8 = load float, float addrspace(1)* %arrayidx39, align 4, !tbaa !39 %vecinit = insertelement <4 x float> undef, float %8, i32 0 %add42 = add nsw i32 %mul38, 1 %9 = sext i32 %add42 to i64 %arrayidx43 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %9 %10 = load float, float addrspace(1)* %arrayidx43, align 4, !tbaa !39 %vecinit44 = insertelement <4 x float> %vecinit, float %10, i32 1 %add47 = add nsw i32 %mul38, 2 %11 = sext i32 %add47 to i64 %arrayidx48 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %11 %12 = load float, float addrspace(1)* %arrayidx48, align 4, !tbaa !39 %vecinit49 = insertelement <4 x float> %vecinit44, float %12, i32 2 %vecinit50 = insertelement <4 x float> %vecinit49, float 0.000000e+00, i32 3 %add51 = fadd <4 x float> %6, %vecinit50 %13 = extractelement <4 x float> %add51, i32 3 %mul53 = fmul float %13, %nbparam_params_epsfac %14 = insertelement <4 x float> %add51, float %mul53, i32 3 %mul54 = shl nuw nsw i32 %y.i, 3 %add55 = add nuw nsw i32 %mul54, %x.i %arrayidx56 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add55 store <4 x float> %14, <4 x float> addrspace(3)* %arrayidx56, align 16, !tbaa !36 %15 = or i32 %add, 32 %16 = icmp eq i32 %15, 32 br i1 %16, label %if.then, label %if.end if.then: ; preds = %entry %arrayidx60610 = getelementptr inbounds float, float addrspace(3)* %add.ptr31, i32 %div %arrayidx60 = bitcast float addrspace(3)* %arrayidx60610 to i32 addrspace(3)* store volatile i32 0, i32 addrspace(3)* %arrayidx60, align 4, !tbaa !41 br label %if.end if.end: ; preds = %entry, %if.then tail call void @llvm.amdgcn.s.barrier() #5 %arrayidx63 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 0 %storetmp = bitcast [8 x <3 x float>]* %fci_buf to <4 x float>* store <4 x float> , <4 x float>* %storetmp, align 16, !tbaa !36 %arrayidx63.1 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 1 %storetmp.1 = bitcast <3 x float>* %arrayidx63.1 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.1, align 16, !tbaa !36 %arrayidx63.2 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 2 %storetmp.2 = bitcast <3 x float>* %arrayidx63.2 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.2, align 16, !tbaa !36 %arrayidx63.3 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 3 %storetmp.3 = bitcast <3 x float>* %arrayidx63.3 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.3, align 16, !tbaa !36 %arrayidx63.4 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 4 %storetmp.4 = bitcast <3 x float>* %arrayidx63.4 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.4, align 16, !tbaa !36 %arrayidx63.5 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 5 %storetmp.5 = bitcast <3 x float>* %arrayidx63.5 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.5, align 16, !tbaa !36 %arrayidx63.6 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 6 %storetmp.6 = bitcast <3 x float>* %arrayidx63.6 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.6, align 16, !tbaa !36 %arrayidx63.7 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 7 %storetmp.7 = bitcast <3 x float>* %arrayidx63.7 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.7, align 16, !tbaa !36 %cmp65 = icmp eq i32 %nb_sci.sroa.4.0.copyload, 22 br i1 %cmp65, label %land.lhs.true, label %for.cond91.preheader land.lhs.true: ; preds = %if.end %17 = sext i32 %nb_sci.sroa.11.0.copyload to i64 %arrayidx69 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %17, i32 0, i64 0 %18 = load i32, i32 addrspace(1)* %arrayidx69, align 4, !tbaa !41 %cmp71 = icmp eq i32 %18, %mul33 br i1 %cmp71, label %for.body77.preheader, label %for.cond91.preheader for.body77.preheader: ; preds = %land.lhs.true %arrayidx80 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %x.i %19 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80, align 16 %20 = extractelement <4 x float> %19, i32 3 %21 = tail call float @llvm.fmuladd.f32(float %20, float %20, float 0.000000e+00) %add79.1 = add nuw nsw i32 %x.i, 8 %arrayidx80.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.1 %22 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.1, align 16 %23 = extractelement <4 x float> %22, i32 3 %24 = tail call float @llvm.fmuladd.f32(float %23, float %23, float %21) %add79.2 = add nuw nsw i32 %x.i, 16 %arrayidx80.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.2 %25 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.2, align 16 %26 = extractelement <4 x float> %25, i32 3 %27 = tail call float @llvm.fmuladd.f32(float %26, float %26, float %24) %add79.3 = add nuw nsw i32 %x.i, 24 %arrayidx80.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.3 %28 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.3, align 16 %29 = extractelement <4 x float> %28, i32 3 %30 = tail call float @llvm.fmuladd.f32(float %29, float %29, float %27) %add79.4 = add nuw nsw i32 %x.i, 32 %arrayidx80.4 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.4 %31 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.4, align 16 %32 = extractelement <4 x float> %31, i32 3 %33 = tail call float @llvm.fmuladd.f32(float %32, float %32, float %30) %add79.5 = add nuw nsw i32 %x.i, 40 %arrayidx80.5 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.5 %34 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.5, align 16 %35 = extractelement <4 x float> %34, i32 3 %36 = tail call float @llvm.fmuladd.f32(float %35, float %35, float %33) %add79.6 = add nuw nsw i32 %x.i, 48 %arrayidx80.6 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.6 %37 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.6, align 16 %38 = extractelement <4 x float> %37, i32 3 %39 = tail call float @llvm.fmuladd.f32(float %38, float %38, float %36) %add79.7 = add nuw nsw i32 %x.i, 56 %arrayidx80.7 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add79.7 %40 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx80.7, align 16 %41 = extractelement <4 x float> %40, i32 3 %42 = tail call float @llvm.fmuladd.f32(float %41, float %41, float %39) %mul86 = fmul float %nbparam_params_epsfac, 8.000000e+00 %div87 = fdiv float %42, %mul86, !fpmath !46 %mul88 = fmul float %nbparam_params_ewald_beta, 0xBFE20DD760000000 %mul89 = fmul float %mul88, %div87 br label %for.cond91.preheader for.cond91.preheader: ; preds = %for.body77.preheader, %land.lhs.true, %if.end %E_el.2.ph = phi float [ 0.000000e+00, %if.end ], [ 0.000000e+00, %land.lhs.true ], [ %mul89, %for.body77.preheader ] %cmp92632 = icmp slt i32 %nb_sci.sroa.11.0.copyload, %nb_sci.sroa.12.0.copyload br i1 %cmp92632, label %for.body94.lr.ph, label %for.cond91.preheader.for.end290_crit_edge for.cond91.preheader.for.end290_crit_edge: ; preds = %for.cond91.preheader %.pre656 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %.pre657 = add i32 %add, 64 %.pre658 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre657 %.pre659 = add i32 %add, 128 %.pre660 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre659 br label %for.end290 for.body94.lr.ph: ; preds = %for.cond91.preheader %43 = zext i32 %div to i64 %and = and i32 %add, 31 %44 = zext i32 %and to i64 %45 = or i32 %y.i, 4 %46 = icmp eq i32 %45, 4 %cmp109 = icmp ult i32 %x.i, 4 %or.cond334 = and i1 %cmp109, %46 %47 = zext i32 %x.i to i64 %add117 = add nuw nsw i32 %y.i, %x.i %arrayidx118 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add117 %mul131 = and i32 %y.i, 4 %arrayidx171609 = getelementptr inbounds float, float addrspace(3)* %add.ptr31, i32 %div %arrayidx171 = bitcast float addrspace(3)* %arrayidx171609 to i32 addrspace(3)* %cmp187 = icmp ugt i32 %y.i, %x.i %arrayidx275 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %add276 = add i32 %add, 64 %arrayidx277 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add276 %add278 = add i32 %add, 128 %arrayidx279 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add278 %48 = zext i32 %mul33 to i64 %49 = sext i32 %nb_sci.sroa.11.0.copyload to i64 %50 = zext i32 %x.i to i64 br label %for.body94 for.body94: ; preds = %for.end283, %for.body94.lr.ph %indvars.iv645 = phi i64 [ %49, %for.body94.lr.ph ], [ %indvars.iv.next646, %for.end283 ] %E_lj.0634 = phi float [ 0.000000e+00, %for.body94.lr.ph ], [ %E_lj.4.lcssa, %for.end283 ] %E_el.2633 = phi float [ %E_el.2.ph, %for.body94.lr.ph ], [ %E_el.6.lcssa, %for.end283 ] %excl_ind = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv645, i32 1, i64 %43, i32 1 %51 = load i32, i32 addrspace(1)* %excl_ind, align 4, !tbaa !43 %imask100 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv645, i32 1, i64 %43, i32 0 %52 = load i32, i32 addrspace(1)* %imask100, align 4, !tbaa !45 %53 = sext i32 %51 to i64 %arrayidx102 = getelementptr inbounds %struct.nbnxn_excl_t, %struct.nbnxn_excl_t addrspace(1)* %excl, i64 %53, i32 0, i64 %44 %54 = load i32, i32 addrspace(1)* %arrayidx102, align 4, !tbaa !41 br i1 %or.cond334, label %if.then111, label %for.body123.preheader if.then111: ; preds = %for.body94 %arrayidx114 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv645, i32 0, i64 %47 %55 = load i32, i32 addrspace(1)* %arrayidx114, align 4, !tbaa !41 store i32 %55, i32 addrspace(3)* %arrayidx118, align 4, !tbaa !41 br label %for.body123.preheader for.body123.preheader: ; preds = %for.body94, %if.then111 br label %for.body123 for.body123: ; preds = %for.body123.preheader, %for.inc281 %jm.0631 = phi i32 [ %inc282, %for.inc281 ], [ 0, %for.body123.preheader ] %E_lj.1630 = phi float [ %E_lj.4, %for.inc281 ], [ %E_lj.0634, %for.body123.preheader ] %E_el.3629 = phi float [ %E_el.6, %for.inc281 ], [ %E_el.2633, %for.body123.preheader ] %imask.0628 = phi i32 [ %imask.4, %for.inc281 ], [ %52, %for.body123.preheader ] %mul124 = shl nsw i32 %jm.0631, 3 %shl = shl i32 255, %mul124 %and125 = and i32 %imask.0628, %shl %tobool = icmp eq i32 %and125, 0 br i1 %tobool, label %for.inc281, label %if.then126 if.then126: ; preds = %for.body123 %shl129 = shl i32 1, %mul124 %add133 = add nuw nsw i32 %jm.0631, %mul131 %arrayidx134 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add133 %56 = load i32, i32 addrspace(3)* %arrayidx134, align 4, !tbaa !41 %mul135 = shl nsw i32 %56, 3 %add136 = add i32 %mul135, %y.i %57 = sext i32 %add136 to i64 %arrayidx137 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %57 %58 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx137, align 16, !tbaa !36 %59 = extractelement <4 x float> %58, i32 3 %arrayidx139 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %57 %60 = load i32, i32 addrspace(1)* %arrayidx139, align 4, !tbaa !41 br label %for.body144 for.body144: ; preds = %if.end270, %if.then126 %indvars.iv662 = phi i64 [ %indvars.iv.next663, %if.end270 ], [ 0, %if.then126 ] %i.1627 = phi i32 [ %inc273, %if.end270 ], [ 0, %if.then126 ] %fcj_buf.sroa.0.0626 = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end270 ], [ , %if.then126 ] %E_lj.2625 = phi float [ %E_lj.3, %if.end270 ], [ %E_lj.1630, %if.then126 ] %E_el.4624 = phi float [ %E_el.5, %if.end270 ], [ %E_el.3629, %if.then126 ] %imask.1623 = phi i32 [ %imask.3, %if.end270 ], [ %imask.0628, %if.then126 ] %mask_ji.0621 = phi i32 [ %add271, %if.end270 ], [ %shl129, %if.then126 ] %and145 = and i32 %mask_ji.0621, %imask.1623 %tobool146 = icmp eq i32 %and145, 0 br i1 %tobool146, label %if.end270, label %if.then147 if.then147: ; preds = %for.body144 %61 = add nuw nsw i64 %indvars.iv662, %48 %add149 = add nuw nsw i32 %i.1627, %mul33 %mul150 = shl i32 %add149, 3 %add151 = add i32 %mul150, %x.i %62 = shl i64 %indvars.iv662, 3 %63 = add nuw nsw i64 %62, %50 %64 = trunc i64 %63 to i32 %arrayidx154 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %64 %65 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx154, align 16, !tbaa !36 %66 = fsub <4 x float> %65, %58 %extractVec166 = shufflevector <4 x float> %66, <4 x float> undef, <3 x i32> %67 = extractelement <4 x float> %66, i32 0 %68 = extractelement <4 x float> %66, i32 1 %mul3.i.i619 = fmul float %68, %68 %69 = tail call float @llvm.fmuladd.f32(float %67, float %67, float %mul3.i.i619) #5 %70 = extractelement <4 x float> %66, i32 2 %71 = tail call float @llvm.fmuladd.f32(float %70, float %70, float %69) #5 %cmp168 = fcmp olt float %71, %nbparam_params_rlist_sq br i1 %cmp168, label %if.then170, label %if.end172 if.then170: ; preds = %if.then147 store volatile i32 1, i32 addrspace(3)* %arrayidx171, align 4, !tbaa !41 br label %if.end172 if.end172: ; preds = %if.then170, %if.then147 %72 = load volatile i32, i32 addrspace(3)* %arrayidx171, align 4, !tbaa !41 %tobool174 = icmp eq i32 %72, 0 %neg = xor i32 %mask_ji.0621, -1 %and176 = select i1 %tobool174, i32 %neg, i32 -1 %imask.2 = and i32 %and176, %imask.1623 store volatile i32 0, i32 addrspace(3)* %arrayidx171, align 4, !tbaa !41 %and179 = and i32 %mask_ji.0621, %54 %tobool180 = icmp ne i32 %and179, 0 %cond = select i1 %tobool180, float 1.000000e+00, float 0.000000e+00 %73 = trunc i64 %61 to i32 %cmp185 = icmp eq i32 %73, %56 %or.cond = and i1 %cmp65, %cmp185 %not.or.cond = xor i1 %or.cond, true %cmp187. = or i1 %cmp187, %not.or.cond %conv189 = uitofp i1 %cmp187. to float %mul190 = fmul float %conv189, %nbparam_params_rcoulomb_sq %cmp191 = fcmp olt float %71, %mul190 br i1 %cmp191, label %if.then193, label %if.end270 if.then193: ; preds = %if.end172 %74 = extractelement <4 x float> %65, i32 3 %75 = sext i32 %add151 to i64 %arrayidx194 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %75 %76 = load i32, i32 addrspace(1)* %arrayidx194, align 4, !tbaa !41 %mul195 = mul nsw i32 %76, %ntypes %add196 = add nsw i32 %mul195, %60 %mul197 = shl nsw i32 %add196, 1 %77 = sext i32 %mul197 to i64 %arrayidx198 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %77 %78 = load float, float addrspace(2)* %arrayidx198, align 4, !tbaa !39 %add202 = or i32 %mul197, 1 %79 = sext i32 %add202 to i64 %arrayidx203 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %79 %80 = load float, float addrspace(2)* %arrayidx203, align 4, !tbaa !39 %sub204 = fsub float 1.000000e+00, %cond %81 = tail call float @llvm.fmuladd.f32(float %sub204, float 0x3D71979980000000, float %71) %cmp.i.i617 = fcmp olt float %81, 0.000000e+00 %call.i.i = tail call float @llvm.sqrt.f32(float %81) #6 %call.i.i.op = fdiv float 1.000000e+00, %call.i.i %div207 = select i1 %cmp.i.i617, float 0x7FF8000000000000, float %call.i.i.op %mul208 = fmul float %div207, %div207 %mul209 = fmul float %mul208, %mul208 %mul210 = fmul float %mul208, %mul209 %mul211 = fmul float %cond, %mul210 %neg213 = fsub float -0.000000e+00, %78 %82 = tail call float @llvm.fmuladd.f32(float %80, float %mul211, float %neg213) %mul214 = fmul float %mul211, %82 %mul215 = fmul float %mul208, %mul214 %83 = tail call float @llvm.fmuladd.f32(float %mul211, float %mul211, float %nbparam_params_repulsion_shift_cpot) %mul219 = fmul float %83, %80 %add223 = fadd float %mul211, %nbparam_params_dispersion_shift_cpot %mul224 = fmul float %add223, %78 %mul225 = fmul float %mul224, 0x3FC5555560000000 %neg226 = fsub float -0.000000e+00, %mul225 %84 = tail call float @llvm.fmuladd.f32(float %mul219, float 0x3FB5555540000000, float %neg226) %mul227 = fmul float %cond, %84 %add228 = fadd float %E_lj.2625, %mul227 %mul229 = fmul float %59, %74 %mul230 = fmul float %cond, %mul208 %mul232 = fmul float %mul, %81 %mul.i615 = fmul float %mul232, %mul232 %85 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i615, float 0x3FBDA79640000000) #5 %86 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i615, float 0x3FE03C5780000000) #5 %87 = tail call float @llvm.fmuladd.f32(float %85, float %mul.i615, float 1.000000e+00) #5 %88 = tail call float @llvm.fmuladd.f32(float %86, float %mul232, float %87) #5 %div.i616 = fdiv float 1.000000e+00, %88, !fpmath !46 %89 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i615, float 0xBF0BFF7260000000) #5 %90 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i615, float 0x3F50794180000000) #5 %91 = tail call float @llvm.fmuladd.f32(float %89, float %mul.i615, float 0xBF93BDB200000000) #5 %92 = tail call float @llvm.fmuladd.f32(float %90, float %mul.i615, float 0x3FB1D5E760000000) #5 %93 = tail call float @llvm.fmuladd.f32(float %91, float %mul.i615, float 0xBFE81272E0000000) #5 %94 = tail call float @llvm.fmuladd.f32(float %92, float %mul232, float %93) #5 %mul11.i = fmul float %94, %div.i616 %mul234 = fmul float %mul19, %mul11.i %95 = tail call float @llvm.fmuladd.f32(float %mul230, float %div207, float %mul234) %96 = tail call float @llvm.fmuladd.f32(float %mul229, float %95, float %mul215) %mul237 = fmul float %81, %div207 %mul238 = fmul float %mul237, %nbparam_params_ewald_beta %fabs.i = tail call float @llvm.fabs.f32(float %mul238) #5 %and.i = bitcast float %fabs.i to i32 %mul.i = fmul float %mul238, %mul238 %div.i = fdiv float 1.000000e+00, %mul.i, !fpmath !46 %sub.i = fadd float %fabs.i, -1.000000e+00 %cmp.i613 = fcmp olt float %fabs.i, 1.250000e+00 %cond.i = select i1 %cmp.i613, 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 %97 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %98 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %97, float 0xC083EC8820000000) #5 %99 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %98, float 0xC064145D40000000) #5 %100 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %99, float 0xC031C20960000000) #5 %101 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %100, float 0xBFE993BA80000000) #5 %102 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %101, float 0xBF84341240000000) #5 %103 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %104 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %103, float 0x40A3F219C0000000) #5 %105 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %104, float 0x40A8FFB760000000) #5 %106 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %105, float 0x409802EB20000000) #5 %107 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %106, float 0x40745CAE20000000) #5 %108 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %107, float 0x403E568B20000000) #5 %109 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %110 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %109, float 0xC067135CE0000000) #5 %111 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %110, float 0xC0644CB180000000) #5 %112 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %111, float 0xC04F300AE0000000) #5 %113 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %112, float 0xC0251E0440000000) #5 %114 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %113, float 0xBFE63416E0000000) #5 %115 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %114, float 0xBF84341260000000) #5 %116 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %117 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %116, float 0x405B28A3E0000000) #5 %118 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %117, float 0x407AD02160000000) #5 %119 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %118, float 0x40842B1920000000) #5 %120 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %119, float 0x407B290DE0000000) #5 %121 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %120, float 0x4061350C60000000) #5 %122 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %121, float 0x4033A6B9C0000000) #5 %cmp32.i = fcmp olt float %fabs.i, 0x4006DB6DA0000000 %cond36.i = select i1 %cmp32.i, float %115, float %102 %cond41.i = select i1 %cmp32.i, float %122, float %108 %123 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %124 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %123, float 0xBFBC639840000000) #5 %125 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %124, float 0x3FD45FCA80000000) #5 %126 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %125, float 0xBFD7D24100000000) #5 %127 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %126, float 0x3FDA8D00A0000000) #5 %128 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %127, float 0xBF6359B8C0000000) #5 %129 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %130 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %129, float 0x3FC02660E0000000) #5 %131 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %130, float 0x3FB2635CE0000000) #5 %132 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %131, float 0x3FE14AF0A0000000) #5 %133 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %132, float 0x3FBB3E6620000000) #5 %cond57.i = select i1 %cmp.i613, float %128, float %cond36.i %cond62.i = select i1 %cmp.i613, float %133, float %cond41.i %134 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %135 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %134, float 0xBF9D2A51E0000000) #5 %136 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %135, float 0xBFD4CD7D60000000) #5 %137 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %136, float 0x3FC06EBA80000000) #5 %138 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %139 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %138, float 0x3F74D022C0000000) #5 %140 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %139, float 0x3FB0A54C60000000) #5 %141 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %140, float 0x3FD97779C0000000) #5 %cond75.i = select i1 %cmp2.i, float %137, float %cond57.i %cond80.i = select i1 %cmp2.i, float %141, float %cond62.i %142 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %cond80.i, float 1.000000e+00) #5 %div82.i = fdiv float %cond75.i, %142, !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 %143 = tail call float @llvm.fmuladd.f32(float %sub85.i, float %astype84.i, float -5.625000e-01) #5 %cmp.i2.i = fcmp olt float %143, 0.000000e+00 %cond.i3.i = select i1 %cmp.i2.i, float -5.000000e-01, float 5.000000e-01 %144 = tail call float @llvm.fmuladd.f32(float %143, float 0x3FF7154760000000, float %cond.i3.i) #5 %conv.i4.i = fptosi float %144 to i32 %conv1.i5.i = sitofp i32 %conv.i4.i to float %145 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i, float 0xBFE62E3000000000, float %143) #5 %mul.i6.i = fmul float %conv1.i5.i, 0xBEE2FEFA20000000 %add.i7.i = fadd float %145, %mul.i6.i %mul3.i8.i = fmul float %add.i7.i, %add.i7.i %146 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %147 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %146, float 0x3F11566AA0000000) #5 %148 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %147, float 0xBF66C16C20000000) #5 %149 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %148, float 0x3FC5555560000000) #5 %sub8.i9.i = fsub float -0.000000e+00, %149 %150 = 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, %150 %sub12.i12.i = fsub float 2.000000e+00, %150 %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, %145 %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 %143, 0xC055D589E0000000 %cond20.i22.i = select i1 %cmp18.i21.i, float 0.000000e+00, float %astype17.i20.i %cmp21.i23.i = fcmp olt float %143, 0x40562E4300000000 %cond26.i24.i = select i1 %cmp21.i23.i, float %cond20.i22.i, float 0x7FF0000000000000 %cmp.i.i25.i = fcmp uno float %143, 0.000000e+00 %cond31.i26.i = select i1 %cmp.i.i25.i, float %143, float %cond26.i24.i %sub88.i = fsub float %astype84.i, %fabs.i %add.i614 = fadd float %fabs.i, %astype84.i %151 = tail call float @llvm.fmuladd.f32(float %sub88.i, float %add.i614, float %div82.i) #5 %cmp.i1.i = fcmp olt float %151, 0.000000e+00 %cond.i.i = select i1 %cmp.i1.i, float -5.000000e-01, float 5.000000e-01 %152 = tail call float @llvm.fmuladd.f32(float %151, float 0x3FF7154760000000, float %cond.i.i) #5 %conv.i.i = fptosi float %152 to i32 %conv1.i.i = sitofp i32 %conv.i.i to float %153 = tail call float @llvm.fmuladd.f32(float %conv1.i.i, float 0xBFE62E3000000000, float %151) #5 %mul.i.i = fmul float %conv1.i.i, 0xBEE2FEFA20000000 %add.i.i = fadd float %153, %mul.i.i %mul3.i.i = fmul float %add.i.i, %add.i.i %154 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %155 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %154, float 0x3F11566AA0000000) #5 %156 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %155, float 0xBF66C16C20000000) #5 %157 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %156, float 0x3FC5555560000000) #5 %sub8.i.i = fsub float -0.000000e+00, %157 %158 = 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, %158 %sub12.i.i = fsub float 2.000000e+00, %158 %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, %153 %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 %151, 0xC055D589E0000000 %cond20.i.i = select i1 %cmp18.i.i, float 0.000000e+00, float %astype17.i.i %cmp21.i.i = fcmp olt float %151, 0x40562E4300000000 %cond26.i.i = select i1 %cmp21.i.i, float %cond20.i.i, float 0x7FF0000000000000 %cmp.i.i.i = fcmp uno float %151, 0.000000e+00 %cond31.i.i = select i1 %cmp.i.i.i, float %151, 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 %mul238, 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.i613, float %cond111.i, float %cond103.i %sub117.i = fadd float %mul238, -5.000000e-01 %159 = tail call float @llvm.fmuladd.f32(float %mul238, float %div82.i, float %sub117.i) #5 %sub119.i = fsub float 5.000000e-01, %159 %cond124.i = select i1 %cmp2.i, float %sub119.i, float %cond116.i %cmp125.i = fcmp olt float %mul238, -6.000000e+00 %cond129.i = select i1 %cmp125.i, float 2.000000e+00, float %cond124.i %cmp.i.i = fcmp uno float %mul238, 0.000000e+00 %cond134.i = select i1 %cmp.i.i, float %mul238, float %cond129.i %mul241 = fmul float %cond, %nbparam_params_sh_ewald %neg242 = fsub float -0.000000e+00, %mul241 %160 = tail call float @llvm.fmuladd.f32(float %div207, float %cond134.i, float %neg242) %161 = tail call float @llvm.fmuladd.f32(float %mul229, float %160, float %E_el.4624) %splat.splatinsert = insertelement <3 x float> undef, float %96, i32 0 %splat.splat = shufflevector <3 x float> %splat.splatinsert, <3 x float> undef, <3 x i32> zeroinitializer %mul247 = fmul <3 x float> %extractVec166, %splat.splat %extractVec255 = shufflevector <4 x float> %fcj_buf.sroa.0.0626, <4 x float> undef, <3 x i32> %sub256 = fsub <3 x float> %extractVec255, %mul247 %extractVec257 = shufflevector <3 x float> %sub256, <3 x float> undef, <4 x i32> %arrayidx262 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.1627 %castToVec4263 = bitcast <3 x float>* %arrayidx262 to <4 x float>* %loadVec4264 = load <4 x float>, <4 x float>* %castToVec4263, align 16 %extractVec265 = shufflevector <4 x float> %loadVec4264, <4 x float> undef, <3 x i32> %add266 = fadd <3 x float> %extractVec265, %mul247 %extractVec267 = shufflevector <3 x float> %add266, <3 x float> undef, <4 x i32> store <4 x float> %extractVec267, <4 x float>* %castToVec4263, align 16, !tbaa !36 br label %if.end270 if.end270: ; preds = %for.body144, %if.end172, %if.then193 %imask.3 = phi i32 [ %imask.2, %if.then193 ], [ %imask.2, %if.end172 ], [ %imask.1623, %for.body144 ] %E_el.5 = phi float [ %161, %if.then193 ], [ %E_el.4624, %if.end172 ], [ %E_el.4624, %for.body144 ] %E_lj.3 = phi float [ %add228, %if.then193 ], [ %E_lj.2625, %if.end172 ], [ %E_lj.2625, %for.body144 ] %fcj_buf.sroa.0.1 = phi <4 x float> [ %extractVec257, %if.then193 ], [ %fcj_buf.sroa.0.0626, %if.end172 ], [ %fcj_buf.sroa.0.0626, %for.body144 ] %add271 = shl i32 %mask_ji.0621, 1 %indvars.iv.next663 = add nuw nsw i64 %indvars.iv662, 1 %inc273 = add nuw nsw i32 %i.1627, 1 %exitcond = icmp eq i64 %indvars.iv.next663, 8 br i1 %exitcond, label %for.end274, label %for.body144 for.end274: ; preds = %if.end270 %fcj_buf.sroa.0.1.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end270 ] %E_lj.3.lcssa = phi float [ %E_lj.3, %if.end270 ] %E_el.5.lcssa = phi float [ %E_el.5, %if.end270 ] %imask.3.lcssa = phi i32 [ %imask.3, %if.end270 ] %162 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 0 store float %162, float addrspace(3)* %arrayidx275, align 4, !tbaa !39 %163 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 1 store float %163, float addrspace(3)* %arrayidx277, align 4, !tbaa !39 %164 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 2 store float %164, float addrspace(3)* %arrayidx279, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add136) br label %for.inc281 for.inc281: ; preds = %for.body123, %for.end274 %imask.4 = phi i32 [ %imask.3.lcssa, %for.end274 ], [ %imask.0628, %for.body123 ] %E_el.6 = phi float [ %E_el.5.lcssa, %for.end274 ], [ %E_el.3629, %for.body123 ] %E_lj.4 = phi float [ %E_lj.3.lcssa, %for.end274 ], [ %E_lj.1630, %for.body123 ] %inc282 = add nuw nsw i32 %jm.0631, 1 %exitcond644 = icmp eq i32 %inc282, 4 br i1 %exitcond644, label %for.end283, label %for.body123 for.end283: ; preds = %for.inc281 %E_lj.4.lcssa = phi float [ %E_lj.4, %for.inc281 ] %E_el.6.lcssa = phi float [ %E_el.6, %for.inc281 ] %imask.4.lcssa = phi i32 [ %imask.4, %for.inc281 ] store i32 %imask.4.lcssa, i32 addrspace(1)* %imask100, align 4, !tbaa !45 %indvars.iv.next646 = add nsw i64 %indvars.iv645, 1 %lftr.wideiv = trunc i64 %indvars.iv.next646 to i32 %exitcond647 = icmp eq i32 %lftr.wideiv, %nb_sci.sroa.12.0.copyload br i1 %exitcond647, label %for.end290.loopexit, label %for.body94 for.end290.loopexit: ; preds = %for.end283 %E_lj.4.lcssa.lcssa = phi float [ %E_lj.4.lcssa, %for.end283 ] %E_el.6.lcssa.lcssa = phi float [ %E_el.6.lcssa, %for.end283 ] %.pre = load <3 x float>, <3 x float>* %arrayidx63, align 16 %.pre650 = load <3 x float>, <3 x float>* %arrayidx63.1, align 16 %.pre651 = load <3 x float>, <3 x float>* %arrayidx63.2, align 16 %.pre652 = load <3 x float>, <3 x float>* %arrayidx63.3, align 16 %.pre653 = load <3 x float>, <3 x float>* %arrayidx63.4, align 16 %.pre654 = load <3 x float>, <3 x float>* %arrayidx63.5, align 16 %.pre655 = load <3 x float>, <3 x float>* %arrayidx63.6, align 16 %.pre668 = load <3 x float>, <3 x float>* %arrayidx63.7, align 16 br label %for.end290 for.end290: ; preds = %for.cond91.preheader.for.end290_crit_edge, %for.end290.loopexit %165 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end290_crit_edge ], [ %.pre668, %for.end290.loopexit ] %arrayidx311.pre-phi = phi float addrspace(3)* [ %.pre660, %for.cond91.preheader.for.end290_crit_edge ], [ %arrayidx279, %for.end290.loopexit ] %arrayidx308.pre-phi = phi float addrspace(3)* [ %.pre658, %for.cond91.preheader.for.end290_crit_edge ], [ %arrayidx277, %for.end290.loopexit ] %arrayidx305.pre-phi = phi float addrspace(3)* [ %.pre656, %for.cond91.preheader.for.end290_crit_edge ], [ %arrayidx275, %for.end290.loopexit ] %166 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end290_crit_edge ], [ %.pre655, %for.end290.loopexit ] %167 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end290_crit_edge ], [ %.pre654, %for.end290.loopexit ] %168 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end290_crit_edge ], [ %.pre653, %for.end290.loopexit ] %169 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end290_crit_edge ], [ %.pre652, %for.end290.loopexit ] %170 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end290_crit_edge ], [ %.pre651, %for.end290.loopexit ] %171 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end290_crit_edge ], [ %.pre650, %for.end290.loopexit ] %172 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond91.preheader.for.end290_crit_edge ], [ %.pre, %for.end290.loopexit ] %E_lj.0.lcssa = phi float [ 0.000000e+00, %for.cond91.preheader.for.end290_crit_edge ], [ %E_lj.4.lcssa.lcssa, %for.end290.loopexit ] %E_el.2.lcssa = phi float [ %E_el.2.ph, %for.cond91.preheader.for.end290_crit_edge ], [ %E_el.6.lcssa.lcssa, %for.end290.loopexit ] store float 0.000000e+00, float* %fshift_buf, align 4, !tbaa !39 %tobool312661 = icmp ne i32 %bCalcFshift, 0 %not.cmp65 = xor i1 %cmp65, true %tobool312 = and i1 %tobool312661, %not.cmp65 %mul302 = shl i32 %nb_sci.sroa.0.0.copyload, 6 %add303 = add i32 %mul302, %x.i %173 = extractelement <3 x float> %172, i32 0 store float %173, float addrspace(3)* %arrayidx305.pre-phi, align 4, !tbaa !39 %174 = extractelement <3 x float> %172, i32 1 store float %174, float addrspace(3)* %arrayidx308.pre-phi, align 4, !tbaa !39 %175 = extractelement <3 x float> %172, i32 2 store float %175, float addrspace(3)* %arrayidx311.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool312, i32 %x.i, i32 %y.i, i32 %add303) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul302.1 = or i32 %mul302, 8 %add303.1 = add i32 %mul302.1, %x.i %176 = extractelement <3 x float> %171, i32 0 store float %176, float addrspace(3)* %arrayidx305.pre-phi, align 4, !tbaa !39 %177 = extractelement <3 x float> %171, i32 1 store float %177, float addrspace(3)* %arrayidx308.pre-phi, align 4, !tbaa !39 %178 = extractelement <3 x float> %171, i32 2 store float %178, float addrspace(3)* %arrayidx311.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool312, i32 %x.i, i32 %y.i, i32 %add303.1) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul302.2 = or i32 %mul302, 16 %add303.2 = add i32 %mul302.2, %x.i %179 = extractelement <3 x float> %170, i32 0 store float %179, float addrspace(3)* %arrayidx305.pre-phi, align 4, !tbaa !39 %180 = extractelement <3 x float> %170, i32 1 store float %180, float addrspace(3)* %arrayidx308.pre-phi, align 4, !tbaa !39 %181 = extractelement <3 x float> %170, i32 2 store float %181, float addrspace(3)* %arrayidx311.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool312, i32 %x.i, i32 %y.i, i32 %add303.2) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul302.3 = or i32 %mul302, 24 %add303.3 = add i32 %mul302.3, %x.i %182 = extractelement <3 x float> %169, i32 0 store float %182, float addrspace(3)* %arrayidx305.pre-phi, align 4, !tbaa !39 %183 = extractelement <3 x float> %169, i32 1 store float %183, float addrspace(3)* %arrayidx308.pre-phi, align 4, !tbaa !39 %184 = extractelement <3 x float> %169, i32 2 store float %184, float addrspace(3)* %arrayidx311.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool312, i32 %x.i, i32 %y.i, i32 %add303.3) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul302.4 = or i32 %mul302, 32 %add303.4 = add i32 %mul302.4, %x.i %185 = extractelement <3 x float> %168, i32 0 store float %185, float addrspace(3)* %arrayidx305.pre-phi, align 4, !tbaa !39 %186 = extractelement <3 x float> %168, i32 1 store float %186, float addrspace(3)* %arrayidx308.pre-phi, align 4, !tbaa !39 %187 = extractelement <3 x float> %168, i32 2 store float %187, float addrspace(3)* %arrayidx311.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool312, i32 %x.i, i32 %y.i, i32 %add303.4) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul302.5 = or i32 %mul302, 40 %add303.5 = add i32 %mul302.5, %x.i %188 = extractelement <3 x float> %167, i32 0 store float %188, float addrspace(3)* %arrayidx305.pre-phi, align 4, !tbaa !39 %189 = extractelement <3 x float> %167, i32 1 store float %189, float addrspace(3)* %arrayidx308.pre-phi, align 4, !tbaa !39 %190 = extractelement <3 x float> %167, i32 2 store float %190, float addrspace(3)* %arrayidx311.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool312, i32 %x.i, i32 %y.i, i32 %add303.5) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul302.6 = or i32 %mul302, 48 %add303.6 = add i32 %mul302.6, %x.i %191 = extractelement <3 x float> %166, i32 0 store float %191, float addrspace(3)* %arrayidx305.pre-phi, align 4, !tbaa !39 %192 = extractelement <3 x float> %166, i32 1 store float %192, float addrspace(3)* %arrayidx308.pre-phi, align 4, !tbaa !39 %193 = extractelement <3 x float> %166, i32 2 store float %193, float addrspace(3)* %arrayidx311.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool312, i32 %x.i, i32 %y.i, i32 %add303.6) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul302.7 = or i32 %mul302, 56 %add303.7 = add i32 %mul302.7, %x.i %194 = extractelement <3 x float> %165, i32 0 store float %194, float addrspace(3)* %arrayidx305.pre-phi, align 4, !tbaa !39 %195 = extractelement <3 x float> %165, i32 1 store float %195, float addrspace(3)* %arrayidx308.pre-phi, align 4, !tbaa !39 %196 = extractelement <3 x float> %165, i32 2 store float %196, float addrspace(3)* %arrayidx311.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool312, i32 %x.i, i32 %y.i, i32 %add303.7) #5 tail call void @llvm.amdgcn.s.barrier() #5 %cmp318 = icmp ult i32 %y.i, 3 %or.cond335 = and i1 %cmp318, %tobool312 br i1 %or.cond335, label %if.then320, label %if.end326 if.then320: ; preds = %for.end290 %add323 = add i32 %mul38, %y.i %197 = sext i32 %add323 to i64 %arrayidx324 = getelementptr inbounds float, float addrspace(1)* %fshift, i64 %197 %198 = load float, float* %fshift_buf, align 4, !tbaa !39 %199 = load volatile float, float addrspace(1)* %arrayidx324, align 4, !tbaa !39 %200 = bitcast float %199 to i32 %201 = bitcast float addrspace(1)* %arrayidx324 to i32 addrspace(1)* br label %do.body.i do.body.i: ; preds = %do.body.i, %if.then320 %current.sroa.0.0.i = phi i32 [ %200, %if.then320 ], [ %205, %do.body.i ] %202 = bitcast i32 %current.sroa.0.0.i to float %add.i = fadd float %198, %202 %203 = bitcast float %add.i to i32 %204 = cmpxchg volatile i32 addrspace(1)* %201, i32 %current.sroa.0.0.i, i32 %203 seq_cst seq_cst %205 = extractvalue { i32, i1 } %204, 0 %cmp.i = extractvalue { i32, i1 } %204, 1 br i1 %cmp.i, label %if.end326.loopexit, label %do.body.i if.end326.loopexit: ; preds = %do.body.i br label %if.end326 if.end326: ; preds = %if.end326.loopexit, %for.end290 store float %E_lj.0.lcssa, float addrspace(3)* %arrayidx305.pre-phi, align 4, !tbaa !39 store float %E_el.2.lcssa, float addrspace(3)* %arrayidx308.pre-phi, align 4, !tbaa !39 %and330 = and i32 %add, 32 %add.ptr331 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %and330 %and332 = and i32 %add, -33 tail call fastcc void @reduce_energy_pow2(float addrspace(3)* %add.ptr331, float addrspace(1)* %e_lj, float addrspace(1)* %e_el, i32 %and332) call void @llvm.lifetime.end(i64 128, i8* %1) #5 call void @llvm.lifetime.end(i64 4, i8* %0) #5 ret void } ; Function Attrs: nounwind define void @nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_prune_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 %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 %fci_buf = alloca [8 x <3 x float>], align 16 %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.i624 = tail call i32 @llvm.r600.read.local.size.x() #2 %mul29 = mul i32 %x.i624, %y.i %add = add i32 %mul29, %x.i %x.i625 = 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 %1 = bitcast [8 x <3 x float>]* %fci_buf to i8* call void @llvm.lifetime.start(i64 128, i8* %1) #5 %add.ptr = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 64 %2 = bitcast <4 x float> addrspace(3)* %add.ptr to i32 addrspace(3)* %3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 0 %add.ptr33 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 192 %4 = sext i32 %x.i625 to i64 %nb_sci.sroa.0.0..sroa_idx = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, 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_idx364 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 1 %nb_sci.sroa.4.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.4.0..sroa_idx364, align 4 %nb_sci.sroa.11.0..sroa_idx372 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 2 %nb_sci.sroa.11.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.11.0..sroa_idx372, align 4 %nb_sci.sroa.12.0..sroa_idx374 = getelementptr inbounds %struct.nbnxn_sci_t, %struct.nbnxn_sci_t addrspace(1)* %pl_sci, i64 %4, i32 3 %nb_sci.sroa.12.0.copyload = load i32, i32 addrspace(1)* %nb_sci.sroa.12.0..sroa_idx374, align 4 %mul35 = shl nsw i32 %nb_sci.sroa.0.0.copyload, 3 %add36 = add i32 %mul35, %y.i %mul37 = shl i32 %add36, 3 %add38 = add i32 %mul37, %x.i %5 = sext i32 %add38 to i64 %arrayidx39 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %5 %6 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx39, align 16, !tbaa !36 %mul40 = mul nsw i32 %nb_sci.sroa.4.0.copyload, 3 %7 = sext i32 %mul40 to i64 %arrayidx41 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %7 %8 = load float, float addrspace(1)* %arrayidx41, align 4, !tbaa !39 %vecinit = insertelement <4 x float> undef, float %8, i32 0 %add44 = add nsw i32 %mul40, 1 %9 = sext i32 %add44 to i64 %arrayidx45 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %9 %10 = load float, float addrspace(1)* %arrayidx45, align 4, !tbaa !39 %vecinit46 = insertelement <4 x float> %vecinit, float %10, i32 1 %add49 = add nsw i32 %mul40, 2 %11 = sext i32 %add49 to i64 %arrayidx50 = getelementptr inbounds float, float addrspace(1)* %shift_vec, i64 %11 %12 = load float, float addrspace(1)* %arrayidx50, align 4, !tbaa !39 %vecinit51 = insertelement <4 x float> %vecinit46, float %12, i32 2 %vecinit52 = insertelement <4 x float> %vecinit51, float 0.000000e+00, i32 3 %add53 = fadd <4 x float> %6, %vecinit52 %13 = extractelement <4 x float> %add53, i32 3 %mul55 = fmul float %13, %nbparam_params_epsfac %14 = insertelement <4 x float> %add53, float %mul55, i32 3 %mul56 = shl nuw nsw i32 %y.i, 3 %add57 = add nuw nsw i32 %mul56, %x.i %arrayidx58 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add57 store <4 x float> %14, <4 x float> addrspace(3)* %arrayidx58, align 16, !tbaa !36 %15 = or i32 %add, 32 %16 = icmp eq i32 %15, 32 br i1 %16, label %if.then, label %if.end if.then: ; preds = %entry %arrayidx62623 = getelementptr inbounds float, float addrspace(3)* %add.ptr33, i32 %div %arrayidx62 = bitcast float addrspace(3)* %arrayidx62623 to i32 addrspace(3)* store volatile i32 0, i32 addrspace(3)* %arrayidx62, align 4, !tbaa !41 br label %if.end if.end: ; preds = %entry, %if.then tail call void @llvm.amdgcn.s.barrier() #5 %arrayidx65 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 0 %storetmp = bitcast [8 x <3 x float>]* %fci_buf to <4 x float>* store <4 x float> , <4 x float>* %storetmp, align 16, !tbaa !36 %arrayidx65.1 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 1 %storetmp.1 = bitcast <3 x float>* %arrayidx65.1 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.1, align 16, !tbaa !36 %arrayidx65.2 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 2 %storetmp.2 = bitcast <3 x float>* %arrayidx65.2 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.2, align 16, !tbaa !36 %arrayidx65.3 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 3 %storetmp.3 = bitcast <3 x float>* %arrayidx65.3 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.3, align 16, !tbaa !36 %arrayidx65.4 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 4 %storetmp.4 = bitcast <3 x float>* %arrayidx65.4 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.4, align 16, !tbaa !36 %arrayidx65.5 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 5 %storetmp.5 = bitcast <3 x float>* %arrayidx65.5 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.5, align 16, !tbaa !36 %arrayidx65.6 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 6 %storetmp.6 = bitcast <3 x float>* %arrayidx65.6 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.6, align 16, !tbaa !36 %arrayidx65.7 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 7 %storetmp.7 = bitcast <3 x float>* %arrayidx65.7 to <4 x float>* store <4 x float> , <4 x float>* %storetmp.7, align 16, !tbaa !36 %cmp67 = icmp eq i32 %nb_sci.sroa.4.0.copyload, 22 br i1 %cmp67, label %land.lhs.true, label %for.cond93.preheader land.lhs.true: ; preds = %if.end %17 = sext i32 %nb_sci.sroa.11.0.copyload to i64 %arrayidx71 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %17, i32 0, i64 0 %18 = load i32, i32 addrspace(1)* %arrayidx71, align 4, !tbaa !41 %cmp73 = icmp eq i32 %18, %mul35 br i1 %cmp73, label %for.body79.preheader, label %for.cond93.preheader for.body79.preheader: ; preds = %land.lhs.true %arrayidx82 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %x.i %19 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx82, align 16 %20 = extractelement <4 x float> %19, i32 3 %21 = tail call float @llvm.fmuladd.f32(float %20, float %20, float 0.000000e+00) %add81.1 = add nuw nsw i32 %x.i, 8 %arrayidx82.1 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add81.1 %22 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx82.1, align 16 %23 = extractelement <4 x float> %22, i32 3 %24 = tail call float @llvm.fmuladd.f32(float %23, float %23, float %21) %add81.2 = add nuw nsw i32 %x.i, 16 %arrayidx82.2 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add81.2 %25 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx82.2, align 16 %26 = extractelement <4 x float> %25, i32 3 %27 = tail call float @llvm.fmuladd.f32(float %26, float %26, float %24) %add81.3 = add nuw nsw i32 %x.i, 24 %arrayidx82.3 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add81.3 %28 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx82.3, align 16 %29 = extractelement <4 x float> %28, i32 3 %30 = tail call float @llvm.fmuladd.f32(float %29, float %29, float %27) %add81.4 = add nuw nsw i32 %x.i, 32 %arrayidx82.4 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add81.4 %31 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx82.4, align 16 %32 = extractelement <4 x float> %31, i32 3 %33 = tail call float @llvm.fmuladd.f32(float %32, float %32, float %30) %add81.5 = add nuw nsw i32 %x.i, 40 %arrayidx82.5 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add81.5 %34 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx82.5, align 16 %35 = extractelement <4 x float> %34, i32 3 %36 = tail call float @llvm.fmuladd.f32(float %35, float %35, float %33) %add81.6 = add nuw nsw i32 %x.i, 48 %arrayidx82.6 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add81.6 %37 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx82.6, align 16 %38 = extractelement <4 x float> %37, i32 3 %39 = tail call float @llvm.fmuladd.f32(float %38, float %38, float %36) %add81.7 = add nuw nsw i32 %x.i, 56 %arrayidx82.7 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %add81.7 %40 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx82.7, align 16 %41 = extractelement <4 x float> %40, i32 3 %42 = tail call float @llvm.fmuladd.f32(float %41, float %41, float %39) %mul88 = fmul float %nbparam_params_epsfac, 8.000000e+00 %div89 = fdiv float %42, %mul88, !fpmath !46 %mul90 = fmul float %nbparam_params_ewald_beta, 0xBFE20DD760000000 %mul91 = fmul float %mul90, %div89 br label %for.cond93.preheader for.cond93.preheader: ; preds = %for.body79.preheader, %land.lhs.true, %if.end %E_el.2.ph = phi float [ 0.000000e+00, %if.end ], [ 0.000000e+00, %land.lhs.true ], [ %mul91, %for.body79.preheader ] %cmp94645 = icmp slt i32 %nb_sci.sroa.11.0.copyload, %nb_sci.sroa.12.0.copyload br i1 %cmp94645, label %for.body96.lr.ph, label %for.cond93.preheader.for.end297_crit_edge for.cond93.preheader.for.end297_crit_edge: ; preds = %for.cond93.preheader %.pre669 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %.pre670 = add i32 %add, 64 %.pre671 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre670 %.pre672 = add i32 %add, 128 %.pre673 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %.pre672 br label %for.end297 for.body96.lr.ph: ; preds = %for.cond93.preheader %43 = zext i32 %div to i64 %and = and i32 %add, 31 %44 = zext i32 %and to i64 %45 = or i32 %y.i, 4 %46 = icmp eq i32 %45, 4 %cmp111 = icmp ult i32 %x.i, 4 %or.cond341 = and i1 %cmp111, %46 %47 = zext i32 %x.i to i64 %add119 = add nuw nsw i32 %y.i, %x.i %arrayidx120 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add119 %mul133 = and i32 %y.i, 4 %arrayidx173622 = getelementptr inbounds float, float addrspace(3)* %add.ptr33, i32 %div %arrayidx173 = bitcast float addrspace(3)* %arrayidx173622 to i32 addrspace(3)* %cmp189 = icmp ugt i32 %y.i, %x.i %arrayidx282 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add %add283 = add i32 %add, 64 %arrayidx284 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add283 %add285 = add i32 %add, 128 %arrayidx286 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %add285 %48 = zext i32 %mul35 to i64 %49 = sext i32 %nb_sci.sroa.11.0.copyload to i64 %50 = zext i32 %x.i to i64 br label %for.body96 for.body96: ; preds = %for.end290, %for.body96.lr.ph %indvars.iv658 = phi i64 [ %49, %for.body96.lr.ph ], [ %indvars.iv.next659, %for.end290 ] %E_lj.0647 = phi float [ 0.000000e+00, %for.body96.lr.ph ], [ %E_lj.4.lcssa, %for.end290 ] %E_el.2646 = phi float [ %E_el.2.ph, %for.body96.lr.ph ], [ %E_el.6.lcssa, %for.end290 ] %excl_ind = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv658, i32 1, i64 %43, i32 1 %51 = load i32, i32 addrspace(1)* %excl_ind, align 4, !tbaa !43 %imask102 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv658, i32 1, i64 %43, i32 0 %52 = load i32, i32 addrspace(1)* %imask102, align 4, !tbaa !45 %53 = sext i32 %51 to i64 %arrayidx104 = getelementptr inbounds %struct.nbnxn_excl_t, %struct.nbnxn_excl_t addrspace(1)* %excl, i64 %53, i32 0, i64 %44 %54 = load i32, i32 addrspace(1)* %arrayidx104, align 4, !tbaa !41 br i1 %or.cond341, label %if.then113, label %for.body125.preheader if.then113: ; preds = %for.body96 %arrayidx116 = getelementptr inbounds %struct.nbnxn_cj4_t, %struct.nbnxn_cj4_t addrspace(1)* %pl_cj4, i64 %indvars.iv658, i32 0, i64 %47 %55 = load i32, i32 addrspace(1)* %arrayidx116, align 4, !tbaa !41 store i32 %55, i32 addrspace(3)* %arrayidx120, align 4, !tbaa !41 br label %for.body125.preheader for.body125.preheader: ; preds = %for.body96, %if.then113 br label %for.body125 for.body125: ; preds = %for.body125.preheader, %for.inc288 %jm.0644 = phi i32 [ %inc289, %for.inc288 ], [ 0, %for.body125.preheader ] %E_lj.1643 = phi float [ %E_lj.4, %for.inc288 ], [ %E_lj.0647, %for.body125.preheader ] %E_el.3642 = phi float [ %E_el.6, %for.inc288 ], [ %E_el.2646, %for.body125.preheader ] %imask.0641 = phi i32 [ %imask.4, %for.inc288 ], [ %52, %for.body125.preheader ] %mul126 = shl nsw i32 %jm.0644, 3 %shl = shl i32 255, %mul126 %and127 = and i32 %imask.0641, %shl %tobool = icmp eq i32 %and127, 0 br i1 %tobool, label %for.inc288, label %if.then128 if.then128: ; preds = %for.body125 %shl131 = shl i32 1, %mul126 %add135 = add nuw nsw i32 %jm.0644, %mul133 %arrayidx136 = getelementptr inbounds i32, i32 addrspace(3)* %2, i32 %add135 %56 = load i32, i32 addrspace(3)* %arrayidx136, align 4, !tbaa !41 %mul137 = shl nsw i32 %56, 3 %add138 = add i32 %mul137, %y.i %57 = sext i32 %add138 to i64 %arrayidx139 = getelementptr inbounds <4 x float>, <4 x float> addrspace(1)* %xq, i64 %57 %58 = load <4 x float>, <4 x float> addrspace(1)* %arrayidx139, align 16, !tbaa !36 %59 = extractelement <4 x float> %58, i32 3 %arrayidx141 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %57 %60 = load i32, i32 addrspace(1)* %arrayidx141, align 4, !tbaa !41 br label %for.body146 for.body146: ; preds = %if.end277, %if.then128 %indvars.iv675 = phi i64 [ %indvars.iv.next676, %if.end277 ], [ 0, %if.then128 ] %i.1640 = phi i32 [ %inc280, %if.end277 ], [ 0, %if.then128 ] %fcj_buf.sroa.0.0639 = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end277 ], [ , %if.then128 ] %E_lj.2638 = phi float [ %E_lj.3, %if.end277 ], [ %E_lj.1643, %if.then128 ] %E_el.4637 = phi float [ %E_el.5, %if.end277 ], [ %E_el.3642, %if.then128 ] %imask.1636 = phi i32 [ %imask.3, %if.end277 ], [ %imask.0641, %if.then128 ] %mask_ji.0634 = phi i32 [ %add278, %if.end277 ], [ %shl131, %if.then128 ] %and147 = and i32 %mask_ji.0634, %imask.1636 %tobool148 = icmp eq i32 %and147, 0 br i1 %tobool148, label %if.end277, label %if.then149 if.then149: ; preds = %for.body146 %61 = add nuw nsw i64 %indvars.iv675, %48 %add151 = add nuw nsw i32 %i.1640, %mul35 %mul152 = shl i32 %add151, 3 %add153 = add i32 %mul152, %x.i %62 = shl i64 %indvars.iv675, 3 %63 = add nuw nsw i64 %62, %50 %64 = trunc i64 %63 to i32 %arrayidx156 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 %64 %65 = load <4 x float>, <4 x float> addrspace(3)* %arrayidx156, align 16, !tbaa !36 %66 = fsub <4 x float> %65, %58 %extractVec168 = shufflevector <4 x float> %66, <4 x float> undef, <3 x i32> %67 = extractelement <4 x float> %66, i32 0 %68 = extractelement <4 x float> %66, i32 1 %mul3.i.i632 = fmul float %68, %68 %69 = tail call float @llvm.fmuladd.f32(float %67, float %67, float %mul3.i.i632) #5 %70 = extractelement <4 x float> %66, i32 2 %71 = tail call float @llvm.fmuladd.f32(float %70, float %70, float %69) #5 %cmp170 = fcmp olt float %71, %nbparam_params_rlist_sq br i1 %cmp170, label %if.then172, label %if.end174 if.then172: ; preds = %if.then149 store volatile i32 1, i32 addrspace(3)* %arrayidx173, align 4, !tbaa !41 br label %if.end174 if.end174: ; preds = %if.then172, %if.then149 %72 = load volatile i32, i32 addrspace(3)* %arrayidx173, align 4, !tbaa !41 %tobool176 = icmp eq i32 %72, 0 %neg = xor i32 %mask_ji.0634, -1 %and178 = select i1 %tobool176, i32 %neg, i32 -1 %imask.2 = and i32 %and178, %imask.1636 store volatile i32 0, i32 addrspace(3)* %arrayidx173, align 4, !tbaa !41 %and181 = and i32 %mask_ji.0634, %54 %tobool182 = icmp ne i32 %and181, 0 %cond = select i1 %tobool182, float 1.000000e+00, float 0.000000e+00 %73 = trunc i64 %61 to i32 %cmp187 = icmp eq i32 %73, %56 %or.cond = and i1 %cmp67, %cmp187 %not.or.cond = xor i1 %or.cond, true %cmp189. = or i1 %cmp189, %not.or.cond %conv191 = uitofp i1 %cmp189. to float %mul192 = fmul float %conv191, %nbparam_params_rcoulomb_sq %cmp193 = fcmp olt float %71, %mul192 br i1 %cmp193, label %if.then195, label %if.end277 if.then195: ; preds = %if.end174 %74 = extractelement <4 x float> %65, i32 3 %75 = sext i32 %add153 to i64 %arrayidx196 = getelementptr inbounds i32, i32 addrspace(1)* %atom_types, i64 %75 %76 = load i32, i32 addrspace(1)* %arrayidx196, align 4, !tbaa !41 %mul197 = mul nsw i32 %76, %ntypes %add198 = add nsw i32 %mul197, %60 %mul199 = shl nsw i32 %add198, 1 %77 = sext i32 %mul199 to i64 %arrayidx200 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %77 %78 = load float, float addrspace(2)* %arrayidx200, align 4, !tbaa !39 %add204 = or i32 %mul199, 1 %79 = sext i32 %add204 to i64 %arrayidx205 = getelementptr inbounds float, float addrspace(2)* %nbfp_climg2d, i64 %79 %80 = load float, float addrspace(2)* %arrayidx205, align 4, !tbaa !39 %sub206 = fsub float 1.000000e+00, %cond %81 = tail call float @llvm.fmuladd.f32(float %sub206, float 0x3D71979980000000, float %71) %cmp.i.i630 = fcmp olt float %81, 0.000000e+00 %call.i.i = tail call float @llvm.sqrt.f32(float %81) #6 %call.i.i.op = fdiv float 1.000000e+00, %call.i.i %div209 = select i1 %cmp.i.i630, float 0x7FF8000000000000, float %call.i.i.op %mul210 = fmul float %div209, %div209 %mul211 = fmul float %mul210, %mul210 %mul212 = fmul float %mul210, %mul211 %mul213 = fmul float %cond, %mul212 %neg215 = fsub float -0.000000e+00, %78 %82 = tail call float @llvm.fmuladd.f32(float %80, float %mul213, float %neg215) %mul216 = fmul float %mul213, %82 %mul217 = fmul float %mul210, %mul216 %83 = tail call float @llvm.fmuladd.f32(float %mul213, float %mul213, float %nbparam_params_repulsion_shift_cpot) %mul221 = fmul float %83, %80 %add225 = fadd float %mul213, %nbparam_params_dispersion_shift_cpot %mul226 = fmul float %add225, %78 %mul227 = fmul float %mul226, 0x3FC5555560000000 %neg228 = fsub float -0.000000e+00, %mul227 %84 = tail call float @llvm.fmuladd.f32(float %mul221, float 0x3FB5555540000000, float %neg228) %mul229 = fmul float %cond, %84 %cmp230 = fcmp olt float %81, %nbparam_params_rvdw_sq %cond232 = select i1 %cmp230, float 1.000000e+00, float 0.000000e+00 %mul233 = fmul float %cond232, %mul217 %mul234 = fmul float %cond232, %mul229 %add235 = fadd float %E_lj.2638, %mul234 %mul236 = fmul float %59, %74 %mul237 = fmul float %cond, %mul210 %mul239 = fmul float %mul, %81 %mul.i628 = fmul float %mul239, %mul239 %85 = tail call float @llvm.fmuladd.f32(float 0x3F5256E0E0000000, float %mul.i628, float 0x3FBDA79640000000) #5 %86 = tail call float @llvm.fmuladd.f32(float 0x3F8E7290E0000000, float %mul.i628, float 0x3FE03C5780000000) #5 %87 = tail call float @llvm.fmuladd.f32(float %85, float %mul.i628, float 1.000000e+00) #5 %88 = tail call float @llvm.fmuladd.f32(float %86, float %mul239, float %87) #5 %div.i629 = fdiv float 1.000000e+00, %88, !fpmath !46 %89 = tail call float @llvm.fmuladd.f32(float 0xBE52A32500000000, float %mul.i628, float 0xBF0BFF7260000000) #5 %90 = tail call float @llvm.fmuladd.f32(float 0x3EB8AB28A0000000, float %mul.i628, float 0x3F50794180000000) #5 %91 = tail call float @llvm.fmuladd.f32(float %89, float %mul.i628, float 0xBF93BDB200000000) #5 %92 = tail call float @llvm.fmuladd.f32(float %90, float %mul.i628, float 0x3FB1D5E760000000) #5 %93 = tail call float @llvm.fmuladd.f32(float %91, float %mul.i628, float 0xBFE81272E0000000) #5 %94 = tail call float @llvm.fmuladd.f32(float %92, float %mul239, float %93) #5 %mul11.i = fmul float %94, %div.i629 %mul241 = fmul float %mul21, %mul11.i %95 = tail call float @llvm.fmuladd.f32(float %mul237, float %div209, float %mul241) %96 = tail call float @llvm.fmuladd.f32(float %mul236, float %95, float %mul233) %mul244 = fmul float %81, %div209 %mul245 = fmul float %mul244, %nbparam_params_ewald_beta %fabs.i = tail call float @llvm.fabs.f32(float %mul245) #5 %and.i = bitcast float %fabs.i to i32 %mul.i = fmul float %mul245, %mul245 %div.i = fdiv float 1.000000e+00, %mul.i, !fpmath !46 %sub.i = fadd float %fabs.i, -1.000000e+00 %cmp.i626 = fcmp olt float %fabs.i, 1.250000e+00 %cond.i = select i1 %cmp.i626, 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 %97 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xC07E384EA0000000, float 0xC090046160000000) #5 %98 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %97, float 0xC083EC8820000000) #5 %99 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %98, float 0xC064145D40000000) #5 %100 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %99, float 0xC031C20960000000) #5 %101 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %100, float 0xBFE993BA80000000) #5 %102 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %101, float 0xBF84341240000000) #5 %103 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xC03670E240000000, float 0x407DA874E0000000) #5 %104 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %103, float 0x40A3F219C0000000) #5 %105 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %104, float 0x40A8FFB760000000) #5 %106 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %105, float 0x409802EB20000000) #5 %107 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %106, float 0x40745CAE20000000) #5 %108 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %107, float 0x403E568B20000000) #5 %109 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xC023A0EFC0000000, float 0xC054526560000000) #5 %110 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %109, float 0xC067135CE0000000) #5 %111 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %110, float 0xC0644CB180000000) #5 %112 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %111, float 0xC04F300AE0000000) #5 %113 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %112, float 0xC0251E0440000000) #5 %114 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %113, float 0xBFE63416E0000000) #5 %115 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %114, float 0xBF84341260000000) #5 %116 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBFAEEFF2E0000000, float 0x401A47EF80000000) #5 %117 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %116, float 0x405B28A3E0000000) #5 %118 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %117, float 0x407AD02160000000) #5 %119 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %118, float 0x40842B1920000000) #5 %120 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %119, float 0x407B290DE0000000) #5 %121 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %120, float 0x4061350C60000000) #5 %122 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %121, float 0x4033A6B9C0000000) #5 %cmp32.i = fcmp olt float %fabs.i, 0x4006DB6DA0000000 %cond36.i = select i1 %cmp32.i, float %115, float %102 %cond41.i = select i1 %cmp32.i, float %122, float %108 %123 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBF61BF3800000000, float 0x3FA22A3660000000) #5 %124 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %123, float 0xBFBC639840000000) #5 %125 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %124, float 0x3FD45FCA80000000) #5 %126 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %125, float 0xBFD7D24100000000) #5 %127 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %126, float 0x3FDA8D00A0000000) #5 %128 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %127, float 0xBF6359B8C0000000) #5 %129 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0x3F888B5460000000, float 0x3F8BEDC260000000) #5 %130 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %129, float 0x3FC02660E0000000) #5 %131 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %130, float 0x3FB2635CE0000000) #5 %132 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %131, float 0x3FE14AF0A0000000) #5 %133 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %132, float 0x3FBB3E6620000000) #5 %cond57.i = select i1 %cmp.i626, float %128, float %cond36.i %cond62.i = select i1 %cmp.i626, float %133, float %cond41.i %134 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBEF8EAD620000000, float 0xBF77A29120000000) #5 %135 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %134, float 0xBF9D2A51E0000000) #5 %136 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %135, float 0xBFD4CD7D60000000) #5 %137 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %136, float 0x3FC06EBA80000000) #5 %138 = tail call float @llvm.fmuladd.f32(float %cond6.i, float 0xBED09C4340000000, float 0x3F215DC920000000) #5 %139 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %138, float 0x3F74D022C0000000) #5 %140 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %139, float 0x3FB0A54C60000000) #5 %141 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %140, float 0x3FD97779C0000000) #5 %cond75.i = select i1 %cmp2.i, float %137, float %cond57.i %cond80.i = select i1 %cmp2.i, float %141, float %cond62.i %142 = tail call float @llvm.fmuladd.f32(float %cond6.i, float %cond80.i, float 1.000000e+00) #5 %div82.i = fdiv float %cond75.i, %142, !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 %143 = tail call float @llvm.fmuladd.f32(float %sub85.i, float %astype84.i, float -5.625000e-01) #5 %cmp.i2.i = fcmp olt float %143, 0.000000e+00 %cond.i3.i = select i1 %cmp.i2.i, float -5.000000e-01, float 5.000000e-01 %144 = tail call float @llvm.fmuladd.f32(float %143, float 0x3FF7154760000000, float %cond.i3.i) #5 %conv.i4.i = fptosi float %144 to i32 %conv1.i5.i = sitofp i32 %conv.i4.i to float %145 = tail call float @llvm.fmuladd.f32(float %conv1.i5.i, float 0xBFE62E3000000000, float %143) #5 %mul.i6.i = fmul float %conv1.i5.i, 0xBEE2FEFA20000000 %add.i7.i = fadd float %145, %mul.i6.i %mul3.i8.i = fmul float %add.i7.i, %add.i7.i %146 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %147 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %146, float 0x3F11566AA0000000) #5 %148 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %147, float 0xBF66C16C20000000) #5 %149 = tail call float @llvm.fmuladd.f32(float %mul3.i8.i, float %148, float 0x3FC5555560000000) #5 %sub8.i9.i = fsub float -0.000000e+00, %149 %150 = 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, %150 %sub12.i12.i = fsub float 2.000000e+00, %150 %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, %145 %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 %143, 0xC055D589E0000000 %cond20.i22.i = select i1 %cmp18.i21.i, float 0.000000e+00, float %astype17.i20.i %cmp21.i23.i = fcmp olt float %143, 0x40562E4300000000 %cond26.i24.i = select i1 %cmp21.i23.i, float %cond20.i22.i, float 0x7FF0000000000000 %cmp.i.i25.i = fcmp uno float %143, 0.000000e+00 %cond31.i26.i = select i1 %cmp.i.i25.i, float %143, float %cond26.i24.i %sub88.i = fsub float %astype84.i, %fabs.i %add.i627 = fadd float %fabs.i, %astype84.i %151 = tail call float @llvm.fmuladd.f32(float %sub88.i, float %add.i627, float %div82.i) #5 %cmp.i1.i = fcmp olt float %151, 0.000000e+00 %cond.i.i = select i1 %cmp.i1.i, float -5.000000e-01, float 5.000000e-01 %152 = tail call float @llvm.fmuladd.f32(float %151, float 0x3FF7154760000000, float %cond.i.i) #5 %conv.i.i = fptosi float %152 to i32 %conv1.i.i = sitofp i32 %conv.i.i to float %153 = tail call float @llvm.fmuladd.f32(float %conv1.i.i, float 0xBFE62E3000000000, float %151) #5 %mul.i.i = fmul float %conv1.i.i, 0xBEE2FEFA20000000 %add.i.i = fadd float %153, %mul.i.i %mul3.i.i = fmul float %add.i.i, %add.i.i %154 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float 0x3E66376980000000, float 0xBEBBBD41C0000000) #5 %155 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %154, float 0x3F11566AA0000000) #5 %156 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %155, float 0xBF66C16C20000000) #5 %157 = tail call float @llvm.fmuladd.f32(float %mul3.i.i, float %156, float 0x3FC5555560000000) #5 %sub8.i.i = fsub float -0.000000e+00, %157 %158 = 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, %158 %sub12.i.i = fsub float 2.000000e+00, %158 %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, %153 %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 %151, 0xC055D589E0000000 %cond20.i.i = select i1 %cmp18.i.i, float 0.000000e+00, float %astype17.i.i %cmp21.i.i = fcmp olt float %151, 0x40562E4300000000 %cond26.i.i = select i1 %cmp21.i.i, float %cond20.i.i, float 0x7FF0000000000000 %cmp.i.i.i = fcmp uno float %151, 0.000000e+00 %cond31.i.i = select i1 %cmp.i.i.i, float %151, 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 %mul245, 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.i626, float %cond111.i, float %cond103.i %sub117.i = fadd float %mul245, -5.000000e-01 %159 = tail call float @llvm.fmuladd.f32(float %mul245, float %div82.i, float %sub117.i) #5 %sub119.i = fsub float 5.000000e-01, %159 %cond124.i = select i1 %cmp2.i, float %sub119.i, float %cond116.i %cmp125.i = fcmp olt float %mul245, -6.000000e+00 %cond129.i = select i1 %cmp125.i, float 2.000000e+00, float %cond124.i %cmp.i.i = fcmp uno float %mul245, 0.000000e+00 %cond134.i = select i1 %cmp.i.i, float %mul245, float %cond129.i %mul248 = fmul float %cond, %nbparam_params_sh_ewald %neg249 = fsub float -0.000000e+00, %mul248 %160 = tail call float @llvm.fmuladd.f32(float %div209, float %cond134.i, float %neg249) %161 = tail call float @llvm.fmuladd.f32(float %mul236, float %160, float %E_el.4637) %splat.splatinsert = insertelement <3 x float> undef, float %96, i32 0 %splat.splat = shufflevector <3 x float> %splat.splatinsert, <3 x float> undef, <3 x i32> zeroinitializer %mul254 = fmul <3 x float> %extractVec168, %splat.splat %extractVec262 = shufflevector <4 x float> %fcj_buf.sroa.0.0639, <4 x float> undef, <3 x i32> %sub263 = fsub <3 x float> %extractVec262, %mul254 %extractVec264 = shufflevector <3 x float> %sub263, <3 x float> undef, <4 x i32> %arrayidx269 = getelementptr inbounds [8 x <3 x float>], [8 x <3 x float>]* %fci_buf, i32 0, i32 %i.1640 %castToVec4270 = bitcast <3 x float>* %arrayidx269 to <4 x float>* %loadVec4271 = load <4 x float>, <4 x float>* %castToVec4270, align 16 %extractVec272 = shufflevector <4 x float> %loadVec4271, <4 x float> undef, <3 x i32> %add273 = fadd <3 x float> %extractVec272, %mul254 %extractVec274 = shufflevector <3 x float> %add273, <3 x float> undef, <4 x i32> store <4 x float> %extractVec274, <4 x float>* %castToVec4270, align 16, !tbaa !36 br label %if.end277 if.end277: ; preds = %for.body146, %if.end174, %if.then195 %imask.3 = phi i32 [ %imask.2, %if.then195 ], [ %imask.2, %if.end174 ], [ %imask.1636, %for.body146 ] %E_el.5 = phi float [ %161, %if.then195 ], [ %E_el.4637, %if.end174 ], [ %E_el.4637, %for.body146 ] %E_lj.3 = phi float [ %add235, %if.then195 ], [ %E_lj.2638, %if.end174 ], [ %E_lj.2638, %for.body146 ] %fcj_buf.sroa.0.1 = phi <4 x float> [ %extractVec264, %if.then195 ], [ %fcj_buf.sroa.0.0639, %if.end174 ], [ %fcj_buf.sroa.0.0639, %for.body146 ] %add278 = shl i32 %mask_ji.0634, 1 %indvars.iv.next676 = add nuw nsw i64 %indvars.iv675, 1 %inc280 = add nuw nsw i32 %i.1640, 1 %exitcond = icmp eq i64 %indvars.iv.next676, 8 br i1 %exitcond, label %for.end281, label %for.body146 for.end281: ; preds = %if.end277 %fcj_buf.sroa.0.1.lcssa = phi <4 x float> [ %fcj_buf.sroa.0.1, %if.end277 ] %E_lj.3.lcssa = phi float [ %E_lj.3, %if.end277 ] %E_el.5.lcssa = phi float [ %E_el.5, %if.end277 ] %imask.3.lcssa = phi i32 [ %imask.3, %if.end277 ] %162 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 0 store float %162, float addrspace(3)* %arrayidx282, align 4, !tbaa !39 %163 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 1 store float %163, float addrspace(3)* %arrayidx284, align 4, !tbaa !39 %164 = extractelement <4 x float> %fcj_buf.sroa.0.1.lcssa, i32 2 store float %164, float addrspace(3)* %arrayidx286, align 4, !tbaa !39 tail call fastcc void @reduce_force_j_generic(float addrspace(3)* %3, float addrspace(1)* %f, i32 %x.i, i32 %y.i, i32 %add138) br label %for.inc288 for.inc288: ; preds = %for.body125, %for.end281 %imask.4 = phi i32 [ %imask.3.lcssa, %for.end281 ], [ %imask.0641, %for.body125 ] %E_el.6 = phi float [ %E_el.5.lcssa, %for.end281 ], [ %E_el.3642, %for.body125 ] %E_lj.4 = phi float [ %E_lj.3.lcssa, %for.end281 ], [ %E_lj.1643, %for.body125 ] %inc289 = add nuw nsw i32 %jm.0644, 1 %exitcond657 = icmp eq i32 %inc289, 4 br i1 %exitcond657, label %for.end290, label %for.body125 for.end290: ; preds = %for.inc288 %E_lj.4.lcssa = phi float [ %E_lj.4, %for.inc288 ] %E_el.6.lcssa = phi float [ %E_el.6, %for.inc288 ] %imask.4.lcssa = phi i32 [ %imask.4, %for.inc288 ] store i32 %imask.4.lcssa, i32 addrspace(1)* %imask102, align 4, !tbaa !45 %indvars.iv.next659 = add nsw i64 %indvars.iv658, 1 %lftr.wideiv = trunc i64 %indvars.iv.next659 to i32 %exitcond660 = icmp eq i32 %lftr.wideiv, %nb_sci.sroa.12.0.copyload br i1 %exitcond660, label %for.end297.loopexit, label %for.body96 for.end297.loopexit: ; preds = %for.end290 %E_lj.4.lcssa.lcssa = phi float [ %E_lj.4.lcssa, %for.end290 ] %E_el.6.lcssa.lcssa = phi float [ %E_el.6.lcssa, %for.end290 ] %.pre = load <3 x float>, <3 x float>* %arrayidx65, align 16 %.pre663 = load <3 x float>, <3 x float>* %arrayidx65.1, align 16 %.pre664 = load <3 x float>, <3 x float>* %arrayidx65.2, align 16 %.pre665 = load <3 x float>, <3 x float>* %arrayidx65.3, align 16 %.pre666 = load <3 x float>, <3 x float>* %arrayidx65.4, align 16 %.pre667 = load <3 x float>, <3 x float>* %arrayidx65.5, align 16 %.pre668 = load <3 x float>, <3 x float>* %arrayidx65.6, align 16 %.pre681 = load <3 x float>, <3 x float>* %arrayidx65.7, align 16 br label %for.end297 for.end297: ; preds = %for.cond93.preheader.for.end297_crit_edge, %for.end297.loopexit %165 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond93.preheader.for.end297_crit_edge ], [ %.pre681, %for.end297.loopexit ] %arrayidx318.pre-phi = phi float addrspace(3)* [ %.pre673, %for.cond93.preheader.for.end297_crit_edge ], [ %arrayidx286, %for.end297.loopexit ] %arrayidx315.pre-phi = phi float addrspace(3)* [ %.pre671, %for.cond93.preheader.for.end297_crit_edge ], [ %arrayidx284, %for.end297.loopexit ] %arrayidx312.pre-phi = phi float addrspace(3)* [ %.pre669, %for.cond93.preheader.for.end297_crit_edge ], [ %arrayidx282, %for.end297.loopexit ] %166 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond93.preheader.for.end297_crit_edge ], [ %.pre668, %for.end297.loopexit ] %167 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond93.preheader.for.end297_crit_edge ], [ %.pre667, %for.end297.loopexit ] %168 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond93.preheader.for.end297_crit_edge ], [ %.pre666, %for.end297.loopexit ] %169 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond93.preheader.for.end297_crit_edge ], [ %.pre665, %for.end297.loopexit ] %170 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond93.preheader.for.end297_crit_edge ], [ %.pre664, %for.end297.loopexit ] %171 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond93.preheader.for.end297_crit_edge ], [ %.pre663, %for.end297.loopexit ] %172 = phi <3 x float> [ bitcast (i96 trunc (i128 bitcast (<4 x i32> to i128) to i96) to <3 x float>), %for.cond93.preheader.for.end297_crit_edge ], [ %.pre, %for.end297.loopexit ] %E_lj.0.lcssa = phi float [ 0.000000e+00, %for.cond93.preheader.for.end297_crit_edge ], [ %E_lj.4.lcssa.lcssa, %for.end297.loopexit ] %E_el.2.lcssa = phi float [ %E_el.2.ph, %for.cond93.preheader.for.end297_crit_edge ], [ %E_el.6.lcssa.lcssa, %for.end297.loopexit ] store float 0.000000e+00, float* %fshift_buf, align 4, !tbaa !39 %tobool319674 = icmp ne i32 %bCalcFshift, 0 %not.cmp67 = xor i1 %cmp67, true %tobool319 = and i1 %tobool319674, %not.cmp67 %mul309 = shl i32 %nb_sci.sroa.0.0.copyload, 6 %add310 = add i32 %mul309, %x.i %173 = extractelement <3 x float> %172, i32 0 store float %173, float addrspace(3)* %arrayidx312.pre-phi, align 4, !tbaa !39 %174 = extractelement <3 x float> %172, i32 1 store float %174, float addrspace(3)* %arrayidx315.pre-phi, align 4, !tbaa !39 %175 = extractelement <3 x float> %172, i32 2 store float %175, float addrspace(3)* %arrayidx318.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool319, i32 %x.i, i32 %y.i, i32 %add310) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul309.1 = or i32 %mul309, 8 %add310.1 = add i32 %mul309.1, %x.i %176 = extractelement <3 x float> %171, i32 0 store float %176, float addrspace(3)* %arrayidx312.pre-phi, align 4, !tbaa !39 %177 = extractelement <3 x float> %171, i32 1 store float %177, float addrspace(3)* %arrayidx315.pre-phi, align 4, !tbaa !39 %178 = extractelement <3 x float> %171, i32 2 store float %178, float addrspace(3)* %arrayidx318.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool319, i32 %x.i, i32 %y.i, i32 %add310.1) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul309.2 = or i32 %mul309, 16 %add310.2 = add i32 %mul309.2, %x.i %179 = extractelement <3 x float> %170, i32 0 store float %179, float addrspace(3)* %arrayidx312.pre-phi, align 4, !tbaa !39 %180 = extractelement <3 x float> %170, i32 1 store float %180, float addrspace(3)* %arrayidx315.pre-phi, align 4, !tbaa !39 %181 = extractelement <3 x float> %170, i32 2 store float %181, float addrspace(3)* %arrayidx318.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool319, i32 %x.i, i32 %y.i, i32 %add310.2) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul309.3 = or i32 %mul309, 24 %add310.3 = add i32 %mul309.3, %x.i %182 = extractelement <3 x float> %169, i32 0 store float %182, float addrspace(3)* %arrayidx312.pre-phi, align 4, !tbaa !39 %183 = extractelement <3 x float> %169, i32 1 store float %183, float addrspace(3)* %arrayidx315.pre-phi, align 4, !tbaa !39 %184 = extractelement <3 x float> %169, i32 2 store float %184, float addrspace(3)* %arrayidx318.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool319, i32 %x.i, i32 %y.i, i32 %add310.3) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul309.4 = or i32 %mul309, 32 %add310.4 = add i32 %mul309.4, %x.i %185 = extractelement <3 x float> %168, i32 0 store float %185, float addrspace(3)* %arrayidx312.pre-phi, align 4, !tbaa !39 %186 = extractelement <3 x float> %168, i32 1 store float %186, float addrspace(3)* %arrayidx315.pre-phi, align 4, !tbaa !39 %187 = extractelement <3 x float> %168, i32 2 store float %187, float addrspace(3)* %arrayidx318.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool319, i32 %x.i, i32 %y.i, i32 %add310.4) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul309.5 = or i32 %mul309, 40 %add310.5 = add i32 %mul309.5, %x.i %188 = extractelement <3 x float> %167, i32 0 store float %188, float addrspace(3)* %arrayidx312.pre-phi, align 4, !tbaa !39 %189 = extractelement <3 x float> %167, i32 1 store float %189, float addrspace(3)* %arrayidx315.pre-phi, align 4, !tbaa !39 %190 = extractelement <3 x float> %167, i32 2 store float %190, float addrspace(3)* %arrayidx318.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool319, i32 %x.i, i32 %y.i, i32 %add310.5) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul309.6 = or i32 %mul309, 48 %add310.6 = add i32 %mul309.6, %x.i %191 = extractelement <3 x float> %166, i32 0 store float %191, float addrspace(3)* %arrayidx312.pre-phi, align 4, !tbaa !39 %192 = extractelement <3 x float> %166, i32 1 store float %192, float addrspace(3)* %arrayidx315.pre-phi, align 4, !tbaa !39 %193 = extractelement <3 x float> %166, i32 2 store float %193, float addrspace(3)* %arrayidx318.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool319, i32 %x.i, i32 %y.i, i32 %add310.6) #5 tail call void @llvm.amdgcn.s.barrier() #5 %mul309.7 = or i32 %mul309, 56 %add310.7 = add i32 %mul309.7, %x.i %194 = extractelement <3 x float> %165, i32 0 store float %194, float addrspace(3)* %arrayidx312.pre-phi, align 4, !tbaa !39 %195 = extractelement <3 x float> %165, i32 1 store float %195, float addrspace(3)* %arrayidx315.pre-phi, align 4, !tbaa !39 %196 = extractelement <3 x float> %165, i32 2 store float %196, float addrspace(3)* %arrayidx318.pre-phi, align 4, !tbaa !39 tail call void @llvm.amdgcn.s.barrier() #5 call fastcc void @reduce_force_i_pow2(float addrspace(3)* %3, float addrspace(1)* %f, float* nonnull %fshift_buf, i1 zeroext %tobool319, i32 %x.i, i32 %y.i, i32 %add310.7) #5 tail call void @llvm.amdgcn.s.barrier() #5 %cmp325 = icmp ult i32 %y.i, 3 %or.cond342 = and i1 %cmp325, %tobool319 br i1 %or.cond342, label %if.then327, label %if.end333 if.then327: ; preds = %for.end297 %add330 = add i32 %mul40, %y.i %197 = sext i32 %add330 to i64 %arrayidx331 = getelementptr inbounds float, float addrspace(1)* %fshift, i64 %197 %198 = load float, float* %fshift_buf, align 4, !tbaa !39 %199 = load volatile float, float addrspace(1)* %arrayidx331, align 4, !tbaa !39 %200 = bitcast float %199 to i32 %201 = bitcast float addrspace(1)* %arrayidx331 to i32 addrspace(1)* br label %do.body.i do.body.i: ; preds = %do.body.i, %if.then327 %current.sroa.0.0.i = phi i32 [ %200, %if.then327 ], [ %205, %do.body.i ] %202 = bitcast i32 %current.sroa.0.0.i to float %add.i = fadd float %198, %202 %203 = bitcast float %add.i to i32 %204 = cmpxchg volatile i32 addrspace(1)* %201, i32 %current.sroa.0.0.i, i32 %203 seq_cst seq_cst %205 = extractvalue { i32, i1 } %204, 0 %cmp.i = extractvalue { i32, i1 } %204, 1 br i1 %cmp.i, label %if.end333.loopexit, label %do.body.i if.end333.loopexit: ; preds = %do.body.i br label %if.end333 if.end333: ; preds = %if.end333.loopexit, %for.end297 store float %E_lj.0.lcssa, float addrspace(3)* %arrayidx312.pre-phi, align 4, !tbaa !39 store float %E_el.2.lcssa, float addrspace(3)* %arrayidx315.pre-phi, align 4, !tbaa !39 %and337 = and i32 %add, 32 %add.ptr338 = getelementptr inbounds <4 x float>, <4 x float> addrspace(3)* %xqib, i32 66, i32 %and337 %and339 = and i32 %add, -33 tail call fastcc void @reduce_energy_pow2(float addrspace(3)* %add.ptr338, float addrspace(1)* %e_lj, float addrspace(1)* %e_el, i32 %and339) call void @llvm.lifetime.end(i64 128, i8* %1) #5 call void @llvm.lifetime.end(i64 4, i8* %0) #5 ret void } ; Function Attrs: convergent nounwind declare void @llvm.amdgcn.s.barrier() #4 ; Function Attrs: nounwind readnone declare i32 @llvm.amdgcn.workgroup.id.x() #2 ; Function Attrs: nounwind readnone declare i32 @llvm.amdgcn.workitem.id.x() #2 ; Function Attrs: nounwind readnone declare i32 @llvm.amdgcn.workitem.id.y() #2 ; Function Attrs: nounwind readnone declare float @llvm.sqrt.f32(float) #2 ; Function Attrs: nounwind readnone declare i32 @llvm.r600.read.local.size.x() #2 ; Function Attrs: nounwind readnone declare float @llvm.fabs.f32(float) #2 attributes #0 = { nounwind "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="bonaire" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #1 = { argmemonly nounwind } attributes #2 = { nounwind readnone } attributes #3 = { norecurse nounwind "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "target-cpu"="bonaire" "unsafe-fp-math"="false" "use-soft-float"="false" } attributes #4 = { convergent nounwind } attributes #5 = { nounwind } attributes #6 = { nobuiltin nounwind } !opencl.kernels = !{!0, !6, !9, !12, !18, !25, !26, !27, !28, !30, !31, !32} !llvm.ident = !{!33, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34, !34} !0 = !{void (<3 x float> addrspace(1)*, float, i32)* @memset_f3, !1, !2, !3, !4, !5} !1 = !{!"kernel_arg_addr_space", i32 1, i32 0, i32 0} !2 = !{!"kernel_arg_access_qual", !"none", !"none", !"none"} !3 = !{!"kernel_arg_type", !"float3*", !"float", !"uint"} !4 = !{!"kernel_arg_base_type", !"float __attribute__((ext_vector_type(3)))*", !"float", !"uint"} !5 = !{!"kernel_arg_type_qual", !"", !"const", !"const"} !6 = !{void (<2 x float> addrspace(1)*, float, i32)* @memset_f2, !1, !2, !7, !8, !5} !7 = !{!"kernel_arg_type", !"float2*", !"float", !"uint"} !8 = !{!"kernel_arg_base_type", !"float __attribute__((ext_vector_type(2)))*", !"float", !"uint"} !9 = !{void (float addrspace(1)*, float, i32)* @memset_f, !1, !2, !10, !11, !5} !10 = !{!"kernel_arg_type", !"float*", !"float", !"uint"} !11 = !{!"kernel_arg_base_type", !"float*", !"float", !"uint"} !12 = !{void (float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, i32)* @zero_e_fshift, !13, !14, !15, !16, !17} !13 = !{!"kernel_arg_addr_space", i32 1, i32 1, i32 1, i32 0} !14 = !{!"kernel_arg_access_qual", !"none", !"none", !"none", !"none"} !15 = !{!"kernel_arg_type", !"float*", !"float*", !"float*", !"uint"} !16 = !{!"kernel_arg_base_type", !"float*", !"float*", !"float*", !"uint"} !17 = !{!"kernel_arg_type_qual", !"", !"", !"", !"const"} !18 = !{void (i32, i32, i32, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, <4 x float> addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, i32 addrspace(1)*, float addrspace(1)*, float addrspace(2)*, float addrspace(2)*, float addrspace(2)*, %struct.nbnxn_sci_t addrspace(1)*, %struct.nbnxn_cj4_t addrspace(1)*, %struct.nbnxn_excl_t addrspace(1)*, i32, <4 x float> addrspace(3)*, float addrspace(1)*)* @nbnxn_kernel_ElecEw_VdwLJ_F_opencl, !19, !20, !21, !22, !23, !24} !19 = !{!"kernel_arg_addr_space", i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 1, i32 2, i32 2, i32 2, i32 1, i32 1, i32 1, i32 0, i32 3, i32 1} !20 = !{!"kernel_arg_access_qual", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none", !"none"} !21 = !{!"kernel_arg_type", !"int", !"int", !"int", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float4*", !"float*", !"float*", !"float*", !"float*", !"int*", !"float*", !"float*", !"float*", !"float*", !"nbnxn_sci_t*", !"nbnxn_cj4_t*", !"nbnxn_excl_t*", !"int", !"float4*", !"float*"} !22 = !{!"kernel_arg_base_type", !"int", !"int", !"int", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float", !"float __attribute__((ext_vector_type(4)))*", !"float*", !"float*", !"float*", !"float*", !"int*", !"float*", !"float*", !"float*", !"float*", !"nbnxn_sci_t*", !"nbnxn_cj4_t*", !"nbnxn_excl_t*", !"int", !"float __attribute__((ext_vector_type(4)))*", !"float*"} !23 = !{!"kernel_arg_type_qual", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"restrict const", !"restrict", !"restrict", !"restrict", !"restrict", !"restrict const", !"restrict const", !"const", !"const", !"const", !"const", !"const", !"const", !"", !"", !""} !24 = !{!"reqd_work_group_size", i32 8, i32 8, i32 1} !25 = !{void (i32, i32, i32, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, <4 x float> addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, i32 addrspace(1)*, float addrspace(1)*, float addrspace(2)*, float addrspace(2)*, float addrspace(2)*, %struct.nbnxn_sci_t addrspace(1)*, %struct.nbnxn_cj4_t addrspace(1)*, %struct.nbnxn_excl_t addrspace(1)*, i32, <4 x float> addrspace(3)*, float addrspace(1)*)* @nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_opencl, !19, !20, !21, !22, !23, !24} !26 = !{void (i32, i32, i32, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, <4 x float> addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, i32 addrspace(1)*, float addrspace(1)*, float addrspace(2)*, float addrspace(2)*, float addrspace(2)*, %struct.nbnxn_sci_t addrspace(1)*, %struct.nbnxn_cj4_t addrspace(1)*, %struct.nbnxn_excl_t addrspace(1)*, i32, <4 x float> addrspace(3)*, float addrspace(1)*)* @nbnxn_kernel_ElecEw_VdwLJ_VF_opencl, !19, !20, !21, !22, !23, !24} !27 = !{void (i32, i32, i32, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, <4 x float> addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, i32 addrspace(1)*, float addrspace(1)*, float addrspace(2)*, float addrspace(2)*, float addrspace(2)*, %struct.nbnxn_sci_t addrspace(1)*, %struct.nbnxn_cj4_t addrspace(1)*, %struct.nbnxn_excl_t addrspace(1)*, i32, <4 x float> addrspace(3)*, float addrspace(1)*)* @nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_opencl, !19, !20, !21, !22, !23, !24} !28 = !{void (i32, i32, i32, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, <4 x float> addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, i32 addrspace(1)*, float addrspace(1)*, float addrspace(2)*, float addrspace(2)*, float addrspace(2)*, %struct.nbnxn_sci_t addrspace(1)*, %struct.nbnxn_cj4_t addrspace(1)*, %struct.nbnxn_excl_t addrspace(1)*, i32, <4 x float> addrspace(3)*, float addrspace(1)*)* @nbnxn_kernel_ElecEw_VdwLJ_F_prune_opencl, !19, !20, !21, !22, !29, !24} !29 = !{!"kernel_arg_type_qual", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"", !"restrict const", !"restrict", !"restrict", !"restrict", !"restrict", !"restrict const", !"restrict const", !"const", !"const", !"const", !"const", !"", !"const", !"", !"", !""} !30 = !{void (i32, i32, i32, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, <4 x float> addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, i32 addrspace(1)*, float addrspace(1)*, float addrspace(2)*, float addrspace(2)*, float addrspace(2)*, %struct.nbnxn_sci_t addrspace(1)*, %struct.nbnxn_cj4_t addrspace(1)*, %struct.nbnxn_excl_t addrspace(1)*, i32, <4 x float> addrspace(3)*, float addrspace(1)*)* @nbnxn_kernel_ElecEwTwinCut_VdwLJ_F_prune_opencl, !19, !20, !21, !22, !29, !24} !31 = !{void (i32, i32, i32, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, <4 x float> addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, i32 addrspace(1)*, float addrspace(1)*, float addrspace(2)*, float addrspace(2)*, float addrspace(2)*, %struct.nbnxn_sci_t addrspace(1)*, %struct.nbnxn_cj4_t addrspace(1)*, %struct.nbnxn_excl_t addrspace(1)*, i32, <4 x float> addrspace(3)*, float addrspace(1)*)* @nbnxn_kernel_ElecEw_VdwLJ_VF_prune_opencl, !19, !20, !21, !22, !29, !24} !32 = !{void (i32, i32, i32, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, <4 x float> addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, float addrspace(1)*, i32 addrspace(1)*, float addrspace(1)*, float addrspace(2)*, float addrspace(2)*, float addrspace(2)*, %struct.nbnxn_sci_t addrspace(1)*, %struct.nbnxn_cj4_t addrspace(1)*, %struct.nbnxn_excl_t addrspace(1)*, i32, <4 x float> addrspace(3)*, float addrspace(1)*)* @nbnxn_kernel_ElecEwTwinCut_VdwLJ_VF_prune_opencl, !19, !20, !21, !22, !29, !24} !33 = !{!"clang version 3.9.0 (https://github.com/llvm-mirror/clang.git 2867db529d8d9fb929fc898f8c5b47f952940646) (https://github.com/llvm-mirror/llvm.git 5015b2074c17c360e7e3c4e393b9cc5c77853e61)"} !34 = !{!"clang version 3.9.0 (https://github.com/llvm-mirror/clang.git 309b96c687b008fd6c9c4824bfd9f35c5e777bec) (https://github.com/llvm-mirror/llvm.git 031194de74acdaeb977562e80207b76f57263fad)"} !35 = !{i32 0, i32 2048} !36 = !{!37, !37, i64 0} !37 = !{!"omnipotent char", !38, i64 0} !38 = !{!"Simple C/C++ TBAA"} !39 = !{!40, !40, i64 0} !40 = !{!"float", !37, i64 0} !41 = !{!42, !42, i64 0} !42 = !{!"int", !37, i64 0} !43 = !{!44, !42, i64 4} !44 = !{!"", !42, i64 0, !42, i64 4} !45 = !{!44, !42, i64 0} !46 = !{float 2.500000e+00}