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

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

179:                                              ; preds = %160
  br label %180

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

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

211:                                              ; preds = %192
  br label %212

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

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

240:                                              ; preds = %221
  br label %241

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

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

278:                                              ; preds = %259
  br label %279

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

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

316:                                              ; preds = %297
  br label %317

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

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

348:                                              ; preds = %329
  br label %349

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

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

377:                                              ; preds = %358
  br label %378

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

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

415:                                              ; preds = %396
  br label %416

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

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

453:                                              ; preds = %434
  br label %454

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

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

485:                                              ; preds = %466
  br label %486

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

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

514:                                              ; preds = %495
  br label %515

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

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

552:                                              ; preds = %533
  br label %553

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

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

590:                                              ; preds = %571
  br label %591

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

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

622:                                              ; preds = %603
  br label %623

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

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

651:                                              ; preds = %632
  br label %652

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

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

689:                                              ; preds = %670
  br label %690

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

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

727:                                              ; preds = %708
  br label %728

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

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

759:                                              ; preds = %740
  br label %760

760:                                              ; preds = %759
  %761 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %761, ptr %4, align 16, !tbaa !5
  %762 = load ptr, ptr %7, align 8, !tbaa !8
  %763 = getelementptr inbounds <2 x i64>, ptr %762, i32 1
  store ptr %763, ptr %7, align 8, !tbaa !8
  %764 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %762, <2 x i64> noundef %764)
  %765 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %765, ptr %10, align 16, !tbaa !5
  %766 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %767 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %768 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %766, <2 x i64> noundef %767)
  store <2 x i64> %768, ptr %9, align 16, !tbaa !5
  br label %769

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

788:                                              ; preds = %769
  br label %789

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

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

826:                                              ; preds = %807
  br label %827

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

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

864:                                              ; preds = %845
  br label %865

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

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

896:                                              ; preds = %877
  br label %897

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

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

925:                                              ; preds = %906
  br label %926

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

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

963:                                              ; preds = %944
  br label %964

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

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

1001:                                             ; preds = %982
  br label %1002

1002:                                             ; preds = %1001
  %1003 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1003, ptr %4, align 16, !tbaa !5
  %1004 = load ptr, ptr %7, align 8, !tbaa !8
  %1005 = getelementptr inbounds <2 x i64>, ptr %1004, i32 1
  store ptr %1005, ptr %7, align 8, !tbaa !8
  %1006 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1004, <2 x i64> noundef %1006)
  %1007 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %1008 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %1007, i32 noundef 8)
  store <2 x i64> %1008, ptr %10, align 16, !tbaa !5
  %1009 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %1009, ptr %9, align 16, !tbaa !5
  %1010 = load ptr, ptr %5, align 8, !tbaa !8
  %1011 = getelementptr inbounds <2 x i64>, ptr %1010, i32 1
  store ptr %1011, ptr %5, align 8, !tbaa !8
  %1012 = load ptr, ptr %5, align 8, !tbaa !8
  %1013 = call <2 x i64> @_mm_loadu_si128(ptr noundef %1012)
  store <2 x i64> %1013, ptr %8, align 16, !tbaa !5
  br label %1014

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

1033:                                             ; preds = %1014
  br label %1034

1034:                                             ; preds = %1033
  %1035 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %1035, ptr %4, align 16, !tbaa !5
  %1036 = load ptr, ptr %7, align 8, !tbaa !8
  %1037 = getelementptr inbounds <2 x i64>, ptr %1036, i32 1
  store ptr %1037, ptr %7, align 8, !tbaa !8
  %1038 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %1036, <2 x i64> noundef %1038)
  %1039 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  store <2 x i64> %1039, ptr %10, align 16, !tbaa !5
  %1040 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %1041 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %1042 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %1040, <2 x i64> noundef %1041)
  store <2 x i64> %1042, ptr %9, align 16, !tbaa !5
  br label %1043

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

1062:                                             ; preds = %1043
  br label %1063

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

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

1100:                                             ; preds = %1081
  br label %1101

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

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

1138:                                             ; preds = %1119
  br label %1139

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

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

1166:                                             ; preds = %1147
  br label %1167

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

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

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

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

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


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