; 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> @iunpack18(<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 262143)
  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 18)
  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 14)
  %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 4)
  store <2 x i64> %148, ptr %10, align 16, !tbaa !5
  %149 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %150 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %151 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %149, <2 x i64> noundef %150)
  store <2 x i64> %151, ptr %9, align 16, !tbaa !5
  br label %152

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

171:                                              ; preds = %152
  br label %172

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

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

209:                                              ; preds = %190
  br label %210

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

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

239:                                              ; preds = %220
  br label %240

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

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

277:                                              ; preds = %258
  br label %278

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

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

307:                                              ; preds = %288
  br label %308

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

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

345:                                              ; preds = %326
  br label %346

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

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

383:                                              ; preds = %364
  br label %384

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

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

413:                                              ; preds = %394
  br label %414

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

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

451:                                              ; preds = %432
  br label %452

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

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

481:                                              ; preds = %462
  br label %482

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

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

519:                                              ; preds = %500
  br label %520

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

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

549:                                              ; preds = %530
  br label %550

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

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

587:                                              ; preds = %568
  br label %588

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

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

619:                                              ; preds = %600
  br label %620

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

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

648:                                              ; preds = %629
  br label %649

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

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

686:                                              ; preds = %667
  br label %687

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

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

716:                                              ; preds = %697
  br label %717

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

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

754:                                              ; preds = %735
  br label %755

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

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

784:                                              ; preds = %765
  br label %785

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

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

822:                                              ; preds = %803
  br label %823

823:                                              ; preds = %822
  %824 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %824, ptr %4, align 16, !tbaa !5
  %825 = load ptr, ptr %7, align 8, !tbaa !8
  %826 = getelementptr inbounds <2 x i64>, ptr %825, i32 1
  store ptr %826, ptr %7, align 8, !tbaa !8
  %827 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %825, <2 x i64> noundef %827)
  %828 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %829 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %828, i32 noundef 12)
  store <2 x i64> %829, ptr %10, align 16, !tbaa !5
  %830 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  %831 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %832 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %830, <2 x i64> noundef %831)
  store <2 x i64> %832, ptr %9, align 16, !tbaa !5
  br label %833

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

852:                                              ; preds = %833
  br label %853

853:                                              ; preds = %852
  %854 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %854, ptr %4, align 16, !tbaa !5
  %855 = load ptr, ptr %7, align 8, !tbaa !8
  %856 = getelementptr inbounds <2 x i64>, ptr %855, i32 1
  store ptr %856, ptr %7, align 8, !tbaa !8
  %857 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %855, <2 x i64> noundef %857)
  %858 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %859 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %858, i32 noundef 30)
  store <2 x i64> %859, ptr %10, align 16, !tbaa !5
  %860 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %860, ptr %9, align 16, !tbaa !5
  %861 = load ptr, ptr %5, align 8, !tbaa !8
  %862 = getelementptr inbounds <2 x i64>, ptr %861, i32 1
  store ptr %862, ptr %5, align 8, !tbaa !8
  %863 = load ptr, ptr %5, align 8, !tbaa !8
  %864 = call <2 x i64> @_mm_loadu_si128(ptr noundef %863)
  store <2 x i64> %864, ptr %8, align 16, !tbaa !5
  %865 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %866 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %867 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %866, i32 noundef 2)
  %868 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %869 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %867, <2 x i64> noundef %868)
  %870 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %865, <2 x i64> noundef %869)
  store <2 x i64> %870, ptr %9, align 16, !tbaa !5
  br label %871

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

890:                                              ; preds = %871
  br label %891

891:                                              ; preds = %890
  %892 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  store <2 x i64> %892, ptr %4, align 16, !tbaa !5
  %893 = load ptr, ptr %7, align 8, !tbaa !8
  %894 = getelementptr inbounds <2 x i64>, ptr %893, i32 1
  store ptr %894, ptr %7, align 8, !tbaa !8
  %895 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  call void @_mm_storeu_si128(ptr noundef %893, <2 x i64> noundef %895)
  %896 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %897 = call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %896, i32 noundef 16)
  store <2 x i64> %897, ptr %10, align 16, !tbaa !5
  %898 = load <2 x i64>, ptr %10, align 16, !tbaa !5
  store <2 x i64> %898, ptr %9, align 16, !tbaa !5
  %899 = load ptr, ptr %5, align 8, !tbaa !8
  %900 = getelementptr inbounds <2 x i64>, ptr %899, i32 1
  store ptr %900, ptr %5, align 8, !tbaa !8
  %901 = load ptr, ptr %5, align 8, !tbaa !8
  %902 = call <2 x i64> @_mm_loadu_si128(ptr noundef %901)
  store <2 x i64> %902, ptr %8, align 16, !tbaa !5
  %903 = load <2 x i64>, ptr %9, align 16, !tbaa !5
  %904 = load <2 x i64>, ptr %8, align 16, !tbaa !5
  %905 = call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %904, i32 noundef 16)
  %906 = load <2 x i64>, ptr %11, align 16, !tbaa !5
  %907 = call <2 x i64> @_mm_and_si128(<2 x i64> noundef %905, <2 x i64> noundef %906)
  %908 = call <2 x i64> @_mm_or_si128(<2 x i64> noundef %903, <2 x i64> noundef %907)
  store <2 x i64> %908, ptr %9, align 16, !tbaa !5
  br label %909

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

928:                                              ; preds = %909
  br label %929

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

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

958:                                              ; preds = %939
  br label %959

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

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

996:                                              ; preds = %977
  br label %997

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

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

1026:                                             ; preds = %1007
  br label %1027

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

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

1064:                                             ; preds = %1045
  br label %1065

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

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

1094:                                             ; preds = %1075
  br label %1095

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

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

1132:                                             ; preds = %1113
  br label %1133

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

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

1160:                                             ; preds = %1141
  br label %1161

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

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> @iunpack18(<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 262143)
  %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 18)
  %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 14)
  %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 4)
  %36 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %35, <2 x i64> noundef %5)
  %37 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %36, <2 x i32> <i32 1, i32 2>
  %38 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %37, <2 x i64> noundef %36)
  %39 = bitcast <2 x i64> %38 to <16 x i8>
  %40 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %39, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %41 = bitcast <16 x i8> %40 to <2 x i64>
  %42 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %41, <2 x i64> noundef %38)
  %43 = bitcast <2 x i64> %33 to <4 x i32>
  %44 = shufflevector <4 x i32> %43, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %45 = bitcast <4 x i32> %44 to <2 x i64>
  %46 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %42, <2 x i64> noundef %45)
  %47 = getelementptr inbounds i8, ptr %2, i64 48
  tail call void @_mm_storeu_si128(ptr noundef nonnull %34, <2 x i64> noundef %46)
  %48 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %20, i32 noundef 22)
  %49 = getelementptr inbounds i8, ptr %1, i64 32
  %50 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %49)
  %51 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %50, i32 noundef 10)
  %52 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %51, <2 x i64> noundef %5)
  %53 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %48, <2 x i64> noundef %52)
  %54 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %53, <2 x i32> <i32 1, i32 2>
  %55 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %54, <2 x i64> noundef %53)
  %56 = bitcast <2 x i64> %55 to <16 x i8>
  %57 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %56, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %58 = bitcast <16 x i8> %57 to <2 x i64>
  %59 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %58, <2 x i64> noundef %55)
  %60 = bitcast <2 x i64> %46 to <4 x i32>
  %61 = shufflevector <4 x i32> %60, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %62 = bitcast <4 x i32> %61 to <2 x i64>
  %63 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %59, <2 x i64> noundef %62)
  %64 = getelementptr inbounds i8, ptr %2, i64 64
  tail call void @_mm_storeu_si128(ptr noundef nonnull %47, <2 x i64> noundef %63)
  %65 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %50, i32 noundef 8)
  %66 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %65, <2 x i64> noundef %5)
  %67 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %66, <2 x i32> <i32 1, i32 2>
  %68 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %67, <2 x i64> noundef %66)
  %69 = bitcast <2 x i64> %68 to <16 x i8>
  %70 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %69, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %71 = bitcast <16 x i8> %70 to <2 x i64>
  %72 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %71, <2 x i64> noundef %68)
  %73 = bitcast <2 x i64> %63 to <4 x i32>
  %74 = shufflevector <4 x i32> %73, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %75 = bitcast <4 x i32> %74 to <2 x i64>
  %76 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %72, <2 x i64> noundef %75)
  %77 = getelementptr inbounds i8, ptr %2, i64 80
  tail call void @_mm_storeu_si128(ptr noundef nonnull %64, <2 x i64> noundef %76)
  %78 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %50, i32 noundef 26)
  %79 = getelementptr inbounds i8, ptr %1, i64 48
  %80 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %79)
  %81 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %80, i32 noundef 6)
  %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 12)
  %96 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %95, <2 x i64> noundef %5)
  %97 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %96, <2 x i32> <i32 1, i32 2>
  %98 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %97, <2 x i64> noundef %96)
  %99 = bitcast <2 x i64> %98 to <16 x i8>
  %100 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %99, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %101 = bitcast <16 x i8> %100 to <2 x i64>
  %102 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %101, <2 x i64> noundef %98)
  %103 = bitcast <2 x i64> %93 to <4 x i32>
  %104 = shufflevector <4 x i32> %103, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %105 = bitcast <4 x i32> %104 to <2 x i64>
  %106 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %102, <2 x i64> noundef %105)
  %107 = getelementptr inbounds i8, ptr %2, i64 112
  tail call void @_mm_storeu_si128(ptr noundef nonnull %94, <2 x i64> noundef %106)
  %108 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %80, i32 noundef 30)
  %109 = getelementptr inbounds i8, ptr %1, i64 64
  %110 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %109)
  %111 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %110, i32 noundef 2)
  %112 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %111, <2 x i64> noundef %5)
  %113 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %108, <2 x i64> noundef %112)
  %114 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %113, <2 x i32> <i32 1, i32 2>
  %115 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %114, <2 x i64> noundef %113)
  %116 = bitcast <2 x i64> %115 to <16 x i8>
  %117 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %116, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %118 = bitcast <16 x i8> %117 to <2 x i64>
  %119 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %118, <2 x i64> noundef %115)
  %120 = bitcast <2 x i64> %106 to <4 x i32>
  %121 = shufflevector <4 x i32> %120, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %122 = bitcast <4 x i32> %121 to <2 x i64>
  %123 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %119, <2 x i64> noundef %122)
  %124 = getelementptr inbounds i8, ptr %2, i64 128
  tail call void @_mm_storeu_si128(ptr noundef nonnull %107, <2 x i64> noundef %123)
  %125 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %110, i32 noundef 16)
  %126 = getelementptr inbounds i8, ptr %1, i64 80
  %127 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %126)
  %128 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %127, i32 noundef 16)
  %129 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %128, <2 x i64> noundef %5)
  %130 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %125, <2 x i64> noundef %129)
  %131 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %130, <2 x i32> <i32 1, i32 2>
  %132 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %131, <2 x i64> noundef %130)
  %133 = bitcast <2 x i64> %132 to <16 x i8>
  %134 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %133, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %135 = bitcast <16 x i8> %134 to <2 x i64>
  %136 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %135, <2 x i64> noundef %132)
  %137 = bitcast <2 x i64> %123 to <4 x i32>
  %138 = shufflevector <4 x i32> %137, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %139 = bitcast <4 x i32> %138 to <2 x i64>
  %140 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %136, <2 x i64> noundef %139)
  %141 = getelementptr inbounds i8, ptr %2, i64 144
  tail call void @_mm_storeu_si128(ptr noundef nonnull %124, <2 x i64> noundef %140)
  %142 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %127, i32 noundef 2)
  %143 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %142, <2 x i64> noundef %5)
  %144 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %143, <2 x i32> <i32 1, i32 2>
  %145 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %144, <2 x i64> noundef %143)
  %146 = bitcast <2 x i64> %145 to <16 x i8>
  %147 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %146, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %148 = bitcast <16 x i8> %147 to <2 x i64>
  %149 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %148, <2 x i64> noundef %145)
  %150 = bitcast <2 x i64> %140 to <4 x i32>
  %151 = shufflevector <4 x i32> %150, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %152 = bitcast <4 x i32> %151 to <2 x i64>
  %153 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %149, <2 x i64> noundef %152)
  %154 = getelementptr inbounds i8, ptr %2, i64 160
  tail call void @_mm_storeu_si128(ptr noundef nonnull %141, <2 x i64> noundef %153)
  %155 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %127, i32 noundef 20)
  %156 = getelementptr inbounds i8, ptr %1, i64 96
  %157 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %156)
  %158 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %157, i32 noundef 12)
  %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 6)
  %173 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %172, <2 x i64> noundef %5)
  %174 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %173, <2 x i32> <i32 1, i32 2>
  %175 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %174, <2 x i64> noundef %173)
  %176 = bitcast <2 x i64> %175 to <16 x i8>
  %177 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %176, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %178 = bitcast <16 x i8> %177 to <2 x i64>
  %179 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %178, <2 x i64> noundef %175)
  %180 = bitcast <2 x i64> %170 to <4 x i32>
  %181 = shufflevector <4 x i32> %180, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %182 = bitcast <4 x i32> %181 to <2 x i64>
  %183 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %179, <2 x i64> noundef %182)
  %184 = getelementptr inbounds i8, ptr %2, i64 192
  tail call void @_mm_storeu_si128(ptr noundef nonnull %171, <2 x i64> noundef %183)
  %185 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %157, i32 noundef 24)
  %186 = getelementptr inbounds i8, ptr %1, i64 112
  %187 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %186)
  %188 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %187, i32 noundef 8)
  %189 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %188, <2 x i64> noundef %5)
  %190 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %185, <2 x i64> noundef %189)
  %191 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %190, <2 x i32> <i32 1, i32 2>
  %192 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %191, <2 x i64> noundef %190)
  %193 = bitcast <2 x i64> %192 to <16 x i8>
  %194 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %193, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %195 = bitcast <16 x i8> %194 to <2 x i64>
  %196 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %195, <2 x i64> noundef %192)
  %197 = bitcast <2 x i64> %183 to <4 x i32>
  %198 = shufflevector <4 x i32> %197, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %199 = bitcast <4 x i32> %198 to <2 x i64>
  %200 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %196, <2 x i64> noundef %199)
  %201 = getelementptr inbounds i8, ptr %2, i64 208
  tail call void @_mm_storeu_si128(ptr noundef nonnull %184, <2 x i64> noundef %200)
  %202 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %187, i32 noundef 10)
  %203 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %202, <2 x i64> noundef %5)
  %204 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %203, <2 x i32> <i32 1, i32 2>
  %205 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %204, <2 x i64> noundef %203)
  %206 = bitcast <2 x i64> %205 to <16 x i8>
  %207 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %206, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %208 = bitcast <16 x i8> %207 to <2 x i64>
  %209 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %208, <2 x i64> noundef %205)
  %210 = bitcast <2 x i64> %200 to <4 x i32>
  %211 = shufflevector <4 x i32> %210, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %212 = bitcast <4 x i32> %211 to <2 x i64>
  %213 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %209, <2 x i64> noundef %212)
  %214 = getelementptr inbounds i8, ptr %2, i64 224
  tail call void @_mm_storeu_si128(ptr noundef nonnull %201, <2 x i64> noundef %213)
  %215 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %187, i32 noundef 28)
  %216 = getelementptr inbounds i8, ptr %1, i64 128
  %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 4)
  %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 14)
  %233 = getelementptr inbounds i8, ptr %1, i64 144
  %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 18)
  %259 = getelementptr inbounds i8, ptr %1, i64 160
  %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 14)
  %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 4)
  %276 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %275, <2 x i64> noundef %5)
  %277 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %276, <2 x i32> <i32 1, i32 2>
  %278 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %277, <2 x i64> noundef %276)
  %279 = bitcast <2 x i64> %278 to <16 x i8>
  %280 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %279, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %281 = bitcast <16 x i8> %280 to <2 x i64>
  %282 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %281, <2 x i64> noundef %278)
  %283 = bitcast <2 x i64> %273 to <4 x i32>
  %284 = shufflevector <4 x i32> %283, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %285 = bitcast <4 x i32> %284 to <2 x i64>
  %286 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %282, <2 x i64> noundef %285)
  %287 = getelementptr inbounds i8, ptr %2, i64 304
  tail call void @_mm_storeu_si128(ptr noundef nonnull %274, <2 x i64> noundef %286)
  %288 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %260, i32 noundef 22)
  %289 = getelementptr inbounds i8, ptr %1, i64 176
  %290 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %289)
  %291 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %290, i32 noundef 10)
  %292 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %291, <2 x i64> noundef %5)
  %293 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %288, <2 x i64> noundef %292)
  %294 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %293, <2 x i32> <i32 1, i32 2>
  %295 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %294, <2 x i64> noundef %293)
  %296 = bitcast <2 x i64> %295 to <16 x i8>
  %297 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %296, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %298 = bitcast <16 x i8> %297 to <2 x i64>
  %299 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %298, <2 x i64> noundef %295)
  %300 = bitcast <2 x i64> %286 to <4 x i32>
  %301 = shufflevector <4 x i32> %300, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %302 = bitcast <4 x i32> %301 to <2 x i64>
  %303 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %299, <2 x i64> noundef %302)
  %304 = getelementptr inbounds i8, ptr %2, i64 320
  tail call void @_mm_storeu_si128(ptr noundef nonnull %287, <2 x i64> noundef %303)
  %305 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %290, i32 noundef 8)
  %306 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %305, <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> %303 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 %304, <2 x i64> noundef %316)
  %318 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %290, i32 noundef 26)
  %319 = getelementptr inbounds i8, ptr %1, i64 192
  %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 6)
  %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 12)
  %336 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %335, <2 x i64> noundef %5)
  %337 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %336, <2 x i32> <i32 1, i32 2>
  %338 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %337, <2 x i64> noundef %336)
  %339 = bitcast <2 x i64> %338 to <16 x i8>
  %340 = 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> %339, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %341 = bitcast <16 x i8> %340 to <2 x i64>
  %342 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %341, <2 x i64> noundef %338)
  %343 = bitcast <2 x i64> %333 to <4 x i32>
  %344 = shufflevector <4 x i32> %343, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %345 = bitcast <4 x i32> %344 to <2 x i64>
  %346 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %342, <2 x i64> noundef %345)
  %347 = getelementptr inbounds i8, ptr %2, i64 368
  tail call void @_mm_storeu_si128(ptr noundef nonnull %334, <2 x i64> noundef %346)
  %348 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %320, i32 noundef 30)
  %349 = getelementptr inbounds i8, ptr %1, i64 208
  %350 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %349)
  %351 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %350, i32 noundef 2)
  %352 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %351, <2 x i64> noundef %5)
  %353 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %348, <2 x i64> noundef %352)
  %354 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %353, <2 x i32> <i32 1, i32 2>
  %355 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %354, <2 x i64> noundef %353)
  %356 = bitcast <2 x i64> %355 to <16 x i8>
  %357 = 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> %356, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %358 = bitcast <16 x i8> %357 to <2 x i64>
  %359 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %358, <2 x i64> noundef %355)
  %360 = bitcast <2 x i64> %346 to <4 x i32>
  %361 = shufflevector <4 x i32> %360, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %362 = bitcast <4 x i32> %361 to <2 x i64>
  %363 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %359, <2 x i64> noundef %362)
  %364 = getelementptr inbounds i8, ptr %2, i64 384
  tail call void @_mm_storeu_si128(ptr noundef nonnull %347, <2 x i64> noundef %363)
  %365 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %350, i32 noundef 16)
  %366 = getelementptr inbounds i8, ptr %1, i64 224
  %367 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %366)
  %368 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %367, i32 noundef 16)
  %369 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %368, <2 x i64> noundef %5)
  %370 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %365, <2 x i64> noundef %369)
  %371 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %370, <2 x i32> <i32 1, i32 2>
  %372 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %371, <2 x i64> noundef %370)
  %373 = bitcast <2 x i64> %372 to <16 x i8>
  %374 = 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> %373, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %375 = bitcast <16 x i8> %374 to <2 x i64>
  %376 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %375, <2 x i64> noundef %372)
  %377 = bitcast <2 x i64> %363 to <4 x i32>
  %378 = shufflevector <4 x i32> %377, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %379 = bitcast <4 x i32> %378 to <2 x i64>
  %380 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %376, <2 x i64> noundef %379)
  %381 = getelementptr inbounds i8, ptr %2, i64 400
  tail call void @_mm_storeu_si128(ptr noundef nonnull %364, <2 x i64> noundef %380)
  %382 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %367, i32 noundef 2)
  %383 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %382, <2 x i64> noundef %5)
  %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> %380 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 %381, <2 x i64> noundef %393)
  %395 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %367, i32 noundef 20)
  %396 = getelementptr inbounds i8, ptr %1, i64 240
  %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 12)
  %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 6)
  %413 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %412, <2 x i64> noundef %5)
  %414 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %413, <2 x i32> <i32 1, i32 2>
  %415 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %414, <2 x i64> noundef %413)
  %416 = bitcast <2 x i64> %415 to <16 x i8>
  %417 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %416, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %418 = bitcast <16 x i8> %417 to <2 x i64>
  %419 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %418, <2 x i64> noundef %415)
  %420 = bitcast <2 x i64> %410 to <4 x i32>
  %421 = shufflevector <4 x i32> %420, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %422 = bitcast <4 x i32> %421 to <2 x i64>
  %423 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %419, <2 x i64> noundef %422)
  %424 = getelementptr inbounds i8, ptr %2, i64 448
  tail call void @_mm_storeu_si128(ptr noundef nonnull %411, <2 x i64> noundef %423)
  %425 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %397, i32 noundef 24)
  %426 = getelementptr inbounds i8, ptr %1, i64 256
  %427 = tail call <2 x i64> @_mm_loadu_si128(ptr noundef nonnull %426)
  %428 = tail call <2 x i64> @_mm_slli_epi32(<2 x i64> noundef %427, i32 noundef 8)
  %429 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %428, <2 x i64> noundef %5)
  %430 = tail call <2 x i64> @_mm_or_si128(<2 x i64> noundef %425, <2 x i64> noundef %429)
  %431 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %430, <2 x i32> <i32 1, i32 2>
  %432 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %431, <2 x i64> noundef %430)
  %433 = bitcast <2 x i64> %432 to <16 x i8>
  %434 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %433, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %435 = bitcast <16 x i8> %434 to <2 x i64>
  %436 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %435, <2 x i64> noundef %432)
  %437 = bitcast <2 x i64> %423 to <4 x i32>
  %438 = shufflevector <4 x i32> %437, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %439 = bitcast <4 x i32> %438 to <2 x i64>
  %440 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %436, <2 x i64> noundef %439)
  %441 = getelementptr inbounds i8, ptr %2, i64 464
  tail call void @_mm_storeu_si128(ptr noundef nonnull %424, <2 x i64> noundef %440)
  %442 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %427, i32 noundef 10)
  %443 = tail call <2 x i64> @_mm_and_si128(<2 x i64> noundef %442, <2 x i64> noundef %5)
  %444 = shufflevector <2 x i64> <i64 poison, i64 0>, <2 x i64> %443, <2 x i32> <i32 1, i32 2>
  %445 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %444, <2 x i64> noundef %443)
  %446 = bitcast <2 x i64> %445 to <16 x i8>
  %447 = shufflevector <16 x i8> <i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 poison, i8 0, i8 0, i8 0, i8 0>, <16 x i8> %446, <16 x i32> <i32 12, i32 13, i32 14, i32 15, i32 16, i32 17, i32 18, i32 19, i32 20, i32 21, i32 22, i32 23, i32 24, i32 25, i32 26, i32 27>
  %448 = bitcast <16 x i8> %447 to <2 x i64>
  %449 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %448, <2 x i64> noundef %445)
  %450 = bitcast <2 x i64> %440 to <4 x i32>
  %451 = shufflevector <4 x i32> %450, <4 x i32> poison, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
  %452 = bitcast <4 x i32> %451 to <2 x i64>
  %453 = tail call <2 x i64> @_mm_add_epi32(<2 x i64> noundef %449, <2 x i64> noundef %452)
  %454 = getelementptr inbounds i8, ptr %2, i64 480
  tail call void @_mm_storeu_si128(ptr noundef nonnull %441, <2 x i64> noundef %453)
  %455 = tail call <2 x i64> @_mm_srli_epi32(<2 x i64> noundef %427, i32 noundef 28)
  %456 = getelementptr inbounds i8, ptr %1, i64 272
  %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 4)
  %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 14)
  %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