; 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_or_si128(<2 x i64> noundef, <2 x i64> noundef) #1

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_slli_epi32(<2 x i64> noundef, i32 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> @iunpack25(<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 33554431)
  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 25)
  store <2 x i64> %110, ptr %10, align 16, !tbaa !5
  %111 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %111, ptr %9, align 16, !tbaa !5
  %112 = load ptr, ptr %5, align 8, !tbaa !8
  %113 = getelementptr inbounds <2 x i64>, ptr %112, i32 1
  store ptr %113, ptr %5, align 8, !tbaa !8
  %114 = load ptr, ptr %5, align 8, !tbaa !8
  %115 = call <2 x i64> @_mm_loadu_si128(ptr noundef %114)
  store <2 x i64> %115, ptr %8, align 16, !tbaa !5
  %116 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %117 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %118 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %117, i32 noundef 7)
  %119 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %120 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %118, <2 x i64> noundef %119)
  %121 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %116, <2 x i64> noundef %120)
  store <2 x i64> %121, ptr %9, align 16, !tbaa !5
  br label %122

122:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #3
  %123 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %124 = bitcast <2 x i64> %123 to <16 x i8>
  %125 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %124, <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>
  %126 = bitcast <16 x i8> %125 to <2 x i64>
  %127 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %128 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %126, <2 x i64> noundef %127)
  store <2 x i64> %128, ptr %14, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #3
  %129 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %130 = bitcast <2 x i64> %129 to <16 x i8>
  %131 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %130, <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>
  %132 = bitcast <16 x i8> %131 to <2 x i64>
  %133 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %134 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %132, <2 x i64> noundef %133)
  store <2 x i64> %134, ptr %15, align 16, !tbaa !5
  %135 = load <2 x i64>, ptr %15, align 16, !tbaa !5
  %136 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %137 = bitcast <2 x i64> %136 to <4 x i32>
  %138 = shufflevector <4 x i32> %137, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %139 = bitcast <4 x i32> %138 to <2 x i64>
  %140 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %135, <2 x i64> noundef %139)
  store <2 x i64> %140, 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 %141

141:                                              ; preds = %122
  br label %142

142:                                              ; preds = %141
  %143 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %143, ptr %4, align 16, !tbaa !5
  %144 = load ptr, ptr %7, align 8, !tbaa !8
  %145 = getelementptr inbounds <2 x i64>, ptr %144, i32 1
  store ptr %145, ptr %7, align 8, !tbaa !8
  %146 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %144, <2 x i64> noundef %146)
  %147 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %148 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %147, i32 noundef 18)
  store <2 x i64> %148, ptr %10, align 16, !tbaa !5
  %149 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %149, ptr %9, align 16, !tbaa !5
  %150 = load ptr, ptr %5, align 8, !tbaa !8
  %151 = getelementptr inbounds <2 x i64>, ptr %150, i32 1
  store ptr %151, ptr %5, align 8, !tbaa !8
  %152 = load ptr, ptr %5, align 8, !tbaa !8
  %153 = call <2 x i64> @_mm_loadu_si128(ptr noundef %152)
  store <2 x i64> %153, ptr %8, align 16, !tbaa !5
  %154 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %155 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %156 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %155, i32 noundef 14)
  %157 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %158 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %156, <2 x i64> noundef %157)
  %159 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %154, <2 x i64> noundef %158)
  store <2 x i64> %159, ptr %9, align 16, !tbaa !5
  br label %160

160:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #3
  %161 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %162 = bitcast <2 x i64> %161 to <16 x i8>
  %163 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %162, <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>
  %164 = bitcast <16 x i8> %163 to <2 x i64>
  %165 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %166 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %164, <2 x i64> noundef %165)
  store <2 x i64> %166, ptr %16, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #3
  %167 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %168 = bitcast <2 x i64> %167 to <16 x i8>
  %169 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %168, <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>
  %170 = bitcast <16 x i8> %169 to <2 x i64>
  %171 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %172 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %170, <2 x i64> noundef %171)
  store <2 x i64> %172, ptr %17, align 16, !tbaa !5
  %173 = load <2 x i64>, ptr %17, align 16, !tbaa !5
  %174 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %175 = bitcast <2 x i64> %174 to <4 x i32>
  %176 = shufflevector <4 x i32> %175, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %177 = bitcast <4 x i32> %176 to <2 x i64>
  %178 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %173, <2 x i64> noundef %177)
  store <2 x i64> %178, 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 %179

179:                                              ; preds = %160
  br label %180

180:                                              ; preds = %179
  %181 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %181, ptr %4, align 16, !tbaa !5
  %182 = load ptr, ptr %7, align 8, !tbaa !8
  %183 = getelementptr inbounds <2 x i64>, ptr %182, i32 1
  store ptr %183, ptr %7, align 8, !tbaa !8
  %184 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %182, <2 x i64> noundef %184)
  %185 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %186 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %185, i32 noundef 11)
  store <2 x i64> %186, ptr %10, align 16, !tbaa !5
  %187 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %187, ptr %9, align 16, !tbaa !5
  %188 = load ptr, ptr %5, align 8, !tbaa !8
  %189 = getelementptr inbounds <2 x i64>, ptr %188, i32 1
  store ptr %189, ptr %5, align 8, !tbaa !8
  %190 = load ptr, ptr %5, align 8, !tbaa !8
  %191 = call <2 x i64> @_mm_loadu_si128(ptr noundef %190)
  store <2 x i64> %191, ptr %8, align 16, !tbaa !5
  %192 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %193 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %194 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %193, i32 noundef 21)
  %195 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %196 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %194, <2 x i64> noundef %195)
  %197 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %192, <2 x i64> noundef %196)
  store <2 x i64> %197, ptr %9, align 16, !tbaa !5
  br label %198

198:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #3
  %199 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %200 = bitcast <2 x i64> %199 to <16 x i8>
  %201 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %200, <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>
  %202 = bitcast <16 x i8> %201 to <2 x i64>
  %203 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %204 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %202, <2 x i64> noundef %203)
  store <2 x i64> %204, ptr %18, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #3
  %205 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %206 = bitcast <2 x i64> %205 to <16 x i8>
  %207 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %206, <16 x i32> <i32 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>
  %208 = bitcast <16 x i8> %207 to <2 x i64>
  %209 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %210 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %208, <2 x i64> noundef %209)
  store <2 x i64> %210, ptr %19, align 16, !tbaa !5
  %211 = load <2 x i64>, ptr %19, align 16, !tbaa !5
  %212 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %213 = bitcast <2 x i64> %212 to <4 x i32>
  %214 = shufflevector <4 x i32> %213, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %215 = bitcast <4 x i32> %214 to <2 x i64>
  %216 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %211, <2 x i64> noundef %215)
  store <2 x i64> %216, 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 %217

217:                                              ; preds = %198
  br label %218

218:                                              ; preds = %217
  %219 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %219, ptr %4, align 16, !tbaa !5
  %220 = load ptr, ptr %7, align 8, !tbaa !8
  %221 = getelementptr inbounds <2 x i64>, ptr %220, i32 1
  store ptr %221, ptr %7, align 8, !tbaa !8
  %222 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %220, <2 x i64> noundef %222)
  %223 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %224 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %223, i32 noundef 4)
  store <2 x i64> %224, ptr %10, align 16, !tbaa !5
  %225 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %226 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %227 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %225, <2 x i64> noundef %226)
  store <2 x i64> %227, ptr %9, align 16, !tbaa !5
  br label %228

228:                                              ; preds = %218
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %229 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %230 = bitcast <2 x i64> %229 to <16 x i8>
  %231 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %230, <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>
  %232 = bitcast <16 x i8> %231 to <2 x i64>
  %233 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %234 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %232, <2 x i64> noundef %233)
  store <2 x i64> %234, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %235 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %236 = bitcast <2 x i64> %235 to <16 x i8>
  %237 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %236, <16 x i32> <i32 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>
  %238 = bitcast <16 x i8> %237 to <2 x i64>
  %239 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %240 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %238, <2 x i64> noundef %239)
  store <2 x i64> %240, ptr %21, align 16, !tbaa !5
  %241 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %242 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %243 = bitcast <2 x i64> %242 to <4 x i32>
  %244 = shufflevector <4 x i32> %243, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %245 = bitcast <4 x i32> %244 to <2 x i64>
  %246 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %241, <2 x i64> noundef %245)
  store <2 x i64> %246, 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 %247

247:                                              ; preds = %228
  br label %248

248:                                              ; preds = %247
  %249 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %249, ptr %4, align 16, !tbaa !5
  %250 = load ptr, ptr %7, align 8, !tbaa !8
  %251 = getelementptr inbounds <2 x i64>, ptr %250, i32 1
  store ptr %251, ptr %7, align 8, !tbaa !8
  %252 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %250, <2 x i64> noundef %252)
  %253 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %254 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %253, i32 noundef 29)
  store <2 x i64> %254, ptr %10, align 16, !tbaa !5
  %255 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %255, ptr %9, align 16, !tbaa !5
  %256 = load ptr, ptr %5, align 8, !tbaa !8
  %257 = getelementptr inbounds <2 x i64>, ptr %256, i32 1
  store ptr %257, ptr %5, align 8, !tbaa !8
  %258 = load ptr, ptr %5, align 8, !tbaa !8
  %259 = call <2 x i64> @_mm_loadu_si128(ptr noundef %258)
  store <2 x i64> %259, ptr %8, align 16, !tbaa !5
  %260 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %261 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %262 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %261, i32 noundef 3)
  %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)
  %265 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %260, <2 x i64> noundef %264)
  store <2 x i64> %265, ptr %9, align 16, !tbaa !5
  br label %266

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

285:                                              ; preds = %266
  br label %286

286:                                              ; preds = %285
  %287 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %287, ptr %4, align 16, !tbaa !5
  %288 = load ptr, ptr %7, align 8, !tbaa !8
  %289 = getelementptr inbounds <2 x i64>, ptr %288, i32 1
  store ptr %289, ptr %7, align 8, !tbaa !8
  %290 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %288, <2 x i64> noundef %290)
  %291 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %292 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %291, i32 noundef 22)
  store <2 x i64> %292, ptr %10, align 16, !tbaa !5
  %293 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %293, ptr %9, align 16, !tbaa !5
  %294 = load ptr, ptr %5, align 8, !tbaa !8
  %295 = getelementptr inbounds <2 x i64>, ptr %294, i32 1
  store ptr %295, ptr %5, align 8, !tbaa !8
  %296 = load ptr, ptr %5, align 8, !tbaa !8
  %297 = call <2 x i64> @_mm_loadu_si128(ptr noundef %296)
  store <2 x i64> %297, ptr %8, align 16, !tbaa !5
  %298 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %299 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %300 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %299, i32 noundef 10)
  %301 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %302 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %300, <2 x i64> noundef %301)
  %303 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %298, <2 x i64> noundef %302)
  store <2 x i64> %303, ptr %9, align 16, !tbaa !5
  br label %304

304:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %305 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %306 = bitcast <2 x i64> %305 to <16 x i8>
  %307 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %306, <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>
  %308 = bitcast <16 x i8> %307 to <2 x i64>
  %309 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %310 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %308, <2 x i64> noundef %309)
  store <2 x i64> %310, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %311 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %312 = bitcast <2 x i64> %311 to <16 x i8>
  %313 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %312, <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>
  %314 = bitcast <16 x i8> %313 to <2 x i64>
  %315 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %316 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %314, <2 x i64> noundef %315)
  store <2 x i64> %316, ptr %25, align 16, !tbaa !5
  %317 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %318 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %319 = bitcast <2 x i64> %318 to <4 x i32>
  %320 = shufflevector <4 x i32> %319, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %321 = bitcast <4 x i32> %320 to <2 x i64>
  %322 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %317, <2 x i64> noundef %321)
  store <2 x i64> %322, 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 %323

323:                                              ; preds = %304
  br label %324

324:                                              ; preds = %323
  %325 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %325, ptr %4, align 16, !tbaa !5
  %326 = load ptr, ptr %7, align 8, !tbaa !8
  %327 = getelementptr inbounds <2 x i64>, ptr %326, i32 1
  store ptr %327, ptr %7, align 8, !tbaa !8
  %328 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %326, <2 x i64> noundef %328)
  %329 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %330 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %329, i32 noundef 15)
  store <2 x i64> %330, ptr %10, align 16, !tbaa !5
  %331 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %331, ptr %9, align 16, !tbaa !5
  %332 = load ptr, ptr %5, align 8, !tbaa !8
  %333 = getelementptr inbounds <2 x i64>, ptr %332, i32 1
  store ptr %333, ptr %5, align 8, !tbaa !8
  %334 = load ptr, ptr %5, align 8, !tbaa !8
  %335 = call <2 x i64> @_mm_loadu_si128(ptr noundef %334)
  store <2 x i64> %335, ptr %8, align 16, !tbaa !5
  %336 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %337 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %338 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %337, i32 noundef 17)
  %339 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %340 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %338, <2 x i64> noundef %339)
  %341 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %336, <2 x i64> noundef %340)
  store <2 x i64> %341, ptr %9, align 16, !tbaa !5
  br label %342

342:                                              ; preds = %324
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %343 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %344 = bitcast <2 x i64> %343 to <16 x i8>
  %345 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %344, <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>
  %346 = bitcast <16 x i8> %345 to <2 x i64>
  %347 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %348 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %346, <2 x i64> noundef %347)
  store <2 x i64> %348, ptr %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %349 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %350 = bitcast <2 x i64> %349 to <16 x i8>
  %351 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %350, <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>
  %352 = bitcast <16 x i8> %351 to <2 x i64>
  %353 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %354 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %352, <2 x i64> noundef %353)
  store <2 x i64> %354, ptr %27, align 16, !tbaa !5
  %355 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %356 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %357 = bitcast <2 x i64> %356 to <4 x i32>
  %358 = shufflevector <4 x i32> %357, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %359 = bitcast <4 x i32> %358 to <2 x i64>
  %360 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %355, <2 x i64> noundef %359)
  store <2 x i64> %360, 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 %361

361:                                              ; preds = %342
  br label %362

362:                                              ; preds = %361
  %363 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %363, ptr %4, align 16, !tbaa !5
  %364 = load ptr, ptr %7, align 8, !tbaa !8
  %365 = getelementptr inbounds <2 x i64>, ptr %364, i32 1
  store ptr %365, ptr %7, align 8, !tbaa !8
  %366 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %364, <2 x i64> noundef %366)
  %367 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %368 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %367, i32 noundef 8)
  store <2 x i64> %368, ptr %10, align 16, !tbaa !5
  %369 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %369, ptr %9, align 16, !tbaa !5
  %370 = load ptr, ptr %5, align 8, !tbaa !8
  %371 = getelementptr inbounds <2 x i64>, ptr %370, i32 1
  store ptr %371, ptr %5, align 8, !tbaa !8
  %372 = load ptr, ptr %5, align 8, !tbaa !8
  %373 = call <2 x i64> @_mm_loadu_si128(ptr noundef %372)
  store <2 x i64> %373, ptr %8, align 16, !tbaa !5
  %374 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %375 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %376 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %375, i32 noundef 24)
  %377 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %378 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %376, <2 x i64> noundef %377)
  %379 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %374, <2 x i64> noundef %378)
  store <2 x i64> %379, ptr %9, align 16, !tbaa !5
  br label %380

380:                                              ; preds = %362
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %381 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %382 = bitcast <2 x i64> %381 to <16 x i8>
  %383 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %382, <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>
  %384 = bitcast <16 x i8> %383 to <2 x i64>
  %385 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %386 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %384, <2 x i64> noundef %385)
  store <2 x i64> %386, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %387 = load <2 x i64>, ptr %28, 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 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>
  %390 = bitcast <16 x i8> %389 to <2 x i64>
  %391 = load <2 x i64>, ptr %28, 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 %29, align 16, !tbaa !5
  %393 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %394 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %395 = bitcast <2 x i64> %394 to <4 x i32>
  %396 = shufflevector <4 x i32> %395, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %397 = bitcast <4 x i32> %396 to <2 x i64>
  %398 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %393, <2 x i64> noundef %397)
  store <2 x i64> %398, 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 %399

399:                                              ; preds = %380
  br label %400

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

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

429:                                              ; preds = %410
  br label %430

430:                                              ; preds = %429
  %431 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %431, ptr %4, align 16, !tbaa !5
  %432 = load ptr, ptr %7, align 8, !tbaa !8
  %433 = getelementptr inbounds <2 x i64>, ptr %432, i32 1
  store ptr %433, ptr %7, align 8, !tbaa !8
  %434 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %432, <2 x i64> noundef %434)
  %435 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %436 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %435, i32 noundef 26)
  store <2 x i64> %436, ptr %10, align 16, !tbaa !5
  %437 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %437, ptr %9, align 16, !tbaa !5
  %438 = load ptr, ptr %5, align 8, !tbaa !8
  %439 = getelementptr inbounds <2 x i64>, ptr %438, i32 1
  store ptr %439, ptr %5, align 8, !tbaa !8
  %440 = load ptr, ptr %5, align 8, !tbaa !8
  %441 = call <2 x i64> @_mm_loadu_si128(ptr noundef %440)
  store <2 x i64> %441, ptr %8, align 16, !tbaa !5
  %442 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %443 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %444 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %443, i32 noundef 6)
  %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)
  %447 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %442, <2 x i64> noundef %446)
  store <2 x i64> %447, ptr %9, align 16, !tbaa !5
  br label %448

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

467:                                              ; preds = %448
  br label %468

468:                                              ; preds = %467
  %469 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %469, ptr %4, align 16, !tbaa !5
  %470 = load ptr, ptr %7, align 8, !tbaa !8
  %471 = getelementptr inbounds <2 x i64>, ptr %470, i32 1
  store ptr %471, ptr %7, align 8, !tbaa !8
  %472 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %470, <2 x i64> noundef %472)
  %473 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %474 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %473, i32 noundef 19)
  store <2 x i64> %474, ptr %10, align 16, !tbaa !5
  %475 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %475, ptr %9, align 16, !tbaa !5
  %476 = load ptr, ptr %5, align 8, !tbaa !8
  %477 = getelementptr inbounds <2 x i64>, ptr %476, i32 1
  store ptr %477, ptr %5, align 8, !tbaa !8
  %478 = load ptr, ptr %5, align 8, !tbaa !8
  %479 = call <2 x i64> @_mm_loadu_si128(ptr noundef %478)
  store <2 x i64> %479, ptr %8, align 16, !tbaa !5
  %480 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %481 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %482 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %481, i32 noundef 13)
  %483 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %484 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %482, <2 x i64> noundef %483)
  %485 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %480, <2 x i64> noundef %484)
  store <2 x i64> %485, ptr %9, align 16, !tbaa !5
  br label %486

486:                                              ; preds = %468
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %487 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %488 = bitcast <2 x i64> %487 to <16 x i8>
  %489 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %488, <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>
  %490 = bitcast <16 x i8> %489 to <2 x i64>
  %491 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %492 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %490, <2 x i64> noundef %491)
  store <2 x i64> %492, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %493 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %494 = bitcast <2 x i64> %493 to <16 x i8>
  %495 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %494, <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>
  %496 = bitcast <16 x i8> %495 to <2 x i64>
  %497 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %498 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %496, <2 x i64> noundef %497)
  store <2 x i64> %498, ptr %35, align 16, !tbaa !5
  %499 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %500 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %501 = bitcast <2 x i64> %500 to <4 x i32>
  %502 = shufflevector <4 x i32> %501, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %503 = bitcast <4 x i32> %502 to <2 x i64>
  %504 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %499, <2 x i64> noundef %503)
  store <2 x i64> %504, 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 %505

505:                                              ; preds = %486
  br label %506

506:                                              ; preds = %505
  %507 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %507, ptr %4, align 16, !tbaa !5
  %508 = load ptr, ptr %7, align 8, !tbaa !8
  %509 = getelementptr inbounds <2 x i64>, ptr %508, i32 1
  store ptr %509, ptr %7, align 8, !tbaa !8
  %510 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %508, <2 x i64> noundef %510)
  %511 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %512 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %511, i32 noundef 12)
  store <2 x i64> %512, ptr %10, align 16, !tbaa !5
  %513 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %513, ptr %9, align 16, !tbaa !5
  %514 = load ptr, ptr %5, align 8, !tbaa !8
  %515 = getelementptr inbounds <2 x i64>, ptr %514, i32 1
  store ptr %515, ptr %5, align 8, !tbaa !8
  %516 = load ptr, ptr %5, align 8, !tbaa !8
  %517 = call <2 x i64> @_mm_loadu_si128(ptr noundef %516)
  store <2 x i64> %517, ptr %8, align 16, !tbaa !5
  %518 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %519 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %520 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %519, i32 noundef 20)
  %521 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %522 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %520, <2 x i64> noundef %521)
  %523 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %518, <2 x i64> noundef %522)
  store <2 x i64> %523, ptr %9, align 16, !tbaa !5
  br label %524

524:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %525 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %526 = bitcast <2 x i64> %525 to <16 x i8>
  %527 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %526, <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>
  %528 = bitcast <16 x i8> %527 to <2 x i64>
  %529 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %530 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %528, <2 x i64> noundef %529)
  store <2 x i64> %530, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %531 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %532 = bitcast <2 x i64> %531 to <16 x i8>
  %533 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %532, <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>
  %534 = bitcast <16 x i8> %533 to <2 x i64>
  %535 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %536 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %534, <2 x i64> noundef %535)
  store <2 x i64> %536, ptr %37, align 16, !tbaa !5
  %537 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %538 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %539 = bitcast <2 x i64> %538 to <4 x i32>
  %540 = shufflevector <4 x i32> %539, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %541 = bitcast <4 x i32> %540 to <2 x i64>
  %542 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %537, <2 x i64> noundef %541)
  store <2 x i64> %542, 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 %543

543:                                              ; preds = %524
  br label %544

544:                                              ; preds = %543
  %545 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %545, ptr %4, align 16, !tbaa !5
  %546 = load ptr, ptr %7, align 8, !tbaa !8
  %547 = getelementptr inbounds <2 x i64>, ptr %546, i32 1
  store ptr %547, ptr %7, align 8, !tbaa !8
  %548 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %546, <2 x i64> noundef %548)
  %549 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %550 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %549, i32 noundef 5)
  store <2 x i64> %550, ptr %10, align 16, !tbaa !5
  %551 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %552 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %553 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %551, <2 x i64> noundef %552)
  store <2 x i64> %553, ptr %9, align 16, !tbaa !5
  br label %554

554:                                              ; preds = %544
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %555 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %556 = bitcast <2 x i64> %555 to <16 x i8>
  %557 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %556, <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>
  %558 = bitcast <16 x i8> %557 to <2 x i64>
  %559 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %560 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %558, <2 x i64> noundef %559)
  store <2 x i64> %560, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %561 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %562 = bitcast <2 x i64> %561 to <16 x i8>
  %563 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %562, <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>
  %564 = bitcast <16 x i8> %563 to <2 x i64>
  %565 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %566 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %564, <2 x i64> noundef %565)
  store <2 x i64> %566, ptr %39, align 16, !tbaa !5
  %567 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %568 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %569 = bitcast <2 x i64> %568 to <4 x i32>
  %570 = shufflevector <4 x i32> %569, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %571 = bitcast <4 x i32> %570 to <2 x i64>
  %572 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %567, <2 x i64> noundef %571)
  store <2 x i64> %572, 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 %573

573:                                              ; preds = %554
  br label %574

574:                                              ; preds = %573
  %575 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %575, ptr %4, align 16, !tbaa !5
  %576 = load ptr, ptr %7, align 8, !tbaa !8
  %577 = getelementptr inbounds <2 x i64>, ptr %576, i32 1
  store ptr %577, ptr %7, align 8, !tbaa !8
  %578 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %576, <2 x i64> noundef %578)
  %579 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %580 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %579, i32 noundef 30)
  store <2 x i64> %580, ptr %10, align 16, !tbaa !5
  %581 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %581, ptr %9, align 16, !tbaa !5
  %582 = load ptr, ptr %5, align 8, !tbaa !8
  %583 = getelementptr inbounds <2 x i64>, ptr %582, i32 1
  store ptr %583, ptr %5, align 8, !tbaa !8
  %584 = load ptr, ptr %5, align 8, !tbaa !8
  %585 = call <2 x i64> @_mm_loadu_si128(ptr noundef %584)
  store <2 x i64> %585, ptr %8, align 16, !tbaa !5
  %586 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %587 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %588 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %587, i32 noundef 2)
  %589 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %590 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %588, <2 x i64> noundef %589)
  %591 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %586, <2 x i64> noundef %590)
  store <2 x i64> %591, ptr %9, align 16, !tbaa !5
  br label %592

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

611:                                              ; preds = %592
  br label %612

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

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

649:                                              ; preds = %630
  br label %650

650:                                              ; preds = %649
  %651 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %651, ptr %4, align 16, !tbaa !5
  %652 = load ptr, ptr %7, align 8, !tbaa !8
  %653 = getelementptr inbounds <2 x i64>, ptr %652, i32 1
  store ptr %653, ptr %7, align 8, !tbaa !8
  %654 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %652, <2 x i64> noundef %654)
  %655 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %656 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %655, i32 noundef 16)
  store <2 x i64> %656, ptr %10, align 16, !tbaa !5
  %657 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %657, ptr %9, align 16, !tbaa !5
  %658 = load ptr, ptr %5, align 8, !tbaa !8
  %659 = getelementptr inbounds <2 x i64>, ptr %658, i32 1
  store ptr %659, ptr %5, align 8, !tbaa !8
  %660 = load ptr, ptr %5, align 8, !tbaa !8
  %661 = call <2 x i64> @_mm_loadu_si128(ptr noundef %660)
  store <2 x i64> %661, ptr %8, align 16, !tbaa !5
  %662 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %663 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %664 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %663, i32 noundef 16)
  %665 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %666 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %664, <2 x i64> noundef %665)
  %667 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %662, <2 x i64> noundef %666)
  store <2 x i64> %667, ptr %9, align 16, !tbaa !5
  br label %668

668:                                              ; preds = %650
  call void @llvm.lifetime.start.p0(i64 16, ptr %44) #3
  %669 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %670 = bitcast <2 x i64> %669 to <16 x i8>
  %671 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %670, <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>
  %672 = bitcast <16 x i8> %671 to <2 x i64>
  %673 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %674 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %672, <2 x i64> noundef %673)
  store <2 x i64> %674, ptr %44, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %45) #3
  %675 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %676 = bitcast <2 x i64> %675 to <16 x i8>
  %677 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %676, <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>
  %678 = bitcast <16 x i8> %677 to <2 x i64>
  %679 = load <2 x i64>, ptr %44, align 16, !tbaa !5
  %680 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %678, <2 x i64> noundef %679)
  store <2 x i64> %680, ptr %45, align 16, !tbaa !5
  %681 = load <2 x i64>, ptr %45, align 16, !tbaa !5
  %682 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %683 = bitcast <2 x i64> %682 to <4 x i32>
  %684 = shufflevector <4 x i32> %683, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %685 = bitcast <4 x i32> %684 to <2 x i64>
  %686 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %681, <2 x i64> noundef %685)
  store <2 x i64> %686, 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 %687

687:                                              ; preds = %668
  br label %688

688:                                              ; preds = %687
  %689 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %689, ptr %4, align 16, !tbaa !5
  %690 = load ptr, ptr %7, align 8, !tbaa !8
  %691 = getelementptr inbounds <2 x i64>, ptr %690, i32 1
  store ptr %691, ptr %7, align 8, !tbaa !8
  %692 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %690, <2 x i64> noundef %692)
  %693 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %694 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %693, i32 noundef 9)
  store <2 x i64> %694, ptr %10, align 16, !tbaa !5
  %695 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %695, ptr %9, align 16, !tbaa !5
  %696 = load ptr, ptr %5, align 8, !tbaa !8
  %697 = getelementptr inbounds <2 x i64>, ptr %696, i32 1
  store ptr %697, ptr %5, align 8, !tbaa !8
  %698 = load ptr, ptr %5, align 8, !tbaa !8
  %699 = call <2 x i64> @_mm_loadu_si128(ptr noundef %698)
  store <2 x i64> %699, ptr %8, align 16, !tbaa !5
  %700 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %701 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %702 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %701, i32 noundef 23)
  %703 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %704 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %702, <2 x i64> noundef %703)
  %705 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %700, <2 x i64> noundef %704)
  store <2 x i64> %705, ptr %9, align 16, !tbaa !5
  br label %706

706:                                              ; preds = %688
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #3
  %707 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %708 = bitcast <2 x i64> %707 to <16 x i8>
  %709 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %708, <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>
  %710 = bitcast <16 x i8> %709 to <2 x i64>
  %711 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %712 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %710, <2 x i64> noundef %711)
  store <2 x i64> %712, ptr %46, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #3
  %713 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %714 = bitcast <2 x i64> %713 to <16 x i8>
  %715 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %714, <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>
  %716 = bitcast <16 x i8> %715 to <2 x i64>
  %717 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %718 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %716, <2 x i64> noundef %717)
  store <2 x i64> %718, ptr %47, align 16, !tbaa !5
  %719 = load <2 x i64>, ptr %47, align 16, !tbaa !5
  %720 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %721 = bitcast <2 x i64> %720 to <4 x i32>
  %722 = shufflevector <4 x i32> %721, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %723 = bitcast <4 x i32> %722 to <2 x i64>
  %724 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %719, <2 x i64> noundef %723)
  store <2 x i64> %724, 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 %725

725:                                              ; preds = %706
  br label %726

726:                                              ; preds = %725
  %727 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %727, ptr %4, align 16, !tbaa !5
  %728 = load ptr, ptr %7, align 8, !tbaa !8
  %729 = getelementptr inbounds <2 x i64>, ptr %728, i32 1
  store ptr %729, ptr %7, align 8, !tbaa !8
  %730 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %728, <2 x i64> noundef %730)
  %731 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %732 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %731, i32 noundef 2)
  store <2 x i64> %732, ptr %10, align 16, !tbaa !5
  %733 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %734 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %735 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %733, <2 x i64> noundef %734)
  store <2 x i64> %735, ptr %9, align 16, !tbaa !5
  br label %736

736:                                              ; preds = %726
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %737 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %738 = bitcast <2 x i64> %737 to <16 x i8>
  %739 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %738, <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>
  %740 = bitcast <16 x i8> %739 to <2 x i64>
  %741 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %742 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %740, <2 x i64> noundef %741)
  store <2 x i64> %742, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %743 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %744 = bitcast <2 x i64> %743 to <16 x i8>
  %745 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %744, <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>
  %746 = bitcast <16 x i8> %745 to <2 x i64>
  %747 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %748 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %746, <2 x i64> noundef %747)
  store <2 x i64> %748, ptr %49, align 16, !tbaa !5
  %749 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %750 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %751 = bitcast <2 x i64> %750 to <4 x i32>
  %752 = shufflevector <4 x i32> %751, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %753 = bitcast <4 x i32> %752 to <2 x i64>
  %754 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %749, <2 x i64> noundef %753)
  store <2 x i64> %754, 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 %755

755:                                              ; preds = %736
  br label %756

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

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

793:                                              ; preds = %774
  br label %794

794:                                              ; preds = %793
  %795 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %795, ptr %4, align 16, !tbaa !5
  %796 = load ptr, ptr %7, align 8, !tbaa !8
  %797 = getelementptr inbounds <2 x i64>, ptr %796, i32 1
  store ptr %797, ptr %7, align 8, !tbaa !8
  %798 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %796, <2 x i64> noundef %798)
  %799 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %800 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %799, i32 noundef 20)
  store <2 x i64> %800, ptr %10, align 16, !tbaa !5
  %801 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %801, ptr %9, align 16, !tbaa !5
  %802 = load ptr, ptr %5, align 8, !tbaa !8
  %803 = getelementptr inbounds <2 x i64>, ptr %802, i32 1
  store ptr %803, ptr %5, align 8, !tbaa !8
  %804 = load ptr, ptr %5, align 8, !tbaa !8
  %805 = call <2 x i64> @_mm_loadu_si128(ptr noundef %804)
  store <2 x i64> %805, ptr %8, align 16, !tbaa !5
  %806 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %807 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %808 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %807, i32 noundef 12)
  %809 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %810 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %808, <2 x i64> noundef %809)
  %811 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %806, <2 x i64> noundef %810)
  store <2 x i64> %811, ptr %9, align 16, !tbaa !5
  br label %812

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

831:                                              ; preds = %812
  br label %832

832:                                              ; preds = %831
  %833 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %833, ptr %4, align 16, !tbaa !5
  %834 = load ptr, ptr %7, align 8, !tbaa !8
  %835 = getelementptr inbounds <2 x i64>, ptr %834, i32 1
  store ptr %835, ptr %7, align 8, !tbaa !8
  %836 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %834, <2 x i64> noundef %836)
  %837 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %838 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %837, i32 noundef 13)
  store <2 x i64> %838, ptr %10, align 16, !tbaa !5
  %839 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %839, ptr %9, align 16, !tbaa !5
  %840 = load ptr, ptr %5, align 8, !tbaa !8
  %841 = getelementptr inbounds <2 x i64>, ptr %840, i32 1
  store ptr %841, ptr %5, align 8, !tbaa !8
  %842 = load ptr, ptr %5, align 8, !tbaa !8
  %843 = call <2 x i64> @_mm_loadu_si128(ptr noundef %842)
  store <2 x i64> %843, ptr %8, align 16, !tbaa !5
  %844 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %845 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %846 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %845, i32 noundef 19)
  %847 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %848 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %846, <2 x i64> noundef %847)
  %849 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %844, <2 x i64> noundef %848)
  store <2 x i64> %849, ptr %9, align 16, !tbaa !5
  br label %850

850:                                              ; preds = %832
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %851 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %852 = bitcast <2 x i64> %851 to <16 x i8>
  %853 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %852, <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>
  %854 = bitcast <16 x i8> %853 to <2 x i64>
  %855 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %856 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %854, <2 x i64> noundef %855)
  store <2 x i64> %856, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %857 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %858 = bitcast <2 x i64> %857 to <16 x i8>
  %859 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %858, <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>
  %860 = bitcast <16 x i8> %859 to <2 x i64>
  %861 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %862 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %860, <2 x i64> noundef %861)
  store <2 x i64> %862, ptr %55, align 16, !tbaa !5
  %863 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %864 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %865 = bitcast <2 x i64> %864 to <4 x i32>
  %866 = shufflevector <4 x i32> %865, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %867 = bitcast <4 x i32> %866 to <2 x i64>
  %868 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %863, <2 x i64> noundef %867)
  store <2 x i64> %868, 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 %869

869:                                              ; preds = %850
  br label %870

870:                                              ; preds = %869
  %871 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %871, ptr %4, align 16, !tbaa !5
  %872 = load ptr, ptr %7, align 8, !tbaa !8
  %873 = getelementptr inbounds <2 x i64>, ptr %872, i32 1
  store ptr %873, ptr %7, align 8, !tbaa !8
  %874 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %872, <2 x i64> noundef %874)
  %875 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %876 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %875, i32 noundef 6)
  store <2 x i64> %876, ptr %10, align 16, !tbaa !5
  %877 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %878 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %879 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %877, <2 x i64> noundef %878)
  store <2 x i64> %879, ptr %9, align 16, !tbaa !5
  br label %880

880:                                              ; preds = %870
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #3
  %881 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %882 = bitcast <2 x i64> %881 to <16 x i8>
  %883 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %882, <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>
  %884 = bitcast <16 x i8> %883 to <2 x i64>
  %885 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %886 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %884, <2 x i64> noundef %885)
  store <2 x i64> %886, ptr %56, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #3
  %887 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %888 = bitcast <2 x i64> %887 to <16 x i8>
  %889 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %888, <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>
  %890 = bitcast <16 x i8> %889 to <2 x i64>
  %891 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %892 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %890, <2 x i64> noundef %891)
  store <2 x i64> %892, ptr %57, align 16, !tbaa !5
  %893 = load <2 x i64>, ptr %57, align 16, !tbaa !5
  %894 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %895 = bitcast <2 x i64> %894 to <4 x i32>
  %896 = shufflevector <4 x i32> %895, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %897 = bitcast <4 x i32> %896 to <2 x i64>
  %898 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %893, <2 x i64> noundef %897)
  store <2 x i64> %898, 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 %899

899:                                              ; preds = %880
  br label %900

900:                                              ; preds = %899
  %901 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %901, ptr %4, align 16, !tbaa !5
  %902 = load ptr, ptr %7, align 8, !tbaa !8
  %903 = getelementptr inbounds <2 x i64>, ptr %902, i32 1
  store ptr %903, ptr %7, align 8, !tbaa !8
  %904 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %902, <2 x i64> noundef %904)
  %905 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %906 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %905, i32 noundef 31)
  store <2 x i64> %906, ptr %10, align 16, !tbaa !5
  %907 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %907, ptr %9, align 16, !tbaa !5
  %908 = load ptr, ptr %5, align 8, !tbaa !8
  %909 = getelementptr inbounds <2 x i64>, ptr %908, i32 1
  store ptr %909, ptr %5, align 8, !tbaa !8
  %910 = load ptr, ptr %5, align 8, !tbaa !8
  %911 = call <2 x i64> @_mm_loadu_si128(ptr noundef %910)
  store <2 x i64> %911, ptr %8, align 16, !tbaa !5
  %912 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %913 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %914 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %913, i32 noundef 1)
  %915 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %916 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %914, <2 x i64> noundef %915)
  %917 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %912, <2 x i64> noundef %916)
  store <2 x i64> %917, ptr %9, align 16, !tbaa !5
  br label %918

918:                                              ; preds = %900
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %919 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %920 = bitcast <2 x i64> %919 to <16 x i8>
  %921 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %920, <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>
  %922 = bitcast <16 x i8> %921 to <2 x i64>
  %923 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %924 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %922, <2 x i64> noundef %923)
  store <2 x i64> %924, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %925 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %926 = bitcast <2 x i64> %925 to <16 x i8>
  %927 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %926, <16 x i32> <i32 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>
  %928 = bitcast <16 x i8> %927 to <2 x i64>
  %929 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %930 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %928, <2 x i64> noundef %929)
  store <2 x i64> %930, ptr %59, align 16, !tbaa !5
  %931 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %932 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %933 = bitcast <2 x i64> %932 to <4 x i32>
  %934 = shufflevector <4 x i32> %933, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %935 = bitcast <4 x i32> %934 to <2 x i64>
  %936 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %931, <2 x i64> noundef %935)
  store <2 x i64> %936, 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 %937

937:                                              ; preds = %918
  br label %938

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

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

975:                                              ; preds = %956
  br label %976

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

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

1013:                                             ; preds = %994
  br label %1014

1014:                                             ; preds = %1013
  %1015 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1015, ptr %4, align 16, !tbaa !5
  %1016 = load ptr, ptr %7, align 8, !tbaa !8
  %1017 = getelementptr inbounds <2 x i64>, ptr %1016, i32 1
  store ptr %1017, ptr %7, align 8, !tbaa !8
  %1018 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1016, <2 x i64> noundef %1018)
  %1019 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1020 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1019, i32 noundef 10)
  store <2 x i64> %1020, ptr %10, align 16, !tbaa !5
  %1021 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1021, ptr %9, align 16, !tbaa !5
  %1022 = load ptr, ptr %5, align 8, !tbaa !8
  %1023 = getelementptr inbounds <2 x i64>, ptr %1022, i32 1
  store ptr %1023, ptr %5, align 8, !tbaa !8
  %1024 = load ptr, ptr %5, align 8, !tbaa !8
  %1025 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1024)
  store <2 x i64> %1025, ptr %8, align 16, !tbaa !5
  %1026 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1027 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1028 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1027, i32 noundef 22)
  %1029 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1030 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1028, <2 x i64> noundef %1029)
  %1031 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1026, <2 x i64> noundef %1030)
  store <2 x i64> %1031, ptr %9, align 16, !tbaa !5
  br label %1032

1032:                                             ; preds = %1014
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %1033 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1034 = bitcast <2 x i64> %1033 to <16 x i8>
  %1035 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1034, <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>
  %1036 = bitcast <16 x i8> %1035 to <2 x i64>
  %1037 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1038 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1036, <2 x i64> noundef %1037)
  store <2 x i64> %1038, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %1039 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %1040 = bitcast <2 x i64> %1039 to <16 x i8>
  %1041 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1040, <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>
  %1042 = bitcast <16 x i8> %1041 to <2 x i64>
  %1043 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %1044 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1042, <2 x i64> noundef %1043)
  store <2 x i64> %1044, ptr %65, align 16, !tbaa !5
  %1045 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %1046 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1047 = bitcast <2 x i64> %1046 to <4 x i32>
  %1048 = shufflevector <4 x i32> %1047, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1049 = bitcast <4 x i32> %1048 to <2 x i64>
  %1050 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1045, <2 x i64> noundef %1049)
  store <2 x i64> %1050, 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 %1051

1051:                                             ; preds = %1032
  br label %1052

1052:                                             ; preds = %1051
  %1053 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1053, ptr %4, align 16, !tbaa !5
  %1054 = load ptr, ptr %7, align 8, !tbaa !8
  %1055 = getelementptr inbounds <2 x i64>, ptr %1054, i32 1
  store ptr %1055, ptr %7, align 8, !tbaa !8
  %1056 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1054, <2 x i64> noundef %1056)
  %1057 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1058 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1057, i32 noundef 3)
  store <2 x i64> %1058, ptr %10, align 16, !tbaa !5
  %1059 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1060 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1061 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1059, <2 x i64> noundef %1060)
  store <2 x i64> %1061, ptr %9, align 16, !tbaa !5
  br label %1062

1062:                                             ; preds = %1052
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %1063 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1064 = bitcast <2 x i64> %1063 to <16 x i8>
  %1065 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1064, <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>
  %1066 = bitcast <16 x i8> %1065 to <2 x i64>
  %1067 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1068 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1066, <2 x i64> noundef %1067)
  store <2 x i64> %1068, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %1069 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1070 = bitcast <2 x i64> %1069 to <16 x i8>
  %1071 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1070, <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>
  %1072 = bitcast <16 x i8> %1071 to <2 x i64>
  %1073 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1074 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1072, <2 x i64> noundef %1073)
  store <2 x i64> %1074, ptr %67, align 16, !tbaa !5
  %1075 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %1076 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1077 = bitcast <2 x i64> %1076 to <4 x i32>
  %1078 = shufflevector <4 x i32> %1077, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1079 = bitcast <4 x i32> %1078 to <2 x i64>
  %1080 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1075, <2 x i64> noundef %1079)
  store <2 x i64> %1080, 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 %1081

1081:                                             ; preds = %1062
  br label %1082

1082:                                             ; preds = %1081
  %1083 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1083, ptr %4, align 16, !tbaa !5
  %1084 = load ptr, ptr %7, align 8, !tbaa !8
  %1085 = getelementptr inbounds <2 x i64>, ptr %1084, i32 1
  store ptr %1085, ptr %7, align 8, !tbaa !8
  %1086 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1084, <2 x i64> noundef %1086)
  %1087 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1088 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1087, i32 noundef 28)
  store <2 x i64> %1088, ptr %10, align 16, !tbaa !5
  %1089 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1089, ptr %9, align 16, !tbaa !5
  %1090 = load ptr, ptr %5, align 8, !tbaa !8
  %1091 = getelementptr inbounds <2 x i64>, ptr %1090, i32 1
  store ptr %1091, ptr %5, align 8, !tbaa !8
  %1092 = load ptr, ptr %5, align 8, !tbaa !8
  %1093 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1092)
  store <2 x i64> %1093, ptr %8, align 16, !tbaa !5
  %1094 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1095 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1096 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1095, i32 noundef 4)
  %1097 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1098 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1096, <2 x i64> noundef %1097)
  %1099 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1094, <2 x i64> noundef %1098)
  store <2 x i64> %1099, ptr %9, align 16, !tbaa !5
  br label %1100

1100:                                             ; preds = %1082
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %1101 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1102 = bitcast <2 x i64> %1101 to <16 x i8>
  %1103 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1102, <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>
  %1104 = bitcast <16 x i8> %1103 to <2 x i64>
  %1105 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1106 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1104, <2 x i64> noundef %1105)
  store <2 x i64> %1106, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %1107 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1108 = bitcast <2 x i64> %1107 to <16 x i8>
  %1109 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1108, <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>
  %1110 = bitcast <16 x i8> %1109 to <2 x i64>
  %1111 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1112 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1110, <2 x i64> noundef %1111)
  store <2 x i64> %1112, ptr %69, align 16, !tbaa !5
  %1113 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %1114 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1115 = bitcast <2 x i64> %1114 to <4 x i32>
  %1116 = shufflevector <4 x i32> %1115, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1117 = bitcast <4 x i32> %1116 to <2 x i64>
  %1118 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1113, <2 x i64> noundef %1117)
  store <2 x i64> %1118, 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 %1119

1119:                                             ; preds = %1100
  br label %1120

1120:                                             ; preds = %1119
  %1121 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1121, ptr %4, align 16, !tbaa !5
  %1122 = load ptr, ptr %7, align 8, !tbaa !8
  %1123 = getelementptr inbounds <2 x i64>, ptr %1122, i32 1
  store ptr %1123, ptr %7, align 8, !tbaa !8
  %1124 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1122, <2 x i64> noundef %1124)
  %1125 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1126 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1125, i32 noundef 21)
  store <2 x i64> %1126, ptr %10, align 16, !tbaa !5
  %1127 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1127, ptr %9, align 16, !tbaa !5
  %1128 = load ptr, ptr %5, align 8, !tbaa !8
  %1129 = getelementptr inbounds <2 x i64>, ptr %1128, i32 1
  store ptr %1129, ptr %5, align 8, !tbaa !8
  %1130 = load ptr, ptr %5, align 8, !tbaa !8
  %1131 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1130)
  store <2 x i64> %1131, ptr %8, align 16, !tbaa !5
  %1132 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1133 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1134 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1133, i32 noundef 11)
  %1135 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1136 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1134, <2 x i64> noundef %1135)
  %1137 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1132, <2 x i64> noundef %1136)
  store <2 x i64> %1137, ptr %9, align 16, !tbaa !5
  br label %1138

1138:                                             ; preds = %1120
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %1139 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1140 = bitcast <2 x i64> %1139 to <16 x i8>
  %1141 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1140, <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>
  %1142 = bitcast <16 x i8> %1141 to <2 x i64>
  %1143 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1144 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1142, <2 x i64> noundef %1143)
  store <2 x i64> %1144, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %1145 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1146 = bitcast <2 x i64> %1145 to <16 x i8>
  %1147 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1146, <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>
  %1148 = bitcast <16 x i8> %1147 to <2 x i64>
  %1149 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1150 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1148, <2 x i64> noundef %1149)
  store <2 x i64> %1150, ptr %71, align 16, !tbaa !5
  %1151 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %1152 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1153 = bitcast <2 x i64> %1152 to <4 x i32>
  %1154 = shufflevector <4 x i32> %1153, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1155 = bitcast <4 x i32> %1154 to <2 x i64>
  %1156 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1151, <2 x i64> noundef %1155)
  store <2 x i64> %1156, 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 %1157

1157:                                             ; preds = %1138
  br label %1158

1158:                                             ; preds = %1157
  %1159 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1159, ptr %4, align 16, !tbaa !5
  %1160 = load ptr, ptr %7, align 8, !tbaa !8
  %1161 = getelementptr inbounds <2 x i64>, ptr %1160, i32 1
  store ptr %1161, ptr %7, align 8, !tbaa !8
  %1162 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1160, <2 x i64> noundef %1162)
  %1163 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1164 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1163, i32 noundef 14)
  store <2 x i64> %1164, ptr %10, align 16, !tbaa !5
  %1165 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1165, ptr %9, align 16, !tbaa !5
  %1166 = load ptr, ptr %5, align 8, !tbaa !8
  %1167 = getelementptr inbounds <2 x i64>, ptr %1166, i32 1
  store ptr %1167, ptr %5, align 8, !tbaa !8
  %1168 = load ptr, ptr %5, align 8, !tbaa !8
  %1169 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1168)
  store <2 x i64> %1169, ptr %8, align 16, !tbaa !5
  %1170 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1171 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1172 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1171, i32 noundef 18)
  %1173 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1174 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1172, <2 x i64> noundef %1173)
  %1175 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1170, <2 x i64> noundef %1174)
  store <2 x i64> %1175, ptr %9, align 16, !tbaa !5
  br label %1176

1176:                                             ; preds = %1158
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1177 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1178 = bitcast <2 x i64> %1177 to <16 x i8>
  %1179 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1178, <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>
  %1180 = bitcast <16 x i8> %1179 to <2 x i64>
  %1181 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1182 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1180, <2 x i64> noundef %1181)
  store <2 x i64> %1182, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1183 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1184 = bitcast <2 x i64> %1183 to <16 x i8>
  %1185 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1184, <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>
  %1186 = bitcast <16 x i8> %1185 to <2 x i64>
  %1187 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1188 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1186, <2 x i64> noundef %1187)
  store <2 x i64> %1188, ptr %73, align 16, !tbaa !5
  %1189 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1190 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1191 = bitcast <2 x i64> %1190 to <4 x i32>
  %1192 = shufflevector <4 x i32> %1191, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1193 = bitcast <4 x i32> %1192 to <2 x i64>
  %1194 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1189, <2 x i64> noundef %1193)
  store <2 x i64> %1194, 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 %1195

1195:                                             ; preds = %1176
  br label %1196

1196:                                             ; preds = %1195
  %1197 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1197, ptr %4, align 16, !tbaa !5
  %1198 = load ptr, ptr %7, align 8, !tbaa !8
  %1199 = getelementptr inbounds <2 x i64>, ptr %1198, i32 1
  store ptr %1199, ptr %7, align 8, !tbaa !8
  %1200 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1198, <2 x i64> noundef %1200)
  %1201 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1202 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1201, i32 noundef 7)
  store <2 x i64> %1202, ptr %10, align 16, !tbaa !5
  %1203 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1203, ptr %9, align 16, !tbaa !5
  br label %1204

1204:                                             ; preds = %1196
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1205 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1206 = bitcast <2 x i64> %1205 to <16 x i8>
  %1207 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1206, <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>
  %1208 = bitcast <16 x i8> %1207 to <2 x i64>
  %1209 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1210 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1208, <2 x i64> noundef %1209)
  store <2 x i64> %1210, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1211 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1212 = bitcast <2 x i64> %1211 to <16 x i8>
  %1213 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1212, <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>
  %1214 = bitcast <16 x i8> %1213 to <2 x i64>
  %1215 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1216 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1214, <2 x i64> noundef %1215)
  store <2 x i64> %1216, ptr %75, align 16, !tbaa !5
  %1217 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1218 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1219 = bitcast <2 x i64> %1218 to <4 x i32>
  %1220 = shufflevector <4 x i32> %1219, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1221 = bitcast <4 x i32> %1220 to <2 x i64>
  %1222 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1217, <2 x i64> noundef %1221)
  store <2 x i64> %1222, 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 %1223

1223:                                             ; preds = %1204
  br label %1224

1224:                                             ; preds = %1223
  %1225 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1225, ptr %4, align 16, !tbaa !5
  %1226 = load ptr, ptr %7, align 8, !tbaa !8
  %1227 = getelementptr inbounds <2 x i64>, ptr %1226, i32 1
  store ptr %1227, ptr %7, align 8, !tbaa !8
  %1228 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1226, <2 x i64> noundef %1228)
  %1229 = 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> %1229
}

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_or_si128(<2 x i64> noundef, <2 x i64> noundef) local_unnamed_addr #0

; Function Attrs: alwaysinline nounwind uwtable
declare hidden <2 x i64> @_mm_slli_epi32(<2 x i64> noundef, i32 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> @iunpack25(<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 33554431)
  %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 25)
  %19 = getelementptr inbounds i8, ptr %1, i64 16
  %20 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %19)
  %21 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %20, i32 noundef 7)
  %22 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %21, <2 x i64> noundef %5)
  %23 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %18, <2 x i64> noundef %22)
  %24 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %23, <2 x i32> <i32 1, i32 2>
  %25 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %24, <2 x i64> noundef %23)
  %26 = bitcast <2 x i64> %25 to <16 x i8>
  %27 = 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> %26, <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>
  %28 = bitcast <16 x i8> %27 to <2 x i64>
  %29 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %28, <2 x i64> noundef %25)
  %30 = bitcast <2 x i64> %16 to <4 x i32>
  %31 = shufflevector <4 x i32> %30, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %32 = bitcast <4 x i32> %31 to <2 x i64>
  %33 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %29, <2 x i64> noundef %32)
  %34 = getelementptr inbounds i8, ptr %2, i64 32
  tail call void @_mm_storeu_si128(ptr noundef nonnull %17, <2 x i64> noundef %33)
  %35 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %20, i32 noundef 18)
  %36 = getelementptr inbounds i8, ptr %1, i64 32
  %37 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %36)
  %38 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %37, i32 noundef 14)
  %39 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %38, <2 x i64> noundef %5)
  %40 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %35, <2 x i64> noundef %39)
  %41 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %40, <2 x i32> <i32 1, i32 2>
  %42 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %41, <2 x i64> noundef %40)
  %43 = bitcast <2 x i64> %42 to <16 x i8>
  %44 = 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> %43, <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>
  %45 = bitcast <16 x i8> %44 to <2 x i64>
  %46 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %45, <2 x i64> noundef %42)
  %47 = bitcast <2 x i64> %33 to <4 x i32>
  %48 = shufflevector <4 x i32> %47, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %49 = bitcast <4 x i32> %48 to <2 x i64>
  %50 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %46, <2 x i64> noundef %49)
  %51 = getelementptr inbounds i8, ptr %2, i64 48
  tail call void @_mm_storeu_si128(ptr noundef nonnull %34, <2 x i64> noundef %50)
  %52 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %37, i32 noundef 11)
  %53 = getelementptr inbounds i8, ptr %1, i64 48
  %54 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %53)
  %55 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %54, i32 noundef 21)
  %56 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %55, <2 x i64> noundef %5)
  %57 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %52, <2 x i64> noundef %56)
  %58 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %57, <2 x i32> <i32 1, i32 2>
  %59 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %58, <2 x i64> noundef %57)
  %60 = bitcast <2 x i64> %59 to <16 x i8>
  %61 = 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> %60, <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>
  %62 = bitcast <16 x i8> %61 to <2 x i64>
  %63 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %62, <2 x i64> noundef %59)
  %64 = bitcast <2 x i64> %50 to <4 x i32>
  %65 = shufflevector <4 x i32> %64, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %66 = bitcast <4 x i32> %65 to <2 x i64>
  %67 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %63, <2 x i64> noundef %66)
  %68 = getelementptr inbounds i8, ptr %2, i64 64
  tail call void @_mm_storeu_si128(ptr noundef nonnull %51, <2 x i64> noundef %67)
  %69 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %54, i32 noundef 4)
  %70 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %69, <2 x i64> noundef %5)
  %71 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %70, <2 x i32> <i32 1, i32 2>
  %72 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %71, <2 x i64> noundef %70)
  %73 = bitcast <2 x i64> %72 to <16 x i8>
  %74 = 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> %73, <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>
  %75 = bitcast <16 x i8> %74 to <2 x i64>
  %76 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %75, <2 x i64> noundef %72)
  %77 = bitcast <2 x i64> %67 to <4 x i32>
  %78 = shufflevector <4 x i32> %77, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %79 = bitcast <4 x i32> %78 to <2 x i64>
  %80 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %76, <2 x i64> noundef %79)
  %81 = getelementptr inbounds i8, ptr %2, i64 80
  tail call void @_mm_storeu_si128(ptr noundef nonnull %68, <2 x i64> noundef %80)
  %82 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %54, i32 noundef 29)
  %83 = getelementptr inbounds i8, ptr %1, i64 64
  %84 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %83)
  %85 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %84, i32 noundef 3)
  %86 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %85, <2 x i64> noundef %5)
  %87 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %82, <2 x i64> noundef %86)
  %88 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %87, <2 x i32> <i32 1, i32 2>
  %89 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %88, <2 x i64> noundef %87)
  %90 = bitcast <2 x i64> %89 to <16 x i8>
  %91 = 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> %90, <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>
  %92 = bitcast <16 x i8> %91 to <2 x i64>
  %93 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %92, <2 x i64> noundef %89)
  %94 = bitcast <2 x i64> %80 to <4 x i32>
  %95 = shufflevector <4 x i32> %94, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %96 = bitcast <4 x i32> %95 to <2 x i64>
  %97 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %93, <2 x i64> noundef %96)
  %98 = getelementptr inbounds i8, ptr %2, i64 96
  tail call void @_mm_storeu_si128(ptr noundef nonnull %81, <2 x i64> noundef %97)
  %99 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %84, i32 noundef 22)
  %100 = getelementptr inbounds i8, ptr %1, i64 80
  %101 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %100)
  %102 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %101, i32 noundef 10)
  %103 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %102, <2 x i64> noundef %5)
  %104 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %99, <2 x i64> noundef %103)
  %105 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %104, <2 x i32> <i32 1, i32 2>
  %106 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %105, <2 x i64> noundef %104)
  %107 = bitcast <2 x i64> %106 to <16 x i8>
  %108 = 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> %107, <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>
  %109 = bitcast <16 x i8> %108 to <2 x i64>
  %110 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %109, <2 x i64> noundef %106)
  %111 = bitcast <2 x i64> %97 to <4 x i32>
  %112 = shufflevector <4 x i32> %111, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %113 = bitcast <4 x i32> %112 to <2 x i64>
  %114 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %110, <2 x i64> noundef %113)
  %115 = getelementptr inbounds i8, ptr %2, i64 112
  tail call void @_mm_storeu_si128(ptr noundef nonnull %98, <2 x i64> noundef %114)
  %116 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %101, i32 noundef 15)
  %117 = getelementptr inbounds i8, ptr %1, i64 96
  %118 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %117)
  %119 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %118, i32 noundef 17)
  %120 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %119, <2 x i64> noundef %5)
  %121 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %116, <2 x i64> noundef %120)
  %122 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %121, <2 x i32> <i32 1, i32 2>
  %123 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %122, <2 x i64> noundef %121)
  %124 = bitcast <2 x i64> %123 to <16 x i8>
  %125 = 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> %124, <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>
  %126 = bitcast <16 x i8> %125 to <2 x i64>
  %127 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %126, <2 x i64> noundef %123)
  %128 = bitcast <2 x i64> %114 to <4 x i32>
  %129 = shufflevector <4 x i32> %128, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %130 = bitcast <4 x i32> %129 to <2 x i64>
  %131 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %127, <2 x i64> noundef %130)
  %132 = getelementptr inbounds i8, ptr %2, i64 128
  tail call void @_mm_storeu_si128(ptr noundef nonnull %115, <2 x i64> noundef %131)
  %133 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %118, i32 noundef 8)
  %134 = getelementptr inbounds i8, ptr %1, i64 112
  %135 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %134)
  %136 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %135, i32 noundef 24)
  %137 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %136, <2 x i64> noundef %5)
  %138 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %133, <2 x i64> noundef %137)
  %139 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %138, <2 x i32> <i32 1, i32 2>
  %140 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %139, <2 x i64> noundef %138)
  %141 = bitcast <2 x i64> %140 to <16 x i8>
  %142 = 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> %141, <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>
  %143 = bitcast <16 x i8> %142 to <2 x i64>
  %144 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %143, <2 x i64> noundef %140)
  %145 = bitcast <2 x i64> %131 to <4 x i32>
  %146 = shufflevector <4 x i32> %145, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %147 = bitcast <4 x i32> %146 to <2 x i64>
  %148 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %144, <2 x i64> noundef %147)
  %149 = getelementptr inbounds i8, ptr %2, i64 144
  tail call void @_mm_storeu_si128(ptr noundef nonnull %132, <2 x i64> noundef %148)
  %150 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %135, i32 noundef 1)
  %151 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %150, <2 x i64> noundef %5)
  %152 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %151, <2 x i32> <i32 1, i32 2>
  %153 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %152, <2 x i64> noundef %151)
  %154 = bitcast <2 x i64> %153 to <16 x i8>
  %155 = 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> %154, <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>
  %156 = bitcast <16 x i8> %155 to <2 x i64>
  %157 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %156, <2 x i64> noundef %153)
  %158 = bitcast <2 x i64> %148 to <4 x i32>
  %159 = shufflevector <4 x i32> %158, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %160 = bitcast <4 x i32> %159 to <2 x i64>
  %161 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %157, <2 x i64> noundef %160)
  %162 = getelementptr inbounds i8, ptr %2, i64 160
  tail call void @_mm_storeu_si128(ptr noundef nonnull %149, <2 x i64> noundef %161)
  %163 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %135, i32 noundef 26)
  %164 = getelementptr inbounds i8, ptr %1, i64 128
  %165 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %164)
  %166 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %165, i32 noundef 6)
  %167 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %166, <2 x i64> noundef %5)
  %168 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %163, <2 x i64> noundef %167)
  %169 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %168, <2 x i32> <i32 1, i32 2>
  %170 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %169, <2 x i64> noundef %168)
  %171 = bitcast <2 x i64> %170 to <16 x i8>
  %172 = 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> %171, <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>
  %173 = bitcast <16 x i8> %172 to <2 x i64>
  %174 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %173, <2 x i64> noundef %170)
  %175 = bitcast <2 x i64> %161 to <4 x i32>
  %176 = shufflevector <4 x i32> %175, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %177 = bitcast <4 x i32> %176 to <2 x i64>
  %178 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %174, <2 x i64> noundef %177)
  %179 = getelementptr inbounds i8, ptr %2, i64 176
  tail call void @_mm_storeu_si128(ptr noundef nonnull %162, <2 x i64> noundef %178)
  %180 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %165, i32 noundef 19)
  %181 = getelementptr inbounds i8, ptr %1, i64 144
  %182 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %181)
  %183 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %182, i32 noundef 13)
  %184 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %183, <2 x i64> noundef %5)
  %185 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %180, <2 x i64> noundef %184)
  %186 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %185, <2 x i32> <i32 1, i32 2>
  %187 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %186, <2 x i64> noundef %185)
  %188 = bitcast <2 x i64> %187 to <16 x i8>
  %189 = 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> %188, <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>
  %190 = bitcast <16 x i8> %189 to <2 x i64>
  %191 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %190, <2 x i64> noundef %187)
  %192 = bitcast <2 x i64> %178 to <4 x i32>
  %193 = shufflevector <4 x i32> %192, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %194 = bitcast <4 x i32> %193 to <2 x i64>
  %195 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %191, <2 x i64> noundef %194)
  %196 = getelementptr inbounds i8, ptr %2, i64 192
  tail call void @_mm_storeu_si128(ptr noundef nonnull %179, <2 x i64> noundef %195)
  %197 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %182, i32 noundef 12)
  %198 = getelementptr inbounds i8, ptr %1, i64 160
  %199 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %198)
  %200 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %199, i32 noundef 20)
  %201 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %200, <2 x i64> noundef %5)
  %202 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %197, <2 x i64> noundef %201)
  %203 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %202, <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 %202)
  %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> %195 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 208
  tail call void @_mm_storeu_si128(ptr noundef nonnull %196, <2 x i64> noundef %212)
  %214 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %199, i32 noundef 5)
  %215 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %214, <2 x i64> noundef %5)
  %216 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %215, <2 x i32> <i32 1, i32 2>
  %217 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %216, <2 x i64> noundef %215)
  %218 = bitcast <2 x i64> %217 to <16 x i8>
  %219 = 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> %218, <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>
  %220 = bitcast <16 x i8> %219 to <2 x i64>
  %221 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %220, <2 x i64> noundef %217)
  %222 = bitcast <2 x i64> %212 to <4 x i32>
  %223 = shufflevector <4 x i32> %222, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %224 = bitcast <4 x i32> %223 to <2 x i64>
  %225 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %221, <2 x i64> noundef %224)
  %226 = getelementptr inbounds i8, ptr %2, i64 224
  tail call void @_mm_storeu_si128(ptr noundef nonnull %213, <2 x i64> noundef %225)
  %227 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %199, i32 noundef 30)
  %228 = getelementptr inbounds i8, ptr %1, i64 176
  %229 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %228)
  %230 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %229, i32 noundef 2)
  %231 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %230, <2 x i64> noundef %5)
  %232 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %227, <2 x i64> noundef %231)
  %233 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %232, <2 x i32> <i32 1, i32 2>
  %234 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %233, <2 x i64> noundef %232)
  %235 = bitcast <2 x i64> %234 to <16 x i8>
  %236 = 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> %235, <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>
  %237 = bitcast <16 x i8> %236 to <2 x i64>
  %238 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %237, <2 x i64> noundef %234)
  %239 = bitcast <2 x i64> %225 to <4 x i32>
  %240 = shufflevector <4 x i32> %239, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %241 = bitcast <4 x i32> %240 to <2 x i64>
  %242 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %238, <2 x i64> noundef %241)
  %243 = getelementptr inbounds i8, ptr %2, i64 240
  tail call void @_mm_storeu_si128(ptr noundef nonnull %226, <2 x i64> noundef %242)
  %244 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %229, i32 noundef 23)
  %245 = getelementptr inbounds i8, ptr %1, i64 192
  %246 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %245)
  %247 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %246, i32 noundef 9)
  %248 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %247, <2 x i64> noundef %5)
  %249 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %244, <2 x i64> noundef %248)
  %250 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %249, <2 x i32> <i32 1, i32 2>
  %251 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %250, <2 x i64> noundef %249)
  %252 = bitcast <2 x i64> %251 to <16 x i8>
  %253 = 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> %252, <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>
  %254 = bitcast <16 x i8> %253 to <2 x i64>
  %255 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %254, <2 x i64> noundef %251)
  %256 = bitcast <2 x i64> %242 to <4 x i32>
  %257 = shufflevector <4 x i32> %256, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %258 = bitcast <4 x i32> %257 to <2 x i64>
  %259 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %255, <2 x i64> noundef %258)
  %260 = getelementptr inbounds i8, ptr %2, i64 256
  tail call void @_mm_storeu_si128(ptr noundef nonnull %243, <2 x i64> noundef %259)
  %261 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %246, i32 noundef 16)
  %262 = getelementptr inbounds i8, ptr %1, i64 208
  %263 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %262)
  %264 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %263, i32 noundef 16)
  %265 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %264, <2 x i64> noundef %5)
  %266 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %261, <2 x i64> noundef %265)
  %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> %259 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 272
  tail call void @_mm_storeu_si128(ptr noundef nonnull %260, <2 x i64> noundef %276)
  %278 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %263, i32 noundef 9)
  %279 = getelementptr inbounds i8, ptr %1, i64 224
  %280 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %279)
  %281 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %280, i32 noundef 23)
  %282 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %281, <2 x i64> noundef %5)
  %283 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %278, <2 x i64> noundef %282)
  %284 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %283, <2 x i32> <i32 1, i32 2>
  %285 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %284, <2 x i64> noundef %283)
  %286 = bitcast <2 x i64> %285 to <16 x i8>
  %287 = 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> %286, <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>
  %288 = bitcast <16 x i8> %287 to <2 x i64>
  %289 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %288, <2 x i64> noundef %285)
  %290 = bitcast <2 x i64> %276 to <4 x i32>
  %291 = shufflevector <4 x i32> %290, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %292 = bitcast <4 x i32> %291 to <2 x i64>
  %293 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %289, <2 x i64> noundef %292)
  %294 = getelementptr inbounds i8, ptr %2, i64 288
  tail call void @_mm_storeu_si128(ptr noundef nonnull %277, <2 x i64> noundef %293)
  %295 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %280, i32 noundef 2)
  %296 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %295, <2 x i64> noundef %5)
  %297 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %296, <2 x i32> <i32 1, i32 2>
  %298 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %297, <2 x i64> noundef %296)
  %299 = bitcast <2 x i64> %298 to <16 x i8>
  %300 = 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> %299, <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>
  %301 = bitcast <16 x i8> %300 to <2 x i64>
  %302 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %301, <2 x i64> noundef %298)
  %303 = bitcast <2 x i64> %293 to <4 x i32>
  %304 = shufflevector <4 x i32> %303, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %305 = bitcast <4 x i32> %304 to <2 x i64>
  %306 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %302, <2 x i64> noundef %305)
  %307 = getelementptr inbounds i8, ptr %2, i64 304
  tail call void @_mm_storeu_si128(ptr noundef nonnull %294, <2 x i64> noundef %306)
  %308 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %280, i32 noundef 27)
  %309 = getelementptr inbounds i8, ptr %1, i64 240
  %310 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %309)
  %311 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %310, i32 noundef 5)
  %312 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %311, <2 x i64> noundef %5)
  %313 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %308, <2 x i64> noundef %312)
  %314 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %313, <2 x i32> <i32 1, i32 2>
  %315 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %314, <2 x i64> noundef %313)
  %316 = bitcast <2 x i64> %315 to <16 x i8>
  %317 = 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> %316, <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>
  %318 = bitcast <16 x i8> %317 to <2 x i64>
  %319 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %318, <2 x i64> noundef %315)
  %320 = bitcast <2 x i64> %306 to <4 x i32>
  %321 = shufflevector <4 x i32> %320, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %322 = bitcast <4 x i32> %321 to <2 x i64>
  %323 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %319, <2 x i64> noundef %322)
  %324 = getelementptr inbounds i8, ptr %2, i64 320
  tail call void @_mm_storeu_si128(ptr noundef nonnull %307, <2 x i64> noundef %323)
  %325 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %310, i32 noundef 20)
  %326 = getelementptr inbounds i8, ptr %1, i64 256
  %327 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %326)
  %328 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %327, i32 noundef 12)
  %329 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %328, <2 x i64> noundef %5)
  %330 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %325, <2 x i64> noundef %329)
  %331 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %330, <2 x i32> <i32 1, i32 2>
  %332 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %331, <2 x i64> noundef %330)
  %333 = bitcast <2 x i64> %332 to <16 x i8>
  %334 = 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> %333, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %335 = bitcast <16 x i8> %334 to <2 x i64>
  %336 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %335, <2 x i64> noundef %332)
  %337 = bitcast <2 x i64> %323 to <4 x i32>
  %338 = shufflevector <4 x i32> %337, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %339 = bitcast <4 x i32> %338 to <2 x i64>
  %340 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %336, <2 x i64> noundef %339)
  %341 = getelementptr inbounds i8, ptr %2, i64 336
  tail call void @_mm_storeu_si128(ptr noundef nonnull %324, <2 x i64> noundef %340)
  %342 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %327, i32 noundef 13)
  %343 = getelementptr inbounds i8, ptr %1, i64 272
  %344 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %343)
  %345 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %344, i32 noundef 19)
  %346 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %345, <2 x i64> noundef %5)
  %347 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %342, <2 x i64> noundef %346)
  %348 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %347, <2 x i32> <i32 1, i32 2>
  %349 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %348, <2 x i64> noundef %347)
  %350 = bitcast <2 x i64> %349 to <16 x i8>
  %351 = 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> %350, <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>
  %352 = bitcast <16 x i8> %351 to <2 x i64>
  %353 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %352, <2 x i64> noundef %349)
  %354 = bitcast <2 x i64> %340 to <4 x i32>
  %355 = shufflevector <4 x i32> %354, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %356 = bitcast <4 x i32> %355 to <2 x i64>
  %357 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %353, <2 x i64> noundef %356)
  %358 = getelementptr inbounds i8, ptr %2, i64 352
  tail call void @_mm_storeu_si128(ptr noundef nonnull %341, <2 x i64> noundef %357)
  %359 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %344, i32 noundef 6)
  %360 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %359, <2 x i64> noundef %5)
  %361 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %360, <2 x i32> <i32 1, i32 2>
  %362 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %361, <2 x i64> noundef %360)
  %363 = bitcast <2 x i64> %362 to <16 x i8>
  %364 = 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> %363, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %365 = bitcast <16 x i8> %364 to <2 x i64>
  %366 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %365, <2 x i64> noundef %362)
  %367 = bitcast <2 x i64> %357 to <4 x i32>
  %368 = shufflevector <4 x i32> %367, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %369 = bitcast <4 x i32> %368 to <2 x i64>
  %370 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %366, <2 x i64> noundef %369)
  %371 = getelementptr inbounds i8, ptr %2, i64 368
  tail call void @_mm_storeu_si128(ptr noundef nonnull %358, <2 x i64> noundef %370)
  %372 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %344, i32 noundef 31)
  %373 = getelementptr inbounds i8, ptr %1, i64 288
  %374 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %373)
  %375 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %374, i32 noundef 1)
  %376 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %375, <2 x i64> noundef %5)
  %377 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %372, <2 x i64> noundef %376)
  %378 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %377, <2 x i32> <i32 1, i32 2>
  %379 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %378, <2 x i64> noundef %377)
  %380 = bitcast <2 x i64> %379 to <16 x i8>
  %381 = 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> %380, <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>
  %382 = bitcast <16 x i8> %381 to <2 x i64>
  %383 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %382, <2 x i64> noundef %379)
  %384 = bitcast <2 x i64> %370 to <4 x i32>
  %385 = shufflevector <4 x i32> %384, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %386 = bitcast <4 x i32> %385 to <2 x i64>
  %387 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %383, <2 x i64> noundef %386)
  %388 = getelementptr inbounds i8, ptr %2, i64 384
  tail call void @_mm_storeu_si128(ptr noundef nonnull %371, <2 x i64> noundef %387)
  %389 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %374, i32 noundef 24)
  %390 = getelementptr inbounds i8, ptr %1, i64 304
  %391 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %390)
  %392 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %391, i32 noundef 8)
  %393 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %392, <2 x i64> noundef %5)
  %394 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %389, <2 x i64> noundef %393)
  %395 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %394, <2 x i32> <i32 1, i32 2>
  %396 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %395, <2 x i64> noundef %394)
  %397 = bitcast <2 x i64> %396 to <16 x i8>
  %398 = 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> %397, <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>
  %399 = bitcast <16 x i8> %398 to <2 x i64>
  %400 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %399, <2 x i64> noundef %396)
  %401 = bitcast <2 x i64> %387 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 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %400, <2 x i64> noundef %403)
  %405 = getelementptr inbounds i8, ptr %2, i64 400
  tail call void @_mm_storeu_si128(ptr noundef nonnull %388, <2 x i64> noundef %404)
  %406 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %391, i32 noundef 17)
  %407 = getelementptr inbounds i8, ptr %1, i64 320
  %408 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %407)
  %409 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %408, i32 noundef 15)
  %410 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %409, <2 x i64> noundef %5)
  %411 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %406, <2 x i64> noundef %410)
  %412 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %411, <2 x i32> <i32 1, i32 2>
  %413 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %412, <2 x i64> noundef %411)
  %414 = bitcast <2 x i64> %413 to <16 x i8>
  %415 = 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> %414, <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>
  %416 = bitcast <16 x i8> %415 to <2 x i64>
  %417 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %416, <2 x i64> noundef %413)
  %418 = bitcast <2 x i64> %404 to <4 x i32>
  %419 = shufflevector <4 x i32> %418, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %420 = bitcast <4 x i32> %419 to <2 x i64>
  %421 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %417, <2 x i64> noundef %420)
  %422 = getelementptr inbounds i8, ptr %2, i64 416
  tail call void @_mm_storeu_si128(ptr noundef nonnull %405, <2 x i64> noundef %421)
  %423 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %408, i32 noundef 10)
  %424 = getelementptr inbounds i8, ptr %1, i64 336
  %425 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %424)
  %426 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %425, i32 noundef 22)
  %427 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %426, <2 x i64> noundef %5)
  %428 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %423, <2 x i64> noundef %427)
  %429 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %428, <2 x i32> <i32 1, i32 2>
  %430 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %429, <2 x i64> noundef %428)
  %431 = bitcast <2 x i64> %430 to <16 x i8>
  %432 = 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> %431, <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>
  %433 = bitcast <16 x i8> %432 to <2 x i64>
  %434 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %433, <2 x i64> noundef %430)
  %435 = bitcast <2 x i64> %421 to <4 x i32>
  %436 = shufflevector <4 x i32> %435, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %437 = bitcast <4 x i32> %436 to <2 x i64>
  %438 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %434, <2 x i64> noundef %437)
  %439 = getelementptr inbounds i8, ptr %2, i64 432
  tail call void @_mm_storeu_si128(ptr noundef nonnull %422, <2 x i64> noundef %438)
  %440 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %425, i32 noundef 3)
  %441 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %440, <2 x i64> noundef %5)
  %442 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %441, <2 x i32> <i32 1, i32 2>
  %443 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %442, <2 x i64> noundef %441)
  %444 = bitcast <2 x i64> %443 to <16 x i8>
  %445 = 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> %444, <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>
  %446 = bitcast <16 x i8> %445 to <2 x i64>
  %447 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %446, <2 x i64> noundef %443)
  %448 = bitcast <2 x i64> %438 to <4 x i32>
  %449 = shufflevector <4 x i32> %448, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %450 = bitcast <4 x i32> %449 to <2 x i64>
  %451 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %447, <2 x i64> noundef %450)
  %452 = getelementptr inbounds i8, ptr %2, i64 448
  tail call void @_mm_storeu_si128(ptr noundef nonnull %439, <2 x i64> noundef %451)
  %453 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %425, i32 noundef 28)
  %454 = getelementptr inbounds i8, ptr %1, i64 352
  %455 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %454)
  %456 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %455, i32 noundef 4)
  %457 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %456, <2 x i64> noundef %5)
  %458 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %453, <2 x i64> noundef %457)
  %459 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %458, <2 x i32> <i32 1, i32 2>
  %460 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %459, <2 x i64> noundef %458)
  %461 = bitcast <2 x i64> %460 to <16 x i8>
  %462 = 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> %461, <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>
  %463 = bitcast <16 x i8> %462 to <2 x i64>
  %464 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %463, <2 x i64> noundef %460)
  %465 = bitcast <2 x i64> %451 to <4 x i32>
  %466 = shufflevector <4 x i32> %465, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %467 = bitcast <4 x i32> %466 to <2 x i64>
  %468 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %464, <2 x i64> noundef %467)
  %469 = getelementptr inbounds i8, ptr %2, i64 464
  tail call void @_mm_storeu_si128(ptr noundef nonnull %452, <2 x i64> noundef %468)
  %470 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %455, i32 noundef 21)
  %471 = getelementptr inbounds i8, ptr %1, i64 368
  %472 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %471)
  %473 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %472, i32 noundef 11)
  %474 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %473, <2 x i64> noundef %5)
  %475 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %470, <2 x i64> noundef %474)
  %476 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %475, <2 x i32> <i32 1, i32 2>
  %477 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %476, <2 x i64> noundef %475)
  %478 = bitcast <2 x i64> %477 to <16 x i8>
  %479 = 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> %478, <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>
  %480 = bitcast <16 x i8> %479 to <2 x i64>
  %481 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %480, <2 x i64> noundef %477)
  %482 = bitcast <2 x i64> %468 to <4 x i32>
  %483 = shufflevector <4 x i32> %482, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %484 = bitcast <4 x i32> %483 to <2 x i64>
  %485 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %481, <2 x i64> noundef %484)
  %486 = getelementptr inbounds i8, ptr %2, i64 480
  tail call void @_mm_storeu_si128(ptr noundef nonnull %469, <2 x i64> noundef %485)
  %487 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %472, i32 noundef 14)
  %488 = getelementptr inbounds i8, ptr %1, i64 384
  %489 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %488)
  %490 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %489, i32 noundef 18)
  %491 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %490, <2 x i64> noundef %5)
  %492 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %487, <2 x i64> noundef %491)
  %493 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %492, <2 x i32> <i32 1, i32 2>
  %494 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %493, <2 x i64> noundef %492)
  %495 = bitcast <2 x i64> %494 to <16 x i8>
  %496 = 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> %495, <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>
  %497 = bitcast <16 x i8> %496 to <2 x i64>
  %498 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %497, <2 x i64> noundef %494)
  %499 = bitcast <2 x i64> %485 to <4 x i32>
  %500 = shufflevector <4 x i32> %499, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %501 = bitcast <4 x i32> %500 to <2 x i64>
  %502 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %498, <2 x i64> noundef %501)
  %503 = getelementptr inbounds i8, ptr %2, i64 496
  tail call void @_mm_storeu_si128(ptr noundef nonnull %486, <2 x i64> noundef %502)
  %504 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %489, i32 noundef 7)
  %505 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %504, <2 x i32> <i32 1, i32 2>
  %506 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %505, <2 x i64> noundef %504)
  %507 = bitcast <2 x i64> %506 to <16 x i8>
  %508 = 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> %507, <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>
  %509 = bitcast <16 x i8> %508 to <2 x i64>
  %510 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %509, <2 x i64> noundef %506)
  %511 = bitcast <2 x i64> %502 to <4 x i32>
  %512 = shufflevector <4 x i32> %511, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %513 = bitcast <4 x i32> %512 to <2 x i64>
  %514 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %510, <2 x i64> noundef %513)
  tail call void @_mm_storeu_si128(ptr noundef nonnull %503, <2 x i64> noundef %514)
  ret <2 x i64> %514
}

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