; 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> @iunpack19(<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 524287)
  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 19)
  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 13)
  %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 6)
  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 25)
  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 7)
  %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 12)
  store <2 x i64> %216, ptr %10, align 16, !tbaa !5
  %217 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %218 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %219 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %217, <2 x i64> noundef %218)
  store <2 x i64> %219, ptr %9, align 16, !tbaa !5
  br label %220

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

239:                                              ; preds = %220
  br label %240

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

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

277:                                              ; preds = %258
  br label %278

278:                                              ; preds = %277
  %279 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %279, ptr %4, align 16, !tbaa !5
  %280 = load ptr, ptr %7, align 8, !tbaa !8
  %281 = getelementptr inbounds <2 x i64>, ptr %280, i32 1
  store ptr %281, ptr %7, align 8, !tbaa !8
  %282 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %280, <2 x i64> noundef %282)
  %283 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %284 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %283, i32 noundef 18)
  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 14)
  %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 5)
  store <2 x i64> %322, ptr %10, align 16, !tbaa !5
  %323 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %324 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %325 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %323, <2 x i64> noundef %324)
  store <2 x i64> %325, ptr %9, align 16, !tbaa !5
  br label %326

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

345:                                              ; preds = %326
  br label %346

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

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

383:                                              ; preds = %364
  br label %384

384:                                              ; preds = %383
  %385 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %385, ptr %4, align 16, !tbaa !5
  %386 = load ptr, ptr %7, align 8, !tbaa !8
  %387 = getelementptr inbounds <2 x i64>, ptr %386, i32 1
  store ptr %387, ptr %7, align 8, !tbaa !8
  %388 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %386, <2 x i64> noundef %388)
  %389 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %390 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %389, i32 noundef 11)
  store <2 x i64> %390, ptr %10, align 16, !tbaa !5
  %391 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %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)
  store <2 x i64> %393, ptr %9, align 16, !tbaa !5
  br label %394

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

413:                                              ; preds = %394
  br label %414

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

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

451:                                              ; preds = %432
  br label %452

452:                                              ; preds = %451
  %453 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %453, ptr %4, align 16, !tbaa !5
  %454 = load ptr, ptr %7, align 8, !tbaa !8
  %455 = getelementptr inbounds <2 x i64>, ptr %454, i32 1
  store ptr %455, ptr %7, align 8, !tbaa !8
  %456 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %454, <2 x i64> noundef %456)
  %457 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %458 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %457, i32 noundef 17)
  store <2 x i64> %458, ptr %10, align 16, !tbaa !5
  %459 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %459, ptr %9, align 16, !tbaa !5
  %460 = load ptr, ptr %5, align 8, !tbaa !8
  %461 = getelementptr inbounds <2 x i64>, ptr %460, i32 1
  store ptr %461, ptr %5, align 8, !tbaa !8
  %462 = load ptr, ptr %5, align 8, !tbaa !8
  %463 = call <2 x i64> @_mm_loadu_si128(ptr noundef %462)
  store <2 x i64> %463, ptr %8, align 16, !tbaa !5
  %464 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %465 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %466 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %465, i32 noundef 15)
  %467 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %468 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %466, <2 x i64> noundef %467)
  %469 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %464, <2 x i64> noundef %468)
  store <2 x i64> %469, ptr %9, align 16, !tbaa !5
  br label %470

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

489:                                              ; preds = %470
  br label %490

490:                                              ; preds = %489
  %491 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %491, ptr %4, align 16, !tbaa !5
  %492 = load ptr, ptr %7, align 8, !tbaa !8
  %493 = getelementptr inbounds <2 x i64>, ptr %492, i32 1
  store ptr %493, ptr %7, align 8, !tbaa !8
  %494 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %492, <2 x i64> noundef %494)
  %495 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %496 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %495, i32 noundef 4)
  store <2 x i64> %496, ptr %10, align 16, !tbaa !5
  %497 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %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)
  store <2 x i64> %499, ptr %9, align 16, !tbaa !5
  br label %500

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

519:                                              ; preds = %500
  br label %520

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

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

557:                                              ; preds = %538
  br label %558

558:                                              ; preds = %557
  %559 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %559, ptr %4, align 16, !tbaa !5
  %560 = load ptr, ptr %7, align 8, !tbaa !8
  %561 = getelementptr inbounds <2 x i64>, ptr %560, i32 1
  store ptr %561, ptr %7, align 8, !tbaa !8
  %562 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %560, <2 x i64> noundef %562)
  %563 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %564 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %563, i32 noundef 10)
  store <2 x i64> %564, ptr %10, align 16, !tbaa !5
  %565 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %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)
  store <2 x i64> %567, ptr %9, align 16, !tbaa !5
  br label %568

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

587:                                              ; preds = %568
  br label %588

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

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

625:                                              ; preds = %606
  br label %626

626:                                              ; preds = %625
  %627 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %627, ptr %4, align 16, !tbaa !5
  %628 = load ptr, ptr %7, align 8, !tbaa !8
  %629 = getelementptr inbounds <2 x i64>, ptr %628, i32 1
  store ptr %629, ptr %7, align 8, !tbaa !8
  %630 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %628, <2 x i64> noundef %630)
  %631 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %632 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %631, i32 noundef 16)
  store <2 x i64> %632, ptr %10, align 16, !tbaa !5
  %633 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %633, ptr %9, align 16, !tbaa !5
  %634 = load ptr, ptr %5, align 8, !tbaa !8
  %635 = getelementptr inbounds <2 x i64>, ptr %634, i32 1
  store ptr %635, ptr %5, align 8, !tbaa !8
  %636 = load ptr, ptr %5, align 8, !tbaa !8
  %637 = call <2 x i64> @_mm_loadu_si128(ptr noundef %636)
  store <2 x i64> %637, ptr %8, align 16, !tbaa !5
  %638 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %639 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %640 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %639, i32 noundef 16)
  %641 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %642 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %640, <2 x i64> noundef %641)
  %643 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %638, <2 x i64> noundef %642)
  store <2 x i64> %643, ptr %9, align 16, !tbaa !5
  br label %644

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

663:                                              ; preds = %644
  br label %664

664:                                              ; preds = %663
  %665 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %665, ptr %4, align 16, !tbaa !5
  %666 = load ptr, ptr %7, align 8, !tbaa !8
  %667 = getelementptr inbounds <2 x i64>, ptr %666, i32 1
  store ptr %667, ptr %7, align 8, !tbaa !8
  %668 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %666, <2 x i64> noundef %668)
  %669 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %670 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %669, i32 noundef 3)
  store <2 x i64> %670, ptr %10, align 16, !tbaa !5
  %671 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %672 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %673 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %671, <2 x i64> noundef %672)
  store <2 x i64> %673, ptr %9, align 16, !tbaa !5
  br label %674

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

693:                                              ; preds = %674
  br label %694

694:                                              ; preds = %693
  %695 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %695, ptr %4, align 16, !tbaa !5
  %696 = load ptr, ptr %7, align 8, !tbaa !8
  %697 = getelementptr inbounds <2 x i64>, ptr %696, i32 1
  store ptr %697, ptr %7, align 8, !tbaa !8
  %698 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %696, <2 x i64> noundef %698)
  %699 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %700 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %699, i32 noundef 22)
  store <2 x i64> %700, ptr %10, align 16, !tbaa !5
  %701 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %701, ptr %9, align 16, !tbaa !5
  %702 = load ptr, ptr %5, align 8, !tbaa !8
  %703 = getelementptr inbounds <2 x i64>, ptr %702, i32 1
  store ptr %703, ptr %5, align 8, !tbaa !8
  %704 = load ptr, ptr %5, align 8, !tbaa !8
  %705 = call <2 x i64> @_mm_loadu_si128(ptr noundef %704)
  store <2 x i64> %705, ptr %8, align 16, !tbaa !5
  %706 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %707 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %708 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %707, i32 noundef 10)
  %709 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %710 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %708, <2 x i64> noundef %709)
  %711 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %706, <2 x i64> noundef %710)
  store <2 x i64> %711, ptr %9, align 16, !tbaa !5
  br label %712

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

731:                                              ; preds = %712
  br label %732

732:                                              ; preds = %731
  %733 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %733, ptr %4, align 16, !tbaa !5
  %734 = load ptr, ptr %7, align 8, !tbaa !8
  %735 = getelementptr inbounds <2 x i64>, ptr %734, i32 1
  store ptr %735, ptr %7, align 8, !tbaa !8
  %736 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %734, <2 x i64> noundef %736)
  %737 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %738 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %737, i32 noundef 9)
  store <2 x i64> %738, ptr %10, align 16, !tbaa !5
  %739 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %740 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %741 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %739, <2 x i64> noundef %740)
  store <2 x i64> %741, ptr %9, align 16, !tbaa !5
  br label %742

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

761:                                              ; preds = %742
  br label %762

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

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

799:                                              ; preds = %780
  br label %800

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

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

837:                                              ; preds = %818
  br label %838

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

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

867:                                              ; preds = %848
  br label %868

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

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

905:                                              ; preds = %886
  br label %906

906:                                              ; preds = %905
  %907 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %907, ptr %4, align 16, !tbaa !5
  %908 = load ptr, ptr %7, align 8, !tbaa !8
  %909 = getelementptr inbounds <2 x i64>, ptr %908, i32 1
  store ptr %909, ptr %7, align 8, !tbaa !8
  %910 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %908, <2 x i64> noundef %910)
  %911 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %912 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %911, i32 noundef 8)
  store <2 x i64> %912, ptr %10, align 16, !tbaa !5
  %913 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %914 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %915 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %913, <2 x i64> noundef %914)
  store <2 x i64> %915, ptr %9, align 16, !tbaa !5
  br label %916

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

935:                                              ; preds = %916
  br label %936

936:                                              ; preds = %935
  %937 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %937, ptr %4, align 16, !tbaa !5
  %938 = load ptr, ptr %7, align 8, !tbaa !8
  %939 = getelementptr inbounds <2 x i64>, ptr %938, i32 1
  store ptr %939, ptr %7, align 8, !tbaa !8
  %940 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %938, <2 x i64> noundef %940)
  %941 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %942 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %941, i32 noundef 27)
  store <2 x i64> %942, ptr %10, align 16, !tbaa !5
  %943 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %943, ptr %9, align 16, !tbaa !5
  %944 = load ptr, ptr %5, align 8, !tbaa !8
  %945 = getelementptr inbounds <2 x i64>, ptr %944, i32 1
  store ptr %945, ptr %5, align 8, !tbaa !8
  %946 = load ptr, ptr %5, align 8, !tbaa !8
  %947 = call <2 x i64> @_mm_loadu_si128(ptr noundef %946)
  store <2 x i64> %947, ptr %8, align 16, !tbaa !5
  %948 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %949 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %950 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %949, i32 noundef 5)
  %951 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %952 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %950, <2 x i64> noundef %951)
  %953 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %948, <2 x i64> noundef %952)
  store <2 x i64> %953, ptr %9, align 16, !tbaa !5
  br label %954

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

973:                                              ; preds = %954
  br label %974

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

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

1011:                                             ; preds = %992
  br label %1012

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

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

1041:                                             ; preds = %1022
  br label %1042

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

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

1079:                                             ; preds = %1060
  br label %1080

1080:                                             ; preds = %1079
  %1081 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1081, ptr %4, align 16, !tbaa !5
  %1082 = load ptr, ptr %7, align 8, !tbaa !8
  %1083 = getelementptr inbounds <2 x i64>, ptr %1082, i32 1
  store ptr %1083, ptr %7, align 8, !tbaa !8
  %1084 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1082, <2 x i64> noundef %1084)
  %1085 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1086 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1085, i32 noundef 7)
  store <2 x i64> %1086, ptr %10, align 16, !tbaa !5
  %1087 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1088 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1089 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1087, <2 x i64> noundef %1088)
  store <2 x i64> %1089, ptr %9, align 16, !tbaa !5
  br label %1090

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

1109:                                             ; preds = %1090
  br label %1110

1110:                                             ; preds = %1109
  %1111 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1111, ptr %4, align 16, !tbaa !5
  %1112 = load ptr, ptr %7, align 8, !tbaa !8
  %1113 = getelementptr inbounds <2 x i64>, ptr %1112, i32 1
  store ptr %1113, ptr %7, align 8, !tbaa !8
  %1114 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1112, <2 x i64> noundef %1114)
  %1115 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1116 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1115, i32 noundef 26)
  store <2 x i64> %1116, ptr %10, align 16, !tbaa !5
  %1117 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1117, ptr %9, align 16, !tbaa !5
  %1118 = load ptr, ptr %5, align 8, !tbaa !8
  %1119 = getelementptr inbounds <2 x i64>, ptr %1118, i32 1
  store ptr %1119, ptr %5, align 8, !tbaa !8
  %1120 = load ptr, ptr %5, align 8, !tbaa !8
  %1121 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1120)
  store <2 x i64> %1121, ptr %8, align 16, !tbaa !5
  %1122 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1123 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1124 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %1123, i32 noundef 6)
  %1125 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1126 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1124, <2 x i64> noundef %1125)
  %1127 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %1122, <2 x i64> noundef %1126)
  store <2 x i64> %1127, ptr %9, align 16, !tbaa !5
  br label %1128

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

1147:                                             ; preds = %1128
  br label %1148

1148:                                             ; preds = %1147
  %1149 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1149, ptr %4, align 16, !tbaa !5
  %1150 = load ptr, ptr %7, align 8, !tbaa !8
  %1151 = getelementptr inbounds <2 x i64>, ptr %1150, i32 1
  store ptr %1151, ptr %7, align 8, !tbaa !8
  %1152 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1150, <2 x i64> noundef %1152)
  %1153 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1154 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1153, i32 noundef 13)
  store <2 x i64> %1154, ptr %10, align 16, !tbaa !5
  %1155 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1155, ptr %9, align 16, !tbaa !5
  br label %1156

1156:                                             ; preds = %1148
  call void @llvm.lifetime.start.p0(i64 16, ptr %74) #3
  %1157 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1158 = bitcast <2 x i64> %1157 to <16 x i8>
  %1159 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1158, <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>
  %1160 = bitcast <16 x i8> %1159 to <2 x i64>
  %1161 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %1162 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1160, <2 x i64> noundef %1161)
  store <2 x i64> %1162, ptr %74, align 16, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %75) #3
  %1163 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1164 = bitcast <2 x i64> %1163 to <16 x i8>
  %1165 = shufflevector <16 x i8> zeroinitializer, <16 x i8> %1164, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %1166 = bitcast <16 x i8> %1165 to <2 x i64>
  %1167 = load <2 x i64>, ptr %74, align 16, !tbaa !5
  %1168 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1166, <2 x i64> noundef %1167)
  store <2 x i64> %1168, ptr %75, align 16, !tbaa !5
  %1169 = load <2 x i64>, ptr %75, align 16, !tbaa !5
  %1170 = load <2 x i64>, ptr %4, align 16, !tbaa !5
  %1171 = bitcast <2 x i64> %1170 to <4 x i32>
  %1172 = shufflevector <4 x i32> %1171, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %1173 = bitcast <4 x i32> %1172 to <2 x i64>
  %1174 = call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %1169, <2 x i64> noundef %1173)
  store <2 x i64> %1174, 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 %1175

1175:                                             ; preds = %1156
  br label %1176

1176:                                             ; preds = %1175
  %1177 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1177, ptr %4, align 16, !tbaa !5
  %1178 = load ptr, ptr %7, align 8, !tbaa !8
  %1179 = getelementptr inbounds <2 x i64>, ptr %1178, i32 1
  store ptr %1179, ptr %7, align 8, !tbaa !8
  %1180 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1178, <2 x i64> noundef %1180)
  %1181 = 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> %1181
}

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

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