; 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: nounwind uwtable
define dso_local <2 x i64> @iunpack1(<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 1)
  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 1)
  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 2)
  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 3)
  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 4)
  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 5)
  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 6)
  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 7)
  store <2 x i64> %290, ptr %10, align 16, !tbaa !5
  %291 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %292 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %293 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %291, <2 x i64> noundef %292)
  store <2 x i64> %293, ptr %9, align 16, !tbaa !5
  br label %294

294:                                              ; preds = %284
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %295 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %296 = bitcast <2 x i64> %295 to <16 x i8>
  %297 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %296, <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>
  %298 = bitcast <16 x i8> %297 to <2 x i64>
  %299 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %300 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %298, <2 x i64> noundef %299)
  store <2 x i64> %300, ptr %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %301 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %302 = bitcast <2 x i64> %301 to <16 x i8>
  %303 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %302, <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>
  %304 = bitcast <16 x i8> %303 to <2 x i64>
  %305 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %306 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %304, <2 x i64> noundef %305)
  store <2 x i64> %306, ptr %27, align 16, !tbaa !5
  %307 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %308 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %309 = bitcast <2 x i64> %308 to <4 x i32>
  %310 = shufflevector <4 x i32> %309, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %311 = bitcast <4 x i32> %310 to <2 x i64>
  %312 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %307, <2 x i64> noundef %311)
  store <2 x i64> %312, 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 %313

313:                                              ; preds = %294
  br label %314

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

324:                                              ; preds = %314
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %325 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %326 = bitcast <2 x i64> %325 to <16 x i8>
  %327 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %326, <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>
  %328 = bitcast <16 x i8> %327 to <2 x i64>
  %329 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %330 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %328, <2 x i64> noundef %329)
  store <2 x i64> %330, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %331 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %332 = bitcast <2 x i64> %331 to <16 x i8>
  %333 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %332, <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>
  %334 = bitcast <16 x i8> %333 to <2 x i64>
  %335 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %336 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %334, <2 x i64> noundef %335)
  store <2 x i64> %336, ptr %29, align 16, !tbaa !5
  %337 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %338 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %339 = bitcast <2 x i64> %338 to <4 x i32>
  %340 = shufflevector <4 x i32> %339, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %341 = bitcast <4 x i32> %340 to <2 x i64>
  %342 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %337, <2 x i64> noundef %341)
  store <2 x i64> %342, 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 %343

343:                                              ; preds = %324
  br label %344

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

354:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %355 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %356 = bitcast <2 x i64> %355 to <16 x i8>
  %357 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %356, <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>
  %358 = bitcast <16 x i8> %357 to <2 x i64>
  %359 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %360 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %358, <2 x i64> noundef %359)
  store <2 x i64> %360, ptr %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %361 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %362 = bitcast <2 x i64> %361 to <16 x i8>
  %363 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %362, <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>
  %364 = bitcast <16 x i8> %363 to <2 x i64>
  %365 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %366 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %364, <2 x i64> noundef %365)
  store <2 x i64> %366, ptr %31, align 16, !tbaa !5
  %367 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %368 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %369 = bitcast <2 x i64> %368 to <4 x i32>
  %370 = shufflevector <4 x i32> %369, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %371 = bitcast <4 x i32> %370 to <2 x i64>
  %372 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %367, <2 x i64> noundef %371)
  store <2 x i64> %372, 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 %373

373:                                              ; preds = %354
  br label %374

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

384:                                              ; preds = %374
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #3
  %385 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %386 = bitcast <2 x i64> %385 to <16 x i8>
  %387 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %386, <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>
  %388 = bitcast <16 x i8> %387 to <2 x i64>
  %389 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %390 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %388, <2 x i64> noundef %389)
  store <2 x i64> %390, ptr %32, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #3
  %391 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %392 = bitcast <2 x i64> %391 to <16 x i8>
  %393 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %392, <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>
  %394 = bitcast <16 x i8> %393 to <2 x i64>
  %395 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %396 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %394, <2 x i64> noundef %395)
  store <2 x i64> %396, ptr %33, align 16, !tbaa !5
  %397 = load <2 x i64>, ptr %33, align 16, !tbaa !5
  %398 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %399 = bitcast <2 x i64> %398 to <4 x i32>
  %400 = shufflevector <4 x i32> %399, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %401 = bitcast <4 x i32> %400 to <2 x i64>
  %402 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %397, <2 x i64> noundef %401)
  store <2 x i64> %402, 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 %403

403:                                              ; preds = %384
  br label %404

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

414:                                              ; preds = %404
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %415 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %416 = bitcast <2 x i64> %415 to <16 x i8>
  %417 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %416, <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>
  %418 = bitcast <16 x i8> %417 to <2 x i64>
  %419 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %420 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %418, <2 x i64> noundef %419)
  store <2 x i64> %420, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %421 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %422 = bitcast <2 x i64> %421 to <16 x i8>
  %423 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %422, <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>
  %424 = bitcast <16 x i8> %423 to <2 x i64>
  %425 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %426 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %424, <2 x i64> noundef %425)
  store <2 x i64> %426, ptr %35, align 16, !tbaa !5
  %427 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %428 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %429 = bitcast <2 x i64> %428 to <4 x i32>
  %430 = shufflevector <4 x i32> %429, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %431 = bitcast <4 x i32> %430 to <2 x i64>
  %432 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %427, <2 x i64> noundef %431)
  store <2 x i64> %432, 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 %433

433:                                              ; preds = %414
  br label %434

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

444:                                              ; preds = %434
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %445 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %446 = bitcast <2 x i64> %445 to <16 x i8>
  %447 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %446, <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>
  %448 = bitcast <16 x i8> %447 to <2 x i64>
  %449 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %450 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %448, <2 x i64> noundef %449)
  store <2 x i64> %450, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %451 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %452 = bitcast <2 x i64> %451 to <16 x i8>
  %453 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %452, <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>
  %454 = bitcast <16 x i8> %453 to <2 x i64>
  %455 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %456 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %454, <2 x i64> noundef %455)
  store <2 x i64> %456, ptr %37, align 16, !tbaa !5
  %457 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %458 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %459 = bitcast <2 x i64> %458 to <4 x i32>
  %460 = shufflevector <4 x i32> %459, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %461 = bitcast <4 x i32> %460 to <2 x i64>
  %462 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %457, <2 x i64> noundef %461)
  store <2 x i64> %462, 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 %463

463:                                              ; preds = %444
  br label %464

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

474:                                              ; preds = %464
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %475 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %476 = bitcast <2 x i64> %475 to <16 x i8>
  %477 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %476, <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>
  %478 = bitcast <16 x i8> %477 to <2 x i64>
  %479 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %480 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %478, <2 x i64> noundef %479)
  store <2 x i64> %480, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %481 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %482 = bitcast <2 x i64> %481 to <16 x i8>
  %483 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %482, <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>
  %484 = bitcast <16 x i8> %483 to <2 x i64>
  %485 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %486 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %484, <2 x i64> noundef %485)
  store <2 x i64> %486, ptr %39, align 16, !tbaa !5
  %487 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %488 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %489 = bitcast <2 x i64> %488 to <4 x i32>
  %490 = shufflevector <4 x i32> %489, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %491 = bitcast <4 x i32> %490 to <2 x i64>
  %492 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %487, <2 x i64> noundef %491)
  store <2 x i64> %492, 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 %493

493:                                              ; preds = %474
  br label %494

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

504:                                              ; preds = %494
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #3
  %505 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %506 = bitcast <2 x i64> %505 to <16 x i8>
  %507 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %506, <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>
  %508 = bitcast <16 x i8> %507 to <2 x i64>
  %509 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %510 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %508, <2 x i64> noundef %509)
  store <2 x i64> %510, ptr %40, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #3
  %511 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %512 = bitcast <2 x i64> %511 to <16 x i8>
  %513 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %512, <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>
  %514 = bitcast <16 x i8> %513 to <2 x i64>
  %515 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %516 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %514, <2 x i64> noundef %515)
  store <2 x i64> %516, ptr %41, align 16, !tbaa !5
  %517 = load <2 x i64>, ptr %41, align 16, !tbaa !5
  %518 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %519 = bitcast <2 x i64> %518 to <4 x i32>
  %520 = shufflevector <4 x i32> %519, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %521 = bitcast <4 x i32> %520 to <2 x i64>
  %522 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %517, <2 x i64> noundef %521)
  store <2 x i64> %522, 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 %523

523:                                              ; preds = %504
  br label %524

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

534:                                              ; preds = %524
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %535 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %536 = bitcast <2 x i64> %535 to <16 x i8>
  %537 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %536, <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>
  %538 = bitcast <16 x i8> %537 to <2 x i64>
  %539 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %540 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %538, <2 x i64> noundef %539)
  store <2 x i64> %540, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %541 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %542 = bitcast <2 x i64> %541 to <16 x i8>
  %543 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %542, <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>
  %544 = bitcast <16 x i8> %543 to <2 x i64>
  %545 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %546 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %544, <2 x i64> noundef %545)
  store <2 x i64> %546, ptr %43, align 16, !tbaa !5
  %547 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %548 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %549 = bitcast <2 x i64> %548 to <4 x i32>
  %550 = shufflevector <4 x i32> %549, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %551 = bitcast <4 x i32> %550 to <2 x i64>
  %552 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %547, <2 x i64> noundef %551)
  store <2 x i64> %552, 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 %553

553:                                              ; preds = %534
  br label %554

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

564:                                              ; preds = %554
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #3
  %565 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %566 = bitcast <2 x i64> %565 to <16 x i8>
  %567 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %566, <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>
  %568 = bitcast <16 x i8> %567 to <2 x i64>
  %569 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %570 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %568, <2 x i64> noundef %569)
  store <2 x i64> %570, ptr %44, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #3
  %571 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %572 = bitcast <2 x i64> %571 to <16 x i8>
  %573 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %572, <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>
  %574 = bitcast <16 x i8> %573 to <2 x i64>
  %575 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %576 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %574, <2 x i64> noundef %575)
  store <2 x i64> %576, ptr %45, align 16, !tbaa !5
  %577 = load <2 x i64>, ptr %45, align 16, !tbaa !5
  %578 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %579 = bitcast <2 x i64> %578 to <4 x i32>
  %580 = shufflevector <4 x i32> %579, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %581 = bitcast <4 x i32> %580 to <2 x i64>
  %582 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %577, <2 x i64> noundef %581)
  store <2 x i64> %582, 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 %583

583:                                              ; preds = %564
  br label %584

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

594:                                              ; preds = %584
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #3
  %595 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %596 = bitcast <2 x i64> %595 to <16 x i8>
  %597 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %596, <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>
  %598 = bitcast <16 x i8> %597 to <2 x i64>
  %599 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %600 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %598, <2 x i64> noundef %599)
  store <2 x i64> %600, ptr %46, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #3
  %601 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %602 = bitcast <2 x i64> %601 to <16 x i8>
  %603 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %602, <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>
  %604 = bitcast <16 x i8> %603 to <2 x i64>
  %605 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %606 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %604, <2 x i64> noundef %605)
  store <2 x i64> %606, ptr %47, align 16, !tbaa !5
  %607 = load <2 x i64>, ptr %47, align 16, !tbaa !5
  %608 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %609 = bitcast <2 x i64> %608 to <4 x i32>
  %610 = shufflevector <4 x i32> %609, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %611 = bitcast <4 x i32> %610 to <2 x i64>
  %612 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %607, <2 x i64> noundef %611)
  store <2 x i64> %612, 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 %613

613:                                              ; preds = %594
  br label %614

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

624:                                              ; preds = %614
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %625 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %626 = bitcast <2 x i64> %625 to <16 x i8>
  %627 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %626, <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>
  %628 = bitcast <16 x i8> %627 to <2 x i64>
  %629 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %630 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %628, <2 x i64> noundef %629)
  store <2 x i64> %630, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %631 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %632 = bitcast <2 x i64> %631 to <16 x i8>
  %633 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %632, <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>
  %634 = bitcast <16 x i8> %633 to <2 x i64>
  %635 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %636 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %634, <2 x i64> noundef %635)
  store <2 x i64> %636, ptr %49, align 16, !tbaa !5
  %637 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %638 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %639 = bitcast <2 x i64> %638 to <4 x i32>
  %640 = shufflevector <4 x i32> %639, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %641 = bitcast <4 x i32> %640 to <2 x i64>
  %642 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %637, <2 x i64> noundef %641)
  store <2 x i64> %642, 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 %643

643:                                              ; preds = %624
  br label %644

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

654:                                              ; preds = %644
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %655 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %656 = bitcast <2 x i64> %655 to <16 x i8>
  %657 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %656, <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>
  %658 = bitcast <16 x i8> %657 to <2 x i64>
  %659 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %660 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %658, <2 x i64> noundef %659)
  store <2 x i64> %660, ptr %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %661 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %662 = bitcast <2 x i64> %661 to <16 x i8>
  %663 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %662, <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>
  %664 = bitcast <16 x i8> %663 to <2 x i64>
  %665 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %666 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %664, <2 x i64> noundef %665)
  store <2 x i64> %666, ptr %51, align 16, !tbaa !5
  %667 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %668 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %669 = bitcast <2 x i64> %668 to <4 x i32>
  %670 = shufflevector <4 x i32> %669, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %671 = bitcast <4 x i32> %670 to <2 x i64>
  %672 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %667, <2 x i64> noundef %671)
  store <2 x i64> %672, 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 %673

673:                                              ; preds = %654
  br label %674

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

684:                                              ; preds = %674
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #3
  %685 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %686 = bitcast <2 x i64> %685 to <16 x i8>
  %687 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %686, <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>
  %688 = bitcast <16 x i8> %687 to <2 x i64>
  %689 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %690 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %688, <2 x i64> noundef %689)
  store <2 x i64> %690, ptr %52, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #3
  %691 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %692 = bitcast <2 x i64> %691 to <16 x i8>
  %693 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %692, <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>
  %694 = bitcast <16 x i8> %693 to <2 x i64>
  %695 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %696 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %694, <2 x i64> noundef %695)
  store <2 x i64> %696, ptr %53, align 16, !tbaa !5
  %697 = load <2 x i64>, ptr %53, align 16, !tbaa !5
  %698 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %699 = bitcast <2 x i64> %698 to <4 x i32>
  %700 = shufflevector <4 x i32> %699, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %701 = bitcast <4 x i32> %700 to <2 x i64>
  %702 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %697, <2 x i64> noundef %701)
  store <2 x i64> %702, 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 %703

703:                                              ; preds = %684
  br label %704

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

714:                                              ; preds = %704
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %715 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %716 = bitcast <2 x i64> %715 to <16 x i8>
  %717 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %716, <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>
  %718 = bitcast <16 x i8> %717 to <2 x i64>
  %719 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %720 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %718, <2 x i64> noundef %719)
  store <2 x i64> %720, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %721 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %722 = bitcast <2 x i64> %721 to <16 x i8>
  %723 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %722, <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>
  %724 = bitcast <16 x i8> %723 to <2 x i64>
  %725 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %726 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %724, <2 x i64> noundef %725)
  store <2 x i64> %726, ptr %55, align 16, !tbaa !5
  %727 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %728 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %729 = bitcast <2 x i64> %728 to <4 x i32>
  %730 = shufflevector <4 x i32> %729, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %731 = bitcast <4 x i32> %730 to <2 x i64>
  %732 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %727, <2 x i64> noundef %731)
  store <2 x i64> %732, 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 %733

733:                                              ; preds = %714
  br label %734

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

744:                                              ; preds = %734
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #3
  %745 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %746 = bitcast <2 x i64> %745 to <16 x i8>
  %747 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %746, <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>
  %748 = bitcast <16 x i8> %747 to <2 x i64>
  %749 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %750 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %748, <2 x i64> noundef %749)
  store <2 x i64> %750, ptr %56, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #3
  %751 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %752 = bitcast <2 x i64> %751 to <16 x i8>
  %753 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %752, <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>
  %754 = bitcast <16 x i8> %753 to <2 x i64>
  %755 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %756 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %754, <2 x i64> noundef %755)
  store <2 x i64> %756, ptr %57, align 16, !tbaa !5
  %757 = load <2 x i64>, ptr %57, align 16, !tbaa !5
  %758 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %759 = bitcast <2 x i64> %758 to <4 x i32>
  %760 = shufflevector <4 x i32> %759, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %761 = bitcast <4 x i32> %760 to <2 x i64>
  %762 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %757, <2 x i64> noundef %761)
  store <2 x i64> %762, 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 %763

763:                                              ; preds = %744
  br label %764

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

774:                                              ; preds = %764
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %775 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %776 = bitcast <2 x i64> %775 to <16 x i8>
  %777 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %776, <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>
  %778 = bitcast <16 x i8> %777 to <2 x i64>
  %779 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %780 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %778, <2 x i64> noundef %779)
  store <2 x i64> %780, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %781 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %782 = bitcast <2 x i64> %781 to <16 x i8>
  %783 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %782, <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>
  %784 = bitcast <16 x i8> %783 to <2 x i64>
  %785 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %786 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %784, <2 x i64> noundef %785)
  store <2 x i64> %786, ptr %59, align 16, !tbaa !5
  %787 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %788 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %789 = bitcast <2 x i64> %788 to <4 x i32>
  %790 = shufflevector <4 x i32> %789, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %791 = bitcast <4 x i32> %790 to <2 x i64>
  %792 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %787, <2 x i64> noundef %791)
  store <2 x i64> %792, 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 %793

793:                                              ; preds = %774
  br label %794

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

804:                                              ; preds = %794
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %805 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %806 = bitcast <2 x i64> %805 to <16 x i8>
  %807 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %806, <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>
  %808 = bitcast <16 x i8> %807 to <2 x i64>
  %809 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %810 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %808, <2 x i64> noundef %809)
  store <2 x i64> %810, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %811 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %812 = bitcast <2 x i64> %811 to <16 x i8>
  %813 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %812, <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>
  %814 = bitcast <16 x i8> %813 to <2 x i64>
  %815 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %816 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %814, <2 x i64> noundef %815)
  store <2 x i64> %816, ptr %61, align 16, !tbaa !5
  %817 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %818 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %819 = bitcast <2 x i64> %818 to <4 x i32>
  %820 = shufflevector <4 x i32> %819, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %821 = bitcast <4 x i32> %820 to <2 x i64>
  %822 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %817, <2 x i64> noundef %821)
  store <2 x i64> %822, 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 %823

823:                                              ; preds = %804
  br label %824

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

834:                                              ; preds = %824
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %835 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %836 = bitcast <2 x i64> %835 to <16 x i8>
  %837 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %836, <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>
  %838 = bitcast <16 x i8> %837 to <2 x i64>
  %839 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %840 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %838, <2 x i64> noundef %839)
  store <2 x i64> %840, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %841 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %842 = bitcast <2 x i64> %841 to <16 x i8>
  %843 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %842, <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>
  %844 = bitcast <16 x i8> %843 to <2 x i64>
  %845 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %846 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %844, <2 x i64> noundef %845)
  store <2 x i64> %846, ptr %63, align 16, !tbaa !5
  %847 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %848 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %849 = bitcast <2 x i64> %848 to <4 x i32>
  %850 = shufflevector <4 x i32> %849, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %851 = bitcast <4 x i32> %850 to <2 x i64>
  %852 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %847, <2 x i64> noundef %851)
  store <2 x i64> %852, 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 %853

853:                                              ; preds = %834
  br label %854

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

864:                                              ; preds = %854
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %865 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %866 = bitcast <2 x i64> %865 to <16 x i8>
  %867 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %866, <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>
  %868 = bitcast <16 x i8> %867 to <2 x i64>
  %869 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %870 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %868, <2 x i64> noundef %869)
  store <2 x i64> %870, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %871 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %872 = bitcast <2 x i64> %871 to <16 x i8>
  %873 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %872, <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>
  %874 = bitcast <16 x i8> %873 to <2 x i64>
  %875 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %876 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %874, <2 x i64> noundef %875)
  store <2 x i64> %876, ptr %65, align 16, !tbaa !5
  %877 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %878 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %879 = bitcast <2 x i64> %878 to <4 x i32>
  %880 = shufflevector <4 x i32> %879, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %881 = bitcast <4 x i32> %880 to <2 x i64>
  %882 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %877, <2 x i64> noundef %881)
  store <2 x i64> %882, 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 %883

883:                                              ; preds = %864
  br label %884

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

894:                                              ; preds = %884
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %895 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %896 = bitcast <2 x i64> %895 to <16 x i8>
  %897 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %896, <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>
  %898 = bitcast <16 x i8> %897 to <2 x i64>
  %899 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %900 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %898, <2 x i64> noundef %899)
  store <2 x i64> %900, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %901 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %902 = bitcast <2 x i64> %901 to <16 x i8>
  %903 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %902, <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>
  %904 = bitcast <16 x i8> %903 to <2 x i64>
  %905 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %906 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %904, <2 x i64> noundef %905)
  store <2 x i64> %906, ptr %67, align 16, !tbaa !5
  %907 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %908 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %909 = bitcast <2 x i64> %908 to <4 x i32>
  %910 = shufflevector <4 x i32> %909, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %911 = bitcast <4 x i32> %910 to <2 x i64>
  %912 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %907, <2 x i64> noundef %911)
  store <2 x i64> %912, 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 %913

913:                                              ; preds = %894
  br label %914

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

924:                                              ; preds = %914
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %925 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %926 = bitcast <2 x i64> %925 to <16 x i8>
  %927 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %926, <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>
  %928 = bitcast <16 x i8> %927 to <2 x i64>
  %929 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %930 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %928, <2 x i64> noundef %929)
  store <2 x i64> %930, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %931 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %932 = bitcast <2 x i64> %931 to <16 x i8>
  %933 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %932, <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>
  %934 = bitcast <16 x i8> %933 to <2 x i64>
  %935 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %936 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %934, <2 x i64> noundef %935)
  store <2 x i64> %936, ptr %69, align 16, !tbaa !5
  %937 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %938 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %939 = bitcast <2 x i64> %938 to <4 x i32>
  %940 = shufflevector <4 x i32> %939, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %941 = bitcast <4 x i32> %940 to <2 x i64>
  %942 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %937, <2 x i64> noundef %941)
  store <2 x i64> %942, 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 %943

943:                                              ; preds = %924
  br label %944

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

954:                                              ; preds = %944
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %955 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %956 = bitcast <2 x i64> %955 to <16 x i8>
  %957 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %956, <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>
  %958 = bitcast <16 x i8> %957 to <2 x i64>
  %959 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %960 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %958, <2 x i64> noundef %959)
  store <2 x i64> %960, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %961 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %962 = bitcast <2 x i64> %961 to <16 x i8>
  %963 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %962, <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>
  %964 = bitcast <16 x i8> %963 to <2 x i64>
  %965 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %966 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %964, <2 x i64> noundef %965)
  store <2 x i64> %966, ptr %71, align 16, !tbaa !5
  %967 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %968 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %969 = bitcast <2 x i64> %968 to <4 x i32>
  %970 = shufflevector <4 x i32> %969, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %971 = bitcast <4 x i32> %970 to <2 x i64>
  %972 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %967, <2 x i64> noundef %971)
  store <2 x i64> %972, 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 %973

973:                                              ; preds = %954
  br label %974

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

984:                                              ; preds = %974
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %985 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %986 = bitcast <2 x i64> %985 to <16 x i8>
  %987 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %986, <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>
  %988 = bitcast <16 x i8> %987 to <2 x i64>
  %989 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %990 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %988, <2 x i64> noundef %989)
  store <2 x i64> %990, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %991 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %992 = bitcast <2 x i64> %991 to <16 x i8>
  %993 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %992, <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>
  %994 = bitcast <16 x i8> %993 to <2 x i64>
  %995 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %996 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %994, <2 x i64> noundef %995)
  store <2 x i64> %996, ptr %73, align 16, !tbaa !5
  %997 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %998 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %999 = bitcast <2 x i64> %998 to <4 x i32>
  %1000 = shufflevector <4 x i32> %999, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1001 = bitcast <4 x i32> %1000 to <2 x i64>
  %1002 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %997, <2 x i64> noundef %1001)
  store <2 x i64> %1002, 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 %1003

1003:                                             ; preds = %984
  br label %1004

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

1012:                                             ; preds = %1004
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1013 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1014 = bitcast <2 x i64> %1013 to <16 x i8>
  %1015 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1014, <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>
  %1016 = bitcast <16 x i8> %1015 to <2 x i64>
  %1017 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1018 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1016, <2 x i64> noundef %1017)
  store <2 x i64> %1018, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1019 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1020 = bitcast <2 x i64> %1019 to <16 x i8>
  %1021 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1020, <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>
  %1022 = bitcast <16 x i8> %1021 to <2 x i64>
  %1023 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1024 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1022, <2 x i64> noundef %1023)
  store <2 x i64> %1024, ptr %75, align 16, !tbaa !5
  %1025 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1026 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1027 = bitcast <2 x i64> %1026 to <4 x i32>
  %1028 = shufflevector <4 x i32> %1027, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1029 = bitcast <4 x i32> %1028 to <2 x i64>
  %1030 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1025, <2 x i64> noundef %1029)
  store <2 x i64> %1030, 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 %1031

1031:                                             ; preds = %1012
  br label %1032

1032:                                             ; preds = %1031
  %1033 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1033, ptr %4, align 16, !tbaa !5
  %1034 = load ptr, ptr %7, align 8, !tbaa !8
  %1035 = getelementptr inbounds <2 x i64>, ptr %1034, i32 1
  store ptr %1035, ptr %7, align 8, !tbaa !8
  %1036 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1034, <2 x i64> noundef %1036)
  %1037 = 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> %1037
}

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

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: nounwind uwtable
define dso_local noundef <2 x i64> @iunpack1(<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 1)
  %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 1)
  %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 2)
  %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 3)
  %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 4)
  %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 5)
  %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 6)
  %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 7)
  %97 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %96, <2 x i64> noundef %5)
  %98 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %97, <2 x i32> <i32 1, i32 2>
  %99 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %98, <2 x i64> noundef %97)
  %100 = bitcast <2 x i64> %99 to <16 x i8>
  %101 = 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> %100, <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>
  %102 = bitcast <16 x i8> %101 to <2 x i64>
  %103 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %102, <2 x i64> noundef %99)
  %104 = bitcast <2 x i64> %94 to <4 x i32>
  %105 = shufflevector <4 x i32> %104, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %106 = bitcast <4 x i32> %105 to <2 x i64>
  %107 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %103, <2 x i64> noundef %106)
  %108 = getelementptr inbounds i8, ptr %2, i64 128
  tail call void @_mm_storeu_si128(ptr noundef nonnull %95, <2 x i64> noundef %107)
  %109 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 8)
  %110 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %109, <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> %107 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 %108, <2 x i64> noundef %120)
  %122 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 9)
  %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 %4, i32 noundef 10)
  %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 %4, i32 noundef 11)
  %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 %4, i32 noundef 12)
  %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 %4, i32 noundef 13)
  %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 %4, i32 noundef 14)
  %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 %4, i32 noundef 15)
  %201 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %200, <2 x i64> noundef %5)
  %202 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %201, <2 x i32> <i32 1, i32 2>
  %203 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %202, <2 x i64> noundef %201)
  %204 = bitcast <2 x i64> %203 to <16 x i8>
  %205 = 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> %204, <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>
  %206 = bitcast <16 x i8> %205 to <2 x i64>
  %207 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %206, <2 x i64> noundef %203)
  %208 = bitcast <2 x i64> %198 to <4 x i32>
  %209 = shufflevector <4 x i32> %208, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %210 = bitcast <4 x i32> %209 to <2 x i64>
  %211 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %207, <2 x i64> noundef %210)
  %212 = getelementptr inbounds i8, ptr %2, i64 256
  tail call void @_mm_storeu_si128(ptr noundef nonnull %199, <2 x i64> noundef %211)
  %213 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 16)
  %214 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %213, <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> %211 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 %212, <2 x i64> noundef %224)
  %226 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 17)
  %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 %4, i32 noundef 18)
  %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 %4, i32 noundef 19)
  %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 %4, i32 noundef 20)
  %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 %4, i32 noundef 21)
  %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 %4, i32 noundef 22)
  %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 %4, i32 noundef 23)
  %305 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %304, <2 x i64> noundef %5)
  %306 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %305, <2 x i32> <i32 1, i32 2>
  %307 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %306, <2 x i64> noundef %305)
  %308 = bitcast <2 x i64> %307 to <16 x i8>
  %309 = 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> %308, <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>
  %310 = bitcast <16 x i8> %309 to <2 x i64>
  %311 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %310, <2 x i64> noundef %307)
  %312 = bitcast <2 x i64> %302 to <4 x i32>
  %313 = shufflevector <4 x i32> %312, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %314 = bitcast <4 x i32> %313 to <2 x i64>
  %315 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %311, <2 x i64> noundef %314)
  %316 = getelementptr inbounds i8, ptr %2, i64 384
  tail call void @_mm_storeu_si128(ptr noundef nonnull %303, <2 x i64> noundef %315)
  %317 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 24)
  %318 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %317, <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> %315 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 %316, <2 x i64> noundef %328)
  %330 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %4, i32 noundef 25)
  %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 %4, i32 noundef 26)
  %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 %4, i32 noundef 27)
  %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 %4, i32 noundef 28)
  %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 %4, i32 noundef 29)
  %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 %4, i32 noundef 30)
  %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 %4, i32 noundef 31)
  %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
}

; 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

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