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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local <2 x i64> @iunpack8(<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 255)
  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 8)
  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 16)
  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 24)
  store <2 x i64> %170, ptr %10, align 16, !tbaa !5
  %171 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %171, ptr %9, align 16, !tbaa !5
  %172 = load ptr, ptr %5, align 8, !tbaa !8
  %173 = getelementptr inbounds <2 x i64>, ptr %172, i32 1
  store ptr %173, ptr %5, align 8, !tbaa !8
  %174 = load ptr, ptr %5, align 8, !tbaa !8
  %175 = call <2 x i64> @_mm_loadu_si128(ptr noundef %174)
  store <2 x i64> %175, ptr %8, align 16, !tbaa !5
  br label %176

176:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #3
  %177 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %178 = bitcast <2 x i64> %177 to <16 x i8>
  %179 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %178, <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>
  %180 = bitcast <16 x i8> %179 to <2 x i64>
  %181 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %182 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %180, <2 x i64> noundef %181)
  store <2 x i64> %182, ptr %18, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #3
  %183 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %184 = bitcast <2 x i64> %183 to <16 x i8>
  %185 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %184, <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>
  %186 = bitcast <16 x i8> %185 to <2 x i64>
  %187 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %188 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %186, <2 x i64> noundef %187)
  store <2 x i64> %188, ptr %19, align 16, !tbaa !5
  %189 = load <2 x i64>, ptr %19, align 16, !tbaa !5
  %190 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %191 = bitcast <2 x i64> %190 to <4 x i32>
  %192 = shufflevector <4 x i32> %191, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %193 = bitcast <4 x i32> %192 to <2 x i64>
  %194 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %189, <2 x i64> noundef %193)
  store <2 x i64> %194, 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 %195

195:                                              ; preds = %176
  br label %196

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

205:                                              ; preds = %196
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %206 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %207 = bitcast <2 x i64> %206 to <16 x i8>
  %208 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %207, <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>
  %209 = bitcast <16 x i8> %208 to <2 x i64>
  %210 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %211 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %209, <2 x i64> noundef %210)
  store <2 x i64> %211, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %212 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %213 = bitcast <2 x i64> %212 to <16 x i8>
  %214 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %213, <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>
  %215 = bitcast <16 x i8> %214 to <2 x i64>
  %216 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %217 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %215, <2 x i64> noundef %216)
  store <2 x i64> %217, ptr %21, align 16, !tbaa !5
  %218 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %219 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %220 = bitcast <2 x i64> %219 to <4 x i32>
  %221 = shufflevector <4 x i32> %220, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %222 = bitcast <4 x i32> %221 to <2 x i64>
  %223 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %218, <2 x i64> noundef %222)
  store <2 x i64> %223, 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 %224

224:                                              ; preds = %205
  br label %225

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

235:                                              ; preds = %225
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #3
  %236 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %237 = bitcast <2 x i64> %236 to <16 x i8>
  %238 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %237, <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>
  %239 = bitcast <16 x i8> %238 to <2 x i64>
  %240 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %241 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %239, <2 x i64> noundef %240)
  store <2 x i64> %241, ptr %22, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #3
  %242 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %243 = bitcast <2 x i64> %242 to <16 x i8>
  %244 = shufflevector <16 x i8> zeroinitializer, <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 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %247 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %245, <2 x i64> noundef %246)
  store <2 x i64> %247, ptr %23, align 16, !tbaa !5
  %248 = load <2 x i64>, ptr %23, align 16, !tbaa !5
  %249 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %250 = bitcast <2 x i64> %249 to <4 x i32>
  %251 = shufflevector <4 x i32> %250, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %252 = bitcast <4 x i32> %251 to <2 x i64>
  %253 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %248, <2 x i64> noundef %252)
  store <2 x i64> %253, 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 %254

254:                                              ; preds = %235
  br label %255

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

265:                                              ; preds = %255
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %266 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %267 = bitcast <2 x i64> %266 to <16 x i8>
  %268 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %267, <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>
  %269 = bitcast <16 x i8> %268 to <2 x i64>
  %270 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %271 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %269, <2 x i64> noundef %270)
  store <2 x i64> %271, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %272 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %273 = bitcast <2 x i64> %272 to <16 x i8>
  %274 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %273, <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>
  %275 = bitcast <16 x i8> %274 to <2 x i64>
  %276 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %277 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %275, <2 x i64> noundef %276)
  store <2 x i64> %277, ptr %25, align 16, !tbaa !5
  %278 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %279 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %280 = bitcast <2 x i64> %279 to <4 x i32>
  %281 = shufflevector <4 x i32> %280, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %282 = bitcast <4 x i32> %281 to <2 x i64>
  %283 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %278, <2 x i64> noundef %282)
  store <2 x i64> %283, 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 %284

284:                                              ; preds = %265
  br label %285

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

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

316:                                              ; preds = %297
  br label %317

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

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

345:                                              ; preds = %326
  br label %346

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

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

375:                                              ; preds = %356
  br label %376

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

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

405:                                              ; preds = %386
  br label %406

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

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

437:                                              ; preds = %418
  br label %438

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

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

466:                                              ; preds = %447
  br label %467

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

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

496:                                              ; preds = %477
  br label %497

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

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

526:                                              ; preds = %507
  br label %527

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

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

558:                                              ; preds = %539
  br label %559

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

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

587:                                              ; preds = %568
  br label %588

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

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

617:                                              ; preds = %598
  br label %618

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

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

647:                                              ; preds = %628
  br label %648

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

660:                                              ; preds = %648
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %661 = load <2 x i64>, ptr %9, 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 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>
  %664 = bitcast <16 x i8> %663 to <2 x i64>
  %665 = load <2 x i64>, ptr %9, 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 %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %667 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %668 = bitcast <2 x i64> %667 to <16 x i8>
  %669 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %668, <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>
  %670 = bitcast <16 x i8> %669 to <2 x i64>
  %671 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %672 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %670, <2 x i64> noundef %671)
  store <2 x i64> %672, ptr %51, align 16, !tbaa !5
  %673 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %674 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %675 = bitcast <2 x i64> %674 to <4 x i32>
  %676 = shufflevector <4 x i32> %675, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %677 = bitcast <4 x i32> %676 to <2 x i64>
  %678 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %673, <2 x i64> noundef %677)
  store <2 x i64> %678, 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 %679

679:                                              ; preds = %660
  br label %680

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

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

708:                                              ; preds = %689
  br label %709

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

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

738:                                              ; preds = %719
  br label %739

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

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

768:                                              ; preds = %749
  br label %769

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

781:                                              ; preds = %769
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %782 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %783 = bitcast <2 x i64> %782 to <16 x i8>
  %784 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %783, <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>
  %785 = bitcast <16 x i8> %784 to <2 x i64>
  %786 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %787 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %785, <2 x i64> noundef %786)
  store <2 x i64> %787, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %788 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %789 = bitcast <2 x i64> %788 to <16 x i8>
  %790 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %789, <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>
  %791 = bitcast <16 x i8> %790 to <2 x i64>
  %792 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %793 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %791, <2 x i64> noundef %792)
  store <2 x i64> %793, ptr %59, align 16, !tbaa !5
  %794 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %795 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %796 = bitcast <2 x i64> %795 to <4 x i32>
  %797 = shufflevector <4 x i32> %796, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %798 = bitcast <4 x i32> %797 to <2 x i64>
  %799 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %794, <2 x i64> noundef %798)
  store <2 x i64> %799, 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 %800

800:                                              ; preds = %781
  br label %801

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

810:                                              ; preds = %801
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %811 = load <2 x i64>, ptr %9, 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 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>
  %814 = bitcast <16 x i8> %813 to <2 x i64>
  %815 = load <2 x i64>, ptr %9, 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 %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %817 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %818 = bitcast <2 x i64> %817 to <16 x i8>
  %819 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %818, <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>
  %820 = bitcast <16 x i8> %819 to <2 x i64>
  %821 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %822 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %820, <2 x i64> noundef %821)
  store <2 x i64> %822, ptr %61, align 16, !tbaa !5
  %823 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %824 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %825 = bitcast <2 x i64> %824 to <4 x i32>
  %826 = shufflevector <4 x i32> %825, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %827 = bitcast <4 x i32> %826 to <2 x i64>
  %828 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %823, <2 x i64> noundef %827)
  store <2 x i64> %828, 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 %829

829:                                              ; preds = %810
  br label %830

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

840:                                              ; preds = %830
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %841 = load <2 x i64>, ptr %9, 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 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>
  %844 = bitcast <16 x i8> %843 to <2 x i64>
  %845 = load <2 x i64>, ptr %9, 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 %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %847 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %848 = bitcast <2 x i64> %847 to <16 x i8>
  %849 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %848, <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>
  %850 = bitcast <16 x i8> %849 to <2 x i64>
  %851 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %852 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %850, <2 x i64> noundef %851)
  store <2 x i64> %852, ptr %63, align 16, !tbaa !5
  %853 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %854 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %855 = bitcast <2 x i64> %854 to <4 x i32>
  %856 = shufflevector <4 x i32> %855, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %857 = bitcast <4 x i32> %856 to <2 x i64>
  %858 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %853, <2 x i64> noundef %857)
  store <2 x i64> %858, 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 %859

859:                                              ; preds = %840
  br label %860

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

870:                                              ; preds = %860
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %871 = load <2 x i64>, ptr %9, 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 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>
  %874 = bitcast <16 x i8> %873 to <2 x i64>
  %875 = load <2 x i64>, ptr %9, 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 %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %877 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %878 = bitcast <2 x i64> %877 to <16 x i8>
  %879 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %878, <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>
  %880 = bitcast <16 x i8> %879 to <2 x i64>
  %881 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %882 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %880, <2 x i64> noundef %881)
  store <2 x i64> %882, ptr %65, align 16, !tbaa !5
  %883 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %884 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %885 = bitcast <2 x i64> %884 to <4 x i32>
  %886 = shufflevector <4 x i32> %885, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %887 = bitcast <4 x i32> %886 to <2 x i64>
  %888 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %883, <2 x i64> noundef %887)
  store <2 x i64> %888, 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 %889

889:                                              ; preds = %870
  br label %890

890:                                              ; preds = %889
  %891 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %891, ptr %4, align 16, !tbaa !5
  %892 = load ptr, ptr %7, align 8, !tbaa !8
  %893 = getelementptr inbounds <2 x i64>, ptr %892, i32 1
  store ptr %893, ptr %7, align 8, !tbaa !8
  %894 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %892, <2 x i64> noundef %894)
  %895 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %896 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %895, i32 noundef 24)
  store <2 x i64> %896, ptr %10, align 16, !tbaa !5
  %897 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %897, ptr %9, align 16, !tbaa !5
  %898 = load ptr, ptr %5, align 8, !tbaa !8
  %899 = getelementptr inbounds <2 x i64>, ptr %898, i32 1
  store ptr %899, ptr %5, align 8, !tbaa !8
  %900 = load ptr, ptr %5, align 8, !tbaa !8
  %901 = call <2 x i64> @_mm_loadu_si128(ptr noundef %900)
  store <2 x i64> %901, ptr %8, align 16, !tbaa !5
  br label %902

902:                                              ; preds = %890
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %903 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %904 = bitcast <2 x i64> %903 to <16 x i8>
  %905 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %904, <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>
  %906 = bitcast <16 x i8> %905 to <2 x i64>
  %907 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %908 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %906, <2 x i64> noundef %907)
  store <2 x i64> %908, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %909 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %910 = bitcast <2 x i64> %909 to <16 x i8>
  %911 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %910, <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>
  %912 = bitcast <16 x i8> %911 to <2 x i64>
  %913 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %914 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %912, <2 x i64> noundef %913)
  store <2 x i64> %914, ptr %67, align 16, !tbaa !5
  %915 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %916 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %917 = bitcast <2 x i64> %916 to <4 x i32>
  %918 = shufflevector <4 x i32> %917, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %919 = bitcast <4 x i32> %918 to <2 x i64>
  %920 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %915, <2 x i64> noundef %919)
  store <2 x i64> %920, 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 %921

921:                                              ; preds = %902
  br label %922

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

931:                                              ; preds = %922
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %932 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %933 = bitcast <2 x i64> %932 to <16 x i8>
  %934 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %933, <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>
  %935 = bitcast <16 x i8> %934 to <2 x i64>
  %936 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %937 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %935, <2 x i64> noundef %936)
  store <2 x i64> %937, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %938 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %939 = bitcast <2 x i64> %938 to <16 x i8>
  %940 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %939, <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>
  %941 = bitcast <16 x i8> %940 to <2 x i64>
  %942 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %943 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %941, <2 x i64> noundef %942)
  store <2 x i64> %943, ptr %69, align 16, !tbaa !5
  %944 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %945 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %946 = bitcast <2 x i64> %945 to <4 x i32>
  %947 = shufflevector <4 x i32> %946, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %948 = bitcast <4 x i32> %947 to <2 x i64>
  %949 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %944, <2 x i64> noundef %948)
  store <2 x i64> %949, 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 %950

950:                                              ; preds = %931
  br label %951

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

961:                                              ; preds = %951
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %962 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %963 = bitcast <2 x i64> %962 to <16 x i8>
  %964 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %963, <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>
  %965 = bitcast <16 x i8> %964 to <2 x i64>
  %966 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %967 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %965, <2 x i64> noundef %966)
  store <2 x i64> %967, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %968 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %969 = bitcast <2 x i64> %968 to <16 x i8>
  %970 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %969, <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>
  %971 = bitcast <16 x i8> %970 to <2 x i64>
  %972 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %973 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %971, <2 x i64> noundef %972)
  store <2 x i64> %973, ptr %71, align 16, !tbaa !5
  %974 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %975 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %976 = bitcast <2 x i64> %975 to <4 x i32>
  %977 = shufflevector <4 x i32> %976, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %978 = bitcast <4 x i32> %977 to <2 x i64>
  %979 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %974, <2 x i64> noundef %978)
  store <2 x i64> %979, 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 %980

980:                                              ; preds = %961
  br label %981

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

991:                                              ; preds = %981
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %992 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %993 = bitcast <2 x i64> %992 to <16 x i8>
  %994 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %993, <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>
  %995 = bitcast <16 x i8> %994 to <2 x i64>
  %996 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %997 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %995, <2 x i64> noundef %996)
  store <2 x i64> %997, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %998 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %999 = bitcast <2 x i64> %998 to <16 x i8>
  %1000 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %999, <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>
  %1001 = bitcast <16 x i8> %1000 to <2 x i64>
  %1002 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1003 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1001, <2 x i64> noundef %1002)
  store <2 x i64> %1003, ptr %73, align 16, !tbaa !5
  %1004 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1005 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1006 = bitcast <2 x i64> %1005 to <4 x i32>
  %1007 = shufflevector <4 x i32> %1006, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1008 = bitcast <4 x i32> %1007 to <2 x i64>
  %1009 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1004, <2 x i64> noundef %1008)
  store <2 x i64> %1009, 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 %1010

1010:                                             ; preds = %991
  br label %1011

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

1019:                                             ; preds = %1011
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1020 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1021 = bitcast <2 x i64> %1020 to <16 x i8>
  %1022 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1021, <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>
  %1023 = bitcast <16 x i8> %1022 to <2 x i64>
  %1024 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1025 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1023, <2 x i64> noundef %1024)
  store <2 x i64> %1025, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1026 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1027 = bitcast <2 x i64> %1026 to <16 x i8>
  %1028 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1027, <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>
  %1029 = bitcast <16 x i8> %1028 to <2 x i64>
  %1030 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1031 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1029, <2 x i64> noundef %1030)
  store <2 x i64> %1031, ptr %75, align 16, !tbaa !5
  %1032 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1033 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1034 = bitcast <2 x i64> %1033 to <4 x i32>
  %1035 = shufflevector <4 x i32> %1034, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1036 = bitcast <4 x i32> %1035 to <2 x i64>
  %1037 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1032, <2 x i64> noundef %1036)
  store <2 x i64> %1037, 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 %1038

1038:                                             ; preds = %1019
  br label %1039

1039:                                             ; preds = %1038
  %1040 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1040, ptr %4, align 16, !tbaa !5
  %1041 = load ptr, ptr %7, align 8, !tbaa !8
  %1042 = getelementptr inbounds <2 x i64>, ptr %1041, i32 1
  store ptr %1042, ptr %7, align 8, !tbaa !8
  %1043 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1041, <2 x i64> noundef %1043)
  %1044 = 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> %1044
}

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

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

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


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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
define dso_local noundef <2 x i64> @iunpack8(<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 255)
  %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 8)
  %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 16)
  %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 24)
  %45 = getelementptr inbounds i8, ptr %1, i64 16
  %46 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %45)
  %47 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %44, <2 x i32> <i32 1, i32 2>
  %48 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %47, <2 x i64> noundef %44)
  %49 = bitcast <2 x i64> %48 to <16 x i8>
  %50 = 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> %49, <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>
  %51 = bitcast <16 x i8> %50 to <2 x i64>
  %52 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %51, <2 x i64> noundef %48)
  %53 = bitcast <2 x i64> %42 to <4 x i32>
  %54 = shufflevector <4 x i32> %53, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %55 = bitcast <4 x i32> %54 to <2 x i64>
  %56 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %52, <2 x i64> noundef %55)
  %57 = getelementptr inbounds i8, ptr %2, i64 64
  tail call void @_mm_storeu_si128(ptr noundef nonnull %43, <2 x i64> noundef %56)
  %58 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %46, <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> %56 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 %57, <2 x i64> noundef %68)
  %70 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %46, i32 noundef 8)
  %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 %46, i32 noundef 16)
  %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 %46, i32 noundef 24)
  %97 = getelementptr inbounds i8, ptr %1, i64 32
  %98 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %97)
  %99 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %96, <2 x i32> <i32 1, i32 2>
  %100 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %99, <2 x i64> noundef %96)
  %101 = bitcast <2 x i64> %100 to <16 x i8>
  %102 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %101, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %103 = bitcast <16 x i8> %102 to <2 x i64>
  %104 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %103, <2 x i64> noundef %100)
  %105 = bitcast <2 x i64> %94 to <4 x i32>
  %106 = shufflevector <4 x i32> %105, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %107 = bitcast <4 x i32> %106 to <2 x i64>
  %108 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %104, <2 x i64> noundef %107)
  %109 = getelementptr inbounds i8, ptr %2, i64 128
  tail call void @_mm_storeu_si128(ptr noundef nonnull %95, <2 x i64> noundef %108)
  %110 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %98, <2 x i64> noundef %5)
  %111 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %110, <2 x i32> <i32 1, i32 2>
  %112 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %111, <2 x i64> noundef %110)
  %113 = bitcast <2 x i64> %112 to <16 x i8>
  %114 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %113, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %115 = bitcast <16 x i8> %114 to <2 x i64>
  %116 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %115, <2 x i64> noundef %112)
  %117 = bitcast <2 x i64> %108 to <4 x i32>
  %118 = shufflevector <4 x i32> %117, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %119 = bitcast <4 x i32> %118 to <2 x i64>
  %120 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %116, <2 x i64> noundef %119)
  %121 = getelementptr inbounds i8, ptr %2, i64 144
  tail call void @_mm_storeu_si128(ptr noundef nonnull %109, <2 x i64> noundef %120)
  %122 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 8)
  %123 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %122, <2 x i64> noundef %5)
  %124 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %123, <2 x i32> <i32 1, i32 2>
  %125 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %124, <2 x i64> noundef %123)
  %126 = bitcast <2 x i64> %125 to <16 x i8>
  %127 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %126, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %128 = bitcast <16 x i8> %127 to <2 x i64>
  %129 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %128, <2 x i64> noundef %125)
  %130 = bitcast <2 x i64> %120 to <4 x i32>
  %131 = shufflevector <4 x i32> %130, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %132 = bitcast <4 x i32> %131 to <2 x i64>
  %133 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %129, <2 x i64> noundef %132)
  %134 = getelementptr inbounds i8, ptr %2, i64 160
  tail call void @_mm_storeu_si128(ptr noundef nonnull %121, <2 x i64> noundef %133)
  %135 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 16)
  %136 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %135, <2 x i64> noundef %5)
  %137 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %136, <2 x i32> <i32 1, i32 2>
  %138 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %137, <2 x i64> noundef %136)
  %139 = bitcast <2 x i64> %138 to <16 x i8>
  %140 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %139, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %141 = bitcast <16 x i8> %140 to <2 x i64>
  %142 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %141, <2 x i64> noundef %138)
  %143 = bitcast <2 x i64> %133 to <4 x i32>
  %144 = shufflevector <4 x i32> %143, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %145 = bitcast <4 x i32> %144 to <2 x i64>
  %146 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %142, <2 x i64> noundef %145)
  %147 = getelementptr inbounds i8, ptr %2, i64 176
  tail call void @_mm_storeu_si128(ptr noundef nonnull %134, <2 x i64> noundef %146)
  %148 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %98, i32 noundef 24)
  %149 = getelementptr inbounds i8, ptr %1, i64 48
  %150 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %149)
  %151 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %148, <2 x i32> <i32 1, i32 2>
  %152 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %151, <2 x i64> noundef %148)
  %153 = bitcast <2 x i64> %152 to <16 x i8>
  %154 = 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> %153, <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>
  %155 = bitcast <16 x i8> %154 to <2 x i64>
  %156 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %155, <2 x i64> noundef %152)
  %157 = bitcast <2 x i64> %146 to <4 x i32>
  %158 = shufflevector <4 x i32> %157, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %159 = bitcast <4 x i32> %158 to <2 x i64>
  %160 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %156, <2 x i64> noundef %159)
  %161 = getelementptr inbounds i8, ptr %2, i64 192
  tail call void @_mm_storeu_si128(ptr noundef nonnull %147, <2 x i64> noundef %160)
  %162 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %150, <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> %160 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 %161, <2 x i64> noundef %172)
  %174 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %150, i32 noundef 8)
  %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 %150, i32 noundef 16)
  %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 %150, i32 noundef 24)
  %201 = getelementptr inbounds i8, ptr %1, i64 64
  %202 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %201)
  %203 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %200, <2 x i32> <i32 1, i32 2>
  %204 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %203, <2 x i64> noundef %200)
  %205 = bitcast <2 x i64> %204 to <16 x i8>
  %206 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %205, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %207 = bitcast <16 x i8> %206 to <2 x i64>
  %208 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %207, <2 x i64> noundef %204)
  %209 = bitcast <2 x i64> %198 to <4 x i32>
  %210 = shufflevector <4 x i32> %209, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %211 = bitcast <4 x i32> %210 to <2 x i64>
  %212 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %208, <2 x i64> noundef %211)
  %213 = getelementptr inbounds i8, ptr %2, i64 256
  tail call void @_mm_storeu_si128(ptr noundef nonnull %199, <2 x i64> noundef %212)
  %214 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %202, <2 x i64> noundef %5)
  %215 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %214, <2 x i32> <i32 1, i32 2>
  %216 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %215, <2 x i64> noundef %214)
  %217 = bitcast <2 x i64> %216 to <16 x i8>
  %218 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %217, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %219 = bitcast <16 x i8> %218 to <2 x i64>
  %220 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %219, <2 x i64> noundef %216)
  %221 = bitcast <2 x i64> %212 to <4 x i32>
  %222 = shufflevector <4 x i32> %221, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %223 = bitcast <4 x i32> %222 to <2 x i64>
  %224 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %220, <2 x i64> noundef %223)
  %225 = getelementptr inbounds i8, ptr %2, i64 272
  tail call void @_mm_storeu_si128(ptr noundef nonnull %213, <2 x i64> noundef %224)
  %226 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 8)
  %227 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %226, <2 x i64> noundef %5)
  %228 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %227, <2 x i32> <i32 1, i32 2>
  %229 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %228, <2 x i64> noundef %227)
  %230 = bitcast <2 x i64> %229 to <16 x i8>
  %231 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %230, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %232 = bitcast <16 x i8> %231 to <2 x i64>
  %233 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %232, <2 x i64> noundef %229)
  %234 = bitcast <2 x i64> %224 to <4 x i32>
  %235 = shufflevector <4 x i32> %234, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %236 = bitcast <4 x i32> %235 to <2 x i64>
  %237 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %233, <2 x i64> noundef %236)
  %238 = getelementptr inbounds i8, ptr %2, i64 288
  tail call void @_mm_storeu_si128(ptr noundef nonnull %225, <2 x i64> noundef %237)
  %239 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 16)
  %240 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %239, <2 x i64> noundef %5)
  %241 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %240, <2 x i32> <i32 1, i32 2>
  %242 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %241, <2 x i64> noundef %240)
  %243 = bitcast <2 x i64> %242 to <16 x i8>
  %244 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %243, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %245 = bitcast <16 x i8> %244 to <2 x i64>
  %246 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %245, <2 x i64> noundef %242)
  %247 = bitcast <2 x i64> %237 to <4 x i32>
  %248 = shufflevector <4 x i32> %247, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %249 = bitcast <4 x i32> %248 to <2 x i64>
  %250 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %246, <2 x i64> noundef %249)
  %251 = getelementptr inbounds i8, ptr %2, i64 304
  tail call void @_mm_storeu_si128(ptr noundef nonnull %238, <2 x i64> noundef %250)
  %252 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %202, i32 noundef 24)
  %253 = getelementptr inbounds i8, ptr %1, i64 80
  %254 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %253)
  %255 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %252, <2 x i32> <i32 1, i32 2>
  %256 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %255, <2 x i64> noundef %252)
  %257 = bitcast <2 x i64> %256 to <16 x i8>
  %258 = 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> %257, <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>
  %259 = bitcast <16 x i8> %258 to <2 x i64>
  %260 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %259, <2 x i64> noundef %256)
  %261 = bitcast <2 x i64> %250 to <4 x i32>
  %262 = shufflevector <4 x i32> %261, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %263 = bitcast <4 x i32> %262 to <2 x i64>
  %264 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %260, <2 x i64> noundef %263)
  %265 = getelementptr inbounds i8, ptr %2, i64 320
  tail call void @_mm_storeu_si128(ptr noundef nonnull %251, <2 x i64> noundef %264)
  %266 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %254, <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> %264 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 %265, <2 x i64> noundef %276)
  %278 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %254, i32 noundef 8)
  %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 %254, i32 noundef 16)
  %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 %254, i32 noundef 24)
  %305 = getelementptr inbounds i8, ptr %1, i64 96
  %306 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %305)
  %307 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %304, <2 x i32> <i32 1, i32 2>
  %308 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %307, <2 x i64> noundef %304)
  %309 = bitcast <2 x i64> %308 to <16 x i8>
  %310 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %309, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %311 = bitcast <16 x i8> %310 to <2 x i64>
  %312 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %311, <2 x i64> noundef %308)
  %313 = bitcast <2 x i64> %302 to <4 x i32>
  %314 = shufflevector <4 x i32> %313, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %315 = bitcast <4 x i32> %314 to <2 x i64>
  %316 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %312, <2 x i64> noundef %315)
  %317 = getelementptr inbounds i8, ptr %2, i64 384
  tail call void @_mm_storeu_si128(ptr noundef nonnull %303, <2 x i64> noundef %316)
  %318 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %306, <2 x i64> noundef %5)
  %319 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %318, <2 x i32> <i32 1, i32 2>
  %320 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %319, <2 x i64> noundef %318)
  %321 = bitcast <2 x i64> %320 to <16 x i8>
  %322 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %321, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %323 = bitcast <16 x i8> %322 to <2 x i64>
  %324 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %323, <2 x i64> noundef %320)
  %325 = bitcast <2 x i64> %316 to <4 x i32>
  %326 = shufflevector <4 x i32> %325, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %327 = bitcast <4 x i32> %326 to <2 x i64>
  %328 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %324, <2 x i64> noundef %327)
  %329 = getelementptr inbounds i8, ptr %2, i64 400
  tail call void @_mm_storeu_si128(ptr noundef nonnull %317, <2 x i64> noundef %328)
  %330 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 8)
  %331 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %330, <2 x i64> noundef %5)
  %332 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %331, <2 x i32> <i32 1, i32 2>
  %333 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %332, <2 x i64> noundef %331)
  %334 = bitcast <2 x i64> %333 to <16 x i8>
  %335 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %334, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %336 = bitcast <16 x i8> %335 to <2 x i64>
  %337 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %336, <2 x i64> noundef %333)
  %338 = bitcast <2 x i64> %328 to <4 x i32>
  %339 = shufflevector <4 x i32> %338, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %340 = bitcast <4 x i32> %339 to <2 x i64>
  %341 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %337, <2 x i64> noundef %340)
  %342 = getelementptr inbounds i8, ptr %2, i64 416
  tail call void @_mm_storeu_si128(ptr noundef nonnull %329, <2 x i64> noundef %341)
  %343 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 16)
  %344 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %343, <2 x i64> noundef %5)
  %345 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %344, <2 x i32> <i32 1, i32 2>
  %346 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %345, <2 x i64> noundef %344)
  %347 = bitcast <2 x i64> %346 to <16 x i8>
  %348 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %347, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %349 = bitcast <16 x i8> %348 to <2 x i64>
  %350 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %349, <2 x i64> noundef %346)
  %351 = bitcast <2 x i64> %341 to <4 x i32>
  %352 = shufflevector <4 x i32> %351, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %353 = bitcast <4 x i32> %352 to <2 x i64>
  %354 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %350, <2 x i64> noundef %353)
  %355 = getelementptr inbounds i8, ptr %2, i64 432
  tail call void @_mm_storeu_si128(ptr noundef nonnull %342, <2 x i64> noundef %354)
  %356 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %306, i32 noundef 24)
  %357 = getelementptr inbounds i8, ptr %1, i64 112
  %358 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %357)
  %359 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %356, <2 x i32> <i32 1, i32 2>
  %360 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %359, <2 x i64> noundef %356)
  %361 = bitcast <2 x i64> %360 to <16 x i8>
  %362 = 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> %361, <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>
  %363 = bitcast <16 x i8> %362 to <2 x i64>
  %364 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %363, <2 x i64> noundef %360)
  %365 = bitcast <2 x i64> %354 to <4 x i32>
  %366 = shufflevector <4 x i32> %365, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %367 = bitcast <4 x i32> %366 to <2 x i64>
  %368 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %364, <2 x i64> noundef %367)
  %369 = getelementptr inbounds i8, ptr %2, i64 448
  tail call void @_mm_storeu_si128(ptr noundef nonnull %355, <2 x i64> noundef %368)
  %370 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %358, <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> %368 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 %369, <2 x i64> noundef %380)
  %382 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %358, i32 noundef 8)
  %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 %358, i32 noundef 16)
  %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 %358, i32 noundef 24)
  %409 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %408, <2 x i32> <i32 1, i32 2>
  %410 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %409, <2 x i64> noundef %408)
  %411 = bitcast <2 x i64> %410 to <16 x i8>
  %412 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %411, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %413 = bitcast <16 x i8> %412 to <2 x i64>
  %414 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %413, <2 x i64> noundef %410)
  %415 = bitcast <2 x i64> %406 to <4 x i32>
  %416 = shufflevector <4 x i32> %415, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %417 = bitcast <4 x i32> %416 to <2 x i64>
  %418 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %414, <2 x i64> noundef %417)
  tail call void @_mm_storeu_si128(ptr noundef nonnull %407, <2 x i64> noundef %418)
  ret <2 x i64> %418
}

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

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

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


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