; 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> @iunpack20(<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 1048575)
  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 20)
  store <2 x i64> %110, ptr %10, align 16, !tbaa !5
  %111 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %111, ptr %9, align 16, !tbaa !5
  %112 = load ptr, ptr %5, align 8, !tbaa !8
  %113 = getelementptr inbounds <2 x i64>, ptr %112, i32 1
  store ptr %113, ptr %5, align 8, !tbaa !8
  %114 = load ptr, ptr %5, align 8, !tbaa !8
  %115 = call <2 x i64> @_mm_loadu_si128(ptr noundef %114)
  store <2 x i64> %115, ptr %8, align 16, !tbaa !5
  %116 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %117 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %118 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %117, i32 noundef 12)
  %119 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %120 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %118, <2 x i64> noundef %119)
  %121 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %116, <2 x i64> noundef %120)
  store <2 x i64> %121, ptr %9, align 16, !tbaa !5
  br label %122

122:                                              ; preds = %104
  call void @llvm.lifetime.start.p0(i64 16, ptr %14) #3
  %123 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %124 = bitcast <2 x i64> %123 to <16 x i8>
  %125 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %124, <16 x i32> <i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23>
  %126 = bitcast <16 x i8> %125 to <2 x i64>
  %127 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %128 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %126, <2 x i64> noundef %127)
  store <2 x i64> %128, ptr %14, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %15) #3
  %129 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %130 = bitcast <2 x i64> %129 to <16 x i8>
  %131 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %130, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %132 = bitcast <16 x i8> %131 to <2 x i64>
  %133 = load <2 x i64>, ptr %14, align 16, !tbaa !5
  %134 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %132, <2 x i64> noundef %133)
  store <2 x i64> %134, ptr %15, align 16, !tbaa !5
  %135 = load <2 x i64>, ptr %15, align 16, !tbaa !5
  %136 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %137 = bitcast <2 x i64> %136 to <4 x i32>
  %138 = shufflevector <4 x i32> %137, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %139 = bitcast <4 x i32> %138 to <2 x i64>
  %140 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %135, <2 x i64> noundef %139)
  store <2 x i64> %140, ptr %9, align 16, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 16, ptr %15) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %14) #3
  br label %141

141:                                              ; preds = %122
  br label %142

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

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

171:                                              ; preds = %152
  br label %172

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

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

209:                                              ; preds = %190
  br label %210

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

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

247:                                              ; preds = %228
  br label %248

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

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

277:                                              ; preds = %258
  br label %278

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

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

315:                                              ; preds = %296
  br label %316

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

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

347:                                              ; preds = %328
  br label %348

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

357:                                              ; preds = %348
  call void @llvm.lifetime.start.p0(i64 16, ptr %28) #3
  %358 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %359 = bitcast <2 x i64> %358 to <16 x i8>
  %360 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %359, <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>
  %361 = bitcast <16 x i8> %360 to <2 x i64>
  %362 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %363 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %361, <2 x i64> noundef %362)
  store <2 x i64> %363, ptr %28, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #3
  %364 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %365 = bitcast <2 x i64> %364 to <16 x i8>
  %366 = shufflevector <16 x i8> zeroinitializer, <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 = load <2 x i64>, ptr %28, align 16, !tbaa !5
  %369 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %367, <2 x i64> noundef %368)
  store <2 x i64> %369, ptr %29, align 16, !tbaa !5
  %370 = load <2 x i64>, ptr %29, align 16, !tbaa !5
  %371 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %372 = bitcast <2 x i64> %371 to <4 x i32>
  %373 = shufflevector <4 x i32> %372, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %374 = bitcast <4 x i32> %373 to <2 x i64>
  %375 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %370, <2 x i64> noundef %374)
  store <2 x i64> %375, 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 %376

376:                                              ; preds = %357
  br label %377

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

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

414:                                              ; preds = %395
  br label %415

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

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

444:                                              ; preds = %425
  br label %445

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

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

482:                                              ; preds = %463
  br label %483

483:                                              ; preds = %482
  %484 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %484, ptr %4, align 16, !tbaa !5
  %485 = load ptr, ptr %7, align 8, !tbaa !8
  %486 = getelementptr inbounds <2 x i64>, ptr %485, i32 1
  store ptr %486, ptr %7, align 8, !tbaa !8
  %487 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %485, <2 x i64> noundef %487)
  %488 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %489 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %488, i32 noundef 16)
  store <2 x i64> %489, ptr %10, align 16, !tbaa !5
  %490 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %490, ptr %9, align 16, !tbaa !5
  %491 = load ptr, ptr %5, align 8, !tbaa !8
  %492 = getelementptr inbounds <2 x i64>, ptr %491, i32 1
  store ptr %492, ptr %5, align 8, !tbaa !8
  %493 = load ptr, ptr %5, align 8, !tbaa !8
  %494 = call <2 x i64> @_mm_loadu_si128(ptr noundef %493)
  store <2 x i64> %494, ptr %8, align 16, !tbaa !5
  %495 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %496 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %497 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %496, i32 noundef 16)
  %498 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %499 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %497, <2 x i64> noundef %498)
  %500 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %495, <2 x i64> noundef %499)
  store <2 x i64> %500, ptr %9, align 16, !tbaa !5
  br label %501

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

520:                                              ; preds = %501
  br label %521

521:                                              ; preds = %520
  %522 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %522, ptr %4, align 16, !tbaa !5
  %523 = load ptr, ptr %7, align 8, !tbaa !8
  %524 = getelementptr inbounds <2 x i64>, ptr %523, i32 1
  store ptr %524, ptr %7, align 8, !tbaa !8
  %525 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %523, <2 x i64> noundef %525)
  %526 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %527 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %526, i32 noundef 4)
  store <2 x i64> %527, ptr %10, align 16, !tbaa !5
  %528 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %529 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %530 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %528, <2 x i64> noundef %529)
  store <2 x i64> %530, ptr %9, align 16, !tbaa !5
  br label %531

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

550:                                              ; preds = %531
  br label %551

551:                                              ; preds = %550
  %552 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %552, ptr %4, align 16, !tbaa !5
  %553 = load ptr, ptr %7, align 8, !tbaa !8
  %554 = getelementptr inbounds <2 x i64>, ptr %553, i32 1
  store ptr %554, ptr %7, align 8, !tbaa !8
  %555 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %553, <2 x i64> noundef %555)
  %556 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %557 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %556, i32 noundef 24)
  store <2 x i64> %557, ptr %10, align 16, !tbaa !5
  %558 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %558, ptr %9, align 16, !tbaa !5
  %559 = load ptr, ptr %5, align 8, !tbaa !8
  %560 = getelementptr inbounds <2 x i64>, ptr %559, i32 1
  store ptr %560, ptr %5, align 8, !tbaa !8
  %561 = load ptr, ptr %5, align 8, !tbaa !8
  %562 = call <2 x i64> @_mm_loadu_si128(ptr noundef %561)
  store <2 x i64> %562, ptr %8, align 16, !tbaa !5
  %563 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %564 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %565 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %564, i32 noundef 8)
  %566 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %567 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %565, <2 x i64> noundef %566)
  %568 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %563, <2 x i64> noundef %567)
  store <2 x i64> %568, ptr %9, align 16, !tbaa !5
  br label %569

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

588:                                              ; preds = %569
  br label %589

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

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

620:                                              ; preds = %601
  br label %621

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

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

649:                                              ; preds = %630
  br label %650

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

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

687:                                              ; preds = %668
  br label %688

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

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

717:                                              ; preds = %698
  br label %718

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

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

755:                                              ; preds = %736
  br label %756

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

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

793:                                              ; preds = %774
  br label %794

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

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

823:                                              ; preds = %804
  br label %824

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

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

861:                                              ; preds = %842
  br label %862

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

874:                                              ; preds = %862
  call void @llvm.lifetime.start.p0(i64 16, ptr %58) #3
  %875 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %876 = bitcast <2 x i64> %875 to <16 x i8>
  %877 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %876, <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>
  %878 = bitcast <16 x i8> %877 to <2 x i64>
  %879 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %880 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %878, <2 x i64> noundef %879)
  store <2 x i64> %880, ptr %58, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %59) #3
  %881 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %882 = bitcast <2 x i64> %881 to <16 x i8>
  %883 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %882, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %884 = bitcast <16 x i8> %883 to <2 x i64>
  %885 = load <2 x i64>, ptr %58, align 16, !tbaa !5
  %886 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %884, <2 x i64> noundef %885)
  store <2 x i64> %886, ptr %59, align 16, !tbaa !5
  %887 = load <2 x i64>, ptr %59, align 16, !tbaa !5
  %888 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %889 = bitcast <2 x i64> %888 to <4 x i32>
  %890 = shufflevector <4 x i32> %889, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %891 = bitcast <4 x i32> %890 to <2 x i64>
  %892 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %887, <2 x i64> noundef %891)
  store <2 x i64> %892, 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 %893

893:                                              ; preds = %874
  br label %894

894:                                              ; preds = %893
  %895 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %895, ptr %4, align 16, !tbaa !5
  %896 = load ptr, ptr %7, align 8, !tbaa !8
  %897 = getelementptr inbounds <2 x i64>, ptr %896, i32 1
  store ptr %897, ptr %7, align 8, !tbaa !8
  %898 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %896, <2 x i64> noundef %898)
  %899 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %899, ptr %10, align 16, !tbaa !5
  %900 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %901 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %902 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %900, <2 x i64> noundef %901)
  store <2 x i64> %902, ptr %9, align 16, !tbaa !5
  br label %903

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

922:                                              ; preds = %903
  br label %923

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

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

960:                                              ; preds = %941
  br label %961

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

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

990:                                              ; preds = %971
  br label %991

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

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

1028:                                             ; preds = %1009
  br label %1029

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

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

1066:                                             ; preds = %1047
  br label %1067

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

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

1096:                                             ; preds = %1077
  br label %1097

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

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

1134:                                             ; preds = %1115
  br label %1135

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

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

1162:                                             ; preds = %1143
  br label %1163

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

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

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

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

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


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