; 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> @iunpack22(<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 4194303)
  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 22)
  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 10)
  %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 12)
  store <2 x i64> %148, ptr %10, align 16, !tbaa !5
  %149 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %149, ptr %9, align 16, !tbaa !5
  %150 = load ptr, ptr %5, align 8, !tbaa !8
  %151 = getelementptr inbounds <2 x i64>, ptr %150, i32 1
  store ptr %151, ptr %5, align 8, !tbaa !8
  %152 = load ptr, ptr %5, align 8, !tbaa !8
  %153 = call <2 x i64> @_mm_loadu_si128(ptr noundef %152)
  store <2 x i64> %153, ptr %8, align 16, !tbaa !5
  %154 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %155 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %156 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %155, i32 noundef 20)
  %157 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %158 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %156, <2 x i64> noundef %157)
  %159 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %154, <2 x i64> noundef %158)
  store <2 x i64> %159, ptr %9, align 16, !tbaa !5
  br label %160

160:                                              ; preds = %142
  call void @llvm.lifetime.start.p0(i64 16, ptr %16) #3
  %161 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %162 = bitcast <2 x i64> %161 to <16 x i8>
  %163 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %162, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %164 = bitcast <16 x i8> %163 to <2 x i64>
  %165 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %166 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %164, <2 x i64> noundef %165)
  store <2 x i64> %166, ptr %16, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %17) #3
  %167 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %168 = bitcast <2 x i64> %167 to <16 x i8>
  %169 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %168, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %170 = bitcast <16 x i8> %169 to <2 x i64>
  %171 = load <2 x i64>, ptr %16, align 16, !tbaa !5
  %172 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %170, <2 x i64> noundef %171)
  store <2 x i64> %172, ptr %17, align 16, !tbaa !5
  %173 = load <2 x i64>, ptr %17, align 16, !tbaa !5
  %174 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %175 = bitcast <2 x i64> %174 to <4 x i32>
  %176 = shufflevector <4 x i32> %175, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %177 = bitcast <4 x i32> %176 to <2 x i64>
  %178 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %173, <2 x i64> noundef %177)
  store <2 x i64> %178, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %17) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %16) #3
  br label %179

179:                                              ; preds = %160
  br label %180

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

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

209:                                              ; preds = %190
  br label %210

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

228:                                              ; preds = %210
  call void @llvm.lifetime.start.p0(i64 16, ptr %20) #3
  %229 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %230 = bitcast <2 x i64> %229 to <16 x i8>
  %231 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %230, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %232 = bitcast <16 x i8> %231 to <2 x i64>
  %233 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %234 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %232, <2 x i64> noundef %233)
  store <2 x i64> %234, ptr %20, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %21) #3
  %235 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %236 = bitcast <2 x i64> %235 to <16 x i8>
  %237 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %236, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %238 = bitcast <16 x i8> %237 to <2 x i64>
  %239 = load <2 x i64>, ptr %20, align 16, !tbaa !5
  %240 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %238, <2 x i64> noundef %239)
  store <2 x i64> %240, ptr %21, align 16, !tbaa !5
  %241 = load <2 x i64>, ptr %21, align 16, !tbaa !5
  %242 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %243 = bitcast <2 x i64> %242 to <4 x i32>
  %244 = shufflevector <4 x i32> %243, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %245 = bitcast <4 x i32> %244 to <2 x i64>
  %246 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %241, <2 x i64> noundef %245)
  store <2 x i64> %246, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %21) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %20) #3
  br label %247

247:                                              ; preds = %228
  br label %248

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

266:                                              ; preds = %248
  call void @llvm.lifetime.start.p0(i64 16, ptr %22) #3
  %267 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %268 = bitcast <2 x i64> %267 to <16 x i8>
  %269 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %268, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %270 = bitcast <16 x i8> %269 to <2 x i64>
  %271 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %272 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %270, <2 x i64> noundef %271)
  store <2 x i64> %272, ptr %22, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %23) #3
  %273 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %274 = bitcast <2 x i64> %273 to <16 x i8>
  %275 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %274, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %276 = bitcast <16 x i8> %275 to <2 x i64>
  %277 = load <2 x i64>, ptr %22, align 16, !tbaa !5
  %278 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %276, <2 x i64> noundef %277)
  store <2 x i64> %278, ptr %23, align 16, !tbaa !5
  %279 = load <2 x i64>, ptr %23, align 16, !tbaa !5
  %280 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %281 = bitcast <2 x i64> %280 to <4 x i32>
  %282 = shufflevector <4 x i32> %281, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %283 = bitcast <4 x i32> %282 to <2 x i64>
  %284 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %279, <2 x i64> noundef %283)
  store <2 x i64> %284, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %23) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %22) #3
  br label %285

285:                                              ; preds = %266
  br label %286

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

296:                                              ; preds = %286
  call void @llvm.lifetime.start.p0(i64 16, ptr %24) #3
  %297 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %298 = bitcast <2 x i64> %297 to <16 x i8>
  %299 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %298, <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>
  %300 = bitcast <16 x i8> %299 to <2 x i64>
  %301 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %302 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %300, <2 x i64> noundef %301)
  store <2 x i64> %302, ptr %24, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %25) #3
  %303 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %304 = bitcast <2 x i64> %303 to <16 x i8>
  %305 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %304, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %306 = bitcast <16 x i8> %305 to <2 x i64>
  %307 = load <2 x i64>, ptr %24, align 16, !tbaa !5
  %308 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %306, <2 x i64> noundef %307)
  store <2 x i64> %308, ptr %25, align 16, !tbaa !5
  %309 = load <2 x i64>, ptr %25, align 16, !tbaa !5
  %310 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %311 = bitcast <2 x i64> %310 to <4 x i32>
  %312 = shufflevector <4 x i32> %311, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %313 = bitcast <4 x i32> %312 to <2 x i64>
  %314 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %309, <2 x i64> noundef %313)
  store <2 x i64> %314, 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 %315

315:                                              ; preds = %296
  br label %316

316:                                              ; preds = %315
  %317 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %317, ptr %4, align 16, !tbaa !5
  %318 = load ptr, ptr %7, align 8, !tbaa !8
  %319 = getelementptr inbounds <2 x i64>, ptr %318, i32 1
  store ptr %319, ptr %7, align 8, !tbaa !8
  %320 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %318, <2 x i64> noundef %320)
  %321 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %322 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %321, i32 noundef 26)
  store <2 x i64> %322, ptr %10, align 16, !tbaa !5
  %323 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %323, ptr %9, align 16, !tbaa !5
  %324 = load ptr, ptr %5, align 8, !tbaa !8
  %325 = getelementptr inbounds <2 x i64>, ptr %324, i32 1
  store ptr %325, ptr %5, align 8, !tbaa !8
  %326 = load ptr, ptr %5, align 8, !tbaa !8
  %327 = call <2 x i64> @_mm_loadu_si128(ptr noundef %326)
  store <2 x i64> %327, ptr %8, align 16, !tbaa !5
  %328 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %329 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %330 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %329, i32 noundef 6)
  %331 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %332 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %330, <2 x i64> noundef %331)
  %333 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %328, <2 x i64> noundef %332)
  store <2 x i64> %333, ptr %9, align 16, !tbaa !5
  br label %334

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

353:                                              ; preds = %334
  br label %354

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

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

391:                                              ; preds = %372
  br label %392

392:                                              ; preds = %391
  %393 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %393, ptr %4, align 16, !tbaa !5
  %394 = load ptr, ptr %7, align 8, !tbaa !8
  %395 = getelementptr inbounds <2 x i64>, ptr %394, i32 1
  store ptr %395, ptr %7, align 8, !tbaa !8
  %396 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %394, <2 x i64> noundef %396)
  %397 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %398 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %397, i32 noundef 6)
  store <2 x i64> %398, ptr %10, align 16, !tbaa !5
  %399 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %400 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %401 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %399, <2 x i64> noundef %400)
  store <2 x i64> %401, ptr %9, align 16, !tbaa !5
  br label %402

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

421:                                              ; preds = %402
  br label %422

422:                                              ; preds = %421
  %423 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %423, ptr %4, align 16, !tbaa !5
  %424 = load ptr, ptr %7, align 8, !tbaa !8
  %425 = getelementptr inbounds <2 x i64>, ptr %424, i32 1
  store ptr %425, ptr %7, align 8, !tbaa !8
  %426 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %424, <2 x i64> noundef %426)
  %427 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %428 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %427, i32 noundef 28)
  store <2 x i64> %428, ptr %10, align 16, !tbaa !5
  %429 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %429, ptr %9, align 16, !tbaa !5
  %430 = load ptr, ptr %5, align 8, !tbaa !8
  %431 = getelementptr inbounds <2 x i64>, ptr %430, i32 1
  store ptr %431, ptr %5, align 8, !tbaa !8
  %432 = load ptr, ptr %5, align 8, !tbaa !8
  %433 = call <2 x i64> @_mm_loadu_si128(ptr noundef %432)
  store <2 x i64> %433, ptr %8, align 16, !tbaa !5
  %434 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %435 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %436 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %435, i32 noundef 4)
  %437 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %438 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %436, <2 x i64> noundef %437)
  %439 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %434, <2 x i64> noundef %438)
  store <2 x i64> %439, ptr %9, align 16, !tbaa !5
  br label %440

440:                                              ; preds = %422
  call void @llvm.lifetime.start.p0(i64 16, ptr %32) #3
  %441 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %442 = bitcast <2 x i64> %441 to <16 x i8>
  %443 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %442, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %444 = bitcast <16 x i8> %443 to <2 x i64>
  %445 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %446 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %444, <2 x i64> noundef %445)
  store <2 x i64> %446, ptr %32, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %33) #3
  %447 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %448 = bitcast <2 x i64> %447 to <16 x i8>
  %449 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %448, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %450 = bitcast <16 x i8> %449 to <2 x i64>
  %451 = load <2 x i64>, ptr %32, align 16, !tbaa !5
  %452 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %450, <2 x i64> noundef %451)
  store <2 x i64> %452, ptr %33, align 16, !tbaa !5
  %453 = load <2 x i64>, ptr %33, align 16, !tbaa !5
  %454 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %455 = bitcast <2 x i64> %454 to <4 x i32>
  %456 = shufflevector <4 x i32> %455, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %457 = bitcast <4 x i32> %456 to <2 x i64>
  %458 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %453, <2 x i64> noundef %457)
  store <2 x i64> %458, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %33) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %32) #3
  br label %459

459:                                              ; preds = %440
  br label %460

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

478:                                              ; preds = %460
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %479 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %480 = bitcast <2 x i64> %479 to <16 x i8>
  %481 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %480, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %482 = bitcast <16 x i8> %481 to <2 x i64>
  %483 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %484 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %482, <2 x i64> noundef %483)
  store <2 x i64> %484, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %485 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %486 = bitcast <2 x i64> %485 to <16 x i8>
  %487 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %486, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %488 = bitcast <16 x i8> %487 to <2 x i64>
  %489 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %490 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %488, <2 x i64> noundef %489)
  store <2 x i64> %490, ptr %35, align 16, !tbaa !5
  %491 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %492 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %493 = bitcast <2 x i64> %492 to <4 x i32>
  %494 = shufflevector <4 x i32> %493, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %495 = bitcast <4 x i32> %494 to <2 x i64>
  %496 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %491, <2 x i64> noundef %495)
  store <2 x i64> %496, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %35) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %34) #3
  br label %497

497:                                              ; preds = %478
  br label %498

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

508:                                              ; preds = %498
  call void @llvm.lifetime.start.p0(i64 16, ptr %36) #3
  %509 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %510 = bitcast <2 x i64> %509 to <16 x i8>
  %511 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %510, <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>
  %512 = bitcast <16 x i8> %511 to <2 x i64>
  %513 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %514 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %512, <2 x i64> noundef %513)
  store <2 x i64> %514, ptr %36, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %37) #3
  %515 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %516 = bitcast <2 x i64> %515 to <16 x i8>
  %517 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %516, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %518 = bitcast <16 x i8> %517 to <2 x i64>
  %519 = load <2 x i64>, ptr %36, align 16, !tbaa !5
  %520 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %518, <2 x i64> noundef %519)
  store <2 x i64> %520, ptr %37, align 16, !tbaa !5
  %521 = load <2 x i64>, ptr %37, align 16, !tbaa !5
  %522 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %523 = bitcast <2 x i64> %522 to <4 x i32>
  %524 = shufflevector <4 x i32> %523, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %525 = bitcast <4 x i32> %524 to <2 x i64>
  %526 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %521, <2 x i64> noundef %525)
  store <2 x i64> %526, 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 %527

527:                                              ; preds = %508
  br label %528

528:                                              ; preds = %527
  %529 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %529, ptr %4, align 16, !tbaa !5
  %530 = load ptr, ptr %7, align 8, !tbaa !8
  %531 = getelementptr inbounds <2 x i64>, ptr %530, i32 1
  store ptr %531, ptr %7, align 8, !tbaa !8
  %532 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %530, <2 x i64> noundef %532)
  %533 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %534 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %533, i32 noundef 30)
  store <2 x i64> %534, ptr %10, align 16, !tbaa !5
  %535 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %535, ptr %9, align 16, !tbaa !5
  %536 = load ptr, ptr %5, align 8, !tbaa !8
  %537 = getelementptr inbounds <2 x i64>, ptr %536, i32 1
  store ptr %537, ptr %5, align 8, !tbaa !8
  %538 = load ptr, ptr %5, align 8, !tbaa !8
  %539 = call <2 x i64> @_mm_loadu_si128(ptr noundef %538)
  store <2 x i64> %539, ptr %8, align 16, !tbaa !5
  %540 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %541 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %542 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %541, i32 noundef 2)
  %543 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %544 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %542, <2 x i64> noundef %543)
  %545 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %540, <2 x i64> noundef %544)
  store <2 x i64> %545, ptr %9, align 16, !tbaa !5
  br label %546

546:                                              ; preds = %528
  call void @llvm.lifetime.start.p0(i64 16, ptr %38) #3
  %547 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %548 = bitcast <2 x i64> %547 to <16 x i8>
  %549 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %548, <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>
  %550 = bitcast <16 x i8> %549 to <2 x i64>
  %551 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %552 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %550, <2 x i64> noundef %551)
  store <2 x i64> %552, ptr %38, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %39) #3
  %553 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %554 = bitcast <2 x i64> %553 to <16 x i8>
  %555 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %554, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %556 = bitcast <16 x i8> %555 to <2 x i64>
  %557 = load <2 x i64>, ptr %38, align 16, !tbaa !5
  %558 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %556, <2 x i64> noundef %557)
  store <2 x i64> %558, ptr %39, align 16, !tbaa !5
  %559 = load <2 x i64>, ptr %39, align 16, !tbaa !5
  %560 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %561 = bitcast <2 x i64> %560 to <4 x i32>
  %562 = shufflevector <4 x i32> %561, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %563 = bitcast <4 x i32> %562 to <2 x i64>
  %564 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %559, <2 x i64> noundef %563)
  store <2 x i64> %564, 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 %565

565:                                              ; preds = %546
  br label %566

566:                                              ; preds = %565
  %567 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %567, ptr %4, align 16, !tbaa !5
  %568 = load ptr, ptr %7, align 8, !tbaa !8
  %569 = getelementptr inbounds <2 x i64>, ptr %568, i32 1
  store ptr %569, ptr %7, align 8, !tbaa !8
  %570 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %568, <2 x i64> noundef %570)
  %571 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %572 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %571, i32 noundef 20)
  store <2 x i64> %572, ptr %10, align 16, !tbaa !5
  %573 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %573, ptr %9, align 16, !tbaa !5
  %574 = load ptr, ptr %5, align 8, !tbaa !8
  %575 = getelementptr inbounds <2 x i64>, ptr %574, i32 1
  store ptr %575, ptr %5, align 8, !tbaa !8
  %576 = load ptr, ptr %5, align 8, !tbaa !8
  %577 = call <2 x i64> @_mm_loadu_si128(ptr noundef %576)
  store <2 x i64> %577, ptr %8, align 16, !tbaa !5
  %578 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %579 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %580 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %579, i32 noundef 12)
  %581 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %582 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %580, <2 x i64> noundef %581)
  %583 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %578, <2 x i64> noundef %582)
  store <2 x i64> %583, ptr %9, align 16, !tbaa !5
  br label %584

584:                                              ; preds = %566
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #3
  %585 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %586 = bitcast <2 x i64> %585 to <16 x i8>
  %587 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %586, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %588 = bitcast <16 x i8> %587 to <2 x i64>
  %589 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %590 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %588, <2 x i64> noundef %589)
  store <2 x i64> %590, ptr %40, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %41) #3
  %591 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %592 = bitcast <2 x i64> %591 to <16 x i8>
  %593 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %592, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %594 = bitcast <16 x i8> %593 to <2 x i64>
  %595 = load <2 x i64>, ptr %40, align 16, !tbaa !5
  %596 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %594, <2 x i64> noundef %595)
  store <2 x i64> %596, ptr %41, align 16, !tbaa !5
  %597 = load <2 x i64>, ptr %41, align 16, !tbaa !5
  %598 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %599 = bitcast <2 x i64> %598 to <4 x i32>
  %600 = shufflevector <4 x i32> %599, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %601 = bitcast <4 x i32> %600 to <2 x i64>
  %602 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %597, <2 x i64> noundef %601)
  store <2 x i64> %602, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %41) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #3
  br label %603

603:                                              ; preds = %584
  br label %604

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

616:                                              ; preds = %604
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %617 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %618 = bitcast <2 x i64> %617 to <16 x i8>
  %619 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %618, <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>
  %620 = bitcast <16 x i8> %619 to <2 x i64>
  %621 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %622 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %620, <2 x i64> noundef %621)
  store <2 x i64> %622, ptr %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %623 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %624 = bitcast <2 x i64> %623 to <16 x i8>
  %625 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %624, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %626 = bitcast <16 x i8> %625 to <2 x i64>
  %627 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %628 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %626, <2 x i64> noundef %627)
  store <2 x i64> %628, ptr %43, align 16, !tbaa !5
  %629 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %630 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %631 = bitcast <2 x i64> %630 to <4 x i32>
  %632 = shufflevector <4 x i32> %631, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %633 = bitcast <4 x i32> %632 to <2 x i64>
  %634 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %629, <2 x i64> noundef %633)
  store <2 x i64> %634, 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 %635

635:                                              ; preds = %616
  br label %636

636:                                              ; preds = %635
  %637 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %637, ptr %4, align 16, !tbaa !5
  %638 = load ptr, ptr %7, align 8, !tbaa !8
  %639 = getelementptr inbounds <2 x i64>, ptr %638, i32 1
  store ptr %639, ptr %7, align 8, !tbaa !8
  %640 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %638, <2 x i64> noundef %640)
  %641 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %641, ptr %10, align 16, !tbaa !5
  %642 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %643 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %644 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %642, <2 x i64> noundef %643)
  store <2 x i64> %644, ptr %9, align 16, !tbaa !5
  br label %645

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

664:                                              ; preds = %645
  br label %665

665:                                              ; preds = %664
  %666 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %666, ptr %4, align 16, !tbaa !5
  %667 = load ptr, ptr %7, align 8, !tbaa !8
  %668 = getelementptr inbounds <2 x i64>, ptr %667, i32 1
  store ptr %668, ptr %7, align 8, !tbaa !8
  %669 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %667, <2 x i64> noundef %669)
  %670 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %671 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %670, i32 noundef 22)
  store <2 x i64> %671, ptr %10, align 16, !tbaa !5
  %672 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %672, ptr %9, align 16, !tbaa !5
  %673 = load ptr, ptr %5, align 8, !tbaa !8
  %674 = getelementptr inbounds <2 x i64>, ptr %673, i32 1
  store ptr %674, ptr %5, align 8, !tbaa !8
  %675 = load ptr, ptr %5, align 8, !tbaa !8
  %676 = call <2 x i64> @_mm_loadu_si128(ptr noundef %675)
  store <2 x i64> %676, ptr %8, align 16, !tbaa !5
  %677 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %678 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %679 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %678, i32 noundef 10)
  %680 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %681 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %679, <2 x i64> noundef %680)
  %682 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %677, <2 x i64> noundef %681)
  store <2 x i64> %682, ptr %9, align 16, !tbaa !5
  br label %683

683:                                              ; preds = %665
  call void @llvm.lifetime.start.p0(i64 16, ptr %46) #3
  %684 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %685 = bitcast <2 x i64> %684 to <16 x i8>
  %686 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %685, <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>
  %687 = bitcast <16 x i8> %686 to <2 x i64>
  %688 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %689 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %687, <2 x i64> noundef %688)
  store <2 x i64> %689, ptr %46, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %47) #3
  %690 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %691 = bitcast <2 x i64> %690 to <16 x i8>
  %692 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %691, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %693 = bitcast <16 x i8> %692 to <2 x i64>
  %694 = load <2 x i64>, ptr %46, align 16, !tbaa !5
  %695 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %693, <2 x i64> noundef %694)
  store <2 x i64> %695, ptr %47, align 16, !tbaa !5
  %696 = load <2 x i64>, ptr %47, align 16, !tbaa !5
  %697 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %698 = bitcast <2 x i64> %697 to <4 x i32>
  %699 = shufflevector <4 x i32> %698, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %700 = bitcast <4 x i32> %699 to <2 x i64>
  %701 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %696, <2 x i64> noundef %700)
  store <2 x i64> %701, 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 %702

702:                                              ; preds = %683
  br label %703

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

721:                                              ; preds = %703
  call void @llvm.lifetime.start.p0(i64 16, ptr %48) #3
  %722 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %723 = bitcast <2 x i64> %722 to <16 x i8>
  %724 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %723, <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>
  %725 = bitcast <16 x i8> %724 to <2 x i64>
  %726 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %727 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %725, <2 x i64> noundef %726)
  store <2 x i64> %727, ptr %48, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %49) #3
  %728 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %729 = bitcast <2 x i64> %728 to <16 x i8>
  %730 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %729, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %731 = bitcast <16 x i8> %730 to <2 x i64>
  %732 = load <2 x i64>, ptr %48, align 16, !tbaa !5
  %733 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %731, <2 x i64> noundef %732)
  store <2 x i64> %733, ptr %49, align 16, !tbaa !5
  %734 = load <2 x i64>, ptr %49, align 16, !tbaa !5
  %735 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %736 = bitcast <2 x i64> %735 to <4 x i32>
  %737 = shufflevector <4 x i32> %736, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %738 = bitcast <4 x i32> %737 to <2 x i64>
  %739 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %734, <2 x i64> noundef %738)
  store <2 x i64> %739, 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 %740

740:                                              ; preds = %721
  br label %741

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

751:                                              ; preds = %741
  call void @llvm.lifetime.start.p0(i64 16, ptr %50) #3
  %752 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %753 = bitcast <2 x i64> %752 to <16 x i8>
  %754 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %753, <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>
  %755 = bitcast <16 x i8> %754 to <2 x i64>
  %756 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %757 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %755, <2 x i64> noundef %756)
  store <2 x i64> %757, ptr %50, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %51) #3
  %758 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %759 = bitcast <2 x i64> %758 to <16 x i8>
  %760 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %759, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %761 = bitcast <16 x i8> %760 to <2 x i64>
  %762 = load <2 x i64>, ptr %50, align 16, !tbaa !5
  %763 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %761, <2 x i64> noundef %762)
  store <2 x i64> %763, ptr %51, align 16, !tbaa !5
  %764 = load <2 x i64>, ptr %51, align 16, !tbaa !5
  %765 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %766 = bitcast <2 x i64> %765 to <4 x i32>
  %767 = shufflevector <4 x i32> %766, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %768 = bitcast <4 x i32> %767 to <2 x i64>
  %769 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %764, <2 x i64> noundef %768)
  store <2 x i64> %769, 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 %770

770:                                              ; preds = %751
  br label %771

771:                                              ; preds = %770
  %772 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %772, ptr %4, align 16, !tbaa !5
  %773 = load ptr, ptr %7, align 8, !tbaa !8
  %774 = getelementptr inbounds <2 x i64>, ptr %773, i32 1
  store ptr %774, ptr %7, align 8, !tbaa !8
  %775 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %773, <2 x i64> noundef %775)
  %776 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %777 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %776, i32 noundef 24)
  store <2 x i64> %777, ptr %10, align 16, !tbaa !5
  %778 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %778, ptr %9, align 16, !tbaa !5
  %779 = load ptr, ptr %5, align 8, !tbaa !8
  %780 = getelementptr inbounds <2 x i64>, ptr %779, i32 1
  store ptr %780, ptr %5, align 8, !tbaa !8
  %781 = load ptr, ptr %5, align 8, !tbaa !8
  %782 = call <2 x i64> @_mm_loadu_si128(ptr noundef %781)
  store <2 x i64> %782, ptr %8, align 16, !tbaa !5
  %783 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %784 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %785 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %784, i32 noundef 8)
  %786 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %787 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %785, <2 x i64> noundef %786)
  %788 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %783, <2 x i64> noundef %787)
  store <2 x i64> %788, ptr %9, align 16, !tbaa !5
  br label %789

789:                                              ; preds = %771
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #3
  %790 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %791 = bitcast <2 x i64> %790 to <16 x i8>
  %792 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %791, <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>
  %793 = bitcast <16 x i8> %792 to <2 x i64>
  %794 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %795 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %793, <2 x i64> noundef %794)
  store <2 x i64> %795, ptr %52, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %53) #3
  %796 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %797 = bitcast <2 x i64> %796 to <16 x i8>
  %798 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %797, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %799 = bitcast <16 x i8> %798 to <2 x i64>
  %800 = load <2 x i64>, ptr %52, align 16, !tbaa !5
  %801 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %799, <2 x i64> noundef %800)
  store <2 x i64> %801, ptr %53, align 16, !tbaa !5
  %802 = load <2 x i64>, ptr %53, align 16, !tbaa !5
  %803 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %804 = bitcast <2 x i64> %803 to <4 x i32>
  %805 = shufflevector <4 x i32> %804, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %806 = bitcast <4 x i32> %805 to <2 x i64>
  %807 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %802, <2 x i64> noundef %806)
  store <2 x i64> %807, 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 %808

808:                                              ; preds = %789
  br label %809

809:                                              ; preds = %808
  %810 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %810, ptr %4, align 16, !tbaa !5
  %811 = load ptr, ptr %7, align 8, !tbaa !8
  %812 = getelementptr inbounds <2 x i64>, ptr %811, i32 1
  store ptr %812, ptr %7, align 8, !tbaa !8
  %813 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %811, <2 x i64> noundef %813)
  %814 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %815 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %814, i32 noundef 14)
  store <2 x i64> %815, ptr %10, align 16, !tbaa !5
  %816 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %816, ptr %9, align 16, !tbaa !5
  %817 = load ptr, ptr %5, align 8, !tbaa !8
  %818 = getelementptr inbounds <2 x i64>, ptr %817, i32 1
  store ptr %818, ptr %5, align 8, !tbaa !8
  %819 = load ptr, ptr %5, align 8, !tbaa !8
  %820 = call <2 x i64> @_mm_loadu_si128(ptr noundef %819)
  store <2 x i64> %820, ptr %8, align 16, !tbaa !5
  %821 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %822 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %823 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %822, i32 noundef 18)
  %824 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %825 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %823, <2 x i64> noundef %824)
  %826 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %821, <2 x i64> noundef %825)
  store <2 x i64> %826, ptr %9, align 16, !tbaa !5
  br label %827

827:                                              ; preds = %809
  call void @llvm.lifetime.start.p0(i64 16, ptr %54) #3
  %828 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %829 = bitcast <2 x i64> %828 to <16 x i8>
  %830 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %829, <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>
  %831 = bitcast <16 x i8> %830 to <2 x i64>
  %832 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %833 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %831, <2 x i64> noundef %832)
  store <2 x i64> %833, ptr %54, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %55) #3
  %834 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %835 = bitcast <2 x i64> %834 to <16 x i8>
  %836 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %835, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %837 = bitcast <16 x i8> %836 to <2 x i64>
  %838 = load <2 x i64>, ptr %54, align 16, !tbaa !5
  %839 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %837, <2 x i64> noundef %838)
  store <2 x i64> %839, ptr %55, align 16, !tbaa !5
  %840 = load <2 x i64>, ptr %55, align 16, !tbaa !5
  %841 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %842 = bitcast <2 x i64> %841 to <4 x i32>
  %843 = shufflevector <4 x i32> %842, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %844 = bitcast <4 x i32> %843 to <2 x i64>
  %845 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %840, <2 x i64> noundef %844)
  store <2 x i64> %845, 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 %846

846:                                              ; preds = %827
  br label %847

847:                                              ; preds = %846
  %848 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %848, ptr %4, align 16, !tbaa !5
  %849 = load ptr, ptr %7, align 8, !tbaa !8
  %850 = getelementptr inbounds <2 x i64>, ptr %849, i32 1
  store ptr %850, ptr %7, align 8, !tbaa !8
  %851 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %849, <2 x i64> noundef %851)
  %852 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %853 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %852, i32 noundef 4)
  store <2 x i64> %853, ptr %10, align 16, !tbaa !5
  %854 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %855 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %856 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %854, <2 x i64> noundef %855)
  store <2 x i64> %856, ptr %9, align 16, !tbaa !5
  br label %857

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

876:                                              ; preds = %857
  br label %877

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

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

914:                                              ; preds = %895
  br label %915

915:                                              ; preds = %914
  %916 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %916, ptr %4, align 16, !tbaa !5
  %917 = load ptr, ptr %7, align 8, !tbaa !8
  %918 = getelementptr inbounds <2 x i64>, ptr %917, i32 1
  store ptr %918, ptr %7, align 8, !tbaa !8
  %919 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %917, <2 x i64> noundef %919)
  %920 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %921 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %920, i32 noundef 16)
  store <2 x i64> %921, ptr %10, align 16, !tbaa !5
  %922 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %922, ptr %9, align 16, !tbaa !5
  %923 = load ptr, ptr %5, align 8, !tbaa !8
  %924 = getelementptr inbounds <2 x i64>, ptr %923, i32 1
  store ptr %924, ptr %5, align 8, !tbaa !8
  %925 = load ptr, ptr %5, align 8, !tbaa !8
  %926 = call <2 x i64> @_mm_loadu_si128(ptr noundef %925)
  store <2 x i64> %926, ptr %8, align 16, !tbaa !5
  %927 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %928 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %929 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %928, i32 noundef 16)
  %930 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %931 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %929, <2 x i64> noundef %930)
  %932 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %927, <2 x i64> noundef %931)
  store <2 x i64> %932, ptr %9, align 16, !tbaa !5
  br label %933

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

952:                                              ; preds = %933
  br label %953

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

963:                                              ; preds = %953
  call void @llvm.lifetime.start.p0(i64 16, ptr %62) #3
  %964 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %965 = bitcast <2 x i64> %964 to <16 x i8>
  %966 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %965, <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>
  %967 = bitcast <16 x i8> %966 to <2 x i64>
  %968 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %969 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %967, <2 x i64> noundef %968)
  store <2 x i64> %969, ptr %62, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %63) #3
  %970 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %971 = bitcast <2 x i64> %970 to <16 x i8>
  %972 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %971, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %973 = bitcast <16 x i8> %972 to <2 x i64>
  %974 = load <2 x i64>, ptr %62, align 16, !tbaa !5
  %975 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %973, <2 x i64> noundef %974)
  store <2 x i64> %975, ptr %63, align 16, !tbaa !5
  %976 = load <2 x i64>, ptr %63, align 16, !tbaa !5
  %977 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %978 = bitcast <2 x i64> %977 to <4 x i32>
  %979 = shufflevector <4 x i32> %978, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %980 = bitcast <4 x i32> %979 to <2 x i64>
  %981 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %976, <2 x i64> noundef %980)
  store <2 x i64> %981, 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 %982

982:                                              ; preds = %963
  br label %983

983:                                              ; preds = %982
  %984 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %984, ptr %4, align 16, !tbaa !5
  %985 = load ptr, ptr %7, align 8, !tbaa !8
  %986 = getelementptr inbounds <2 x i64>, ptr %985, i32 1
  store ptr %986, ptr %7, align 8, !tbaa !8
  %987 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %985, <2 x i64> noundef %987)
  %988 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %989 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %988, i32 noundef 28)
  store <2 x i64> %989, ptr %10, align 16, !tbaa !5
  %990 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %990, ptr %9, align 16, !tbaa !5
  %991 = load ptr, ptr %5, align 8, !tbaa !8
  %992 = getelementptr inbounds <2 x i64>, ptr %991, i32 1
  store ptr %992, ptr %5, align 8, !tbaa !8
  %993 = load ptr, ptr %5, align 8, !tbaa !8
  %994 = call <2 x i64> @_mm_loadu_si128(ptr noundef %993)
  store <2 x i64> %994, ptr %8, align 16, !tbaa !5
  %995 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %996 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %997 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %996, i32 noundef 4)
  %998 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %999 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %997, <2 x i64> noundef %998)
  %1000 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %995, <2 x i64> noundef %999)
  store <2 x i64> %1000, ptr %9, align 16, !tbaa !5
  br label %1001

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

1020:                                             ; preds = %1001
  br label %1021

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

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

1058:                                             ; preds = %1039
  br label %1059

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

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

1088:                                             ; preds = %1069
  br label %1089

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

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

1126:                                             ; preds = %1107
  br label %1127

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

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

1164:                                             ; preds = %1145
  br label %1165

1165:                                             ; preds = %1164
  %1166 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1166, ptr %4, align 16, !tbaa !5
  %1167 = load ptr, ptr %7, align 8, !tbaa !8
  %1168 = getelementptr inbounds <2 x i64>, ptr %1167, i32 1
  store ptr %1168, ptr %7, align 8, !tbaa !8
  %1169 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1167, <2 x i64> noundef %1169)
  %1170 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1171 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1170, i32 noundef 10)
  store <2 x i64> %1171, ptr %10, align 16, !tbaa !5
  %1172 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1172, ptr %9, align 16, !tbaa !5
  br label %1173

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

1192:                                             ; preds = %1173
  br label %1193

1193:                                             ; preds = %1192
  %1194 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1194, ptr %4, align 16, !tbaa !5
  %1195 = load ptr, ptr %7, align 8, !tbaa !8
  %1196 = getelementptr inbounds <2 x i64>, ptr %1195, i32 1
  store ptr %1196, ptr %7, align 8, !tbaa !8
  %1197 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1195, <2 x i64> noundef %1197)
  %1198 = 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> %1198
}

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

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