; LLVM IR from cruppstahl/upscaledb :: 3rdparty/simdcomp/src (simdintegratedbitpacking)

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden void @_mm_storeu_si128(ptr noundef, <2 x i64> noundef) #1

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_loadu_si128(ptr noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_set1_epi32(i32 noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_and_si128(<2 x i64> noundef, <2 x i64> noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_srli_epi32(<2 x i64> noundef, i32 noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_add_epi32(<2 x i64> noundef, <2 x i64> noundef) #1

; Function Attrs: nounwind uwtable
define dso_local <2 x i64> @iunpack4(<2 x i64> noundef %0, ptr noundef %1, ptr noundef %2) #2 {
  %4 = alloca <2 x i64>, align 16
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca <2 x i64>, align 16
  %9 = alloca <2 x i64>, align 16
  %10 = alloca <2 x i64>, align 16
  %11 = alloca <2 x i64>, align 16
  %12 = alloca <2 x i64>, align 16
  %13 = alloca <2 x i64>, align 16
  %14 = alloca <2 x i64>, align 16
  %15 = alloca <2 x i64>, align 16
  %16 = alloca <2 x i64>, align 16
  %17 = alloca <2 x i64>, align 16
  %18 = alloca <2 x i64>, align 16
  %19 = alloca <2 x i64>, align 16
  %20 = alloca <2 x i64>, align 16
  %21 = alloca <2 x i64>, align 16
  %22 = alloca <2 x i64>, align 16
  %23 = alloca <2 x i64>, align 16
  %24 = alloca <2 x i64>, align 16
  %25 = alloca <2 x i64>, align 16
  %26 = alloca <2 x i64>, align 16
  %27 = alloca <2 x i64>, align 16
  %28 = alloca <2 x i64>, align 16
  %29 = alloca <2 x i64>, align 16
  %30 = alloca <2 x i64>, align 16
  %31 = alloca <2 x i64>, align 16
  %32 = alloca <2 x i64>, align 16
  %33 = alloca <2 x i64>, align 16
  %34 = alloca <2 x i64>, align 16
  %35 = alloca <2 x i64>, align 16
  %36 = alloca <2 x i64>, align 16
  %37 = alloca <2 x i64>, align 16
  %38 = alloca <2 x i64>, align 16
  %39 = alloca <2 x i64>, align 16
  %40 = alloca <2 x i64>, align 16
  %41 = alloca <2 x i64>, align 16
  %42 = alloca <2 x i64>, align 16
  %43 = alloca <2 x i64>, align 16
  %44 = alloca <2 x i64>, align 16
  %45 = alloca <2 x i64>, align 16
  %46 = alloca <2 x i64>, align 16
  %47 = alloca <2 x i64>, align 16
  %48 = alloca <2 x i64>, align 16
  %49 = alloca <2 x i64>, align 16
  %50 = alloca <2 x i64>, align 16
  %51 = alloca <2 x i64>, align 16
  %52 = alloca <2 x i64>, align 16
  %53 = alloca <2 x i64>, align 16
  %54 = alloca <2 x i64>, align 16
  %55 = alloca <2 x i64>, align 16
  %56 = alloca <2 x i64>, align 16
  %57 = alloca <2 x i64>, align 16
  %58 = alloca <2 x i64>, align 16
  %59 = alloca <2 x i64>, align 16
  %60 = alloca <2 x i64>, align 16
  %61 = alloca <2 x i64>, align 16
  %62 = alloca <2 x i64>, align 16
  %63 = alloca <2 x i64>, align 16
  %64 = alloca <2 x i64>, align 16
  %65 = alloca <2 x i64>, align 16
  %66 = alloca <2 x i64>, align 16
  %67 = alloca <2 x i64>, align 16
  %68 = alloca <2 x i64>, align 16
  %69 = alloca <2 x i64>, align 16
  %70 = alloca <2 x i64>, align 16
  %71 = alloca <2 x i64>, align 16
  %72 = alloca <2 x i64>, align 16
  %73 = alloca <2 x i64>, align 16
  %74 = alloca <2 x i64>, align 16
  %75 = alloca <2 x i64>, align 16
  store <2 x i64> %0, ptr %4, align 16, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !8
  store ptr %2, ptr %6, align 8, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #3
  %76 = load ptr, ptr %6, align 8, !tbaa !8
  store ptr %76, ptr %7, align 8, !tbaa !8
  call void @llvm.lifetime.start.p0(i64 16, ptr %8) #3
  %77 = load ptr, ptr %5, align 8, !tbaa !8
  %78 = call <2 x i64> @_mm_loadu_si128(ptr noundef %77)
  store <2 x i64> %78, ptr %8, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %9) #3
  call void @llvm.lifetime.start.p0(i64 16, ptr %10) #3
  call void @llvm.lifetime.start.p0(i64 16, ptr %11) #3
  %79 = call <2 x i64> @_mm_set1_epi32(i32 noundef 15)
  store <2 x i64> %79, ptr %11, align 16, !tbaa !5
  %80 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %80, ptr %10, align 16, !tbaa !5
  %81 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %82 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %83 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %81, <2 x i64> noundef %82)
  store <2 x i64> %83, ptr %9, align 16, !tbaa !5
  br label %84

84:                                               ; preds = %3
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #3
  %85 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %86 = bitcast <2 x i64> %85 to <16 x i8>
  %87 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %86, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %88 = bitcast <16 x i8> %87 to <2 x i64>
  %89 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %90 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %88, <2 x i64> noundef %89)
  store <2 x i64> %90, ptr %12, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %13) #3
  %91 = load <2 x i64>, ptr %12, align 16, !tbaa !5
  %92 = bitcast <2 x i64> %91 to <16 x i8>
  %93 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %92, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %94 = bitcast <16 x i8> %93 to <2 x i64>
  %95 = load <2 x i64>, ptr %12, align 16, !tbaa !5
  %96 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %94, <2 x i64> noundef %95)
  store <2 x i64> %96, ptr %13, align 16, !tbaa !5
  %97 = load <2 x i64>, ptr %13, align 16, !tbaa !5
  %98 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %99 = bitcast <2 x i64> %98 to <4 x i32>
  %100 = shufflevector <4 x i32> %99, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %101 = bitcast <4 x i32> %100 to <2 x i64>
  %102 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %97, <2 x i64> noundef %101)
  store <2 x i64> %102, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #3
  br label %103

103:                                              ; preds = %84
  br label %104

104:                                              ; preds = %103
  %105 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %105, ptr %4, align 16, !tbaa !5
  %106 = load ptr, ptr %7, align 8, !tbaa !8
  %107 = getelementptr inbounds <2 x i64>, ptr %106, i32 1
  store ptr %107, ptr %7, align 8, !tbaa !8
  %108 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %106, <2 x i64> noundef %108)
  %109 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %110 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %109, i32 noundef 4)
  store <2 x i64> %110, ptr %10, align 16, !tbaa !5
  %111 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %112 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %113 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %111, <2 x i64> noundef %112)
  store <2 x i64> %113, ptr %9, align 16, !tbaa !5
  br label %114

114:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #3
  %115 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %116 = bitcast <2 x i64> %115 to <16 x i8>
  %117 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %116, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %118 = bitcast <16 x i8> %117 to <2 x i64>
  %119 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %120 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %118, <2 x i64> noundef %119)
  store <2 x i64> %120, ptr %14, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #3
  %121 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %122 = bitcast <2 x i64> %121 to <16 x i8>
  %123 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %122, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %124 = bitcast <16 x i8> %123 to <2 x i64>
  %125 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %126 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %124, <2 x i64> noundef %125)
  store <2 x i64> %126, ptr %15, align 16, !tbaa !5
  %127 = load <2 x i64>, ptr %15, align 16, !tbaa !5
  %128 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %129 = bitcast <2 x i64> %128 to <4 x i32>
  %130 = shufflevector <4 x i32> %129, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %131 = bitcast <4 x i32> %130 to <2 x i64>
  %132 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %127, <2 x i64> noundef %131)
  store <2 x i64> %132, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #3
  br label %133

133:                                              ; preds = %114
  br label %134

134:                                              ; preds = %133
  %135 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %135, ptr %4, align 16, !tbaa !5
  %136 = load ptr, ptr %7, align 8, !tbaa !8
  %137 = getelementptr inbounds <2 x i64>, ptr %136, i32 1
  store ptr %137, ptr %7, align 8, !tbaa !8
  %138 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %136, <2 x i64> noundef %138)
  %139 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %140 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %139, i32 noundef 8)
  store <2 x i64> %140, ptr %10, align 16, !tbaa !5
  %141 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %142 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %143 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %141, <2 x i64> noundef %142)
  store <2 x i64> %143, ptr %9, align 16, !tbaa !5
  br label %144

144:                                              ; preds = %134
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #3
  %145 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %146 = bitcast <2 x i64> %145 to <16 x i8>
  %147 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %146, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %148 = bitcast <16 x i8> %147 to <2 x i64>
  %149 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %150 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %148, <2 x i64> noundef %149)
  store <2 x i64> %150, ptr %16, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #3
  %151 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %152 = bitcast <2 x i64> %151 to <16 x i8>
  %153 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %152, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %154 = bitcast <16 x i8> %153 to <2 x i64>
  %155 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %156 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %154, <2 x i64> noundef %155)
  store <2 x i64> %156, ptr %17, align 16, !tbaa !5
  %157 = load <2 x i64>, ptr %17, align 16, !tbaa !5
  %158 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %159 = bitcast <2 x i64> %158 to <4 x i32>
  %160 = shufflevector <4 x i32> %159, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %161 = bitcast <4 x i32> %160 to <2 x i64>
  %162 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %157, <2 x i64> noundef %161)
  store <2 x i64> %162, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #3
  br label %163

163:                                              ; preds = %144
  br label %164

164:                                              ; preds = %163
  %165 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %165, ptr %4, align 16, !tbaa !5
  %166 = load ptr, ptr %7, align 8, !tbaa !8
  %167 = getelementptr inbounds <2 x i64>, ptr %166, i32 1
  store ptr %167, ptr %7, align 8, !tbaa !8
  %168 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %166, <2 x i64> noundef %168)
  %169 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %170 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %169, i32 noundef 12)
  store <2 x i64> %170, ptr %10, align 16, !tbaa !5
  %171 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %172 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %173 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %171, <2 x i64> noundef %172)
  store <2 x i64> %173, ptr %9, align 16, !tbaa !5
  br label %174

174:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #3
  %175 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %176 = bitcast <2 x i64> %175 to <16 x i8>
  %177 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %176, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %178 = bitcast <16 x i8> %177 to <2 x i64>
  %179 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %180 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %178, <2 x i64> noundef %179)
  store <2 x i64> %180, ptr %18, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #3
  %181 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %182 = bitcast <2 x i64> %181 to <16 x i8>
  %183 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %182, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %184 = bitcast <16 x i8> %183 to <2 x i64>
  %185 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %186 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %184, <2 x i64> noundef %185)
  store <2 x i64> %186, ptr %19, align 16, !tbaa !5
  %187 = load <2 x i64>, ptr %19, align 16, !tbaa !5
  %188 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %189 = bitcast <2 x i64> %188 to <4 x i32>
  %190 = shufflevector <4 x i32> %189, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %191 = bitcast <4 x i32> %190 to <2 x i64>
  %192 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %187, <2 x i64> noundef %191)
  store <2 x i64> %192, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %19) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %18) #3
  br label %193

193:                                              ; preds = %174
  br label %194

194:                                              ; preds = %193
  %195 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %195, ptr %4, align 16, !tbaa !5
  %196 = load ptr, ptr %7, align 8, !tbaa !8
  %197 = getelementptr inbounds <2 x i64>, ptr %196, i32 1
  store ptr %197, ptr %7, align 8, !tbaa !8
  %198 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %196, <2 x i64> noundef %198)
  %199 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %200 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %199, i32 noundef 16)
  store <2 x i64> %200, ptr %10, align 16, !tbaa !5
  %201 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %202 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %203 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %201, <2 x i64> noundef %202)
  store <2 x i64> %203, ptr %9, align 16, !tbaa !5
  br label %204

204:                                              ; preds = %194
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %205 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %206 = bitcast <2 x i64> %205 to <16 x i8>
  %207 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %206, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %208 = bitcast <16 x i8> %207 to <2 x i64>
  %209 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %210 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %208, <2 x i64> noundef %209)
  store <2 x i64> %210, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %211 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %212 = bitcast <2 x i64> %211 to <16 x i8>
  %213 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %212, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %214 = bitcast <16 x i8> %213 to <2 x i64>
  %215 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %216 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %214, <2 x i64> noundef %215)
  store <2 x i64> %216, ptr %21, align 16, !tbaa !5
  %217 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %218 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %219 = bitcast <2 x i64> %218 to <4 x i32>
  %220 = shufflevector <4 x i32> %219, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %221 = bitcast <4 x i32> %220 to <2 x i64>
  %222 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %217, <2 x i64> noundef %221)
  store <2 x i64> %222, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #3
  br label %223

223:                                              ; preds = %204
  br label %224

224:                                              ; preds = %223
  %225 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %225, ptr %4, align 16, !tbaa !5
  %226 = load ptr, ptr %7, align 8, !tbaa !8
  %227 = getelementptr inbounds <2 x i64>, ptr %226, i32 1
  store ptr %227, ptr %7, align 8, !tbaa !8
  %228 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %226, <2 x i64> noundef %228)
  %229 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %230 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %229, i32 noundef 20)
  store <2 x i64> %230, ptr %10, align 16, !tbaa !5
  %231 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %232 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %233 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %231, <2 x i64> noundef %232)
  store <2 x i64> %233, ptr %9, align 16, !tbaa !5
  br label %234

234:                                              ; preds = %224
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #3
  %235 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %236 = bitcast <2 x i64> %235 to <16 x i8>
  %237 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %236, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %238 = bitcast <16 x i8> %237 to <2 x i64>
  %239 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %240 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %238, <2 x i64> noundef %239)
  store <2 x i64> %240, ptr %22, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #3
  %241 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %242 = bitcast <2 x i64> %241 to <16 x i8>
  %243 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %242, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %244 = bitcast <16 x i8> %243 to <2 x i64>
  %245 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %246 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %244, <2 x i64> noundef %245)
  store <2 x i64> %246, ptr %23, align 16, !tbaa !5
  %247 = load <2 x i64>, ptr %23, align 16, !tbaa !5
  %248 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %249 = bitcast <2 x i64> %248 to <4 x i32>
  %250 = shufflevector <4 x i32> %249, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %251 = bitcast <4 x i32> %250 to <2 x i64>
  %252 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %247, <2 x i64> noundef %251)
  store <2 x i64> %252, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #3
  br label %253

253:                                              ; preds = %234
  br label %254

254:                                              ; preds = %253
  %255 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %255, ptr %4, align 16, !tbaa !5
  %256 = load ptr, ptr %7, align 8, !tbaa !8
  %257 = getelementptr inbounds <2 x i64>, ptr %256, i32 1
  store ptr %257, ptr %7, align 8, !tbaa !8
  %258 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %256, <2 x i64> noundef %258)
  %259 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %260 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %259, i32 noundef 24)
  store <2 x i64> %260, ptr %10, align 16, !tbaa !5
  %261 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %262 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %263 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %261, <2 x i64> noundef %262)
  store <2 x i64> %263, ptr %9, align 16, !tbaa !5
  br label %264

264:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %265 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %266 = bitcast <2 x i64> %265 to <16 x i8>
  %267 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %266, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %268 = bitcast <16 x i8> %267 to <2 x i64>
  %269 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %270 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %268, <2 x i64> noundef %269)
  store <2 x i64> %270, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %271 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %272 = bitcast <2 x i64> %271 to <16 x i8>
  %273 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %272, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %274 = bitcast <16 x i8> %273 to <2 x i64>
  %275 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %276 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %274, <2 x i64> noundef %275)
  store <2 x i64> %276, ptr %25, align 16, !tbaa !5
  %277 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %278 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %279 = bitcast <2 x i64> %278 to <4 x i32>
  %280 = shufflevector <4 x i32> %279, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %281 = bitcast <4 x i32> %280 to <2 x i64>
  %282 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %277, <2 x i64> noundef %281)
  store <2 x i64> %282, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %25) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %24) #3
  br label %283

283:                                              ; preds = %264
  br label %284

284:                                              ; preds = %283
  %285 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %285, ptr %4, align 16, !tbaa !5
  %286 = load ptr, ptr %7, align 8, !tbaa !8
  %287 = getelementptr inbounds <2 x i64>, ptr %286, i32 1
  store ptr %287, ptr %7, align 8, !tbaa !8
  %288 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %286, <2 x i64> noundef %288)
  %289 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %290 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %289, i32 noundef 28)
  store <2 x i64> %290, ptr %10, align 16, !tbaa !5
  %291 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %291, ptr %9, align 16, !tbaa !5
  %292 = load ptr, ptr %5, align 8, !tbaa !8
  %293 = getelementptr inbounds <2 x i64>, ptr %292, i32 1
  store ptr %293, ptr %5, align 8, !tbaa !8
  %294 = load ptr, ptr %5, align 8, !tbaa !8
  %295 = call <2 x i64> @_mm_loadu_si128(ptr noundef %294)
  store <2 x i64> %295, ptr %8, align 16, !tbaa !5
  br label %296

296:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %297 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %298 = bitcast <2 x i64> %297 to <16 x i8>
  %299 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %298, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %300 = bitcast <16 x i8> %299 to <2 x i64>
  %301 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %302 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %300, <2 x i64> noundef %301)
  store <2 x i64> %302, ptr %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %303 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %304 = bitcast <2 x i64> %303 to <16 x i8>
  %305 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %304, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %306 = bitcast <16 x i8> %305 to <2 x i64>
  %307 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %308 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %306, <2 x i64> noundef %307)
  store <2 x i64> %308, ptr %27, align 16, !tbaa !5
  %309 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %310 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %311 = bitcast <2 x i64> %310 to <4 x i32>
  %312 = shufflevector <4 x i32> %311, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %313 = bitcast <4 x i32> %312 to <2 x i64>
  %314 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %309, <2 x i64> noundef %313)
  store <2 x i64> %314, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #3
  br label %315

315:                                              ; preds = %296
  br label %316

316:                                              ; preds = %315
  %317 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %317, ptr %4, align 16, !tbaa !5
  %318 = load ptr, ptr %7, align 8, !tbaa !8
  %319 = getelementptr inbounds <2 x i64>, ptr %318, i32 1
  store ptr %319, ptr %7, align 8, !tbaa !8
  %320 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %318, <2 x i64> noundef %320)
  %321 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %321, ptr %10, align 16, !tbaa !5
  %322 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %323 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %324 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %322, <2 x i64> noundef %323)
  store <2 x i64> %324, ptr %9, align 16, !tbaa !5
  br label %325

325:                                              ; preds = %316
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %326 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %327 = bitcast <2 x i64> %326 to <16 x i8>
  %328 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %327, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %329 = bitcast <16 x i8> %328 to <2 x i64>
  %330 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %331 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %329, <2 x i64> noundef %330)
  store <2 x i64> %331, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %332 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %333 = bitcast <2 x i64> %332 to <16 x i8>
  %334 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %333, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %335 = bitcast <16 x i8> %334 to <2 x i64>
  %336 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %337 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %335, <2 x i64> noundef %336)
  store <2 x i64> %337, ptr %29, align 16, !tbaa !5
  %338 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %339 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %340 = bitcast <2 x i64> %339 to <4 x i32>
  %341 = shufflevector <4 x i32> %340, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %342 = bitcast <4 x i32> %341 to <2 x i64>
  %343 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %338, <2 x i64> noundef %342)
  store <2 x i64> %343, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #3
  br label %344

344:                                              ; preds = %325
  br label %345

345:                                              ; preds = %344
  %346 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %346, ptr %4, align 16, !tbaa !5
  %347 = load ptr, ptr %7, align 8, !tbaa !8
  %348 = getelementptr inbounds <2 x i64>, ptr %347, i32 1
  store ptr %348, ptr %7, align 8, !tbaa !8
  %349 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %347, <2 x i64> noundef %349)
  %350 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %351 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %350, i32 noundef 4)
  store <2 x i64> %351, ptr %10, align 16, !tbaa !5
  %352 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %353 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %354 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %352, <2 x i64> noundef %353)
  store <2 x i64> %354, ptr %9, align 16, !tbaa !5
  br label %355

355:                                              ; preds = %345
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %356 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %357 = bitcast <2 x i64> %356 to <16 x i8>
  %358 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %357, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %359 = bitcast <16 x i8> %358 to <2 x i64>
  %360 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %361 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %359, <2 x i64> noundef %360)
  store <2 x i64> %361, ptr %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %362 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %363 = bitcast <2 x i64> %362 to <16 x i8>
  %364 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %363, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %365 = bitcast <16 x i8> %364 to <2 x i64>
  %366 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %367 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %365, <2 x i64> noundef %366)
  store <2 x i64> %367, ptr %31, align 16, !tbaa !5
  %368 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %369 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %370 = bitcast <2 x i64> %369 to <4 x i32>
  %371 = shufflevector <4 x i32> %370, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %372 = bitcast <4 x i32> %371 to <2 x i64>
  %373 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %368, <2 x i64> noundef %372)
  store <2 x i64> %373, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %31) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %30) #3
  br label %374

374:                                              ; preds = %355
  br label %375

375:                                              ; preds = %374
  %376 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %376, ptr %4, align 16, !tbaa !5
  %377 = load ptr, ptr %7, align 8, !tbaa !8
  %378 = getelementptr inbounds <2 x i64>, ptr %377, i32 1
  store ptr %378, ptr %7, align 8, !tbaa !8
  %379 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %377, <2 x i64> noundef %379)
  %380 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %381 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %380, i32 noundef 8)
  store <2 x i64> %381, ptr %10, align 16, !tbaa !5
  %382 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %383 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %384 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %382, <2 x i64> noundef %383)
  store <2 x i64> %384, ptr %9, align 16, !tbaa !5
  br label %385

385:                                              ; preds = %375
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #3
  %386 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %387 = bitcast <2 x i64> %386 to <16 x i8>
  %388 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %387, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %389 = bitcast <16 x i8> %388 to <2 x i64>
  %390 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %391 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %389, <2 x i64> noundef %390)
  store <2 x i64> %391, ptr %32, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #3
  %392 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %393 = bitcast <2 x i64> %392 to <16 x i8>
  %394 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %393, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %395 = bitcast <16 x i8> %394 to <2 x i64>
  %396 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %397 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %395, <2 x i64> noundef %396)
  store <2 x i64> %397, ptr %33, align 16, !tbaa !5
  %398 = load <2 x i64>, ptr %33, align 16, !tbaa !5
  %399 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %400 = bitcast <2 x i64> %399 to <4 x i32>
  %401 = shufflevector <4 x i32> %400, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %402 = bitcast <4 x i32> %401 to <2 x i64>
  %403 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %398, <2 x i64> noundef %402)
  store <2 x i64> %403, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #3
  br label %404

404:                                              ; preds = %385
  br label %405

405:                                              ; preds = %404
  %406 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %406, ptr %4, align 16, !tbaa !5
  %407 = load ptr, ptr %7, align 8, !tbaa !8
  %408 = getelementptr inbounds <2 x i64>, ptr %407, i32 1
  store ptr %408, ptr %7, align 8, !tbaa !8
  %409 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %407, <2 x i64> noundef %409)
  %410 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %411 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %410, i32 noundef 12)
  store <2 x i64> %411, ptr %10, align 16, !tbaa !5
  %412 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %413 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %414 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %412, <2 x i64> noundef %413)
  store <2 x i64> %414, ptr %9, align 16, !tbaa !5
  br label %415

415:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %416 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %417 = bitcast <2 x i64> %416 to <16 x i8>
  %418 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %417, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %419 = bitcast <16 x i8> %418 to <2 x i64>
  %420 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %421 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %419, <2 x i64> noundef %420)
  store <2 x i64> %421, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %422 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %423 = bitcast <2 x i64> %422 to <16 x i8>
  %424 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %423, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %425 = bitcast <16 x i8> %424 to <2 x i64>
  %426 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %427 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %425, <2 x i64> noundef %426)
  store <2 x i64> %427, ptr %35, align 16, !tbaa !5
  %428 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %429 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %430 = bitcast <2 x i64> %429 to <4 x i32>
  %431 = shufflevector <4 x i32> %430, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %432 = bitcast <4 x i32> %431 to <2 x i64>
  %433 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %428, <2 x i64> noundef %432)
  store <2 x i64> %433, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #3
  br label %434

434:                                              ; preds = %415
  br label %435

435:                                              ; preds = %434
  %436 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %436, ptr %4, align 16, !tbaa !5
  %437 = load ptr, ptr %7, align 8, !tbaa !8
  %438 = getelementptr inbounds <2 x i64>, ptr %437, i32 1
  store ptr %438, ptr %7, align 8, !tbaa !8
  %439 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %437, <2 x i64> noundef %439)
  %440 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %441 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %440, i32 noundef 16)
  store <2 x i64> %441, ptr %10, align 16, !tbaa !5
  %442 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %443 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %444 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %442, <2 x i64> noundef %443)
  store <2 x i64> %444, ptr %9, align 16, !tbaa !5
  br label %445

445:                                              ; preds = %435
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %446 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %447 = bitcast <2 x i64> %446 to <16 x i8>
  %448 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %447, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %449 = bitcast <16 x i8> %448 to <2 x i64>
  %450 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %451 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %449, <2 x i64> noundef %450)
  store <2 x i64> %451, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %452 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %453 = bitcast <2 x i64> %452 to <16 x i8>
  %454 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %453, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %455 = bitcast <16 x i8> %454 to <2 x i64>
  %456 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %457 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %455, <2 x i64> noundef %456)
  store <2 x i64> %457, ptr %37, align 16, !tbaa !5
  %458 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %459 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %460 = bitcast <2 x i64> %459 to <4 x i32>
  %461 = shufflevector <4 x i32> %460, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %462 = bitcast <4 x i32> %461 to <2 x i64>
  %463 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %458, <2 x i64> noundef %462)
  store <2 x i64> %463, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %37) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %36) #3
  br label %464

464:                                              ; preds = %445
  br label %465

465:                                              ; preds = %464
  %466 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %466, ptr %4, align 16, !tbaa !5
  %467 = load ptr, ptr %7, align 8, !tbaa !8
  %468 = getelementptr inbounds <2 x i64>, ptr %467, i32 1
  store ptr %468, ptr %7, align 8, !tbaa !8
  %469 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %467, <2 x i64> noundef %469)
  %470 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %471 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %470, i32 noundef 20)
  store <2 x i64> %471, ptr %10, align 16, !tbaa !5
  %472 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %473 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %474 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %472, <2 x i64> noundef %473)
  store <2 x i64> %474, ptr %9, align 16, !tbaa !5
  br label %475

475:                                              ; preds = %465
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %476 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %477 = bitcast <2 x i64> %476 to <16 x i8>
  %478 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %477, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %479 = bitcast <16 x i8> %478 to <2 x i64>
  %480 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %481 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %479, <2 x i64> noundef %480)
  store <2 x i64> %481, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %482 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %483 = bitcast <2 x i64> %482 to <16 x i8>
  %484 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %483, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %485 = bitcast <16 x i8> %484 to <2 x i64>
  %486 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %487 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %485, <2 x i64> noundef %486)
  store <2 x i64> %487, ptr %39, align 16, !tbaa !5
  %488 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %489 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %490 = bitcast <2 x i64> %489 to <4 x i32>
  %491 = shufflevector <4 x i32> %490, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %492 = bitcast <4 x i32> %491 to <2 x i64>
  %493 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %488, <2 x i64> noundef %492)
  store <2 x i64> %493, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %39) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %38) #3
  br label %494

494:                                              ; preds = %475
  br label %495

495:                                              ; preds = %494
  %496 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %496, ptr %4, align 16, !tbaa !5
  %497 = load ptr, ptr %7, align 8, !tbaa !8
  %498 = getelementptr inbounds <2 x i64>, ptr %497, i32 1
  store ptr %498, ptr %7, align 8, !tbaa !8
  %499 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %497, <2 x i64> noundef %499)
  %500 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %501 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %500, i32 noundef 24)
  store <2 x i64> %501, ptr %10, align 16, !tbaa !5
  %502 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %503 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %504 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %502, <2 x i64> noundef %503)
  store <2 x i64> %504, ptr %9, align 16, !tbaa !5
  br label %505

505:                                              ; preds = %495
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #3
  %506 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %507 = bitcast <2 x i64> %506 to <16 x i8>
  %508 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %507, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %509 = bitcast <16 x i8> %508 to <2 x i64>
  %510 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %511 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %509, <2 x i64> noundef %510)
  store <2 x i64> %511, ptr %40, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #3
  %512 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %513 = bitcast <2 x i64> %512 to <16 x i8>
  %514 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %513, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %515 = bitcast <16 x i8> %514 to <2 x i64>
  %516 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %517 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %515, <2 x i64> noundef %516)
  store <2 x i64> %517, ptr %41, align 16, !tbaa !5
  %518 = load <2 x i64>, ptr %41, align 16, !tbaa !5
  %519 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %520 = bitcast <2 x i64> %519 to <4 x i32>
  %521 = shufflevector <4 x i32> %520, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %522 = bitcast <4 x i32> %521 to <2 x i64>
  %523 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %518, <2 x i64> noundef %522)
  store <2 x i64> %523, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #3
  br label %524

524:                                              ; preds = %505
  br label %525

525:                                              ; preds = %524
  %526 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %526, ptr %4, align 16, !tbaa !5
  %527 = load ptr, ptr %7, align 8, !tbaa !8
  %528 = getelementptr inbounds <2 x i64>, ptr %527, i32 1
  store ptr %528, ptr %7, align 8, !tbaa !8
  %529 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %527, <2 x i64> noundef %529)
  %530 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %531 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %530, i32 noundef 28)
  store <2 x i64> %531, ptr %10, align 16, !tbaa !5
  %532 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %532, ptr %9, align 16, !tbaa !5
  %533 = load ptr, ptr %5, align 8, !tbaa !8
  %534 = getelementptr inbounds <2 x i64>, ptr %533, i32 1
  store ptr %534, ptr %5, align 8, !tbaa !8
  %535 = load ptr, ptr %5, align 8, !tbaa !8
  %536 = call <2 x i64> @_mm_loadu_si128(ptr noundef %535)
  store <2 x i64> %536, ptr %8, align 16, !tbaa !5
  br label %537

537:                                              ; preds = %525
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %538 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %539 = bitcast <2 x i64> %538 to <16 x i8>
  %540 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %539, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %541 = bitcast <16 x i8> %540 to <2 x i64>
  %542 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %543 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %541, <2 x i64> noundef %542)
  store <2 x i64> %543, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %544 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %545 = bitcast <2 x i64> %544 to <16 x i8>
  %546 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %545, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %547 = bitcast <16 x i8> %546 to <2 x i64>
  %548 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %549 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %547, <2 x i64> noundef %548)
  store <2 x i64> %549, ptr %43, align 16, !tbaa !5
  %550 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %551 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %552 = bitcast <2 x i64> %551 to <4 x i32>
  %553 = shufflevector <4 x i32> %552, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %554 = bitcast <4 x i32> %553 to <2 x i64>
  %555 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %550, <2 x i64> noundef %554)
  store <2 x i64> %555, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #3
  br label %556

556:                                              ; preds = %537
  br label %557

557:                                              ; preds = %556
  %558 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %558, ptr %4, align 16, !tbaa !5
  %559 = load ptr, ptr %7, align 8, !tbaa !8
  %560 = getelementptr inbounds <2 x i64>, ptr %559, i32 1
  store ptr %560, ptr %7, align 8, !tbaa !8
  %561 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %559, <2 x i64> noundef %561)
  %562 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %562, ptr %10, align 16, !tbaa !5
  %563 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %564 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %565 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %563, <2 x i64> noundef %564)
  store <2 x i64> %565, ptr %9, align 16, !tbaa !5
  br label %566

566:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #3
  %567 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %568 = bitcast <2 x i64> %567 to <16 x i8>
  %569 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %568, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %570 = bitcast <16 x i8> %569 to <2 x i64>
  %571 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %572 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %570, <2 x i64> noundef %571)
  store <2 x i64> %572, ptr %44, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #3
  %573 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %574 = bitcast <2 x i64> %573 to <16 x i8>
  %575 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %574, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %576 = bitcast <16 x i8> %575 to <2 x i64>
  %577 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %578 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %576, <2 x i64> noundef %577)
  store <2 x i64> %578, ptr %45, align 16, !tbaa !5
  %579 = load <2 x i64>, ptr %45, align 16, !tbaa !5
  %580 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %581 = bitcast <2 x i64> %580 to <4 x i32>
  %582 = shufflevector <4 x i32> %581, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %583 = bitcast <4 x i32> %582 to <2 x i64>
  %584 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %579, <2 x i64> noundef %583)
  store <2 x i64> %584, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %45) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %44) #3
  br label %585

585:                                              ; preds = %566
  br label %586

586:                                              ; preds = %585
  %587 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %587, ptr %4, align 16, !tbaa !5
  %588 = load ptr, ptr %7, align 8, !tbaa !8
  %589 = getelementptr inbounds <2 x i64>, ptr %588, i32 1
  store ptr %589, ptr %7, align 8, !tbaa !8
  %590 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %588, <2 x i64> noundef %590)
  %591 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %592 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %591, i32 noundef 4)
  store <2 x i64> %592, ptr %10, align 16, !tbaa !5
  %593 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %594 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %595 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %593, <2 x i64> noundef %594)
  store <2 x i64> %595, ptr %9, align 16, !tbaa !5
  br label %596

596:                                              ; preds = %586
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #3
  %597 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %598 = bitcast <2 x i64> %597 to <16 x i8>
  %599 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %598, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %600 = bitcast <16 x i8> %599 to <2 x i64>
  %601 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %602 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %600, <2 x i64> noundef %601)
  store <2 x i64> %602, ptr %46, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #3
  %603 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %604 = bitcast <2 x i64> %603 to <16 x i8>
  %605 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %604, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %606 = bitcast <16 x i8> %605 to <2 x i64>
  %607 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %608 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %606, <2 x i64> noundef %607)
  store <2 x i64> %608, ptr %47, align 16, !tbaa !5
  %609 = load <2 x i64>, ptr %47, align 16, !tbaa !5
  %610 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %611 = bitcast <2 x i64> %610 to <4 x i32>
  %612 = shufflevector <4 x i32> %611, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %613 = bitcast <4 x i32> %612 to <2 x i64>
  %614 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %609, <2 x i64> noundef %613)
  store <2 x i64> %614, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %47) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %46) #3
  br label %615

615:                                              ; preds = %596
  br label %616

616:                                              ; preds = %615
  %617 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %617, ptr %4, align 16, !tbaa !5
  %618 = load ptr, ptr %7, align 8, !tbaa !8
  %619 = getelementptr inbounds <2 x i64>, ptr %618, i32 1
  store ptr %619, ptr %7, align 8, !tbaa !8
  %620 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %618, <2 x i64> noundef %620)
  %621 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %622 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %621, i32 noundef 8)
  store <2 x i64> %622, ptr %10, align 16, !tbaa !5
  %623 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %624 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %625 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %623, <2 x i64> noundef %624)
  store <2 x i64> %625, ptr %9, align 16, !tbaa !5
  br label %626

626:                                              ; preds = %616
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %627 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %628 = bitcast <2 x i64> %627 to <16 x i8>
  %629 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %628, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %630 = bitcast <16 x i8> %629 to <2 x i64>
  %631 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %632 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %630, <2 x i64> noundef %631)
  store <2 x i64> %632, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %633 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %634 = bitcast <2 x i64> %633 to <16 x i8>
  %635 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %634, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %636 = bitcast <16 x i8> %635 to <2 x i64>
  %637 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %638 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %636, <2 x i64> noundef %637)
  store <2 x i64> %638, ptr %49, align 16, !tbaa !5
  %639 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %640 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %641 = bitcast <2 x i64> %640 to <4 x i32>
  %642 = shufflevector <4 x i32> %641, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %643 = bitcast <4 x i32> %642 to <2 x i64>
  %644 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %639, <2 x i64> noundef %643)
  store <2 x i64> %644, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %49) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %48) #3
  br label %645

645:                                              ; preds = %626
  br label %646

646:                                              ; preds = %645
  %647 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %647, ptr %4, align 16, !tbaa !5
  %648 = load ptr, ptr %7, align 8, !tbaa !8
  %649 = getelementptr inbounds <2 x i64>, ptr %648, i32 1
  store ptr %649, ptr %7, align 8, !tbaa !8
  %650 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %648, <2 x i64> noundef %650)
  %651 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %652 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %651, i32 noundef 12)
  store <2 x i64> %652, ptr %10, align 16, !tbaa !5
  %653 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %654 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %655 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %653, <2 x i64> noundef %654)
  store <2 x i64> %655, ptr %9, align 16, !tbaa !5
  br label %656

656:                                              ; preds = %646
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %657 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %658 = bitcast <2 x i64> %657 to <16 x i8>
  %659 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %658, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %660 = bitcast <16 x i8> %659 to <2 x i64>
  %661 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %662 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %660, <2 x i64> noundef %661)
  store <2 x i64> %662, ptr %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %663 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %664 = bitcast <2 x i64> %663 to <16 x i8>
  %665 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %664, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %666 = bitcast <16 x i8> %665 to <2 x i64>
  %667 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %668 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %666, <2 x i64> noundef %667)
  store <2 x i64> %668, ptr %51, align 16, !tbaa !5
  %669 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %670 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %671 = bitcast <2 x i64> %670 to <4 x i32>
  %672 = shufflevector <4 x i32> %671, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %673 = bitcast <4 x i32> %672 to <2 x i64>
  %674 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %669, <2 x i64> noundef %673)
  store <2 x i64> %674, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %51) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %50) #3
  br label %675

675:                                              ; preds = %656
  br label %676

676:                                              ; preds = %675
  %677 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %677, ptr %4, align 16, !tbaa !5
  %678 = load ptr, ptr %7, align 8, !tbaa !8
  %679 = getelementptr inbounds <2 x i64>, ptr %678, i32 1
  store ptr %679, ptr %7, align 8, !tbaa !8
  %680 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %678, <2 x i64> noundef %680)
  %681 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %682 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %681, i32 noundef 16)
  store <2 x i64> %682, ptr %10, align 16, !tbaa !5
  %683 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %684 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %685 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %683, <2 x i64> noundef %684)
  store <2 x i64> %685, ptr %9, align 16, !tbaa !5
  br label %686

686:                                              ; preds = %676
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #3
  %687 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %688 = bitcast <2 x i64> %687 to <16 x i8>
  %689 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %688, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %690 = bitcast <16 x i8> %689 to <2 x i64>
  %691 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %692 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %690, <2 x i64> noundef %691)
  store <2 x i64> %692, ptr %52, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #3
  %693 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %694 = bitcast <2 x i64> %693 to <16 x i8>
  %695 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %694, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %696 = bitcast <16 x i8> %695 to <2 x i64>
  %697 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %698 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %696, <2 x i64> noundef %697)
  store <2 x i64> %698, ptr %53, align 16, !tbaa !5
  %699 = load <2 x i64>, ptr %53, align 16, !tbaa !5
  %700 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %701 = bitcast <2 x i64> %700 to <4 x i32>
  %702 = shufflevector <4 x i32> %701, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %703 = bitcast <4 x i32> %702 to <2 x i64>
  %704 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %699, <2 x i64> noundef %703)
  store <2 x i64> %704, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %53) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #3
  br label %705

705:                                              ; preds = %686
  br label %706

706:                                              ; preds = %705
  %707 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %707, ptr %4, align 16, !tbaa !5
  %708 = load ptr, ptr %7, align 8, !tbaa !8
  %709 = getelementptr inbounds <2 x i64>, ptr %708, i32 1
  store ptr %709, ptr %7, align 8, !tbaa !8
  %710 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %708, <2 x i64> noundef %710)
  %711 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %712 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %711, i32 noundef 20)
  store <2 x i64> %712, ptr %10, align 16, !tbaa !5
  %713 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %714 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %715 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %713, <2 x i64> noundef %714)
  store <2 x i64> %715, ptr %9, align 16, !tbaa !5
  br label %716

716:                                              ; preds = %706
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %717 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %718 = bitcast <2 x i64> %717 to <16 x i8>
  %719 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %718, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %720 = bitcast <16 x i8> %719 to <2 x i64>
  %721 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %722 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %720, <2 x i64> noundef %721)
  store <2 x i64> %722, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %723 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %724 = bitcast <2 x i64> %723 to <16 x i8>
  %725 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %724, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %726 = bitcast <16 x i8> %725 to <2 x i64>
  %727 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %728 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %726, <2 x i64> noundef %727)
  store <2 x i64> %728, ptr %55, align 16, !tbaa !5
  %729 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %730 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %731 = bitcast <2 x i64> %730 to <4 x i32>
  %732 = shufflevector <4 x i32> %731, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %733 = bitcast <4 x i32> %732 to <2 x i64>
  %734 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %729, <2 x i64> noundef %733)
  store <2 x i64> %734, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %55) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %54) #3
  br label %735

735:                                              ; preds = %716
  br label %736

736:                                              ; preds = %735
  %737 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %737, ptr %4, align 16, !tbaa !5
  %738 = load ptr, ptr %7, align 8, !tbaa !8
  %739 = getelementptr inbounds <2 x i64>, ptr %738, i32 1
  store ptr %739, ptr %7, align 8, !tbaa !8
  %740 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %738, <2 x i64> noundef %740)
  %741 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %742 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %741, i32 noundef 24)
  store <2 x i64> %742, ptr %10, align 16, !tbaa !5
  %743 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %744 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %745 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %743, <2 x i64> noundef %744)
  store <2 x i64> %745, ptr %9, align 16, !tbaa !5
  br label %746

746:                                              ; preds = %736
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #3
  %747 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %748 = bitcast <2 x i64> %747 to <16 x i8>
  %749 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %748, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %750 = bitcast <16 x i8> %749 to <2 x i64>
  %751 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %752 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %750, <2 x i64> noundef %751)
  store <2 x i64> %752, ptr %56, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #3
  %753 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %754 = bitcast <2 x i64> %753 to <16 x i8>
  %755 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %754, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %756 = bitcast <16 x i8> %755 to <2 x i64>
  %757 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %758 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %756, <2 x i64> noundef %757)
  store <2 x i64> %758, ptr %57, align 16, !tbaa !5
  %759 = load <2 x i64>, ptr %57, align 16, !tbaa !5
  %760 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %761 = bitcast <2 x i64> %760 to <4 x i32>
  %762 = shufflevector <4 x i32> %761, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %763 = bitcast <4 x i32> %762 to <2 x i64>
  %764 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %759, <2 x i64> noundef %763)
  store <2 x i64> %764, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %57) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %56) #3
  br label %765

765:                                              ; preds = %746
  br label %766

766:                                              ; preds = %765
  %767 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %767, ptr %4, align 16, !tbaa !5
  %768 = load ptr, ptr %7, align 8, !tbaa !8
  %769 = getelementptr inbounds <2 x i64>, ptr %768, i32 1
  store ptr %769, ptr %7, align 8, !tbaa !8
  %770 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %768, <2 x i64> noundef %770)
  %771 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %772 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %771, i32 noundef 28)
  store <2 x i64> %772, ptr %10, align 16, !tbaa !5
  %773 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %773, ptr %9, align 16, !tbaa !5
  %774 = load ptr, ptr %5, align 8, !tbaa !8
  %775 = getelementptr inbounds <2 x i64>, ptr %774, i32 1
  store ptr %775, ptr %5, align 8, !tbaa !8
  %776 = load ptr, ptr %5, align 8, !tbaa !8
  %777 = call <2 x i64> @_mm_loadu_si128(ptr noundef %776)
  store <2 x i64> %777, ptr %8, align 16, !tbaa !5
  br label %778

778:                                              ; preds = %766
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %779 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %780 = bitcast <2 x i64> %779 to <16 x i8>
  %781 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %780, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %782 = bitcast <16 x i8> %781 to <2 x i64>
  %783 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %784 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %782, <2 x i64> noundef %783)
  store <2 x i64> %784, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %785 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %786 = bitcast <2 x i64> %785 to <16 x i8>
  %787 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %786, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %788 = bitcast <16 x i8> %787 to <2 x i64>
  %789 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %790 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %788, <2 x i64> noundef %789)
  store <2 x i64> %790, ptr %59, align 16, !tbaa !5
  %791 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %792 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %793 = bitcast <2 x i64> %792 to <4 x i32>
  %794 = shufflevector <4 x i32> %793, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %795 = bitcast <4 x i32> %794 to <2 x i64>
  %796 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %791, <2 x i64> noundef %795)
  store <2 x i64> %796, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #3
  br label %797

797:                                              ; preds = %778
  br label %798

798:                                              ; preds = %797
  %799 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %799, ptr %4, align 16, !tbaa !5
  %800 = load ptr, ptr %7, align 8, !tbaa !8
  %801 = getelementptr inbounds <2 x i64>, ptr %800, i32 1
  store ptr %801, ptr %7, align 8, !tbaa !8
  %802 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %800, <2 x i64> noundef %802)
  %803 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %803, ptr %10, align 16, !tbaa !5
  %804 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %805 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %806 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %804, <2 x i64> noundef %805)
  store <2 x i64> %806, ptr %9, align 16, !tbaa !5
  br label %807

807:                                              ; preds = %798
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %808 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %809 = bitcast <2 x i64> %808 to <16 x i8>
  %810 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %809, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %811 = bitcast <16 x i8> %810 to <2 x i64>
  %812 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %813 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %811, <2 x i64> noundef %812)
  store <2 x i64> %813, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %814 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %815 = bitcast <2 x i64> %814 to <16 x i8>
  %816 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %815, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %817 = bitcast <16 x i8> %816 to <2 x i64>
  %818 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %819 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %817, <2 x i64> noundef %818)
  store <2 x i64> %819, ptr %61, align 16, !tbaa !5
  %820 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %821 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %822 = bitcast <2 x i64> %821 to <4 x i32>
  %823 = shufflevector <4 x i32> %822, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %824 = bitcast <4 x i32> %823 to <2 x i64>
  %825 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %820, <2 x i64> noundef %824)
  store <2 x i64> %825, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %61) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %60) #3
  br label %826

826:                                              ; preds = %807
  br label %827

827:                                              ; preds = %826
  %828 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %828, ptr %4, align 16, !tbaa !5
  %829 = load ptr, ptr %7, align 8, !tbaa !8
  %830 = getelementptr inbounds <2 x i64>, ptr %829, i32 1
  store ptr %830, ptr %7, align 8, !tbaa !8
  %831 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %829, <2 x i64> noundef %831)
  %832 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %833 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %832, i32 noundef 4)
  store <2 x i64> %833, ptr %10, align 16, !tbaa !5
  %834 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %835 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %836 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %834, <2 x i64> noundef %835)
  store <2 x i64> %836, ptr %9, align 16, !tbaa !5
  br label %837

837:                                              ; preds = %827
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %838 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %839 = bitcast <2 x i64> %838 to <16 x i8>
  %840 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %839, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %841 = bitcast <16 x i8> %840 to <2 x i64>
  %842 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %843 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %841, <2 x i64> noundef %842)
  store <2 x i64> %843, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %844 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %845 = bitcast <2 x i64> %844 to <16 x i8>
  %846 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %845, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %847 = bitcast <16 x i8> %846 to <2 x i64>
  %848 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %849 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %847, <2 x i64> noundef %848)
  store <2 x i64> %849, ptr %63, align 16, !tbaa !5
  %850 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %851 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %852 = bitcast <2 x i64> %851 to <4 x i32>
  %853 = shufflevector <4 x i32> %852, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %854 = bitcast <4 x i32> %853 to <2 x i64>
  %855 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %850, <2 x i64> noundef %854)
  store <2 x i64> %855, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %63) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %62) #3
  br label %856

856:                                              ; preds = %837
  br label %857

857:                                              ; preds = %856
  %858 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %858, ptr %4, align 16, !tbaa !5
  %859 = load ptr, ptr %7, align 8, !tbaa !8
  %860 = getelementptr inbounds <2 x i64>, ptr %859, i32 1
  store ptr %860, ptr %7, align 8, !tbaa !8
  %861 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %859, <2 x i64> noundef %861)
  %862 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %863 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %862, i32 noundef 8)
  store <2 x i64> %863, ptr %10, align 16, !tbaa !5
  %864 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %865 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %866 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %864, <2 x i64> noundef %865)
  store <2 x i64> %866, ptr %9, align 16, !tbaa !5
  br label %867

867:                                              ; preds = %857
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %868 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %869 = bitcast <2 x i64> %868 to <16 x i8>
  %870 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %869, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %871 = bitcast <16 x i8> %870 to <2 x i64>
  %872 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %873 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %871, <2 x i64> noundef %872)
  store <2 x i64> %873, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %874 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %875 = bitcast <2 x i64> %874 to <16 x i8>
  %876 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %875, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %877 = bitcast <16 x i8> %876 to <2 x i64>
  %878 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %879 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %877, <2 x i64> noundef %878)
  store <2 x i64> %879, ptr %65, align 16, !tbaa !5
  %880 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %881 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %882 = bitcast <2 x i64> %881 to <4 x i32>
  %883 = shufflevector <4 x i32> %882, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %884 = bitcast <4 x i32> %883 to <2 x i64>
  %885 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %880, <2 x i64> noundef %884)
  store <2 x i64> %885, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %65) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %64) #3
  br label %886

886:                                              ; preds = %867
  br label %887

887:                                              ; preds = %886
  %888 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %888, ptr %4, align 16, !tbaa !5
  %889 = load ptr, ptr %7, align 8, !tbaa !8
  %890 = getelementptr inbounds <2 x i64>, ptr %889, i32 1
  store ptr %890, ptr %7, align 8, !tbaa !8
  %891 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %889, <2 x i64> noundef %891)
  %892 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %893 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %892, i32 noundef 12)
  store <2 x i64> %893, ptr %10, align 16, !tbaa !5
  %894 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %895 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %896 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %894, <2 x i64> noundef %895)
  store <2 x i64> %896, ptr %9, align 16, !tbaa !5
  br label %897

897:                                              ; preds = %887
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %898 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %899 = bitcast <2 x i64> %898 to <16 x i8>
  %900 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %899, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %901 = bitcast <16 x i8> %900 to <2 x i64>
  %902 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %903 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %901, <2 x i64> noundef %902)
  store <2 x i64> %903, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %904 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %905 = bitcast <2 x i64> %904 to <16 x i8>
  %906 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %905, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %907 = bitcast <16 x i8> %906 to <2 x i64>
  %908 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %909 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %907, <2 x i64> noundef %908)
  store <2 x i64> %909, ptr %67, align 16, !tbaa !5
  %910 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %911 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %912 = bitcast <2 x i64> %911 to <4 x i32>
  %913 = shufflevector <4 x i32> %912, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %914 = bitcast <4 x i32> %913 to <2 x i64>
  %915 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %910, <2 x i64> noundef %914)
  store <2 x i64> %915, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %67) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %66) #3
  br label %916

916:                                              ; preds = %897
  br label %917

917:                                              ; preds = %916
  %918 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %918, ptr %4, align 16, !tbaa !5
  %919 = load ptr, ptr %7, align 8, !tbaa !8
  %920 = getelementptr inbounds <2 x i64>, ptr %919, i32 1
  store ptr %920, ptr %7, align 8, !tbaa !8
  %921 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %919, <2 x i64> noundef %921)
  %922 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %923 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %922, i32 noundef 16)
  store <2 x i64> %923, ptr %10, align 16, !tbaa !5
  %924 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %925 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %926 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %924, <2 x i64> noundef %925)
  store <2 x i64> %926, ptr %9, align 16, !tbaa !5
  br label %927

927:                                              ; preds = %917
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %928 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %929 = bitcast <2 x i64> %928 to <16 x i8>
  %930 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %929, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %931 = bitcast <16 x i8> %930 to <2 x i64>
  %932 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %933 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %931, <2 x i64> noundef %932)
  store <2 x i64> %933, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %934 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %935 = bitcast <2 x i64> %934 to <16 x i8>
  %936 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %935, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %937 = bitcast <16 x i8> %936 to <2 x i64>
  %938 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %939 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %937, <2 x i64> noundef %938)
  store <2 x i64> %939, ptr %69, align 16, !tbaa !5
  %940 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %941 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %942 = bitcast <2 x i64> %941 to <4 x i32>
  %943 = shufflevector <4 x i32> %942, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %944 = bitcast <4 x i32> %943 to <2 x i64>
  %945 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %940, <2 x i64> noundef %944)
  store <2 x i64> %945, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %68) #3
  br label %946

946:                                              ; preds = %927
  br label %947

947:                                              ; preds = %946
  %948 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %948, ptr %4, align 16, !tbaa !5
  %949 = load ptr, ptr %7, align 8, !tbaa !8
  %950 = getelementptr inbounds <2 x i64>, ptr %949, i32 1
  store ptr %950, ptr %7, align 8, !tbaa !8
  %951 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %949, <2 x i64> noundef %951)
  %952 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %953 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %952, i32 noundef 20)
  store <2 x i64> %953, ptr %10, align 16, !tbaa !5
  %954 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %955 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %956 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %954, <2 x i64> noundef %955)
  store <2 x i64> %956, ptr %9, align 16, !tbaa !5
  br label %957

957:                                              ; preds = %947
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %958 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %959 = bitcast <2 x i64> %958 to <16 x i8>
  %960 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %959, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %961 = bitcast <16 x i8> %960 to <2 x i64>
  %962 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %963 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %961, <2 x i64> noundef %962)
  store <2 x i64> %963, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %964 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %965 = bitcast <2 x i64> %964 to <16 x i8>
  %966 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %965, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %967 = bitcast <16 x i8> %966 to <2 x i64>
  %968 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %969 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %967, <2 x i64> noundef %968)
  store <2 x i64> %969, ptr %71, align 16, !tbaa !5
  %970 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %971 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %972 = bitcast <2 x i64> %971 to <4 x i32>
  %973 = shufflevector <4 x i32> %972, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %974 = bitcast <4 x i32> %973 to <2 x i64>
  %975 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %970, <2 x i64> noundef %974)
  store <2 x i64> %975, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %71) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %70) #3
  br label %976

976:                                              ; preds = %957
  br label %977

977:                                              ; preds = %976
  %978 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %978, ptr %4, align 16, !tbaa !5
  %979 = load ptr, ptr %7, align 8, !tbaa !8
  %980 = getelementptr inbounds <2 x i64>, ptr %979, i32 1
  store ptr %980, ptr %7, align 8, !tbaa !8
  %981 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %979, <2 x i64> noundef %981)
  %982 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %983 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %982, i32 noundef 24)
  store <2 x i64> %983, ptr %10, align 16, !tbaa !5
  %984 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %985 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %986 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %984, <2 x i64> noundef %985)
  store <2 x i64> %986, ptr %9, align 16, !tbaa !5
  br label %987

987:                                              ; preds = %977
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %988 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %989 = bitcast <2 x i64> %988 to <16 x i8>
  %990 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %989, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %991 = bitcast <16 x i8> %990 to <2 x i64>
  %992 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %993 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %991, <2 x i64> noundef %992)
  store <2 x i64> %993, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %994 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %995 = bitcast <2 x i64> %994 to <16 x i8>
  %996 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %995, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %997 = bitcast <16 x i8> %996 to <2 x i64>
  %998 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %999 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %997, <2 x i64> noundef %998)
  store <2 x i64> %999, ptr %73, align 16, !tbaa !5
  %1000 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1001 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1002 = bitcast <2 x i64> %1001 to <4 x i32>
  %1003 = shufflevector <4 x i32> %1002, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1004 = bitcast <4 x i32> %1003 to <2 x i64>
  %1005 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1000, <2 x i64> noundef %1004)
  store <2 x i64> %1005, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %72) #3
  br label %1006

1006:                                             ; preds = %987
  br label %1007

1007:                                             ; preds = %1006
  %1008 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1008, ptr %4, align 16, !tbaa !5
  %1009 = load ptr, ptr %7, align 8, !tbaa !8
  %1010 = getelementptr inbounds <2 x i64>, ptr %1009, i32 1
  store ptr %1010, ptr %7, align 8, !tbaa !8
  %1011 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1009, <2 x i64> noundef %1011)
  %1012 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1013 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1012, i32 noundef 28)
  store <2 x i64> %1013, ptr %10, align 16, !tbaa !5
  %1014 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1014, ptr %9, align 16, !tbaa !5
  br label %1015

1015:                                             ; preds = %1007
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1016 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1017 = bitcast <2 x i64> %1016 to <16 x i8>
  %1018 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1017, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %1019 = bitcast <16 x i8> %1018 to <2 x i64>
  %1020 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1021 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1019, <2 x i64> noundef %1020)
  store <2 x i64> %1021, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1022 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1023 = bitcast <2 x i64> %1022 to <16 x i8>
  %1024 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1023, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1025 = bitcast <16 x i8> %1024 to <2 x i64>
  %1026 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1027 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1025, <2 x i64> noundef %1026)
  store <2 x i64> %1027, ptr %75, align 16, !tbaa !5
  %1028 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1029 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1030 = bitcast <2 x i64> %1029 to <4 x i32>
  %1031 = shufflevector <4 x i32> %1030, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1032 = bitcast <4 x i32> %1031 to <2 x i64>
  %1033 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1028, <2 x i64> noundef %1032)
  store <2 x i64> %1033, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %75) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %74) #3
  br label %1034

1034:                                             ; preds = %1015
  br label %1035

1035:                                             ; preds = %1034
  %1036 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1036, ptr %4, align 16, !tbaa !5
  %1037 = load ptr, ptr %7, align 8, !tbaa !8
  %1038 = getelementptr inbounds <2 x i64>, ptr %1037, i32 1
  store ptr %1038, ptr %7, align 8, !tbaa !8
  %1039 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1037, <2 x i64> noundef %1039)
  %1040 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %11) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %10) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %9) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %8) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #3
  ret <2 x i64> %1040
}

attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #1 = { alwaysinline nounwind uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nounwind }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"omnipotent char", !7, i64 0}
!7 = !{!"Simple C/C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"any pointer", !6, i64 0}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

; Function Attrs: alwaysinline nounwind uwtable
declare hidden void @_mm_storeu_si128(ptr noundef, <2 x i64> noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_loadu_si128(ptr noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_set1_epi32(i32 noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_and_si128(<2 x i64> noundef, <2 x i64> noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_srli_epi32(<2 x i64> noundef, i32 noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_add_epi32(<2 x i64> noundef, <2 x i64> noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
define dso_local noundef <2 x i64> @iunpack4(<2 x i64> noundef %0, ptr noundef %1, ptr noundef %2) local_unnamed_addr #1 {
  %4 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef %1)
  %5 = tail call <2 x i64> @_mm_set1_epi32(i32 noundef 15)
  %6 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %4, <2 x i64> noundef %5)
  %7 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %6, <2 x i32> <i32 1, i32 2>
  %8 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %7, <2 x i64> noundef %6)
  %9 = bitcast <2 x i64> %8 to <16 x i8>
  %10 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %9, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %11 = bitcast <16 x i8> %10 to <2 x i64>
  %12 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %11, <2 x i64> noundef %8)
  %13 = bitcast <2 x i64> %0 to <4 x i32>
  %14 = shufflevector <4 x i32> %13, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %15 = bitcast <4 x i32> %14 to <2 x i64>
  %16 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %12, <2 x i64> noundef %15)
  %17 = getelementptr inbounds i8, ptr %2, i64 16
  tail call void @_mm_storeu_si128(ptr noundef %2, <2 x i64> noundef %16)
  %18 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 4)
  %19 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %18, <2 x i64> noundef %5)
  %20 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %19, <2 x i32> <i32 1, i32 2>
  %21 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %20, <2 x i64> noundef %19)
  %22 = bitcast <2 x i64> %21 to <16 x i8>
  %23 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %22, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %24 = bitcast <16 x i8> %23 to <2 x i64>
  %25 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %24, <2 x i64> noundef %21)
  %26 = bitcast <2 x i64> %16 to <4 x i32>
  %27 = shufflevector <4 x i32> %26, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %28 = bitcast <4 x i32> %27 to <2 x i64>
  %29 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %25, <2 x i64> noundef %28)
  %30 = getelementptr inbounds i8, ptr %2, i64 32
  tail call void @_mm_storeu_si128(ptr noundef nonnull %17, <2 x i64> noundef %29)
  %31 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 8)
  %32 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %31, <2 x i64> noundef %5)
  %33 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %32, <2 x i32> <i32 1, i32 2>
  %34 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %33, <2 x i64> noundef %32)
  %35 = bitcast <2 x i64> %34 to <16 x i8>
  %36 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %35, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %37 = bitcast <16 x i8> %36 to <2 x i64>
  %38 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %37, <2 x i64> noundef %34)
  %39 = bitcast <2 x i64> %29 to <4 x i32>
  %40 = shufflevector <4 x i32> %39, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %41 = bitcast <4 x i32> %40 to <2 x i64>
  %42 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %38, <2 x i64> noundef %41)
  %43 = getelementptr inbounds i8, ptr %2, i64 48
  tail call void @_mm_storeu_si128(ptr noundef nonnull %30, <2 x i64> noundef %42)
  %44 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 12)
  %45 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %44, <2 x i64> noundef %5)
  %46 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %45, <2 x i32> <i32 1, i32 2>
  %47 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %46, <2 x i64> noundef %45)
  %48 = bitcast <2 x i64> %47 to <16 x i8>
  %49 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %48, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %50 = bitcast <16 x i8> %49 to <2 x i64>
  %51 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %50, <2 x i64> noundef %47)
  %52 = bitcast <2 x i64> %42 to <4 x i32>
  %53 = shufflevector <4 x i32> %52, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %54 = bitcast <4 x i32> %53 to <2 x i64>
  %55 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %51, <2 x i64> noundef %54)
  %56 = getelementptr inbounds i8, ptr %2, i64 64
  tail call void @_mm_storeu_si128(ptr noundef nonnull %43, <2 x i64> noundef %55)
  %57 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 16)
  %58 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %57, <2 x i64> noundef %5)
  %59 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %58, <2 x i32> <i32 1, i32 2>
  %60 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %59, <2 x i64> noundef %58)
  %61 = bitcast <2 x i64> %60 to <16 x i8>
  %62 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %61, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %63 = bitcast <16 x i8> %62 to <2 x i64>
  %64 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %63, <2 x i64> noundef %60)
  %65 = bitcast <2 x i64> %55 to <4 x i32>
  %66 = shufflevector <4 x i32> %65, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %67 = bitcast <4 x i32> %66 to <2 x i64>
  %68 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %64, <2 x i64> noundef %67)
  %69 = getelementptr inbounds i8, ptr %2, i64 80
  tail call void @_mm_storeu_si128(ptr noundef nonnull %56, <2 x i64> noundef %68)
  %70 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 20)
  %71 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %70, <2 x i64> noundef %5)
  %72 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %71, <2 x i32> <i32 1, i32 2>
  %73 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %72, <2 x i64> noundef %71)
  %74 = bitcast <2 x i64> %73 to <16 x i8>
  %75 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %74, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %76 = bitcast <16 x i8> %75 to <2 x i64>
  %77 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %76, <2 x i64> noundef %73)
  %78 = bitcast <2 x i64> %68 to <4 x i32>
  %79 = shufflevector <4 x i32> %78, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %80 = bitcast <4 x i32> %79 to <2 x i64>
  %81 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %77, <2 x i64> noundef %80)
  %82 = getelementptr inbounds i8, ptr %2, i64 96
  tail call void @_mm_storeu_si128(ptr noundef nonnull %69, <2 x i64> noundef %81)
  %83 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 24)
  %84 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %83, <2 x i64> noundef %5)
  %85 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %84, <2 x i32> <i32 1, i32 2>
  %86 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %85, <2 x i64> noundef %84)
  %87 = bitcast <2 x i64> %86 to <16 x i8>
  %88 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %87, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %89 = bitcast <16 x i8> %88 to <2 x i64>
  %90 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %89, <2 x i64> noundef %86)
  %91 = bitcast <2 x i64> %81 to <4 x i32>
  %92 = shufflevector <4 x i32> %91, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %93 = bitcast <4 x i32> %92 to <2 x i64>
  %94 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %90, <2 x i64> noundef %93)
  %95 = getelementptr inbounds i8, ptr %2, i64 112
  tail call void @_mm_storeu_si128(ptr noundef nonnull %82, <2 x i64> noundef %94)
  %96 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 28)
  %97 = getelementptr inbounds i8, ptr %1, i64 16
  %98 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %97)
  %99 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %96, <2 x i32> <i32 1, i32 2>
  %100 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %99, <2 x i64> noundef %96)
  %101 = bitcast <2 x i64> %100 to <16 x i8>
  %102 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %101, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %103 = bitcast <16 x i8> %102 to <2 x i64>
  %104 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %103, <2 x i64> noundef %100)
  %105 = bitcast <2 x i64> %94 to <4 x i32>
  %106 = shufflevector <4 x i32> %105, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %107 = bitcast <4 x i32> %106 to <2 x i64>
  %108 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %104, <2 x i64> noundef %107)
  %109 = getelementptr inbounds i8, ptr %2, i64 128
  tail call void @_mm_storeu_si128(ptr noundef nonnull %95, <2 x i64> noundef %108)
  %110 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %98, <2 x i64> noundef %5)
  %111 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %110, <2 x i32> <i32 1, i32 2>
  %112 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %111, <2 x i64> noundef %110)
  %113 = bitcast <2 x i64> %112 to <16 x i8>
  %114 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %113, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %115 = bitcast <16 x i8> %114 to <2 x i64>
  %116 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %115, <2 x i64> noundef %112)
  %117 = bitcast <2 x i64> %108 to <4 x i32>
  %118 = shufflevector <4 x i32> %117, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %119 = bitcast <4 x i32> %118 to <2 x i64>
  %120 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %116, <2 x i64> noundef %119)
  %121 = getelementptr inbounds i8, ptr %2, i64 144
  tail call void @_mm_storeu_si128(ptr noundef nonnull %109, <2 x i64> noundef %120)
  %122 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 4)
  %123 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %122, <2 x i64> noundef %5)
  %124 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %123, <2 x i32> <i32 1, i32 2>
  %125 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %124, <2 x i64> noundef %123)
  %126 = bitcast <2 x i64> %125 to <16 x i8>
  %127 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %126, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %128 = bitcast <16 x i8> %127 to <2 x i64>
  %129 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %128, <2 x i64> noundef %125)
  %130 = bitcast <2 x i64> %120 to <4 x i32>
  %131 = shufflevector <4 x i32> %130, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %132 = bitcast <4 x i32> %131 to <2 x i64>
  %133 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %129, <2 x i64> noundef %132)
  %134 = getelementptr inbounds i8, ptr %2, i64 160
  tail call void @_mm_storeu_si128(ptr noundef nonnull %121, <2 x i64> noundef %133)
  %135 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 8)
  %136 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %135, <2 x i64> noundef %5)
  %137 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %136, <2 x i32> <i32 1, i32 2>
  %138 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %137, <2 x i64> noundef %136)
  %139 = bitcast <2 x i64> %138 to <16 x i8>
  %140 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %139, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %141 = bitcast <16 x i8> %140 to <2 x i64>
  %142 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %141, <2 x i64> noundef %138)
  %143 = bitcast <2 x i64> %133 to <4 x i32>
  %144 = shufflevector <4 x i32> %143, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %145 = bitcast <4 x i32> %144 to <2 x i64>
  %146 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %142, <2 x i64> noundef %145)
  %147 = getelementptr inbounds i8, ptr %2, i64 176
  tail call void @_mm_storeu_si128(ptr noundef nonnull %134, <2 x i64> noundef %146)
  %148 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 12)
  %149 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %148, <2 x i64> noundef %5)
  %150 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %149, <2 x i32> <i32 1, i32 2>
  %151 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %150, <2 x i64> noundef %149)
  %152 = bitcast <2 x i64> %151 to <16 x i8>
  %153 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %152, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %154 = bitcast <16 x i8> %153 to <2 x i64>
  %155 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %154, <2 x i64> noundef %151)
  %156 = bitcast <2 x i64> %146 to <4 x i32>
  %157 = shufflevector <4 x i32> %156, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %158 = bitcast <4 x i32> %157 to <2 x i64>
  %159 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %155, <2 x i64> noundef %158)
  %160 = getelementptr inbounds i8, ptr %2, i64 192
  tail call void @_mm_storeu_si128(ptr noundef nonnull %147, <2 x i64> noundef %159)
  %161 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 16)
  %162 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %161, <2 x i64> noundef %5)
  %163 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %162, <2 x i32> <i32 1, i32 2>
  %164 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %163, <2 x i64> noundef %162)
  %165 = bitcast <2 x i64> %164 to <16 x i8>
  %166 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %165, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %167 = bitcast <16 x i8> %166 to <2 x i64>
  %168 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %167, <2 x i64> noundef %164)
  %169 = bitcast <2 x i64> %159 to <4 x i32>
  %170 = shufflevector <4 x i32> %169, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %171 = bitcast <4 x i32> %170 to <2 x i64>
  %172 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %168, <2 x i64> noundef %171)
  %173 = getelementptr inbounds i8, ptr %2, i64 208
  tail call void @_mm_storeu_si128(ptr noundef nonnull %160, <2 x i64> noundef %172)
  %174 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 20)
  %175 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %174, <2 x i64> noundef %5)
  %176 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %175, <2 x i32> <i32 1, i32 2>
  %177 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %176, <2 x i64> noundef %175)
  %178 = bitcast <2 x i64> %177 to <16 x i8>
  %179 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %178, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %180 = bitcast <16 x i8> %179 to <2 x i64>
  %181 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %180, <2 x i64> noundef %177)
  %182 = bitcast <2 x i64> %172 to <4 x i32>
  %183 = shufflevector <4 x i32> %182, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %184 = bitcast <4 x i32> %183 to <2 x i64>
  %185 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %181, <2 x i64> noundef %184)
  %186 = getelementptr inbounds i8, ptr %2, i64 224
  tail call void @_mm_storeu_si128(ptr noundef nonnull %173, <2 x i64> noundef %185)
  %187 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 24)
  %188 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %187, <2 x i64> noundef %5)
  %189 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %188, <2 x i32> <i32 1, i32 2>
  %190 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %189, <2 x i64> noundef %188)
  %191 = bitcast <2 x i64> %190 to <16 x i8>
  %192 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %191, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %193 = bitcast <16 x i8> %192 to <2 x i64>
  %194 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %193, <2 x i64> noundef %190)
  %195 = bitcast <2 x i64> %185 to <4 x i32>
  %196 = shufflevector <4 x i32> %195, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %197 = bitcast <4 x i32> %196 to <2 x i64>
  %198 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %194, <2 x i64> noundef %197)
  %199 = getelementptr inbounds i8, ptr %2, i64 240
  tail call void @_mm_storeu_si128(ptr noundef nonnull %186, <2 x i64> noundef %198)
  %200 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 28)
  %201 = getelementptr inbounds i8, ptr %1, i64 32
  %202 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %201)
  %203 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %200, <2 x i32> <i32 1, i32 2>
  %204 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %203, <2 x i64> noundef %200)
  %205 = bitcast <2 x i64> %204 to <16 x i8>
  %206 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %205, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %207 = bitcast <16 x i8> %206 to <2 x i64>
  %208 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %207, <2 x i64> noundef %204)
  %209 = bitcast <2 x i64> %198 to <4 x i32>
  %210 = shufflevector <4 x i32> %209, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %211 = bitcast <4 x i32> %210 to <2 x i64>
  %212 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %208, <2 x i64> noundef %211)
  %213 = getelementptr inbounds i8, ptr %2, i64 256
  tail call void @_mm_storeu_si128(ptr noundef nonnull %199, <2 x i64> noundef %212)
  %214 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %202, <2 x i64> noundef %5)
  %215 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %214, <2 x i32> <i32 1, i32 2>
  %216 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %215, <2 x i64> noundef %214)
  %217 = bitcast <2 x i64> %216 to <16 x i8>
  %218 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %217, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %219 = bitcast <16 x i8> %218 to <2 x i64>
  %220 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %219, <2 x i64> noundef %216)
  %221 = bitcast <2 x i64> %212 to <4 x i32>
  %222 = shufflevector <4 x i32> %221, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %223 = bitcast <4 x i32> %222 to <2 x i64>
  %224 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %220, <2 x i64> noundef %223)
  %225 = getelementptr inbounds i8, ptr %2, i64 272
  tail call void @_mm_storeu_si128(ptr noundef nonnull %213, <2 x i64> noundef %224)
  %226 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 4)
  %227 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %226, <2 x i64> noundef %5)
  %228 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %227, <2 x i32> <i32 1, i32 2>
  %229 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %228, <2 x i64> noundef %227)
  %230 = bitcast <2 x i64> %229 to <16 x i8>
  %231 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %230, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %232 = bitcast <16 x i8> %231 to <2 x i64>
  %233 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %232, <2 x i64> noundef %229)
  %234 = bitcast <2 x i64> %224 to <4 x i32>
  %235 = shufflevector <4 x i32> %234, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %236 = bitcast <4 x i32> %235 to <2 x i64>
  %237 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %233, <2 x i64> noundef %236)
  %238 = getelementptr inbounds i8, ptr %2, i64 288
  tail call void @_mm_storeu_si128(ptr noundef nonnull %225, <2 x i64> noundef %237)
  %239 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 8)
  %240 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %239, <2 x i64> noundef %5)
  %241 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %240, <2 x i32> <i32 1, i32 2>
  %242 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %241, <2 x i64> noundef %240)
  %243 = bitcast <2 x i64> %242 to <16 x i8>
  %244 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %243, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %245 = bitcast <16 x i8> %244 to <2 x i64>
  %246 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %245, <2 x i64> noundef %242)
  %247 = bitcast <2 x i64> %237 to <4 x i32>
  %248 = shufflevector <4 x i32> %247, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %249 = bitcast <4 x i32> %248 to <2 x i64>
  %250 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %246, <2 x i64> noundef %249)
  %251 = getelementptr inbounds i8, ptr %2, i64 304
  tail call void @_mm_storeu_si128(ptr noundef nonnull %238, <2 x i64> noundef %250)
  %252 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 12)
  %253 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %252, <2 x i64> noundef %5)
  %254 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %253, <2 x i32> <i32 1, i32 2>
  %255 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %254, <2 x i64> noundef %253)
  %256 = bitcast <2 x i64> %255 to <16 x i8>
  %257 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %256, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %258 = bitcast <16 x i8> %257 to <2 x i64>
  %259 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %258, <2 x i64> noundef %255)
  %260 = bitcast <2 x i64> %250 to <4 x i32>
  %261 = shufflevector <4 x i32> %260, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %262 = bitcast <4 x i32> %261 to <2 x i64>
  %263 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %259, <2 x i64> noundef %262)
  %264 = getelementptr inbounds i8, ptr %2, i64 320
  tail call void @_mm_storeu_si128(ptr noundef nonnull %251, <2 x i64> noundef %263)
  %265 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 16)
  %266 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %265, <2 x i64> noundef %5)
  %267 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %266, <2 x i32> <i32 1, i32 2>
  %268 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %267, <2 x i64> noundef %266)
  %269 = bitcast <2 x i64> %268 to <16 x i8>
  %270 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %269, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %271 = bitcast <16 x i8> %270 to <2 x i64>
  %272 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %271, <2 x i64> noundef %268)
  %273 = bitcast <2 x i64> %263 to <4 x i32>
  %274 = shufflevector <4 x i32> %273, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %275 = bitcast <4 x i32> %274 to <2 x i64>
  %276 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %272, <2 x i64> noundef %275)
  %277 = getelementptr inbounds i8, ptr %2, i64 336
  tail call void @_mm_storeu_si128(ptr noundef nonnull %264, <2 x i64> noundef %276)
  %278 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 20)
  %279 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %278, <2 x i64> noundef %5)
  %280 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %279, <2 x i32> <i32 1, i32 2>
  %281 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %280, <2 x i64> noundef %279)
  %282 = bitcast <2 x i64> %281 to <16 x i8>
  %283 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %282, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %284 = bitcast <16 x i8> %283 to <2 x i64>
  %285 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %284, <2 x i64> noundef %281)
  %286 = bitcast <2 x i64> %276 to <4 x i32>
  %287 = shufflevector <4 x i32> %286, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %288 = bitcast <4 x i32> %287 to <2 x i64>
  %289 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %285, <2 x i64> noundef %288)
  %290 = getelementptr inbounds i8, ptr %2, i64 352
  tail call void @_mm_storeu_si128(ptr noundef nonnull %277, <2 x i64> noundef %289)
  %291 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 24)
  %292 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %291, <2 x i64> noundef %5)
  %293 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %292, <2 x i32> <i32 1, i32 2>
  %294 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %293, <2 x i64> noundef %292)
  %295 = bitcast <2 x i64> %294 to <16 x i8>
  %296 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %295, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %297 = bitcast <16 x i8> %296 to <2 x i64>
  %298 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %297, <2 x i64> noundef %294)
  %299 = bitcast <2 x i64> %289 to <4 x i32>
  %300 = shufflevector <4 x i32> %299, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %301 = bitcast <4 x i32> %300 to <2 x i64>
  %302 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %298, <2 x i64> noundef %301)
  %303 = getelementptr inbounds i8, ptr %2, i64 368
  tail call void @_mm_storeu_si128(ptr noundef nonnull %290, <2 x i64> noundef %302)
  %304 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 28)
  %305 = getelementptr inbounds i8, ptr %1, i64 48
  %306 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %305)
  %307 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %304, <2 x i32> <i32 1, i32 2>
  %308 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %307, <2 x i64> noundef %304)
  %309 = bitcast <2 x i64> %308 to <16 x i8>
  %310 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %309, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %311 = bitcast <16 x i8> %310 to <2 x i64>
  %312 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %311, <2 x i64> noundef %308)
  %313 = bitcast <2 x i64> %302 to <4 x i32>
  %314 = shufflevector <4 x i32> %313, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %315 = bitcast <4 x i32> %314 to <2 x i64>
  %316 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %312, <2 x i64> noundef %315)
  %317 = getelementptr inbounds i8, ptr %2, i64 384
  tail call void @_mm_storeu_si128(ptr noundef nonnull %303, <2 x i64> noundef %316)
  %318 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %306, <2 x i64> noundef %5)
  %319 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %318, <2 x i32> <i32 1, i32 2>
  %320 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %319, <2 x i64> noundef %318)
  %321 = bitcast <2 x i64> %320 to <16 x i8>
  %322 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %321, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %323 = bitcast <16 x i8> %322 to <2 x i64>
  %324 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %323, <2 x i64> noundef %320)
  %325 = bitcast <2 x i64> %316 to <4 x i32>
  %326 = shufflevector <4 x i32> %325, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %327 = bitcast <4 x i32> %326 to <2 x i64>
  %328 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %324, <2 x i64> noundef %327)
  %329 = getelementptr inbounds i8, ptr %2, i64 400
  tail call void @_mm_storeu_si128(ptr noundef nonnull %317, <2 x i64> noundef %328)
  %330 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 4)
  %331 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %330, <2 x i64> noundef %5)
  %332 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %331, <2 x i32> <i32 1, i32 2>
  %333 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %332, <2 x i64> noundef %331)
  %334 = bitcast <2 x i64> %333 to <16 x i8>
  %335 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %334, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %336 = bitcast <16 x i8> %335 to <2 x i64>
  %337 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %336, <2 x i64> noundef %333)
  %338 = bitcast <2 x i64> %328 to <4 x i32>
  %339 = shufflevector <4 x i32> %338, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %340 = bitcast <4 x i32> %339 to <2 x i64>
  %341 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %337, <2 x i64> noundef %340)
  %342 = getelementptr inbounds i8, ptr %2, i64 416
  tail call void @_mm_storeu_si128(ptr noundef nonnull %329, <2 x i64> noundef %341)
  %343 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 8)
  %344 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %343, <2 x i64> noundef %5)
  %345 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %344, <2 x i32> <i32 1, i32 2>
  %346 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %345, <2 x i64> noundef %344)
  %347 = bitcast <2 x i64> %346 to <16 x i8>
  %348 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %347, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %349 = bitcast <16 x i8> %348 to <2 x i64>
  %350 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %349, <2 x i64> noundef %346)
  %351 = bitcast <2 x i64> %341 to <4 x i32>
  %352 = shufflevector <4 x i32> %351, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %353 = bitcast <4 x i32> %352 to <2 x i64>
  %354 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %350, <2 x i64> noundef %353)
  %355 = getelementptr inbounds i8, ptr %2, i64 432
  tail call void @_mm_storeu_si128(ptr noundef nonnull %342, <2 x i64> noundef %354)
  %356 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 12)
  %357 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %356, <2 x i64> noundef %5)
  %358 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %357, <2 x i32> <i32 1, i32 2>
  %359 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %358, <2 x i64> noundef %357)
  %360 = bitcast <2 x i64> %359 to <16 x i8>
  %361 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %360, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %362 = bitcast <16 x i8> %361 to <2 x i64>
  %363 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %362, <2 x i64> noundef %359)
  %364 = bitcast <2 x i64> %354 to <4 x i32>
  %365 = shufflevector <4 x i32> %364, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %366 = bitcast <4 x i32> %365 to <2 x i64>
  %367 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %363, <2 x i64> noundef %366)
  %368 = getelementptr inbounds i8, ptr %2, i64 448
  tail call void @_mm_storeu_si128(ptr noundef nonnull %355, <2 x i64> noundef %367)
  %369 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 16)
  %370 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %369, <2 x i64> noundef %5)
  %371 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %370, <2 x i32> <i32 1, i32 2>
  %372 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %371, <2 x i64> noundef %370)
  %373 = bitcast <2 x i64> %372 to <16 x i8>
  %374 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %373, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %375 = bitcast <16 x i8> %374 to <2 x i64>
  %376 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %375, <2 x i64> noundef %372)
  %377 = bitcast <2 x i64> %367 to <4 x i32>
  %378 = shufflevector <4 x i32> %377, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %379 = bitcast <4 x i32> %378 to <2 x i64>
  %380 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %376, <2 x i64> noundef %379)
  %381 = getelementptr inbounds i8, ptr %2, i64 464
  tail call void @_mm_storeu_si128(ptr noundef nonnull %368, <2 x i64> noundef %380)
  %382 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 20)
  %383 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %382, <2 x i64> noundef %5)
  %384 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %383, <2 x i32> <i32 1, i32 2>
  %385 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %384, <2 x i64> noundef %383)
  %386 = bitcast <2 x i64> %385 to <16 x i8>
  %387 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %386, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %388 = bitcast <16 x i8> %387 to <2 x i64>
  %389 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %388, <2 x i64> noundef %385)
  %390 = bitcast <2 x i64> %380 to <4 x i32>
  %391 = shufflevector <4 x i32> %390, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %392 = bitcast <4 x i32> %391 to <2 x i64>
  %393 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %389, <2 x i64> noundef %392)
  %394 = getelementptr inbounds i8, ptr %2, i64 480
  tail call void @_mm_storeu_si128(ptr noundef nonnull %381, <2 x i64> noundef %393)
  %395 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 24)
  %396 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %395, <2 x i64> noundef %5)
  %397 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %396, <2 x i32> <i32 1, i32 2>
  %398 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %397, <2 x i64> noundef %396)
  %399 = bitcast <2 x i64> %398 to <16 x i8>
  %400 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %399, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %401 = bitcast <16 x i8> %400 to <2 x i64>
  %402 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %401, <2 x i64> noundef %398)
  %403 = bitcast <2 x i64> %393 to <4 x i32>
  %404 = shufflevector <4 x i32> %403, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %405 = bitcast <4 x i32> %404 to <2 x i64>
  %406 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %402, <2 x i64> noundef %405)
  %407 = getelementptr inbounds i8, ptr %2, i64 496
  tail call void @_mm_storeu_si128(ptr noundef nonnull %394, <2 x i64> noundef %406)
  %408 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 28)
  %409 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %408, <2 x i32> <i32 1, i32 2>
  %410 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %409, <2 x i64> noundef %408)
  %411 = bitcast <2 x i64> %410 to <16 x i8>
  %412 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %411, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %413 = bitcast <16 x i8> %412 to <2 x i64>
  %414 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %413, <2 x i64> noundef %410)
  %415 = bitcast <2 x i64> %406 to <4 x i32>
  %416 = shufflevector <4 x i32> %415, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %417 = bitcast <4 x i32> %416 to <2 x i64>
  %418 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %414, <2 x i64> noundef %417)
  tail call void @_mm_storeu_si128(ptr noundef nonnull %407, <2 x i64> noundef %418)
  ret <2 x i64> %418
}

attributes #0 = { alwaysinline nounwind uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind uwtable "min-legal-vector-width"="128" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,InferFunctionAttrsPass,InstCombinePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass,VectorCombinePass