; 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> @iunpack28(<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 268435455)
  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 28)
  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 4)
  %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 24)
  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 8)
  %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 20)
  store <2 x i64> %186, ptr %10, align 16, !tbaa !5
  %187 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %187, ptr %9, align 16, !tbaa !5
  %188 = load ptr, ptr %5, align 8, !tbaa !8
  %189 = getelementptr inbounds <2 x i64>, ptr %188, i32 1
  store ptr %189, ptr %5, align 8, !tbaa !8
  %190 = load ptr, ptr %5, align 8, !tbaa !8
  %191 = call <2 x i64> @_mm_loadu_si128(ptr noundef %190)
  store <2 x i64> %191, ptr %8, align 16, !tbaa !5
  %192 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %193 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %194 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %193, i32 noundef 12)
  %195 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %196 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %194, <2 x i64> noundef %195)
  %197 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %192, <2 x i64> noundef %196)
  store <2 x i64> %197, ptr %9, align 16, !tbaa !5
  br label %198

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

217:                                              ; preds = %198
  br label %218

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

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

255:                                              ; preds = %236
  br label %256

256:                                              ; preds = %255
  %257 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %257, ptr %4, align 16, !tbaa !5
  %258 = load ptr, ptr %7, align 8, !tbaa !8
  %259 = getelementptr inbounds <2 x i64>, ptr %258, i32 1
  store ptr %259, ptr %7, align 8, !tbaa !8
  %260 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %258, <2 x i64> noundef %260)
  %261 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %262 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %261, i32 noundef 12)
  store <2 x i64> %262, ptr %10, align 16, !tbaa !5
  %263 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %263, ptr %9, align 16, !tbaa !5
  %264 = load ptr, ptr %5, align 8, !tbaa !8
  %265 = getelementptr inbounds <2 x i64>, ptr %264, i32 1
  store ptr %265, ptr %5, align 8, !tbaa !8
  %266 = load ptr, ptr %5, align 8, !tbaa !8
  %267 = call <2 x i64> @_mm_loadu_si128(ptr noundef %266)
  store <2 x i64> %267, ptr %8, align 16, !tbaa !5
  %268 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %269 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %270 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %269, i32 noundef 20)
  %271 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %272 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %270, <2 x i64> noundef %271)
  %273 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %268, <2 x i64> noundef %272)
  store <2 x i64> %273, ptr %9, align 16, !tbaa !5
  br label %274

274:                                              ; preds = %256
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #3
  %275 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %276 = bitcast <2 x i64> %275 to <16 x i8>
  %277 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %276, <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>
  %278 = bitcast <16 x i8> %277 to <2 x i64>
  %279 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %280 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %278, <2 x i64> noundef %279)
  store <2 x i64> %280, ptr %22, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #3
  %281 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %282 = bitcast <2 x i64> %281 to <16 x i8>
  %283 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %282, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %284 = bitcast <16 x i8> %283 to <2 x i64>
  %285 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %286 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %284, <2 x i64> noundef %285)
  store <2 x i64> %286, ptr %23, align 16, !tbaa !5
  %287 = load <2 x i64>, ptr %23, align 16, !tbaa !5
  %288 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %289 = bitcast <2 x i64> %288 to <4 x i32>
  %290 = shufflevector <4 x i32> %289, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %291 = bitcast <4 x i32> %290 to <2 x i64>
  %292 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %287, <2 x i64> noundef %291)
  store <2 x i64> %292, 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 %293

293:                                              ; preds = %274
  br label %294

294:                                              ; preds = %293
  %295 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %295, ptr %4, align 16, !tbaa !5
  %296 = load ptr, ptr %7, align 8, !tbaa !8
  %297 = getelementptr inbounds <2 x i64>, ptr %296, i32 1
  store ptr %297, ptr %7, align 8, !tbaa !8
  %298 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %296, <2 x i64> noundef %298)
  %299 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %300 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %299, i32 noundef 8)
  store <2 x i64> %300, ptr %10, align 16, !tbaa !5
  %301 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %301, ptr %9, align 16, !tbaa !5
  %302 = load ptr, ptr %5, align 8, !tbaa !8
  %303 = getelementptr inbounds <2 x i64>, ptr %302, i32 1
  store ptr %303, ptr %5, align 8, !tbaa !8
  %304 = load ptr, ptr %5, align 8, !tbaa !8
  %305 = call <2 x i64> @_mm_loadu_si128(ptr noundef %304)
  store <2 x i64> %305, ptr %8, align 16, !tbaa !5
  %306 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %307 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %308 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %307, i32 noundef 24)
  %309 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %310 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %308, <2 x i64> noundef %309)
  %311 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %306, <2 x i64> noundef %310)
  store <2 x i64> %311, ptr %9, align 16, !tbaa !5
  br label %312

312:                                              ; preds = %294
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %313 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %314 = bitcast <2 x i64> %313 to <16 x i8>
  %315 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %314, <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>
  %316 = bitcast <16 x i8> %315 to <2 x i64>
  %317 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %318 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %316, <2 x i64> noundef %317)
  store <2 x i64> %318, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %319 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %320 = bitcast <2 x i64> %319 to <16 x i8>
  %321 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %320, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %322 = bitcast <16 x i8> %321 to <2 x i64>
  %323 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %324 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %322, <2 x i64> noundef %323)
  store <2 x i64> %324, ptr %25, align 16, !tbaa !5
  %325 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %326 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %327 = bitcast <2 x i64> %326 to <4 x i32>
  %328 = shufflevector <4 x i32> %327, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %329 = bitcast <4 x i32> %328 to <2 x i64>
  %330 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %325, <2 x i64> noundef %329)
  store <2 x i64> %330, 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 %331

331:                                              ; preds = %312
  br label %332

332:                                              ; preds = %331
  %333 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %333, ptr %4, align 16, !tbaa !5
  %334 = load ptr, ptr %7, align 8, !tbaa !8
  %335 = getelementptr inbounds <2 x i64>, ptr %334, i32 1
  store ptr %335, ptr %7, align 8, !tbaa !8
  %336 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %334, <2 x i64> noundef %336)
  %337 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %338 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %337, i32 noundef 4)
  store <2 x i64> %338, ptr %10, align 16, !tbaa !5
  %339 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %339, ptr %9, align 16, !tbaa !5
  %340 = load ptr, ptr %5, align 8, !tbaa !8
  %341 = getelementptr inbounds <2 x i64>, ptr %340, i32 1
  store ptr %341, ptr %5, align 8, !tbaa !8
  %342 = load ptr, ptr %5, align 8, !tbaa !8
  %343 = call <2 x i64> @_mm_loadu_si128(ptr noundef %342)
  store <2 x i64> %343, ptr %8, align 16, !tbaa !5
  br label %344

344:                                              ; preds = %332
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %345 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %346 = bitcast <2 x i64> %345 to <16 x i8>
  %347 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %346, <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>
  %348 = bitcast <16 x i8> %347 to <2 x i64>
  %349 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %350 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %348, <2 x i64> noundef %349)
  store <2 x i64> %350, ptr %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %351 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %352 = bitcast <2 x i64> %351 to <16 x i8>
  %353 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %352, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %354 = bitcast <16 x i8> %353 to <2 x i64>
  %355 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %356 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %354, <2 x i64> noundef %355)
  store <2 x i64> %356, ptr %27, align 16, !tbaa !5
  %357 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %358 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %359 = bitcast <2 x i64> %358 to <4 x i32>
  %360 = shufflevector <4 x i32> %359, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %361 = bitcast <4 x i32> %360 to <2 x i64>
  %362 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %357, <2 x i64> noundef %361)
  store <2 x i64> %362, 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 %363

363:                                              ; preds = %344
  br label %364

364:                                              ; preds = %363
  %365 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %365, ptr %4, align 16, !tbaa !5
  %366 = load ptr, ptr %7, align 8, !tbaa !8
  %367 = getelementptr inbounds <2 x i64>, ptr %366, i32 1
  store ptr %367, ptr %7, align 8, !tbaa !8
  %368 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %366, <2 x i64> noundef %368)
  %369 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %369, ptr %10, align 16, !tbaa !5
  %370 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %371 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %372 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %370, <2 x i64> noundef %371)
  store <2 x i64> %372, ptr %9, align 16, !tbaa !5
  br label %373

373:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %374 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %375 = bitcast <2 x i64> %374 to <16 x i8>
  %376 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %375, <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>
  %377 = bitcast <16 x i8> %376 to <2 x i64>
  %378 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %379 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %377, <2 x i64> noundef %378)
  store <2 x i64> %379, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %380 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %381 = bitcast <2 x i64> %380 to <16 x i8>
  %382 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %381, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %383 = bitcast <16 x i8> %382 to <2 x i64>
  %384 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %385 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %383, <2 x i64> noundef %384)
  store <2 x i64> %385, ptr %29, align 16, !tbaa !5
  %386 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %387 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %388 = bitcast <2 x i64> %387 to <4 x i32>
  %389 = shufflevector <4 x i32> %388, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %390 = bitcast <4 x i32> %389 to <2 x i64>
  %391 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %386, <2 x i64> noundef %390)
  store <2 x i64> %391, 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 %392

392:                                              ; preds = %373
  br label %393

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

411:                                              ; preds = %393
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %412 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %413 = bitcast <2 x i64> %412 to <16 x i8>
  %414 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %413, <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>
  %415 = bitcast <16 x i8> %414 to <2 x i64>
  %416 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %417 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %415, <2 x i64> noundef %416)
  store <2 x i64> %417, ptr %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %418 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %419 = bitcast <2 x i64> %418 to <16 x i8>
  %420 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %419, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %421 = bitcast <16 x i8> %420 to <2 x i64>
  %422 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %423 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %421, <2 x i64> noundef %422)
  store <2 x i64> %423, ptr %31, align 16, !tbaa !5
  %424 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %425 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %426 = bitcast <2 x i64> %425 to <4 x i32>
  %427 = shufflevector <4 x i32> %426, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %428 = bitcast <4 x i32> %427 to <2 x i64>
  %429 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %424, <2 x i64> noundef %428)
  store <2 x i64> %429, 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 %430

430:                                              ; preds = %411
  br label %431

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

449:                                              ; preds = %431
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #3
  %450 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %451 = bitcast <2 x i64> %450 to <16 x i8>
  %452 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %451, <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>
  %453 = bitcast <16 x i8> %452 to <2 x i64>
  %454 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %455 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %453, <2 x i64> noundef %454)
  store <2 x i64> %455, ptr %32, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #3
  %456 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %457 = bitcast <2 x i64> %456 to <16 x i8>
  %458 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %457, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %459 = bitcast <16 x i8> %458 to <2 x i64>
  %460 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %461 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %459, <2 x i64> noundef %460)
  store <2 x i64> %461, ptr %33, align 16, !tbaa !5
  %462 = load <2 x i64>, ptr %33, align 16, !tbaa !5
  %463 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %464 = bitcast <2 x i64> %463 to <4 x i32>
  %465 = shufflevector <4 x i32> %464, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %466 = bitcast <4 x i32> %465 to <2 x i64>
  %467 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %462, <2 x i64> noundef %466)
  store <2 x i64> %467, 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 %468

468:                                              ; preds = %449
  br label %469

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

487:                                              ; preds = %469
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %488 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %489 = bitcast <2 x i64> %488 to <16 x i8>
  %490 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %489, <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>
  %491 = bitcast <16 x i8> %490 to <2 x i64>
  %492 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %493 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %491, <2 x i64> noundef %492)
  store <2 x i64> %493, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %494 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %495 = bitcast <2 x i64> %494 to <16 x i8>
  %496 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %495, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %497 = bitcast <16 x i8> %496 to <2 x i64>
  %498 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %499 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %497, <2 x i64> noundef %498)
  store <2 x i64> %499, ptr %35, align 16, !tbaa !5
  %500 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %501 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %502 = bitcast <2 x i64> %501 to <4 x i32>
  %503 = shufflevector <4 x i32> %502, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %504 = bitcast <4 x i32> %503 to <2 x i64>
  %505 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %500, <2 x i64> noundef %504)
  store <2 x i64> %505, 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 %506

506:                                              ; preds = %487
  br label %507

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

525:                                              ; preds = %507
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %526 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %527 = bitcast <2 x i64> %526 to <16 x i8>
  %528 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %527, <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>
  %529 = bitcast <16 x i8> %528 to <2 x i64>
  %530 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %531 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %529, <2 x i64> noundef %530)
  store <2 x i64> %531, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %532 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %533 = bitcast <2 x i64> %532 to <16 x i8>
  %534 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %533, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %535 = bitcast <16 x i8> %534 to <2 x i64>
  %536 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %537 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %535, <2 x i64> noundef %536)
  store <2 x i64> %537, ptr %37, align 16, !tbaa !5
  %538 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %539 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %540 = bitcast <2 x i64> %539 to <4 x i32>
  %541 = shufflevector <4 x i32> %540, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %542 = bitcast <4 x i32> %541 to <2 x i64>
  %543 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %538, <2 x i64> noundef %542)
  store <2 x i64> %543, 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 %544

544:                                              ; preds = %525
  br label %545

545:                                              ; preds = %544
  %546 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %546, ptr %4, align 16, !tbaa !5
  %547 = load ptr, ptr %7, align 8, !tbaa !8
  %548 = getelementptr inbounds <2 x i64>, ptr %547, i32 1
  store ptr %548, ptr %7, align 8, !tbaa !8
  %549 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %547, <2 x i64> noundef %549)
  %550 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %551 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %550, i32 noundef 12)
  store <2 x i64> %551, ptr %10, align 16, !tbaa !5
  %552 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %552, ptr %9, align 16, !tbaa !5
  %553 = load ptr, ptr %5, align 8, !tbaa !8
  %554 = getelementptr inbounds <2 x i64>, ptr %553, i32 1
  store ptr %554, ptr %5, align 8, !tbaa !8
  %555 = load ptr, ptr %5, align 8, !tbaa !8
  %556 = call <2 x i64> @_mm_loadu_si128(ptr noundef %555)
  store <2 x i64> %556, ptr %8, align 16, !tbaa !5
  %557 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %558 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %559 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %558, i32 noundef 20)
  %560 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %561 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %559, <2 x i64> noundef %560)
  %562 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %557, <2 x i64> noundef %561)
  store <2 x i64> %562, ptr %9, align 16, !tbaa !5
  br label %563

563:                                              ; preds = %545
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %564 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %565 = bitcast <2 x i64> %564 to <16 x i8>
  %566 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %565, <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>
  %567 = bitcast <16 x i8> %566 to <2 x i64>
  %568 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %569 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %567, <2 x i64> noundef %568)
  store <2 x i64> %569, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %570 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %571 = bitcast <2 x i64> %570 to <16 x i8>
  %572 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %571, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %573 = bitcast <16 x i8> %572 to <2 x i64>
  %574 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %575 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %573, <2 x i64> noundef %574)
  store <2 x i64> %575, ptr %39, align 16, !tbaa !5
  %576 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %577 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %578 = bitcast <2 x i64> %577 to <4 x i32>
  %579 = shufflevector <4 x i32> %578, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %580 = bitcast <4 x i32> %579 to <2 x i64>
  %581 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %576, <2 x i64> noundef %580)
  store <2 x i64> %581, 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 %582

582:                                              ; preds = %563
  br label %583

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

601:                                              ; preds = %583
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #3
  %602 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %603 = bitcast <2 x i64> %602 to <16 x i8>
  %604 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %603, <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>
  %605 = bitcast <16 x i8> %604 to <2 x i64>
  %606 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %607 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %605, <2 x i64> noundef %606)
  store <2 x i64> %607, ptr %40, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #3
  %608 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %609 = bitcast <2 x i64> %608 to <16 x i8>
  %610 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %609, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %611 = bitcast <16 x i8> %610 to <2 x i64>
  %612 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %613 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %611, <2 x i64> noundef %612)
  store <2 x i64> %613, ptr %41, align 16, !tbaa !5
  %614 = load <2 x i64>, ptr %41, align 16, !tbaa !5
  %615 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %616 = bitcast <2 x i64> %615 to <4 x i32>
  %617 = shufflevector <4 x i32> %616, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %618 = bitcast <4 x i32> %617 to <2 x i64>
  %619 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %614, <2 x i64> noundef %618)
  store <2 x i64> %619, 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 %620

620:                                              ; preds = %601
  br label %621

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

633:                                              ; preds = %621
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %634 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %635 = bitcast <2 x i64> %634 to <16 x i8>
  %636 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %635, <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>
  %637 = bitcast <16 x i8> %636 to <2 x i64>
  %638 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %639 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %637, <2 x i64> noundef %638)
  store <2 x i64> %639, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %640 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %641 = bitcast <2 x i64> %640 to <16 x i8>
  %642 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %641, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %643 = bitcast <16 x i8> %642 to <2 x i64>
  %644 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %645 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %643, <2 x i64> noundef %644)
  store <2 x i64> %645, ptr %43, align 16, !tbaa !5
  %646 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %647 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %648 = bitcast <2 x i64> %647 to <4 x i32>
  %649 = shufflevector <4 x i32> %648, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %650 = bitcast <4 x i32> %649 to <2 x i64>
  %651 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %646, <2 x i64> noundef %650)
  store <2 x i64> %651, 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 %652

652:                                              ; preds = %633
  br label %653

653:                                              ; preds = %652
  %654 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %654, ptr %4, align 16, !tbaa !5
  %655 = load ptr, ptr %7, align 8, !tbaa !8
  %656 = getelementptr inbounds <2 x i64>, ptr %655, i32 1
  store ptr %656, ptr %7, align 8, !tbaa !8
  %657 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %655, <2 x i64> noundef %657)
  %658 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %658, ptr %10, align 16, !tbaa !5
  %659 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %660 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %661 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %659, <2 x i64> noundef %660)
  store <2 x i64> %661, ptr %9, align 16, !tbaa !5
  br label %662

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

681:                                              ; preds = %662
  br label %682

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

700:                                              ; preds = %682
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #3
  %701 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %702 = bitcast <2 x i64> %701 to <16 x i8>
  %703 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %702, <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>
  %704 = bitcast <16 x i8> %703 to <2 x i64>
  %705 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %706 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %704, <2 x i64> noundef %705)
  store <2 x i64> %706, ptr %46, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #3
  %707 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %708 = bitcast <2 x i64> %707 to <16 x i8>
  %709 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %708, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %710 = bitcast <16 x i8> %709 to <2 x i64>
  %711 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %712 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %710, <2 x i64> noundef %711)
  store <2 x i64> %712, ptr %47, align 16, !tbaa !5
  %713 = load <2 x i64>, ptr %47, align 16, !tbaa !5
  %714 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %715 = bitcast <2 x i64> %714 to <4 x i32>
  %716 = shufflevector <4 x i32> %715, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %717 = bitcast <4 x i32> %716 to <2 x i64>
  %718 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %713, <2 x i64> noundef %717)
  store <2 x i64> %718, 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 %719

719:                                              ; preds = %700
  br label %720

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

738:                                              ; preds = %720
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %739 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %740 = bitcast <2 x i64> %739 to <16 x i8>
  %741 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %740, <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>
  %742 = bitcast <16 x i8> %741 to <2 x i64>
  %743 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %744 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %742, <2 x i64> noundef %743)
  store <2 x i64> %744, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %745 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %746 = bitcast <2 x i64> %745 to <16 x i8>
  %747 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %746, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %748 = bitcast <16 x i8> %747 to <2 x i64>
  %749 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %750 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %748, <2 x i64> noundef %749)
  store <2 x i64> %750, ptr %49, align 16, !tbaa !5
  %751 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %752 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %753 = bitcast <2 x i64> %752 to <4 x i32>
  %754 = shufflevector <4 x i32> %753, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %755 = bitcast <4 x i32> %754 to <2 x i64>
  %756 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %751, <2 x i64> noundef %755)
  store <2 x i64> %756, 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 %757

757:                                              ; preds = %738
  br label %758

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

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

795:                                              ; preds = %776
  br label %796

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

814:                                              ; preds = %796
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #3
  %815 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %816 = bitcast <2 x i64> %815 to <16 x i8>
  %817 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %816, <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>
  %818 = bitcast <16 x i8> %817 to <2 x i64>
  %819 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %820 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %818, <2 x i64> noundef %819)
  store <2 x i64> %820, ptr %52, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #3
  %821 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %822 = bitcast <2 x i64> %821 to <16 x i8>
  %823 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %822, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %824 = bitcast <16 x i8> %823 to <2 x i64>
  %825 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %826 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %824, <2 x i64> noundef %825)
  store <2 x i64> %826, ptr %53, align 16, !tbaa !5
  %827 = load <2 x i64>, ptr %53, align 16, !tbaa !5
  %828 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %829 = bitcast <2 x i64> %828 to <4 x i32>
  %830 = shufflevector <4 x i32> %829, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %831 = bitcast <4 x i32> %830 to <2 x i64>
  %832 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %827, <2 x i64> noundef %831)
  store <2 x i64> %832, 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 %833

833:                                              ; preds = %814
  br label %834

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

852:                                              ; preds = %834
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %853 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %854 = bitcast <2 x i64> %853 to <16 x i8>
  %855 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %854, <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>
  %856 = bitcast <16 x i8> %855 to <2 x i64>
  %857 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %858 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %856, <2 x i64> noundef %857)
  store <2 x i64> %858, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %859 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %860 = bitcast <2 x i64> %859 to <16 x i8>
  %861 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %860, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %862 = bitcast <16 x i8> %861 to <2 x i64>
  %863 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %864 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %862, <2 x i64> noundef %863)
  store <2 x i64> %864, ptr %55, align 16, !tbaa !5
  %865 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %866 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %867 = bitcast <2 x i64> %866 to <4 x i32>
  %868 = shufflevector <4 x i32> %867, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %869 = bitcast <4 x i32> %868 to <2 x i64>
  %870 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %865, <2 x i64> noundef %869)
  store <2 x i64> %870, 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 %871

871:                                              ; preds = %852
  br label %872

872:                                              ; preds = %871
  %873 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %873, ptr %4, align 16, !tbaa !5
  %874 = load ptr, ptr %7, align 8, !tbaa !8
  %875 = getelementptr inbounds <2 x i64>, ptr %874, i32 1
  store ptr %875, ptr %7, align 8, !tbaa !8
  %876 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %874, <2 x i64> noundef %876)
  %877 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %878 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %877, i32 noundef 8)
  store <2 x i64> %878, ptr %10, align 16, !tbaa !5
  %879 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %879, ptr %9, align 16, !tbaa !5
  %880 = load ptr, ptr %5, align 8, !tbaa !8
  %881 = getelementptr inbounds <2 x i64>, ptr %880, i32 1
  store ptr %881, ptr %5, align 8, !tbaa !8
  %882 = load ptr, ptr %5, align 8, !tbaa !8
  %883 = call <2 x i64> @_mm_loadu_si128(ptr noundef %882)
  store <2 x i64> %883, ptr %8, align 16, !tbaa !5
  %884 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %885 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %886 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %885, i32 noundef 24)
  %887 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %888 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %886, <2 x i64> noundef %887)
  %889 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %884, <2 x i64> noundef %888)
  store <2 x i64> %889, ptr %9, align 16, !tbaa !5
  br label %890

890:                                              ; preds = %872
  call void @llvm.lifetime.start.p0(i64 16, ptr %56) #3
  %891 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %892 = bitcast <2 x i64> %891 to <16 x i8>
  %893 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %892, <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>
  %894 = bitcast <16 x i8> %893 to <2 x i64>
  %895 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %896 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %894, <2 x i64> noundef %895)
  store <2 x i64> %896, ptr %56, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %57) #3
  %897 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %898 = bitcast <2 x i64> %897 to <16 x i8>
  %899 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %898, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %900 = bitcast <16 x i8> %899 to <2 x i64>
  %901 = load <2 x i64>, ptr %56, align 16, !tbaa !5
  %902 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %900, <2 x i64> noundef %901)
  store <2 x i64> %902, ptr %57, align 16, !tbaa !5
  %903 = load <2 x i64>, ptr %57, align 16, !tbaa !5
  %904 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %905 = bitcast <2 x i64> %904 to <4 x i32>
  %906 = shufflevector <4 x i32> %905, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %907 = bitcast <4 x i32> %906 to <2 x i64>
  %908 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %903, <2 x i64> noundef %907)
  store <2 x i64> %908, 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 %909

909:                                              ; preds = %890
  br label %910

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

922:                                              ; preds = %910
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %923 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %924 = bitcast <2 x i64> %923 to <16 x i8>
  %925 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %924, <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>
  %926 = bitcast <16 x i8> %925 to <2 x i64>
  %927 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %928 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %926, <2 x i64> noundef %927)
  store <2 x i64> %928, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %929 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %930 = bitcast <2 x i64> %929 to <16 x i8>
  %931 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %930, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %932 = bitcast <16 x i8> %931 to <2 x i64>
  %933 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %934 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %932, <2 x i64> noundef %933)
  store <2 x i64> %934, ptr %59, align 16, !tbaa !5
  %935 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %936 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %937 = bitcast <2 x i64> %936 to <4 x i32>
  %938 = shufflevector <4 x i32> %937, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %939 = bitcast <4 x i32> %938 to <2 x i64>
  %940 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %935, <2 x i64> noundef %939)
  store <2 x i64> %940, 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 %941

941:                                              ; preds = %922
  br label %942

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

951:                                              ; preds = %942
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %952 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %953 = bitcast <2 x i64> %952 to <16 x i8>
  %954 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %953, <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>
  %955 = bitcast <16 x i8> %954 to <2 x i64>
  %956 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %957 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %955, <2 x i64> noundef %956)
  store <2 x i64> %957, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %958 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %959 = bitcast <2 x i64> %958 to <16 x i8>
  %960 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %959, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %961 = bitcast <16 x i8> %960 to <2 x i64>
  %962 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %963 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %961, <2 x i64> noundef %962)
  store <2 x i64> %963, ptr %61, align 16, !tbaa !5
  %964 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %965 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %966 = bitcast <2 x i64> %965 to <4 x i32>
  %967 = shufflevector <4 x i32> %966, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %968 = bitcast <4 x i32> %967 to <2 x i64>
  %969 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %964, <2 x i64> noundef %968)
  store <2 x i64> %969, 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 %970

970:                                              ; preds = %951
  br label %971

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

989:                                              ; preds = %971
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %990 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %991 = bitcast <2 x i64> %990 to <16 x i8>
  %992 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %991, <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>
  %993 = bitcast <16 x i8> %992 to <2 x i64>
  %994 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %995 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %993, <2 x i64> noundef %994)
  store <2 x i64> %995, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %996 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %997 = bitcast <2 x i64> %996 to <16 x i8>
  %998 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %997, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %999 = bitcast <16 x i8> %998 to <2 x i64>
  %1000 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %1001 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %999, <2 x i64> noundef %1000)
  store <2 x i64> %1001, ptr %63, align 16, !tbaa !5
  %1002 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %1003 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1004 = bitcast <2 x i64> %1003 to <4 x i32>
  %1005 = shufflevector <4 x i32> %1004, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1006 = bitcast <4 x i32> %1005 to <2 x i64>
  %1007 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1002, <2 x i64> noundef %1006)
  store <2 x i64> %1007, 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 %1008

1008:                                             ; preds = %989
  br label %1009

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

1027:                                             ; preds = %1009
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %1028 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1029 = bitcast <2 x i64> %1028 to <16 x i8>
  %1030 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1029, <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>
  %1031 = bitcast <16 x i8> %1030 to <2 x i64>
  %1032 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1033 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1031, <2 x i64> noundef %1032)
  store <2 x i64> %1033, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %1034 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %1035 = bitcast <2 x i64> %1034 to <16 x i8>
  %1036 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1035, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1037 = bitcast <16 x i8> %1036 to <2 x i64>
  %1038 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %1039 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1037, <2 x i64> noundef %1038)
  store <2 x i64> %1039, ptr %65, align 16, !tbaa !5
  %1040 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %1041 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1042 = bitcast <2 x i64> %1041 to <4 x i32>
  %1043 = shufflevector <4 x i32> %1042, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1044 = bitcast <4 x i32> %1043 to <2 x i64>
  %1045 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1040, <2 x i64> noundef %1044)
  store <2 x i64> %1045, 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 %1046

1046:                                             ; preds = %1027
  br label %1047

1047:                                             ; preds = %1046
  %1048 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1048, ptr %4, align 16, !tbaa !5
  %1049 = load ptr, ptr %7, align 8, !tbaa !8
  %1050 = getelementptr inbounds <2 x i64>, ptr %1049, i32 1
  store ptr %1050, ptr %7, align 8, !tbaa !8
  %1051 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1049, <2 x i64> noundef %1051)
  %1052 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1053 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1052, i32 noundef 20)
  store <2 x i64> %1053, ptr %10, align 16, !tbaa !5
  %1054 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1054, ptr %9, align 16, !tbaa !5
  %1055 = load ptr, ptr %5, align 8, !tbaa !8
  %1056 = getelementptr inbounds <2 x i64>, ptr %1055, i32 1
  store ptr %1056, ptr %5, align 8, !tbaa !8
  %1057 = load ptr, ptr %5, align 8, !tbaa !8
  %1058 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1057)
  store <2 x i64> %1058, ptr %8, align 16, !tbaa !5
  %1059 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1060 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1061 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1060, i32 noundef 12)
  %1062 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1063 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1061, <2 x i64> noundef %1062)
  %1064 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1059, <2 x i64> noundef %1063)
  store <2 x i64> %1064, ptr %9, align 16, !tbaa !5
  br label %1065

1065:                                             ; preds = %1047
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %1066 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1067 = bitcast <2 x i64> %1066 to <16 x i8>
  %1068 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1067, <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>
  %1069 = bitcast <16 x i8> %1068 to <2 x i64>
  %1070 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1071 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1069, <2 x i64> noundef %1070)
  store <2 x i64> %1071, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %1072 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1073 = bitcast <2 x i64> %1072 to <16 x i8>
  %1074 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1073, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1075 = bitcast <16 x i8> %1074 to <2 x i64>
  %1076 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1077 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1075, <2 x i64> noundef %1076)
  store <2 x i64> %1077, ptr %67, align 16, !tbaa !5
  %1078 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %1079 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1080 = bitcast <2 x i64> %1079 to <4 x i32>
  %1081 = shufflevector <4 x i32> %1080, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1082 = bitcast <4 x i32> %1081 to <2 x i64>
  %1083 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1078, <2 x i64> noundef %1082)
  store <2 x i64> %1083, 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 %1084

1084:                                             ; preds = %1065
  br label %1085

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

1103:                                             ; preds = %1085
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %1104 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1105 = bitcast <2 x i64> %1104 to <16 x i8>
  %1106 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1105, <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>
  %1107 = bitcast <16 x i8> %1106 to <2 x i64>
  %1108 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1109 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1107, <2 x i64> noundef %1108)
  store <2 x i64> %1109, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %1110 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1111 = bitcast <2 x i64> %1110 to <16 x i8>
  %1112 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1111, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1113 = bitcast <16 x i8> %1112 to <2 x i64>
  %1114 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1115 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1113, <2 x i64> noundef %1114)
  store <2 x i64> %1115, ptr %69, align 16, !tbaa !5
  %1116 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %1117 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1118 = bitcast <2 x i64> %1117 to <4 x i32>
  %1119 = shufflevector <4 x i32> %1118, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1120 = bitcast <4 x i32> %1119 to <2 x i64>
  %1121 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1116, <2 x i64> noundef %1120)
  store <2 x i64> %1121, 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 %1122

1122:                                             ; preds = %1103
  br label %1123

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

1141:                                             ; preds = %1123
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %1142 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1143 = bitcast <2 x i64> %1142 to <16 x i8>
  %1144 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1143, <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>
  %1145 = bitcast <16 x i8> %1144 to <2 x i64>
  %1146 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1147 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1145, <2 x i64> noundef %1146)
  store <2 x i64> %1147, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %1148 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1149 = bitcast <2 x i64> %1148 to <16 x i8>
  %1150 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1149, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1151 = bitcast <16 x i8> %1150 to <2 x i64>
  %1152 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1153 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1151, <2 x i64> noundef %1152)
  store <2 x i64> %1153, ptr %71, align 16, !tbaa !5
  %1154 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %1155 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1156 = bitcast <2 x i64> %1155 to <4 x i32>
  %1157 = shufflevector <4 x i32> %1156, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1158 = bitcast <4 x i32> %1157 to <2 x i64>
  %1159 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1154, <2 x i64> noundef %1158)
  store <2 x i64> %1159, 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 %1160

1160:                                             ; preds = %1141
  br label %1161

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

1179:                                             ; preds = %1161
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1180 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1181 = bitcast <2 x i64> %1180 to <16 x i8>
  %1182 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1181, <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>
  %1183 = bitcast <16 x i8> %1182 to <2 x i64>
  %1184 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1185 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1183, <2 x i64> noundef %1184)
  store <2 x i64> %1185, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1186 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1187 = bitcast <2 x i64> %1186 to <16 x i8>
  %1188 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1187, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1189 = bitcast <16 x i8> %1188 to <2 x i64>
  %1190 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1191 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1189, <2 x i64> noundef %1190)
  store <2 x i64> %1191, ptr %73, align 16, !tbaa !5
  %1192 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1193 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1194 = bitcast <2 x i64> %1193 to <4 x i32>
  %1195 = shufflevector <4 x i32> %1194, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1196 = bitcast <4 x i32> %1195 to <2 x i64>
  %1197 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1192, <2 x i64> noundef %1196)
  store <2 x i64> %1197, 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 %1198

1198:                                             ; preds = %1179
  br label %1199

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

1207:                                             ; preds = %1199
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1208 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1209 = bitcast <2 x i64> %1208 to <16 x i8>
  %1210 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1209, <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>
  %1211 = bitcast <16 x i8> %1210 to <2 x i64>
  %1212 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1213 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1211, <2 x i64> noundef %1212)
  store <2 x i64> %1213, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1214 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1215 = bitcast <2 x i64> %1214 to <16 x i8>
  %1216 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1215, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1217 = bitcast <16 x i8> %1216 to <2 x i64>
  %1218 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1219 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1217, <2 x i64> noundef %1218)
  store <2 x i64> %1219, ptr %75, align 16, !tbaa !5
  %1220 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1221 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1222 = bitcast <2 x i64> %1221 to <4 x i32>
  %1223 = shufflevector <4 x i32> %1222, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1224 = bitcast <4 x i32> %1223 to <2 x i64>
  %1225 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1220, <2 x i64> noundef %1224)
  store <2 x i64> %1225, 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 %1226

1226:                                             ; preds = %1207
  br label %1227

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

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

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

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

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


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