; 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> @iunpack17(<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 131071)
  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 17)
  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 15)
  %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 2)
  store <2 x i64> %148, ptr %10, align 16, !tbaa !5
  %149 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %150 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %151 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %149, <2 x i64> noundef %150)
  store <2 x i64> %151, ptr %9, align 16, !tbaa !5
  br label %152

152:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #3
  %153 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %154 = bitcast <2 x i64> %153 to <16 x i8>
  %155 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %154, <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>
  %156 = bitcast <16 x i8> %155 to <2 x i64>
  %157 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %158 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %156, <2 x i64> noundef %157)
  store <2 x i64> %158, ptr %16, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #3
  %159 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %160 = bitcast <2 x i64> %159 to <16 x i8>
  %161 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %160, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %162 = bitcast <16 x i8> %161 to <2 x i64>
  %163 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %164 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %162, <2 x i64> noundef %163)
  store <2 x i64> %164, ptr %17, align 16, !tbaa !5
  %165 = load <2 x i64>, ptr %17, align 16, !tbaa !5
  %166 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %167 = bitcast <2 x i64> %166 to <4 x i32>
  %168 = shufflevector <4 x i32> %167, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %169 = bitcast <4 x i32> %168 to <2 x i64>
  %170 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %165, <2 x i64> noundef %169)
  store <2 x i64> %170, 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 %171

171:                                              ; preds = %152
  br label %172

172:                                              ; preds = %171
  %173 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %173, ptr %4, align 16, !tbaa !5
  %174 = load ptr, ptr %7, align 8, !tbaa !8
  %175 = getelementptr inbounds <2 x i64>, ptr %174, i32 1
  store ptr %175, ptr %7, align 8, !tbaa !8
  %176 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %174, <2 x i64> noundef %176)
  %177 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %178 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %177, i32 noundef 19)
  store <2 x i64> %178, ptr %10, align 16, !tbaa !5
  %179 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %179, ptr %9, align 16, !tbaa !5
  %180 = load ptr, ptr %5, align 8, !tbaa !8
  %181 = getelementptr inbounds <2 x i64>, ptr %180, i32 1
  store ptr %181, ptr %5, align 8, !tbaa !8
  %182 = load ptr, ptr %5, align 8, !tbaa !8
  %183 = call <2 x i64> @_mm_loadu_si128(ptr noundef %182)
  store <2 x i64> %183, ptr %8, align 16, !tbaa !5
  %184 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %185 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %186 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %185, i32 noundef 13)
  %187 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %188 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %186, <2 x i64> noundef %187)
  %189 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %184, <2 x i64> noundef %188)
  store <2 x i64> %189, ptr %9, align 16, !tbaa !5
  br label %190

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

209:                                              ; preds = %190
  br label %210

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

220:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %221 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %222 = bitcast <2 x i64> %221 to <16 x i8>
  %223 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %222, <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>
  %224 = bitcast <16 x i8> %223 to <2 x i64>
  %225 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %226 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %224, <2 x i64> noundef %225)
  store <2 x i64> %226, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %227 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %228 = bitcast <2 x i64> %227 to <16 x i8>
  %229 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %228, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %230 = bitcast <16 x i8> %229 to <2 x i64>
  %231 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %232 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %230, <2 x i64> noundef %231)
  store <2 x i64> %232, ptr %21, align 16, !tbaa !5
  %233 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %234 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %235 = bitcast <2 x i64> %234 to <4 x i32>
  %236 = shufflevector <4 x i32> %235, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %237 = bitcast <4 x i32> %236 to <2 x i64>
  %238 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %233, <2 x i64> noundef %237)
  store <2 x i64> %238, 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 %239

239:                                              ; preds = %220
  br label %240

240:                                              ; preds = %239
  %241 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %241, ptr %4, align 16, !tbaa !5
  %242 = load ptr, ptr %7, align 8, !tbaa !8
  %243 = getelementptr inbounds <2 x i64>, ptr %242, i32 1
  store ptr %243, ptr %7, align 8, !tbaa !8
  %244 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %242, <2 x i64> noundef %244)
  %245 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %246 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %245, i32 noundef 21)
  store <2 x i64> %246, ptr %10, align 16, !tbaa !5
  %247 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %247, ptr %9, align 16, !tbaa !5
  %248 = load ptr, ptr %5, align 8, !tbaa !8
  %249 = getelementptr inbounds <2 x i64>, ptr %248, i32 1
  store ptr %249, ptr %5, align 8, !tbaa !8
  %250 = load ptr, ptr %5, align 8, !tbaa !8
  %251 = call <2 x i64> @_mm_loadu_si128(ptr noundef %250)
  store <2 x i64> %251, ptr %8, align 16, !tbaa !5
  %252 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %253 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %254 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %253, i32 noundef 11)
  %255 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %256 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %254, <2 x i64> noundef %255)
  %257 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %252, <2 x i64> noundef %256)
  store <2 x i64> %257, ptr %9, align 16, !tbaa !5
  br label %258

258:                                              ; preds = %240
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #3
  %259 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %260 = bitcast <2 x i64> %259 to <16 x i8>
  %261 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %260, <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>
  %262 = bitcast <16 x i8> %261 to <2 x i64>
  %263 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %264 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %262, <2 x i64> noundef %263)
  store <2 x i64> %264, ptr %22, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #3
  %265 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %266 = bitcast <2 x i64> %265 to <16 x i8>
  %267 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %266, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %268 = bitcast <16 x i8> %267 to <2 x i64>
  %269 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %270 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %268, <2 x i64> noundef %269)
  store <2 x i64> %270, ptr %23, align 16, !tbaa !5
  %271 = load <2 x i64>, ptr %23, align 16, !tbaa !5
  %272 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %273 = bitcast <2 x i64> %272 to <4 x i32>
  %274 = shufflevector <4 x i32> %273, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %275 = bitcast <4 x i32> %274 to <2 x i64>
  %276 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %271, <2 x i64> noundef %275)
  store <2 x i64> %276, 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 %277

277:                                              ; preds = %258
  br label %278

278:                                              ; preds = %277
  %279 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %279, ptr %4, align 16, !tbaa !5
  %280 = load ptr, ptr %7, align 8, !tbaa !8
  %281 = getelementptr inbounds <2 x i64>, ptr %280, i32 1
  store ptr %281, ptr %7, align 8, !tbaa !8
  %282 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %280, <2 x i64> noundef %282)
  %283 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %284 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %283, i32 noundef 6)
  store <2 x i64> %284, ptr %10, align 16, !tbaa !5
  %285 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %286 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %287 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %285, <2 x i64> noundef %286)
  store <2 x i64> %287, ptr %9, align 16, !tbaa !5
  br label %288

288:                                              ; preds = %278
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %289 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %290 = bitcast <2 x i64> %289 to <16 x i8>
  %291 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %290, <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>
  %292 = bitcast <16 x i8> %291 to <2 x i64>
  %293 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %294 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %292, <2 x i64> noundef %293)
  store <2 x i64> %294, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %295 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %296 = bitcast <2 x i64> %295 to <16 x i8>
  %297 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %296, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %298 = bitcast <16 x i8> %297 to <2 x i64>
  %299 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %300 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %298, <2 x i64> noundef %299)
  store <2 x i64> %300, ptr %25, align 16, !tbaa !5
  %301 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %302 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %303 = bitcast <2 x i64> %302 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 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %301, <2 x i64> noundef %305)
  store <2 x i64> %306, 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 %307

307:                                              ; preds = %288
  br label %308

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

326:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 16, ptr %26) #3
  %327 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %328 = bitcast <2 x i64> %327 to <16 x i8>
  %329 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %328, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %330 = bitcast <16 x i8> %329 to <2 x i64>
  %331 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %332 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %330, <2 x i64> noundef %331)
  store <2 x i64> %332, ptr %26, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %27) #3
  %333 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %334 = bitcast <2 x i64> %333 to <16 x i8>
  %335 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %334, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %336 = bitcast <16 x i8> %335 to <2 x i64>
  %337 = load <2 x i64>, ptr %26, align 16, !tbaa !5
  %338 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %336, <2 x i64> noundef %337)
  store <2 x i64> %338, ptr %27, align 16, !tbaa !5
  %339 = load <2 x i64>, ptr %27, align 16, !tbaa !5
  %340 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %341 = bitcast <2 x i64> %340 to <4 x i32>
  %342 = shufflevector <4 x i32> %341, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %343 = bitcast <4 x i32> %342 to <2 x i64>
  %344 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %339, <2 x i64> noundef %343)
  store <2 x i64> %344, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %27) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %26) #3
  br label %345

345:                                              ; preds = %326
  br label %346

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

356:                                              ; preds = %346
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %357 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %358 = bitcast <2 x i64> %357 to <16 x i8>
  %359 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %358, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %360 = bitcast <16 x i8> %359 to <2 x i64>
  %361 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %362 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %360, <2 x i64> noundef %361)
  store <2 x i64> %362, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %363 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %364 = bitcast <2 x i64> %363 to <16 x i8>
  %365 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %364, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %366 = bitcast <16 x i8> %365 to <2 x i64>
  %367 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %368 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %366, <2 x i64> noundef %367)
  store <2 x i64> %368, ptr %29, align 16, !tbaa !5
  %369 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %370 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %371 = bitcast <2 x i64> %370 to <4 x i32>
  %372 = shufflevector <4 x i32> %371, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %373 = bitcast <4 x i32> %372 to <2 x i64>
  %374 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %369, <2 x i64> noundef %373)
  store <2 x i64> %374, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %28) #3
  br label %375

375:                                              ; preds = %356
  br label %376

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

394:                                              ; preds = %376
  call void @llvm.lifetime.start.p0(i64 16, ptr %30) #3
  %395 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %396 = bitcast <2 x i64> %395 to <16 x i8>
  %397 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %396, <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>
  %398 = bitcast <16 x i8> %397 to <2 x i64>
  %399 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %400 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %398, <2 x i64> noundef %399)
  store <2 x i64> %400, ptr %30, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %31) #3
  %401 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %402 = bitcast <2 x i64> %401 to <16 x i8>
  %403 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %402, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %404 = bitcast <16 x i8> %403 to <2 x i64>
  %405 = load <2 x i64>, ptr %30, align 16, !tbaa !5
  %406 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %404, <2 x i64> noundef %405)
  store <2 x i64> %406, ptr %31, align 16, !tbaa !5
  %407 = load <2 x i64>, ptr %31, align 16, !tbaa !5
  %408 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %409 = bitcast <2 x i64> %408 to <4 x i32>
  %410 = shufflevector <4 x i32> %409, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %411 = bitcast <4 x i32> %410 to <2 x i64>
  %412 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %407, <2 x i64> noundef %411)
  store <2 x i64> %412, 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 %413

413:                                              ; preds = %394
  br label %414

414:                                              ; preds = %413
  %415 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %415, ptr %4, align 16, !tbaa !5
  %416 = load ptr, ptr %7, align 8, !tbaa !8
  %417 = getelementptr inbounds <2 x i64>, ptr %416, i32 1
  store ptr %417, ptr %7, align 8, !tbaa !8
  %418 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %416, <2 x i64> noundef %418)
  %419 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %420 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %419, i32 noundef 10)
  store <2 x i64> %420, ptr %10, align 16, !tbaa !5
  %421 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %422 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %423 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %421, <2 x i64> noundef %422)
  store <2 x i64> %423, ptr %9, align 16, !tbaa !5
  br label %424

424:                                              ; preds = %414
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #3
  %425 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %426 = bitcast <2 x i64> %425 to <16 x i8>
  %427 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %426, <16 x i32> <i32 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>
  %428 = bitcast <16 x i8> %427 to <2 x i64>
  %429 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %430 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %428, <2 x i64> noundef %429)
  store <2 x i64> %430, ptr %32, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #3
  %431 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %432 = bitcast <2 x i64> %431 to <16 x i8>
  %433 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %432, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %434 = bitcast <16 x i8> %433 to <2 x i64>
  %435 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %436 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %434, <2 x i64> noundef %435)
  store <2 x i64> %436, ptr %33, align 16, !tbaa !5
  %437 = load <2 x i64>, ptr %33, align 16, !tbaa !5
  %438 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %439 = bitcast <2 x i64> %438 to <4 x i32>
  %440 = shufflevector <4 x i32> %439, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %441 = bitcast <4 x i32> %440 to <2 x i64>
  %442 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %437, <2 x i64> noundef %441)
  store <2 x i64> %442, 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 %443

443:                                              ; preds = %424
  br label %444

444:                                              ; preds = %443
  %445 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %445, ptr %4, align 16, !tbaa !5
  %446 = load ptr, ptr %7, align 8, !tbaa !8
  %447 = getelementptr inbounds <2 x i64>, ptr %446, i32 1
  store ptr %447, ptr %7, align 8, !tbaa !8
  %448 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %446, <2 x i64> noundef %448)
  %449 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %450 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %449, i32 noundef 27)
  store <2 x i64> %450, ptr %10, align 16, !tbaa !5
  %451 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %451, ptr %9, align 16, !tbaa !5
  %452 = load ptr, ptr %5, align 8, !tbaa !8
  %453 = getelementptr inbounds <2 x i64>, ptr %452, i32 1
  store ptr %453, ptr %5, align 8, !tbaa !8
  %454 = load ptr, ptr %5, align 8, !tbaa !8
  %455 = call <2 x i64> @_mm_loadu_si128(ptr noundef %454)
  store <2 x i64> %455, ptr %8, align 16, !tbaa !5
  %456 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %457 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %458 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %457, i32 noundef 5)
  %459 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %460 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %458, <2 x i64> noundef %459)
  %461 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %456, <2 x i64> noundef %460)
  store <2 x i64> %461, ptr %9, align 16, !tbaa !5
  br label %462

462:                                              ; preds = %444
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %463 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %464 = bitcast <2 x i64> %463 to <16 x i8>
  %465 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %464, <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>
  %466 = bitcast <16 x i8> %465 to <2 x i64>
  %467 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %468 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %466, <2 x i64> noundef %467)
  store <2 x i64> %468, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %469 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %470 = bitcast <2 x i64> %469 to <16 x i8>
  %471 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %470, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %472 = bitcast <16 x i8> %471 to <2 x i64>
  %473 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %474 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %472, <2 x i64> noundef %473)
  store <2 x i64> %474, ptr %35, align 16, !tbaa !5
  %475 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %476 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %477 = bitcast <2 x i64> %476 to <4 x i32>
  %478 = shufflevector <4 x i32> %477, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %479 = bitcast <4 x i32> %478 to <2 x i64>
  %480 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %475, <2 x i64> noundef %479)
  store <2 x i64> %480, 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 %481

481:                                              ; preds = %462
  br label %482

482:                                              ; preds = %481
  %483 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %483, ptr %4, align 16, !tbaa !5
  %484 = load ptr, ptr %7, align 8, !tbaa !8
  %485 = getelementptr inbounds <2 x i64>, ptr %484, i32 1
  store ptr %485, ptr %7, align 8, !tbaa !8
  %486 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %484, <2 x i64> noundef %486)
  %487 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %488 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %487, i32 noundef 12)
  store <2 x i64> %488, ptr %10, align 16, !tbaa !5
  %489 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %490 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %491 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %489, <2 x i64> noundef %490)
  store <2 x i64> %491, ptr %9, align 16, !tbaa !5
  br label %492

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

511:                                              ; preds = %492
  br label %512

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

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

549:                                              ; preds = %530
  br label %550

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

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

579:                                              ; preds = %560
  br label %580

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

598:                                              ; preds = %580
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %599 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %600 = bitcast <2 x i64> %599 to <16 x i8>
  %601 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %600, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %602 = bitcast <16 x i8> %601 to <2 x i64>
  %603 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %604 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %602, <2 x i64> noundef %603)
  store <2 x i64> %604, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %605 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %606 = bitcast <2 x i64> %605 to <16 x i8>
  %607 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %606, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %608 = bitcast <16 x i8> %607 to <2 x i64>
  %609 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %610 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %608, <2 x i64> noundef %609)
  store <2 x i64> %610, ptr %43, align 16, !tbaa !5
  %611 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %612 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %613 = bitcast <2 x i64> %612 to <4 x i32>
  %614 = shufflevector <4 x i32> %613, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %615 = bitcast <4 x i32> %614 to <2 x i64>
  %616 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %611, <2 x i64> noundef %615)
  store <2 x i64> %616, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %43) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %42) #3
  br label %617

617:                                              ; preds = %598
  br label %618

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

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

655:                                              ; preds = %636
  br label %656

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

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

685:                                              ; preds = %666
  br label %686

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

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

723:                                              ; preds = %704
  br label %724

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

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

753:                                              ; preds = %734
  br label %754

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

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

791:                                              ; preds = %772
  br label %792

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

802:                                              ; preds = %792
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %803 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %804 = bitcast <2 x i64> %803 to <16 x i8>
  %805 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %804, <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>
  %806 = bitcast <16 x i8> %805 to <2 x i64>
  %807 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %808 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %806, <2 x i64> noundef %807)
  store <2 x i64> %808, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %809 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %810 = bitcast <2 x i64> %809 to <16 x i8>
  %811 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %810, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %812 = bitcast <16 x i8> %811 to <2 x i64>
  %813 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %814 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %812, <2 x i64> noundef %813)
  store <2 x i64> %814, ptr %55, align 16, !tbaa !5
  %815 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %816 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %817 = bitcast <2 x i64> %816 to <4 x i32>
  %818 = shufflevector <4 x i32> %817, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %819 = bitcast <4 x i32> %818 to <2 x i64>
  %820 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %815, <2 x i64> noundef %819)
  store <2 x i64> %820, 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 %821

821:                                              ; preds = %802
  br label %822

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

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

859:                                              ; preds = %840
  br label %860

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

870:                                              ; preds = %860
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %871 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %872 = bitcast <2 x i64> %871 to <16 x i8>
  %873 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %872, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %874 = bitcast <16 x i8> %873 to <2 x i64>
  %875 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %876 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %874, <2 x i64> noundef %875)
  store <2 x i64> %876, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %877 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %878 = bitcast <2 x i64> %877 to <16 x i8>
  %879 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %878, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %880 = bitcast <16 x i8> %879 to <2 x i64>
  %881 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %882 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %880, <2 x i64> noundef %881)
  store <2 x i64> %882, ptr %59, align 16, !tbaa !5
  %883 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %884 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %885 = bitcast <2 x i64> %884 to <4 x i32>
  %886 = shufflevector <4 x i32> %885, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %887 = bitcast <4 x i32> %886 to <2 x i64>
  %888 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %883, <2 x i64> noundef %887)
  store <2 x i64> %888, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %59) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %58) #3
  br label %889

889:                                              ; preds = %870
  br label %890

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

908:                                              ; preds = %890
  call void @llvm.lifetime.start.p0(i64 16, ptr %60) #3
  %909 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %910 = bitcast <2 x i64> %909 to <16 x i8>
  %911 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %910, <16 x i32> <i32 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>
  %912 = bitcast <16 x i8> %911 to <2 x i64>
  %913 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %914 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %912, <2 x i64> noundef %913)
  store <2 x i64> %914, ptr %60, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %61) #3
  %915 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %916 = bitcast <2 x i64> %915 to <16 x i8>
  %917 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %916, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %918 = bitcast <16 x i8> %917 to <2 x i64>
  %919 = load <2 x i64>, ptr %60, align 16, !tbaa !5
  %920 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %918, <2 x i64> noundef %919)
  store <2 x i64> %920, ptr %61, align 16, !tbaa !5
  %921 = load <2 x i64>, ptr %61, align 16, !tbaa !5
  %922 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %923 = bitcast <2 x i64> %922 to <4 x i32>
  %924 = shufflevector <4 x i32> %923, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %925 = bitcast <4 x i32> %924 to <2 x i64>
  %926 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %921, <2 x i64> noundef %925)
  store <2 x i64> %926, 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 %927

927:                                              ; preds = %908
  br label %928

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

938:                                              ; preds = %928
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %939 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %940 = bitcast <2 x i64> %939 to <16 x i8>
  %941 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %940, <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>
  %942 = bitcast <16 x i8> %941 to <2 x i64>
  %943 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %944 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %942, <2 x i64> noundef %943)
  store <2 x i64> %944, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %945 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %946 = bitcast <2 x i64> %945 to <16 x i8>
  %947 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %946, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %948 = bitcast <16 x i8> %947 to <2 x i64>
  %949 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %950 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %948, <2 x i64> noundef %949)
  store <2 x i64> %950, ptr %63, align 16, !tbaa !5
  %951 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %952 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %953 = bitcast <2 x i64> %952 to <4 x i32>
  %954 = shufflevector <4 x i32> %953, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %955 = bitcast <4 x i32> %954 to <2 x i64>
  %956 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %951, <2 x i64> noundef %955)
  store <2 x i64> %956, 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 %957

957:                                              ; preds = %938
  br label %958

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

976:                                              ; preds = %958
  call void @llvm.lifetime.start.p0(i64 16, ptr %64) #3
  %977 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %978 = bitcast <2 x i64> %977 to <16 x i8>
  %979 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %978, <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>
  %980 = bitcast <16 x i8> %979 to <2 x i64>
  %981 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %982 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %980, <2 x i64> noundef %981)
  store <2 x i64> %982, ptr %64, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %65) #3
  %983 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %984 = bitcast <2 x i64> %983 to <16 x i8>
  %985 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %984, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %986 = bitcast <16 x i8> %985 to <2 x i64>
  %987 = load <2 x i64>, ptr %64, align 16, !tbaa !5
  %988 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %986, <2 x i64> noundef %987)
  store <2 x i64> %988, ptr %65, align 16, !tbaa !5
  %989 = load <2 x i64>, ptr %65, align 16, !tbaa !5
  %990 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %991 = bitcast <2 x i64> %990 to <4 x i32>
  %992 = shufflevector <4 x i32> %991, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %993 = bitcast <4 x i32> %992 to <2 x i64>
  %994 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %989, <2 x i64> noundef %993)
  store <2 x i64> %994, 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 %995

995:                                              ; preds = %976
  br label %996

996:                                              ; preds = %995
  %997 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %997, ptr %4, align 16, !tbaa !5
  %998 = load ptr, ptr %7, align 8, !tbaa !8
  %999 = getelementptr inbounds <2 x i64>, ptr %998, i32 1
  store ptr %999, ptr %7, align 8, !tbaa !8
  %1000 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %998, <2 x i64> noundef %1000)
  %1001 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1002 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1001, i32 noundef 11)
  store <2 x i64> %1002, ptr %10, align 16, !tbaa !5
  %1003 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1004 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1005 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1003, <2 x i64> noundef %1004)
  store <2 x i64> %1005, ptr %9, align 16, !tbaa !5
  br label %1006

1006:                                             ; preds = %996
  call void @llvm.lifetime.start.p0(i64 16, ptr %66) #3
  %1007 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1008 = bitcast <2 x i64> %1007 to <16 x i8>
  %1009 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1008, <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>
  %1010 = bitcast <16 x i8> %1009 to <2 x i64>
  %1011 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1012 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1010, <2 x i64> noundef %1011)
  store <2 x i64> %1012, ptr %66, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %67) #3
  %1013 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1014 = bitcast <2 x i64> %1013 to <16 x i8>
  %1015 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1014, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1016 = bitcast <16 x i8> %1015 to <2 x i64>
  %1017 = load <2 x i64>, ptr %66, align 16, !tbaa !5
  %1018 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1016, <2 x i64> noundef %1017)
  store <2 x i64> %1018, ptr %67, align 16, !tbaa !5
  %1019 = load <2 x i64>, ptr %67, align 16, !tbaa !5
  %1020 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1021 = bitcast <2 x i64> %1020 to <4 x i32>
  %1022 = shufflevector <4 x i32> %1021, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1023 = bitcast <4 x i32> %1022 to <2 x i64>
  %1024 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1019, <2 x i64> noundef %1023)
  store <2 x i64> %1024, 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 %1025

1025:                                             ; preds = %1006
  br label %1026

1026:                                             ; preds = %1025
  %1027 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1027, ptr %4, align 16, !tbaa !5
  %1028 = load ptr, ptr %7, align 8, !tbaa !8
  %1029 = getelementptr inbounds <2 x i64>, ptr %1028, i32 1
  store ptr %1029, ptr %7, align 8, !tbaa !8
  %1030 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1028, <2 x i64> noundef %1030)
  %1031 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1032 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1031, i32 noundef 28)
  store <2 x i64> %1032, ptr %10, align 16, !tbaa !5
  %1033 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1033, ptr %9, align 16, !tbaa !5
  %1034 = load ptr, ptr %5, align 8, !tbaa !8
  %1035 = getelementptr inbounds <2 x i64>, ptr %1034, i32 1
  store ptr %1035, ptr %5, align 8, !tbaa !8
  %1036 = load ptr, ptr %5, align 8, !tbaa !8
  %1037 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1036)
  store <2 x i64> %1037, ptr %8, align 16, !tbaa !5
  %1038 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1039 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1040 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1039, i32 noundef 4)
  %1041 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1042 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1040, <2 x i64> noundef %1041)
  %1043 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1038, <2 x i64> noundef %1042)
  store <2 x i64> %1043, ptr %9, align 16, !tbaa !5
  br label %1044

1044:                                             ; preds = %1026
  call void @llvm.lifetime.start.p0(i64 16, ptr %68) #3
  %1045 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1046 = bitcast <2 x i64> %1045 to <16 x i8>
  %1047 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1046, <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>
  %1048 = bitcast <16 x i8> %1047 to <2 x i64>
  %1049 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1050 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1048, <2 x i64> noundef %1049)
  store <2 x i64> %1050, ptr %68, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %69) #3
  %1051 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1052 = bitcast <2 x i64> %1051 to <16 x i8>
  %1053 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1052, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1054 = bitcast <16 x i8> %1053 to <2 x i64>
  %1055 = load <2 x i64>, ptr %68, align 16, !tbaa !5
  %1056 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1054, <2 x i64> noundef %1055)
  store <2 x i64> %1056, ptr %69, align 16, !tbaa !5
  %1057 = load <2 x i64>, ptr %69, align 16, !tbaa !5
  %1058 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1059 = bitcast <2 x i64> %1058 to <4 x i32>
  %1060 = shufflevector <4 x i32> %1059, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1061 = bitcast <4 x i32> %1060 to <2 x i64>
  %1062 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1057, <2 x i64> noundef %1061)
  store <2 x i64> %1062, 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 %1063

1063:                                             ; preds = %1044
  br label %1064

1064:                                             ; preds = %1063
  %1065 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1065, ptr %4, align 16, !tbaa !5
  %1066 = load ptr, ptr %7, align 8, !tbaa !8
  %1067 = getelementptr inbounds <2 x i64>, ptr %1066, i32 1
  store ptr %1067, ptr %7, align 8, !tbaa !8
  %1068 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1066, <2 x i64> noundef %1068)
  %1069 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1070 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1069, i32 noundef 13)
  store <2 x i64> %1070, ptr %10, align 16, !tbaa !5
  %1071 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1072 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1073 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1071, <2 x i64> noundef %1072)
  store <2 x i64> %1073, ptr %9, align 16, !tbaa !5
  br label %1074

1074:                                             ; preds = %1064
  call void @llvm.lifetime.start.p0(i64 16, ptr %70) #3
  %1075 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1076 = bitcast <2 x i64> %1075 to <16 x i8>
  %1077 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1076, <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>
  %1078 = bitcast <16 x i8> %1077 to <2 x i64>
  %1079 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1080 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1078, <2 x i64> noundef %1079)
  store <2 x i64> %1080, ptr %70, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %71) #3
  %1081 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1082 = bitcast <2 x i64> %1081 to <16 x i8>
  %1083 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1082, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1084 = bitcast <16 x i8> %1083 to <2 x i64>
  %1085 = load <2 x i64>, ptr %70, align 16, !tbaa !5
  %1086 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1084, <2 x i64> noundef %1085)
  store <2 x i64> %1086, ptr %71, align 16, !tbaa !5
  %1087 = load <2 x i64>, ptr %71, align 16, !tbaa !5
  %1088 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1089 = bitcast <2 x i64> %1088 to <4 x i32>
  %1090 = shufflevector <4 x i32> %1089, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1091 = bitcast <4 x i32> %1090 to <2 x i64>
  %1092 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1087, <2 x i64> noundef %1091)
  store <2 x i64> %1092, 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 %1093

1093:                                             ; preds = %1074
  br label %1094

1094:                                             ; preds = %1093
  %1095 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1095, ptr %4, align 16, !tbaa !5
  %1096 = load ptr, ptr %7, align 8, !tbaa !8
  %1097 = getelementptr inbounds <2 x i64>, ptr %1096, i32 1
  store ptr %1097, ptr %7, align 8, !tbaa !8
  %1098 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1096, <2 x i64> noundef %1098)
  %1099 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1100 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1099, i32 noundef 30)
  store <2 x i64> %1100, ptr %10, align 16, !tbaa !5
  %1101 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1101, ptr %9, align 16, !tbaa !5
  %1102 = load ptr, ptr %5, align 8, !tbaa !8
  %1103 = getelementptr inbounds <2 x i64>, ptr %1102, i32 1
  store ptr %1103, ptr %5, align 8, !tbaa !8
  %1104 = load ptr, ptr %5, align 8, !tbaa !8
  %1105 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1104)
  store <2 x i64> %1105, ptr %8, align 16, !tbaa !5
  %1106 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1107 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1108 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1107, i32 noundef 2)
  %1109 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1110 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1108, <2 x i64> noundef %1109)
  %1111 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1106, <2 x i64> noundef %1110)
  store <2 x i64> %1111, ptr %9, align 16, !tbaa !5
  br label %1112

1112:                                             ; preds = %1094
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1113 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1114 = bitcast <2 x i64> %1113 to <16 x i8>
  %1115 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1114, <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>
  %1116 = bitcast <16 x i8> %1115 to <2 x i64>
  %1117 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1118 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1116, <2 x i64> noundef %1117)
  store <2 x i64> %1118, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1119 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1120 = bitcast <2 x i64> %1119 to <16 x i8>
  %1121 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1120, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1122 = bitcast <16 x i8> %1121 to <2 x i64>
  %1123 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1124 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1122, <2 x i64> noundef %1123)
  store <2 x i64> %1124, ptr %73, align 16, !tbaa !5
  %1125 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1126 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1127 = bitcast <2 x i64> %1126 to <4 x i32>
  %1128 = shufflevector <4 x i32> %1127, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1129 = bitcast <4 x i32> %1128 to <2 x i64>
  %1130 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1125, <2 x i64> noundef %1129)
  store <2 x i64> %1130, 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 %1131

1131:                                             ; preds = %1112
  br label %1132

1132:                                             ; preds = %1131
  %1133 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1133, ptr %4, align 16, !tbaa !5
  %1134 = load ptr, ptr %7, align 8, !tbaa !8
  %1135 = getelementptr inbounds <2 x i64>, ptr %1134, i32 1
  store ptr %1135, ptr %7, align 8, !tbaa !8
  %1136 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1134, <2 x i64> noundef %1136)
  %1137 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1138 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1137, i32 noundef 15)
  store <2 x i64> %1138, ptr %10, align 16, !tbaa !5
  %1139 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1139, ptr %9, align 16, !tbaa !5
  br label %1140

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

1159:                                             ; preds = %1140
  br label %1160

1160:                                             ; preds = %1159
  %1161 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1161, ptr %4, align 16, !tbaa !5
  %1162 = load ptr, ptr %7, align 8, !tbaa !8
  %1163 = getelementptr inbounds <2 x i64>, ptr %1162, i32 1
  store ptr %1163, ptr %7, align 8, !tbaa !8
  %1164 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1162, <2 x i64> noundef %1164)
  %1165 = 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> %1165
}

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

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