; 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> @iunpack15(<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 32767)
  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 15)
  store <2 x i64> %110, ptr %10, align 16, !tbaa !5
  %111 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %112 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %113 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %111, <2 x i64> noundef %112)
  store <2 x i64> %113, ptr %9, align 16, !tbaa !5
  br label %114

114:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #3
  %115 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %116 = bitcast <2 x i64> %115 to <16 x i8>
  %117 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %116, <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>
  %118 = bitcast <16 x i8> %117 to <2 x i64>
  %119 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %120 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %118, <2 x i64> noundef %119)
  store <2 x i64> %120, ptr %14, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #3
  %121 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %122 = bitcast <2 x i64> %121 to <16 x i8>
  %123 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %122, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %124 = bitcast <16 x i8> %123 to <2 x i64>
  %125 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %126 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %124, <2 x i64> noundef %125)
  store <2 x i64> %126, ptr %15, align 16, !tbaa !5
  %127 = load <2 x i64>, ptr %15, align 16, !tbaa !5
  %128 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %129 = bitcast <2 x i64> %128 to <4 x i32>
  %130 = shufflevector <4 x i32> %129, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %131 = bitcast <4 x i32> %130 to <2 x i64>
  %132 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %127, <2 x i64> noundef %131)
  store <2 x i64> %132, 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 %133

133:                                              ; preds = %114
  br label %134

134:                                              ; preds = %133
  %135 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %135, ptr %4, align 16, !tbaa !5
  %136 = load ptr, ptr %7, align 8, !tbaa !8
  %137 = getelementptr inbounds <2 x i64>, ptr %136, i32 1
  store ptr %137, ptr %7, align 8, !tbaa !8
  %138 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %136, <2 x i64> noundef %138)
  %139 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %140 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %139, i32 noundef 30)
  store <2 x i64> %140, ptr %10, align 16, !tbaa !5
  %141 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %141, ptr %9, align 16, !tbaa !5
  %142 = load ptr, ptr %5, align 8, !tbaa !8
  %143 = getelementptr inbounds <2 x i64>, ptr %142, i32 1
  store ptr %143, ptr %5, align 8, !tbaa !8
  %144 = load ptr, ptr %5, align 8, !tbaa !8
  %145 = call <2 x i64> @_mm_loadu_si128(ptr noundef %144)
  store <2 x i64> %145, ptr %8, align 16, !tbaa !5
  %146 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %147 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %148 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %147, i32 noundef 2)
  %149 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %150 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %148, <2 x i64> noundef %149)
  %151 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %146, <2 x i64> noundef %150)
  store <2 x i64> %151, ptr %9, align 16, !tbaa !5
  br label %152

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

171:                                              ; preds = %152
  br label %172

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

182:                                              ; preds = %172
  call void @llvm.lifetime.start.p0(i64 16, ptr %18) #3
  %183 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %184 = bitcast <2 x i64> %183 to <16 x i8>
  %185 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %184, <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>
  %186 = bitcast <16 x i8> %185 to <2 x i64>
  %187 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %188 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %186, <2 x i64> noundef %187)
  store <2 x i64> %188, ptr %18, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %19) #3
  %189 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %190 = bitcast <2 x i64> %189 to <16 x i8>
  %191 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %190, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %192 = bitcast <16 x i8> %191 to <2 x i64>
  %193 = load <2 x i64>, ptr %18, align 16, !tbaa !5
  %194 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %192, <2 x i64> noundef %193)
  store <2 x i64> %194, ptr %19, align 16, !tbaa !5
  %195 = load <2 x i64>, ptr %19, align 16, !tbaa !5
  %196 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %197 = bitcast <2 x i64> %196 to <4 x i32>
  %198 = shufflevector <4 x i32> %197, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %199 = bitcast <4 x i32> %198 to <2 x i64>
  %200 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %195, <2 x i64> noundef %199)
  store <2 x i64> %200, 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 %201

201:                                              ; preds = %182
  br label %202

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

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

239:                                              ; preds = %220
  br label %240

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

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

269:                                              ; preds = %250
  br label %270

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

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

307:                                              ; preds = %288
  br label %308

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

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

337:                                              ; preds = %318
  br label %338

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

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

375:                                              ; preds = %356
  br label %376

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

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

405:                                              ; preds = %386
  br label %406

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

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

443:                                              ; preds = %424
  br label %444

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

454:                                              ; preds = %444
  call void @llvm.lifetime.start.p0(i64 16, ptr %34) #3
  %455 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %456 = bitcast <2 x i64> %455 to <16 x i8>
  %457 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %456, <16 x i32> <i32 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>
  %458 = bitcast <16 x i8> %457 to <2 x i64>
  %459 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %460 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %458, <2 x i64> noundef %459)
  store <2 x i64> %460, ptr %34, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %35) #3
  %461 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %462 = bitcast <2 x i64> %461 to <16 x i8>
  %463 = shufflevector <16 x i8> zeroinitializer, <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 = load <2 x i64>, ptr %34, align 16, !tbaa !5
  %466 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %464, <2 x i64> noundef %465)
  store <2 x i64> %466, ptr %35, align 16, !tbaa !5
  %467 = load <2 x i64>, ptr %35, align 16, !tbaa !5
  %468 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %469 = bitcast <2 x i64> %468 to <4 x i32>
  %470 = shufflevector <4 x i32> %469, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %471 = bitcast <4 x i32> %470 to <2 x i64>
  %472 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %467, <2 x i64> noundef %471)
  store <2 x i64> %472, 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 %473

473:                                              ; preds = %454
  br label %474

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

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

511:                                              ; preds = %492
  br label %512

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

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

541:                                              ; preds = %522
  br label %542

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

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

579:                                              ; preds = %560
  br label %580

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

590:                                              ; preds = %580
  call void @llvm.lifetime.start.p0(i64 16, ptr %42) #3
  %591 = load <2 x i64>, ptr %9, 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 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>
  %594 = bitcast <16 x i8> %593 to <2 x i64>
  %595 = load <2 x i64>, ptr %9, 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 %42, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %43) #3
  %597 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %598 = bitcast <2 x i64> %597 to <16 x i8>
  %599 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %598, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %600 = bitcast <16 x i8> %599 to <2 x i64>
  %601 = load <2 x i64>, ptr %42, align 16, !tbaa !5
  %602 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %600, <2 x i64> noundef %601)
  store <2 x i64> %602, ptr %43, align 16, !tbaa !5
  %603 = load <2 x i64>, ptr %43, align 16, !tbaa !5
  %604 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %605 = bitcast <2 x i64> %604 to <4 x i32>
  %606 = shufflevector <4 x i32> %605, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %607 = bitcast <4 x i32> %606 to <2 x i64>
  %608 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %603, <2 x i64> noundef %607)
  store <2 x i64> %608, 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 %609

609:                                              ; preds = %590
  br label %610

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

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

639:                                              ; preds = %620
  br label %640

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

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

677:                                              ; preds = %658
  br label %678

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

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

707:                                              ; preds = %688
  br label %708

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

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

745:                                              ; preds = %726
  br label %746

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

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

775:                                              ; preds = %756
  br label %776

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

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

813:                                              ; preds = %794
  br label %814

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

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

843:                                              ; preds = %824
  br label %844

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

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

881:                                              ; preds = %862
  br label %882

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

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

911:                                              ; preds = %892
  br label %912

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

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

949:                                              ; preds = %930
  br label %950

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

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

979:                                              ; preds = %960
  br label %980

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

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

1017:                                             ; preds = %998
  br label %1018

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

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

1047:                                             ; preds = %1028
  br label %1048

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

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

1085:                                             ; preds = %1066
  br label %1086

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

1096:                                             ; preds = %1086
  call void @llvm.lifetime.start.p0(i64 16, ptr %72) #3
  %1097 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1098 = bitcast <2 x i64> %1097 to <16 x i8>
  %1099 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1098, <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>
  %1100 = bitcast <16 x i8> %1099 to <2 x i64>
  %1101 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1102 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1100, <2 x i64> noundef %1101)
  store <2 x i64> %1102, ptr %72, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #3
  %1103 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1104 = bitcast <2 x i64> %1103 to <16 x i8>
  %1105 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1104, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1106 = bitcast <16 x i8> %1105 to <2 x i64>
  %1107 = load <2 x i64>, ptr %72, align 16, !tbaa !5
  %1108 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1106, <2 x i64> noundef %1107)
  store <2 x i64> %1108, ptr %73, align 16, !tbaa !5
  %1109 = load <2 x i64>, ptr %73, align 16, !tbaa !5
  %1110 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1111 = bitcast <2 x i64> %1110 to <4 x i32>
  %1112 = shufflevector <4 x i32> %1111, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1113 = bitcast <4 x i32> %1112 to <2 x i64>
  %1114 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1109, <2 x i64> noundef %1113)
  store <2 x i64> %1114, 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 %1115

1115:                                             ; preds = %1096
  br label %1116

1116:                                             ; preds = %1115
  %1117 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1117, ptr %4, align 16, !tbaa !5
  %1118 = load ptr, ptr %7, align 8, !tbaa !8
  %1119 = getelementptr inbounds <2 x i64>, ptr %1118, i32 1
  store ptr %1119, ptr %7, align 8, !tbaa !8
  %1120 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1118, <2 x i64> noundef %1120)
  %1121 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1122 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1121, i32 noundef 17)
  store <2 x i64> %1122, ptr %10, align 16, !tbaa !5
  %1123 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1123, ptr %9, align 16, !tbaa !5
  br label %1124

1124:                                             ; preds = %1116
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1125 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1126 = bitcast <2 x i64> %1125 to <16 x i8>
  %1127 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1126, <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>
  %1128 = bitcast <16 x i8> %1127 to <2 x i64>
  %1129 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1130 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1128, <2 x i64> noundef %1129)
  store <2 x i64> %1130, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1131 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1132 = bitcast <2 x i64> %1131 to <16 x i8>
  %1133 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1132, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1134 = bitcast <16 x i8> %1133 to <2 x i64>
  %1135 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1136 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1134, <2 x i64> noundef %1135)
  store <2 x i64> %1136, ptr %75, align 16, !tbaa !5
  %1137 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1138 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1139 = bitcast <2 x i64> %1138 to <4 x i32>
  %1140 = shufflevector <4 x i32> %1139, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1141 = bitcast <4 x i32> %1140 to <2 x i64>
  %1142 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1137, <2 x i64> noundef %1141)
  store <2 x i64> %1142, 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 %1143

1143:                                             ; preds = %1124
  br label %1144

1144:                                             ; preds = %1143
  %1145 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1145, ptr %4, align 16, !tbaa !5
  %1146 = load ptr, ptr %7, align 8, !tbaa !8
  %1147 = getelementptr inbounds <2 x i64>, ptr %1146, i32 1
  store ptr %1147, ptr %7, align 8, !tbaa !8
  %1148 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1146, <2 x i64> noundef %1148)
  %1149 = 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> %1149
}

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

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