; 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> @iunpack23(<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 8388607)
  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 23)
  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 9)
  %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 14)
  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 18)
  %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 5)
  store <2 x i64> %186, ptr %10, align 16, !tbaa !5
  %187 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %188 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %189 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %187, <2 x i64> noundef %188)
  store <2 x i64> %189, ptr %9, align 16, !tbaa !5
  br label %190

190:                                              ; preds = %180
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #3
  %191 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %192 = bitcast <2 x i64> %191 to <16 x i8>
  %193 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %192, <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>
  %194 = bitcast <16 x i8> %193 to <2 x i64>
  %195 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %196 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %194, <2 x i64> noundef %195)
  store <2 x i64> %196, ptr %18, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #3
  %197 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %198 = bitcast <2 x i64> %197 to <16 x i8>
  %199 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %198, <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>
  %200 = bitcast <16 x i8> %199 to <2 x i64>
  %201 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %202 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %200, <2 x i64> noundef %201)
  store <2 x i64> %202, ptr %19, align 16, !tbaa !5
  %203 = load <2 x i64>, ptr %19, align 16, !tbaa !5
  %204 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %205 = bitcast <2 x i64> %204 to <4 x i32>
  %206 = shufflevector <4 x i32> %205, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %207 = bitcast <4 x i32> %206 to <2 x i64>
  %208 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %203, <2 x i64> noundef %207)
  store <2 x i64> %208, 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 %209

209:                                              ; preds = %190
  br label %210

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

228:                                              ; preds = %210
  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 19)
  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 13)
  %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 10)
  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 22)
  %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 1)
  store <2 x i64> %330, ptr %10, align 16, !tbaa !5
  %331 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %332 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %333 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %331, <2 x i64> noundef %332)
  store <2 x i64> %333, ptr %9, align 16, !tbaa !5
  br label %334

334:                                              ; preds = %324
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %335 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %336 = bitcast <2 x i64> %335 to <16 x i8>
  %337 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %336, <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>
  %338 = bitcast <16 x i8> %337 to <2 x i64>
  %339 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %340 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %338, <2 x i64> noundef %339)
  store <2 x i64> %340, ptr %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %341 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %342 = bitcast <2 x i64> %341 to <16 x i8>
  %343 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %342, <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>
  %344 = bitcast <16 x i8> %343 to <2 x i64>
  %345 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %346 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %344, <2 x i64> noundef %345)
  store <2 x i64> %346, ptr %27, align 16, !tbaa !5
  %347 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %348 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %349 = bitcast <2 x i64> %348 to <4 x i32>
  %350 = shufflevector <4 x i32> %349, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %351 = bitcast <4 x i32> %350 to <2 x i64>
  %352 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %347, <2 x i64> noundef %351)
  store <2 x i64> %352, 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 %353

353:                                              ; preds = %334
  br label %354

354:                                              ; preds = %353
  %355 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %355, ptr %4, align 16, !tbaa !5
  %356 = load ptr, ptr %7, align 8, !tbaa !8
  %357 = getelementptr inbounds <2 x i64>, ptr %356, i32 1
  store ptr %357, ptr %7, align 8, !tbaa !8
  %358 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %356, <2 x i64> noundef %358)
  %359 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %360 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %359, i32 noundef 24)
  store <2 x i64> %360, ptr %10, align 16, !tbaa !5
  %361 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %361, ptr %9, align 16, !tbaa !5
  %362 = load ptr, ptr %5, align 8, !tbaa !8
  %363 = getelementptr inbounds <2 x i64>, ptr %362, i32 1
  store ptr %363, ptr %5, align 8, !tbaa !8
  %364 = load ptr, ptr %5, align 8, !tbaa !8
  %365 = call <2 x i64> @_mm_loadu_si128(ptr noundef %364)
  store <2 x i64> %365, ptr %8, align 16, !tbaa !5
  %366 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %367 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %368 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %367, i32 noundef 8)
  %369 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %370 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %368, <2 x i64> noundef %369)
  %371 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %366, <2 x i64> noundef %370)
  store <2 x i64> %371, ptr %9, align 16, !tbaa !5
  br label %372

372:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %373 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %374 = bitcast <2 x i64> %373 to <16 x i8>
  %375 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %374, <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>
  %376 = bitcast <16 x i8> %375 to <2 x i64>
  %377 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %378 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %376, <2 x i64> noundef %377)
  store <2 x i64> %378, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %379 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %380 = bitcast <2 x i64> %379 to <16 x i8>
  %381 = shufflevector <16 x i8> zeroinitializer, <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 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %384 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %382, <2 x i64> noundef %383)
  store <2 x i64> %384, ptr %29, align 16, !tbaa !5
  %385 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %386 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %387 = bitcast <2 x i64> %386 to <4 x i32>
  %388 = shufflevector <4 x i32> %387, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %389 = bitcast <4 x i32> %388 to <2 x i64>
  %390 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %385, <2 x i64> noundef %389)
  store <2 x i64> %390, 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 %391

391:                                              ; preds = %372
  br label %392

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

410:                                              ; preds = %392
  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 6)
  store <2 x i64> %436, ptr %10, align 16, !tbaa !5
  %437 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %438 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %439 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %437, <2 x i64> noundef %438)
  store <2 x i64> %439, ptr %9, align 16, !tbaa !5
  br label %440

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

459:                                              ; preds = %440
  br label %460

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

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

497:                                              ; preds = %478
  br label %498

498:                                              ; preds = %497
  %499 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %499, ptr %4, align 16, !tbaa !5
  %500 = load ptr, ptr %7, align 8, !tbaa !8
  %501 = getelementptr inbounds <2 x i64>, ptr %500, i32 1
  store ptr %501, ptr %7, align 8, !tbaa !8
  %502 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %500, <2 x i64> noundef %502)
  %503 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %504 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %503, i32 noundef 20)
  store <2 x i64> %504, ptr %10, align 16, !tbaa !5
  %505 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %505, ptr %9, align 16, !tbaa !5
  %506 = load ptr, ptr %5, align 8, !tbaa !8
  %507 = getelementptr inbounds <2 x i64>, ptr %506, i32 1
  store ptr %507, ptr %5, align 8, !tbaa !8
  %508 = load ptr, ptr %5, align 8, !tbaa !8
  %509 = call <2 x i64> @_mm_loadu_si128(ptr noundef %508)
  store <2 x i64> %509, ptr %8, align 16, !tbaa !5
  %510 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %511 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %512 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %511, i32 noundef 12)
  %513 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %514 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %512, <2 x i64> noundef %513)
  %515 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %510, <2 x i64> noundef %514)
  store <2 x i64> %515, ptr %9, align 16, !tbaa !5
  br label %516

516:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %517 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %518 = bitcast <2 x i64> %517 to <16 x i8>
  %519 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %518, <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>
  %520 = bitcast <16 x i8> %519 to <2 x i64>
  %521 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %522 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %520, <2 x i64> noundef %521)
  store <2 x i64> %522, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %523 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %524 = bitcast <2 x i64> %523 to <16 x i8>
  %525 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %524, <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>
  %526 = bitcast <16 x i8> %525 to <2 x i64>
  %527 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %528 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %526, <2 x i64> noundef %527)
  store <2 x i64> %528, ptr %37, align 16, !tbaa !5
  %529 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %530 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %531 = bitcast <2 x i64> %530 to <4 x i32>
  %532 = shufflevector <4 x i32> %531, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %533 = bitcast <4 x i32> %532 to <2 x i64>
  %534 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %529, <2 x i64> noundef %533)
  store <2 x i64> %534, 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 %535

535:                                              ; preds = %516
  br label %536

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

554:                                              ; preds = %536
  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 2)
  store <2 x i64> %580, ptr %10, align 16, !tbaa !5
  %581 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %582 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %583 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %581, <2 x i64> noundef %582)
  store <2 x i64> %583, ptr %9, align 16, !tbaa !5
  br label %584

584:                                              ; preds = %574
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #3
  %585 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %586 = bitcast <2 x i64> %585 to <16 x i8>
  %587 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %586, <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>
  %588 = bitcast <16 x i8> %587 to <2 x i64>
  %589 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %590 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %588, <2 x i64> noundef %589)
  store <2 x i64> %590, ptr %40, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #3
  %591 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %592 = bitcast <2 x i64> %591 to <16 x i8>
  %593 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %592, <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>
  %594 = bitcast <16 x i8> %593 to <2 x i64>
  %595 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %596 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %594, <2 x i64> noundef %595)
  store <2 x i64> %596, ptr %41, align 16, !tbaa !5
  %597 = load <2 x i64>, ptr %41, align 16, !tbaa !5
  %598 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %599 = bitcast <2 x i64> %598 to <4 x i32>
  %600 = shufflevector <4 x i32> %599, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %601 = bitcast <4 x i32> %600 to <2 x i64>
  %602 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %597, <2 x i64> noundef %601)
  store <2 x i64> %602, 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 %603

603:                                              ; preds = %584
  br label %604

604:                                              ; preds = %603
  %605 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %605, ptr %4, align 16, !tbaa !5
  %606 = load ptr, ptr %7, align 8, !tbaa !8
  %607 = getelementptr inbounds <2 x i64>, ptr %606, i32 1
  store ptr %607, ptr %7, align 8, !tbaa !8
  %608 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %606, <2 x i64> noundef %608)
  %609 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %610 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %609, i32 noundef 25)
  store <2 x i64> %610, ptr %10, align 16, !tbaa !5
  %611 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %611, ptr %9, align 16, !tbaa !5
  %612 = load ptr, ptr %5, align 8, !tbaa !8
  %613 = getelementptr inbounds <2 x i64>, ptr %612, i32 1
  store ptr %613, ptr %5, align 8, !tbaa !8
  %614 = load ptr, ptr %5, align 8, !tbaa !8
  %615 = call <2 x i64> @_mm_loadu_si128(ptr noundef %614)
  store <2 x i64> %615, ptr %8, align 16, !tbaa !5
  %616 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %617 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %618 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %617, i32 noundef 7)
  %619 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %620 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %618, <2 x i64> noundef %619)
  %621 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %616, <2 x i64> noundef %620)
  store <2 x i64> %621, ptr %9, align 16, !tbaa !5
  br label %622

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

641:                                              ; preds = %622
  br label %642

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

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

679:                                              ; preds = %660
  br label %680

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

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

709:                                              ; preds = %690
  br label %710

710:                                              ; preds = %709
  %711 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %711, ptr %4, align 16, !tbaa !5
  %712 = load ptr, ptr %7, align 8, !tbaa !8
  %713 = getelementptr inbounds <2 x i64>, ptr %712, i32 1
  store ptr %713, ptr %7, align 8, !tbaa !8
  %714 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %712, <2 x i64> noundef %714)
  %715 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %716 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %715, i32 noundef 30)
  store <2 x i64> %716, ptr %10, align 16, !tbaa !5
  %717 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %717, ptr %9, align 16, !tbaa !5
  %718 = load ptr, ptr %5, align 8, !tbaa !8
  %719 = getelementptr inbounds <2 x i64>, ptr %718, i32 1
  store ptr %719, ptr %5, align 8, !tbaa !8
  %720 = load ptr, ptr %5, align 8, !tbaa !8
  %721 = call <2 x i64> @_mm_loadu_si128(ptr noundef %720)
  store <2 x i64> %721, ptr %8, align 16, !tbaa !5
  %722 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %723 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %724 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %723, i32 noundef 2)
  %725 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %726 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %724, <2 x i64> noundef %725)
  %727 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %722, <2 x i64> noundef %726)
  store <2 x i64> %727, ptr %9, align 16, !tbaa !5
  br label %728

728:                                              ; preds = %710
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %729 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %730 = bitcast <2 x i64> %729 to <16 x i8>
  %731 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %730, <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>
  %732 = bitcast <16 x i8> %731 to <2 x i64>
  %733 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %734 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %732, <2 x i64> noundef %733)
  store <2 x i64> %734, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %735 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %736 = bitcast <2 x i64> %735 to <16 x i8>
  %737 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %736, <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>
  %738 = bitcast <16 x i8> %737 to <2 x i64>
  %739 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %740 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %738, <2 x i64> noundef %739)
  store <2 x i64> %740, ptr %49, align 16, !tbaa !5
  %741 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %742 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %743 = bitcast <2 x i64> %742 to <4 x i32>
  %744 = shufflevector <4 x i32> %743, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %745 = bitcast <4 x i32> %744 to <2 x i64>
  %746 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %741, <2 x i64> noundef %745)
  store <2 x i64> %746, 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 %747

747:                                              ; preds = %728
  br label %748

748:                                              ; preds = %747
  %749 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %749, ptr %4, align 16, !tbaa !5
  %750 = load ptr, ptr %7, align 8, !tbaa !8
  %751 = getelementptr inbounds <2 x i64>, ptr %750, i32 1
  store ptr %751, ptr %7, align 8, !tbaa !8
  %752 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %750, <2 x i64> noundef %752)
  %753 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %754 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %753, i32 noundef 21)
  store <2 x i64> %754, ptr %10, align 16, !tbaa !5
  %755 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %755, ptr %9, align 16, !tbaa !5
  %756 = load ptr, ptr %5, align 8, !tbaa !8
  %757 = getelementptr inbounds <2 x i64>, ptr %756, i32 1
  store ptr %757, ptr %5, align 8, !tbaa !8
  %758 = load ptr, ptr %5, align 8, !tbaa !8
  %759 = call <2 x i64> @_mm_loadu_si128(ptr noundef %758)
  store <2 x i64> %759, ptr %8, align 16, !tbaa !5
  %760 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %761 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %762 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %761, i32 noundef 11)
  %763 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %764 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %762, <2 x i64> noundef %763)
  %765 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %760, <2 x i64> noundef %764)
  store <2 x i64> %765, ptr %9, align 16, !tbaa !5
  br label %766

766:                                              ; preds = %748
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %767 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %768 = bitcast <2 x i64> %767 to <16 x i8>
  %769 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %768, <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>
  %770 = bitcast <16 x i8> %769 to <2 x i64>
  %771 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %772 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %770, <2 x i64> noundef %771)
  store <2 x i64> %772, ptr %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %773 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %774 = bitcast <2 x i64> %773 to <16 x i8>
  %775 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %774, <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>
  %776 = bitcast <16 x i8> %775 to <2 x i64>
  %777 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %778 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %776, <2 x i64> noundef %777)
  store <2 x i64> %778, ptr %51, align 16, !tbaa !5
  %779 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %780 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %781 = bitcast <2 x i64> %780 to <4 x i32>
  %782 = shufflevector <4 x i32> %781, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %783 = bitcast <4 x i32> %782 to <2 x i64>
  %784 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %779, <2 x i64> noundef %783)
  store <2 x i64> %784, 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 %785

785:                                              ; preds = %766
  br label %786

786:                                              ; preds = %785
  %787 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %787, ptr %4, align 16, !tbaa !5
  %788 = load ptr, ptr %7, align 8, !tbaa !8
  %789 = getelementptr inbounds <2 x i64>, ptr %788, i32 1
  store ptr %789, ptr %7, align 8, !tbaa !8
  %790 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %788, <2 x i64> noundef %790)
  %791 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %792 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %791, i32 noundef 12)
  store <2 x i64> %792, ptr %10, align 16, !tbaa !5
  %793 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %793, ptr %9, align 16, !tbaa !5
  %794 = load ptr, ptr %5, align 8, !tbaa !8
  %795 = getelementptr inbounds <2 x i64>, ptr %794, i32 1
  store ptr %795, ptr %5, align 8, !tbaa !8
  %796 = load ptr, ptr %5, align 8, !tbaa !8
  %797 = call <2 x i64> @_mm_loadu_si128(ptr noundef %796)
  store <2 x i64> %797, ptr %8, align 16, !tbaa !5
  %798 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %799 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %800 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %799, i32 noundef 20)
  %801 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %802 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %800, <2 x i64> noundef %801)
  %803 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %798, <2 x i64> noundef %802)
  store <2 x i64> %803, ptr %9, align 16, !tbaa !5
  br label %804

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

823:                                              ; preds = %804
  br label %824

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

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

853:                                              ; preds = %834
  br label %854

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

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

891:                                              ; preds = %872
  br label %892

892:                                              ; preds = %891
  %893 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %893, ptr %4, align 16, !tbaa !5
  %894 = load ptr, ptr %7, align 8, !tbaa !8
  %895 = getelementptr inbounds <2 x i64>, ptr %894, i32 1
  store ptr %895, ptr %7, align 8, !tbaa !8
  %896 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %894, <2 x i64> noundef %896)
  %897 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %898 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %897, i32 noundef 17)
  store <2 x i64> %898, ptr %10, align 16, !tbaa !5
  %899 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %899, ptr %9, align 16, !tbaa !5
  %900 = load ptr, ptr %5, align 8, !tbaa !8
  %901 = getelementptr inbounds <2 x i64>, ptr %900, i32 1
  store ptr %901, ptr %5, align 8, !tbaa !8
  %902 = load ptr, ptr %5, align 8, !tbaa !8
  %903 = call <2 x i64> @_mm_loadu_si128(ptr noundef %902)
  store <2 x i64> %903, ptr %8, align 16, !tbaa !5
  %904 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %905 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %906 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %905, i32 noundef 15)
  %907 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %908 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %906, <2 x i64> noundef %907)
  %909 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %904, <2 x i64> noundef %908)
  store <2 x i64> %909, ptr %9, align 16, !tbaa !5
  br label %910

910:                                              ; preds = %892
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %911 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %912 = bitcast <2 x i64> %911 to <16 x i8>
  %913 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %912, <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>
  %914 = bitcast <16 x i8> %913 to <2 x i64>
  %915 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %916 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %914, <2 x i64> noundef %915)
  store <2 x i64> %916, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %917 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %918 = bitcast <2 x i64> %917 to <16 x i8>
  %919 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %918, <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>
  %920 = bitcast <16 x i8> %919 to <2 x i64>
  %921 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %922 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %920, <2 x i64> noundef %921)
  store <2 x i64> %922, ptr %59, align 16, !tbaa !5
  %923 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %924 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %925 = bitcast <2 x i64> %924 to <4 x i32>
  %926 = shufflevector <4 x i32> %925, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %927 = bitcast <4 x i32> %926 to <2 x i64>
  %928 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %923, <2 x i64> noundef %927)
  store <2 x i64> %928, 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 %929

929:                                              ; preds = %910
  br label %930

930:                                              ; preds = %929
  %931 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %931, ptr %4, align 16, !tbaa !5
  %932 = load ptr, ptr %7, align 8, !tbaa !8
  %933 = getelementptr inbounds <2 x i64>, ptr %932, i32 1
  store ptr %933, ptr %7, align 8, !tbaa !8
  %934 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %932, <2 x i64> noundef %934)
  %935 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %936 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %935, i32 noundef 8)
  store <2 x i64> %936, ptr %10, align 16, !tbaa !5
  %937 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %938 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %939 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %937, <2 x i64> noundef %938)
  store <2 x i64> %939, ptr %9, align 16, !tbaa !5
  br label %940

940:                                              ; preds = %930
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %941 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %942 = bitcast <2 x i64> %941 to <16 x i8>
  %943 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %942, <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>
  %944 = bitcast <16 x i8> %943 to <2 x i64>
  %945 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %946 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %944, <2 x i64> noundef %945)
  store <2 x i64> %946, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %947 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %948 = bitcast <2 x i64> %947 to <16 x i8>
  %949 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %948, <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>
  %950 = bitcast <16 x i8> %949 to <2 x i64>
  %951 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %952 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %950, <2 x i64> noundef %951)
  store <2 x i64> %952, ptr %61, align 16, !tbaa !5
  %953 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %954 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %955 = bitcast <2 x i64> %954 to <4 x i32>
  %956 = shufflevector <4 x i32> %955, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %957 = bitcast <4 x i32> %956 to <2 x i64>
  %958 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %953, <2 x i64> noundef %957)
  store <2 x i64> %958, 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 %959

959:                                              ; preds = %940
  br label %960

960:                                              ; preds = %959
  %961 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %961, ptr %4, align 16, !tbaa !5
  %962 = load ptr, ptr %7, align 8, !tbaa !8
  %963 = getelementptr inbounds <2 x i64>, ptr %962, i32 1
  store ptr %963, ptr %7, align 8, !tbaa !8
  %964 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %962, <2 x i64> noundef %964)
  %965 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %966 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %965, i32 noundef 31)
  store <2 x i64> %966, ptr %10, align 16, !tbaa !5
  %967 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %967, ptr %9, align 16, !tbaa !5
  %968 = load ptr, ptr %5, align 8, !tbaa !8
  %969 = getelementptr inbounds <2 x i64>, ptr %968, i32 1
  store ptr %969, ptr %5, align 8, !tbaa !8
  %970 = load ptr, ptr %5, align 8, !tbaa !8
  %971 = call <2 x i64> @_mm_loadu_si128(ptr noundef %970)
  store <2 x i64> %971, ptr %8, align 16, !tbaa !5
  %972 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %973 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %974 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %973, i32 noundef 1)
  %975 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %976 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %974, <2 x i64> noundef %975)
  %977 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %972, <2 x i64> noundef %976)
  store <2 x i64> %977, ptr %9, align 16, !tbaa !5
  br label %978

978:                                              ; preds = %960
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %979 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %980 = bitcast <2 x i64> %979 to <16 x i8>
  %981 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %980, <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>
  %982 = bitcast <16 x i8> %981 to <2 x i64>
  %983 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %984 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %982, <2 x i64> noundef %983)
  store <2 x i64> %984, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %985 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %986 = bitcast <2 x i64> %985 to <16 x i8>
  %987 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %986, <16 x i32> <i32 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>
  %988 = bitcast <16 x i8> %987 to <2 x i64>
  %989 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %990 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %988, <2 x i64> noundef %989)
  store <2 x i64> %990, ptr %63, align 16, !tbaa !5
  %991 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %992 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %993 = bitcast <2 x i64> %992 to <4 x i32>
  %994 = shufflevector <4 x i32> %993, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %995 = bitcast <4 x i32> %994 to <2 x i64>
  %996 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %991, <2 x i64> noundef %995)
  store <2 x i64> %996, 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 %997

997:                                              ; preds = %978
  br label %998

998:                                              ; preds = %997
  %999 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %999, ptr %4, align 16, !tbaa !5
  %1000 = load ptr, ptr %7, align 8, !tbaa !8
  %1001 = getelementptr inbounds <2 x i64>, ptr %1000, i32 1
  store ptr %1001, ptr %7, align 8, !tbaa !8
  %1002 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1000, <2 x i64> noundef %1002)
  %1003 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1004 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1003, i32 noundef 22)
  store <2 x i64> %1004, ptr %10, align 16, !tbaa !5
  %1005 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1005, ptr %9, align 16, !tbaa !5
  %1006 = load ptr, ptr %5, align 8, !tbaa !8
  %1007 = getelementptr inbounds <2 x i64>, ptr %1006, i32 1
  store ptr %1007, ptr %5, align 8, !tbaa !8
  %1008 = load ptr, ptr %5, align 8, !tbaa !8
  %1009 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1008)
  store <2 x i64> %1009, ptr %8, align 16, !tbaa !5
  %1010 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1011 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1012 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1011, i32 noundef 10)
  %1013 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1014 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1012, <2 x i64> noundef %1013)
  %1015 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1010, <2 x i64> noundef %1014)
  store <2 x i64> %1015, ptr %9, align 16, !tbaa !5
  br label %1016

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

1035:                                             ; preds = %1016
  br label %1036

1036:                                             ; preds = %1035
  %1037 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1037, ptr %4, align 16, !tbaa !5
  %1038 = load ptr, ptr %7, align 8, !tbaa !8
  %1039 = getelementptr inbounds <2 x i64>, ptr %1038, i32 1
  store ptr %1039, ptr %7, align 8, !tbaa !8
  %1040 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1038, <2 x i64> noundef %1040)
  %1041 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1042 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1041, i32 noundef 13)
  store <2 x i64> %1042, ptr %10, align 16, !tbaa !5
  %1043 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1043, ptr %9, align 16, !tbaa !5
  %1044 = load ptr, ptr %5, align 8, !tbaa !8
  %1045 = getelementptr inbounds <2 x i64>, ptr %1044, i32 1
  store ptr %1045, ptr %5, align 8, !tbaa !8
  %1046 = load ptr, ptr %5, align 8, !tbaa !8
  %1047 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1046)
  store <2 x i64> %1047, ptr %8, align 16, !tbaa !5
  %1048 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1049 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1050 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1049, i32 noundef 19)
  %1051 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1052 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1050, <2 x i64> noundef %1051)
  %1053 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1048, <2 x i64> noundef %1052)
  store <2 x i64> %1053, ptr %9, align 16, !tbaa !5
  br label %1054

1054:                                             ; preds = %1036
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %1055 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1056 = bitcast <2 x i64> %1055 to <16 x i8>
  %1057 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1056, <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>
  %1058 = bitcast <16 x i8> %1057 to <2 x i64>
  %1059 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1060 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1058, <2 x i64> noundef %1059)
  store <2 x i64> %1060, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %1061 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1062 = bitcast <2 x i64> %1061 to <16 x i8>
  %1063 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1062, <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>
  %1064 = bitcast <16 x i8> %1063 to <2 x i64>
  %1065 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1066 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1064, <2 x i64> noundef %1065)
  store <2 x i64> %1066, ptr %67, align 16, !tbaa !5
  %1067 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %1068 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1069 = bitcast <2 x i64> %1068 to <4 x i32>
  %1070 = shufflevector <4 x i32> %1069, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1071 = bitcast <4 x i32> %1070 to <2 x i64>
  %1072 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1067, <2 x i64> noundef %1071)
  store <2 x i64> %1072, 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 %1073

1073:                                             ; preds = %1054
  br label %1074

1074:                                             ; preds = %1073
  %1075 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1075, ptr %4, align 16, !tbaa !5
  %1076 = load ptr, ptr %7, align 8, !tbaa !8
  %1077 = getelementptr inbounds <2 x i64>, ptr %1076, i32 1
  store ptr %1077, ptr %7, align 8, !tbaa !8
  %1078 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1076, <2 x i64> noundef %1078)
  %1079 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1080 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1079, i32 noundef 4)
  store <2 x i64> %1080, ptr %10, align 16, !tbaa !5
  %1081 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1082 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1083 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1081, <2 x i64> noundef %1082)
  store <2 x i64> %1083, ptr %9, align 16, !tbaa !5
  br label %1084

1084:                                             ; preds = %1074
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %1085 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1086 = bitcast <2 x i64> %1085 to <16 x i8>
  %1087 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1086, <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>
  %1088 = bitcast <16 x i8> %1087 to <2 x i64>
  %1089 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1090 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1088, <2 x i64> noundef %1089)
  store <2 x i64> %1090, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %1091 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1092 = bitcast <2 x i64> %1091 to <16 x i8>
  %1093 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1092, <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>
  %1094 = bitcast <16 x i8> %1093 to <2 x i64>
  %1095 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1096 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1094, <2 x i64> noundef %1095)
  store <2 x i64> %1096, ptr %69, align 16, !tbaa !5
  %1097 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %1098 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1099 = bitcast <2 x i64> %1098 to <4 x i32>
  %1100 = shufflevector <4 x i32> %1099, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1101 = bitcast <4 x i32> %1100 to <2 x i64>
  %1102 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1097, <2 x i64> noundef %1101)
  store <2 x i64> %1102, 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 %1103

1103:                                             ; preds = %1084
  br label %1104

1104:                                             ; preds = %1103
  %1105 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1105, ptr %4, align 16, !tbaa !5
  %1106 = load ptr, ptr %7, align 8, !tbaa !8
  %1107 = getelementptr inbounds <2 x i64>, ptr %1106, i32 1
  store ptr %1107, ptr %7, align 8, !tbaa !8
  %1108 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1106, <2 x i64> noundef %1108)
  %1109 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1110 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1109, i32 noundef 27)
  store <2 x i64> %1110, ptr %10, align 16, !tbaa !5
  %1111 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1111, ptr %9, align 16, !tbaa !5
  %1112 = load ptr, ptr %5, align 8, !tbaa !8
  %1113 = getelementptr inbounds <2 x i64>, ptr %1112, i32 1
  store ptr %1113, ptr %5, align 8, !tbaa !8
  %1114 = load ptr, ptr %5, align 8, !tbaa !8
  %1115 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1114)
  store <2 x i64> %1115, ptr %8, align 16, !tbaa !5
  %1116 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1117 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1118 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1117, i32 noundef 5)
  %1119 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1120 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1118, <2 x i64> noundef %1119)
  %1121 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1116, <2 x i64> noundef %1120)
  store <2 x i64> %1121, ptr %9, align 16, !tbaa !5
  br label %1122

1122:                                             ; preds = %1104
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %1123 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1124 = bitcast <2 x i64> %1123 to <16 x i8>
  %1125 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1124, <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>
  %1126 = bitcast <16 x i8> %1125 to <2 x i64>
  %1127 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1128 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1126, <2 x i64> noundef %1127)
  store <2 x i64> %1128, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %1129 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1130 = bitcast <2 x i64> %1129 to <16 x i8>
  %1131 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1130, <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>
  %1132 = bitcast <16 x i8> %1131 to <2 x i64>
  %1133 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1134 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1132, <2 x i64> noundef %1133)
  store <2 x i64> %1134, ptr %71, align 16, !tbaa !5
  %1135 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %1136 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1137 = bitcast <2 x i64> %1136 to <4 x i32>
  %1138 = shufflevector <4 x i32> %1137, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1139 = bitcast <4 x i32> %1138 to <2 x i64>
  %1140 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1135, <2 x i64> noundef %1139)
  store <2 x i64> %1140, 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 %1141

1141:                                             ; preds = %1122
  br label %1142

1142:                                             ; preds = %1141
  %1143 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1143, ptr %4, align 16, !tbaa !5
  %1144 = load ptr, ptr %7, align 8, !tbaa !8
  %1145 = getelementptr inbounds <2 x i64>, ptr %1144, i32 1
  store ptr %1145, ptr %7, align 8, !tbaa !8
  %1146 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1144, <2 x i64> noundef %1146)
  %1147 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1148 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1147, i32 noundef 18)
  store <2 x i64> %1148, ptr %10, align 16, !tbaa !5
  %1149 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1149, ptr %9, align 16, !tbaa !5
  %1150 = load ptr, ptr %5, align 8, !tbaa !8
  %1151 = getelementptr inbounds <2 x i64>, ptr %1150, i32 1
  store ptr %1151, ptr %5, align 8, !tbaa !8
  %1152 = load ptr, ptr %5, align 8, !tbaa !8
  %1153 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1152)
  store <2 x i64> %1153, ptr %8, align 16, !tbaa !5
  %1154 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1155 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1156 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1155, i32 noundef 14)
  %1157 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1158 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1156, <2 x i64> noundef %1157)
  %1159 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1154, <2 x i64> noundef %1158)
  store <2 x i64> %1159, ptr %9, align 16, !tbaa !5
  br label %1160

1160:                                             ; preds = %1142
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1161 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1162 = bitcast <2 x i64> %1161 to <16 x i8>
  %1163 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1162, <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>
  %1164 = bitcast <16 x i8> %1163 to <2 x i64>
  %1165 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1166 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1164, <2 x i64> noundef %1165)
  store <2 x i64> %1166, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1167 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1168 = bitcast <2 x i64> %1167 to <16 x i8>
  %1169 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1168, <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>
  %1170 = bitcast <16 x i8> %1169 to <2 x i64>
  %1171 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1172 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1170, <2 x i64> noundef %1171)
  store <2 x i64> %1172, ptr %73, align 16, !tbaa !5
  %1173 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1174 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1175 = bitcast <2 x i64> %1174 to <4 x i32>
  %1176 = shufflevector <4 x i32> %1175, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1177 = bitcast <4 x i32> %1176 to <2 x i64>
  %1178 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1173, <2 x i64> noundef %1177)
  store <2 x i64> %1178, 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 %1179

1179:                                             ; preds = %1160
  br label %1180

1180:                                             ; preds = %1179
  %1181 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1181, ptr %4, align 16, !tbaa !5
  %1182 = load ptr, ptr %7, align 8, !tbaa !8
  %1183 = getelementptr inbounds <2 x i64>, ptr %1182, i32 1
  store ptr %1183, ptr %7, align 8, !tbaa !8
  %1184 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1182, <2 x i64> noundef %1184)
  %1185 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1186 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1185, i32 noundef 9)
  store <2 x i64> %1186, ptr %10, align 16, !tbaa !5
  %1187 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1187, ptr %9, align 16, !tbaa !5
  br label %1188

1188:                                             ; preds = %1180
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1189 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1190 = bitcast <2 x i64> %1189 to <16 x i8>
  %1191 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1190, <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>
  %1192 = bitcast <16 x i8> %1191 to <2 x i64>
  %1193 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1194 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1192, <2 x i64> noundef %1193)
  store <2 x i64> %1194, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1195 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1196 = bitcast <2 x i64> %1195 to <16 x i8>
  %1197 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1196, <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>
  %1198 = bitcast <16 x i8> %1197 to <2 x i64>
  %1199 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1200 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1198, <2 x i64> noundef %1199)
  store <2 x i64> %1200, ptr %75, align 16, !tbaa !5
  %1201 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1202 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1203 = bitcast <2 x i64> %1202 to <4 x i32>
  %1204 = shufflevector <4 x i32> %1203, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1205 = bitcast <4 x i32> %1204 to <2 x i64>
  %1206 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1201, <2 x i64> noundef %1205)
  store <2 x i64> %1206, 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 %1207

1207:                                             ; preds = %1188
  br label %1208

1208:                                             ; preds = %1207
  %1209 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1209, ptr %4, align 16, !tbaa !5
  %1210 = load ptr, ptr %7, align 8, !tbaa !8
  %1211 = getelementptr inbounds <2 x i64>, ptr %1210, i32 1
  store ptr %1211, ptr %7, align 8, !tbaa !8
  %1212 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1210, <2 x i64> noundef %1212)
  %1213 = 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> %1213
}

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

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