; LLVM IR from rweather/lightweight-crypto :: src/combined (internal-gift128-m)

; 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"

%struct.mask_x4_uint32_t = type { i32, i32, i32, i32 }
%struct.gift128b_masked_key_schedule_t = type { [80 x %struct.mask_x4_uint32_t] }

@GIFT128_RC_fixsliced = external hidden constant [40 x i32], align 16

; Function Attrs: nounwind uwtable
declare hidden void @gift128n_to_words(ptr noundef, ptr noundef) #0

; Function Attrs: nounwind uwtable
declare hidden void @gift128n_to_nibbles(ptr noundef, ptr noundef) #0

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #1

declare i32 @aead_random_generate_32() #2

; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)
declare void @llvm.lifetime.end.p0(i64 immarg, ptr nocapture) #1

; Function Attrs: nounwind uwtable
define dso_local void @gift128t_decrypt_masked(ptr noundef %0, ptr noundef %1, ptr noundef %2, i32 noundef %3) #0 {
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca %struct.mask_x4_uint32_t, align 4
  %10 = alloca %struct.mask_x4_uint32_t, align 4
  %11 = alloca %struct.mask_x4_uint32_t, align 4
  %12 = alloca %struct.mask_x4_uint32_t, align 4
  %13 = alloca ptr, align 8
  %14 = alloca ptr, align 8
  %15 = alloca i32, align 4
  %16 = alloca i8, align 1
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  store ptr %0, ptr %5, align 8, !tbaa !5
  store ptr %1, ptr %6, align 8, !tbaa !5
  store ptr %2, ptr %7, align 8, !tbaa !5
  store i32 %3, ptr %8, align 4, !tbaa !9
  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
  call void @llvm.lifetime.start.p0(i64 16, ptr %12) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #3
  %21 = load ptr, ptr %5, align 8, !tbaa !5
  %22 = getelementptr inbounds %struct.gift128b_masked_key_schedule_t, ptr %21, i32 0, i32 0
  %23 = getelementptr inbounds [80 x %struct.mask_x4_uint32_t], ptr %22, i64 0, i64 0
  %24 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %23, i64 70
  store ptr %24, ptr %13, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %14) #3
  store ptr getelementptr inbounds (i32, ptr @GIFT128_RC_fixsliced, i64 35), ptr %14, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #3
  %25 = load ptr, ptr %6, align 8, !tbaa !5
  %26 = load ptr, ptr %7, align 8, !tbaa !5
  call void @gift128n_to_words(ptr noundef %25, ptr noundef %26)
  br label %27

27:                                               ; preds = %4
  %28 = call i32 @aead_random_generate_32()
  %29 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  store i32 %28, ptr %29, align 4, !tbaa !11
  %30 = call i32 @aead_random_generate_32()
  %31 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  store i32 %30, ptr %31, align 4, !tbaa !13
  %32 = call i32 @aead_random_generate_32()
  %33 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %32, ptr %33, align 4, !tbaa !14
  %34 = load ptr, ptr %6, align 8, !tbaa !5
  %35 = getelementptr inbounds i8, ptr %34, i64 0
  %36 = load i8, ptr %35, align 1, !tbaa !15
  %37 = zext i8 %36 to i32
  %38 = shl i32 %37, 24
  %39 = load ptr, ptr %6, align 8, !tbaa !5
  %40 = getelementptr inbounds i8, ptr %39, i64 1
  %41 = load i8, ptr %40, align 1, !tbaa !15
  %42 = zext i8 %41 to i32
  %43 = shl i32 %42, 16
  %44 = or i32 %38, %43
  %45 = load ptr, ptr %6, align 8, !tbaa !5
  %46 = getelementptr inbounds i8, ptr %45, i64 2
  %47 = load i8, ptr %46, align 1, !tbaa !15
  %48 = zext i8 %47 to i32
  %49 = shl i32 %48, 8
  %50 = or i32 %44, %49
  %51 = load ptr, ptr %6, align 8, !tbaa !5
  %52 = getelementptr inbounds i8, ptr %51, i64 3
  %53 = load i8, ptr %52, align 1, !tbaa !15
  %54 = zext i8 %53 to i32
  %55 = or i32 %50, %54
  %56 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %57 = load i32, ptr %56, align 4, !tbaa !11
  %58 = xor i32 %55, %57
  %59 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %60 = load i32, ptr %59, align 4, !tbaa !13
  %61 = xor i32 %58, %60
  %62 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %63 = load i32, ptr %62, align 4, !tbaa !14
  %64 = xor i32 %61, %63
  %65 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  store i32 %64, ptr %65, align 4, !tbaa !16
  br label %66

66:                                               ; preds = %27
  br label %67

67:                                               ; preds = %66
  br label %68

68:                                               ; preds = %67
  %69 = call i32 @aead_random_generate_32()
  %70 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %69, ptr %70, align 4, !tbaa !11
  %71 = call i32 @aead_random_generate_32()
  %72 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %71, ptr %72, align 4, !tbaa !13
  %73 = call i32 @aead_random_generate_32()
  %74 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %73, ptr %74, align 4, !tbaa !14
  %75 = load ptr, ptr %6, align 8, !tbaa !5
  %76 = getelementptr inbounds i8, ptr %75, i64 4
  %77 = getelementptr inbounds i8, ptr %76, i64 0
  %78 = load i8, ptr %77, align 1, !tbaa !15
  %79 = zext i8 %78 to i32
  %80 = shl i32 %79, 24
  %81 = load ptr, ptr %6, align 8, !tbaa !5
  %82 = getelementptr inbounds i8, ptr %81, i64 4
  %83 = getelementptr inbounds i8, ptr %82, i64 1
  %84 = load i8, ptr %83, align 1, !tbaa !15
  %85 = zext i8 %84 to i32
  %86 = shl i32 %85, 16
  %87 = or i32 %80, %86
  %88 = load ptr, ptr %6, align 8, !tbaa !5
  %89 = getelementptr inbounds i8, ptr %88, i64 4
  %90 = getelementptr inbounds i8, ptr %89, i64 2
  %91 = load i8, ptr %90, align 1, !tbaa !15
  %92 = zext i8 %91 to i32
  %93 = shl i32 %92, 8
  %94 = or i32 %87, %93
  %95 = load ptr, ptr %6, align 8, !tbaa !5
  %96 = getelementptr inbounds i8, ptr %95, i64 4
  %97 = getelementptr inbounds i8, ptr %96, i64 3
  %98 = load i8, ptr %97, align 1, !tbaa !15
  %99 = zext i8 %98 to i32
  %100 = or i32 %94, %99
  %101 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %102 = load i32, ptr %101, align 4, !tbaa !11
  %103 = xor i32 %100, %102
  %104 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %105 = load i32, ptr %104, align 4, !tbaa !13
  %106 = xor i32 %103, %105
  %107 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %108 = load i32, ptr %107, align 4, !tbaa !14
  %109 = xor i32 %106, %108
  %110 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  store i32 %109, ptr %110, align 4, !tbaa !16
  br label %111

111:                                              ; preds = %68
  br label %112

112:                                              ; preds = %111
  br label %113

113:                                              ; preds = %112
  %114 = call i32 @aead_random_generate_32()
  %115 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %114, ptr %115, align 4, !tbaa !11
  %116 = call i32 @aead_random_generate_32()
  %117 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %116, ptr %117, align 4, !tbaa !13
  %118 = call i32 @aead_random_generate_32()
  %119 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %118, ptr %119, align 4, !tbaa !14
  %120 = load ptr, ptr %6, align 8, !tbaa !5
  %121 = getelementptr inbounds i8, ptr %120, i64 8
  %122 = getelementptr inbounds i8, ptr %121, i64 0
  %123 = load i8, ptr %122, align 1, !tbaa !15
  %124 = zext i8 %123 to i32
  %125 = shl i32 %124, 24
  %126 = load ptr, ptr %6, align 8, !tbaa !5
  %127 = getelementptr inbounds i8, ptr %126, i64 8
  %128 = getelementptr inbounds i8, ptr %127, i64 1
  %129 = load i8, ptr %128, align 1, !tbaa !15
  %130 = zext i8 %129 to i32
  %131 = shl i32 %130, 16
  %132 = or i32 %125, %131
  %133 = load ptr, ptr %6, align 8, !tbaa !5
  %134 = getelementptr inbounds i8, ptr %133, i64 8
  %135 = getelementptr inbounds i8, ptr %134, i64 2
  %136 = load i8, ptr %135, align 1, !tbaa !15
  %137 = zext i8 %136 to i32
  %138 = shl i32 %137, 8
  %139 = or i32 %132, %138
  %140 = load ptr, ptr %6, align 8, !tbaa !5
  %141 = getelementptr inbounds i8, ptr %140, i64 8
  %142 = getelementptr inbounds i8, ptr %141, i64 3
  %143 = load i8, ptr %142, align 1, !tbaa !15
  %144 = zext i8 %143 to i32
  %145 = or i32 %139, %144
  %146 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %147 = load i32, ptr %146, align 4, !tbaa !11
  %148 = xor i32 %145, %147
  %149 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %150 = load i32, ptr %149, align 4, !tbaa !13
  %151 = xor i32 %148, %150
  %152 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %153 = load i32, ptr %152, align 4, !tbaa !14
  %154 = xor i32 %151, %153
  %155 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  store i32 %154, ptr %155, align 4, !tbaa !16
  br label %156

156:                                              ; preds = %113
  br label %157

157:                                              ; preds = %156
  br label %158

158:                                              ; preds = %157
  %159 = call i32 @aead_random_generate_32()
  %160 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  store i32 %159, ptr %160, align 4, !tbaa !11
  %161 = call i32 @aead_random_generate_32()
  %162 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  store i32 %161, ptr %162, align 4, !tbaa !13
  %163 = call i32 @aead_random_generate_32()
  %164 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %163, ptr %164, align 4, !tbaa !14
  %165 = load ptr, ptr %6, align 8, !tbaa !5
  %166 = getelementptr inbounds i8, ptr %165, i64 12
  %167 = getelementptr inbounds i8, ptr %166, i64 0
  %168 = load i8, ptr %167, align 1, !tbaa !15
  %169 = zext i8 %168 to i32
  %170 = shl i32 %169, 24
  %171 = load ptr, ptr %6, align 8, !tbaa !5
  %172 = getelementptr inbounds i8, ptr %171, i64 12
  %173 = getelementptr inbounds i8, ptr %172, i64 1
  %174 = load i8, ptr %173, align 1, !tbaa !15
  %175 = zext i8 %174 to i32
  %176 = shl i32 %175, 16
  %177 = or i32 %170, %176
  %178 = load ptr, ptr %6, align 8, !tbaa !5
  %179 = getelementptr inbounds i8, ptr %178, i64 12
  %180 = getelementptr inbounds i8, ptr %179, i64 2
  %181 = load i8, ptr %180, align 1, !tbaa !15
  %182 = zext i8 %181 to i32
  %183 = shl i32 %182, 8
  %184 = or i32 %177, %183
  %185 = load ptr, ptr %6, align 8, !tbaa !5
  %186 = getelementptr inbounds i8, ptr %185, i64 12
  %187 = getelementptr inbounds i8, ptr %186, i64 3
  %188 = load i8, ptr %187, align 1, !tbaa !15
  %189 = zext i8 %188 to i32
  %190 = or i32 %184, %189
  %191 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %192 = load i32, ptr %191, align 4, !tbaa !11
  %193 = xor i32 %190, %192
  %194 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %195 = load i32, ptr %194, align 4, !tbaa !13
  %196 = xor i32 %193, %195
  %197 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %198 = load i32, ptr %197, align 4, !tbaa !14
  %199 = xor i32 %196, %198
  %200 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  store i32 %199, ptr %200, align 4, !tbaa !16
  br label %201

201:                                              ; preds = %158
  br label %202

202:                                              ; preds = %201
  store i8 0, ptr %16, align 1, !tbaa !15
  br label %203

203:                                              ; preds = %5585, %202
  %204 = load i8, ptr %16, align 1, !tbaa !15
  %205 = zext i8 %204 to i32
  %206 = icmp slt i32 %205, 8
  br i1 %206, label %207, label %5592

207:                                              ; preds = %203
  br label %208

208:                                              ; preds = %207
  br label %209

209:                                              ; preds = %208
  %210 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %211 = load i32, ptr %210, align 4, !tbaa !16
  %212 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %213 = load i32, ptr %212, align 4, !tbaa !16
  %214 = xor i32 %213, %211
  store i32 %214, ptr %212, align 4, !tbaa !16
  %215 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %216 = load i32, ptr %215, align 4, !tbaa !16
  %217 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %218 = load i32, ptr %217, align 4, !tbaa !16
  %219 = xor i32 %218, %216
  store i32 %219, ptr %217, align 4, !tbaa !16
  %220 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %221 = load i32, ptr %220, align 4, !tbaa !16
  %222 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %223 = load i32, ptr %222, align 4, !tbaa !16
  %224 = xor i32 %223, %221
  store i32 %224, ptr %222, align 4, !tbaa !16
  %225 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %226 = load i32, ptr %225, align 4, !tbaa !11
  %227 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %228 = load i32, ptr %227, align 4, !tbaa !11
  %229 = xor i32 %228, %226
  store i32 %229, ptr %227, align 4, !tbaa !11
  %230 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %231 = load i32, ptr %230, align 4, !tbaa !11
  %232 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %233 = load i32, ptr %232, align 4, !tbaa !11
  %234 = xor i32 %233, %231
  store i32 %234, ptr %232, align 4, !tbaa !11
  %235 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %236 = load i32, ptr %235, align 4, !tbaa !11
  %237 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %238 = load i32, ptr %237, align 4, !tbaa !11
  %239 = xor i32 %238, %236
  store i32 %239, ptr %237, align 4, !tbaa !11
  %240 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %241 = load i32, ptr %240, align 4, !tbaa !13
  %242 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %243 = load i32, ptr %242, align 4, !tbaa !13
  %244 = xor i32 %243, %241
  store i32 %244, ptr %242, align 4, !tbaa !13
  %245 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %246 = load i32, ptr %245, align 4, !tbaa !13
  %247 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %248 = load i32, ptr %247, align 4, !tbaa !13
  %249 = xor i32 %248, %246
  store i32 %249, ptr %247, align 4, !tbaa !13
  %250 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %251 = load i32, ptr %250, align 4, !tbaa !13
  %252 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %253 = load i32, ptr %252, align 4, !tbaa !13
  %254 = xor i32 %253, %251
  store i32 %254, ptr %252, align 4, !tbaa !13
  %255 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %256 = load i32, ptr %255, align 4, !tbaa !14
  %257 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %258 = load i32, ptr %257, align 4, !tbaa !14
  %259 = xor i32 %258, %256
  store i32 %259, ptr %257, align 4, !tbaa !14
  %260 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %261 = load i32, ptr %260, align 4, !tbaa !14
  %262 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %263 = load i32, ptr %262, align 4, !tbaa !14
  %264 = xor i32 %263, %261
  store i32 %264, ptr %262, align 4, !tbaa !14
  %265 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %266 = load i32, ptr %265, align 4, !tbaa !14
  %267 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %268 = load i32, ptr %267, align 4, !tbaa !14
  %269 = xor i32 %268, %266
  store i32 %269, ptr %267, align 4, !tbaa !14
  br label %270

270:                                              ; preds = %209
  br label %271

271:                                              ; preds = %270
  br label %272

272:                                              ; preds = %271
  %273 = load ptr, ptr %13, align 8, !tbaa !5
  %274 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %273, i64 8
  %275 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %274, i32 0, i32 0
  %276 = load i32, ptr %275, align 4, !tbaa !16
  %277 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %278 = load i32, ptr %277, align 4, !tbaa !16
  %279 = xor i32 %278, %276
  store i32 %279, ptr %277, align 4, !tbaa !16
  %280 = load ptr, ptr %13, align 8, !tbaa !5
  %281 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %280, i64 8
  %282 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %281, i32 0, i32 1
  %283 = load i32, ptr %282, align 4, !tbaa !11
  %284 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %285 = load i32, ptr %284, align 4, !tbaa !11
  %286 = xor i32 %285, %283
  store i32 %286, ptr %284, align 4, !tbaa !11
  %287 = load ptr, ptr %13, align 8, !tbaa !5
  %288 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %287, i64 8
  %289 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %288, i32 0, i32 2
  %290 = load i32, ptr %289, align 4, !tbaa !13
  %291 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %292 = load i32, ptr %291, align 4, !tbaa !13
  %293 = xor i32 %292, %290
  store i32 %293, ptr %291, align 4, !tbaa !13
  %294 = load ptr, ptr %13, align 8, !tbaa !5
  %295 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %294, i64 8
  %296 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %295, i32 0, i32 3
  %297 = load i32, ptr %296, align 4, !tbaa !14
  %298 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %299 = load i32, ptr %298, align 4, !tbaa !14
  %300 = xor i32 %299, %297
  store i32 %300, ptr %298, align 4, !tbaa !14
  br label %301

301:                                              ; preds = %272
  br label %302

302:                                              ; preds = %301
  br label %303

303:                                              ; preds = %302
  %304 = load ptr, ptr %13, align 8, !tbaa !5
  %305 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %304, i64 9
  %306 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %305, i32 0, i32 0
  %307 = load i32, ptr %306, align 4, !tbaa !16
  %308 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %309 = load i32, ptr %308, align 4, !tbaa !16
  %310 = xor i32 %309, %307
  store i32 %310, ptr %308, align 4, !tbaa !16
  %311 = load ptr, ptr %13, align 8, !tbaa !5
  %312 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %311, i64 9
  %313 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %312, i32 0, i32 1
  %314 = load i32, ptr %313, align 4, !tbaa !11
  %315 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %316 = load i32, ptr %315, align 4, !tbaa !11
  %317 = xor i32 %316, %314
  store i32 %317, ptr %315, align 4, !tbaa !11
  %318 = load ptr, ptr %13, align 8, !tbaa !5
  %319 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %318, i64 9
  %320 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %319, i32 0, i32 2
  %321 = load i32, ptr %320, align 4, !tbaa !13
  %322 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %323 = load i32, ptr %322, align 4, !tbaa !13
  %324 = xor i32 %323, %321
  store i32 %324, ptr %322, align 4, !tbaa !13
  %325 = load ptr, ptr %13, align 8, !tbaa !5
  %326 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %325, i64 9
  %327 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %326, i32 0, i32 3
  %328 = load i32, ptr %327, align 4, !tbaa !14
  %329 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %330 = load i32, ptr %329, align 4, !tbaa !14
  %331 = xor i32 %330, %328
  store i32 %331, ptr %329, align 4, !tbaa !14
  br label %332

332:                                              ; preds = %303
  br label %333

333:                                              ; preds = %332
  br label %334

334:                                              ; preds = %333
  %335 = load ptr, ptr %14, align 8, !tbaa !5
  %336 = getelementptr inbounds i32, ptr %335, i64 4
  %337 = load i32, ptr %336, align 4, !tbaa !9
  %338 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %339 = load i32, ptr %338, align 4, !tbaa !16
  %340 = xor i32 %339, %337
  store i32 %340, ptr %338, align 4, !tbaa !16
  br label %341

341:                                              ; preds = %334
  br label %342

342:                                              ; preds = %341
  br label %343

343:                                              ; preds = %342
  br label %344

344:                                              ; preds = %343
  %345 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %346 = load i32, ptr %345, align 4, !tbaa !16
  %347 = shl i32 %346, 16
  %348 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %349 = load i32, ptr %348, align 4, !tbaa !16
  %350 = lshr i32 %349, 16
  %351 = or i32 %347, %350
  %352 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  store i32 %351, ptr %352, align 4, !tbaa !16
  %353 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %354 = load i32, ptr %353, align 4, !tbaa !11
  %355 = shl i32 %354, 16
  %356 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %357 = load i32, ptr %356, align 4, !tbaa !11
  %358 = lshr i32 %357, 16
  %359 = or i32 %355, %358
  %360 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %359, ptr %360, align 4, !tbaa !11
  %361 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %362 = load i32, ptr %361, align 4, !tbaa !13
  %363 = shl i32 %362, 16
  %364 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %365 = load i32, ptr %364, align 4, !tbaa !13
  %366 = lshr i32 %365, 16
  %367 = or i32 %363, %366
  %368 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %367, ptr %368, align 4, !tbaa !13
  %369 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %370 = load i32, ptr %369, align 4, !tbaa !14
  %371 = shl i32 %370, 16
  %372 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %373 = load i32, ptr %372, align 4, !tbaa !14
  %374 = lshr i32 %373, 16
  %375 = or i32 %371, %374
  %376 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %375, ptr %376, align 4, !tbaa !14
  br label %377

377:                                              ; preds = %344
  br label %378

378:                                              ; preds = %377
  br label %379

379:                                              ; preds = %378
  %380 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %381 = load i32, ptr %380, align 4, !tbaa !16
  %382 = shl i32 %381, 8
  %383 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %384 = load i32, ptr %383, align 4, !tbaa !16
  %385 = lshr i32 %384, 24
  %386 = or i32 %382, %385
  %387 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  store i32 %386, ptr %387, align 4, !tbaa !16
  %388 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %389 = load i32, ptr %388, align 4, !tbaa !11
  %390 = shl i32 %389, 8
  %391 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %392 = load i32, ptr %391, align 4, !tbaa !11
  %393 = lshr i32 %392, 24
  %394 = or i32 %390, %393
  %395 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %394, ptr %395, align 4, !tbaa !11
  %396 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %397 = load i32, ptr %396, align 4, !tbaa !13
  %398 = shl i32 %397, 8
  %399 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %400 = load i32, ptr %399, align 4, !tbaa !13
  %401 = lshr i32 %400, 24
  %402 = or i32 %398, %401
  %403 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %402, ptr %403, align 4, !tbaa !13
  %404 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %405 = load i32, ptr %404, align 4, !tbaa !14
  %406 = shl i32 %405, 8
  %407 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %408 = load i32, ptr %407, align 4, !tbaa !14
  %409 = lshr i32 %408, 24
  %410 = or i32 %406, %409
  %411 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %410, ptr %411, align 4, !tbaa !14
  br label %412

412:                                              ; preds = %379
  br label %413

413:                                              ; preds = %412
  br label %414

414:                                              ; preds = %413
  %415 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %416 = load i32, ptr %415, align 4, !tbaa !16
  %417 = lshr i32 %416, 8
  %418 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %419 = load i32, ptr %418, align 4, !tbaa !16
  %420 = shl i32 %419, 24
  %421 = or i32 %417, %420
  %422 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  store i32 %421, ptr %422, align 4, !tbaa !16
  %423 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %424 = load i32, ptr %423, align 4, !tbaa !11
  %425 = lshr i32 %424, 8
  %426 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %427 = load i32, ptr %426, align 4, !tbaa !11
  %428 = shl i32 %427, 24
  %429 = or i32 %425, %428
  %430 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  store i32 %429, ptr %430, align 4, !tbaa !11
  %431 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %432 = load i32, ptr %431, align 4, !tbaa !13
  %433 = lshr i32 %432, 8
  %434 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %435 = load i32, ptr %434, align 4, !tbaa !13
  %436 = shl i32 %435, 24
  %437 = or i32 %433, %436
  %438 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  store i32 %437, ptr %438, align 4, !tbaa !13
  %439 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %440 = load i32, ptr %439, align 4, !tbaa !14
  %441 = lshr i32 %440, 8
  %442 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %443 = load i32, ptr %442, align 4, !tbaa !14
  %444 = shl i32 %443, 24
  %445 = or i32 %441, %444
  %446 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %445, ptr %446, align 4, !tbaa !14
  br label %447

447:                                              ; preds = %414
  br label %448

448:                                              ; preds = %447
  br label %449

449:                                              ; preds = %448
  br label %450

450:                                              ; preds = %449
  br label %451

451:                                              ; preds = %450
  br label %452

452:                                              ; preds = %451
  %453 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %454 = load i32, ptr %453, align 4, !tbaa !16
  %455 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %456 = load i32, ptr %455, align 4, !tbaa !16
  %457 = and i32 %454, %456
  %458 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %459 = load i32, ptr %458, align 4, !tbaa !16
  %460 = xor i32 %459, %457
  store i32 %460, ptr %458, align 4, !tbaa !16
  br label %461

461:                                              ; preds = %452
  %462 = call i32 @aead_random_generate_32()
  store i32 %462, ptr %15, align 4, !tbaa !9
  %463 = load i32, ptr %15, align 4, !tbaa !9
  %464 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %465 = load i32, ptr %464, align 4, !tbaa !16
  %466 = xor i32 %465, %463
  store i32 %466, ptr %464, align 4, !tbaa !16
  %467 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %468 = load i32, ptr %467, align 4, !tbaa !11
  %469 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %470 = load i32, ptr %469, align 4, !tbaa !16
  %471 = and i32 %468, %470
  %472 = load i32, ptr %15, align 4, !tbaa !9
  %473 = xor i32 %472, %471
  store i32 %473, ptr %15, align 4, !tbaa !9
  %474 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %475 = load i32, ptr %474, align 4, !tbaa !11
  %476 = load i32, ptr %15, align 4, !tbaa !9
  %477 = xor i32 %475, %476
  %478 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %479 = load i32, ptr %478, align 4, !tbaa !11
  %480 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %481 = load i32, ptr %480, align 4, !tbaa !16
  %482 = and i32 %479, %481
  %483 = xor i32 %477, %482
  %484 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %483, ptr %484, align 4, !tbaa !11
  br label %485

485:                                              ; preds = %461
  br label %486

486:                                              ; preds = %485
  br label %487

487:                                              ; preds = %486
  %488 = call i32 @aead_random_generate_32()
  store i32 %488, ptr %15, align 4, !tbaa !9
  %489 = load i32, ptr %15, align 4, !tbaa !9
  %490 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %491 = load i32, ptr %490, align 4, !tbaa !16
  %492 = xor i32 %491, %489
  store i32 %492, ptr %490, align 4, !tbaa !16
  %493 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %494 = load i32, ptr %493, align 4, !tbaa !13
  %495 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %496 = load i32, ptr %495, align 4, !tbaa !16
  %497 = and i32 %494, %496
  %498 = load i32, ptr %15, align 4, !tbaa !9
  %499 = xor i32 %498, %497
  store i32 %499, ptr %15, align 4, !tbaa !9
  %500 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %501 = load i32, ptr %500, align 4, !tbaa !13
  %502 = load i32, ptr %15, align 4, !tbaa !9
  %503 = xor i32 %501, %502
  %504 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %505 = load i32, ptr %504, align 4, !tbaa !13
  %506 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %507 = load i32, ptr %506, align 4, !tbaa !16
  %508 = and i32 %505, %507
  %509 = xor i32 %503, %508
  %510 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %509, ptr %510, align 4, !tbaa !13
  br label %511

511:                                              ; preds = %487
  br label %512

512:                                              ; preds = %511
  br label %513

513:                                              ; preds = %512
  %514 = call i32 @aead_random_generate_32()
  store i32 %514, ptr %15, align 4, !tbaa !9
  %515 = load i32, ptr %15, align 4, !tbaa !9
  %516 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %517 = load i32, ptr %516, align 4, !tbaa !16
  %518 = xor i32 %517, %515
  store i32 %518, ptr %516, align 4, !tbaa !16
  %519 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %520 = load i32, ptr %519, align 4, !tbaa !14
  %521 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %522 = load i32, ptr %521, align 4, !tbaa !16
  %523 = and i32 %520, %522
  %524 = load i32, ptr %15, align 4, !tbaa !9
  %525 = xor i32 %524, %523
  store i32 %525, ptr %15, align 4, !tbaa !9
  %526 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %527 = load i32, ptr %526, align 4, !tbaa !14
  %528 = load i32, ptr %15, align 4, !tbaa !9
  %529 = xor i32 %527, %528
  %530 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %531 = load i32, ptr %530, align 4, !tbaa !14
  %532 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %533 = load i32, ptr %532, align 4, !tbaa !16
  %534 = and i32 %531, %533
  %535 = xor i32 %529, %534
  %536 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %535, ptr %536, align 4, !tbaa !14
  br label %537

537:                                              ; preds = %513
  br label %538

538:                                              ; preds = %537
  %539 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %540 = load i32, ptr %539, align 4, !tbaa !11
  %541 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %542 = load i32, ptr %541, align 4, !tbaa !11
  %543 = and i32 %540, %542
  %544 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %545 = load i32, ptr %544, align 4, !tbaa !11
  %546 = xor i32 %545, %543
  store i32 %546, ptr %544, align 4, !tbaa !11
  br label %547

547:                                              ; preds = %538
  %548 = call i32 @aead_random_generate_32()
  store i32 %548, ptr %15, align 4, !tbaa !9
  %549 = load i32, ptr %15, align 4, !tbaa !9
  %550 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %551 = load i32, ptr %550, align 4, !tbaa !11
  %552 = xor i32 %551, %549
  store i32 %552, ptr %550, align 4, !tbaa !11
  %553 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %554 = load i32, ptr %553, align 4, !tbaa !13
  %555 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %556 = load i32, ptr %555, align 4, !tbaa !11
  %557 = and i32 %554, %556
  %558 = load i32, ptr %15, align 4, !tbaa !9
  %559 = xor i32 %558, %557
  store i32 %559, ptr %15, align 4, !tbaa !9
  %560 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %561 = load i32, ptr %560, align 4, !tbaa !13
  %562 = load i32, ptr %15, align 4, !tbaa !9
  %563 = xor i32 %561, %562
  %564 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %565 = load i32, ptr %564, align 4, !tbaa !13
  %566 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %567 = load i32, ptr %566, align 4, !tbaa !11
  %568 = and i32 %565, %567
  %569 = xor i32 %563, %568
  %570 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %569, ptr %570, align 4, !tbaa !13
  br label %571

571:                                              ; preds = %547
  br label %572

572:                                              ; preds = %571
  br label %573

573:                                              ; preds = %572
  %574 = call i32 @aead_random_generate_32()
  store i32 %574, ptr %15, align 4, !tbaa !9
  %575 = load i32, ptr %15, align 4, !tbaa !9
  %576 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %577 = load i32, ptr %576, align 4, !tbaa !11
  %578 = xor i32 %577, %575
  store i32 %578, ptr %576, align 4, !tbaa !11
  %579 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %580 = load i32, ptr %579, align 4, !tbaa !14
  %581 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %582 = load i32, ptr %581, align 4, !tbaa !11
  %583 = and i32 %580, %582
  %584 = load i32, ptr %15, align 4, !tbaa !9
  %585 = xor i32 %584, %583
  store i32 %585, ptr %15, align 4, !tbaa !9
  %586 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %587 = load i32, ptr %586, align 4, !tbaa !14
  %588 = load i32, ptr %15, align 4, !tbaa !9
  %589 = xor i32 %587, %588
  %590 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %591 = load i32, ptr %590, align 4, !tbaa !14
  %592 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %593 = load i32, ptr %592, align 4, !tbaa !11
  %594 = and i32 %591, %593
  %595 = xor i32 %589, %594
  %596 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %595, ptr %596, align 4, !tbaa !14
  br label %597

597:                                              ; preds = %573
  br label %598

598:                                              ; preds = %597
  %599 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %600 = load i32, ptr %599, align 4, !tbaa !13
  %601 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %602 = load i32, ptr %601, align 4, !tbaa !13
  %603 = and i32 %600, %602
  %604 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %605 = load i32, ptr %604, align 4, !tbaa !13
  %606 = xor i32 %605, %603
  store i32 %606, ptr %604, align 4, !tbaa !13
  br label %607

607:                                              ; preds = %598
  %608 = call i32 @aead_random_generate_32()
  store i32 %608, ptr %15, align 4, !tbaa !9
  %609 = load i32, ptr %15, align 4, !tbaa !9
  %610 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %611 = load i32, ptr %610, align 4, !tbaa !13
  %612 = xor i32 %611, %609
  store i32 %612, ptr %610, align 4, !tbaa !13
  %613 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %614 = load i32, ptr %613, align 4, !tbaa !14
  %615 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %616 = load i32, ptr %615, align 4, !tbaa !13
  %617 = and i32 %614, %616
  %618 = load i32, ptr %15, align 4, !tbaa !9
  %619 = xor i32 %618, %617
  store i32 %619, ptr %15, align 4, !tbaa !9
  %620 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %621 = load i32, ptr %620, align 4, !tbaa !14
  %622 = load i32, ptr %15, align 4, !tbaa !9
  %623 = xor i32 %621, %622
  %624 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %625 = load i32, ptr %624, align 4, !tbaa !14
  %626 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %627 = load i32, ptr %626, align 4, !tbaa !13
  %628 = and i32 %625, %627
  %629 = xor i32 %623, %628
  %630 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %629, ptr %630, align 4, !tbaa !14
  br label %631

631:                                              ; preds = %607
  br label %632

632:                                              ; preds = %631
  %633 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %634 = load i32, ptr %633, align 4, !tbaa !14
  %635 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %636 = load i32, ptr %635, align 4, !tbaa !14
  %637 = and i32 %634, %636
  %638 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %639 = load i32, ptr %638, align 4, !tbaa !14
  %640 = xor i32 %639, %637
  store i32 %640, ptr %638, align 4, !tbaa !14
  br label %641

641:                                              ; preds = %632
  br label %642

642:                                              ; preds = %641
  br label %643

643:                                              ; preds = %642
  %644 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %645 = load i32, ptr %644, align 4, !tbaa !16
  %646 = xor i32 %645, -1
  %647 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  store i32 %646, ptr %647, align 4, !tbaa !16
  br label %648

648:                                              ; preds = %643
  br label %649

649:                                              ; preds = %648
  br label %650

650:                                              ; preds = %649
  %651 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %652 = load i32, ptr %651, align 4, !tbaa !16
  %653 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %654 = load i32, ptr %653, align 4, !tbaa !16
  %655 = xor i32 %654, %652
  store i32 %655, ptr %653, align 4, !tbaa !16
  %656 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %657 = load i32, ptr %656, align 4, !tbaa !11
  %658 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %659 = load i32, ptr %658, align 4, !tbaa !11
  %660 = xor i32 %659, %657
  store i32 %660, ptr %658, align 4, !tbaa !11
  %661 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %662 = load i32, ptr %661, align 4, !tbaa !13
  %663 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %664 = load i32, ptr %663, align 4, !tbaa !13
  %665 = xor i32 %664, %662
  store i32 %665, ptr %663, align 4, !tbaa !13
  %666 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %667 = load i32, ptr %666, align 4, !tbaa !14
  %668 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %669 = load i32, ptr %668, align 4, !tbaa !14
  %670 = xor i32 %669, %667
  store i32 %670, ptr %668, align 4, !tbaa !14
  br label %671

671:                                              ; preds = %650
  br label %672

672:                                              ; preds = %671
  br label %673

673:                                              ; preds = %672
  %674 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %675 = load i32, ptr %674, align 4, !tbaa !16
  %676 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %677 = load i32, ptr %676, align 4, !tbaa !16
  %678 = xor i32 %677, %675
  store i32 %678, ptr %676, align 4, !tbaa !16
  %679 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %680 = load i32, ptr %679, align 4, !tbaa !11
  %681 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %682 = load i32, ptr %681, align 4, !tbaa !11
  %683 = xor i32 %682, %680
  store i32 %683, ptr %681, align 4, !tbaa !11
  %684 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %685 = load i32, ptr %684, align 4, !tbaa !13
  %686 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %687 = load i32, ptr %686, align 4, !tbaa !13
  %688 = xor i32 %687, %685
  store i32 %688, ptr %686, align 4, !tbaa !13
  %689 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %690 = load i32, ptr %689, align 4, !tbaa !14
  %691 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %692 = load i32, ptr %691, align 4, !tbaa !14
  %693 = xor i32 %692, %690
  store i32 %693, ptr %691, align 4, !tbaa !14
  br label %694

694:                                              ; preds = %673
  br label %695

695:                                              ; preds = %694
  br label %696

696:                                              ; preds = %695
  %697 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %698 = load i32, ptr %697, align 4, !tbaa !16
  %699 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %700 = load i32, ptr %699, align 4, !tbaa !16
  %701 = or i32 %698, %700
  %702 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %703 = load i32, ptr %702, align 4, !tbaa !16
  %704 = xor i32 %703, %701
  store i32 %704, ptr %702, align 4, !tbaa !16
  br label %705

705:                                              ; preds = %696
  %706 = call i32 @aead_random_generate_32()
  store i32 %706, ptr %15, align 4, !tbaa !9
  %707 = load i32, ptr %15, align 4, !tbaa !9
  %708 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %709 = load i32, ptr %708, align 4, !tbaa !16
  %710 = xor i32 %709, %707
  store i32 %710, ptr %708, align 4, !tbaa !16
  %711 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %712 = load i32, ptr %711, align 4, !tbaa !11
  %713 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %714 = load i32, ptr %713, align 4, !tbaa !16
  %715 = xor i32 %714, -1
  %716 = and i32 %712, %715
  %717 = load i32, ptr %15, align 4, !tbaa !9
  %718 = xor i32 %717, %716
  store i32 %718, ptr %15, align 4, !tbaa !9
  %719 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %720 = load i32, ptr %719, align 4, !tbaa !11
  %721 = load i32, ptr %15, align 4, !tbaa !9
  %722 = xor i32 %720, %721
  %723 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %724 = load i32, ptr %723, align 4, !tbaa !11
  %725 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %726 = load i32, ptr %725, align 4, !tbaa !16
  %727 = xor i32 %726, -1
  %728 = and i32 %724, %727
  %729 = xor i32 %722, %728
  %730 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %729, ptr %730, align 4, !tbaa !11
  br label %731

731:                                              ; preds = %705
  br label %732

732:                                              ; preds = %731
  br label %733

733:                                              ; preds = %732
  %734 = call i32 @aead_random_generate_32()
  store i32 %734, ptr %15, align 4, !tbaa !9
  %735 = load i32, ptr %15, align 4, !tbaa !9
  %736 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %737 = load i32, ptr %736, align 4, !tbaa !16
  %738 = xor i32 %737, %735
  store i32 %738, ptr %736, align 4, !tbaa !16
  %739 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %740 = load i32, ptr %739, align 4, !tbaa !13
  %741 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %742 = load i32, ptr %741, align 4, !tbaa !16
  %743 = xor i32 %742, -1
  %744 = and i32 %740, %743
  %745 = load i32, ptr %15, align 4, !tbaa !9
  %746 = xor i32 %745, %744
  store i32 %746, ptr %15, align 4, !tbaa !9
  %747 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %748 = load i32, ptr %747, align 4, !tbaa !13
  %749 = load i32, ptr %15, align 4, !tbaa !9
  %750 = xor i32 %748, %749
  %751 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %752 = load i32, ptr %751, align 4, !tbaa !13
  %753 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %754 = load i32, ptr %753, align 4, !tbaa !16
  %755 = xor i32 %754, -1
  %756 = and i32 %752, %755
  %757 = xor i32 %750, %756
  %758 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %757, ptr %758, align 4, !tbaa !13
  br label %759

759:                                              ; preds = %733
  br label %760

760:                                              ; preds = %759
  br label %761

761:                                              ; preds = %760
  %762 = call i32 @aead_random_generate_32()
  store i32 %762, ptr %15, align 4, !tbaa !9
  %763 = load i32, ptr %15, align 4, !tbaa !9
  %764 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %765 = load i32, ptr %764, align 4, !tbaa !16
  %766 = xor i32 %765, %763
  store i32 %766, ptr %764, align 4, !tbaa !16
  %767 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %768 = load i32, ptr %767, align 4, !tbaa !14
  %769 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %770 = load i32, ptr %769, align 4, !tbaa !16
  %771 = xor i32 %770, -1
  %772 = and i32 %768, %771
  %773 = load i32, ptr %15, align 4, !tbaa !9
  %774 = xor i32 %773, %772
  store i32 %774, ptr %15, align 4, !tbaa !9
  %775 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %776 = load i32, ptr %775, align 4, !tbaa !14
  %777 = load i32, ptr %15, align 4, !tbaa !9
  %778 = xor i32 %776, %777
  %779 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %780 = load i32, ptr %779, align 4, !tbaa !14
  %781 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %782 = load i32, ptr %781, align 4, !tbaa !16
  %783 = xor i32 %782, -1
  %784 = and i32 %780, %783
  %785 = xor i32 %778, %784
  %786 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %785, ptr %786, align 4, !tbaa !14
  br label %787

787:                                              ; preds = %761
  br label %788

788:                                              ; preds = %787
  %789 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %790 = load i32, ptr %789, align 4, !tbaa !11
  %791 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %792 = load i32, ptr %791, align 4, !tbaa !11
  %793 = and i32 %790, %792
  %794 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %795 = load i32, ptr %794, align 4, !tbaa !11
  %796 = xor i32 %795, %793
  store i32 %796, ptr %794, align 4, !tbaa !11
  br label %797

797:                                              ; preds = %788
  %798 = call i32 @aead_random_generate_32()
  store i32 %798, ptr %15, align 4, !tbaa !9
  %799 = load i32, ptr %15, align 4, !tbaa !9
  %800 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %801 = load i32, ptr %800, align 4, !tbaa !11
  %802 = xor i32 %801, %799
  store i32 %802, ptr %800, align 4, !tbaa !11
  %803 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %804 = load i32, ptr %803, align 4, !tbaa !13
  %805 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %806 = load i32, ptr %805, align 4, !tbaa !11
  %807 = and i32 %804, %806
  %808 = load i32, ptr %15, align 4, !tbaa !9
  %809 = xor i32 %808, %807
  store i32 %809, ptr %15, align 4, !tbaa !9
  %810 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %811 = load i32, ptr %810, align 4, !tbaa !13
  %812 = load i32, ptr %15, align 4, !tbaa !9
  %813 = xor i32 %811, %812
  %814 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %815 = load i32, ptr %814, align 4, !tbaa !13
  %816 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %817 = load i32, ptr %816, align 4, !tbaa !11
  %818 = and i32 %815, %817
  %819 = xor i32 %813, %818
  %820 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %819, ptr %820, align 4, !tbaa !13
  br label %821

821:                                              ; preds = %797
  br label %822

822:                                              ; preds = %821
  br label %823

823:                                              ; preds = %822
  %824 = call i32 @aead_random_generate_32()
  store i32 %824, ptr %15, align 4, !tbaa !9
  %825 = load i32, ptr %15, align 4, !tbaa !9
  %826 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %827 = load i32, ptr %826, align 4, !tbaa !11
  %828 = xor i32 %827, %825
  store i32 %828, ptr %826, align 4, !tbaa !11
  %829 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %830 = load i32, ptr %829, align 4, !tbaa !14
  %831 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %832 = load i32, ptr %831, align 4, !tbaa !11
  %833 = and i32 %830, %832
  %834 = load i32, ptr %15, align 4, !tbaa !9
  %835 = xor i32 %834, %833
  store i32 %835, ptr %15, align 4, !tbaa !9
  %836 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %837 = load i32, ptr %836, align 4, !tbaa !14
  %838 = load i32, ptr %15, align 4, !tbaa !9
  %839 = xor i32 %837, %838
  %840 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %841 = load i32, ptr %840, align 4, !tbaa !14
  %842 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %843 = load i32, ptr %842, align 4, !tbaa !11
  %844 = and i32 %841, %843
  %845 = xor i32 %839, %844
  %846 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %845, ptr %846, align 4, !tbaa !14
  br label %847

847:                                              ; preds = %823
  br label %848

848:                                              ; preds = %847
  %849 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %850 = load i32, ptr %849, align 4, !tbaa !13
  %851 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %852 = load i32, ptr %851, align 4, !tbaa !13
  %853 = and i32 %850, %852
  %854 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %855 = load i32, ptr %854, align 4, !tbaa !13
  %856 = xor i32 %855, %853
  store i32 %856, ptr %854, align 4, !tbaa !13
  br label %857

857:                                              ; preds = %848
  %858 = call i32 @aead_random_generate_32()
  store i32 %858, ptr %15, align 4, !tbaa !9
  %859 = load i32, ptr %15, align 4, !tbaa !9
  %860 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %861 = load i32, ptr %860, align 4, !tbaa !13
  %862 = xor i32 %861, %859
  store i32 %862, ptr %860, align 4, !tbaa !13
  %863 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %864 = load i32, ptr %863, align 4, !tbaa !14
  %865 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %866 = load i32, ptr %865, align 4, !tbaa !13
  %867 = and i32 %864, %866
  %868 = load i32, ptr %15, align 4, !tbaa !9
  %869 = xor i32 %868, %867
  store i32 %869, ptr %15, align 4, !tbaa !9
  %870 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %871 = load i32, ptr %870, align 4, !tbaa !14
  %872 = load i32, ptr %15, align 4, !tbaa !9
  %873 = xor i32 %871, %872
  %874 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %875 = load i32, ptr %874, align 4, !tbaa !14
  %876 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %877 = load i32, ptr %876, align 4, !tbaa !13
  %878 = and i32 %875, %877
  %879 = xor i32 %873, %878
  %880 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %879, ptr %880, align 4, !tbaa !14
  br label %881

881:                                              ; preds = %857
  br label %882

882:                                              ; preds = %881
  %883 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %884 = load i32, ptr %883, align 4, !tbaa !14
  %885 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %886 = load i32, ptr %885, align 4, !tbaa !14
  %887 = and i32 %884, %886
  %888 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %889 = load i32, ptr %888, align 4, !tbaa !14
  %890 = xor i32 %889, %887
  store i32 %890, ptr %888, align 4, !tbaa !14
  br label %891

891:                                              ; preds = %882
  br label %892

892:                                              ; preds = %891
  br label %893

893:                                              ; preds = %892
  %894 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %895 = load i32, ptr %894, align 4, !tbaa !16
  %896 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %897 = load i32, ptr %896, align 4, !tbaa !16
  %898 = and i32 %895, %897
  %899 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %900 = load i32, ptr %899, align 4, !tbaa !16
  %901 = xor i32 %900, %898
  store i32 %901, ptr %899, align 4, !tbaa !16
  br label %902

902:                                              ; preds = %893
  %903 = call i32 @aead_random_generate_32()
  store i32 %903, ptr %15, align 4, !tbaa !9
  %904 = load i32, ptr %15, align 4, !tbaa !9
  %905 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %906 = load i32, ptr %905, align 4, !tbaa !16
  %907 = xor i32 %906, %904
  store i32 %907, ptr %905, align 4, !tbaa !16
  %908 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %909 = load i32, ptr %908, align 4, !tbaa !11
  %910 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %911 = load i32, ptr %910, align 4, !tbaa !16
  %912 = and i32 %909, %911
  %913 = load i32, ptr %15, align 4, !tbaa !9
  %914 = xor i32 %913, %912
  store i32 %914, ptr %15, align 4, !tbaa !9
  %915 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %916 = load i32, ptr %915, align 4, !tbaa !11
  %917 = load i32, ptr %15, align 4, !tbaa !9
  %918 = xor i32 %916, %917
  %919 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %920 = load i32, ptr %919, align 4, !tbaa !11
  %921 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %922 = load i32, ptr %921, align 4, !tbaa !16
  %923 = and i32 %920, %922
  %924 = xor i32 %918, %923
  %925 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  store i32 %924, ptr %925, align 4, !tbaa !11
  br label %926

926:                                              ; preds = %902
  br label %927

927:                                              ; preds = %926
  br label %928

928:                                              ; preds = %927
  %929 = call i32 @aead_random_generate_32()
  store i32 %929, ptr %15, align 4, !tbaa !9
  %930 = load i32, ptr %15, align 4, !tbaa !9
  %931 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %932 = load i32, ptr %931, align 4, !tbaa !16
  %933 = xor i32 %932, %930
  store i32 %933, ptr %931, align 4, !tbaa !16
  %934 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %935 = load i32, ptr %934, align 4, !tbaa !13
  %936 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %937 = load i32, ptr %936, align 4, !tbaa !16
  %938 = and i32 %935, %937
  %939 = load i32, ptr %15, align 4, !tbaa !9
  %940 = xor i32 %939, %938
  store i32 %940, ptr %15, align 4, !tbaa !9
  %941 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %942 = load i32, ptr %941, align 4, !tbaa !13
  %943 = load i32, ptr %15, align 4, !tbaa !9
  %944 = xor i32 %942, %943
  %945 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %946 = load i32, ptr %945, align 4, !tbaa !13
  %947 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %948 = load i32, ptr %947, align 4, !tbaa !16
  %949 = and i32 %946, %948
  %950 = xor i32 %944, %949
  %951 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  store i32 %950, ptr %951, align 4, !tbaa !13
  br label %952

952:                                              ; preds = %928
  br label %953

953:                                              ; preds = %952
  br label %954

954:                                              ; preds = %953
  %955 = call i32 @aead_random_generate_32()
  store i32 %955, ptr %15, align 4, !tbaa !9
  %956 = load i32, ptr %15, align 4, !tbaa !9
  %957 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %958 = load i32, ptr %957, align 4, !tbaa !16
  %959 = xor i32 %958, %956
  store i32 %959, ptr %957, align 4, !tbaa !16
  %960 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %961 = load i32, ptr %960, align 4, !tbaa !14
  %962 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %963 = load i32, ptr %962, align 4, !tbaa !16
  %964 = and i32 %961, %963
  %965 = load i32, ptr %15, align 4, !tbaa !9
  %966 = xor i32 %965, %964
  store i32 %966, ptr %15, align 4, !tbaa !9
  %967 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %968 = load i32, ptr %967, align 4, !tbaa !14
  %969 = load i32, ptr %15, align 4, !tbaa !9
  %970 = xor i32 %968, %969
  %971 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %972 = load i32, ptr %971, align 4, !tbaa !14
  %973 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %974 = load i32, ptr %973, align 4, !tbaa !16
  %975 = and i32 %972, %974
  %976 = xor i32 %970, %975
  %977 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %976, ptr %977, align 4, !tbaa !14
  br label %978

978:                                              ; preds = %954
  br label %979

979:                                              ; preds = %978
  %980 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %981 = load i32, ptr %980, align 4, !tbaa !11
  %982 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %983 = load i32, ptr %982, align 4, !tbaa !11
  %984 = and i32 %981, %983
  %985 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %986 = load i32, ptr %985, align 4, !tbaa !11
  %987 = xor i32 %986, %984
  store i32 %987, ptr %985, align 4, !tbaa !11
  br label %988

988:                                              ; preds = %979
  %989 = call i32 @aead_random_generate_32()
  store i32 %989, ptr %15, align 4, !tbaa !9
  %990 = load i32, ptr %15, align 4, !tbaa !9
  %991 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %992 = load i32, ptr %991, align 4, !tbaa !11
  %993 = xor i32 %992, %990
  store i32 %993, ptr %991, align 4, !tbaa !11
  %994 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %995 = load i32, ptr %994, align 4, !tbaa !13
  %996 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %997 = load i32, ptr %996, align 4, !tbaa !11
  %998 = and i32 %995, %997
  %999 = load i32, ptr %15, align 4, !tbaa !9
  %1000 = xor i32 %999, %998
  store i32 %1000, ptr %15, align 4, !tbaa !9
  %1001 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1002 = load i32, ptr %1001, align 4, !tbaa !13
  %1003 = load i32, ptr %15, align 4, !tbaa !9
  %1004 = xor i32 %1002, %1003
  %1005 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1006 = load i32, ptr %1005, align 4, !tbaa !13
  %1007 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1008 = load i32, ptr %1007, align 4, !tbaa !11
  %1009 = and i32 %1006, %1008
  %1010 = xor i32 %1004, %1009
  %1011 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  store i32 %1010, ptr %1011, align 4, !tbaa !13
  br label %1012

1012:                                             ; preds = %988
  br label %1013

1013:                                             ; preds = %1012
  br label %1014

1014:                                             ; preds = %1013
  %1015 = call i32 @aead_random_generate_32()
  store i32 %1015, ptr %15, align 4, !tbaa !9
  %1016 = load i32, ptr %15, align 4, !tbaa !9
  %1017 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1018 = load i32, ptr %1017, align 4, !tbaa !11
  %1019 = xor i32 %1018, %1016
  store i32 %1019, ptr %1017, align 4, !tbaa !11
  %1020 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1021 = load i32, ptr %1020, align 4, !tbaa !14
  %1022 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1023 = load i32, ptr %1022, align 4, !tbaa !11
  %1024 = and i32 %1021, %1023
  %1025 = load i32, ptr %15, align 4, !tbaa !9
  %1026 = xor i32 %1025, %1024
  store i32 %1026, ptr %15, align 4, !tbaa !9
  %1027 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1028 = load i32, ptr %1027, align 4, !tbaa !14
  %1029 = load i32, ptr %15, align 4, !tbaa !9
  %1030 = xor i32 %1028, %1029
  %1031 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1032 = load i32, ptr %1031, align 4, !tbaa !14
  %1033 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1034 = load i32, ptr %1033, align 4, !tbaa !11
  %1035 = and i32 %1032, %1034
  %1036 = xor i32 %1030, %1035
  %1037 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %1036, ptr %1037, align 4, !tbaa !14
  br label %1038

1038:                                             ; preds = %1014
  br label %1039

1039:                                             ; preds = %1038
  %1040 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1041 = load i32, ptr %1040, align 4, !tbaa !13
  %1042 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1043 = load i32, ptr %1042, align 4, !tbaa !13
  %1044 = and i32 %1041, %1043
  %1045 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1046 = load i32, ptr %1045, align 4, !tbaa !13
  %1047 = xor i32 %1046, %1044
  store i32 %1047, ptr %1045, align 4, !tbaa !13
  br label %1048

1048:                                             ; preds = %1039
  %1049 = call i32 @aead_random_generate_32()
  store i32 %1049, ptr %15, align 4, !tbaa !9
  %1050 = load i32, ptr %15, align 4, !tbaa !9
  %1051 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1052 = load i32, ptr %1051, align 4, !tbaa !13
  %1053 = xor i32 %1052, %1050
  store i32 %1053, ptr %1051, align 4, !tbaa !13
  %1054 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1055 = load i32, ptr %1054, align 4, !tbaa !14
  %1056 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1057 = load i32, ptr %1056, align 4, !tbaa !13
  %1058 = and i32 %1055, %1057
  %1059 = load i32, ptr %15, align 4, !tbaa !9
  %1060 = xor i32 %1059, %1058
  store i32 %1060, ptr %15, align 4, !tbaa !9
  %1061 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1062 = load i32, ptr %1061, align 4, !tbaa !14
  %1063 = load i32, ptr %15, align 4, !tbaa !9
  %1064 = xor i32 %1062, %1063
  %1065 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1066 = load i32, ptr %1065, align 4, !tbaa !14
  %1067 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1068 = load i32, ptr %1067, align 4, !tbaa !13
  %1069 = and i32 %1066, %1068
  %1070 = xor i32 %1064, %1069
  %1071 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %1070, ptr %1071, align 4, !tbaa !14
  br label %1072

1072:                                             ; preds = %1048
  br label %1073

1073:                                             ; preds = %1072
  %1074 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1075 = load i32, ptr %1074, align 4, !tbaa !14
  %1076 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1077 = load i32, ptr %1076, align 4, !tbaa !14
  %1078 = and i32 %1075, %1077
  %1079 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1080 = load i32, ptr %1079, align 4, !tbaa !14
  %1081 = xor i32 %1080, %1078
  store i32 %1081, ptr %1079, align 4, !tbaa !14
  br label %1082

1082:                                             ; preds = %1073
  br label %1083

1083:                                             ; preds = %1082
  br label %1084

1084:                                             ; preds = %1083
  %1085 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1086 = load i32, ptr %1085, align 4, !tbaa !16
  %1087 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1088 = load i32, ptr %1087, align 4, !tbaa !16
  %1089 = and i32 %1086, %1088
  %1090 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1091 = load i32, ptr %1090, align 4, !tbaa !16
  %1092 = xor i32 %1091, %1089
  store i32 %1092, ptr %1090, align 4, !tbaa !16
  br label %1093

1093:                                             ; preds = %1084
  %1094 = call i32 @aead_random_generate_32()
  store i32 %1094, ptr %15, align 4, !tbaa !9
  %1095 = load i32, ptr %15, align 4, !tbaa !9
  %1096 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1097 = load i32, ptr %1096, align 4, !tbaa !16
  %1098 = xor i32 %1097, %1095
  store i32 %1098, ptr %1096, align 4, !tbaa !16
  %1099 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1100 = load i32, ptr %1099, align 4, !tbaa !11
  %1101 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1102 = load i32, ptr %1101, align 4, !tbaa !16
  %1103 = and i32 %1100, %1102
  %1104 = load i32, ptr %15, align 4, !tbaa !9
  %1105 = xor i32 %1104, %1103
  store i32 %1105, ptr %15, align 4, !tbaa !9
  %1106 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1107 = load i32, ptr %1106, align 4, !tbaa !11
  %1108 = load i32, ptr %15, align 4, !tbaa !9
  %1109 = xor i32 %1107, %1108
  %1110 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1111 = load i32, ptr %1110, align 4, !tbaa !11
  %1112 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1113 = load i32, ptr %1112, align 4, !tbaa !16
  %1114 = and i32 %1111, %1113
  %1115 = xor i32 %1109, %1114
  %1116 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %1115, ptr %1116, align 4, !tbaa !11
  br label %1117

1117:                                             ; preds = %1093
  br label %1118

1118:                                             ; preds = %1117
  br label %1119

1119:                                             ; preds = %1118
  %1120 = call i32 @aead_random_generate_32()
  store i32 %1120, ptr %15, align 4, !tbaa !9
  %1121 = load i32, ptr %15, align 4, !tbaa !9
  %1122 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1123 = load i32, ptr %1122, align 4, !tbaa !16
  %1124 = xor i32 %1123, %1121
  store i32 %1124, ptr %1122, align 4, !tbaa !16
  %1125 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1126 = load i32, ptr %1125, align 4, !tbaa !13
  %1127 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1128 = load i32, ptr %1127, align 4, !tbaa !16
  %1129 = and i32 %1126, %1128
  %1130 = load i32, ptr %15, align 4, !tbaa !9
  %1131 = xor i32 %1130, %1129
  store i32 %1131, ptr %15, align 4, !tbaa !9
  %1132 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1133 = load i32, ptr %1132, align 4, !tbaa !13
  %1134 = load i32, ptr %15, align 4, !tbaa !9
  %1135 = xor i32 %1133, %1134
  %1136 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1137 = load i32, ptr %1136, align 4, !tbaa !13
  %1138 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1139 = load i32, ptr %1138, align 4, !tbaa !16
  %1140 = and i32 %1137, %1139
  %1141 = xor i32 %1135, %1140
  %1142 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %1141, ptr %1142, align 4, !tbaa !13
  br label %1143

1143:                                             ; preds = %1119
  br label %1144

1144:                                             ; preds = %1143
  br label %1145

1145:                                             ; preds = %1144
  %1146 = call i32 @aead_random_generate_32()
  store i32 %1146, ptr %15, align 4, !tbaa !9
  %1147 = load i32, ptr %15, align 4, !tbaa !9
  %1148 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1149 = load i32, ptr %1148, align 4, !tbaa !16
  %1150 = xor i32 %1149, %1147
  store i32 %1150, ptr %1148, align 4, !tbaa !16
  %1151 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1152 = load i32, ptr %1151, align 4, !tbaa !14
  %1153 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1154 = load i32, ptr %1153, align 4, !tbaa !16
  %1155 = and i32 %1152, %1154
  %1156 = load i32, ptr %15, align 4, !tbaa !9
  %1157 = xor i32 %1156, %1155
  store i32 %1157, ptr %15, align 4, !tbaa !9
  %1158 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1159 = load i32, ptr %1158, align 4, !tbaa !14
  %1160 = load i32, ptr %15, align 4, !tbaa !9
  %1161 = xor i32 %1159, %1160
  %1162 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1163 = load i32, ptr %1162, align 4, !tbaa !14
  %1164 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1165 = load i32, ptr %1164, align 4, !tbaa !16
  %1166 = and i32 %1163, %1165
  %1167 = xor i32 %1161, %1166
  %1168 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %1167, ptr %1168, align 4, !tbaa !14
  br label %1169

1169:                                             ; preds = %1145
  br label %1170

1170:                                             ; preds = %1169
  %1171 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1172 = load i32, ptr %1171, align 4, !tbaa !11
  %1173 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1174 = load i32, ptr %1173, align 4, !tbaa !11
  %1175 = and i32 %1172, %1174
  %1176 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1177 = load i32, ptr %1176, align 4, !tbaa !11
  %1178 = xor i32 %1177, %1175
  store i32 %1178, ptr %1176, align 4, !tbaa !11
  br label %1179

1179:                                             ; preds = %1170
  %1180 = call i32 @aead_random_generate_32()
  store i32 %1180, ptr %15, align 4, !tbaa !9
  %1181 = load i32, ptr %15, align 4, !tbaa !9
  %1182 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1183 = load i32, ptr %1182, align 4, !tbaa !11
  %1184 = xor i32 %1183, %1181
  store i32 %1184, ptr %1182, align 4, !tbaa !11
  %1185 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1186 = load i32, ptr %1185, align 4, !tbaa !13
  %1187 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1188 = load i32, ptr %1187, align 4, !tbaa !11
  %1189 = and i32 %1186, %1188
  %1190 = load i32, ptr %15, align 4, !tbaa !9
  %1191 = xor i32 %1190, %1189
  store i32 %1191, ptr %15, align 4, !tbaa !9
  %1192 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1193 = load i32, ptr %1192, align 4, !tbaa !13
  %1194 = load i32, ptr %15, align 4, !tbaa !9
  %1195 = xor i32 %1193, %1194
  %1196 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1197 = load i32, ptr %1196, align 4, !tbaa !13
  %1198 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1199 = load i32, ptr %1198, align 4, !tbaa !11
  %1200 = and i32 %1197, %1199
  %1201 = xor i32 %1195, %1200
  %1202 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %1201, ptr %1202, align 4, !tbaa !13
  br label %1203

1203:                                             ; preds = %1179
  br label %1204

1204:                                             ; preds = %1203
  br label %1205

1205:                                             ; preds = %1204
  %1206 = call i32 @aead_random_generate_32()
  store i32 %1206, ptr %15, align 4, !tbaa !9
  %1207 = load i32, ptr %15, align 4, !tbaa !9
  %1208 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1209 = load i32, ptr %1208, align 4, !tbaa !11
  %1210 = xor i32 %1209, %1207
  store i32 %1210, ptr %1208, align 4, !tbaa !11
  %1211 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1212 = load i32, ptr %1211, align 4, !tbaa !14
  %1213 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1214 = load i32, ptr %1213, align 4, !tbaa !11
  %1215 = and i32 %1212, %1214
  %1216 = load i32, ptr %15, align 4, !tbaa !9
  %1217 = xor i32 %1216, %1215
  store i32 %1217, ptr %15, align 4, !tbaa !9
  %1218 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1219 = load i32, ptr %1218, align 4, !tbaa !14
  %1220 = load i32, ptr %15, align 4, !tbaa !9
  %1221 = xor i32 %1219, %1220
  %1222 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1223 = load i32, ptr %1222, align 4, !tbaa !14
  %1224 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1225 = load i32, ptr %1224, align 4, !tbaa !11
  %1226 = and i32 %1223, %1225
  %1227 = xor i32 %1221, %1226
  %1228 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %1227, ptr %1228, align 4, !tbaa !14
  br label %1229

1229:                                             ; preds = %1205
  br label %1230

1230:                                             ; preds = %1229
  %1231 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1232 = load i32, ptr %1231, align 4, !tbaa !13
  %1233 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1234 = load i32, ptr %1233, align 4, !tbaa !13
  %1235 = and i32 %1232, %1234
  %1236 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1237 = load i32, ptr %1236, align 4, !tbaa !13
  %1238 = xor i32 %1237, %1235
  store i32 %1238, ptr %1236, align 4, !tbaa !13
  br label %1239

1239:                                             ; preds = %1230
  %1240 = call i32 @aead_random_generate_32()
  store i32 %1240, ptr %15, align 4, !tbaa !9
  %1241 = load i32, ptr %15, align 4, !tbaa !9
  %1242 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1243 = load i32, ptr %1242, align 4, !tbaa !13
  %1244 = xor i32 %1243, %1241
  store i32 %1244, ptr %1242, align 4, !tbaa !13
  %1245 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1246 = load i32, ptr %1245, align 4, !tbaa !14
  %1247 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1248 = load i32, ptr %1247, align 4, !tbaa !13
  %1249 = and i32 %1246, %1248
  %1250 = load i32, ptr %15, align 4, !tbaa !9
  %1251 = xor i32 %1250, %1249
  store i32 %1251, ptr %15, align 4, !tbaa !9
  %1252 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1253 = load i32, ptr %1252, align 4, !tbaa !14
  %1254 = load i32, ptr %15, align 4, !tbaa !9
  %1255 = xor i32 %1253, %1254
  %1256 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1257 = load i32, ptr %1256, align 4, !tbaa !14
  %1258 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1259 = load i32, ptr %1258, align 4, !tbaa !13
  %1260 = and i32 %1257, %1259
  %1261 = xor i32 %1255, %1260
  %1262 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %1261, ptr %1262, align 4, !tbaa !14
  br label %1263

1263:                                             ; preds = %1239
  br label %1264

1264:                                             ; preds = %1263
  %1265 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1266 = load i32, ptr %1265, align 4, !tbaa !14
  %1267 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1268 = load i32, ptr %1267, align 4, !tbaa !14
  %1269 = and i32 %1266, %1268
  %1270 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1271 = load i32, ptr %1270, align 4, !tbaa !14
  %1272 = xor i32 %1271, %1269
  store i32 %1272, ptr %1270, align 4, !tbaa !14
  br label %1273

1273:                                             ; preds = %1264
  br label %1274

1274:                                             ; preds = %1273
  br label %1275

1275:                                             ; preds = %1274
  br label %1276

1276:                                             ; preds = %1275
  br label %1277

1277:                                             ; preds = %1276
  %1278 = load ptr, ptr %13, align 8, !tbaa !5
  %1279 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1278, i64 6
  %1280 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1279, i32 0, i32 0
  %1281 = load i32, ptr %1280, align 4, !tbaa !16
  %1282 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1283 = load i32, ptr %1282, align 4, !tbaa !16
  %1284 = xor i32 %1283, %1281
  store i32 %1284, ptr %1282, align 4, !tbaa !16
  %1285 = load ptr, ptr %13, align 8, !tbaa !5
  %1286 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1285, i64 6
  %1287 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1286, i32 0, i32 1
  %1288 = load i32, ptr %1287, align 4, !tbaa !11
  %1289 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1290 = load i32, ptr %1289, align 4, !tbaa !11
  %1291 = xor i32 %1290, %1288
  store i32 %1291, ptr %1289, align 4, !tbaa !11
  %1292 = load ptr, ptr %13, align 8, !tbaa !5
  %1293 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1292, i64 6
  %1294 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1293, i32 0, i32 2
  %1295 = load i32, ptr %1294, align 4, !tbaa !13
  %1296 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1297 = load i32, ptr %1296, align 4, !tbaa !13
  %1298 = xor i32 %1297, %1295
  store i32 %1298, ptr %1296, align 4, !tbaa !13
  %1299 = load ptr, ptr %13, align 8, !tbaa !5
  %1300 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1299, i64 6
  %1301 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1300, i32 0, i32 3
  %1302 = load i32, ptr %1301, align 4, !tbaa !14
  %1303 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1304 = load i32, ptr %1303, align 4, !tbaa !14
  %1305 = xor i32 %1304, %1302
  store i32 %1305, ptr %1303, align 4, !tbaa !14
  br label %1306

1306:                                             ; preds = %1277
  br label %1307

1307:                                             ; preds = %1306
  br label %1308

1308:                                             ; preds = %1307
  %1309 = load ptr, ptr %13, align 8, !tbaa !5
  %1310 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1309, i64 7
  %1311 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1310, i32 0, i32 0
  %1312 = load i32, ptr %1311, align 4, !tbaa !16
  %1313 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1314 = load i32, ptr %1313, align 4, !tbaa !16
  %1315 = xor i32 %1314, %1312
  store i32 %1315, ptr %1313, align 4, !tbaa !16
  %1316 = load ptr, ptr %13, align 8, !tbaa !5
  %1317 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1316, i64 7
  %1318 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1317, i32 0, i32 1
  %1319 = load i32, ptr %1318, align 4, !tbaa !11
  %1320 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1321 = load i32, ptr %1320, align 4, !tbaa !11
  %1322 = xor i32 %1321, %1319
  store i32 %1322, ptr %1320, align 4, !tbaa !11
  %1323 = load ptr, ptr %13, align 8, !tbaa !5
  %1324 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1323, i64 7
  %1325 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1324, i32 0, i32 2
  %1326 = load i32, ptr %1325, align 4, !tbaa !13
  %1327 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1328 = load i32, ptr %1327, align 4, !tbaa !13
  %1329 = xor i32 %1328, %1326
  store i32 %1329, ptr %1327, align 4, !tbaa !13
  %1330 = load ptr, ptr %13, align 8, !tbaa !5
  %1331 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1330, i64 7
  %1332 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %1331, i32 0, i32 3
  %1333 = load i32, ptr %1332, align 4, !tbaa !14
  %1334 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1335 = load i32, ptr %1334, align 4, !tbaa !14
  %1336 = xor i32 %1335, %1333
  store i32 %1336, ptr %1334, align 4, !tbaa !14
  br label %1337

1337:                                             ; preds = %1308
  br label %1338

1338:                                             ; preds = %1337
  br label %1339

1339:                                             ; preds = %1338
  %1340 = load ptr, ptr %14, align 8, !tbaa !5
  %1341 = getelementptr inbounds i32, ptr %1340, i64 3
  %1342 = load i32, ptr %1341, align 4, !tbaa !9
  %1343 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1344 = load i32, ptr %1343, align 4, !tbaa !16
  %1345 = xor i32 %1344, %1342
  store i32 %1345, ptr %1343, align 4, !tbaa !16
  br label %1346

1346:                                             ; preds = %1339
  br label %1347

1347:                                             ; preds = %1346
  br label %1348

1348:                                             ; preds = %1347
  br label %1349

1349:                                             ; preds = %1348
  %1350 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1351 = load i32, ptr %1350, align 4, !tbaa !16
  %1352 = lshr i32 %1351, 2
  %1353 = and i32 %1352, 1061109567
  %1354 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1355 = load i32, ptr %1354, align 4, !tbaa !16
  %1356 = and i32 %1355, 50529027
  %1357 = shl i32 %1356, 6
  %1358 = or i32 %1353, %1357
  %1359 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  store i32 %1358, ptr %1359, align 4, !tbaa !16
  %1360 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1361 = load i32, ptr %1360, align 4, !tbaa !11
  %1362 = lshr i32 %1361, 2
  %1363 = and i32 %1362, 1061109567
  %1364 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1365 = load i32, ptr %1364, align 4, !tbaa !11
  %1366 = and i32 %1365, 50529027
  %1367 = shl i32 %1366, 6
  %1368 = or i32 %1363, %1367
  %1369 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  store i32 %1368, ptr %1369, align 4, !tbaa !11
  %1370 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1371 = load i32, ptr %1370, align 4, !tbaa !13
  %1372 = lshr i32 %1371, 2
  %1373 = and i32 %1372, 1061109567
  %1374 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1375 = load i32, ptr %1374, align 4, !tbaa !13
  %1376 = and i32 %1375, 50529027
  %1377 = shl i32 %1376, 6
  %1378 = or i32 %1373, %1377
  %1379 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  store i32 %1378, ptr %1379, align 4, !tbaa !13
  %1380 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1381 = load i32, ptr %1380, align 4, !tbaa !14
  %1382 = lshr i32 %1381, 2
  %1383 = and i32 %1382, 1061109567
  %1384 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1385 = load i32, ptr %1384, align 4, !tbaa !14
  %1386 = and i32 %1385, 50529027
  %1387 = shl i32 %1386, 6
  %1388 = or i32 %1383, %1387
  %1389 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %1388, ptr %1389, align 4, !tbaa !14
  br label %1390

1390:                                             ; preds = %1349
  br label %1391

1391:                                             ; preds = %1390
  br label %1392

1392:                                             ; preds = %1391
  %1393 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1394 = load i32, ptr %1393, align 4, !tbaa !16
  %1395 = lshr i32 %1394, 4
  %1396 = and i32 %1395, 252645135
  %1397 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1398 = load i32, ptr %1397, align 4, !tbaa !16
  %1399 = and i32 %1398, 252645135
  %1400 = shl i32 %1399, 4
  %1401 = or i32 %1396, %1400
  %1402 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  store i32 %1401, ptr %1402, align 4, !tbaa !16
  %1403 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1404 = load i32, ptr %1403, align 4, !tbaa !11
  %1405 = lshr i32 %1404, 4
  %1406 = and i32 %1405, 252645135
  %1407 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1408 = load i32, ptr %1407, align 4, !tbaa !11
  %1409 = and i32 %1408, 252645135
  %1410 = shl i32 %1409, 4
  %1411 = or i32 %1406, %1410
  %1412 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %1411, ptr %1412, align 4, !tbaa !11
  %1413 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1414 = load i32, ptr %1413, align 4, !tbaa !13
  %1415 = lshr i32 %1414, 4
  %1416 = and i32 %1415, 252645135
  %1417 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1418 = load i32, ptr %1417, align 4, !tbaa !13
  %1419 = and i32 %1418, 252645135
  %1420 = shl i32 %1419, 4
  %1421 = or i32 %1416, %1420
  %1422 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %1421, ptr %1422, align 4, !tbaa !13
  %1423 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1424 = load i32, ptr %1423, align 4, !tbaa !14
  %1425 = lshr i32 %1424, 4
  %1426 = and i32 %1425, 252645135
  %1427 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1428 = load i32, ptr %1427, align 4, !tbaa !14
  %1429 = and i32 %1428, 252645135
  %1430 = shl i32 %1429, 4
  %1431 = or i32 %1426, %1430
  %1432 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %1431, ptr %1432, align 4, !tbaa !14
  br label %1433

1433:                                             ; preds = %1392
  br label %1434

1434:                                             ; preds = %1433
  br label %1435

1435:                                             ; preds = %1434
  %1436 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1437 = load i32, ptr %1436, align 4, !tbaa !16
  %1438 = lshr i32 %1437, 6
  %1439 = and i32 %1438, 50529027
  %1440 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1441 = load i32, ptr %1440, align 4, !tbaa !16
  %1442 = and i32 %1441, 1061109567
  %1443 = shl i32 %1442, 2
  %1444 = or i32 %1439, %1443
  %1445 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  store i32 %1444, ptr %1445, align 4, !tbaa !16
  %1446 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1447 = load i32, ptr %1446, align 4, !tbaa !11
  %1448 = lshr i32 %1447, 6
  %1449 = and i32 %1448, 50529027
  %1450 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1451 = load i32, ptr %1450, align 4, !tbaa !11
  %1452 = and i32 %1451, 1061109567
  %1453 = shl i32 %1452, 2
  %1454 = or i32 %1449, %1453
  %1455 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %1454, ptr %1455, align 4, !tbaa !11
  %1456 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1457 = load i32, ptr %1456, align 4, !tbaa !13
  %1458 = lshr i32 %1457, 6
  %1459 = and i32 %1458, 50529027
  %1460 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1461 = load i32, ptr %1460, align 4, !tbaa !13
  %1462 = and i32 %1461, 1061109567
  %1463 = shl i32 %1462, 2
  %1464 = or i32 %1459, %1463
  %1465 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %1464, ptr %1465, align 4, !tbaa !13
  %1466 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1467 = load i32, ptr %1466, align 4, !tbaa !14
  %1468 = lshr i32 %1467, 6
  %1469 = and i32 %1468, 50529027
  %1470 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1471 = load i32, ptr %1470, align 4, !tbaa !14
  %1472 = and i32 %1471, 1061109567
  %1473 = shl i32 %1472, 2
  %1474 = or i32 %1469, %1473
  %1475 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %1474, ptr %1475, align 4, !tbaa !14
  br label %1476

1476:                                             ; preds = %1435
  br label %1477

1477:                                             ; preds = %1476
  br label %1478

1478:                                             ; preds = %1477
  br label %1479

1479:                                             ; preds = %1478
  br label %1480

1480:                                             ; preds = %1479
  br label %1481

1481:                                             ; preds = %1480
  %1482 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1483 = load i32, ptr %1482, align 4, !tbaa !16
  %1484 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1485 = load i32, ptr %1484, align 4, !tbaa !16
  %1486 = and i32 %1483, %1485
  %1487 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1488 = load i32, ptr %1487, align 4, !tbaa !16
  %1489 = xor i32 %1488, %1486
  store i32 %1489, ptr %1487, align 4, !tbaa !16
  br label %1490

1490:                                             ; preds = %1481
  %1491 = call i32 @aead_random_generate_32()
  store i32 %1491, ptr %15, align 4, !tbaa !9
  %1492 = load i32, ptr %15, align 4, !tbaa !9
  %1493 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1494 = load i32, ptr %1493, align 4, !tbaa !16
  %1495 = xor i32 %1494, %1492
  store i32 %1495, ptr %1493, align 4, !tbaa !16
  %1496 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1497 = load i32, ptr %1496, align 4, !tbaa !11
  %1498 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1499 = load i32, ptr %1498, align 4, !tbaa !16
  %1500 = and i32 %1497, %1499
  %1501 = load i32, ptr %15, align 4, !tbaa !9
  %1502 = xor i32 %1501, %1500
  store i32 %1502, ptr %15, align 4, !tbaa !9
  %1503 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1504 = load i32, ptr %1503, align 4, !tbaa !11
  %1505 = load i32, ptr %15, align 4, !tbaa !9
  %1506 = xor i32 %1504, %1505
  %1507 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1508 = load i32, ptr %1507, align 4, !tbaa !11
  %1509 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1510 = load i32, ptr %1509, align 4, !tbaa !16
  %1511 = and i32 %1508, %1510
  %1512 = xor i32 %1506, %1511
  %1513 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %1512, ptr %1513, align 4, !tbaa !11
  br label %1514

1514:                                             ; preds = %1490
  br label %1515

1515:                                             ; preds = %1514
  br label %1516

1516:                                             ; preds = %1515
  %1517 = call i32 @aead_random_generate_32()
  store i32 %1517, ptr %15, align 4, !tbaa !9
  %1518 = load i32, ptr %15, align 4, !tbaa !9
  %1519 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1520 = load i32, ptr %1519, align 4, !tbaa !16
  %1521 = xor i32 %1520, %1518
  store i32 %1521, ptr %1519, align 4, !tbaa !16
  %1522 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1523 = load i32, ptr %1522, align 4, !tbaa !13
  %1524 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1525 = load i32, ptr %1524, align 4, !tbaa !16
  %1526 = and i32 %1523, %1525
  %1527 = load i32, ptr %15, align 4, !tbaa !9
  %1528 = xor i32 %1527, %1526
  store i32 %1528, ptr %15, align 4, !tbaa !9
  %1529 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1530 = load i32, ptr %1529, align 4, !tbaa !13
  %1531 = load i32, ptr %15, align 4, !tbaa !9
  %1532 = xor i32 %1530, %1531
  %1533 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1534 = load i32, ptr %1533, align 4, !tbaa !13
  %1535 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1536 = load i32, ptr %1535, align 4, !tbaa !16
  %1537 = and i32 %1534, %1536
  %1538 = xor i32 %1532, %1537
  %1539 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %1538, ptr %1539, align 4, !tbaa !13
  br label %1540

1540:                                             ; preds = %1516
  br label %1541

1541:                                             ; preds = %1540
  br label %1542

1542:                                             ; preds = %1541
  %1543 = call i32 @aead_random_generate_32()
  store i32 %1543, ptr %15, align 4, !tbaa !9
  %1544 = load i32, ptr %15, align 4, !tbaa !9
  %1545 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1546 = load i32, ptr %1545, align 4, !tbaa !16
  %1547 = xor i32 %1546, %1544
  store i32 %1547, ptr %1545, align 4, !tbaa !16
  %1548 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1549 = load i32, ptr %1548, align 4, !tbaa !14
  %1550 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1551 = load i32, ptr %1550, align 4, !tbaa !16
  %1552 = and i32 %1549, %1551
  %1553 = load i32, ptr %15, align 4, !tbaa !9
  %1554 = xor i32 %1553, %1552
  store i32 %1554, ptr %15, align 4, !tbaa !9
  %1555 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1556 = load i32, ptr %1555, align 4, !tbaa !14
  %1557 = load i32, ptr %15, align 4, !tbaa !9
  %1558 = xor i32 %1556, %1557
  %1559 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1560 = load i32, ptr %1559, align 4, !tbaa !14
  %1561 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1562 = load i32, ptr %1561, align 4, !tbaa !16
  %1563 = and i32 %1560, %1562
  %1564 = xor i32 %1558, %1563
  %1565 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %1564, ptr %1565, align 4, !tbaa !14
  br label %1566

1566:                                             ; preds = %1542
  br label %1567

1567:                                             ; preds = %1566
  %1568 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1569 = load i32, ptr %1568, align 4, !tbaa !11
  %1570 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1571 = load i32, ptr %1570, align 4, !tbaa !11
  %1572 = and i32 %1569, %1571
  %1573 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1574 = load i32, ptr %1573, align 4, !tbaa !11
  %1575 = xor i32 %1574, %1572
  store i32 %1575, ptr %1573, align 4, !tbaa !11
  br label %1576

1576:                                             ; preds = %1567
  %1577 = call i32 @aead_random_generate_32()
  store i32 %1577, ptr %15, align 4, !tbaa !9
  %1578 = load i32, ptr %15, align 4, !tbaa !9
  %1579 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1580 = load i32, ptr %1579, align 4, !tbaa !11
  %1581 = xor i32 %1580, %1578
  store i32 %1581, ptr %1579, align 4, !tbaa !11
  %1582 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1583 = load i32, ptr %1582, align 4, !tbaa !13
  %1584 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1585 = load i32, ptr %1584, align 4, !tbaa !11
  %1586 = and i32 %1583, %1585
  %1587 = load i32, ptr %15, align 4, !tbaa !9
  %1588 = xor i32 %1587, %1586
  store i32 %1588, ptr %15, align 4, !tbaa !9
  %1589 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1590 = load i32, ptr %1589, align 4, !tbaa !13
  %1591 = load i32, ptr %15, align 4, !tbaa !9
  %1592 = xor i32 %1590, %1591
  %1593 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1594 = load i32, ptr %1593, align 4, !tbaa !13
  %1595 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1596 = load i32, ptr %1595, align 4, !tbaa !11
  %1597 = and i32 %1594, %1596
  %1598 = xor i32 %1592, %1597
  %1599 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %1598, ptr %1599, align 4, !tbaa !13
  br label %1600

1600:                                             ; preds = %1576
  br label %1601

1601:                                             ; preds = %1600
  br label %1602

1602:                                             ; preds = %1601
  %1603 = call i32 @aead_random_generate_32()
  store i32 %1603, ptr %15, align 4, !tbaa !9
  %1604 = load i32, ptr %15, align 4, !tbaa !9
  %1605 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1606 = load i32, ptr %1605, align 4, !tbaa !11
  %1607 = xor i32 %1606, %1604
  store i32 %1607, ptr %1605, align 4, !tbaa !11
  %1608 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1609 = load i32, ptr %1608, align 4, !tbaa !14
  %1610 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1611 = load i32, ptr %1610, align 4, !tbaa !11
  %1612 = and i32 %1609, %1611
  %1613 = load i32, ptr %15, align 4, !tbaa !9
  %1614 = xor i32 %1613, %1612
  store i32 %1614, ptr %15, align 4, !tbaa !9
  %1615 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1616 = load i32, ptr %1615, align 4, !tbaa !14
  %1617 = load i32, ptr %15, align 4, !tbaa !9
  %1618 = xor i32 %1616, %1617
  %1619 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1620 = load i32, ptr %1619, align 4, !tbaa !14
  %1621 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1622 = load i32, ptr %1621, align 4, !tbaa !11
  %1623 = and i32 %1620, %1622
  %1624 = xor i32 %1618, %1623
  %1625 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %1624, ptr %1625, align 4, !tbaa !14
  br label %1626

1626:                                             ; preds = %1602
  br label %1627

1627:                                             ; preds = %1626
  %1628 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1629 = load i32, ptr %1628, align 4, !tbaa !13
  %1630 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1631 = load i32, ptr %1630, align 4, !tbaa !13
  %1632 = and i32 %1629, %1631
  %1633 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1634 = load i32, ptr %1633, align 4, !tbaa !13
  %1635 = xor i32 %1634, %1632
  store i32 %1635, ptr %1633, align 4, !tbaa !13
  br label %1636

1636:                                             ; preds = %1627
  %1637 = call i32 @aead_random_generate_32()
  store i32 %1637, ptr %15, align 4, !tbaa !9
  %1638 = load i32, ptr %15, align 4, !tbaa !9
  %1639 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1640 = load i32, ptr %1639, align 4, !tbaa !13
  %1641 = xor i32 %1640, %1638
  store i32 %1641, ptr %1639, align 4, !tbaa !13
  %1642 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1643 = load i32, ptr %1642, align 4, !tbaa !14
  %1644 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1645 = load i32, ptr %1644, align 4, !tbaa !13
  %1646 = and i32 %1643, %1645
  %1647 = load i32, ptr %15, align 4, !tbaa !9
  %1648 = xor i32 %1647, %1646
  store i32 %1648, ptr %15, align 4, !tbaa !9
  %1649 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1650 = load i32, ptr %1649, align 4, !tbaa !14
  %1651 = load i32, ptr %15, align 4, !tbaa !9
  %1652 = xor i32 %1650, %1651
  %1653 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1654 = load i32, ptr %1653, align 4, !tbaa !14
  %1655 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1656 = load i32, ptr %1655, align 4, !tbaa !13
  %1657 = and i32 %1654, %1656
  %1658 = xor i32 %1652, %1657
  %1659 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %1658, ptr %1659, align 4, !tbaa !14
  br label %1660

1660:                                             ; preds = %1636
  br label %1661

1661:                                             ; preds = %1660
  %1662 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1663 = load i32, ptr %1662, align 4, !tbaa !14
  %1664 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1665 = load i32, ptr %1664, align 4, !tbaa !14
  %1666 = and i32 %1663, %1665
  %1667 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1668 = load i32, ptr %1667, align 4, !tbaa !14
  %1669 = xor i32 %1668, %1666
  store i32 %1669, ptr %1667, align 4, !tbaa !14
  br label %1670

1670:                                             ; preds = %1661
  br label %1671

1671:                                             ; preds = %1670
  br label %1672

1672:                                             ; preds = %1671
  %1673 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1674 = load i32, ptr %1673, align 4, !tbaa !16
  %1675 = xor i32 %1674, -1
  %1676 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  store i32 %1675, ptr %1676, align 4, !tbaa !16
  br label %1677

1677:                                             ; preds = %1672
  br label %1678

1678:                                             ; preds = %1677
  br label %1679

1679:                                             ; preds = %1678
  %1680 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1681 = load i32, ptr %1680, align 4, !tbaa !16
  %1682 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1683 = load i32, ptr %1682, align 4, !tbaa !16
  %1684 = xor i32 %1683, %1681
  store i32 %1684, ptr %1682, align 4, !tbaa !16
  %1685 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1686 = load i32, ptr %1685, align 4, !tbaa !11
  %1687 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1688 = load i32, ptr %1687, align 4, !tbaa !11
  %1689 = xor i32 %1688, %1686
  store i32 %1689, ptr %1687, align 4, !tbaa !11
  %1690 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1691 = load i32, ptr %1690, align 4, !tbaa !13
  %1692 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1693 = load i32, ptr %1692, align 4, !tbaa !13
  %1694 = xor i32 %1693, %1691
  store i32 %1694, ptr %1692, align 4, !tbaa !13
  %1695 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1696 = load i32, ptr %1695, align 4, !tbaa !14
  %1697 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1698 = load i32, ptr %1697, align 4, !tbaa !14
  %1699 = xor i32 %1698, %1696
  store i32 %1699, ptr %1697, align 4, !tbaa !14
  br label %1700

1700:                                             ; preds = %1679
  br label %1701

1701:                                             ; preds = %1700
  br label %1702

1702:                                             ; preds = %1701
  %1703 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1704 = load i32, ptr %1703, align 4, !tbaa !16
  %1705 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1706 = load i32, ptr %1705, align 4, !tbaa !16
  %1707 = xor i32 %1706, %1704
  store i32 %1707, ptr %1705, align 4, !tbaa !16
  %1708 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1709 = load i32, ptr %1708, align 4, !tbaa !11
  %1710 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1711 = load i32, ptr %1710, align 4, !tbaa !11
  %1712 = xor i32 %1711, %1709
  store i32 %1712, ptr %1710, align 4, !tbaa !11
  %1713 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1714 = load i32, ptr %1713, align 4, !tbaa !13
  %1715 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1716 = load i32, ptr %1715, align 4, !tbaa !13
  %1717 = xor i32 %1716, %1714
  store i32 %1717, ptr %1715, align 4, !tbaa !13
  %1718 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1719 = load i32, ptr %1718, align 4, !tbaa !14
  %1720 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1721 = load i32, ptr %1720, align 4, !tbaa !14
  %1722 = xor i32 %1721, %1719
  store i32 %1722, ptr %1720, align 4, !tbaa !14
  br label %1723

1723:                                             ; preds = %1702
  br label %1724

1724:                                             ; preds = %1723
  br label %1725

1725:                                             ; preds = %1724
  %1726 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1727 = load i32, ptr %1726, align 4, !tbaa !16
  %1728 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1729 = load i32, ptr %1728, align 4, !tbaa !16
  %1730 = or i32 %1727, %1729
  %1731 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1732 = load i32, ptr %1731, align 4, !tbaa !16
  %1733 = xor i32 %1732, %1730
  store i32 %1733, ptr %1731, align 4, !tbaa !16
  br label %1734

1734:                                             ; preds = %1725
  %1735 = call i32 @aead_random_generate_32()
  store i32 %1735, ptr %15, align 4, !tbaa !9
  %1736 = load i32, ptr %15, align 4, !tbaa !9
  %1737 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1738 = load i32, ptr %1737, align 4, !tbaa !16
  %1739 = xor i32 %1738, %1736
  store i32 %1739, ptr %1737, align 4, !tbaa !16
  %1740 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1741 = load i32, ptr %1740, align 4, !tbaa !11
  %1742 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1743 = load i32, ptr %1742, align 4, !tbaa !16
  %1744 = xor i32 %1743, -1
  %1745 = and i32 %1741, %1744
  %1746 = load i32, ptr %15, align 4, !tbaa !9
  %1747 = xor i32 %1746, %1745
  store i32 %1747, ptr %15, align 4, !tbaa !9
  %1748 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1749 = load i32, ptr %1748, align 4, !tbaa !11
  %1750 = load i32, ptr %15, align 4, !tbaa !9
  %1751 = xor i32 %1749, %1750
  %1752 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1753 = load i32, ptr %1752, align 4, !tbaa !11
  %1754 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1755 = load i32, ptr %1754, align 4, !tbaa !16
  %1756 = xor i32 %1755, -1
  %1757 = and i32 %1753, %1756
  %1758 = xor i32 %1751, %1757
  %1759 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %1758, ptr %1759, align 4, !tbaa !11
  br label %1760

1760:                                             ; preds = %1734
  br label %1761

1761:                                             ; preds = %1760
  br label %1762

1762:                                             ; preds = %1761
  %1763 = call i32 @aead_random_generate_32()
  store i32 %1763, ptr %15, align 4, !tbaa !9
  %1764 = load i32, ptr %15, align 4, !tbaa !9
  %1765 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1766 = load i32, ptr %1765, align 4, !tbaa !16
  %1767 = xor i32 %1766, %1764
  store i32 %1767, ptr %1765, align 4, !tbaa !16
  %1768 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1769 = load i32, ptr %1768, align 4, !tbaa !13
  %1770 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1771 = load i32, ptr %1770, align 4, !tbaa !16
  %1772 = xor i32 %1771, -1
  %1773 = and i32 %1769, %1772
  %1774 = load i32, ptr %15, align 4, !tbaa !9
  %1775 = xor i32 %1774, %1773
  store i32 %1775, ptr %15, align 4, !tbaa !9
  %1776 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1777 = load i32, ptr %1776, align 4, !tbaa !13
  %1778 = load i32, ptr %15, align 4, !tbaa !9
  %1779 = xor i32 %1777, %1778
  %1780 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1781 = load i32, ptr %1780, align 4, !tbaa !13
  %1782 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1783 = load i32, ptr %1782, align 4, !tbaa !16
  %1784 = xor i32 %1783, -1
  %1785 = and i32 %1781, %1784
  %1786 = xor i32 %1779, %1785
  %1787 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %1786, ptr %1787, align 4, !tbaa !13
  br label %1788

1788:                                             ; preds = %1762
  br label %1789

1789:                                             ; preds = %1788
  br label %1790

1790:                                             ; preds = %1789
  %1791 = call i32 @aead_random_generate_32()
  store i32 %1791, ptr %15, align 4, !tbaa !9
  %1792 = load i32, ptr %15, align 4, !tbaa !9
  %1793 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %1794 = load i32, ptr %1793, align 4, !tbaa !16
  %1795 = xor i32 %1794, %1792
  store i32 %1795, ptr %1793, align 4, !tbaa !16
  %1796 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1797 = load i32, ptr %1796, align 4, !tbaa !14
  %1798 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1799 = load i32, ptr %1798, align 4, !tbaa !16
  %1800 = xor i32 %1799, -1
  %1801 = and i32 %1797, %1800
  %1802 = load i32, ptr %15, align 4, !tbaa !9
  %1803 = xor i32 %1802, %1801
  store i32 %1803, ptr %15, align 4, !tbaa !9
  %1804 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1805 = load i32, ptr %1804, align 4, !tbaa !14
  %1806 = load i32, ptr %15, align 4, !tbaa !9
  %1807 = xor i32 %1805, %1806
  %1808 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1809 = load i32, ptr %1808, align 4, !tbaa !14
  %1810 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1811 = load i32, ptr %1810, align 4, !tbaa !16
  %1812 = xor i32 %1811, -1
  %1813 = and i32 %1809, %1812
  %1814 = xor i32 %1807, %1813
  %1815 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %1814, ptr %1815, align 4, !tbaa !14
  br label %1816

1816:                                             ; preds = %1790
  br label %1817

1817:                                             ; preds = %1816
  %1818 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1819 = load i32, ptr %1818, align 4, !tbaa !11
  %1820 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1821 = load i32, ptr %1820, align 4, !tbaa !11
  %1822 = and i32 %1819, %1821
  %1823 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1824 = load i32, ptr %1823, align 4, !tbaa !11
  %1825 = xor i32 %1824, %1822
  store i32 %1825, ptr %1823, align 4, !tbaa !11
  br label %1826

1826:                                             ; preds = %1817
  %1827 = call i32 @aead_random_generate_32()
  store i32 %1827, ptr %15, align 4, !tbaa !9
  %1828 = load i32, ptr %15, align 4, !tbaa !9
  %1829 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1830 = load i32, ptr %1829, align 4, !tbaa !11
  %1831 = xor i32 %1830, %1828
  store i32 %1831, ptr %1829, align 4, !tbaa !11
  %1832 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1833 = load i32, ptr %1832, align 4, !tbaa !13
  %1834 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1835 = load i32, ptr %1834, align 4, !tbaa !11
  %1836 = and i32 %1833, %1835
  %1837 = load i32, ptr %15, align 4, !tbaa !9
  %1838 = xor i32 %1837, %1836
  store i32 %1838, ptr %15, align 4, !tbaa !9
  %1839 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1840 = load i32, ptr %1839, align 4, !tbaa !13
  %1841 = load i32, ptr %15, align 4, !tbaa !9
  %1842 = xor i32 %1840, %1841
  %1843 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1844 = load i32, ptr %1843, align 4, !tbaa !13
  %1845 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1846 = load i32, ptr %1845, align 4, !tbaa !11
  %1847 = and i32 %1844, %1846
  %1848 = xor i32 %1842, %1847
  %1849 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %1848, ptr %1849, align 4, !tbaa !13
  br label %1850

1850:                                             ; preds = %1826
  br label %1851

1851:                                             ; preds = %1850
  br label %1852

1852:                                             ; preds = %1851
  %1853 = call i32 @aead_random_generate_32()
  store i32 %1853, ptr %15, align 4, !tbaa !9
  %1854 = load i32, ptr %15, align 4, !tbaa !9
  %1855 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %1856 = load i32, ptr %1855, align 4, !tbaa !11
  %1857 = xor i32 %1856, %1854
  store i32 %1857, ptr %1855, align 4, !tbaa !11
  %1858 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1859 = load i32, ptr %1858, align 4, !tbaa !14
  %1860 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1861 = load i32, ptr %1860, align 4, !tbaa !11
  %1862 = and i32 %1859, %1861
  %1863 = load i32, ptr %15, align 4, !tbaa !9
  %1864 = xor i32 %1863, %1862
  store i32 %1864, ptr %15, align 4, !tbaa !9
  %1865 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1866 = load i32, ptr %1865, align 4, !tbaa !14
  %1867 = load i32, ptr %15, align 4, !tbaa !9
  %1868 = xor i32 %1866, %1867
  %1869 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1870 = load i32, ptr %1869, align 4, !tbaa !14
  %1871 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1872 = load i32, ptr %1871, align 4, !tbaa !11
  %1873 = and i32 %1870, %1872
  %1874 = xor i32 %1868, %1873
  %1875 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %1874, ptr %1875, align 4, !tbaa !14
  br label %1876

1876:                                             ; preds = %1852
  br label %1877

1877:                                             ; preds = %1876
  %1878 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1879 = load i32, ptr %1878, align 4, !tbaa !13
  %1880 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1881 = load i32, ptr %1880, align 4, !tbaa !13
  %1882 = and i32 %1879, %1881
  %1883 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1884 = load i32, ptr %1883, align 4, !tbaa !13
  %1885 = xor i32 %1884, %1882
  store i32 %1885, ptr %1883, align 4, !tbaa !13
  br label %1886

1886:                                             ; preds = %1877
  %1887 = call i32 @aead_random_generate_32()
  store i32 %1887, ptr %15, align 4, !tbaa !9
  %1888 = load i32, ptr %15, align 4, !tbaa !9
  %1889 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %1890 = load i32, ptr %1889, align 4, !tbaa !13
  %1891 = xor i32 %1890, %1888
  store i32 %1891, ptr %1889, align 4, !tbaa !13
  %1892 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1893 = load i32, ptr %1892, align 4, !tbaa !14
  %1894 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1895 = load i32, ptr %1894, align 4, !tbaa !13
  %1896 = and i32 %1893, %1895
  %1897 = load i32, ptr %15, align 4, !tbaa !9
  %1898 = xor i32 %1897, %1896
  store i32 %1898, ptr %15, align 4, !tbaa !9
  %1899 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1900 = load i32, ptr %1899, align 4, !tbaa !14
  %1901 = load i32, ptr %15, align 4, !tbaa !9
  %1902 = xor i32 %1900, %1901
  %1903 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1904 = load i32, ptr %1903, align 4, !tbaa !14
  %1905 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1906 = load i32, ptr %1905, align 4, !tbaa !13
  %1907 = and i32 %1904, %1906
  %1908 = xor i32 %1902, %1907
  %1909 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %1908, ptr %1909, align 4, !tbaa !14
  br label %1910

1910:                                             ; preds = %1886
  br label %1911

1911:                                             ; preds = %1910
  %1912 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1913 = load i32, ptr %1912, align 4, !tbaa !14
  %1914 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %1915 = load i32, ptr %1914, align 4, !tbaa !14
  %1916 = and i32 %1913, %1915
  %1917 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %1918 = load i32, ptr %1917, align 4, !tbaa !14
  %1919 = xor i32 %1918, %1916
  store i32 %1919, ptr %1917, align 4, !tbaa !14
  br label %1920

1920:                                             ; preds = %1911
  br label %1921

1921:                                             ; preds = %1920
  br label %1922

1922:                                             ; preds = %1921
  %1923 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1924 = load i32, ptr %1923, align 4, !tbaa !16
  %1925 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1926 = load i32, ptr %1925, align 4, !tbaa !16
  %1927 = and i32 %1924, %1926
  %1928 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1929 = load i32, ptr %1928, align 4, !tbaa !16
  %1930 = xor i32 %1929, %1927
  store i32 %1930, ptr %1928, align 4, !tbaa !16
  br label %1931

1931:                                             ; preds = %1922
  %1932 = call i32 @aead_random_generate_32()
  store i32 %1932, ptr %15, align 4, !tbaa !9
  %1933 = load i32, ptr %15, align 4, !tbaa !9
  %1934 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1935 = load i32, ptr %1934, align 4, !tbaa !16
  %1936 = xor i32 %1935, %1933
  store i32 %1936, ptr %1934, align 4, !tbaa !16
  %1937 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %1938 = load i32, ptr %1937, align 4, !tbaa !11
  %1939 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1940 = load i32, ptr %1939, align 4, !tbaa !16
  %1941 = and i32 %1938, %1940
  %1942 = load i32, ptr %15, align 4, !tbaa !9
  %1943 = xor i32 %1942, %1941
  store i32 %1943, ptr %15, align 4, !tbaa !9
  %1944 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %1945 = load i32, ptr %1944, align 4, !tbaa !11
  %1946 = load i32, ptr %15, align 4, !tbaa !9
  %1947 = xor i32 %1945, %1946
  %1948 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %1949 = load i32, ptr %1948, align 4, !tbaa !11
  %1950 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1951 = load i32, ptr %1950, align 4, !tbaa !16
  %1952 = and i32 %1949, %1951
  %1953 = xor i32 %1947, %1952
  %1954 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  store i32 %1953, ptr %1954, align 4, !tbaa !11
  br label %1955

1955:                                             ; preds = %1931
  br label %1956

1956:                                             ; preds = %1955
  br label %1957

1957:                                             ; preds = %1956
  %1958 = call i32 @aead_random_generate_32()
  store i32 %1958, ptr %15, align 4, !tbaa !9
  %1959 = load i32, ptr %15, align 4, !tbaa !9
  %1960 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1961 = load i32, ptr %1960, align 4, !tbaa !16
  %1962 = xor i32 %1961, %1959
  store i32 %1962, ptr %1960, align 4, !tbaa !16
  %1963 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %1964 = load i32, ptr %1963, align 4, !tbaa !13
  %1965 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1966 = load i32, ptr %1965, align 4, !tbaa !16
  %1967 = and i32 %1964, %1966
  %1968 = load i32, ptr %15, align 4, !tbaa !9
  %1969 = xor i32 %1968, %1967
  store i32 %1969, ptr %15, align 4, !tbaa !9
  %1970 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %1971 = load i32, ptr %1970, align 4, !tbaa !13
  %1972 = load i32, ptr %15, align 4, !tbaa !9
  %1973 = xor i32 %1971, %1972
  %1974 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %1975 = load i32, ptr %1974, align 4, !tbaa !13
  %1976 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %1977 = load i32, ptr %1976, align 4, !tbaa !16
  %1978 = and i32 %1975, %1977
  %1979 = xor i32 %1973, %1978
  %1980 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  store i32 %1979, ptr %1980, align 4, !tbaa !13
  br label %1981

1981:                                             ; preds = %1957
  br label %1982

1982:                                             ; preds = %1981
  br label %1983

1983:                                             ; preds = %1982
  %1984 = call i32 @aead_random_generate_32()
  store i32 %1984, ptr %15, align 4, !tbaa !9
  %1985 = load i32, ptr %15, align 4, !tbaa !9
  %1986 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %1987 = load i32, ptr %1986, align 4, !tbaa !16
  %1988 = xor i32 %1987, %1985
  store i32 %1988, ptr %1986, align 4, !tbaa !16
  %1989 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %1990 = load i32, ptr %1989, align 4, !tbaa !14
  %1991 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %1992 = load i32, ptr %1991, align 4, !tbaa !16
  %1993 = and i32 %1990, %1992
  %1994 = load i32, ptr %15, align 4, !tbaa !9
  %1995 = xor i32 %1994, %1993
  store i32 %1995, ptr %15, align 4, !tbaa !9
  %1996 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %1997 = load i32, ptr %1996, align 4, !tbaa !14
  %1998 = load i32, ptr %15, align 4, !tbaa !9
  %1999 = xor i32 %1997, %1998
  %2000 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2001 = load i32, ptr %2000, align 4, !tbaa !14
  %2002 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %2003 = load i32, ptr %2002, align 4, !tbaa !16
  %2004 = and i32 %2001, %2003
  %2005 = xor i32 %1999, %2004
  %2006 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %2005, ptr %2006, align 4, !tbaa !14
  br label %2007

2007:                                             ; preds = %1983
  br label %2008

2008:                                             ; preds = %2007
  %2009 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2010 = load i32, ptr %2009, align 4, !tbaa !11
  %2011 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %2012 = load i32, ptr %2011, align 4, !tbaa !11
  %2013 = and i32 %2010, %2012
  %2014 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2015 = load i32, ptr %2014, align 4, !tbaa !11
  %2016 = xor i32 %2015, %2013
  store i32 %2016, ptr %2014, align 4, !tbaa !11
  br label %2017

2017:                                             ; preds = %2008
  %2018 = call i32 @aead_random_generate_32()
  store i32 %2018, ptr %15, align 4, !tbaa !9
  %2019 = load i32, ptr %15, align 4, !tbaa !9
  %2020 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2021 = load i32, ptr %2020, align 4, !tbaa !11
  %2022 = xor i32 %2021, %2019
  store i32 %2022, ptr %2020, align 4, !tbaa !11
  %2023 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %2024 = load i32, ptr %2023, align 4, !tbaa !13
  %2025 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2026 = load i32, ptr %2025, align 4, !tbaa !11
  %2027 = and i32 %2024, %2026
  %2028 = load i32, ptr %15, align 4, !tbaa !9
  %2029 = xor i32 %2028, %2027
  store i32 %2029, ptr %15, align 4, !tbaa !9
  %2030 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2031 = load i32, ptr %2030, align 4, !tbaa !13
  %2032 = load i32, ptr %15, align 4, !tbaa !9
  %2033 = xor i32 %2031, %2032
  %2034 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2035 = load i32, ptr %2034, align 4, !tbaa !13
  %2036 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %2037 = load i32, ptr %2036, align 4, !tbaa !11
  %2038 = and i32 %2035, %2037
  %2039 = xor i32 %2033, %2038
  %2040 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  store i32 %2039, ptr %2040, align 4, !tbaa !13
  br label %2041

2041:                                             ; preds = %2017
  br label %2042

2042:                                             ; preds = %2041
  br label %2043

2043:                                             ; preds = %2042
  %2044 = call i32 @aead_random_generate_32()
  store i32 %2044, ptr %15, align 4, !tbaa !9
  %2045 = load i32, ptr %15, align 4, !tbaa !9
  %2046 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2047 = load i32, ptr %2046, align 4, !tbaa !11
  %2048 = xor i32 %2047, %2045
  store i32 %2048, ptr %2046, align 4, !tbaa !11
  %2049 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %2050 = load i32, ptr %2049, align 4, !tbaa !14
  %2051 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2052 = load i32, ptr %2051, align 4, !tbaa !11
  %2053 = and i32 %2050, %2052
  %2054 = load i32, ptr %15, align 4, !tbaa !9
  %2055 = xor i32 %2054, %2053
  store i32 %2055, ptr %15, align 4, !tbaa !9
  %2056 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2057 = load i32, ptr %2056, align 4, !tbaa !14
  %2058 = load i32, ptr %15, align 4, !tbaa !9
  %2059 = xor i32 %2057, %2058
  %2060 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2061 = load i32, ptr %2060, align 4, !tbaa !14
  %2062 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %2063 = load i32, ptr %2062, align 4, !tbaa !11
  %2064 = and i32 %2061, %2063
  %2065 = xor i32 %2059, %2064
  %2066 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %2065, ptr %2066, align 4, !tbaa !14
  br label %2067

2067:                                             ; preds = %2043
  br label %2068

2068:                                             ; preds = %2067
  %2069 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2070 = load i32, ptr %2069, align 4, !tbaa !13
  %2071 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %2072 = load i32, ptr %2071, align 4, !tbaa !13
  %2073 = and i32 %2070, %2072
  %2074 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2075 = load i32, ptr %2074, align 4, !tbaa !13
  %2076 = xor i32 %2075, %2073
  store i32 %2076, ptr %2074, align 4, !tbaa !13
  br label %2077

2077:                                             ; preds = %2068
  %2078 = call i32 @aead_random_generate_32()
  store i32 %2078, ptr %15, align 4, !tbaa !9
  %2079 = load i32, ptr %15, align 4, !tbaa !9
  %2080 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2081 = load i32, ptr %2080, align 4, !tbaa !13
  %2082 = xor i32 %2081, %2079
  store i32 %2082, ptr %2080, align 4, !tbaa !13
  %2083 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %2084 = load i32, ptr %2083, align 4, !tbaa !14
  %2085 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2086 = load i32, ptr %2085, align 4, !tbaa !13
  %2087 = and i32 %2084, %2086
  %2088 = load i32, ptr %15, align 4, !tbaa !9
  %2089 = xor i32 %2088, %2087
  store i32 %2089, ptr %15, align 4, !tbaa !9
  %2090 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2091 = load i32, ptr %2090, align 4, !tbaa !14
  %2092 = load i32, ptr %15, align 4, !tbaa !9
  %2093 = xor i32 %2091, %2092
  %2094 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2095 = load i32, ptr %2094, align 4, !tbaa !14
  %2096 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %2097 = load i32, ptr %2096, align 4, !tbaa !13
  %2098 = and i32 %2095, %2097
  %2099 = xor i32 %2093, %2098
  %2100 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %2099, ptr %2100, align 4, !tbaa !14
  br label %2101

2101:                                             ; preds = %2077
  br label %2102

2102:                                             ; preds = %2101
  %2103 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2104 = load i32, ptr %2103, align 4, !tbaa !14
  %2105 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %2106 = load i32, ptr %2105, align 4, !tbaa !14
  %2107 = and i32 %2104, %2106
  %2108 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2109 = load i32, ptr %2108, align 4, !tbaa !14
  %2110 = xor i32 %2109, %2107
  store i32 %2110, ptr %2108, align 4, !tbaa !14
  br label %2111

2111:                                             ; preds = %2102
  br label %2112

2112:                                             ; preds = %2111
  br label %2113

2113:                                             ; preds = %2112
  %2114 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2115 = load i32, ptr %2114, align 4, !tbaa !16
  %2116 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2117 = load i32, ptr %2116, align 4, !tbaa !16
  %2118 = and i32 %2115, %2117
  %2119 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2120 = load i32, ptr %2119, align 4, !tbaa !16
  %2121 = xor i32 %2120, %2118
  store i32 %2121, ptr %2119, align 4, !tbaa !16
  br label %2122

2122:                                             ; preds = %2113
  %2123 = call i32 @aead_random_generate_32()
  store i32 %2123, ptr %15, align 4, !tbaa !9
  %2124 = load i32, ptr %15, align 4, !tbaa !9
  %2125 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2126 = load i32, ptr %2125, align 4, !tbaa !16
  %2127 = xor i32 %2126, %2124
  store i32 %2127, ptr %2125, align 4, !tbaa !16
  %2128 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2129 = load i32, ptr %2128, align 4, !tbaa !11
  %2130 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2131 = load i32, ptr %2130, align 4, !tbaa !16
  %2132 = and i32 %2129, %2131
  %2133 = load i32, ptr %15, align 4, !tbaa !9
  %2134 = xor i32 %2133, %2132
  store i32 %2134, ptr %15, align 4, !tbaa !9
  %2135 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2136 = load i32, ptr %2135, align 4, !tbaa !11
  %2137 = load i32, ptr %15, align 4, !tbaa !9
  %2138 = xor i32 %2136, %2137
  %2139 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2140 = load i32, ptr %2139, align 4, !tbaa !11
  %2141 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2142 = load i32, ptr %2141, align 4, !tbaa !16
  %2143 = and i32 %2140, %2142
  %2144 = xor i32 %2138, %2143
  %2145 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %2144, ptr %2145, align 4, !tbaa !11
  br label %2146

2146:                                             ; preds = %2122
  br label %2147

2147:                                             ; preds = %2146
  br label %2148

2148:                                             ; preds = %2147
  %2149 = call i32 @aead_random_generate_32()
  store i32 %2149, ptr %15, align 4, !tbaa !9
  %2150 = load i32, ptr %15, align 4, !tbaa !9
  %2151 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2152 = load i32, ptr %2151, align 4, !tbaa !16
  %2153 = xor i32 %2152, %2150
  store i32 %2153, ptr %2151, align 4, !tbaa !16
  %2154 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2155 = load i32, ptr %2154, align 4, !tbaa !13
  %2156 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2157 = load i32, ptr %2156, align 4, !tbaa !16
  %2158 = and i32 %2155, %2157
  %2159 = load i32, ptr %15, align 4, !tbaa !9
  %2160 = xor i32 %2159, %2158
  store i32 %2160, ptr %15, align 4, !tbaa !9
  %2161 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2162 = load i32, ptr %2161, align 4, !tbaa !13
  %2163 = load i32, ptr %15, align 4, !tbaa !9
  %2164 = xor i32 %2162, %2163
  %2165 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2166 = load i32, ptr %2165, align 4, !tbaa !13
  %2167 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2168 = load i32, ptr %2167, align 4, !tbaa !16
  %2169 = and i32 %2166, %2168
  %2170 = xor i32 %2164, %2169
  %2171 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %2170, ptr %2171, align 4, !tbaa !13
  br label %2172

2172:                                             ; preds = %2148
  br label %2173

2173:                                             ; preds = %2172
  br label %2174

2174:                                             ; preds = %2173
  %2175 = call i32 @aead_random_generate_32()
  store i32 %2175, ptr %15, align 4, !tbaa !9
  %2176 = load i32, ptr %15, align 4, !tbaa !9
  %2177 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2178 = load i32, ptr %2177, align 4, !tbaa !16
  %2179 = xor i32 %2178, %2176
  store i32 %2179, ptr %2177, align 4, !tbaa !16
  %2180 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2181 = load i32, ptr %2180, align 4, !tbaa !14
  %2182 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2183 = load i32, ptr %2182, align 4, !tbaa !16
  %2184 = and i32 %2181, %2183
  %2185 = load i32, ptr %15, align 4, !tbaa !9
  %2186 = xor i32 %2185, %2184
  store i32 %2186, ptr %15, align 4, !tbaa !9
  %2187 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2188 = load i32, ptr %2187, align 4, !tbaa !14
  %2189 = load i32, ptr %15, align 4, !tbaa !9
  %2190 = xor i32 %2188, %2189
  %2191 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2192 = load i32, ptr %2191, align 4, !tbaa !14
  %2193 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2194 = load i32, ptr %2193, align 4, !tbaa !16
  %2195 = and i32 %2192, %2194
  %2196 = xor i32 %2190, %2195
  %2197 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %2196, ptr %2197, align 4, !tbaa !14
  br label %2198

2198:                                             ; preds = %2174
  br label %2199

2199:                                             ; preds = %2198
  %2200 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2201 = load i32, ptr %2200, align 4, !tbaa !11
  %2202 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2203 = load i32, ptr %2202, align 4, !tbaa !11
  %2204 = and i32 %2201, %2203
  %2205 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2206 = load i32, ptr %2205, align 4, !tbaa !11
  %2207 = xor i32 %2206, %2204
  store i32 %2207, ptr %2205, align 4, !tbaa !11
  br label %2208

2208:                                             ; preds = %2199
  %2209 = call i32 @aead_random_generate_32()
  store i32 %2209, ptr %15, align 4, !tbaa !9
  %2210 = load i32, ptr %15, align 4, !tbaa !9
  %2211 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2212 = load i32, ptr %2211, align 4, !tbaa !11
  %2213 = xor i32 %2212, %2210
  store i32 %2213, ptr %2211, align 4, !tbaa !11
  %2214 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2215 = load i32, ptr %2214, align 4, !tbaa !13
  %2216 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2217 = load i32, ptr %2216, align 4, !tbaa !11
  %2218 = and i32 %2215, %2217
  %2219 = load i32, ptr %15, align 4, !tbaa !9
  %2220 = xor i32 %2219, %2218
  store i32 %2220, ptr %15, align 4, !tbaa !9
  %2221 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2222 = load i32, ptr %2221, align 4, !tbaa !13
  %2223 = load i32, ptr %15, align 4, !tbaa !9
  %2224 = xor i32 %2222, %2223
  %2225 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2226 = load i32, ptr %2225, align 4, !tbaa !13
  %2227 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2228 = load i32, ptr %2227, align 4, !tbaa !11
  %2229 = and i32 %2226, %2228
  %2230 = xor i32 %2224, %2229
  %2231 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %2230, ptr %2231, align 4, !tbaa !13
  br label %2232

2232:                                             ; preds = %2208
  br label %2233

2233:                                             ; preds = %2232
  br label %2234

2234:                                             ; preds = %2233
  %2235 = call i32 @aead_random_generate_32()
  store i32 %2235, ptr %15, align 4, !tbaa !9
  %2236 = load i32, ptr %15, align 4, !tbaa !9
  %2237 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2238 = load i32, ptr %2237, align 4, !tbaa !11
  %2239 = xor i32 %2238, %2236
  store i32 %2239, ptr %2237, align 4, !tbaa !11
  %2240 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2241 = load i32, ptr %2240, align 4, !tbaa !14
  %2242 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2243 = load i32, ptr %2242, align 4, !tbaa !11
  %2244 = and i32 %2241, %2243
  %2245 = load i32, ptr %15, align 4, !tbaa !9
  %2246 = xor i32 %2245, %2244
  store i32 %2246, ptr %15, align 4, !tbaa !9
  %2247 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2248 = load i32, ptr %2247, align 4, !tbaa !14
  %2249 = load i32, ptr %15, align 4, !tbaa !9
  %2250 = xor i32 %2248, %2249
  %2251 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2252 = load i32, ptr %2251, align 4, !tbaa !14
  %2253 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2254 = load i32, ptr %2253, align 4, !tbaa !11
  %2255 = and i32 %2252, %2254
  %2256 = xor i32 %2250, %2255
  %2257 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %2256, ptr %2257, align 4, !tbaa !14
  br label %2258

2258:                                             ; preds = %2234
  br label %2259

2259:                                             ; preds = %2258
  %2260 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2261 = load i32, ptr %2260, align 4, !tbaa !13
  %2262 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2263 = load i32, ptr %2262, align 4, !tbaa !13
  %2264 = and i32 %2261, %2263
  %2265 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2266 = load i32, ptr %2265, align 4, !tbaa !13
  %2267 = xor i32 %2266, %2264
  store i32 %2267, ptr %2265, align 4, !tbaa !13
  br label %2268

2268:                                             ; preds = %2259
  %2269 = call i32 @aead_random_generate_32()
  store i32 %2269, ptr %15, align 4, !tbaa !9
  %2270 = load i32, ptr %15, align 4, !tbaa !9
  %2271 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2272 = load i32, ptr %2271, align 4, !tbaa !13
  %2273 = xor i32 %2272, %2270
  store i32 %2273, ptr %2271, align 4, !tbaa !13
  %2274 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2275 = load i32, ptr %2274, align 4, !tbaa !14
  %2276 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2277 = load i32, ptr %2276, align 4, !tbaa !13
  %2278 = and i32 %2275, %2277
  %2279 = load i32, ptr %15, align 4, !tbaa !9
  %2280 = xor i32 %2279, %2278
  store i32 %2280, ptr %15, align 4, !tbaa !9
  %2281 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2282 = load i32, ptr %2281, align 4, !tbaa !14
  %2283 = load i32, ptr %15, align 4, !tbaa !9
  %2284 = xor i32 %2282, %2283
  %2285 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2286 = load i32, ptr %2285, align 4, !tbaa !14
  %2287 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2288 = load i32, ptr %2287, align 4, !tbaa !13
  %2289 = and i32 %2286, %2288
  %2290 = xor i32 %2284, %2289
  %2291 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %2290, ptr %2291, align 4, !tbaa !14
  br label %2292

2292:                                             ; preds = %2268
  br label %2293

2293:                                             ; preds = %2292
  %2294 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2295 = load i32, ptr %2294, align 4, !tbaa !14
  %2296 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2297 = load i32, ptr %2296, align 4, !tbaa !14
  %2298 = and i32 %2295, %2297
  %2299 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2300 = load i32, ptr %2299, align 4, !tbaa !14
  %2301 = xor i32 %2300, %2298
  store i32 %2301, ptr %2299, align 4, !tbaa !14
  br label %2302

2302:                                             ; preds = %2293
  br label %2303

2303:                                             ; preds = %2302
  br label %2304

2304:                                             ; preds = %2303
  br label %2305

2305:                                             ; preds = %2304
  br label %2306

2306:                                             ; preds = %2305
  %2307 = load ptr, ptr %13, align 8, !tbaa !5
  %2308 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2307, i64 4
  %2309 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2308, i32 0, i32 0
  %2310 = load i32, ptr %2309, align 4, !tbaa !16
  %2311 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2312 = load i32, ptr %2311, align 4, !tbaa !16
  %2313 = xor i32 %2312, %2310
  store i32 %2313, ptr %2311, align 4, !tbaa !16
  %2314 = load ptr, ptr %13, align 8, !tbaa !5
  %2315 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2314, i64 4
  %2316 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2315, i32 0, i32 1
  %2317 = load i32, ptr %2316, align 4, !tbaa !11
  %2318 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2319 = load i32, ptr %2318, align 4, !tbaa !11
  %2320 = xor i32 %2319, %2317
  store i32 %2320, ptr %2318, align 4, !tbaa !11
  %2321 = load ptr, ptr %13, align 8, !tbaa !5
  %2322 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2321, i64 4
  %2323 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2322, i32 0, i32 2
  %2324 = load i32, ptr %2323, align 4, !tbaa !13
  %2325 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2326 = load i32, ptr %2325, align 4, !tbaa !13
  %2327 = xor i32 %2326, %2324
  store i32 %2327, ptr %2325, align 4, !tbaa !13
  %2328 = load ptr, ptr %13, align 8, !tbaa !5
  %2329 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2328, i64 4
  %2330 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2329, i32 0, i32 3
  %2331 = load i32, ptr %2330, align 4, !tbaa !14
  %2332 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2333 = load i32, ptr %2332, align 4, !tbaa !14
  %2334 = xor i32 %2333, %2331
  store i32 %2334, ptr %2332, align 4, !tbaa !14
  br label %2335

2335:                                             ; preds = %2306
  br label %2336

2336:                                             ; preds = %2335
  br label %2337

2337:                                             ; preds = %2336
  %2338 = load ptr, ptr %13, align 8, !tbaa !5
  %2339 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2338, i64 5
  %2340 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2339, i32 0, i32 0
  %2341 = load i32, ptr %2340, align 4, !tbaa !16
  %2342 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2343 = load i32, ptr %2342, align 4, !tbaa !16
  %2344 = xor i32 %2343, %2341
  store i32 %2344, ptr %2342, align 4, !tbaa !16
  %2345 = load ptr, ptr %13, align 8, !tbaa !5
  %2346 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2345, i64 5
  %2347 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2346, i32 0, i32 1
  %2348 = load i32, ptr %2347, align 4, !tbaa !11
  %2349 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2350 = load i32, ptr %2349, align 4, !tbaa !11
  %2351 = xor i32 %2350, %2348
  store i32 %2351, ptr %2349, align 4, !tbaa !11
  %2352 = load ptr, ptr %13, align 8, !tbaa !5
  %2353 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2352, i64 5
  %2354 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2353, i32 0, i32 2
  %2355 = load i32, ptr %2354, align 4, !tbaa !13
  %2356 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2357 = load i32, ptr %2356, align 4, !tbaa !13
  %2358 = xor i32 %2357, %2355
  store i32 %2358, ptr %2356, align 4, !tbaa !13
  %2359 = load ptr, ptr %13, align 8, !tbaa !5
  %2360 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2359, i64 5
  %2361 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %2360, i32 0, i32 3
  %2362 = load i32, ptr %2361, align 4, !tbaa !14
  %2363 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2364 = load i32, ptr %2363, align 4, !tbaa !14
  %2365 = xor i32 %2364, %2362
  store i32 %2365, ptr %2363, align 4, !tbaa !14
  br label %2366

2366:                                             ; preds = %2337
  br label %2367

2367:                                             ; preds = %2366
  br label %2368

2368:                                             ; preds = %2367
  %2369 = load ptr, ptr %14, align 8, !tbaa !5
  %2370 = getelementptr inbounds i32, ptr %2369, i64 2
  %2371 = load i32, ptr %2370, align 4, !tbaa !9
  %2372 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %2373 = load i32, ptr %2372, align 4, !tbaa !16
  %2374 = xor i32 %2373, %2371
  store i32 %2374, ptr %2372, align 4, !tbaa !16
  br label %2375

2375:                                             ; preds = %2368
  br label %2376

2376:                                             ; preds = %2375
  br label %2377

2377:                                             ; preds = %2376
  br label %2378

2378:                                             ; preds = %2377
  br label %2379

2379:                                             ; preds = %2378
  %2380 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2381 = load i32, ptr %2380, align 4, !tbaa !16
  %2382 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2383 = load i32, ptr %2382, align 4, !tbaa !16
  %2384 = lshr i32 %2383, 1
  %2385 = xor i32 %2381, %2384
  %2386 = and i32 %2385, 1431655765
  store i32 %2386, ptr %15, align 4, !tbaa !9
  %2387 = load i32, ptr %15, align 4, !tbaa !9
  %2388 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2389 = load i32, ptr %2388, align 4, !tbaa !16
  %2390 = xor i32 %2389, %2387
  store i32 %2390, ptr %2388, align 4, !tbaa !16
  %2391 = load i32, ptr %15, align 4, !tbaa !9
  %2392 = shl i32 %2391, 1
  %2393 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2394 = load i32, ptr %2393, align 4, !tbaa !16
  %2395 = xor i32 %2394, %2392
  store i32 %2395, ptr %2393, align 4, !tbaa !16
  br label %2396

2396:                                             ; preds = %2379
  br label %2397

2397:                                             ; preds = %2396
  br label %2398

2398:                                             ; preds = %2397
  %2399 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2400 = load i32, ptr %2399, align 4, !tbaa !11
  %2401 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2402 = load i32, ptr %2401, align 4, !tbaa !11
  %2403 = lshr i32 %2402, 1
  %2404 = xor i32 %2400, %2403
  %2405 = and i32 %2404, 1431655765
  store i32 %2405, ptr %15, align 4, !tbaa !9
  %2406 = load i32, ptr %15, align 4, !tbaa !9
  %2407 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2408 = load i32, ptr %2407, align 4, !tbaa !11
  %2409 = xor i32 %2408, %2406
  store i32 %2409, ptr %2407, align 4, !tbaa !11
  %2410 = load i32, ptr %15, align 4, !tbaa !9
  %2411 = shl i32 %2410, 1
  %2412 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2413 = load i32, ptr %2412, align 4, !tbaa !11
  %2414 = xor i32 %2413, %2411
  store i32 %2414, ptr %2412, align 4, !tbaa !11
  br label %2415

2415:                                             ; preds = %2398
  br label %2416

2416:                                             ; preds = %2415
  br label %2417

2417:                                             ; preds = %2416
  %2418 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2419 = load i32, ptr %2418, align 4, !tbaa !13
  %2420 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2421 = load i32, ptr %2420, align 4, !tbaa !13
  %2422 = lshr i32 %2421, 1
  %2423 = xor i32 %2419, %2422
  %2424 = and i32 %2423, 1431655765
  store i32 %2424, ptr %15, align 4, !tbaa !9
  %2425 = load i32, ptr %15, align 4, !tbaa !9
  %2426 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2427 = load i32, ptr %2426, align 4, !tbaa !13
  %2428 = xor i32 %2427, %2425
  store i32 %2428, ptr %2426, align 4, !tbaa !13
  %2429 = load i32, ptr %15, align 4, !tbaa !9
  %2430 = shl i32 %2429, 1
  %2431 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2432 = load i32, ptr %2431, align 4, !tbaa !13
  %2433 = xor i32 %2432, %2430
  store i32 %2433, ptr %2431, align 4, !tbaa !13
  br label %2434

2434:                                             ; preds = %2417
  br label %2435

2435:                                             ; preds = %2434
  br label %2436

2436:                                             ; preds = %2435
  %2437 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2438 = load i32, ptr %2437, align 4, !tbaa !14
  %2439 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2440 = load i32, ptr %2439, align 4, !tbaa !14
  %2441 = lshr i32 %2440, 1
  %2442 = xor i32 %2438, %2441
  %2443 = and i32 %2442, 1431655765
  store i32 %2443, ptr %15, align 4, !tbaa !9
  %2444 = load i32, ptr %15, align 4, !tbaa !9
  %2445 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2446 = load i32, ptr %2445, align 4, !tbaa !14
  %2447 = xor i32 %2446, %2444
  store i32 %2447, ptr %2445, align 4, !tbaa !14
  %2448 = load i32, ptr %15, align 4, !tbaa !9
  %2449 = shl i32 %2448, 1
  %2450 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2451 = load i32, ptr %2450, align 4, !tbaa !14
  %2452 = xor i32 %2451, %2449
  store i32 %2452, ptr %2450, align 4, !tbaa !14
  br label %2453

2453:                                             ; preds = %2436
  br label %2454

2454:                                             ; preds = %2453
  br label %2455

2455:                                             ; preds = %2454
  br label %2456

2456:                                             ; preds = %2455
  br label %2457

2457:                                             ; preds = %2456
  br label %2458

2458:                                             ; preds = %2457
  %2459 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2460 = load i32, ptr %2459, align 4, !tbaa !16
  %2461 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2462 = load i32, ptr %2461, align 4, !tbaa !16
  %2463 = lshr i32 %2462, 1
  %2464 = xor i32 %2460, %2463
  %2465 = and i32 %2464, 21845
  store i32 %2465, ptr %15, align 4, !tbaa !9
  %2466 = load i32, ptr %15, align 4, !tbaa !9
  %2467 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2468 = load i32, ptr %2467, align 4, !tbaa !16
  %2469 = xor i32 %2468, %2466
  store i32 %2469, ptr %2467, align 4, !tbaa !16
  %2470 = load i32, ptr %15, align 4, !tbaa !9
  %2471 = shl i32 %2470, 1
  %2472 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2473 = load i32, ptr %2472, align 4, !tbaa !16
  %2474 = xor i32 %2473, %2471
  store i32 %2474, ptr %2472, align 4, !tbaa !16
  br label %2475

2475:                                             ; preds = %2458
  br label %2476

2476:                                             ; preds = %2475
  br label %2477

2477:                                             ; preds = %2476
  %2478 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2479 = load i32, ptr %2478, align 4, !tbaa !11
  %2480 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2481 = load i32, ptr %2480, align 4, !tbaa !11
  %2482 = lshr i32 %2481, 1
  %2483 = xor i32 %2479, %2482
  %2484 = and i32 %2483, 21845
  store i32 %2484, ptr %15, align 4, !tbaa !9
  %2485 = load i32, ptr %15, align 4, !tbaa !9
  %2486 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2487 = load i32, ptr %2486, align 4, !tbaa !11
  %2488 = xor i32 %2487, %2485
  store i32 %2488, ptr %2486, align 4, !tbaa !11
  %2489 = load i32, ptr %15, align 4, !tbaa !9
  %2490 = shl i32 %2489, 1
  %2491 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2492 = load i32, ptr %2491, align 4, !tbaa !11
  %2493 = xor i32 %2492, %2490
  store i32 %2493, ptr %2491, align 4, !tbaa !11
  br label %2494

2494:                                             ; preds = %2477
  br label %2495

2495:                                             ; preds = %2494
  br label %2496

2496:                                             ; preds = %2495
  %2497 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2498 = load i32, ptr %2497, align 4, !tbaa !13
  %2499 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2500 = load i32, ptr %2499, align 4, !tbaa !13
  %2501 = lshr i32 %2500, 1
  %2502 = xor i32 %2498, %2501
  %2503 = and i32 %2502, 21845
  store i32 %2503, ptr %15, align 4, !tbaa !9
  %2504 = load i32, ptr %15, align 4, !tbaa !9
  %2505 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2506 = load i32, ptr %2505, align 4, !tbaa !13
  %2507 = xor i32 %2506, %2504
  store i32 %2507, ptr %2505, align 4, !tbaa !13
  %2508 = load i32, ptr %15, align 4, !tbaa !9
  %2509 = shl i32 %2508, 1
  %2510 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2511 = load i32, ptr %2510, align 4, !tbaa !13
  %2512 = xor i32 %2511, %2509
  store i32 %2512, ptr %2510, align 4, !tbaa !13
  br label %2513

2513:                                             ; preds = %2496
  br label %2514

2514:                                             ; preds = %2513
  br label %2515

2515:                                             ; preds = %2514
  %2516 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2517 = load i32, ptr %2516, align 4, !tbaa !14
  %2518 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2519 = load i32, ptr %2518, align 4, !tbaa !14
  %2520 = lshr i32 %2519, 1
  %2521 = xor i32 %2517, %2520
  %2522 = and i32 %2521, 21845
  store i32 %2522, ptr %15, align 4, !tbaa !9
  %2523 = load i32, ptr %15, align 4, !tbaa !9
  %2524 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2525 = load i32, ptr %2524, align 4, !tbaa !14
  %2526 = xor i32 %2525, %2523
  store i32 %2526, ptr %2524, align 4, !tbaa !14
  %2527 = load i32, ptr %15, align 4, !tbaa !9
  %2528 = shl i32 %2527, 1
  %2529 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2530 = load i32, ptr %2529, align 4, !tbaa !14
  %2531 = xor i32 %2530, %2528
  store i32 %2531, ptr %2529, align 4, !tbaa !14
  br label %2532

2532:                                             ; preds = %2515
  br label %2533

2533:                                             ; preds = %2532
  br label %2534

2534:                                             ; preds = %2533
  br label %2535

2535:                                             ; preds = %2534
  br label %2536

2536:                                             ; preds = %2535
  %2537 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2538 = load i32, ptr %2537, align 4, !tbaa !16
  %2539 = shl i32 %2538, 16
  %2540 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2541 = load i32, ptr %2540, align 4, !tbaa !16
  %2542 = lshr i32 %2541, 16
  %2543 = or i32 %2539, %2542
  %2544 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  store i32 %2543, ptr %2544, align 4, !tbaa !16
  %2545 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2546 = load i32, ptr %2545, align 4, !tbaa !11
  %2547 = shl i32 %2546, 16
  %2548 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2549 = load i32, ptr %2548, align 4, !tbaa !11
  %2550 = lshr i32 %2549, 16
  %2551 = or i32 %2547, %2550
  %2552 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %2551, ptr %2552, align 4, !tbaa !11
  %2553 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2554 = load i32, ptr %2553, align 4, !tbaa !13
  %2555 = shl i32 %2554, 16
  %2556 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2557 = load i32, ptr %2556, align 4, !tbaa !13
  %2558 = lshr i32 %2557, 16
  %2559 = or i32 %2555, %2558
  %2560 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %2559, ptr %2560, align 4, !tbaa !13
  %2561 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2562 = load i32, ptr %2561, align 4, !tbaa !14
  %2563 = shl i32 %2562, 16
  %2564 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2565 = load i32, ptr %2564, align 4, !tbaa !14
  %2566 = lshr i32 %2565, 16
  %2567 = or i32 %2563, %2566
  %2568 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %2567, ptr %2568, align 4, !tbaa !14
  br label %2569

2569:                                             ; preds = %2536
  br label %2570

2570:                                             ; preds = %2569
  br label %2571

2571:                                             ; preds = %2570
  br label %2572

2572:                                             ; preds = %2571
  %2573 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2574 = load i32, ptr %2573, align 4, !tbaa !16
  %2575 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2576 = load i32, ptr %2575, align 4, !tbaa !16
  %2577 = lshr i32 %2576, 1
  %2578 = xor i32 %2574, %2577
  %2579 = and i32 %2578, 1431633920
  store i32 %2579, ptr %15, align 4, !tbaa !9
  %2580 = load i32, ptr %15, align 4, !tbaa !9
  %2581 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2582 = load i32, ptr %2581, align 4, !tbaa !16
  %2583 = xor i32 %2582, %2580
  store i32 %2583, ptr %2581, align 4, !tbaa !16
  %2584 = load i32, ptr %15, align 4, !tbaa !9
  %2585 = shl i32 %2584, 1
  %2586 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2587 = load i32, ptr %2586, align 4, !tbaa !16
  %2588 = xor i32 %2587, %2585
  store i32 %2588, ptr %2586, align 4, !tbaa !16
  br label %2589

2589:                                             ; preds = %2572
  br label %2590

2590:                                             ; preds = %2589
  br label %2591

2591:                                             ; preds = %2590
  %2592 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2593 = load i32, ptr %2592, align 4, !tbaa !11
  %2594 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2595 = load i32, ptr %2594, align 4, !tbaa !11
  %2596 = lshr i32 %2595, 1
  %2597 = xor i32 %2593, %2596
  %2598 = and i32 %2597, 1431633920
  store i32 %2598, ptr %15, align 4, !tbaa !9
  %2599 = load i32, ptr %15, align 4, !tbaa !9
  %2600 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2601 = load i32, ptr %2600, align 4, !tbaa !11
  %2602 = xor i32 %2601, %2599
  store i32 %2602, ptr %2600, align 4, !tbaa !11
  %2603 = load i32, ptr %15, align 4, !tbaa !9
  %2604 = shl i32 %2603, 1
  %2605 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2606 = load i32, ptr %2605, align 4, !tbaa !11
  %2607 = xor i32 %2606, %2604
  store i32 %2607, ptr %2605, align 4, !tbaa !11
  br label %2608

2608:                                             ; preds = %2591
  br label %2609

2609:                                             ; preds = %2608
  br label %2610

2610:                                             ; preds = %2609
  %2611 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2612 = load i32, ptr %2611, align 4, !tbaa !13
  %2613 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2614 = load i32, ptr %2613, align 4, !tbaa !13
  %2615 = lshr i32 %2614, 1
  %2616 = xor i32 %2612, %2615
  %2617 = and i32 %2616, 1431633920
  store i32 %2617, ptr %15, align 4, !tbaa !9
  %2618 = load i32, ptr %15, align 4, !tbaa !9
  %2619 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2620 = load i32, ptr %2619, align 4, !tbaa !13
  %2621 = xor i32 %2620, %2618
  store i32 %2621, ptr %2619, align 4, !tbaa !13
  %2622 = load i32, ptr %15, align 4, !tbaa !9
  %2623 = shl i32 %2622, 1
  %2624 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2625 = load i32, ptr %2624, align 4, !tbaa !13
  %2626 = xor i32 %2625, %2623
  store i32 %2626, ptr %2624, align 4, !tbaa !13
  br label %2627

2627:                                             ; preds = %2610
  br label %2628

2628:                                             ; preds = %2627
  br label %2629

2629:                                             ; preds = %2628
  %2630 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2631 = load i32, ptr %2630, align 4, !tbaa !14
  %2632 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2633 = load i32, ptr %2632, align 4, !tbaa !14
  %2634 = lshr i32 %2633, 1
  %2635 = xor i32 %2631, %2634
  %2636 = and i32 %2635, 1431633920
  store i32 %2636, ptr %15, align 4, !tbaa !9
  %2637 = load i32, ptr %15, align 4, !tbaa !9
  %2638 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2639 = load i32, ptr %2638, align 4, !tbaa !14
  %2640 = xor i32 %2639, %2637
  store i32 %2640, ptr %2638, align 4, !tbaa !14
  %2641 = load i32, ptr %15, align 4, !tbaa !9
  %2642 = shl i32 %2641, 1
  %2643 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2644 = load i32, ptr %2643, align 4, !tbaa !14
  %2645 = xor i32 %2644, %2642
  store i32 %2645, ptr %2643, align 4, !tbaa !14
  br label %2646

2646:                                             ; preds = %2629
  br label %2647

2647:                                             ; preds = %2646
  br label %2648

2648:                                             ; preds = %2647
  br label %2649

2649:                                             ; preds = %2648
  br label %2650

2650:                                             ; preds = %2649
  %2651 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2652 = load i32, ptr %2651, align 4, !tbaa !16
  %2653 = shl i32 %2652, 16
  %2654 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2655 = load i32, ptr %2654, align 4, !tbaa !16
  %2656 = lshr i32 %2655, 16
  %2657 = or i32 %2653, %2656
  %2658 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  store i32 %2657, ptr %2658, align 4, !tbaa !16
  %2659 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2660 = load i32, ptr %2659, align 4, !tbaa !11
  %2661 = shl i32 %2660, 16
  %2662 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2663 = load i32, ptr %2662, align 4, !tbaa !11
  %2664 = lshr i32 %2663, 16
  %2665 = or i32 %2661, %2664
  %2666 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  store i32 %2665, ptr %2666, align 4, !tbaa !11
  %2667 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2668 = load i32, ptr %2667, align 4, !tbaa !13
  %2669 = shl i32 %2668, 16
  %2670 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2671 = load i32, ptr %2670, align 4, !tbaa !13
  %2672 = lshr i32 %2671, 16
  %2673 = or i32 %2669, %2672
  %2674 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  store i32 %2673, ptr %2674, align 4, !tbaa !13
  %2675 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2676 = load i32, ptr %2675, align 4, !tbaa !14
  %2677 = shl i32 %2676, 16
  %2678 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2679 = load i32, ptr %2678, align 4, !tbaa !14
  %2680 = lshr i32 %2679, 16
  %2681 = or i32 %2677, %2680
  %2682 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %2681, ptr %2682, align 4, !tbaa !14
  br label %2683

2683:                                             ; preds = %2650
  br label %2684

2684:                                             ; preds = %2683
  br label %2685

2685:                                             ; preds = %2684
  br label %2686

2686:                                             ; preds = %2685
  br label %2687

2687:                                             ; preds = %2686
  br label %2688

2688:                                             ; preds = %2687
  %2689 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %2690 = load i32, ptr %2689, align 4, !tbaa !16
  %2691 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2692 = load i32, ptr %2691, align 4, !tbaa !16
  %2693 = and i32 %2690, %2692
  %2694 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2695 = load i32, ptr %2694, align 4, !tbaa !16
  %2696 = xor i32 %2695, %2693
  store i32 %2696, ptr %2694, align 4, !tbaa !16
  br label %2697

2697:                                             ; preds = %2688
  %2698 = call i32 @aead_random_generate_32()
  store i32 %2698, ptr %15, align 4, !tbaa !9
  %2699 = load i32, ptr %15, align 4, !tbaa !9
  %2700 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2701 = load i32, ptr %2700, align 4, !tbaa !16
  %2702 = xor i32 %2701, %2699
  store i32 %2702, ptr %2700, align 4, !tbaa !16
  %2703 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2704 = load i32, ptr %2703, align 4, !tbaa !11
  %2705 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %2706 = load i32, ptr %2705, align 4, !tbaa !16
  %2707 = and i32 %2704, %2706
  %2708 = load i32, ptr %15, align 4, !tbaa !9
  %2709 = xor i32 %2708, %2707
  store i32 %2709, ptr %15, align 4, !tbaa !9
  %2710 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2711 = load i32, ptr %2710, align 4, !tbaa !11
  %2712 = load i32, ptr %15, align 4, !tbaa !9
  %2713 = xor i32 %2711, %2712
  %2714 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %2715 = load i32, ptr %2714, align 4, !tbaa !11
  %2716 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2717 = load i32, ptr %2716, align 4, !tbaa !16
  %2718 = and i32 %2715, %2717
  %2719 = xor i32 %2713, %2718
  %2720 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %2719, ptr %2720, align 4, !tbaa !11
  br label %2721

2721:                                             ; preds = %2697
  br label %2722

2722:                                             ; preds = %2721
  br label %2723

2723:                                             ; preds = %2722
  %2724 = call i32 @aead_random_generate_32()
  store i32 %2724, ptr %15, align 4, !tbaa !9
  %2725 = load i32, ptr %15, align 4, !tbaa !9
  %2726 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2727 = load i32, ptr %2726, align 4, !tbaa !16
  %2728 = xor i32 %2727, %2725
  store i32 %2728, ptr %2726, align 4, !tbaa !16
  %2729 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2730 = load i32, ptr %2729, align 4, !tbaa !13
  %2731 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %2732 = load i32, ptr %2731, align 4, !tbaa !16
  %2733 = and i32 %2730, %2732
  %2734 = load i32, ptr %15, align 4, !tbaa !9
  %2735 = xor i32 %2734, %2733
  store i32 %2735, ptr %15, align 4, !tbaa !9
  %2736 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2737 = load i32, ptr %2736, align 4, !tbaa !13
  %2738 = load i32, ptr %15, align 4, !tbaa !9
  %2739 = xor i32 %2737, %2738
  %2740 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %2741 = load i32, ptr %2740, align 4, !tbaa !13
  %2742 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2743 = load i32, ptr %2742, align 4, !tbaa !16
  %2744 = and i32 %2741, %2743
  %2745 = xor i32 %2739, %2744
  %2746 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %2745, ptr %2746, align 4, !tbaa !13
  br label %2747

2747:                                             ; preds = %2723
  br label %2748

2748:                                             ; preds = %2747
  br label %2749

2749:                                             ; preds = %2748
  %2750 = call i32 @aead_random_generate_32()
  store i32 %2750, ptr %15, align 4, !tbaa !9
  %2751 = load i32, ptr %15, align 4, !tbaa !9
  %2752 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2753 = load i32, ptr %2752, align 4, !tbaa !16
  %2754 = xor i32 %2753, %2751
  store i32 %2754, ptr %2752, align 4, !tbaa !16
  %2755 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2756 = load i32, ptr %2755, align 4, !tbaa !14
  %2757 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %2758 = load i32, ptr %2757, align 4, !tbaa !16
  %2759 = and i32 %2756, %2758
  %2760 = load i32, ptr %15, align 4, !tbaa !9
  %2761 = xor i32 %2760, %2759
  store i32 %2761, ptr %15, align 4, !tbaa !9
  %2762 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2763 = load i32, ptr %2762, align 4, !tbaa !14
  %2764 = load i32, ptr %15, align 4, !tbaa !9
  %2765 = xor i32 %2763, %2764
  %2766 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %2767 = load i32, ptr %2766, align 4, !tbaa !14
  %2768 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2769 = load i32, ptr %2768, align 4, !tbaa !16
  %2770 = and i32 %2767, %2769
  %2771 = xor i32 %2765, %2770
  %2772 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %2771, ptr %2772, align 4, !tbaa !14
  br label %2773

2773:                                             ; preds = %2749
  br label %2774

2774:                                             ; preds = %2773
  %2775 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %2776 = load i32, ptr %2775, align 4, !tbaa !11
  %2777 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2778 = load i32, ptr %2777, align 4, !tbaa !11
  %2779 = and i32 %2776, %2778
  %2780 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2781 = load i32, ptr %2780, align 4, !tbaa !11
  %2782 = xor i32 %2781, %2779
  store i32 %2782, ptr %2780, align 4, !tbaa !11
  br label %2783

2783:                                             ; preds = %2774
  %2784 = call i32 @aead_random_generate_32()
  store i32 %2784, ptr %15, align 4, !tbaa !9
  %2785 = load i32, ptr %15, align 4, !tbaa !9
  %2786 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2787 = load i32, ptr %2786, align 4, !tbaa !11
  %2788 = xor i32 %2787, %2785
  store i32 %2788, ptr %2786, align 4, !tbaa !11
  %2789 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2790 = load i32, ptr %2789, align 4, !tbaa !13
  %2791 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %2792 = load i32, ptr %2791, align 4, !tbaa !11
  %2793 = and i32 %2790, %2792
  %2794 = load i32, ptr %15, align 4, !tbaa !9
  %2795 = xor i32 %2794, %2793
  store i32 %2795, ptr %15, align 4, !tbaa !9
  %2796 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2797 = load i32, ptr %2796, align 4, !tbaa !13
  %2798 = load i32, ptr %15, align 4, !tbaa !9
  %2799 = xor i32 %2797, %2798
  %2800 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %2801 = load i32, ptr %2800, align 4, !tbaa !13
  %2802 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2803 = load i32, ptr %2802, align 4, !tbaa !11
  %2804 = and i32 %2801, %2803
  %2805 = xor i32 %2799, %2804
  %2806 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %2805, ptr %2806, align 4, !tbaa !13
  br label %2807

2807:                                             ; preds = %2783
  br label %2808

2808:                                             ; preds = %2807
  br label %2809

2809:                                             ; preds = %2808
  %2810 = call i32 @aead_random_generate_32()
  store i32 %2810, ptr %15, align 4, !tbaa !9
  %2811 = load i32, ptr %15, align 4, !tbaa !9
  %2812 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2813 = load i32, ptr %2812, align 4, !tbaa !11
  %2814 = xor i32 %2813, %2811
  store i32 %2814, ptr %2812, align 4, !tbaa !11
  %2815 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2816 = load i32, ptr %2815, align 4, !tbaa !14
  %2817 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %2818 = load i32, ptr %2817, align 4, !tbaa !11
  %2819 = and i32 %2816, %2818
  %2820 = load i32, ptr %15, align 4, !tbaa !9
  %2821 = xor i32 %2820, %2819
  store i32 %2821, ptr %15, align 4, !tbaa !9
  %2822 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2823 = load i32, ptr %2822, align 4, !tbaa !14
  %2824 = load i32, ptr %15, align 4, !tbaa !9
  %2825 = xor i32 %2823, %2824
  %2826 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %2827 = load i32, ptr %2826, align 4, !tbaa !14
  %2828 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2829 = load i32, ptr %2828, align 4, !tbaa !11
  %2830 = and i32 %2827, %2829
  %2831 = xor i32 %2825, %2830
  %2832 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %2831, ptr %2832, align 4, !tbaa !14
  br label %2833

2833:                                             ; preds = %2809
  br label %2834

2834:                                             ; preds = %2833
  %2835 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %2836 = load i32, ptr %2835, align 4, !tbaa !13
  %2837 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2838 = load i32, ptr %2837, align 4, !tbaa !13
  %2839 = and i32 %2836, %2838
  %2840 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2841 = load i32, ptr %2840, align 4, !tbaa !13
  %2842 = xor i32 %2841, %2839
  store i32 %2842, ptr %2840, align 4, !tbaa !13
  br label %2843

2843:                                             ; preds = %2834
  %2844 = call i32 @aead_random_generate_32()
  store i32 %2844, ptr %15, align 4, !tbaa !9
  %2845 = load i32, ptr %15, align 4, !tbaa !9
  %2846 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2847 = load i32, ptr %2846, align 4, !tbaa !13
  %2848 = xor i32 %2847, %2845
  store i32 %2848, ptr %2846, align 4, !tbaa !13
  %2849 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2850 = load i32, ptr %2849, align 4, !tbaa !14
  %2851 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %2852 = load i32, ptr %2851, align 4, !tbaa !13
  %2853 = and i32 %2850, %2852
  %2854 = load i32, ptr %15, align 4, !tbaa !9
  %2855 = xor i32 %2854, %2853
  store i32 %2855, ptr %15, align 4, !tbaa !9
  %2856 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2857 = load i32, ptr %2856, align 4, !tbaa !14
  %2858 = load i32, ptr %15, align 4, !tbaa !9
  %2859 = xor i32 %2857, %2858
  %2860 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %2861 = load i32, ptr %2860, align 4, !tbaa !14
  %2862 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2863 = load i32, ptr %2862, align 4, !tbaa !13
  %2864 = and i32 %2861, %2863
  %2865 = xor i32 %2859, %2864
  %2866 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %2865, ptr %2866, align 4, !tbaa !14
  br label %2867

2867:                                             ; preds = %2843
  br label %2868

2868:                                             ; preds = %2867
  %2869 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %2870 = load i32, ptr %2869, align 4, !tbaa !14
  %2871 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2872 = load i32, ptr %2871, align 4, !tbaa !14
  %2873 = and i32 %2870, %2872
  %2874 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2875 = load i32, ptr %2874, align 4, !tbaa !14
  %2876 = xor i32 %2875, %2873
  store i32 %2876, ptr %2874, align 4, !tbaa !14
  br label %2877

2877:                                             ; preds = %2868
  br label %2878

2878:                                             ; preds = %2877
  br label %2879

2879:                                             ; preds = %2878
  %2880 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2881 = load i32, ptr %2880, align 4, !tbaa !16
  %2882 = xor i32 %2881, -1
  %2883 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  store i32 %2882, ptr %2883, align 4, !tbaa !16
  br label %2884

2884:                                             ; preds = %2879
  br label %2885

2885:                                             ; preds = %2884
  br label %2886

2886:                                             ; preds = %2885
  %2887 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2888 = load i32, ptr %2887, align 4, !tbaa !16
  %2889 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2890 = load i32, ptr %2889, align 4, !tbaa !16
  %2891 = xor i32 %2890, %2888
  store i32 %2891, ptr %2889, align 4, !tbaa !16
  %2892 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2893 = load i32, ptr %2892, align 4, !tbaa !11
  %2894 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2895 = load i32, ptr %2894, align 4, !tbaa !11
  %2896 = xor i32 %2895, %2893
  store i32 %2896, ptr %2894, align 4, !tbaa !11
  %2897 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2898 = load i32, ptr %2897, align 4, !tbaa !13
  %2899 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2900 = load i32, ptr %2899, align 4, !tbaa !13
  %2901 = xor i32 %2900, %2898
  store i32 %2901, ptr %2899, align 4, !tbaa !13
  %2902 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2903 = load i32, ptr %2902, align 4, !tbaa !14
  %2904 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %2905 = load i32, ptr %2904, align 4, !tbaa !14
  %2906 = xor i32 %2905, %2903
  store i32 %2906, ptr %2904, align 4, !tbaa !14
  br label %2907

2907:                                             ; preds = %2886
  br label %2908

2908:                                             ; preds = %2907
  br label %2909

2909:                                             ; preds = %2908
  %2910 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2911 = load i32, ptr %2910, align 4, !tbaa !16
  %2912 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %2913 = load i32, ptr %2912, align 4, !tbaa !16
  %2914 = xor i32 %2913, %2911
  store i32 %2914, ptr %2912, align 4, !tbaa !16
  %2915 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2916 = load i32, ptr %2915, align 4, !tbaa !11
  %2917 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %2918 = load i32, ptr %2917, align 4, !tbaa !11
  %2919 = xor i32 %2918, %2916
  store i32 %2919, ptr %2917, align 4, !tbaa !11
  %2920 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2921 = load i32, ptr %2920, align 4, !tbaa !13
  %2922 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %2923 = load i32, ptr %2922, align 4, !tbaa !13
  %2924 = xor i32 %2923, %2921
  store i32 %2924, ptr %2922, align 4, !tbaa !13
  %2925 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %2926 = load i32, ptr %2925, align 4, !tbaa !14
  %2927 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %2928 = load i32, ptr %2927, align 4, !tbaa !14
  %2929 = xor i32 %2928, %2926
  store i32 %2929, ptr %2927, align 4, !tbaa !14
  br label %2930

2930:                                             ; preds = %2909
  br label %2931

2931:                                             ; preds = %2930
  br label %2932

2932:                                             ; preds = %2931
  %2933 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %2934 = load i32, ptr %2933, align 4, !tbaa !16
  %2935 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2936 = load i32, ptr %2935, align 4, !tbaa !16
  %2937 = or i32 %2934, %2936
  %2938 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2939 = load i32, ptr %2938, align 4, !tbaa !16
  %2940 = xor i32 %2939, %2937
  store i32 %2940, ptr %2938, align 4, !tbaa !16
  br label %2941

2941:                                             ; preds = %2932
  %2942 = call i32 @aead_random_generate_32()
  store i32 %2942, ptr %15, align 4, !tbaa !9
  %2943 = load i32, ptr %15, align 4, !tbaa !9
  %2944 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2945 = load i32, ptr %2944, align 4, !tbaa !16
  %2946 = xor i32 %2945, %2943
  store i32 %2946, ptr %2944, align 4, !tbaa !16
  %2947 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %2948 = load i32, ptr %2947, align 4, !tbaa !11
  %2949 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %2950 = load i32, ptr %2949, align 4, !tbaa !16
  %2951 = xor i32 %2950, -1
  %2952 = and i32 %2948, %2951
  %2953 = load i32, ptr %15, align 4, !tbaa !9
  %2954 = xor i32 %2953, %2952
  store i32 %2954, ptr %15, align 4, !tbaa !9
  %2955 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %2956 = load i32, ptr %2955, align 4, !tbaa !11
  %2957 = load i32, ptr %15, align 4, !tbaa !9
  %2958 = xor i32 %2956, %2957
  %2959 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %2960 = load i32, ptr %2959, align 4, !tbaa !11
  %2961 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2962 = load i32, ptr %2961, align 4, !tbaa !16
  %2963 = xor i32 %2962, -1
  %2964 = and i32 %2960, %2963
  %2965 = xor i32 %2958, %2964
  %2966 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %2965, ptr %2966, align 4, !tbaa !11
  br label %2967

2967:                                             ; preds = %2941
  br label %2968

2968:                                             ; preds = %2967
  br label %2969

2969:                                             ; preds = %2968
  %2970 = call i32 @aead_random_generate_32()
  store i32 %2970, ptr %15, align 4, !tbaa !9
  %2971 = load i32, ptr %15, align 4, !tbaa !9
  %2972 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %2973 = load i32, ptr %2972, align 4, !tbaa !16
  %2974 = xor i32 %2973, %2971
  store i32 %2974, ptr %2972, align 4, !tbaa !16
  %2975 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %2976 = load i32, ptr %2975, align 4, !tbaa !13
  %2977 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %2978 = load i32, ptr %2977, align 4, !tbaa !16
  %2979 = xor i32 %2978, -1
  %2980 = and i32 %2976, %2979
  %2981 = load i32, ptr %15, align 4, !tbaa !9
  %2982 = xor i32 %2981, %2980
  store i32 %2982, ptr %15, align 4, !tbaa !9
  %2983 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %2984 = load i32, ptr %2983, align 4, !tbaa !13
  %2985 = load i32, ptr %15, align 4, !tbaa !9
  %2986 = xor i32 %2984, %2985
  %2987 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %2988 = load i32, ptr %2987, align 4, !tbaa !13
  %2989 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %2990 = load i32, ptr %2989, align 4, !tbaa !16
  %2991 = xor i32 %2990, -1
  %2992 = and i32 %2988, %2991
  %2993 = xor i32 %2986, %2992
  %2994 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %2993, ptr %2994, align 4, !tbaa !13
  br label %2995

2995:                                             ; preds = %2969
  br label %2996

2996:                                             ; preds = %2995
  br label %2997

2997:                                             ; preds = %2996
  %2998 = call i32 @aead_random_generate_32()
  store i32 %2998, ptr %15, align 4, !tbaa !9
  %2999 = load i32, ptr %15, align 4, !tbaa !9
  %3000 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3001 = load i32, ptr %3000, align 4, !tbaa !16
  %3002 = xor i32 %3001, %2999
  store i32 %3002, ptr %3000, align 4, !tbaa !16
  %3003 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3004 = load i32, ptr %3003, align 4, !tbaa !14
  %3005 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3006 = load i32, ptr %3005, align 4, !tbaa !16
  %3007 = xor i32 %3006, -1
  %3008 = and i32 %3004, %3007
  %3009 = load i32, ptr %15, align 4, !tbaa !9
  %3010 = xor i32 %3009, %3008
  store i32 %3010, ptr %15, align 4, !tbaa !9
  %3011 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3012 = load i32, ptr %3011, align 4, !tbaa !14
  %3013 = load i32, ptr %15, align 4, !tbaa !9
  %3014 = xor i32 %3012, %3013
  %3015 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3016 = load i32, ptr %3015, align 4, !tbaa !14
  %3017 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3018 = load i32, ptr %3017, align 4, !tbaa !16
  %3019 = xor i32 %3018, -1
  %3020 = and i32 %3016, %3019
  %3021 = xor i32 %3014, %3020
  %3022 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %3021, ptr %3022, align 4, !tbaa !14
  br label %3023

3023:                                             ; preds = %2997
  br label %3024

3024:                                             ; preds = %3023
  %3025 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3026 = load i32, ptr %3025, align 4, !tbaa !11
  %3027 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3028 = load i32, ptr %3027, align 4, !tbaa !11
  %3029 = and i32 %3026, %3028
  %3030 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3031 = load i32, ptr %3030, align 4, !tbaa !11
  %3032 = xor i32 %3031, %3029
  store i32 %3032, ptr %3030, align 4, !tbaa !11
  br label %3033

3033:                                             ; preds = %3024
  %3034 = call i32 @aead_random_generate_32()
  store i32 %3034, ptr %15, align 4, !tbaa !9
  %3035 = load i32, ptr %15, align 4, !tbaa !9
  %3036 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3037 = load i32, ptr %3036, align 4, !tbaa !11
  %3038 = xor i32 %3037, %3035
  store i32 %3038, ptr %3036, align 4, !tbaa !11
  %3039 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3040 = load i32, ptr %3039, align 4, !tbaa !13
  %3041 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3042 = load i32, ptr %3041, align 4, !tbaa !11
  %3043 = and i32 %3040, %3042
  %3044 = load i32, ptr %15, align 4, !tbaa !9
  %3045 = xor i32 %3044, %3043
  store i32 %3045, ptr %15, align 4, !tbaa !9
  %3046 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3047 = load i32, ptr %3046, align 4, !tbaa !13
  %3048 = load i32, ptr %15, align 4, !tbaa !9
  %3049 = xor i32 %3047, %3048
  %3050 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3051 = load i32, ptr %3050, align 4, !tbaa !13
  %3052 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3053 = load i32, ptr %3052, align 4, !tbaa !11
  %3054 = and i32 %3051, %3053
  %3055 = xor i32 %3049, %3054
  %3056 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %3055, ptr %3056, align 4, !tbaa !13
  br label %3057

3057:                                             ; preds = %3033
  br label %3058

3058:                                             ; preds = %3057
  br label %3059

3059:                                             ; preds = %3058
  %3060 = call i32 @aead_random_generate_32()
  store i32 %3060, ptr %15, align 4, !tbaa !9
  %3061 = load i32, ptr %15, align 4, !tbaa !9
  %3062 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3063 = load i32, ptr %3062, align 4, !tbaa !11
  %3064 = xor i32 %3063, %3061
  store i32 %3064, ptr %3062, align 4, !tbaa !11
  %3065 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3066 = load i32, ptr %3065, align 4, !tbaa !14
  %3067 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3068 = load i32, ptr %3067, align 4, !tbaa !11
  %3069 = and i32 %3066, %3068
  %3070 = load i32, ptr %15, align 4, !tbaa !9
  %3071 = xor i32 %3070, %3069
  store i32 %3071, ptr %15, align 4, !tbaa !9
  %3072 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3073 = load i32, ptr %3072, align 4, !tbaa !14
  %3074 = load i32, ptr %15, align 4, !tbaa !9
  %3075 = xor i32 %3073, %3074
  %3076 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3077 = load i32, ptr %3076, align 4, !tbaa !14
  %3078 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3079 = load i32, ptr %3078, align 4, !tbaa !11
  %3080 = and i32 %3077, %3079
  %3081 = xor i32 %3075, %3080
  %3082 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %3081, ptr %3082, align 4, !tbaa !14
  br label %3083

3083:                                             ; preds = %3059
  br label %3084

3084:                                             ; preds = %3083
  %3085 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3086 = load i32, ptr %3085, align 4, !tbaa !13
  %3087 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3088 = load i32, ptr %3087, align 4, !tbaa !13
  %3089 = and i32 %3086, %3088
  %3090 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3091 = load i32, ptr %3090, align 4, !tbaa !13
  %3092 = xor i32 %3091, %3089
  store i32 %3092, ptr %3090, align 4, !tbaa !13
  br label %3093

3093:                                             ; preds = %3084
  %3094 = call i32 @aead_random_generate_32()
  store i32 %3094, ptr %15, align 4, !tbaa !9
  %3095 = load i32, ptr %15, align 4, !tbaa !9
  %3096 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3097 = load i32, ptr %3096, align 4, !tbaa !13
  %3098 = xor i32 %3097, %3095
  store i32 %3098, ptr %3096, align 4, !tbaa !13
  %3099 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3100 = load i32, ptr %3099, align 4, !tbaa !14
  %3101 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3102 = load i32, ptr %3101, align 4, !tbaa !13
  %3103 = and i32 %3100, %3102
  %3104 = load i32, ptr %15, align 4, !tbaa !9
  %3105 = xor i32 %3104, %3103
  store i32 %3105, ptr %15, align 4, !tbaa !9
  %3106 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3107 = load i32, ptr %3106, align 4, !tbaa !14
  %3108 = load i32, ptr %15, align 4, !tbaa !9
  %3109 = xor i32 %3107, %3108
  %3110 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3111 = load i32, ptr %3110, align 4, !tbaa !14
  %3112 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3113 = load i32, ptr %3112, align 4, !tbaa !13
  %3114 = and i32 %3111, %3113
  %3115 = xor i32 %3109, %3114
  %3116 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %3115, ptr %3116, align 4, !tbaa !14
  br label %3117

3117:                                             ; preds = %3093
  br label %3118

3118:                                             ; preds = %3117
  %3119 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3120 = load i32, ptr %3119, align 4, !tbaa !14
  %3121 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3122 = load i32, ptr %3121, align 4, !tbaa !14
  %3123 = and i32 %3120, %3122
  %3124 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3125 = load i32, ptr %3124, align 4, !tbaa !14
  %3126 = xor i32 %3125, %3123
  store i32 %3126, ptr %3124, align 4, !tbaa !14
  br label %3127

3127:                                             ; preds = %3118
  br label %3128

3128:                                             ; preds = %3127
  br label %3129

3129:                                             ; preds = %3128
  %3130 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3131 = load i32, ptr %3130, align 4, !tbaa !16
  %3132 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3133 = load i32, ptr %3132, align 4, !tbaa !16
  %3134 = and i32 %3131, %3133
  %3135 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3136 = load i32, ptr %3135, align 4, !tbaa !16
  %3137 = xor i32 %3136, %3134
  store i32 %3137, ptr %3135, align 4, !tbaa !16
  br label %3138

3138:                                             ; preds = %3129
  %3139 = call i32 @aead_random_generate_32()
  store i32 %3139, ptr %15, align 4, !tbaa !9
  %3140 = load i32, ptr %15, align 4, !tbaa !9
  %3141 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3142 = load i32, ptr %3141, align 4, !tbaa !16
  %3143 = xor i32 %3142, %3140
  store i32 %3143, ptr %3141, align 4, !tbaa !16
  %3144 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %3145 = load i32, ptr %3144, align 4, !tbaa !11
  %3146 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3147 = load i32, ptr %3146, align 4, !tbaa !16
  %3148 = and i32 %3145, %3147
  %3149 = load i32, ptr %15, align 4, !tbaa !9
  %3150 = xor i32 %3149, %3148
  store i32 %3150, ptr %15, align 4, !tbaa !9
  %3151 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3152 = load i32, ptr %3151, align 4, !tbaa !11
  %3153 = load i32, ptr %15, align 4, !tbaa !9
  %3154 = xor i32 %3152, %3153
  %3155 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3156 = load i32, ptr %3155, align 4, !tbaa !11
  %3157 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3158 = load i32, ptr %3157, align 4, !tbaa !16
  %3159 = and i32 %3156, %3158
  %3160 = xor i32 %3154, %3159
  %3161 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  store i32 %3160, ptr %3161, align 4, !tbaa !11
  br label %3162

3162:                                             ; preds = %3138
  br label %3163

3163:                                             ; preds = %3162
  br label %3164

3164:                                             ; preds = %3163
  %3165 = call i32 @aead_random_generate_32()
  store i32 %3165, ptr %15, align 4, !tbaa !9
  %3166 = load i32, ptr %15, align 4, !tbaa !9
  %3167 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3168 = load i32, ptr %3167, align 4, !tbaa !16
  %3169 = xor i32 %3168, %3166
  store i32 %3169, ptr %3167, align 4, !tbaa !16
  %3170 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %3171 = load i32, ptr %3170, align 4, !tbaa !13
  %3172 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3173 = load i32, ptr %3172, align 4, !tbaa !16
  %3174 = and i32 %3171, %3173
  %3175 = load i32, ptr %15, align 4, !tbaa !9
  %3176 = xor i32 %3175, %3174
  store i32 %3176, ptr %15, align 4, !tbaa !9
  %3177 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3178 = load i32, ptr %3177, align 4, !tbaa !13
  %3179 = load i32, ptr %15, align 4, !tbaa !9
  %3180 = xor i32 %3178, %3179
  %3181 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3182 = load i32, ptr %3181, align 4, !tbaa !13
  %3183 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3184 = load i32, ptr %3183, align 4, !tbaa !16
  %3185 = and i32 %3182, %3184
  %3186 = xor i32 %3180, %3185
  %3187 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  store i32 %3186, ptr %3187, align 4, !tbaa !13
  br label %3188

3188:                                             ; preds = %3164
  br label %3189

3189:                                             ; preds = %3188
  br label %3190

3190:                                             ; preds = %3189
  %3191 = call i32 @aead_random_generate_32()
  store i32 %3191, ptr %15, align 4, !tbaa !9
  %3192 = load i32, ptr %15, align 4, !tbaa !9
  %3193 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3194 = load i32, ptr %3193, align 4, !tbaa !16
  %3195 = xor i32 %3194, %3192
  store i32 %3195, ptr %3193, align 4, !tbaa !16
  %3196 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %3197 = load i32, ptr %3196, align 4, !tbaa !14
  %3198 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3199 = load i32, ptr %3198, align 4, !tbaa !16
  %3200 = and i32 %3197, %3199
  %3201 = load i32, ptr %15, align 4, !tbaa !9
  %3202 = xor i32 %3201, %3200
  store i32 %3202, ptr %15, align 4, !tbaa !9
  %3203 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3204 = load i32, ptr %3203, align 4, !tbaa !14
  %3205 = load i32, ptr %15, align 4, !tbaa !9
  %3206 = xor i32 %3204, %3205
  %3207 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3208 = load i32, ptr %3207, align 4, !tbaa !14
  %3209 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3210 = load i32, ptr %3209, align 4, !tbaa !16
  %3211 = and i32 %3208, %3210
  %3212 = xor i32 %3206, %3211
  %3213 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %3212, ptr %3213, align 4, !tbaa !14
  br label %3214

3214:                                             ; preds = %3190
  br label %3215

3215:                                             ; preds = %3214
  %3216 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3217 = load i32, ptr %3216, align 4, !tbaa !11
  %3218 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %3219 = load i32, ptr %3218, align 4, !tbaa !11
  %3220 = and i32 %3217, %3219
  %3221 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3222 = load i32, ptr %3221, align 4, !tbaa !11
  %3223 = xor i32 %3222, %3220
  store i32 %3223, ptr %3221, align 4, !tbaa !11
  br label %3224

3224:                                             ; preds = %3215
  %3225 = call i32 @aead_random_generate_32()
  store i32 %3225, ptr %15, align 4, !tbaa !9
  %3226 = load i32, ptr %15, align 4, !tbaa !9
  %3227 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3228 = load i32, ptr %3227, align 4, !tbaa !11
  %3229 = xor i32 %3228, %3226
  store i32 %3229, ptr %3227, align 4, !tbaa !11
  %3230 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %3231 = load i32, ptr %3230, align 4, !tbaa !13
  %3232 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3233 = load i32, ptr %3232, align 4, !tbaa !11
  %3234 = and i32 %3231, %3233
  %3235 = load i32, ptr %15, align 4, !tbaa !9
  %3236 = xor i32 %3235, %3234
  store i32 %3236, ptr %15, align 4, !tbaa !9
  %3237 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3238 = load i32, ptr %3237, align 4, !tbaa !13
  %3239 = load i32, ptr %15, align 4, !tbaa !9
  %3240 = xor i32 %3238, %3239
  %3241 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3242 = load i32, ptr %3241, align 4, !tbaa !13
  %3243 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %3244 = load i32, ptr %3243, align 4, !tbaa !11
  %3245 = and i32 %3242, %3244
  %3246 = xor i32 %3240, %3245
  %3247 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  store i32 %3246, ptr %3247, align 4, !tbaa !13
  br label %3248

3248:                                             ; preds = %3224
  br label %3249

3249:                                             ; preds = %3248
  br label %3250

3250:                                             ; preds = %3249
  %3251 = call i32 @aead_random_generate_32()
  store i32 %3251, ptr %15, align 4, !tbaa !9
  %3252 = load i32, ptr %15, align 4, !tbaa !9
  %3253 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3254 = load i32, ptr %3253, align 4, !tbaa !11
  %3255 = xor i32 %3254, %3252
  store i32 %3255, ptr %3253, align 4, !tbaa !11
  %3256 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %3257 = load i32, ptr %3256, align 4, !tbaa !14
  %3258 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3259 = load i32, ptr %3258, align 4, !tbaa !11
  %3260 = and i32 %3257, %3259
  %3261 = load i32, ptr %15, align 4, !tbaa !9
  %3262 = xor i32 %3261, %3260
  store i32 %3262, ptr %15, align 4, !tbaa !9
  %3263 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3264 = load i32, ptr %3263, align 4, !tbaa !14
  %3265 = load i32, ptr %15, align 4, !tbaa !9
  %3266 = xor i32 %3264, %3265
  %3267 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3268 = load i32, ptr %3267, align 4, !tbaa !14
  %3269 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %3270 = load i32, ptr %3269, align 4, !tbaa !11
  %3271 = and i32 %3268, %3270
  %3272 = xor i32 %3266, %3271
  %3273 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %3272, ptr %3273, align 4, !tbaa !14
  br label %3274

3274:                                             ; preds = %3250
  br label %3275

3275:                                             ; preds = %3274
  %3276 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3277 = load i32, ptr %3276, align 4, !tbaa !13
  %3278 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %3279 = load i32, ptr %3278, align 4, !tbaa !13
  %3280 = and i32 %3277, %3279
  %3281 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3282 = load i32, ptr %3281, align 4, !tbaa !13
  %3283 = xor i32 %3282, %3280
  store i32 %3283, ptr %3281, align 4, !tbaa !13
  br label %3284

3284:                                             ; preds = %3275
  %3285 = call i32 @aead_random_generate_32()
  store i32 %3285, ptr %15, align 4, !tbaa !9
  %3286 = load i32, ptr %15, align 4, !tbaa !9
  %3287 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3288 = load i32, ptr %3287, align 4, !tbaa !13
  %3289 = xor i32 %3288, %3286
  store i32 %3289, ptr %3287, align 4, !tbaa !13
  %3290 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %3291 = load i32, ptr %3290, align 4, !tbaa !14
  %3292 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3293 = load i32, ptr %3292, align 4, !tbaa !13
  %3294 = and i32 %3291, %3293
  %3295 = load i32, ptr %15, align 4, !tbaa !9
  %3296 = xor i32 %3295, %3294
  store i32 %3296, ptr %15, align 4, !tbaa !9
  %3297 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3298 = load i32, ptr %3297, align 4, !tbaa !14
  %3299 = load i32, ptr %15, align 4, !tbaa !9
  %3300 = xor i32 %3298, %3299
  %3301 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3302 = load i32, ptr %3301, align 4, !tbaa !14
  %3303 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %3304 = load i32, ptr %3303, align 4, !tbaa !13
  %3305 = and i32 %3302, %3304
  %3306 = xor i32 %3300, %3305
  %3307 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %3306, ptr %3307, align 4, !tbaa !14
  br label %3308

3308:                                             ; preds = %3284
  br label %3309

3309:                                             ; preds = %3308
  %3310 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3311 = load i32, ptr %3310, align 4, !tbaa !14
  %3312 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %3313 = load i32, ptr %3312, align 4, !tbaa !14
  %3314 = and i32 %3311, %3313
  %3315 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3316 = load i32, ptr %3315, align 4, !tbaa !14
  %3317 = xor i32 %3316, %3314
  store i32 %3317, ptr %3315, align 4, !tbaa !14
  br label %3318

3318:                                             ; preds = %3309
  br label %3319

3319:                                             ; preds = %3318
  br label %3320

3320:                                             ; preds = %3319
  %3321 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3322 = load i32, ptr %3321, align 4, !tbaa !16
  %3323 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3324 = load i32, ptr %3323, align 4, !tbaa !16
  %3325 = and i32 %3322, %3324
  %3326 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3327 = load i32, ptr %3326, align 4, !tbaa !16
  %3328 = xor i32 %3327, %3325
  store i32 %3328, ptr %3326, align 4, !tbaa !16
  br label %3329

3329:                                             ; preds = %3320
  %3330 = call i32 @aead_random_generate_32()
  store i32 %3330, ptr %15, align 4, !tbaa !9
  %3331 = load i32, ptr %15, align 4, !tbaa !9
  %3332 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3333 = load i32, ptr %3332, align 4, !tbaa !16
  %3334 = xor i32 %3333, %3331
  store i32 %3334, ptr %3332, align 4, !tbaa !16
  %3335 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3336 = load i32, ptr %3335, align 4, !tbaa !11
  %3337 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3338 = load i32, ptr %3337, align 4, !tbaa !16
  %3339 = and i32 %3336, %3338
  %3340 = load i32, ptr %15, align 4, !tbaa !9
  %3341 = xor i32 %3340, %3339
  store i32 %3341, ptr %15, align 4, !tbaa !9
  %3342 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3343 = load i32, ptr %3342, align 4, !tbaa !11
  %3344 = load i32, ptr %15, align 4, !tbaa !9
  %3345 = xor i32 %3343, %3344
  %3346 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3347 = load i32, ptr %3346, align 4, !tbaa !11
  %3348 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3349 = load i32, ptr %3348, align 4, !tbaa !16
  %3350 = and i32 %3347, %3349
  %3351 = xor i32 %3345, %3350
  %3352 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %3351, ptr %3352, align 4, !tbaa !11
  br label %3353

3353:                                             ; preds = %3329
  br label %3354

3354:                                             ; preds = %3353
  br label %3355

3355:                                             ; preds = %3354
  %3356 = call i32 @aead_random_generate_32()
  store i32 %3356, ptr %15, align 4, !tbaa !9
  %3357 = load i32, ptr %15, align 4, !tbaa !9
  %3358 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3359 = load i32, ptr %3358, align 4, !tbaa !16
  %3360 = xor i32 %3359, %3357
  store i32 %3360, ptr %3358, align 4, !tbaa !16
  %3361 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3362 = load i32, ptr %3361, align 4, !tbaa !13
  %3363 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3364 = load i32, ptr %3363, align 4, !tbaa !16
  %3365 = and i32 %3362, %3364
  %3366 = load i32, ptr %15, align 4, !tbaa !9
  %3367 = xor i32 %3366, %3365
  store i32 %3367, ptr %15, align 4, !tbaa !9
  %3368 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3369 = load i32, ptr %3368, align 4, !tbaa !13
  %3370 = load i32, ptr %15, align 4, !tbaa !9
  %3371 = xor i32 %3369, %3370
  %3372 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3373 = load i32, ptr %3372, align 4, !tbaa !13
  %3374 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3375 = load i32, ptr %3374, align 4, !tbaa !16
  %3376 = and i32 %3373, %3375
  %3377 = xor i32 %3371, %3376
  %3378 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %3377, ptr %3378, align 4, !tbaa !13
  br label %3379

3379:                                             ; preds = %3355
  br label %3380

3380:                                             ; preds = %3379
  br label %3381

3381:                                             ; preds = %3380
  %3382 = call i32 @aead_random_generate_32()
  store i32 %3382, ptr %15, align 4, !tbaa !9
  %3383 = load i32, ptr %15, align 4, !tbaa !9
  %3384 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3385 = load i32, ptr %3384, align 4, !tbaa !16
  %3386 = xor i32 %3385, %3383
  store i32 %3386, ptr %3384, align 4, !tbaa !16
  %3387 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3388 = load i32, ptr %3387, align 4, !tbaa !14
  %3389 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3390 = load i32, ptr %3389, align 4, !tbaa !16
  %3391 = and i32 %3388, %3390
  %3392 = load i32, ptr %15, align 4, !tbaa !9
  %3393 = xor i32 %3392, %3391
  store i32 %3393, ptr %15, align 4, !tbaa !9
  %3394 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3395 = load i32, ptr %3394, align 4, !tbaa !14
  %3396 = load i32, ptr %15, align 4, !tbaa !9
  %3397 = xor i32 %3395, %3396
  %3398 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3399 = load i32, ptr %3398, align 4, !tbaa !14
  %3400 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3401 = load i32, ptr %3400, align 4, !tbaa !16
  %3402 = and i32 %3399, %3401
  %3403 = xor i32 %3397, %3402
  %3404 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %3403, ptr %3404, align 4, !tbaa !14
  br label %3405

3405:                                             ; preds = %3381
  br label %3406

3406:                                             ; preds = %3405
  %3407 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3408 = load i32, ptr %3407, align 4, !tbaa !11
  %3409 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3410 = load i32, ptr %3409, align 4, !tbaa !11
  %3411 = and i32 %3408, %3410
  %3412 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3413 = load i32, ptr %3412, align 4, !tbaa !11
  %3414 = xor i32 %3413, %3411
  store i32 %3414, ptr %3412, align 4, !tbaa !11
  br label %3415

3415:                                             ; preds = %3406
  %3416 = call i32 @aead_random_generate_32()
  store i32 %3416, ptr %15, align 4, !tbaa !9
  %3417 = load i32, ptr %15, align 4, !tbaa !9
  %3418 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3419 = load i32, ptr %3418, align 4, !tbaa !11
  %3420 = xor i32 %3419, %3417
  store i32 %3420, ptr %3418, align 4, !tbaa !11
  %3421 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3422 = load i32, ptr %3421, align 4, !tbaa !13
  %3423 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3424 = load i32, ptr %3423, align 4, !tbaa !11
  %3425 = and i32 %3422, %3424
  %3426 = load i32, ptr %15, align 4, !tbaa !9
  %3427 = xor i32 %3426, %3425
  store i32 %3427, ptr %15, align 4, !tbaa !9
  %3428 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3429 = load i32, ptr %3428, align 4, !tbaa !13
  %3430 = load i32, ptr %15, align 4, !tbaa !9
  %3431 = xor i32 %3429, %3430
  %3432 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3433 = load i32, ptr %3432, align 4, !tbaa !13
  %3434 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3435 = load i32, ptr %3434, align 4, !tbaa !11
  %3436 = and i32 %3433, %3435
  %3437 = xor i32 %3431, %3436
  %3438 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %3437, ptr %3438, align 4, !tbaa !13
  br label %3439

3439:                                             ; preds = %3415
  br label %3440

3440:                                             ; preds = %3439
  br label %3441

3441:                                             ; preds = %3440
  %3442 = call i32 @aead_random_generate_32()
  store i32 %3442, ptr %15, align 4, !tbaa !9
  %3443 = load i32, ptr %15, align 4, !tbaa !9
  %3444 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3445 = load i32, ptr %3444, align 4, !tbaa !11
  %3446 = xor i32 %3445, %3443
  store i32 %3446, ptr %3444, align 4, !tbaa !11
  %3447 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3448 = load i32, ptr %3447, align 4, !tbaa !14
  %3449 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3450 = load i32, ptr %3449, align 4, !tbaa !11
  %3451 = and i32 %3448, %3450
  %3452 = load i32, ptr %15, align 4, !tbaa !9
  %3453 = xor i32 %3452, %3451
  store i32 %3453, ptr %15, align 4, !tbaa !9
  %3454 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3455 = load i32, ptr %3454, align 4, !tbaa !14
  %3456 = load i32, ptr %15, align 4, !tbaa !9
  %3457 = xor i32 %3455, %3456
  %3458 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3459 = load i32, ptr %3458, align 4, !tbaa !14
  %3460 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3461 = load i32, ptr %3460, align 4, !tbaa !11
  %3462 = and i32 %3459, %3461
  %3463 = xor i32 %3457, %3462
  %3464 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %3463, ptr %3464, align 4, !tbaa !14
  br label %3465

3465:                                             ; preds = %3441
  br label %3466

3466:                                             ; preds = %3465
  %3467 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3468 = load i32, ptr %3467, align 4, !tbaa !13
  %3469 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3470 = load i32, ptr %3469, align 4, !tbaa !13
  %3471 = and i32 %3468, %3470
  %3472 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3473 = load i32, ptr %3472, align 4, !tbaa !13
  %3474 = xor i32 %3473, %3471
  store i32 %3474, ptr %3472, align 4, !tbaa !13
  br label %3475

3475:                                             ; preds = %3466
  %3476 = call i32 @aead_random_generate_32()
  store i32 %3476, ptr %15, align 4, !tbaa !9
  %3477 = load i32, ptr %15, align 4, !tbaa !9
  %3478 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3479 = load i32, ptr %3478, align 4, !tbaa !13
  %3480 = xor i32 %3479, %3477
  store i32 %3480, ptr %3478, align 4, !tbaa !13
  %3481 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3482 = load i32, ptr %3481, align 4, !tbaa !14
  %3483 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3484 = load i32, ptr %3483, align 4, !tbaa !13
  %3485 = and i32 %3482, %3484
  %3486 = load i32, ptr %15, align 4, !tbaa !9
  %3487 = xor i32 %3486, %3485
  store i32 %3487, ptr %15, align 4, !tbaa !9
  %3488 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3489 = load i32, ptr %3488, align 4, !tbaa !14
  %3490 = load i32, ptr %15, align 4, !tbaa !9
  %3491 = xor i32 %3489, %3490
  %3492 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3493 = load i32, ptr %3492, align 4, !tbaa !14
  %3494 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3495 = load i32, ptr %3494, align 4, !tbaa !13
  %3496 = and i32 %3493, %3495
  %3497 = xor i32 %3491, %3496
  %3498 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %3497, ptr %3498, align 4, !tbaa !14
  br label %3499

3499:                                             ; preds = %3475
  br label %3500

3500:                                             ; preds = %3499
  %3501 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3502 = load i32, ptr %3501, align 4, !tbaa !14
  %3503 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3504 = load i32, ptr %3503, align 4, !tbaa !14
  %3505 = and i32 %3502, %3504
  %3506 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3507 = load i32, ptr %3506, align 4, !tbaa !14
  %3508 = xor i32 %3507, %3505
  store i32 %3508, ptr %3506, align 4, !tbaa !14
  br label %3509

3509:                                             ; preds = %3500
  br label %3510

3510:                                             ; preds = %3509
  br label %3511

3511:                                             ; preds = %3510
  br label %3512

3512:                                             ; preds = %3511
  br label %3513

3513:                                             ; preds = %3512
  %3514 = load ptr, ptr %13, align 8, !tbaa !5
  %3515 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3514, i64 2
  %3516 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3515, i32 0, i32 0
  %3517 = load i32, ptr %3516, align 4, !tbaa !16
  %3518 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3519 = load i32, ptr %3518, align 4, !tbaa !16
  %3520 = xor i32 %3519, %3517
  store i32 %3520, ptr %3518, align 4, !tbaa !16
  %3521 = load ptr, ptr %13, align 8, !tbaa !5
  %3522 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3521, i64 2
  %3523 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3522, i32 0, i32 1
  %3524 = load i32, ptr %3523, align 4, !tbaa !11
  %3525 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3526 = load i32, ptr %3525, align 4, !tbaa !11
  %3527 = xor i32 %3526, %3524
  store i32 %3527, ptr %3525, align 4, !tbaa !11
  %3528 = load ptr, ptr %13, align 8, !tbaa !5
  %3529 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3528, i64 2
  %3530 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3529, i32 0, i32 2
  %3531 = load i32, ptr %3530, align 4, !tbaa !13
  %3532 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3533 = load i32, ptr %3532, align 4, !tbaa !13
  %3534 = xor i32 %3533, %3531
  store i32 %3534, ptr %3532, align 4, !tbaa !13
  %3535 = load ptr, ptr %13, align 8, !tbaa !5
  %3536 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3535, i64 2
  %3537 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3536, i32 0, i32 3
  %3538 = load i32, ptr %3537, align 4, !tbaa !14
  %3539 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3540 = load i32, ptr %3539, align 4, !tbaa !14
  %3541 = xor i32 %3540, %3538
  store i32 %3541, ptr %3539, align 4, !tbaa !14
  br label %3542

3542:                                             ; preds = %3513
  br label %3543

3543:                                             ; preds = %3542
  br label %3544

3544:                                             ; preds = %3543
  %3545 = load ptr, ptr %13, align 8, !tbaa !5
  %3546 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3545, i64 3
  %3547 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3546, i32 0, i32 0
  %3548 = load i32, ptr %3547, align 4, !tbaa !16
  %3549 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3550 = load i32, ptr %3549, align 4, !tbaa !16
  %3551 = xor i32 %3550, %3548
  store i32 %3551, ptr %3549, align 4, !tbaa !16
  %3552 = load ptr, ptr %13, align 8, !tbaa !5
  %3553 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3552, i64 3
  %3554 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3553, i32 0, i32 1
  %3555 = load i32, ptr %3554, align 4, !tbaa !11
  %3556 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3557 = load i32, ptr %3556, align 4, !tbaa !11
  %3558 = xor i32 %3557, %3555
  store i32 %3558, ptr %3556, align 4, !tbaa !11
  %3559 = load ptr, ptr %13, align 8, !tbaa !5
  %3560 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3559, i64 3
  %3561 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3560, i32 0, i32 2
  %3562 = load i32, ptr %3561, align 4, !tbaa !13
  %3563 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3564 = load i32, ptr %3563, align 4, !tbaa !13
  %3565 = xor i32 %3564, %3562
  store i32 %3565, ptr %3563, align 4, !tbaa !13
  %3566 = load ptr, ptr %13, align 8, !tbaa !5
  %3567 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3566, i64 3
  %3568 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %3567, i32 0, i32 3
  %3569 = load i32, ptr %3568, align 4, !tbaa !14
  %3570 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3571 = load i32, ptr %3570, align 4, !tbaa !14
  %3572 = xor i32 %3571, %3569
  store i32 %3572, ptr %3570, align 4, !tbaa !14
  br label %3573

3573:                                             ; preds = %3544
  br label %3574

3574:                                             ; preds = %3573
  br label %3575

3575:                                             ; preds = %3574
  %3576 = load ptr, ptr %14, align 8, !tbaa !5
  %3577 = getelementptr inbounds i32, ptr %3576, i64 1
  %3578 = load i32, ptr %3577, align 4, !tbaa !9
  %3579 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3580 = load i32, ptr %3579, align 4, !tbaa !16
  %3581 = xor i32 %3580, %3578
  store i32 %3581, ptr %3579, align 4, !tbaa !16
  br label %3582

3582:                                             ; preds = %3575
  br label %3583

3583:                                             ; preds = %3582
  br label %3584

3584:                                             ; preds = %3583
  br label %3585

3585:                                             ; preds = %3584
  %3586 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3587 = load i32, ptr %3586, align 4, !tbaa !16
  %3588 = lshr i32 %3587, 12
  %3589 = and i32 %3588, 983055
  %3590 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3591 = load i32, ptr %3590, align 4, !tbaa !16
  %3592 = and i32 %3591, 268374015
  %3593 = shl i32 %3592, 4
  %3594 = or i32 %3589, %3593
  %3595 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  store i32 %3594, ptr %3595, align 4, !tbaa !16
  %3596 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3597 = load i32, ptr %3596, align 4, !tbaa !11
  %3598 = lshr i32 %3597, 12
  %3599 = and i32 %3598, 983055
  %3600 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3601 = load i32, ptr %3600, align 4, !tbaa !11
  %3602 = and i32 %3601, 268374015
  %3603 = shl i32 %3602, 4
  %3604 = or i32 %3599, %3603
  %3605 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  store i32 %3604, ptr %3605, align 4, !tbaa !11
  %3606 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3607 = load i32, ptr %3606, align 4, !tbaa !13
  %3608 = lshr i32 %3607, 12
  %3609 = and i32 %3608, 983055
  %3610 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3611 = load i32, ptr %3610, align 4, !tbaa !13
  %3612 = and i32 %3611, 268374015
  %3613 = shl i32 %3612, 4
  %3614 = or i32 %3609, %3613
  %3615 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  store i32 %3614, ptr %3615, align 4, !tbaa !13
  %3616 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3617 = load i32, ptr %3616, align 4, !tbaa !14
  %3618 = lshr i32 %3617, 12
  %3619 = and i32 %3618, 983055
  %3620 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3621 = load i32, ptr %3620, align 4, !tbaa !14
  %3622 = and i32 %3621, 268374015
  %3623 = shl i32 %3622, 4
  %3624 = or i32 %3619, %3623
  %3625 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %3624, ptr %3625, align 4, !tbaa !14
  br label %3626

3626:                                             ; preds = %3585
  br label %3627

3627:                                             ; preds = %3626
  br label %3628

3628:                                             ; preds = %3627
  %3629 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3630 = load i32, ptr %3629, align 4, !tbaa !16
  %3631 = lshr i32 %3630, 8
  %3632 = and i32 %3631, 16711935
  %3633 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3634 = load i32, ptr %3633, align 4, !tbaa !16
  %3635 = and i32 %3634, 16711935
  %3636 = shl i32 %3635, 8
  %3637 = or i32 %3632, %3636
  %3638 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  store i32 %3637, ptr %3638, align 4, !tbaa !16
  %3639 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3640 = load i32, ptr %3639, align 4, !tbaa !11
  %3641 = lshr i32 %3640, 8
  %3642 = and i32 %3641, 16711935
  %3643 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3644 = load i32, ptr %3643, align 4, !tbaa !11
  %3645 = and i32 %3644, 16711935
  %3646 = shl i32 %3645, 8
  %3647 = or i32 %3642, %3646
  %3648 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %3647, ptr %3648, align 4, !tbaa !11
  %3649 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3650 = load i32, ptr %3649, align 4, !tbaa !13
  %3651 = lshr i32 %3650, 8
  %3652 = and i32 %3651, 16711935
  %3653 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3654 = load i32, ptr %3653, align 4, !tbaa !13
  %3655 = and i32 %3654, 16711935
  %3656 = shl i32 %3655, 8
  %3657 = or i32 %3652, %3656
  %3658 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %3657, ptr %3658, align 4, !tbaa !13
  %3659 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3660 = load i32, ptr %3659, align 4, !tbaa !14
  %3661 = lshr i32 %3660, 8
  %3662 = and i32 %3661, 16711935
  %3663 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3664 = load i32, ptr %3663, align 4, !tbaa !14
  %3665 = and i32 %3664, 16711935
  %3666 = shl i32 %3665, 8
  %3667 = or i32 %3662, %3666
  %3668 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %3667, ptr %3668, align 4, !tbaa !14
  br label %3669

3669:                                             ; preds = %3628
  br label %3670

3670:                                             ; preds = %3669
  br label %3671

3671:                                             ; preds = %3670
  %3672 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3673 = load i32, ptr %3672, align 4, !tbaa !16
  %3674 = lshr i32 %3673, 4
  %3675 = and i32 %3674, 268374015
  %3676 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3677 = load i32, ptr %3676, align 4, !tbaa !16
  %3678 = and i32 %3677, 983055
  %3679 = shl i32 %3678, 12
  %3680 = or i32 %3675, %3679
  %3681 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  store i32 %3680, ptr %3681, align 4, !tbaa !16
  %3682 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3683 = load i32, ptr %3682, align 4, !tbaa !11
  %3684 = lshr i32 %3683, 4
  %3685 = and i32 %3684, 268374015
  %3686 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3687 = load i32, ptr %3686, align 4, !tbaa !11
  %3688 = and i32 %3687, 983055
  %3689 = shl i32 %3688, 12
  %3690 = or i32 %3685, %3689
  %3691 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %3690, ptr %3691, align 4, !tbaa !11
  %3692 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3693 = load i32, ptr %3692, align 4, !tbaa !13
  %3694 = lshr i32 %3693, 4
  %3695 = and i32 %3694, 268374015
  %3696 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3697 = load i32, ptr %3696, align 4, !tbaa !13
  %3698 = and i32 %3697, 983055
  %3699 = shl i32 %3698, 12
  %3700 = or i32 %3695, %3699
  %3701 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %3700, ptr %3701, align 4, !tbaa !13
  %3702 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3703 = load i32, ptr %3702, align 4, !tbaa !14
  %3704 = lshr i32 %3703, 4
  %3705 = and i32 %3704, 268374015
  %3706 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3707 = load i32, ptr %3706, align 4, !tbaa !14
  %3708 = and i32 %3707, 983055
  %3709 = shl i32 %3708, 12
  %3710 = or i32 %3705, %3709
  %3711 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %3710, ptr %3711, align 4, !tbaa !14
  br label %3712

3712:                                             ; preds = %3671
  br label %3713

3713:                                             ; preds = %3712
  br label %3714

3714:                                             ; preds = %3713
  br label %3715

3715:                                             ; preds = %3714
  br label %3716

3716:                                             ; preds = %3715
  br label %3717

3717:                                             ; preds = %3716
  %3718 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3719 = load i32, ptr %3718, align 4, !tbaa !16
  %3720 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3721 = load i32, ptr %3720, align 4, !tbaa !16
  %3722 = and i32 %3719, %3721
  %3723 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3724 = load i32, ptr %3723, align 4, !tbaa !16
  %3725 = xor i32 %3724, %3722
  store i32 %3725, ptr %3723, align 4, !tbaa !16
  br label %3726

3726:                                             ; preds = %3717
  %3727 = call i32 @aead_random_generate_32()
  store i32 %3727, ptr %15, align 4, !tbaa !9
  %3728 = load i32, ptr %15, align 4, !tbaa !9
  %3729 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3730 = load i32, ptr %3729, align 4, !tbaa !16
  %3731 = xor i32 %3730, %3728
  store i32 %3731, ptr %3729, align 4, !tbaa !16
  %3732 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3733 = load i32, ptr %3732, align 4, !tbaa !11
  %3734 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3735 = load i32, ptr %3734, align 4, !tbaa !16
  %3736 = and i32 %3733, %3735
  %3737 = load i32, ptr %15, align 4, !tbaa !9
  %3738 = xor i32 %3737, %3736
  store i32 %3738, ptr %15, align 4, !tbaa !9
  %3739 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3740 = load i32, ptr %3739, align 4, !tbaa !11
  %3741 = load i32, ptr %15, align 4, !tbaa !9
  %3742 = xor i32 %3740, %3741
  %3743 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %3744 = load i32, ptr %3743, align 4, !tbaa !11
  %3745 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3746 = load i32, ptr %3745, align 4, !tbaa !16
  %3747 = and i32 %3744, %3746
  %3748 = xor i32 %3742, %3747
  %3749 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %3748, ptr %3749, align 4, !tbaa !11
  br label %3750

3750:                                             ; preds = %3726
  br label %3751

3751:                                             ; preds = %3750
  br label %3752

3752:                                             ; preds = %3751
  %3753 = call i32 @aead_random_generate_32()
  store i32 %3753, ptr %15, align 4, !tbaa !9
  %3754 = load i32, ptr %15, align 4, !tbaa !9
  %3755 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3756 = load i32, ptr %3755, align 4, !tbaa !16
  %3757 = xor i32 %3756, %3754
  store i32 %3757, ptr %3755, align 4, !tbaa !16
  %3758 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3759 = load i32, ptr %3758, align 4, !tbaa !13
  %3760 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3761 = load i32, ptr %3760, align 4, !tbaa !16
  %3762 = and i32 %3759, %3761
  %3763 = load i32, ptr %15, align 4, !tbaa !9
  %3764 = xor i32 %3763, %3762
  store i32 %3764, ptr %15, align 4, !tbaa !9
  %3765 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3766 = load i32, ptr %3765, align 4, !tbaa !13
  %3767 = load i32, ptr %15, align 4, !tbaa !9
  %3768 = xor i32 %3766, %3767
  %3769 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %3770 = load i32, ptr %3769, align 4, !tbaa !13
  %3771 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3772 = load i32, ptr %3771, align 4, !tbaa !16
  %3773 = and i32 %3770, %3772
  %3774 = xor i32 %3768, %3773
  %3775 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %3774, ptr %3775, align 4, !tbaa !13
  br label %3776

3776:                                             ; preds = %3752
  br label %3777

3777:                                             ; preds = %3776
  br label %3778

3778:                                             ; preds = %3777
  %3779 = call i32 @aead_random_generate_32()
  store i32 %3779, ptr %15, align 4, !tbaa !9
  %3780 = load i32, ptr %15, align 4, !tbaa !9
  %3781 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3782 = load i32, ptr %3781, align 4, !tbaa !16
  %3783 = xor i32 %3782, %3780
  store i32 %3783, ptr %3781, align 4, !tbaa !16
  %3784 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3785 = load i32, ptr %3784, align 4, !tbaa !14
  %3786 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3787 = load i32, ptr %3786, align 4, !tbaa !16
  %3788 = and i32 %3785, %3787
  %3789 = load i32, ptr %15, align 4, !tbaa !9
  %3790 = xor i32 %3789, %3788
  store i32 %3790, ptr %15, align 4, !tbaa !9
  %3791 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3792 = load i32, ptr %3791, align 4, !tbaa !14
  %3793 = load i32, ptr %15, align 4, !tbaa !9
  %3794 = xor i32 %3792, %3793
  %3795 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %3796 = load i32, ptr %3795, align 4, !tbaa !14
  %3797 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3798 = load i32, ptr %3797, align 4, !tbaa !16
  %3799 = and i32 %3796, %3798
  %3800 = xor i32 %3794, %3799
  %3801 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %3800, ptr %3801, align 4, !tbaa !14
  br label %3802

3802:                                             ; preds = %3778
  br label %3803

3803:                                             ; preds = %3802
  %3804 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %3805 = load i32, ptr %3804, align 4, !tbaa !11
  %3806 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3807 = load i32, ptr %3806, align 4, !tbaa !11
  %3808 = and i32 %3805, %3807
  %3809 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3810 = load i32, ptr %3809, align 4, !tbaa !11
  %3811 = xor i32 %3810, %3808
  store i32 %3811, ptr %3809, align 4, !tbaa !11
  br label %3812

3812:                                             ; preds = %3803
  %3813 = call i32 @aead_random_generate_32()
  store i32 %3813, ptr %15, align 4, !tbaa !9
  %3814 = load i32, ptr %15, align 4, !tbaa !9
  %3815 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3816 = load i32, ptr %3815, align 4, !tbaa !11
  %3817 = xor i32 %3816, %3814
  store i32 %3817, ptr %3815, align 4, !tbaa !11
  %3818 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3819 = load i32, ptr %3818, align 4, !tbaa !13
  %3820 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %3821 = load i32, ptr %3820, align 4, !tbaa !11
  %3822 = and i32 %3819, %3821
  %3823 = load i32, ptr %15, align 4, !tbaa !9
  %3824 = xor i32 %3823, %3822
  store i32 %3824, ptr %15, align 4, !tbaa !9
  %3825 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3826 = load i32, ptr %3825, align 4, !tbaa !13
  %3827 = load i32, ptr %15, align 4, !tbaa !9
  %3828 = xor i32 %3826, %3827
  %3829 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %3830 = load i32, ptr %3829, align 4, !tbaa !13
  %3831 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3832 = load i32, ptr %3831, align 4, !tbaa !11
  %3833 = and i32 %3830, %3832
  %3834 = xor i32 %3828, %3833
  %3835 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %3834, ptr %3835, align 4, !tbaa !13
  br label %3836

3836:                                             ; preds = %3812
  br label %3837

3837:                                             ; preds = %3836
  br label %3838

3838:                                             ; preds = %3837
  %3839 = call i32 @aead_random_generate_32()
  store i32 %3839, ptr %15, align 4, !tbaa !9
  %3840 = load i32, ptr %15, align 4, !tbaa !9
  %3841 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3842 = load i32, ptr %3841, align 4, !tbaa !11
  %3843 = xor i32 %3842, %3840
  store i32 %3843, ptr %3841, align 4, !tbaa !11
  %3844 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3845 = load i32, ptr %3844, align 4, !tbaa !14
  %3846 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %3847 = load i32, ptr %3846, align 4, !tbaa !11
  %3848 = and i32 %3845, %3847
  %3849 = load i32, ptr %15, align 4, !tbaa !9
  %3850 = xor i32 %3849, %3848
  store i32 %3850, ptr %15, align 4, !tbaa !9
  %3851 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3852 = load i32, ptr %3851, align 4, !tbaa !14
  %3853 = load i32, ptr %15, align 4, !tbaa !9
  %3854 = xor i32 %3852, %3853
  %3855 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %3856 = load i32, ptr %3855, align 4, !tbaa !14
  %3857 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3858 = load i32, ptr %3857, align 4, !tbaa !11
  %3859 = and i32 %3856, %3858
  %3860 = xor i32 %3854, %3859
  %3861 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %3860, ptr %3861, align 4, !tbaa !14
  br label %3862

3862:                                             ; preds = %3838
  br label %3863

3863:                                             ; preds = %3862
  %3864 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %3865 = load i32, ptr %3864, align 4, !tbaa !13
  %3866 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3867 = load i32, ptr %3866, align 4, !tbaa !13
  %3868 = and i32 %3865, %3867
  %3869 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3870 = load i32, ptr %3869, align 4, !tbaa !13
  %3871 = xor i32 %3870, %3868
  store i32 %3871, ptr %3869, align 4, !tbaa !13
  br label %3872

3872:                                             ; preds = %3863
  %3873 = call i32 @aead_random_generate_32()
  store i32 %3873, ptr %15, align 4, !tbaa !9
  %3874 = load i32, ptr %15, align 4, !tbaa !9
  %3875 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3876 = load i32, ptr %3875, align 4, !tbaa !13
  %3877 = xor i32 %3876, %3874
  store i32 %3877, ptr %3875, align 4, !tbaa !13
  %3878 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3879 = load i32, ptr %3878, align 4, !tbaa !14
  %3880 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %3881 = load i32, ptr %3880, align 4, !tbaa !13
  %3882 = and i32 %3879, %3881
  %3883 = load i32, ptr %15, align 4, !tbaa !9
  %3884 = xor i32 %3883, %3882
  store i32 %3884, ptr %15, align 4, !tbaa !9
  %3885 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3886 = load i32, ptr %3885, align 4, !tbaa !14
  %3887 = load i32, ptr %15, align 4, !tbaa !9
  %3888 = xor i32 %3886, %3887
  %3889 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %3890 = load i32, ptr %3889, align 4, !tbaa !14
  %3891 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3892 = load i32, ptr %3891, align 4, !tbaa !13
  %3893 = and i32 %3890, %3892
  %3894 = xor i32 %3888, %3893
  %3895 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %3894, ptr %3895, align 4, !tbaa !14
  br label %3896

3896:                                             ; preds = %3872
  br label %3897

3897:                                             ; preds = %3896
  %3898 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %3899 = load i32, ptr %3898, align 4, !tbaa !14
  %3900 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3901 = load i32, ptr %3900, align 4, !tbaa !14
  %3902 = and i32 %3899, %3901
  %3903 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3904 = load i32, ptr %3903, align 4, !tbaa !14
  %3905 = xor i32 %3904, %3902
  store i32 %3905, ptr %3903, align 4, !tbaa !14
  br label %3906

3906:                                             ; preds = %3897
  br label %3907

3907:                                             ; preds = %3906
  br label %3908

3908:                                             ; preds = %3907
  %3909 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3910 = load i32, ptr %3909, align 4, !tbaa !16
  %3911 = xor i32 %3910, -1
  %3912 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  store i32 %3911, ptr %3912, align 4, !tbaa !16
  br label %3913

3913:                                             ; preds = %3908
  br label %3914

3914:                                             ; preds = %3913
  br label %3915

3915:                                             ; preds = %3914
  %3916 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3917 = load i32, ptr %3916, align 4, !tbaa !16
  %3918 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3919 = load i32, ptr %3918, align 4, !tbaa !16
  %3920 = xor i32 %3919, %3917
  store i32 %3920, ptr %3918, align 4, !tbaa !16
  %3921 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3922 = load i32, ptr %3921, align 4, !tbaa !11
  %3923 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3924 = load i32, ptr %3923, align 4, !tbaa !11
  %3925 = xor i32 %3924, %3922
  store i32 %3925, ptr %3923, align 4, !tbaa !11
  %3926 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3927 = load i32, ptr %3926, align 4, !tbaa !13
  %3928 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %3929 = load i32, ptr %3928, align 4, !tbaa !13
  %3930 = xor i32 %3929, %3927
  store i32 %3930, ptr %3928, align 4, !tbaa !13
  %3931 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3932 = load i32, ptr %3931, align 4, !tbaa !14
  %3933 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %3934 = load i32, ptr %3933, align 4, !tbaa !14
  %3935 = xor i32 %3934, %3932
  store i32 %3935, ptr %3933, align 4, !tbaa !14
  br label %3936

3936:                                             ; preds = %3915
  br label %3937

3937:                                             ; preds = %3936
  br label %3938

3938:                                             ; preds = %3937
  %3939 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3940 = load i32, ptr %3939, align 4, !tbaa !16
  %3941 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %3942 = load i32, ptr %3941, align 4, !tbaa !16
  %3943 = xor i32 %3942, %3940
  store i32 %3943, ptr %3941, align 4, !tbaa !16
  %3944 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3945 = load i32, ptr %3944, align 4, !tbaa !11
  %3946 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %3947 = load i32, ptr %3946, align 4, !tbaa !11
  %3948 = xor i32 %3947, %3945
  store i32 %3948, ptr %3946, align 4, !tbaa !11
  %3949 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %3950 = load i32, ptr %3949, align 4, !tbaa !13
  %3951 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %3952 = load i32, ptr %3951, align 4, !tbaa !13
  %3953 = xor i32 %3952, %3950
  store i32 %3953, ptr %3951, align 4, !tbaa !13
  %3954 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %3955 = load i32, ptr %3954, align 4, !tbaa !14
  %3956 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %3957 = load i32, ptr %3956, align 4, !tbaa !14
  %3958 = xor i32 %3957, %3955
  store i32 %3958, ptr %3956, align 4, !tbaa !14
  br label %3959

3959:                                             ; preds = %3938
  br label %3960

3960:                                             ; preds = %3959
  br label %3961

3961:                                             ; preds = %3960
  %3962 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3963 = load i32, ptr %3962, align 4, !tbaa !16
  %3964 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3965 = load i32, ptr %3964, align 4, !tbaa !16
  %3966 = or i32 %3963, %3965
  %3967 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3968 = load i32, ptr %3967, align 4, !tbaa !16
  %3969 = xor i32 %3968, %3966
  store i32 %3969, ptr %3967, align 4, !tbaa !16
  br label %3970

3970:                                             ; preds = %3961
  %3971 = call i32 @aead_random_generate_32()
  store i32 %3971, ptr %15, align 4, !tbaa !9
  %3972 = load i32, ptr %15, align 4, !tbaa !9
  %3973 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %3974 = load i32, ptr %3973, align 4, !tbaa !16
  %3975 = xor i32 %3974, %3972
  store i32 %3975, ptr %3973, align 4, !tbaa !16
  %3976 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %3977 = load i32, ptr %3976, align 4, !tbaa !11
  %3978 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %3979 = load i32, ptr %3978, align 4, !tbaa !16
  %3980 = xor i32 %3979, -1
  %3981 = and i32 %3977, %3980
  %3982 = load i32, ptr %15, align 4, !tbaa !9
  %3983 = xor i32 %3982, %3981
  store i32 %3983, ptr %15, align 4, !tbaa !9
  %3984 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %3985 = load i32, ptr %3984, align 4, !tbaa !11
  %3986 = load i32, ptr %15, align 4, !tbaa !9
  %3987 = xor i32 %3985, %3986
  %3988 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %3989 = load i32, ptr %3988, align 4, !tbaa !11
  %3990 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %3991 = load i32, ptr %3990, align 4, !tbaa !16
  %3992 = xor i32 %3991, -1
  %3993 = and i32 %3989, %3992
  %3994 = xor i32 %3987, %3993
  %3995 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %3994, ptr %3995, align 4, !tbaa !11
  br label %3996

3996:                                             ; preds = %3970
  br label %3997

3997:                                             ; preds = %3996
  br label %3998

3998:                                             ; preds = %3997
  %3999 = call i32 @aead_random_generate_32()
  store i32 %3999, ptr %15, align 4, !tbaa !9
  %4000 = load i32, ptr %15, align 4, !tbaa !9
  %4001 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4002 = load i32, ptr %4001, align 4, !tbaa !16
  %4003 = xor i32 %4002, %4000
  store i32 %4003, ptr %4001, align 4, !tbaa !16
  %4004 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4005 = load i32, ptr %4004, align 4, !tbaa !13
  %4006 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4007 = load i32, ptr %4006, align 4, !tbaa !16
  %4008 = xor i32 %4007, -1
  %4009 = and i32 %4005, %4008
  %4010 = load i32, ptr %15, align 4, !tbaa !9
  %4011 = xor i32 %4010, %4009
  store i32 %4011, ptr %15, align 4, !tbaa !9
  %4012 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4013 = load i32, ptr %4012, align 4, !tbaa !13
  %4014 = load i32, ptr %15, align 4, !tbaa !9
  %4015 = xor i32 %4013, %4014
  %4016 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4017 = load i32, ptr %4016, align 4, !tbaa !13
  %4018 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4019 = load i32, ptr %4018, align 4, !tbaa !16
  %4020 = xor i32 %4019, -1
  %4021 = and i32 %4017, %4020
  %4022 = xor i32 %4015, %4021
  %4023 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %4022, ptr %4023, align 4, !tbaa !13
  br label %4024

4024:                                             ; preds = %3998
  br label %4025

4025:                                             ; preds = %4024
  br label %4026

4026:                                             ; preds = %4025
  %4027 = call i32 @aead_random_generate_32()
  store i32 %4027, ptr %15, align 4, !tbaa !9
  %4028 = load i32, ptr %15, align 4, !tbaa !9
  %4029 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4030 = load i32, ptr %4029, align 4, !tbaa !16
  %4031 = xor i32 %4030, %4028
  store i32 %4031, ptr %4029, align 4, !tbaa !16
  %4032 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4033 = load i32, ptr %4032, align 4, !tbaa !14
  %4034 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4035 = load i32, ptr %4034, align 4, !tbaa !16
  %4036 = xor i32 %4035, -1
  %4037 = and i32 %4033, %4036
  %4038 = load i32, ptr %15, align 4, !tbaa !9
  %4039 = xor i32 %4038, %4037
  store i32 %4039, ptr %15, align 4, !tbaa !9
  %4040 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4041 = load i32, ptr %4040, align 4, !tbaa !14
  %4042 = load i32, ptr %15, align 4, !tbaa !9
  %4043 = xor i32 %4041, %4042
  %4044 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4045 = load i32, ptr %4044, align 4, !tbaa !14
  %4046 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4047 = load i32, ptr %4046, align 4, !tbaa !16
  %4048 = xor i32 %4047, -1
  %4049 = and i32 %4045, %4048
  %4050 = xor i32 %4043, %4049
  %4051 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %4050, ptr %4051, align 4, !tbaa !14
  br label %4052

4052:                                             ; preds = %4026
  br label %4053

4053:                                             ; preds = %4052
  %4054 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4055 = load i32, ptr %4054, align 4, !tbaa !11
  %4056 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4057 = load i32, ptr %4056, align 4, !tbaa !11
  %4058 = and i32 %4055, %4057
  %4059 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4060 = load i32, ptr %4059, align 4, !tbaa !11
  %4061 = xor i32 %4060, %4058
  store i32 %4061, ptr %4059, align 4, !tbaa !11
  br label %4062

4062:                                             ; preds = %4053
  %4063 = call i32 @aead_random_generate_32()
  store i32 %4063, ptr %15, align 4, !tbaa !9
  %4064 = load i32, ptr %15, align 4, !tbaa !9
  %4065 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4066 = load i32, ptr %4065, align 4, !tbaa !11
  %4067 = xor i32 %4066, %4064
  store i32 %4067, ptr %4065, align 4, !tbaa !11
  %4068 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4069 = load i32, ptr %4068, align 4, !tbaa !13
  %4070 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4071 = load i32, ptr %4070, align 4, !tbaa !11
  %4072 = and i32 %4069, %4071
  %4073 = load i32, ptr %15, align 4, !tbaa !9
  %4074 = xor i32 %4073, %4072
  store i32 %4074, ptr %15, align 4, !tbaa !9
  %4075 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4076 = load i32, ptr %4075, align 4, !tbaa !13
  %4077 = load i32, ptr %15, align 4, !tbaa !9
  %4078 = xor i32 %4076, %4077
  %4079 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4080 = load i32, ptr %4079, align 4, !tbaa !13
  %4081 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4082 = load i32, ptr %4081, align 4, !tbaa !11
  %4083 = and i32 %4080, %4082
  %4084 = xor i32 %4078, %4083
  %4085 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %4084, ptr %4085, align 4, !tbaa !13
  br label %4086

4086:                                             ; preds = %4062
  br label %4087

4087:                                             ; preds = %4086
  br label %4088

4088:                                             ; preds = %4087
  %4089 = call i32 @aead_random_generate_32()
  store i32 %4089, ptr %15, align 4, !tbaa !9
  %4090 = load i32, ptr %15, align 4, !tbaa !9
  %4091 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4092 = load i32, ptr %4091, align 4, !tbaa !11
  %4093 = xor i32 %4092, %4090
  store i32 %4093, ptr %4091, align 4, !tbaa !11
  %4094 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4095 = load i32, ptr %4094, align 4, !tbaa !14
  %4096 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4097 = load i32, ptr %4096, align 4, !tbaa !11
  %4098 = and i32 %4095, %4097
  %4099 = load i32, ptr %15, align 4, !tbaa !9
  %4100 = xor i32 %4099, %4098
  store i32 %4100, ptr %15, align 4, !tbaa !9
  %4101 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4102 = load i32, ptr %4101, align 4, !tbaa !14
  %4103 = load i32, ptr %15, align 4, !tbaa !9
  %4104 = xor i32 %4102, %4103
  %4105 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4106 = load i32, ptr %4105, align 4, !tbaa !14
  %4107 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4108 = load i32, ptr %4107, align 4, !tbaa !11
  %4109 = and i32 %4106, %4108
  %4110 = xor i32 %4104, %4109
  %4111 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %4110, ptr %4111, align 4, !tbaa !14
  br label %4112

4112:                                             ; preds = %4088
  br label %4113

4113:                                             ; preds = %4112
  %4114 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4115 = load i32, ptr %4114, align 4, !tbaa !13
  %4116 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4117 = load i32, ptr %4116, align 4, !tbaa !13
  %4118 = and i32 %4115, %4117
  %4119 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4120 = load i32, ptr %4119, align 4, !tbaa !13
  %4121 = xor i32 %4120, %4118
  store i32 %4121, ptr %4119, align 4, !tbaa !13
  br label %4122

4122:                                             ; preds = %4113
  %4123 = call i32 @aead_random_generate_32()
  store i32 %4123, ptr %15, align 4, !tbaa !9
  %4124 = load i32, ptr %15, align 4, !tbaa !9
  %4125 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4126 = load i32, ptr %4125, align 4, !tbaa !13
  %4127 = xor i32 %4126, %4124
  store i32 %4127, ptr %4125, align 4, !tbaa !13
  %4128 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4129 = load i32, ptr %4128, align 4, !tbaa !14
  %4130 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4131 = load i32, ptr %4130, align 4, !tbaa !13
  %4132 = and i32 %4129, %4131
  %4133 = load i32, ptr %15, align 4, !tbaa !9
  %4134 = xor i32 %4133, %4132
  store i32 %4134, ptr %15, align 4, !tbaa !9
  %4135 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4136 = load i32, ptr %4135, align 4, !tbaa !14
  %4137 = load i32, ptr %15, align 4, !tbaa !9
  %4138 = xor i32 %4136, %4137
  %4139 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4140 = load i32, ptr %4139, align 4, !tbaa !14
  %4141 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4142 = load i32, ptr %4141, align 4, !tbaa !13
  %4143 = and i32 %4140, %4142
  %4144 = xor i32 %4138, %4143
  %4145 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %4144, ptr %4145, align 4, !tbaa !14
  br label %4146

4146:                                             ; preds = %4122
  br label %4147

4147:                                             ; preds = %4146
  %4148 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4149 = load i32, ptr %4148, align 4, !tbaa !14
  %4150 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4151 = load i32, ptr %4150, align 4, !tbaa !14
  %4152 = and i32 %4149, %4151
  %4153 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4154 = load i32, ptr %4153, align 4, !tbaa !14
  %4155 = xor i32 %4154, %4152
  store i32 %4155, ptr %4153, align 4, !tbaa !14
  br label %4156

4156:                                             ; preds = %4147
  br label %4157

4157:                                             ; preds = %4156
  br label %4158

4158:                                             ; preds = %4157
  %4159 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4160 = load i32, ptr %4159, align 4, !tbaa !16
  %4161 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4162 = load i32, ptr %4161, align 4, !tbaa !16
  %4163 = and i32 %4160, %4162
  %4164 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4165 = load i32, ptr %4164, align 4, !tbaa !16
  %4166 = xor i32 %4165, %4163
  store i32 %4166, ptr %4164, align 4, !tbaa !16
  br label %4167

4167:                                             ; preds = %4158
  %4168 = call i32 @aead_random_generate_32()
  store i32 %4168, ptr %15, align 4, !tbaa !9
  %4169 = load i32, ptr %15, align 4, !tbaa !9
  %4170 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4171 = load i32, ptr %4170, align 4, !tbaa !16
  %4172 = xor i32 %4171, %4169
  store i32 %4172, ptr %4170, align 4, !tbaa !16
  %4173 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %4174 = load i32, ptr %4173, align 4, !tbaa !11
  %4175 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4176 = load i32, ptr %4175, align 4, !tbaa !16
  %4177 = and i32 %4174, %4176
  %4178 = load i32, ptr %15, align 4, !tbaa !9
  %4179 = xor i32 %4178, %4177
  store i32 %4179, ptr %15, align 4, !tbaa !9
  %4180 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4181 = load i32, ptr %4180, align 4, !tbaa !11
  %4182 = load i32, ptr %15, align 4, !tbaa !9
  %4183 = xor i32 %4181, %4182
  %4184 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4185 = load i32, ptr %4184, align 4, !tbaa !11
  %4186 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4187 = load i32, ptr %4186, align 4, !tbaa !16
  %4188 = and i32 %4185, %4187
  %4189 = xor i32 %4183, %4188
  %4190 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  store i32 %4189, ptr %4190, align 4, !tbaa !11
  br label %4191

4191:                                             ; preds = %4167
  br label %4192

4192:                                             ; preds = %4191
  br label %4193

4193:                                             ; preds = %4192
  %4194 = call i32 @aead_random_generate_32()
  store i32 %4194, ptr %15, align 4, !tbaa !9
  %4195 = load i32, ptr %15, align 4, !tbaa !9
  %4196 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4197 = load i32, ptr %4196, align 4, !tbaa !16
  %4198 = xor i32 %4197, %4195
  store i32 %4198, ptr %4196, align 4, !tbaa !16
  %4199 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %4200 = load i32, ptr %4199, align 4, !tbaa !13
  %4201 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4202 = load i32, ptr %4201, align 4, !tbaa !16
  %4203 = and i32 %4200, %4202
  %4204 = load i32, ptr %15, align 4, !tbaa !9
  %4205 = xor i32 %4204, %4203
  store i32 %4205, ptr %15, align 4, !tbaa !9
  %4206 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4207 = load i32, ptr %4206, align 4, !tbaa !13
  %4208 = load i32, ptr %15, align 4, !tbaa !9
  %4209 = xor i32 %4207, %4208
  %4210 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4211 = load i32, ptr %4210, align 4, !tbaa !13
  %4212 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4213 = load i32, ptr %4212, align 4, !tbaa !16
  %4214 = and i32 %4211, %4213
  %4215 = xor i32 %4209, %4214
  %4216 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  store i32 %4215, ptr %4216, align 4, !tbaa !13
  br label %4217

4217:                                             ; preds = %4193
  br label %4218

4218:                                             ; preds = %4217
  br label %4219

4219:                                             ; preds = %4218
  %4220 = call i32 @aead_random_generate_32()
  store i32 %4220, ptr %15, align 4, !tbaa !9
  %4221 = load i32, ptr %15, align 4, !tbaa !9
  %4222 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4223 = load i32, ptr %4222, align 4, !tbaa !16
  %4224 = xor i32 %4223, %4221
  store i32 %4224, ptr %4222, align 4, !tbaa !16
  %4225 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %4226 = load i32, ptr %4225, align 4, !tbaa !14
  %4227 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4228 = load i32, ptr %4227, align 4, !tbaa !16
  %4229 = and i32 %4226, %4228
  %4230 = load i32, ptr %15, align 4, !tbaa !9
  %4231 = xor i32 %4230, %4229
  store i32 %4231, ptr %15, align 4, !tbaa !9
  %4232 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4233 = load i32, ptr %4232, align 4, !tbaa !14
  %4234 = load i32, ptr %15, align 4, !tbaa !9
  %4235 = xor i32 %4233, %4234
  %4236 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4237 = load i32, ptr %4236, align 4, !tbaa !14
  %4238 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4239 = load i32, ptr %4238, align 4, !tbaa !16
  %4240 = and i32 %4237, %4239
  %4241 = xor i32 %4235, %4240
  %4242 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %4241, ptr %4242, align 4, !tbaa !14
  br label %4243

4243:                                             ; preds = %4219
  br label %4244

4244:                                             ; preds = %4243
  %4245 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4246 = load i32, ptr %4245, align 4, !tbaa !11
  %4247 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %4248 = load i32, ptr %4247, align 4, !tbaa !11
  %4249 = and i32 %4246, %4248
  %4250 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4251 = load i32, ptr %4250, align 4, !tbaa !11
  %4252 = xor i32 %4251, %4249
  store i32 %4252, ptr %4250, align 4, !tbaa !11
  br label %4253

4253:                                             ; preds = %4244
  %4254 = call i32 @aead_random_generate_32()
  store i32 %4254, ptr %15, align 4, !tbaa !9
  %4255 = load i32, ptr %15, align 4, !tbaa !9
  %4256 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4257 = load i32, ptr %4256, align 4, !tbaa !11
  %4258 = xor i32 %4257, %4255
  store i32 %4258, ptr %4256, align 4, !tbaa !11
  %4259 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %4260 = load i32, ptr %4259, align 4, !tbaa !13
  %4261 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4262 = load i32, ptr %4261, align 4, !tbaa !11
  %4263 = and i32 %4260, %4262
  %4264 = load i32, ptr %15, align 4, !tbaa !9
  %4265 = xor i32 %4264, %4263
  store i32 %4265, ptr %15, align 4, !tbaa !9
  %4266 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4267 = load i32, ptr %4266, align 4, !tbaa !13
  %4268 = load i32, ptr %15, align 4, !tbaa !9
  %4269 = xor i32 %4267, %4268
  %4270 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4271 = load i32, ptr %4270, align 4, !tbaa !13
  %4272 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %4273 = load i32, ptr %4272, align 4, !tbaa !11
  %4274 = and i32 %4271, %4273
  %4275 = xor i32 %4269, %4274
  %4276 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  store i32 %4275, ptr %4276, align 4, !tbaa !13
  br label %4277

4277:                                             ; preds = %4253
  br label %4278

4278:                                             ; preds = %4277
  br label %4279

4279:                                             ; preds = %4278
  %4280 = call i32 @aead_random_generate_32()
  store i32 %4280, ptr %15, align 4, !tbaa !9
  %4281 = load i32, ptr %15, align 4, !tbaa !9
  %4282 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4283 = load i32, ptr %4282, align 4, !tbaa !11
  %4284 = xor i32 %4283, %4281
  store i32 %4284, ptr %4282, align 4, !tbaa !11
  %4285 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %4286 = load i32, ptr %4285, align 4, !tbaa !14
  %4287 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4288 = load i32, ptr %4287, align 4, !tbaa !11
  %4289 = and i32 %4286, %4288
  %4290 = load i32, ptr %15, align 4, !tbaa !9
  %4291 = xor i32 %4290, %4289
  store i32 %4291, ptr %15, align 4, !tbaa !9
  %4292 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4293 = load i32, ptr %4292, align 4, !tbaa !14
  %4294 = load i32, ptr %15, align 4, !tbaa !9
  %4295 = xor i32 %4293, %4294
  %4296 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4297 = load i32, ptr %4296, align 4, !tbaa !14
  %4298 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %4299 = load i32, ptr %4298, align 4, !tbaa !11
  %4300 = and i32 %4297, %4299
  %4301 = xor i32 %4295, %4300
  %4302 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %4301, ptr %4302, align 4, !tbaa !14
  br label %4303

4303:                                             ; preds = %4279
  br label %4304

4304:                                             ; preds = %4303
  %4305 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4306 = load i32, ptr %4305, align 4, !tbaa !13
  %4307 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %4308 = load i32, ptr %4307, align 4, !tbaa !13
  %4309 = and i32 %4306, %4308
  %4310 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4311 = load i32, ptr %4310, align 4, !tbaa !13
  %4312 = xor i32 %4311, %4309
  store i32 %4312, ptr %4310, align 4, !tbaa !13
  br label %4313

4313:                                             ; preds = %4304
  %4314 = call i32 @aead_random_generate_32()
  store i32 %4314, ptr %15, align 4, !tbaa !9
  %4315 = load i32, ptr %15, align 4, !tbaa !9
  %4316 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4317 = load i32, ptr %4316, align 4, !tbaa !13
  %4318 = xor i32 %4317, %4315
  store i32 %4318, ptr %4316, align 4, !tbaa !13
  %4319 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %4320 = load i32, ptr %4319, align 4, !tbaa !14
  %4321 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4322 = load i32, ptr %4321, align 4, !tbaa !13
  %4323 = and i32 %4320, %4322
  %4324 = load i32, ptr %15, align 4, !tbaa !9
  %4325 = xor i32 %4324, %4323
  store i32 %4325, ptr %15, align 4, !tbaa !9
  %4326 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4327 = load i32, ptr %4326, align 4, !tbaa !14
  %4328 = load i32, ptr %15, align 4, !tbaa !9
  %4329 = xor i32 %4327, %4328
  %4330 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4331 = load i32, ptr %4330, align 4, !tbaa !14
  %4332 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %4333 = load i32, ptr %4332, align 4, !tbaa !13
  %4334 = and i32 %4331, %4333
  %4335 = xor i32 %4329, %4334
  %4336 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %4335, ptr %4336, align 4, !tbaa !14
  br label %4337

4337:                                             ; preds = %4313
  br label %4338

4338:                                             ; preds = %4337
  %4339 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4340 = load i32, ptr %4339, align 4, !tbaa !14
  %4341 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %4342 = load i32, ptr %4341, align 4, !tbaa !14
  %4343 = and i32 %4340, %4342
  %4344 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4345 = load i32, ptr %4344, align 4, !tbaa !14
  %4346 = xor i32 %4345, %4343
  store i32 %4346, ptr %4344, align 4, !tbaa !14
  br label %4347

4347:                                             ; preds = %4338
  br label %4348

4348:                                             ; preds = %4347
  br label %4349

4349:                                             ; preds = %4348
  %4350 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4351 = load i32, ptr %4350, align 4, !tbaa !16
  %4352 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4353 = load i32, ptr %4352, align 4, !tbaa !16
  %4354 = and i32 %4351, %4353
  %4355 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4356 = load i32, ptr %4355, align 4, !tbaa !16
  %4357 = xor i32 %4356, %4354
  store i32 %4357, ptr %4355, align 4, !tbaa !16
  br label %4358

4358:                                             ; preds = %4349
  %4359 = call i32 @aead_random_generate_32()
  store i32 %4359, ptr %15, align 4, !tbaa !9
  %4360 = load i32, ptr %15, align 4, !tbaa !9
  %4361 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4362 = load i32, ptr %4361, align 4, !tbaa !16
  %4363 = xor i32 %4362, %4360
  store i32 %4363, ptr %4361, align 4, !tbaa !16
  %4364 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4365 = load i32, ptr %4364, align 4, !tbaa !11
  %4366 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4367 = load i32, ptr %4366, align 4, !tbaa !16
  %4368 = and i32 %4365, %4367
  %4369 = load i32, ptr %15, align 4, !tbaa !9
  %4370 = xor i32 %4369, %4368
  store i32 %4370, ptr %15, align 4, !tbaa !9
  %4371 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4372 = load i32, ptr %4371, align 4, !tbaa !11
  %4373 = load i32, ptr %15, align 4, !tbaa !9
  %4374 = xor i32 %4372, %4373
  %4375 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4376 = load i32, ptr %4375, align 4, !tbaa !11
  %4377 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4378 = load i32, ptr %4377, align 4, !tbaa !16
  %4379 = and i32 %4376, %4378
  %4380 = xor i32 %4374, %4379
  %4381 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %4380, ptr %4381, align 4, !tbaa !11
  br label %4382

4382:                                             ; preds = %4358
  br label %4383

4383:                                             ; preds = %4382
  br label %4384

4384:                                             ; preds = %4383
  %4385 = call i32 @aead_random_generate_32()
  store i32 %4385, ptr %15, align 4, !tbaa !9
  %4386 = load i32, ptr %15, align 4, !tbaa !9
  %4387 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4388 = load i32, ptr %4387, align 4, !tbaa !16
  %4389 = xor i32 %4388, %4386
  store i32 %4389, ptr %4387, align 4, !tbaa !16
  %4390 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4391 = load i32, ptr %4390, align 4, !tbaa !13
  %4392 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4393 = load i32, ptr %4392, align 4, !tbaa !16
  %4394 = and i32 %4391, %4393
  %4395 = load i32, ptr %15, align 4, !tbaa !9
  %4396 = xor i32 %4395, %4394
  store i32 %4396, ptr %15, align 4, !tbaa !9
  %4397 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4398 = load i32, ptr %4397, align 4, !tbaa !13
  %4399 = load i32, ptr %15, align 4, !tbaa !9
  %4400 = xor i32 %4398, %4399
  %4401 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4402 = load i32, ptr %4401, align 4, !tbaa !13
  %4403 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4404 = load i32, ptr %4403, align 4, !tbaa !16
  %4405 = and i32 %4402, %4404
  %4406 = xor i32 %4400, %4405
  %4407 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %4406, ptr %4407, align 4, !tbaa !13
  br label %4408

4408:                                             ; preds = %4384
  br label %4409

4409:                                             ; preds = %4408
  br label %4410

4410:                                             ; preds = %4409
  %4411 = call i32 @aead_random_generate_32()
  store i32 %4411, ptr %15, align 4, !tbaa !9
  %4412 = load i32, ptr %15, align 4, !tbaa !9
  %4413 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4414 = load i32, ptr %4413, align 4, !tbaa !16
  %4415 = xor i32 %4414, %4412
  store i32 %4415, ptr %4413, align 4, !tbaa !16
  %4416 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4417 = load i32, ptr %4416, align 4, !tbaa !14
  %4418 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4419 = load i32, ptr %4418, align 4, !tbaa !16
  %4420 = and i32 %4417, %4419
  %4421 = load i32, ptr %15, align 4, !tbaa !9
  %4422 = xor i32 %4421, %4420
  store i32 %4422, ptr %15, align 4, !tbaa !9
  %4423 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4424 = load i32, ptr %4423, align 4, !tbaa !14
  %4425 = load i32, ptr %15, align 4, !tbaa !9
  %4426 = xor i32 %4424, %4425
  %4427 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4428 = load i32, ptr %4427, align 4, !tbaa !14
  %4429 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4430 = load i32, ptr %4429, align 4, !tbaa !16
  %4431 = and i32 %4428, %4430
  %4432 = xor i32 %4426, %4431
  %4433 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %4432, ptr %4433, align 4, !tbaa !14
  br label %4434

4434:                                             ; preds = %4410
  br label %4435

4435:                                             ; preds = %4434
  %4436 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4437 = load i32, ptr %4436, align 4, !tbaa !11
  %4438 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4439 = load i32, ptr %4438, align 4, !tbaa !11
  %4440 = and i32 %4437, %4439
  %4441 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4442 = load i32, ptr %4441, align 4, !tbaa !11
  %4443 = xor i32 %4442, %4440
  store i32 %4443, ptr %4441, align 4, !tbaa !11
  br label %4444

4444:                                             ; preds = %4435
  %4445 = call i32 @aead_random_generate_32()
  store i32 %4445, ptr %15, align 4, !tbaa !9
  %4446 = load i32, ptr %15, align 4, !tbaa !9
  %4447 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4448 = load i32, ptr %4447, align 4, !tbaa !11
  %4449 = xor i32 %4448, %4446
  store i32 %4449, ptr %4447, align 4, !tbaa !11
  %4450 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4451 = load i32, ptr %4450, align 4, !tbaa !13
  %4452 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4453 = load i32, ptr %4452, align 4, !tbaa !11
  %4454 = and i32 %4451, %4453
  %4455 = load i32, ptr %15, align 4, !tbaa !9
  %4456 = xor i32 %4455, %4454
  store i32 %4456, ptr %15, align 4, !tbaa !9
  %4457 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4458 = load i32, ptr %4457, align 4, !tbaa !13
  %4459 = load i32, ptr %15, align 4, !tbaa !9
  %4460 = xor i32 %4458, %4459
  %4461 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4462 = load i32, ptr %4461, align 4, !tbaa !13
  %4463 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4464 = load i32, ptr %4463, align 4, !tbaa !11
  %4465 = and i32 %4462, %4464
  %4466 = xor i32 %4460, %4465
  %4467 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %4466, ptr %4467, align 4, !tbaa !13
  br label %4468

4468:                                             ; preds = %4444
  br label %4469

4469:                                             ; preds = %4468
  br label %4470

4470:                                             ; preds = %4469
  %4471 = call i32 @aead_random_generate_32()
  store i32 %4471, ptr %15, align 4, !tbaa !9
  %4472 = load i32, ptr %15, align 4, !tbaa !9
  %4473 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4474 = load i32, ptr %4473, align 4, !tbaa !11
  %4475 = xor i32 %4474, %4472
  store i32 %4475, ptr %4473, align 4, !tbaa !11
  %4476 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4477 = load i32, ptr %4476, align 4, !tbaa !14
  %4478 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4479 = load i32, ptr %4478, align 4, !tbaa !11
  %4480 = and i32 %4477, %4479
  %4481 = load i32, ptr %15, align 4, !tbaa !9
  %4482 = xor i32 %4481, %4480
  store i32 %4482, ptr %15, align 4, !tbaa !9
  %4483 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4484 = load i32, ptr %4483, align 4, !tbaa !14
  %4485 = load i32, ptr %15, align 4, !tbaa !9
  %4486 = xor i32 %4484, %4485
  %4487 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4488 = load i32, ptr %4487, align 4, !tbaa !14
  %4489 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4490 = load i32, ptr %4489, align 4, !tbaa !11
  %4491 = and i32 %4488, %4490
  %4492 = xor i32 %4486, %4491
  %4493 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %4492, ptr %4493, align 4, !tbaa !14
  br label %4494

4494:                                             ; preds = %4470
  br label %4495

4495:                                             ; preds = %4494
  %4496 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4497 = load i32, ptr %4496, align 4, !tbaa !13
  %4498 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4499 = load i32, ptr %4498, align 4, !tbaa !13
  %4500 = and i32 %4497, %4499
  %4501 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4502 = load i32, ptr %4501, align 4, !tbaa !13
  %4503 = xor i32 %4502, %4500
  store i32 %4503, ptr %4501, align 4, !tbaa !13
  br label %4504

4504:                                             ; preds = %4495
  %4505 = call i32 @aead_random_generate_32()
  store i32 %4505, ptr %15, align 4, !tbaa !9
  %4506 = load i32, ptr %15, align 4, !tbaa !9
  %4507 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4508 = load i32, ptr %4507, align 4, !tbaa !13
  %4509 = xor i32 %4508, %4506
  store i32 %4509, ptr %4507, align 4, !tbaa !13
  %4510 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4511 = load i32, ptr %4510, align 4, !tbaa !14
  %4512 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4513 = load i32, ptr %4512, align 4, !tbaa !13
  %4514 = and i32 %4511, %4513
  %4515 = load i32, ptr %15, align 4, !tbaa !9
  %4516 = xor i32 %4515, %4514
  store i32 %4516, ptr %15, align 4, !tbaa !9
  %4517 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4518 = load i32, ptr %4517, align 4, !tbaa !14
  %4519 = load i32, ptr %15, align 4, !tbaa !9
  %4520 = xor i32 %4518, %4519
  %4521 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4522 = load i32, ptr %4521, align 4, !tbaa !14
  %4523 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4524 = load i32, ptr %4523, align 4, !tbaa !13
  %4525 = and i32 %4522, %4524
  %4526 = xor i32 %4520, %4525
  %4527 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %4526, ptr %4527, align 4, !tbaa !14
  br label %4528

4528:                                             ; preds = %4504
  br label %4529

4529:                                             ; preds = %4528
  %4530 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4531 = load i32, ptr %4530, align 4, !tbaa !14
  %4532 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4533 = load i32, ptr %4532, align 4, !tbaa !14
  %4534 = and i32 %4531, %4533
  %4535 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4536 = load i32, ptr %4535, align 4, !tbaa !14
  %4537 = xor i32 %4536, %4534
  store i32 %4537, ptr %4535, align 4, !tbaa !14
  br label %4538

4538:                                             ; preds = %4529
  br label %4539

4539:                                             ; preds = %4538
  br label %4540

4540:                                             ; preds = %4539
  br label %4541

4541:                                             ; preds = %4540
  br label %4542

4542:                                             ; preds = %4541
  %4543 = load ptr, ptr %13, align 8, !tbaa !5
  %4544 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4543, i64 0
  %4545 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4544, i32 0, i32 0
  %4546 = load i32, ptr %4545, align 4, !tbaa !16
  %4547 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4548 = load i32, ptr %4547, align 4, !tbaa !16
  %4549 = xor i32 %4548, %4546
  store i32 %4549, ptr %4547, align 4, !tbaa !16
  %4550 = load ptr, ptr %13, align 8, !tbaa !5
  %4551 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4550, i64 0
  %4552 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4551, i32 0, i32 1
  %4553 = load i32, ptr %4552, align 4, !tbaa !11
  %4554 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4555 = load i32, ptr %4554, align 4, !tbaa !11
  %4556 = xor i32 %4555, %4553
  store i32 %4556, ptr %4554, align 4, !tbaa !11
  %4557 = load ptr, ptr %13, align 8, !tbaa !5
  %4558 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4557, i64 0
  %4559 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4558, i32 0, i32 2
  %4560 = load i32, ptr %4559, align 4, !tbaa !13
  %4561 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4562 = load i32, ptr %4561, align 4, !tbaa !13
  %4563 = xor i32 %4562, %4560
  store i32 %4563, ptr %4561, align 4, !tbaa !13
  %4564 = load ptr, ptr %13, align 8, !tbaa !5
  %4565 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4564, i64 0
  %4566 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4565, i32 0, i32 3
  %4567 = load i32, ptr %4566, align 4, !tbaa !14
  %4568 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4569 = load i32, ptr %4568, align 4, !tbaa !14
  %4570 = xor i32 %4569, %4567
  store i32 %4570, ptr %4568, align 4, !tbaa !14
  br label %4571

4571:                                             ; preds = %4542
  br label %4572

4572:                                             ; preds = %4571
  br label %4573

4573:                                             ; preds = %4572
  %4574 = load ptr, ptr %13, align 8, !tbaa !5
  %4575 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4574, i64 1
  %4576 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4575, i32 0, i32 0
  %4577 = load i32, ptr %4576, align 4, !tbaa !16
  %4578 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4579 = load i32, ptr %4578, align 4, !tbaa !16
  %4580 = xor i32 %4579, %4577
  store i32 %4580, ptr %4578, align 4, !tbaa !16
  %4581 = load ptr, ptr %13, align 8, !tbaa !5
  %4582 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4581, i64 1
  %4583 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4582, i32 0, i32 1
  %4584 = load i32, ptr %4583, align 4, !tbaa !11
  %4585 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4586 = load i32, ptr %4585, align 4, !tbaa !11
  %4587 = xor i32 %4586, %4584
  store i32 %4587, ptr %4585, align 4, !tbaa !11
  %4588 = load ptr, ptr %13, align 8, !tbaa !5
  %4589 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4588, i64 1
  %4590 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4589, i32 0, i32 2
  %4591 = load i32, ptr %4590, align 4, !tbaa !13
  %4592 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4593 = load i32, ptr %4592, align 4, !tbaa !13
  %4594 = xor i32 %4593, %4591
  store i32 %4594, ptr %4592, align 4, !tbaa !13
  %4595 = load ptr, ptr %13, align 8, !tbaa !5
  %4596 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4595, i64 1
  %4597 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %4596, i32 0, i32 3
  %4598 = load i32, ptr %4597, align 4, !tbaa !14
  %4599 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4600 = load i32, ptr %4599, align 4, !tbaa !14
  %4601 = xor i32 %4600, %4598
  store i32 %4601, ptr %4599, align 4, !tbaa !14
  br label %4602

4602:                                             ; preds = %4573
  br label %4603

4603:                                             ; preds = %4602
  br label %4604

4604:                                             ; preds = %4603
  %4605 = load ptr, ptr %14, align 8, !tbaa !5
  %4606 = getelementptr inbounds i32, ptr %4605, i64 0
  %4607 = load i32, ptr %4606, align 4, !tbaa !9
  %4608 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4609 = load i32, ptr %4608, align 4, !tbaa !16
  %4610 = xor i32 %4609, %4607
  store i32 %4610, ptr %4608, align 4, !tbaa !16
  br label %4611

4611:                                             ; preds = %4604
  br label %4612

4612:                                             ; preds = %4611
  br label %4613

4613:                                             ; preds = %4612
  br label %4614

4614:                                             ; preds = %4613
  %4615 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4616 = load i32, ptr %4615, align 4, !tbaa !16
  %4617 = lshr i32 %4616, 2
  %4618 = and i32 %4617, 858993459
  %4619 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4620 = load i32, ptr %4619, align 4, !tbaa !16
  %4621 = and i32 %4620, 858993459
  %4622 = shl i32 %4621, 2
  %4623 = or i32 %4618, %4622
  %4624 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  store i32 %4623, ptr %4624, align 4, !tbaa !16
  %4625 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4626 = load i32, ptr %4625, align 4, !tbaa !11
  %4627 = lshr i32 %4626, 2
  %4628 = and i32 %4627, 858993459
  %4629 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4630 = load i32, ptr %4629, align 4, !tbaa !11
  %4631 = and i32 %4630, 858993459
  %4632 = shl i32 %4631, 2
  %4633 = or i32 %4628, %4632
  %4634 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %4633, ptr %4634, align 4, !tbaa !11
  %4635 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4636 = load i32, ptr %4635, align 4, !tbaa !13
  %4637 = lshr i32 %4636, 2
  %4638 = and i32 %4637, 858993459
  %4639 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4640 = load i32, ptr %4639, align 4, !tbaa !13
  %4641 = and i32 %4640, 858993459
  %4642 = shl i32 %4641, 2
  %4643 = or i32 %4638, %4642
  %4644 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %4643, ptr %4644, align 4, !tbaa !13
  %4645 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4646 = load i32, ptr %4645, align 4, !tbaa !14
  %4647 = lshr i32 %4646, 2
  %4648 = and i32 %4647, 858993459
  %4649 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4650 = load i32, ptr %4649, align 4, !tbaa !14
  %4651 = and i32 %4650, 858993459
  %4652 = shl i32 %4651, 2
  %4653 = or i32 %4648, %4652
  %4654 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %4653, ptr %4654, align 4, !tbaa !14
  br label %4655

4655:                                             ; preds = %4614
  br label %4656

4656:                                             ; preds = %4655
  br label %4657

4657:                                             ; preds = %4656
  %4658 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4659 = load i32, ptr %4658, align 4, !tbaa !16
  %4660 = lshr i32 %4659, 1
  %4661 = and i32 %4660, 2004318071
  %4662 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4663 = load i32, ptr %4662, align 4, !tbaa !16
  %4664 = and i32 %4663, 286331153
  %4665 = shl i32 %4664, 3
  %4666 = or i32 %4661, %4665
  %4667 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  store i32 %4666, ptr %4667, align 4, !tbaa !16
  %4668 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4669 = load i32, ptr %4668, align 4, !tbaa !11
  %4670 = lshr i32 %4669, 1
  %4671 = and i32 %4670, 2004318071
  %4672 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4673 = load i32, ptr %4672, align 4, !tbaa !11
  %4674 = and i32 %4673, 286331153
  %4675 = shl i32 %4674, 3
  %4676 = or i32 %4671, %4675
  %4677 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %4676, ptr %4677, align 4, !tbaa !11
  %4678 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4679 = load i32, ptr %4678, align 4, !tbaa !13
  %4680 = lshr i32 %4679, 1
  %4681 = and i32 %4680, 2004318071
  %4682 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4683 = load i32, ptr %4682, align 4, !tbaa !13
  %4684 = and i32 %4683, 286331153
  %4685 = shl i32 %4684, 3
  %4686 = or i32 %4681, %4685
  %4687 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %4686, ptr %4687, align 4, !tbaa !13
  %4688 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4689 = load i32, ptr %4688, align 4, !tbaa !14
  %4690 = lshr i32 %4689, 1
  %4691 = and i32 %4690, 2004318071
  %4692 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4693 = load i32, ptr %4692, align 4, !tbaa !14
  %4694 = and i32 %4693, 286331153
  %4695 = shl i32 %4694, 3
  %4696 = or i32 %4691, %4695
  %4697 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %4696, ptr %4697, align 4, !tbaa !14
  br label %4698

4698:                                             ; preds = %4657
  br label %4699

4699:                                             ; preds = %4698
  br label %4700

4700:                                             ; preds = %4699
  %4701 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4702 = load i32, ptr %4701, align 4, !tbaa !16
  %4703 = lshr i32 %4702, 3
  %4704 = and i32 %4703, 286331153
  %4705 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4706 = load i32, ptr %4705, align 4, !tbaa !16
  %4707 = and i32 %4706, 2004318071
  %4708 = shl i32 %4707, 1
  %4709 = or i32 %4704, %4708
  %4710 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  store i32 %4709, ptr %4710, align 4, !tbaa !16
  %4711 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4712 = load i32, ptr %4711, align 4, !tbaa !11
  %4713 = lshr i32 %4712, 3
  %4714 = and i32 %4713, 286331153
  %4715 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4716 = load i32, ptr %4715, align 4, !tbaa !11
  %4717 = and i32 %4716, 2004318071
  %4718 = shl i32 %4717, 1
  %4719 = or i32 %4714, %4718
  %4720 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  store i32 %4719, ptr %4720, align 4, !tbaa !11
  %4721 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4722 = load i32, ptr %4721, align 4, !tbaa !13
  %4723 = lshr i32 %4722, 3
  %4724 = and i32 %4723, 286331153
  %4725 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4726 = load i32, ptr %4725, align 4, !tbaa !13
  %4727 = and i32 %4726, 2004318071
  %4728 = shl i32 %4727, 1
  %4729 = or i32 %4724, %4728
  %4730 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  store i32 %4729, ptr %4730, align 4, !tbaa !13
  %4731 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4732 = load i32, ptr %4731, align 4, !tbaa !14
  %4733 = lshr i32 %4732, 3
  %4734 = and i32 %4733, 286331153
  %4735 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4736 = load i32, ptr %4735, align 4, !tbaa !14
  %4737 = and i32 %4736, 2004318071
  %4738 = shl i32 %4737, 1
  %4739 = or i32 %4734, %4738
  %4740 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  store i32 %4739, ptr %4740, align 4, !tbaa !14
  br label %4741

4741:                                             ; preds = %4700
  br label %4742

4742:                                             ; preds = %4741
  br label %4743

4743:                                             ; preds = %4742
  br label %4744

4744:                                             ; preds = %4743
  br label %4745

4745:                                             ; preds = %4744
  br label %4746

4746:                                             ; preds = %4745
  %4747 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4748 = load i32, ptr %4747, align 4, !tbaa !16
  %4749 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4750 = load i32, ptr %4749, align 4, !tbaa !16
  %4751 = and i32 %4748, %4750
  %4752 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4753 = load i32, ptr %4752, align 4, !tbaa !16
  %4754 = xor i32 %4753, %4751
  store i32 %4754, ptr %4752, align 4, !tbaa !16
  br label %4755

4755:                                             ; preds = %4746
  %4756 = call i32 @aead_random_generate_32()
  store i32 %4756, ptr %15, align 4, !tbaa !9
  %4757 = load i32, ptr %15, align 4, !tbaa !9
  %4758 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4759 = load i32, ptr %4758, align 4, !tbaa !16
  %4760 = xor i32 %4759, %4757
  store i32 %4760, ptr %4758, align 4, !tbaa !16
  %4761 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4762 = load i32, ptr %4761, align 4, !tbaa !11
  %4763 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4764 = load i32, ptr %4763, align 4, !tbaa !16
  %4765 = and i32 %4762, %4764
  %4766 = load i32, ptr %15, align 4, !tbaa !9
  %4767 = xor i32 %4766, %4765
  store i32 %4767, ptr %15, align 4, !tbaa !9
  %4768 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4769 = load i32, ptr %4768, align 4, !tbaa !11
  %4770 = load i32, ptr %15, align 4, !tbaa !9
  %4771 = xor i32 %4769, %4770
  %4772 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %4773 = load i32, ptr %4772, align 4, !tbaa !11
  %4774 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4775 = load i32, ptr %4774, align 4, !tbaa !16
  %4776 = and i32 %4773, %4775
  %4777 = xor i32 %4771, %4776
  %4778 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %4777, ptr %4778, align 4, !tbaa !11
  br label %4779

4779:                                             ; preds = %4755
  br label %4780

4780:                                             ; preds = %4779
  br label %4781

4781:                                             ; preds = %4780
  %4782 = call i32 @aead_random_generate_32()
  store i32 %4782, ptr %15, align 4, !tbaa !9
  %4783 = load i32, ptr %15, align 4, !tbaa !9
  %4784 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4785 = load i32, ptr %4784, align 4, !tbaa !16
  %4786 = xor i32 %4785, %4783
  store i32 %4786, ptr %4784, align 4, !tbaa !16
  %4787 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4788 = load i32, ptr %4787, align 4, !tbaa !13
  %4789 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4790 = load i32, ptr %4789, align 4, !tbaa !16
  %4791 = and i32 %4788, %4790
  %4792 = load i32, ptr %15, align 4, !tbaa !9
  %4793 = xor i32 %4792, %4791
  store i32 %4793, ptr %15, align 4, !tbaa !9
  %4794 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4795 = load i32, ptr %4794, align 4, !tbaa !13
  %4796 = load i32, ptr %15, align 4, !tbaa !9
  %4797 = xor i32 %4795, %4796
  %4798 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %4799 = load i32, ptr %4798, align 4, !tbaa !13
  %4800 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4801 = load i32, ptr %4800, align 4, !tbaa !16
  %4802 = and i32 %4799, %4801
  %4803 = xor i32 %4797, %4802
  %4804 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %4803, ptr %4804, align 4, !tbaa !13
  br label %4805

4805:                                             ; preds = %4781
  br label %4806

4806:                                             ; preds = %4805
  br label %4807

4807:                                             ; preds = %4806
  %4808 = call i32 @aead_random_generate_32()
  store i32 %4808, ptr %15, align 4, !tbaa !9
  %4809 = load i32, ptr %15, align 4, !tbaa !9
  %4810 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4811 = load i32, ptr %4810, align 4, !tbaa !16
  %4812 = xor i32 %4811, %4809
  store i32 %4812, ptr %4810, align 4, !tbaa !16
  %4813 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4814 = load i32, ptr %4813, align 4, !tbaa !14
  %4815 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4816 = load i32, ptr %4815, align 4, !tbaa !16
  %4817 = and i32 %4814, %4816
  %4818 = load i32, ptr %15, align 4, !tbaa !9
  %4819 = xor i32 %4818, %4817
  store i32 %4819, ptr %15, align 4, !tbaa !9
  %4820 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4821 = load i32, ptr %4820, align 4, !tbaa !14
  %4822 = load i32, ptr %15, align 4, !tbaa !9
  %4823 = xor i32 %4821, %4822
  %4824 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %4825 = load i32, ptr %4824, align 4, !tbaa !14
  %4826 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4827 = load i32, ptr %4826, align 4, !tbaa !16
  %4828 = and i32 %4825, %4827
  %4829 = xor i32 %4823, %4828
  %4830 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %4829, ptr %4830, align 4, !tbaa !14
  br label %4831

4831:                                             ; preds = %4807
  br label %4832

4832:                                             ; preds = %4831
  %4833 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %4834 = load i32, ptr %4833, align 4, !tbaa !11
  %4835 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4836 = load i32, ptr %4835, align 4, !tbaa !11
  %4837 = and i32 %4834, %4836
  %4838 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4839 = load i32, ptr %4838, align 4, !tbaa !11
  %4840 = xor i32 %4839, %4837
  store i32 %4840, ptr %4838, align 4, !tbaa !11
  br label %4841

4841:                                             ; preds = %4832
  %4842 = call i32 @aead_random_generate_32()
  store i32 %4842, ptr %15, align 4, !tbaa !9
  %4843 = load i32, ptr %15, align 4, !tbaa !9
  %4844 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4845 = load i32, ptr %4844, align 4, !tbaa !11
  %4846 = xor i32 %4845, %4843
  store i32 %4846, ptr %4844, align 4, !tbaa !11
  %4847 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4848 = load i32, ptr %4847, align 4, !tbaa !13
  %4849 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %4850 = load i32, ptr %4849, align 4, !tbaa !11
  %4851 = and i32 %4848, %4850
  %4852 = load i32, ptr %15, align 4, !tbaa !9
  %4853 = xor i32 %4852, %4851
  store i32 %4853, ptr %15, align 4, !tbaa !9
  %4854 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4855 = load i32, ptr %4854, align 4, !tbaa !13
  %4856 = load i32, ptr %15, align 4, !tbaa !9
  %4857 = xor i32 %4855, %4856
  %4858 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %4859 = load i32, ptr %4858, align 4, !tbaa !13
  %4860 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4861 = load i32, ptr %4860, align 4, !tbaa !11
  %4862 = and i32 %4859, %4861
  %4863 = xor i32 %4857, %4862
  %4864 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %4863, ptr %4864, align 4, !tbaa !13
  br label %4865

4865:                                             ; preds = %4841
  br label %4866

4866:                                             ; preds = %4865
  br label %4867

4867:                                             ; preds = %4866
  %4868 = call i32 @aead_random_generate_32()
  store i32 %4868, ptr %15, align 4, !tbaa !9
  %4869 = load i32, ptr %15, align 4, !tbaa !9
  %4870 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4871 = load i32, ptr %4870, align 4, !tbaa !11
  %4872 = xor i32 %4871, %4869
  store i32 %4872, ptr %4870, align 4, !tbaa !11
  %4873 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4874 = load i32, ptr %4873, align 4, !tbaa !14
  %4875 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %4876 = load i32, ptr %4875, align 4, !tbaa !11
  %4877 = and i32 %4874, %4876
  %4878 = load i32, ptr %15, align 4, !tbaa !9
  %4879 = xor i32 %4878, %4877
  store i32 %4879, ptr %15, align 4, !tbaa !9
  %4880 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4881 = load i32, ptr %4880, align 4, !tbaa !14
  %4882 = load i32, ptr %15, align 4, !tbaa !9
  %4883 = xor i32 %4881, %4882
  %4884 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %4885 = load i32, ptr %4884, align 4, !tbaa !14
  %4886 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4887 = load i32, ptr %4886, align 4, !tbaa !11
  %4888 = and i32 %4885, %4887
  %4889 = xor i32 %4883, %4888
  %4890 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %4889, ptr %4890, align 4, !tbaa !14
  br label %4891

4891:                                             ; preds = %4867
  br label %4892

4892:                                             ; preds = %4891
  %4893 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %4894 = load i32, ptr %4893, align 4, !tbaa !13
  %4895 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4896 = load i32, ptr %4895, align 4, !tbaa !13
  %4897 = and i32 %4894, %4896
  %4898 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4899 = load i32, ptr %4898, align 4, !tbaa !13
  %4900 = xor i32 %4899, %4897
  store i32 %4900, ptr %4898, align 4, !tbaa !13
  br label %4901

4901:                                             ; preds = %4892
  %4902 = call i32 @aead_random_generate_32()
  store i32 %4902, ptr %15, align 4, !tbaa !9
  %4903 = load i32, ptr %15, align 4, !tbaa !9
  %4904 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4905 = load i32, ptr %4904, align 4, !tbaa !13
  %4906 = xor i32 %4905, %4903
  store i32 %4906, ptr %4904, align 4, !tbaa !13
  %4907 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4908 = load i32, ptr %4907, align 4, !tbaa !14
  %4909 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %4910 = load i32, ptr %4909, align 4, !tbaa !13
  %4911 = and i32 %4908, %4910
  %4912 = load i32, ptr %15, align 4, !tbaa !9
  %4913 = xor i32 %4912, %4911
  store i32 %4913, ptr %15, align 4, !tbaa !9
  %4914 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4915 = load i32, ptr %4914, align 4, !tbaa !14
  %4916 = load i32, ptr %15, align 4, !tbaa !9
  %4917 = xor i32 %4915, %4916
  %4918 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %4919 = load i32, ptr %4918, align 4, !tbaa !14
  %4920 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4921 = load i32, ptr %4920, align 4, !tbaa !13
  %4922 = and i32 %4919, %4921
  %4923 = xor i32 %4917, %4922
  %4924 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %4923, ptr %4924, align 4, !tbaa !14
  br label %4925

4925:                                             ; preds = %4901
  br label %4926

4926:                                             ; preds = %4925
  %4927 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %4928 = load i32, ptr %4927, align 4, !tbaa !14
  %4929 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4930 = load i32, ptr %4929, align 4, !tbaa !14
  %4931 = and i32 %4928, %4930
  %4932 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4933 = load i32, ptr %4932, align 4, !tbaa !14
  %4934 = xor i32 %4933, %4931
  store i32 %4934, ptr %4932, align 4, !tbaa !14
  br label %4935

4935:                                             ; preds = %4926
  br label %4936

4936:                                             ; preds = %4935
  br label %4937

4937:                                             ; preds = %4936
  %4938 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4939 = load i32, ptr %4938, align 4, !tbaa !16
  %4940 = xor i32 %4939, -1
  %4941 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  store i32 %4940, ptr %4941, align 4, !tbaa !16
  br label %4942

4942:                                             ; preds = %4937
  br label %4943

4943:                                             ; preds = %4942
  br label %4944

4944:                                             ; preds = %4943
  %4945 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4946 = load i32, ptr %4945, align 4, !tbaa !16
  %4947 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4948 = load i32, ptr %4947, align 4, !tbaa !16
  %4949 = xor i32 %4948, %4946
  store i32 %4949, ptr %4947, align 4, !tbaa !16
  %4950 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4951 = load i32, ptr %4950, align 4, !tbaa !11
  %4952 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %4953 = load i32, ptr %4952, align 4, !tbaa !11
  %4954 = xor i32 %4953, %4951
  store i32 %4954, ptr %4952, align 4, !tbaa !11
  %4955 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4956 = load i32, ptr %4955, align 4, !tbaa !13
  %4957 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %4958 = load i32, ptr %4957, align 4, !tbaa !13
  %4959 = xor i32 %4958, %4956
  store i32 %4959, ptr %4957, align 4, !tbaa !13
  %4960 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4961 = load i32, ptr %4960, align 4, !tbaa !14
  %4962 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %4963 = load i32, ptr %4962, align 4, !tbaa !14
  %4964 = xor i32 %4963, %4961
  store i32 %4964, ptr %4962, align 4, !tbaa !14
  br label %4965

4965:                                             ; preds = %4944
  br label %4966

4966:                                             ; preds = %4965
  br label %4967

4967:                                             ; preds = %4966
  %4968 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4969 = load i32, ptr %4968, align 4, !tbaa !16
  %4970 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %4971 = load i32, ptr %4970, align 4, !tbaa !16
  %4972 = xor i32 %4971, %4969
  store i32 %4972, ptr %4970, align 4, !tbaa !16
  %4973 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %4974 = load i32, ptr %4973, align 4, !tbaa !11
  %4975 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %4976 = load i32, ptr %4975, align 4, !tbaa !11
  %4977 = xor i32 %4976, %4974
  store i32 %4977, ptr %4975, align 4, !tbaa !11
  %4978 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %4979 = load i32, ptr %4978, align 4, !tbaa !13
  %4980 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %4981 = load i32, ptr %4980, align 4, !tbaa !13
  %4982 = xor i32 %4981, %4979
  store i32 %4982, ptr %4980, align 4, !tbaa !13
  %4983 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %4984 = load i32, ptr %4983, align 4, !tbaa !14
  %4985 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %4986 = load i32, ptr %4985, align 4, !tbaa !14
  %4987 = xor i32 %4986, %4984
  store i32 %4987, ptr %4985, align 4, !tbaa !14
  br label %4988

4988:                                             ; preds = %4967
  br label %4989

4989:                                             ; preds = %4988
  br label %4990

4990:                                             ; preds = %4989
  %4991 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %4992 = load i32, ptr %4991, align 4, !tbaa !16
  %4993 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %4994 = load i32, ptr %4993, align 4, !tbaa !16
  %4995 = or i32 %4992, %4994
  %4996 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %4997 = load i32, ptr %4996, align 4, !tbaa !16
  %4998 = xor i32 %4997, %4995
  store i32 %4998, ptr %4996, align 4, !tbaa !16
  br label %4999

4999:                                             ; preds = %4990
  %5000 = call i32 @aead_random_generate_32()
  store i32 %5000, ptr %15, align 4, !tbaa !9
  %5001 = load i32, ptr %15, align 4, !tbaa !9
  %5002 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %5003 = load i32, ptr %5002, align 4, !tbaa !16
  %5004 = xor i32 %5003, %5001
  store i32 %5004, ptr %5002, align 4, !tbaa !16
  %5005 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5006 = load i32, ptr %5005, align 4, !tbaa !11
  %5007 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5008 = load i32, ptr %5007, align 4, !tbaa !16
  %5009 = xor i32 %5008, -1
  %5010 = and i32 %5006, %5009
  %5011 = load i32, ptr %15, align 4, !tbaa !9
  %5012 = xor i32 %5011, %5010
  store i32 %5012, ptr %15, align 4, !tbaa !9
  %5013 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %5014 = load i32, ptr %5013, align 4, !tbaa !11
  %5015 = load i32, ptr %15, align 4, !tbaa !9
  %5016 = xor i32 %5014, %5015
  %5017 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5018 = load i32, ptr %5017, align 4, !tbaa !11
  %5019 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5020 = load i32, ptr %5019, align 4, !tbaa !16
  %5021 = xor i32 %5020, -1
  %5022 = and i32 %5018, %5021
  %5023 = xor i32 %5016, %5022
  %5024 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  store i32 %5023, ptr %5024, align 4, !tbaa !11
  br label %5025

5025:                                             ; preds = %4999
  br label %5026

5026:                                             ; preds = %5025
  br label %5027

5027:                                             ; preds = %5026
  %5028 = call i32 @aead_random_generate_32()
  store i32 %5028, ptr %15, align 4, !tbaa !9
  %5029 = load i32, ptr %15, align 4, !tbaa !9
  %5030 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %5031 = load i32, ptr %5030, align 4, !tbaa !16
  %5032 = xor i32 %5031, %5029
  store i32 %5032, ptr %5030, align 4, !tbaa !16
  %5033 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5034 = load i32, ptr %5033, align 4, !tbaa !13
  %5035 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5036 = load i32, ptr %5035, align 4, !tbaa !16
  %5037 = xor i32 %5036, -1
  %5038 = and i32 %5034, %5037
  %5039 = load i32, ptr %15, align 4, !tbaa !9
  %5040 = xor i32 %5039, %5038
  store i32 %5040, ptr %15, align 4, !tbaa !9
  %5041 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %5042 = load i32, ptr %5041, align 4, !tbaa !13
  %5043 = load i32, ptr %15, align 4, !tbaa !9
  %5044 = xor i32 %5042, %5043
  %5045 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5046 = load i32, ptr %5045, align 4, !tbaa !13
  %5047 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5048 = load i32, ptr %5047, align 4, !tbaa !16
  %5049 = xor i32 %5048, -1
  %5050 = and i32 %5046, %5049
  %5051 = xor i32 %5044, %5050
  %5052 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %5051, ptr %5052, align 4, !tbaa !13
  br label %5053

5053:                                             ; preds = %5027
  br label %5054

5054:                                             ; preds = %5053
  br label %5055

5055:                                             ; preds = %5054
  %5056 = call i32 @aead_random_generate_32()
  store i32 %5056, ptr %15, align 4, !tbaa !9
  %5057 = load i32, ptr %15, align 4, !tbaa !9
  %5058 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %5059 = load i32, ptr %5058, align 4, !tbaa !16
  %5060 = xor i32 %5059, %5057
  store i32 %5060, ptr %5058, align 4, !tbaa !16
  %5061 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5062 = load i32, ptr %5061, align 4, !tbaa !14
  %5063 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5064 = load i32, ptr %5063, align 4, !tbaa !16
  %5065 = xor i32 %5064, -1
  %5066 = and i32 %5062, %5065
  %5067 = load i32, ptr %15, align 4, !tbaa !9
  %5068 = xor i32 %5067, %5066
  store i32 %5068, ptr %15, align 4, !tbaa !9
  %5069 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %5070 = load i32, ptr %5069, align 4, !tbaa !14
  %5071 = load i32, ptr %15, align 4, !tbaa !9
  %5072 = xor i32 %5070, %5071
  %5073 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5074 = load i32, ptr %5073, align 4, !tbaa !14
  %5075 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5076 = load i32, ptr %5075, align 4, !tbaa !16
  %5077 = xor i32 %5076, -1
  %5078 = and i32 %5074, %5077
  %5079 = xor i32 %5072, %5078
  %5080 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %5079, ptr %5080, align 4, !tbaa !14
  br label %5081

5081:                                             ; preds = %5055
  br label %5082

5082:                                             ; preds = %5081
  %5083 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5084 = load i32, ptr %5083, align 4, !tbaa !11
  %5085 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5086 = load i32, ptr %5085, align 4, !tbaa !11
  %5087 = and i32 %5084, %5086
  %5088 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %5089 = load i32, ptr %5088, align 4, !tbaa !11
  %5090 = xor i32 %5089, %5087
  store i32 %5090, ptr %5088, align 4, !tbaa !11
  br label %5091

5091:                                             ; preds = %5082
  %5092 = call i32 @aead_random_generate_32()
  store i32 %5092, ptr %15, align 4, !tbaa !9
  %5093 = load i32, ptr %15, align 4, !tbaa !9
  %5094 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %5095 = load i32, ptr %5094, align 4, !tbaa !11
  %5096 = xor i32 %5095, %5093
  store i32 %5096, ptr %5094, align 4, !tbaa !11
  %5097 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5098 = load i32, ptr %5097, align 4, !tbaa !13
  %5099 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5100 = load i32, ptr %5099, align 4, !tbaa !11
  %5101 = and i32 %5098, %5100
  %5102 = load i32, ptr %15, align 4, !tbaa !9
  %5103 = xor i32 %5102, %5101
  store i32 %5103, ptr %15, align 4, !tbaa !9
  %5104 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %5105 = load i32, ptr %5104, align 4, !tbaa !13
  %5106 = load i32, ptr %15, align 4, !tbaa !9
  %5107 = xor i32 %5105, %5106
  %5108 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5109 = load i32, ptr %5108, align 4, !tbaa !13
  %5110 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5111 = load i32, ptr %5110, align 4, !tbaa !11
  %5112 = and i32 %5109, %5111
  %5113 = xor i32 %5107, %5112
  %5114 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  store i32 %5113, ptr %5114, align 4, !tbaa !13
  br label %5115

5115:                                             ; preds = %5091
  br label %5116

5116:                                             ; preds = %5115
  br label %5117

5117:                                             ; preds = %5116
  %5118 = call i32 @aead_random_generate_32()
  store i32 %5118, ptr %15, align 4, !tbaa !9
  %5119 = load i32, ptr %15, align 4, !tbaa !9
  %5120 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %5121 = load i32, ptr %5120, align 4, !tbaa !11
  %5122 = xor i32 %5121, %5119
  store i32 %5122, ptr %5120, align 4, !tbaa !11
  %5123 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5124 = load i32, ptr %5123, align 4, !tbaa !14
  %5125 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5126 = load i32, ptr %5125, align 4, !tbaa !11
  %5127 = and i32 %5124, %5126
  %5128 = load i32, ptr %15, align 4, !tbaa !9
  %5129 = xor i32 %5128, %5127
  store i32 %5129, ptr %15, align 4, !tbaa !9
  %5130 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %5131 = load i32, ptr %5130, align 4, !tbaa !14
  %5132 = load i32, ptr %15, align 4, !tbaa !9
  %5133 = xor i32 %5131, %5132
  %5134 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5135 = load i32, ptr %5134, align 4, !tbaa !14
  %5136 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5137 = load i32, ptr %5136, align 4, !tbaa !11
  %5138 = and i32 %5135, %5137
  %5139 = xor i32 %5133, %5138
  %5140 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %5139, ptr %5140, align 4, !tbaa !14
  br label %5141

5141:                                             ; preds = %5117
  br label %5142

5142:                                             ; preds = %5141
  %5143 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5144 = load i32, ptr %5143, align 4, !tbaa !13
  %5145 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5146 = load i32, ptr %5145, align 4, !tbaa !13
  %5147 = and i32 %5144, %5146
  %5148 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %5149 = load i32, ptr %5148, align 4, !tbaa !13
  %5150 = xor i32 %5149, %5147
  store i32 %5150, ptr %5148, align 4, !tbaa !13
  br label %5151

5151:                                             ; preds = %5142
  %5152 = call i32 @aead_random_generate_32()
  store i32 %5152, ptr %15, align 4, !tbaa !9
  %5153 = load i32, ptr %15, align 4, !tbaa !9
  %5154 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %5155 = load i32, ptr %5154, align 4, !tbaa !13
  %5156 = xor i32 %5155, %5153
  store i32 %5156, ptr %5154, align 4, !tbaa !13
  %5157 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5158 = load i32, ptr %5157, align 4, !tbaa !14
  %5159 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5160 = load i32, ptr %5159, align 4, !tbaa !13
  %5161 = and i32 %5158, %5160
  %5162 = load i32, ptr %15, align 4, !tbaa !9
  %5163 = xor i32 %5162, %5161
  store i32 %5163, ptr %15, align 4, !tbaa !9
  %5164 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %5165 = load i32, ptr %5164, align 4, !tbaa !14
  %5166 = load i32, ptr %15, align 4, !tbaa !9
  %5167 = xor i32 %5165, %5166
  %5168 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5169 = load i32, ptr %5168, align 4, !tbaa !14
  %5170 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5171 = load i32, ptr %5170, align 4, !tbaa !13
  %5172 = and i32 %5169, %5171
  %5173 = xor i32 %5167, %5172
  %5174 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  store i32 %5173, ptr %5174, align 4, !tbaa !14
  br label %5175

5175:                                             ; preds = %5151
  br label %5176

5176:                                             ; preds = %5175
  %5177 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5178 = load i32, ptr %5177, align 4, !tbaa !14
  %5179 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5180 = load i32, ptr %5179, align 4, !tbaa !14
  %5181 = and i32 %5178, %5180
  %5182 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %5183 = load i32, ptr %5182, align 4, !tbaa !14
  %5184 = xor i32 %5183, %5181
  store i32 %5184, ptr %5182, align 4, !tbaa !14
  br label %5185

5185:                                             ; preds = %5176
  br label %5186

5186:                                             ; preds = %5185
  br label %5187

5187:                                             ; preds = %5186
  %5188 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5189 = load i32, ptr %5188, align 4, !tbaa !16
  %5190 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %5191 = load i32, ptr %5190, align 4, !tbaa !16
  %5192 = and i32 %5189, %5191
  %5193 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5194 = load i32, ptr %5193, align 4, !tbaa !16
  %5195 = xor i32 %5194, %5192
  store i32 %5195, ptr %5193, align 4, !tbaa !16
  br label %5196

5196:                                             ; preds = %5187
  %5197 = call i32 @aead_random_generate_32()
  store i32 %5197, ptr %15, align 4, !tbaa !9
  %5198 = load i32, ptr %15, align 4, !tbaa !9
  %5199 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5200 = load i32, ptr %5199, align 4, !tbaa !16
  %5201 = xor i32 %5200, %5198
  store i32 %5201, ptr %5199, align 4, !tbaa !16
  %5202 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %5203 = load i32, ptr %5202, align 4, !tbaa !11
  %5204 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5205 = load i32, ptr %5204, align 4, !tbaa !16
  %5206 = and i32 %5203, %5205
  %5207 = load i32, ptr %15, align 4, !tbaa !9
  %5208 = xor i32 %5207, %5206
  store i32 %5208, ptr %15, align 4, !tbaa !9
  %5209 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5210 = load i32, ptr %5209, align 4, !tbaa !11
  %5211 = load i32, ptr %15, align 4, !tbaa !9
  %5212 = xor i32 %5210, %5211
  %5213 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5214 = load i32, ptr %5213, align 4, !tbaa !11
  %5215 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %5216 = load i32, ptr %5215, align 4, !tbaa !16
  %5217 = and i32 %5214, %5216
  %5218 = xor i32 %5212, %5217
  %5219 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  store i32 %5218, ptr %5219, align 4, !tbaa !11
  br label %5220

5220:                                             ; preds = %5196
  br label %5221

5221:                                             ; preds = %5220
  br label %5222

5222:                                             ; preds = %5221
  %5223 = call i32 @aead_random_generate_32()
  store i32 %5223, ptr %15, align 4, !tbaa !9
  %5224 = load i32, ptr %15, align 4, !tbaa !9
  %5225 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5226 = load i32, ptr %5225, align 4, !tbaa !16
  %5227 = xor i32 %5226, %5224
  store i32 %5227, ptr %5225, align 4, !tbaa !16
  %5228 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %5229 = load i32, ptr %5228, align 4, !tbaa !13
  %5230 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5231 = load i32, ptr %5230, align 4, !tbaa !16
  %5232 = and i32 %5229, %5231
  %5233 = load i32, ptr %15, align 4, !tbaa !9
  %5234 = xor i32 %5233, %5232
  store i32 %5234, ptr %15, align 4, !tbaa !9
  %5235 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5236 = load i32, ptr %5235, align 4, !tbaa !13
  %5237 = load i32, ptr %15, align 4, !tbaa !9
  %5238 = xor i32 %5236, %5237
  %5239 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5240 = load i32, ptr %5239, align 4, !tbaa !13
  %5241 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %5242 = load i32, ptr %5241, align 4, !tbaa !16
  %5243 = and i32 %5240, %5242
  %5244 = xor i32 %5238, %5243
  %5245 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  store i32 %5244, ptr %5245, align 4, !tbaa !13
  br label %5246

5246:                                             ; preds = %5222
  br label %5247

5247:                                             ; preds = %5246
  br label %5248

5248:                                             ; preds = %5247
  %5249 = call i32 @aead_random_generate_32()
  store i32 %5249, ptr %15, align 4, !tbaa !9
  %5250 = load i32, ptr %15, align 4, !tbaa !9
  %5251 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5252 = load i32, ptr %5251, align 4, !tbaa !16
  %5253 = xor i32 %5252, %5250
  store i32 %5253, ptr %5251, align 4, !tbaa !16
  %5254 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %5255 = load i32, ptr %5254, align 4, !tbaa !14
  %5256 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5257 = load i32, ptr %5256, align 4, !tbaa !16
  %5258 = and i32 %5255, %5257
  %5259 = load i32, ptr %15, align 4, !tbaa !9
  %5260 = xor i32 %5259, %5258
  store i32 %5260, ptr %15, align 4, !tbaa !9
  %5261 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5262 = load i32, ptr %5261, align 4, !tbaa !14
  %5263 = load i32, ptr %15, align 4, !tbaa !9
  %5264 = xor i32 %5262, %5263
  %5265 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5266 = load i32, ptr %5265, align 4, !tbaa !14
  %5267 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %5268 = load i32, ptr %5267, align 4, !tbaa !16
  %5269 = and i32 %5266, %5268
  %5270 = xor i32 %5264, %5269
  %5271 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %5270, ptr %5271, align 4, !tbaa !14
  br label %5272

5272:                                             ; preds = %5248
  br label %5273

5273:                                             ; preds = %5272
  %5274 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5275 = load i32, ptr %5274, align 4, !tbaa !11
  %5276 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %5277 = load i32, ptr %5276, align 4, !tbaa !11
  %5278 = and i32 %5275, %5277
  %5279 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5280 = load i32, ptr %5279, align 4, !tbaa !11
  %5281 = xor i32 %5280, %5278
  store i32 %5281, ptr %5279, align 4, !tbaa !11
  br label %5282

5282:                                             ; preds = %5273
  %5283 = call i32 @aead_random_generate_32()
  store i32 %5283, ptr %15, align 4, !tbaa !9
  %5284 = load i32, ptr %15, align 4, !tbaa !9
  %5285 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5286 = load i32, ptr %5285, align 4, !tbaa !11
  %5287 = xor i32 %5286, %5284
  store i32 %5287, ptr %5285, align 4, !tbaa !11
  %5288 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %5289 = load i32, ptr %5288, align 4, !tbaa !13
  %5290 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5291 = load i32, ptr %5290, align 4, !tbaa !11
  %5292 = and i32 %5289, %5291
  %5293 = load i32, ptr %15, align 4, !tbaa !9
  %5294 = xor i32 %5293, %5292
  store i32 %5294, ptr %15, align 4, !tbaa !9
  %5295 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5296 = load i32, ptr %5295, align 4, !tbaa !13
  %5297 = load i32, ptr %15, align 4, !tbaa !9
  %5298 = xor i32 %5296, %5297
  %5299 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5300 = load i32, ptr %5299, align 4, !tbaa !13
  %5301 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %5302 = load i32, ptr %5301, align 4, !tbaa !11
  %5303 = and i32 %5300, %5302
  %5304 = xor i32 %5298, %5303
  %5305 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  store i32 %5304, ptr %5305, align 4, !tbaa !13
  br label %5306

5306:                                             ; preds = %5282
  br label %5307

5307:                                             ; preds = %5306
  br label %5308

5308:                                             ; preds = %5307
  %5309 = call i32 @aead_random_generate_32()
  store i32 %5309, ptr %15, align 4, !tbaa !9
  %5310 = load i32, ptr %15, align 4, !tbaa !9
  %5311 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5312 = load i32, ptr %5311, align 4, !tbaa !11
  %5313 = xor i32 %5312, %5310
  store i32 %5313, ptr %5311, align 4, !tbaa !11
  %5314 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %5315 = load i32, ptr %5314, align 4, !tbaa !14
  %5316 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5317 = load i32, ptr %5316, align 4, !tbaa !11
  %5318 = and i32 %5315, %5317
  %5319 = load i32, ptr %15, align 4, !tbaa !9
  %5320 = xor i32 %5319, %5318
  store i32 %5320, ptr %15, align 4, !tbaa !9
  %5321 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5322 = load i32, ptr %5321, align 4, !tbaa !14
  %5323 = load i32, ptr %15, align 4, !tbaa !9
  %5324 = xor i32 %5322, %5323
  %5325 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5326 = load i32, ptr %5325, align 4, !tbaa !14
  %5327 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %5328 = load i32, ptr %5327, align 4, !tbaa !11
  %5329 = and i32 %5326, %5328
  %5330 = xor i32 %5324, %5329
  %5331 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %5330, ptr %5331, align 4, !tbaa !14
  br label %5332

5332:                                             ; preds = %5308
  br label %5333

5333:                                             ; preds = %5332
  %5334 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5335 = load i32, ptr %5334, align 4, !tbaa !13
  %5336 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %5337 = load i32, ptr %5336, align 4, !tbaa !13
  %5338 = and i32 %5335, %5337
  %5339 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5340 = load i32, ptr %5339, align 4, !tbaa !13
  %5341 = xor i32 %5340, %5338
  store i32 %5341, ptr %5339, align 4, !tbaa !13
  br label %5342

5342:                                             ; preds = %5333
  %5343 = call i32 @aead_random_generate_32()
  store i32 %5343, ptr %15, align 4, !tbaa !9
  %5344 = load i32, ptr %15, align 4, !tbaa !9
  %5345 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5346 = load i32, ptr %5345, align 4, !tbaa !13
  %5347 = xor i32 %5346, %5344
  store i32 %5347, ptr %5345, align 4, !tbaa !13
  %5348 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %5349 = load i32, ptr %5348, align 4, !tbaa !14
  %5350 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5351 = load i32, ptr %5350, align 4, !tbaa !13
  %5352 = and i32 %5349, %5351
  %5353 = load i32, ptr %15, align 4, !tbaa !9
  %5354 = xor i32 %5353, %5352
  store i32 %5354, ptr %15, align 4, !tbaa !9
  %5355 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5356 = load i32, ptr %5355, align 4, !tbaa !14
  %5357 = load i32, ptr %15, align 4, !tbaa !9
  %5358 = xor i32 %5356, %5357
  %5359 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5360 = load i32, ptr %5359, align 4, !tbaa !14
  %5361 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %5362 = load i32, ptr %5361, align 4, !tbaa !13
  %5363 = and i32 %5360, %5362
  %5364 = xor i32 %5358, %5363
  %5365 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  store i32 %5364, ptr %5365, align 4, !tbaa !14
  br label %5366

5366:                                             ; preds = %5342
  br label %5367

5367:                                             ; preds = %5366
  %5368 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5369 = load i32, ptr %5368, align 4, !tbaa !14
  %5370 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %5371 = load i32, ptr %5370, align 4, !tbaa !14
  %5372 = and i32 %5369, %5371
  %5373 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5374 = load i32, ptr %5373, align 4, !tbaa !14
  %5375 = xor i32 %5374, %5372
  store i32 %5375, ptr %5373, align 4, !tbaa !14
  br label %5376

5376:                                             ; preds = %5367
  br label %5377

5377:                                             ; preds = %5376
  br label %5378

5378:                                             ; preds = %5377
  %5379 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5380 = load i32, ptr %5379, align 4, !tbaa !16
  %5381 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %5382 = load i32, ptr %5381, align 4, !tbaa !16
  %5383 = and i32 %5380, %5382
  %5384 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5385 = load i32, ptr %5384, align 4, !tbaa !16
  %5386 = xor i32 %5385, %5383
  store i32 %5386, ptr %5384, align 4, !tbaa !16
  br label %5387

5387:                                             ; preds = %5378
  %5388 = call i32 @aead_random_generate_32()
  store i32 %5388, ptr %15, align 4, !tbaa !9
  %5389 = load i32, ptr %15, align 4, !tbaa !9
  %5390 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5391 = load i32, ptr %5390, align 4, !tbaa !16
  %5392 = xor i32 %5391, %5389
  store i32 %5392, ptr %5390, align 4, !tbaa !16
  %5393 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %5394 = load i32, ptr %5393, align 4, !tbaa !11
  %5395 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5396 = load i32, ptr %5395, align 4, !tbaa !16
  %5397 = and i32 %5394, %5396
  %5398 = load i32, ptr %15, align 4, !tbaa !9
  %5399 = xor i32 %5398, %5397
  store i32 %5399, ptr %15, align 4, !tbaa !9
  %5400 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5401 = load i32, ptr %5400, align 4, !tbaa !11
  %5402 = load i32, ptr %15, align 4, !tbaa !9
  %5403 = xor i32 %5401, %5402
  %5404 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5405 = load i32, ptr %5404, align 4, !tbaa !11
  %5406 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %5407 = load i32, ptr %5406, align 4, !tbaa !16
  %5408 = and i32 %5405, %5407
  %5409 = xor i32 %5403, %5408
  %5410 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  store i32 %5409, ptr %5410, align 4, !tbaa !11
  br label %5411

5411:                                             ; preds = %5387
  br label %5412

5412:                                             ; preds = %5411
  br label %5413

5413:                                             ; preds = %5412
  %5414 = call i32 @aead_random_generate_32()
  store i32 %5414, ptr %15, align 4, !tbaa !9
  %5415 = load i32, ptr %15, align 4, !tbaa !9
  %5416 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5417 = load i32, ptr %5416, align 4, !tbaa !16
  %5418 = xor i32 %5417, %5415
  store i32 %5418, ptr %5416, align 4, !tbaa !16
  %5419 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %5420 = load i32, ptr %5419, align 4, !tbaa !13
  %5421 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5422 = load i32, ptr %5421, align 4, !tbaa !16
  %5423 = and i32 %5420, %5422
  %5424 = load i32, ptr %15, align 4, !tbaa !9
  %5425 = xor i32 %5424, %5423
  store i32 %5425, ptr %15, align 4, !tbaa !9
  %5426 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5427 = load i32, ptr %5426, align 4, !tbaa !13
  %5428 = load i32, ptr %15, align 4, !tbaa !9
  %5429 = xor i32 %5427, %5428
  %5430 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5431 = load i32, ptr %5430, align 4, !tbaa !13
  %5432 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %5433 = load i32, ptr %5432, align 4, !tbaa !16
  %5434 = and i32 %5431, %5433
  %5435 = xor i32 %5429, %5434
  %5436 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %5435, ptr %5436, align 4, !tbaa !13
  br label %5437

5437:                                             ; preds = %5413
  br label %5438

5438:                                             ; preds = %5437
  br label %5439

5439:                                             ; preds = %5438
  %5440 = call i32 @aead_random_generate_32()
  store i32 %5440, ptr %15, align 4, !tbaa !9
  %5441 = load i32, ptr %15, align 4, !tbaa !9
  %5442 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5443 = load i32, ptr %5442, align 4, !tbaa !16
  %5444 = xor i32 %5443, %5441
  store i32 %5444, ptr %5442, align 4, !tbaa !16
  %5445 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %5446 = load i32, ptr %5445, align 4, !tbaa !14
  %5447 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5448 = load i32, ptr %5447, align 4, !tbaa !16
  %5449 = and i32 %5446, %5448
  %5450 = load i32, ptr %15, align 4, !tbaa !9
  %5451 = xor i32 %5450, %5449
  store i32 %5451, ptr %15, align 4, !tbaa !9
  %5452 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5453 = load i32, ptr %5452, align 4, !tbaa !14
  %5454 = load i32, ptr %15, align 4, !tbaa !9
  %5455 = xor i32 %5453, %5454
  %5456 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5457 = load i32, ptr %5456, align 4, !tbaa !14
  %5458 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %5459 = load i32, ptr %5458, align 4, !tbaa !16
  %5460 = and i32 %5457, %5459
  %5461 = xor i32 %5455, %5460
  %5462 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %5461, ptr %5462, align 4, !tbaa !14
  br label %5463

5463:                                             ; preds = %5439
  br label %5464

5464:                                             ; preds = %5463
  %5465 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5466 = load i32, ptr %5465, align 4, !tbaa !11
  %5467 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %5468 = load i32, ptr %5467, align 4, !tbaa !11
  %5469 = and i32 %5466, %5468
  %5470 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5471 = load i32, ptr %5470, align 4, !tbaa !11
  %5472 = xor i32 %5471, %5469
  store i32 %5472, ptr %5470, align 4, !tbaa !11
  br label %5473

5473:                                             ; preds = %5464
  %5474 = call i32 @aead_random_generate_32()
  store i32 %5474, ptr %15, align 4, !tbaa !9
  %5475 = load i32, ptr %15, align 4, !tbaa !9
  %5476 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5477 = load i32, ptr %5476, align 4, !tbaa !11
  %5478 = xor i32 %5477, %5475
  store i32 %5478, ptr %5476, align 4, !tbaa !11
  %5479 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %5480 = load i32, ptr %5479, align 4, !tbaa !13
  %5481 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5482 = load i32, ptr %5481, align 4, !tbaa !11
  %5483 = and i32 %5480, %5482
  %5484 = load i32, ptr %15, align 4, !tbaa !9
  %5485 = xor i32 %5484, %5483
  store i32 %5485, ptr %15, align 4, !tbaa !9
  %5486 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5487 = load i32, ptr %5486, align 4, !tbaa !13
  %5488 = load i32, ptr %15, align 4, !tbaa !9
  %5489 = xor i32 %5487, %5488
  %5490 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5491 = load i32, ptr %5490, align 4, !tbaa !13
  %5492 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %5493 = load i32, ptr %5492, align 4, !tbaa !11
  %5494 = and i32 %5491, %5493
  %5495 = xor i32 %5489, %5494
  %5496 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  store i32 %5495, ptr %5496, align 4, !tbaa !13
  br label %5497

5497:                                             ; preds = %5473
  br label %5498

5498:                                             ; preds = %5497
  br label %5499

5499:                                             ; preds = %5498
  %5500 = call i32 @aead_random_generate_32()
  store i32 %5500, ptr %15, align 4, !tbaa !9
  %5501 = load i32, ptr %15, align 4, !tbaa !9
  %5502 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5503 = load i32, ptr %5502, align 4, !tbaa !11
  %5504 = xor i32 %5503, %5501
  store i32 %5504, ptr %5502, align 4, !tbaa !11
  %5505 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %5506 = load i32, ptr %5505, align 4, !tbaa !14
  %5507 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5508 = load i32, ptr %5507, align 4, !tbaa !11
  %5509 = and i32 %5506, %5508
  %5510 = load i32, ptr %15, align 4, !tbaa !9
  %5511 = xor i32 %5510, %5509
  store i32 %5511, ptr %15, align 4, !tbaa !9
  %5512 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5513 = load i32, ptr %5512, align 4, !tbaa !14
  %5514 = load i32, ptr %15, align 4, !tbaa !9
  %5515 = xor i32 %5513, %5514
  %5516 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5517 = load i32, ptr %5516, align 4, !tbaa !14
  %5518 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %5519 = load i32, ptr %5518, align 4, !tbaa !11
  %5520 = and i32 %5517, %5519
  %5521 = xor i32 %5515, %5520
  %5522 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %5521, ptr %5522, align 4, !tbaa !14
  br label %5523

5523:                                             ; preds = %5499
  br label %5524

5524:                                             ; preds = %5523
  %5525 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5526 = load i32, ptr %5525, align 4, !tbaa !13
  %5527 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %5528 = load i32, ptr %5527, align 4, !tbaa !13
  %5529 = and i32 %5526, %5528
  %5530 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5531 = load i32, ptr %5530, align 4, !tbaa !13
  %5532 = xor i32 %5531, %5529
  store i32 %5532, ptr %5530, align 4, !tbaa !13
  br label %5533

5533:                                             ; preds = %5524
  %5534 = call i32 @aead_random_generate_32()
  store i32 %5534, ptr %15, align 4, !tbaa !9
  %5535 = load i32, ptr %15, align 4, !tbaa !9
  %5536 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5537 = load i32, ptr %5536, align 4, !tbaa !13
  %5538 = xor i32 %5537, %5535
  store i32 %5538, ptr %5536, align 4, !tbaa !13
  %5539 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %5540 = load i32, ptr %5539, align 4, !tbaa !14
  %5541 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5542 = load i32, ptr %5541, align 4, !tbaa !13
  %5543 = and i32 %5540, %5542
  %5544 = load i32, ptr %15, align 4, !tbaa !9
  %5545 = xor i32 %5544, %5543
  store i32 %5545, ptr %15, align 4, !tbaa !9
  %5546 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5547 = load i32, ptr %5546, align 4, !tbaa !14
  %5548 = load i32, ptr %15, align 4, !tbaa !9
  %5549 = xor i32 %5547, %5548
  %5550 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5551 = load i32, ptr %5550, align 4, !tbaa !14
  %5552 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %5553 = load i32, ptr %5552, align 4, !tbaa !13
  %5554 = and i32 %5551, %5553
  %5555 = xor i32 %5549, %5554
  %5556 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  store i32 %5555, ptr %5556, align 4, !tbaa !14
  br label %5557

5557:                                             ; preds = %5533
  br label %5558

5558:                                             ; preds = %5557
  %5559 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5560 = load i32, ptr %5559, align 4, !tbaa !14
  %5561 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %5562 = load i32, ptr %5561, align 4, !tbaa !14
  %5563 = and i32 %5560, %5562
  %5564 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5565 = load i32, ptr %5564, align 4, !tbaa !14
  %5566 = xor i32 %5565, %5563
  store i32 %5566, ptr %5564, align 4, !tbaa !14
  br label %5567

5567:                                             ; preds = %5558
  br label %5568

5568:                                             ; preds = %5567
  br label %5569

5569:                                             ; preds = %5568
  br label %5570

5570:                                             ; preds = %5569
  br label %5571

5571:                                             ; preds = %5570
  br label %5572

5572:                                             ; preds = %5571
  %5573 = load i8, ptr %16, align 1, !tbaa !15
  %5574 = zext i8 %5573 to i32
  %5575 = icmp ne i32 %5574, 7
  br i1 %5575, label %5576, label %5584

5576:                                             ; preds = %5572
  br label %5577

5577:                                             ; preds = %5576
  %5578 = load i32, ptr %8, align 4, !tbaa !9
  %5579 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5580 = load i32, ptr %5579, align 4, !tbaa !16
  %5581 = xor i32 %5580, %5578
  store i32 %5581, ptr %5579, align 4, !tbaa !16
  br label %5582

5582:                                             ; preds = %5577
  br label %5583

5583:                                             ; preds = %5582
  br label %5584

5584:                                             ; preds = %5583, %5572
  br label %5585

5585:                                             ; preds = %5584
  %5586 = load i8, ptr %16, align 1, !tbaa !15
  %5587 = add i8 %5586, 1
  store i8 %5587, ptr %16, align 1, !tbaa !15
  %5588 = load ptr, ptr %13, align 8, !tbaa !5
  %5589 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %5588, i64 -10
  store ptr %5589, ptr %13, align 8, !tbaa !5
  %5590 = load ptr, ptr %14, align 8, !tbaa !5
  %5591 = getelementptr inbounds i32, ptr %5590, i64 -5
  store ptr %5591, ptr %14, align 8, !tbaa !5
  br label %203, !llvm.loop !17

5592:                                             ; preds = %203
  br label %5593

5593:                                             ; preds = %5592
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #3
  %5594 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 0
  %5595 = load i32, ptr %5594, align 4, !tbaa !16
  %5596 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 1
  %5597 = load i32, ptr %5596, align 4, !tbaa !11
  %5598 = xor i32 %5595, %5597
  %5599 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 2
  %5600 = load i32, ptr %5599, align 4, !tbaa !13
  %5601 = xor i32 %5598, %5600
  %5602 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %9, i32 0, i32 3
  %5603 = load i32, ptr %5602, align 4, !tbaa !14
  %5604 = xor i32 %5601, %5603
  store i32 %5604, ptr %17, align 4, !tbaa !9
  %5605 = load i32, ptr %17, align 4, !tbaa !9
  %5606 = lshr i32 %5605, 24
  %5607 = trunc i32 %5606 to i8
  %5608 = load ptr, ptr %6, align 8, !tbaa !5
  %5609 = getelementptr inbounds i8, ptr %5608, i64 0
  store i8 %5607, ptr %5609, align 1, !tbaa !15
  %5610 = load i32, ptr %17, align 4, !tbaa !9
  %5611 = lshr i32 %5610, 16
  %5612 = trunc i32 %5611 to i8
  %5613 = load ptr, ptr %6, align 8, !tbaa !5
  %5614 = getelementptr inbounds i8, ptr %5613, i64 1
  store i8 %5612, ptr %5614, align 1, !tbaa !15
  %5615 = load i32, ptr %17, align 4, !tbaa !9
  %5616 = lshr i32 %5615, 8
  %5617 = trunc i32 %5616 to i8
  %5618 = load ptr, ptr %6, align 8, !tbaa !5
  %5619 = getelementptr inbounds i8, ptr %5618, i64 2
  store i8 %5617, ptr %5619, align 1, !tbaa !15
  %5620 = load i32, ptr %17, align 4, !tbaa !9
  %5621 = trunc i32 %5620 to i8
  %5622 = load ptr, ptr %6, align 8, !tbaa !5
  %5623 = getelementptr inbounds i8, ptr %5622, i64 3
  store i8 %5621, ptr %5623, align 1, !tbaa !15
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #3
  br label %5624

5624:                                             ; preds = %5593
  br label %5625

5625:                                             ; preds = %5624
  br label %5626

5626:                                             ; preds = %5625
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #3
  %5627 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 0
  %5628 = load i32, ptr %5627, align 4, !tbaa !16
  %5629 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 1
  %5630 = load i32, ptr %5629, align 4, !tbaa !11
  %5631 = xor i32 %5628, %5630
  %5632 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 2
  %5633 = load i32, ptr %5632, align 4, !tbaa !13
  %5634 = xor i32 %5631, %5633
  %5635 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %10, i32 0, i32 3
  %5636 = load i32, ptr %5635, align 4, !tbaa !14
  %5637 = xor i32 %5634, %5636
  store i32 %5637, ptr %18, align 4, !tbaa !9
  %5638 = load i32, ptr %18, align 4, !tbaa !9
  %5639 = lshr i32 %5638, 24
  %5640 = trunc i32 %5639 to i8
  %5641 = load ptr, ptr %6, align 8, !tbaa !5
  %5642 = getelementptr inbounds i8, ptr %5641, i64 4
  %5643 = getelementptr inbounds i8, ptr %5642, i64 0
  store i8 %5640, ptr %5643, align 1, !tbaa !15
  %5644 = load i32, ptr %18, align 4, !tbaa !9
  %5645 = lshr i32 %5644, 16
  %5646 = trunc i32 %5645 to i8
  %5647 = load ptr, ptr %6, align 8, !tbaa !5
  %5648 = getelementptr inbounds i8, ptr %5647, i64 4
  %5649 = getelementptr inbounds i8, ptr %5648, i64 1
  store i8 %5646, ptr %5649, align 1, !tbaa !15
  %5650 = load i32, ptr %18, align 4, !tbaa !9
  %5651 = lshr i32 %5650, 8
  %5652 = trunc i32 %5651 to i8
  %5653 = load ptr, ptr %6, align 8, !tbaa !5
  %5654 = getelementptr inbounds i8, ptr %5653, i64 4
  %5655 = getelementptr inbounds i8, ptr %5654, i64 2
  store i8 %5652, ptr %5655, align 1, !tbaa !15
  %5656 = load i32, ptr %18, align 4, !tbaa !9
  %5657 = trunc i32 %5656 to i8
  %5658 = load ptr, ptr %6, align 8, !tbaa !5
  %5659 = getelementptr inbounds i8, ptr %5658, i64 4
  %5660 = getelementptr inbounds i8, ptr %5659, i64 3
  store i8 %5657, ptr %5660, align 1, !tbaa !15
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #3
  br label %5661

5661:                                             ; preds = %5626
  br label %5662

5662:                                             ; preds = %5661
  br label %5663

5663:                                             ; preds = %5662
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #3
  %5664 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 0
  %5665 = load i32, ptr %5664, align 4, !tbaa !16
  %5666 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 1
  %5667 = load i32, ptr %5666, align 4, !tbaa !11
  %5668 = xor i32 %5665, %5667
  %5669 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 2
  %5670 = load i32, ptr %5669, align 4, !tbaa !13
  %5671 = xor i32 %5668, %5670
  %5672 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %11, i32 0, i32 3
  %5673 = load i32, ptr %5672, align 4, !tbaa !14
  %5674 = xor i32 %5671, %5673
  store i32 %5674, ptr %19, align 4, !tbaa !9
  %5675 = load i32, ptr %19, align 4, !tbaa !9
  %5676 = lshr i32 %5675, 24
  %5677 = trunc i32 %5676 to i8
  %5678 = load ptr, ptr %6, align 8, !tbaa !5
  %5679 = getelementptr inbounds i8, ptr %5678, i64 8
  %5680 = getelementptr inbounds i8, ptr %5679, i64 0
  store i8 %5677, ptr %5680, align 1, !tbaa !15
  %5681 = load i32, ptr %19, align 4, !tbaa !9
  %5682 = lshr i32 %5681, 16
  %5683 = trunc i32 %5682 to i8
  %5684 = load ptr, ptr %6, align 8, !tbaa !5
  %5685 = getelementptr inbounds i8, ptr %5684, i64 8
  %5686 = getelementptr inbounds i8, ptr %5685, i64 1
  store i8 %5683, ptr %5686, align 1, !tbaa !15
  %5687 = load i32, ptr %19, align 4, !tbaa !9
  %5688 = lshr i32 %5687, 8
  %5689 = trunc i32 %5688 to i8
  %5690 = load ptr, ptr %6, align 8, !tbaa !5
  %5691 = getelementptr inbounds i8, ptr %5690, i64 8
  %5692 = getelementptr inbounds i8, ptr %5691, i64 2
  store i8 %5689, ptr %5692, align 1, !tbaa !15
  %5693 = load i32, ptr %19, align 4, !tbaa !9
  %5694 = trunc i32 %5693 to i8
  %5695 = load ptr, ptr %6, align 8, !tbaa !5
  %5696 = getelementptr inbounds i8, ptr %5695, i64 8
  %5697 = getelementptr inbounds i8, ptr %5696, i64 3
  store i8 %5694, ptr %5697, align 1, !tbaa !15
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #3
  br label %5698

5698:                                             ; preds = %5663
  br label %5699

5699:                                             ; preds = %5698
  br label %5700

5700:                                             ; preds = %5699
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #3
  %5701 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 0
  %5702 = load i32, ptr %5701, align 4, !tbaa !16
  %5703 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 1
  %5704 = load i32, ptr %5703, align 4, !tbaa !11
  %5705 = xor i32 %5702, %5704
  %5706 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 2
  %5707 = load i32, ptr %5706, align 4, !tbaa !13
  %5708 = xor i32 %5705, %5707
  %5709 = getelementptr inbounds %struct.mask_x4_uint32_t, ptr %12, i32 0, i32 3
  %5710 = load i32, ptr %5709, align 4, !tbaa !14
  %5711 = xor i32 %5708, %5710
  store i32 %5711, ptr %20, align 4, !tbaa !9
  %5712 = load i32, ptr %20, align 4, !tbaa !9
  %5713 = lshr i32 %5712, 24
  %5714 = trunc i32 %5713 to i8
  %5715 = load ptr, ptr %6, align 8, !tbaa !5
  %5716 = getelementptr inbounds i8, ptr %5715, i64 12
  %5717 = getelementptr inbounds i8, ptr %5716, i64 0
  store i8 %5714, ptr %5717, align 1, !tbaa !15
  %5718 = load i32, ptr %20, align 4, !tbaa !9
  %5719 = lshr i32 %5718, 16
  %5720 = trunc i32 %5719 to i8
  %5721 = load ptr, ptr %6, align 8, !tbaa !5
  %5722 = getelementptr inbounds i8, ptr %5721, i64 12
  %5723 = getelementptr inbounds i8, ptr %5722, i64 1
  store i8 %5720, ptr %5723, align 1, !tbaa !15
  %5724 = load i32, ptr %20, align 4, !tbaa !9
  %5725 = lshr i32 %5724, 8
  %5726 = trunc i32 %5725 to i8
  %5727 = load ptr, ptr %6, align 8, !tbaa !5
  %5728 = getelementptr inbounds i8, ptr %5727, i64 12
  %5729 = getelementptr inbounds i8, ptr %5728, i64 2
  store i8 %5726, ptr %5729, align 1, !tbaa !15
  %5730 = load i32, ptr %20, align 4, !tbaa !9
  %5731 = trunc i32 %5730 to i8
  %5732 = load ptr, ptr %6, align 8, !tbaa !5
  %5733 = getelementptr inbounds i8, ptr %5732, i64 12
  %5734 = getelementptr inbounds i8, ptr %5733, i64 3
  store i8 %5731, ptr %5734, align 1, !tbaa !15
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #3
  br label %5735

5735:                                             ; preds = %5700
  br label %5736

5736:                                             ; preds = %5735
  %5737 = load ptr, ptr %6, align 8, !tbaa !5
  %5738 = load ptr, ptr %6, align 8, !tbaa !5
  call void @gift128n_to_nibbles(ptr noundef %5737, ptr noundef %5738)
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %14) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #3
  call void @llvm.lifetime.end.p0(i64 16, ptr %12) #3
  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
  ret void
}

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "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 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !10, i64 4}
!12 = !{!"", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12}
!13 = !{!12, !10, i64 8}
!14 = !{!12, !10, i64 12}
!15 = !{!7, !7, i64 0}
!16 = !{!12, !10, i64 0}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}


; 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"

@GIFT128_RC_fixsliced = external hidden local_unnamed_addr constant [40 x i32], align 16

; Function Attrs: nounwind uwtable
declare hidden void @gift128n_to_words(ptr noundef, ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare hidden void @gift128n_to_nibbles(ptr noundef, ptr noundef) local_unnamed_addr #0

declare i32 @aead_random_generate_32() local_unnamed_addr #1

; Function Attrs: nounwind uwtable
define dso_local void @gift128t_decrypt_masked(ptr nocapture noundef readonly %0, ptr noundef %1, ptr noundef %2, i32 noundef %3) local_unnamed_addr #0 {
  %5 = getelementptr inbounds i8, ptr %0, i64 1120
  tail call void @gift128n_to_words(ptr noundef %1, ptr noundef %2)
  %6 = tail call i32 @aead_random_generate_32() #3
  %7 = tail call i32 @aead_random_generate_32() #3
  %8 = tail call i32 @aead_random_generate_32() #3
  %9 = load i8, ptr %1, align 1, !tbaa !5
  %10 = zext i8 %9 to i32
  %11 = shl nuw i32 %10, 24
  %12 = getelementptr inbounds i8, ptr %1, i64 1
  %13 = load i8, ptr %12, align 1, !tbaa !5
  %14 = zext i8 %13 to i32
  %15 = shl nuw nsw i32 %14, 16
  %16 = or disjoint i32 %15, %11
  %17 = getelementptr inbounds i8, ptr %1, i64 2
  %18 = load i8, ptr %17, align 1, !tbaa !5
  %19 = zext i8 %18 to i32
  %20 = shl nuw nsw i32 %19, 8
  %21 = or disjoint i32 %16, %20
  %22 = getelementptr inbounds i8, ptr %1, i64 3
  %23 = load i8, ptr %22, align 1, !tbaa !5
  %24 = zext i8 %23 to i32
  %25 = or disjoint i32 %21, %24
  %26 = xor i32 %6, %25
  %27 = xor i32 %26, %7
  %28 = xor i32 %27, %8
  %29 = tail call i32 @aead_random_generate_32() #3
  %30 = tail call i32 @aead_random_generate_32() #3
  %31 = tail call i32 @aead_random_generate_32() #3
  %32 = getelementptr inbounds i8, ptr %1, i64 4
  %33 = load i8, ptr %32, align 1, !tbaa !5
  %34 = zext i8 %33 to i32
  %35 = shl nuw i32 %34, 24
  %36 = getelementptr inbounds i8, ptr %1, i64 5
  %37 = load i8, ptr %36, align 1, !tbaa !5
  %38 = zext i8 %37 to i32
  %39 = shl nuw nsw i32 %38, 16
  %40 = or disjoint i32 %39, %35
  %41 = getelementptr inbounds i8, ptr %1, i64 6
  %42 = load i8, ptr %41, align 1, !tbaa !5
  %43 = zext i8 %42 to i32
  %44 = shl nuw nsw i32 %43, 8
  %45 = or disjoint i32 %40, %44
  %46 = getelementptr inbounds i8, ptr %1, i64 7
  %47 = load i8, ptr %46, align 1, !tbaa !5
  %48 = zext i8 %47 to i32
  %49 = or disjoint i32 %45, %48
  %50 = xor i32 %29, %49
  %51 = xor i32 %50, %30
  %52 = xor i32 %51, %31
  %53 = tail call i32 @aead_random_generate_32() #3
  %54 = tail call i32 @aead_random_generate_32() #3
  %55 = tail call i32 @aead_random_generate_32() #3
  %56 = getelementptr inbounds i8, ptr %1, i64 8
  %57 = load i8, ptr %56, align 1, !tbaa !5
  %58 = zext i8 %57 to i32
  %59 = shl nuw i32 %58, 24
  %60 = getelementptr inbounds i8, ptr %1, i64 9
  %61 = load i8, ptr %60, align 1, !tbaa !5
  %62 = zext i8 %61 to i32
  %63 = shl nuw nsw i32 %62, 16
  %64 = or disjoint i32 %63, %59
  %65 = getelementptr inbounds i8, ptr %1, i64 10
  %66 = load i8, ptr %65, align 1, !tbaa !5
  %67 = zext i8 %66 to i32
  %68 = shl nuw nsw i32 %67, 8
  %69 = or disjoint i32 %64, %68
  %70 = getelementptr inbounds i8, ptr %1, i64 11
  %71 = load i8, ptr %70, align 1, !tbaa !5
  %72 = zext i8 %71 to i32
  %73 = or disjoint i32 %69, %72
  %74 = xor i32 %53, %73
  %75 = xor i32 %74, %54
  %76 = xor i32 %75, %55
  %77 = tail call i32 @aead_random_generate_32() #3
  %78 = tail call i32 @aead_random_generate_32() #3
  %79 = tail call i32 @aead_random_generate_32() #3
  %80 = getelementptr inbounds i8, ptr %1, i64 12
  %81 = load i8, ptr %80, align 1, !tbaa !5
  %82 = zext i8 %81 to i32
  %83 = shl nuw i32 %82, 24
  %84 = getelementptr inbounds i8, ptr %1, i64 13
  %85 = load i8, ptr %84, align 1, !tbaa !5
  %86 = zext i8 %85 to i32
  %87 = shl nuw nsw i32 %86, 16
  %88 = or disjoint i32 %87, %83
  %89 = getelementptr inbounds i8, ptr %1, i64 14
  %90 = load i8, ptr %89, align 1, !tbaa !5
  %91 = zext i8 %90 to i32
  %92 = shl nuw nsw i32 %91, 8
  %93 = or disjoint i32 %88, %92
  %94 = getelementptr inbounds i8, ptr %1, i64 15
  %95 = load i8, ptr %94, align 1, !tbaa !5
  %96 = zext i8 %95 to i32
  %97 = or disjoint i32 %93, %96
  %98 = xor i32 %77, %97
  %99 = xor i32 %98, %78
  %100 = xor i32 %99, %79
  br label %101

101:                                              ; preds = %4, %101
  %.sroa.277.01798 = phi i32 [ %8, %4 ], [ %1428, %101 ]
  %.sroa.189.01797 = phi i32 [ %7, %4 ], [ %1416, %101 ]
  %.sroa.101.01796 = phi i32 [ %6, %4 ], [ %1404, %101 ]
  %.sroa.01461.01795 = phi i32 [ %28, %4 ], [ %spec.select, %101 ]
  %.01794 = phi i8 [ 0, %4 ], [ %1476, %101 ]
  %.sroa.424.01793 = phi i32 [ %31, %4 ], [ %1474, %101 ]
  %.017771792 = phi ptr [ getelementptr inbounds (i8, ptr @GIFT128_RC_fixsliced, i64 140), %4 ], [ %1478, %101 ]
  %.017781791 = phi ptr [ %5, %4 ], [ %1477, %101 ]
  %.sroa.0.01790 = phi i32 [ %100, %4 ], [ %1331, %101 ]
  %.sroa.94.01789 = phi i32 [ %77, %4 ], [ %1332, %101 ]
  %.sroa.177.01788 = phi i32 [ %78, %4 ], [ %1333, %101 ]
  %.sroa.260.01787 = phi i32 [ %79, %4 ], [ %1334, %101 ]
  %.sroa.0709.01786 = phi i32 [ %76, %4 ], [ %1348, %101 ]
  %.sroa.140.01785 = phi i32 [ %53, %4 ], [ %1358, %101 ]
  %.sroa.279.01784 = phi i32 [ %54, %4 ], [ %1370, %101 ]
  %.sroa.418.01783 = phi i32 [ %55, %4 ], [ %1382, %101 ]
  %.sroa.01049.01782 = phi i32 [ %52, %4 ], [ %1439, %101 ]
  %.sroa.142.01781 = phi i32 [ %29, %4 ], [ %1450, %101 ]
  %.sroa.283.01780 = phi i32 [ %30, %4 ], [ %1462, %101 ]
  %102 = getelementptr inbounds i8, ptr %.017781791, i64 128
  %103 = load i32, ptr %102, align 4, !tbaa !8
  %104 = xor i32 %103, %.sroa.01049.01782
  %105 = getelementptr inbounds i8, ptr %.017781791, i64 132
  %106 = load i32, ptr %105, align 4, !tbaa !11
  %107 = xor i32 %106, %.sroa.142.01781
  %108 = getelementptr inbounds i8, ptr %.017781791, i64 136
  %109 = load i32, ptr %108, align 4, !tbaa !12
  %110 = xor i32 %109, %.sroa.283.01780
  %111 = getelementptr inbounds i8, ptr %.017781791, i64 140
  %112 = load i32, ptr %111, align 4, !tbaa !13
  %113 = xor i32 %112, %.sroa.424.01793
  %114 = getelementptr inbounds i8, ptr %.017781791, i64 144
  %115 = load i32, ptr %114, align 4, !tbaa !8
  %116 = xor i32 %115, %.sroa.0709.01786
  %117 = getelementptr inbounds i8, ptr %.017781791, i64 148
  %118 = load i32, ptr %117, align 4, !tbaa !11
  %119 = xor i32 %118, %.sroa.140.01785
  %120 = getelementptr inbounds i8, ptr %.017781791, i64 152
  %121 = load i32, ptr %120, align 4, !tbaa !12
  %122 = xor i32 %121, %.sroa.279.01784
  %123 = getelementptr inbounds i8, ptr %.017781791, i64 156
  %124 = load i32, ptr %123, align 4, !tbaa !13
  %125 = xor i32 %124, %.sroa.418.01783
  %126 = getelementptr inbounds i8, ptr %.017771792, i64 16
  %127 = load i32, ptr %126, align 4, !tbaa !14
  %128 = xor i32 %127, %.sroa.0.01790
  %129 = tail call i32 @llvm.fshl.i32(i32 %104, i32 %104, i32 16)
  %130 = tail call i32 @llvm.fshl.i32(i32 %107, i32 %107, i32 16)
  %131 = tail call i32 @llvm.fshl.i32(i32 %110, i32 %110, i32 16)
  %132 = tail call i32 @llvm.fshl.i32(i32 %113, i32 %113, i32 16)
  %133 = tail call i32 @llvm.fshl.i32(i32 %116, i32 %116, i32 8)
  %134 = tail call i32 @llvm.fshl.i32(i32 %119, i32 %119, i32 8)
  %135 = tail call i32 @llvm.fshl.i32(i32 %122, i32 %122, i32 8)
  %136 = tail call i32 @llvm.fshl.i32(i32 %125, i32 %125, i32 8)
  %137 = tail call i32 @llvm.fshl.i32(i32 %.sroa.01461.01795, i32 %.sroa.01461.01795, i32 24)
  %138 = tail call i32 @llvm.fshl.i32(i32 %.sroa.101.01796, i32 %.sroa.101.01796, i32 24)
  %139 = tail call i32 @llvm.fshl.i32(i32 %.sroa.189.01797, i32 %.sroa.189.01797, i32 24)
  %140 = tail call i32 @llvm.fshl.i32(i32 %.sroa.277.01798, i32 %.sroa.277.01798, i32 24)
  %141 = and i32 %128, %129
  %142 = tail call i32 @aead_random_generate_32() #3
  %143 = and i32 %128, %130
  %144 = tail call i32 @aead_random_generate_32() #3
  %145 = and i32 %128, %131
  %146 = tail call i32 @aead_random_generate_32() #3
  %147 = xor i32 %133, %141
  %148 = xor i32 %147, %142
  %149 = xor i32 %148, %144
  %150 = xor i32 %149, %146
  %151 = and i32 %128, %132
  %152 = tail call i32 @aead_random_generate_32() #3
  %153 = and i32 %131, %.sroa.94.01789
  %154 = tail call i32 @aead_random_generate_32() #3
  %155 = xor i32 %130, %129
  %156 = and i32 %155, %.sroa.94.01789
  %157 = xor i32 %156, %134
  %158 = xor i32 %157, %143
  %159 = xor i32 %158, %142
  %160 = xor i32 %159, %152
  %161 = xor i32 %160, %154
  %162 = and i32 %132, %.sroa.94.01789
  %163 = and i32 %131, %.sroa.177.01788
  %164 = tail call i32 @aead_random_generate_32() #3
  %165 = and i32 %155, %.sroa.177.01788
  %166 = xor i32 %165, %153
  %167 = xor i32 %166, %163
  %168 = xor i32 %167, %135
  %169 = xor i32 %168, %145
  %170 = xor i32 %169, %144
  %171 = xor i32 %170, %152
  %172 = xor i32 %171, %164
  %173 = and i32 %132, %.sroa.177.01788
  %174 = and i32 %132, %.sroa.260.01787
  %175 = xor i32 %155, %131
  %176 = and i32 %175, %.sroa.260.01787
  %177 = xor i32 %176, %173
  %178 = xor i32 %177, %162
  %179 = xor i32 %178, %174
  %180 = xor i32 %179, %136
  %181 = xor i32 %180, %151
  %182 = xor i32 %181, %146
  %183 = xor i32 %182, %154
  %184 = xor i32 %183, %164
  %185 = xor i32 %137, -1
  %186 = xor i32 %129, %185
  %187 = xor i32 %130, %138
  %188 = xor i32 %131, %139
  %189 = xor i32 %132, %140
  %190 = xor i32 %150, %185
  %191 = xor i32 %161, %138
  %192 = xor i32 %172, %139
  %193 = xor i32 %184, %140
  %194 = or i32 %128, %186
  %195 = xor i32 %150, %194
  %196 = tail call i32 @aead_random_generate_32() #3
  %197 = xor i32 %195, %196
  %198 = xor i32 %128, -1
  %199 = and i32 %187, %198
  %200 = xor i32 %129, %137
  %201 = tail call i32 @aead_random_generate_32() #3
  %202 = xor i32 %197, %201
  %203 = and i32 %188, %198
  %204 = tail call i32 @aead_random_generate_32() #3
  %205 = xor i32 %202, %204
  %206 = and i32 %189, %198
  %207 = tail call i32 @aead_random_generate_32() #3
  %208 = and i32 %188, %.sroa.94.01789
  %209 = tail call i32 @aead_random_generate_32() #3
  %210 = xor i32 %187, %200
  %211 = and i32 %210, %.sroa.94.01789
  %212 = xor i32 %211, %199
  %213 = xor i32 %212, %196
  %214 = xor i32 %213, %161
  %215 = xor i32 %214, %207
  %216 = xor i32 %215, %209
  %217 = and i32 %189, %.sroa.94.01789
  %218 = and i32 %188, %.sroa.177.01788
  %219 = tail call i32 @aead_random_generate_32() #3
  %220 = and i32 %210, %.sroa.177.01788
  %221 = xor i32 %220, %208
  %222 = xor i32 %221, %218
  %223 = xor i32 %222, %203
  %224 = xor i32 %223, %201
  %225 = xor i32 %224, %207
  %226 = xor i32 %225, %172
  %227 = xor i32 %226, %219
  %228 = and i32 %189, %.sroa.177.01788
  %229 = and i32 %189, %.sroa.260.01787
  %230 = xor i32 %210, %188
  %231 = and i32 %230, %.sroa.260.01787
  %232 = xor i32 %231, %228
  %233 = xor i32 %232, %217
  %234 = xor i32 %233, %229
  %235 = xor i32 %234, %206
  %236 = xor i32 %235, %204
  %237 = xor i32 %236, %209
  %238 = xor i32 %237, %219
  %239 = xor i32 %238, %184
  %240 = and i32 %190, %186
  %241 = xor i32 %240, %128
  %242 = tail call i32 @aead_random_generate_32() #3
  %243 = xor i32 %241, %242
  %244 = and i32 %191, %186
  %245 = and i32 %190, %187
  %246 = tail call i32 @aead_random_generate_32() #3
  %247 = xor i32 %243, %246
  %248 = and i32 %192, %186
  %249 = tail call i32 @aead_random_generate_32() #3
  %250 = xor i32 %247, %249
  %251 = and i32 %193, %186
  %252 = and i32 %191, %187
  %253 = tail call i32 @aead_random_generate_32() #3
  %254 = and i32 %192, %187
  %255 = tail call i32 @aead_random_generate_32() #3
  %256 = xor i32 %245, %244
  %257 = xor i32 %256, %252
  %258 = xor i32 %257, %.sroa.94.01789
  %259 = xor i32 %258, %242
  %260 = xor i32 %259, %253
  %261 = xor i32 %260, %255
  %262 = and i32 %193, %187
  %263 = and i32 %192, %188
  %264 = tail call i32 @aead_random_generate_32() #3
  %265 = xor i32 %190, %191
  %266 = and i32 %265, %188
  %267 = xor i32 %266, %248
  %268 = xor i32 %267, %254
  %269 = xor i32 %268, %263
  %270 = xor i32 %269, %.sroa.177.01788
  %271 = xor i32 %270, %246
  %272 = xor i32 %271, %253
  %273 = xor i32 %272, %264
  %274 = and i32 %193, %188
  %275 = and i32 %193, %189
  %276 = xor i32 %265, %192
  %277 = and i32 %276, %189
  %278 = xor i32 %277, %274
  %279 = xor i32 %278, %251
  %280 = xor i32 %279, %262
  %281 = xor i32 %280, %275
  %282 = xor i32 %281, %.sroa.260.01787
  %283 = xor i32 %282, %249
  %284 = xor i32 %283, %255
  %285 = xor i32 %284, %264
  %286 = and i32 %250, %205
  %287 = tail call i32 @aead_random_generate_32() #3
  %288 = and i32 %250, %216
  %289 = and i32 %261, %205
  %290 = tail call i32 @aead_random_generate_32() #3
  %291 = and i32 %273, %205
  %292 = tail call i32 @aead_random_generate_32() #3
  %293 = and i32 %285, %205
  %294 = and i32 %261, %216
  %295 = tail call i32 @aead_random_generate_32() #3
  %296 = and i32 %273, %216
  %297 = tail call i32 @aead_random_generate_32() #3
  %298 = and i32 %285, %216
  %299 = and i32 %273, %227
  %300 = tail call i32 @aead_random_generate_32() #3
  %301 = and i32 %285, %227
  %302 = and i32 %285, %239
  %303 = getelementptr inbounds i8, ptr %.017781791, i64 96
  %304 = load i32, ptr %303, align 4, !tbaa !8
  %305 = xor i32 %286, %304
  %306 = xor i32 %305, %186
  %307 = xor i32 %306, %287
  %308 = xor i32 %307, %290
  %309 = xor i32 %308, %292
  %310 = getelementptr inbounds i8, ptr %.017781791, i64 100
  %311 = load i32, ptr %310, align 4, !tbaa !11
  %312 = xor i32 %288, %289
  %313 = xor i32 %312, %294
  %314 = xor i32 %313, %311
  %315 = xor i32 %314, %187
  %316 = xor i32 %315, %287
  %317 = xor i32 %316, %295
  %318 = xor i32 %317, %297
  %319 = getelementptr inbounds i8, ptr %.017781791, i64 104
  %320 = load i32, ptr %319, align 4, !tbaa !12
  %321 = xor i32 %250, %261
  %322 = and i32 %227, %321
  %323 = xor i32 %322, %291
  %324 = xor i32 %323, %296
  %325 = xor i32 %324, %299
  %326 = xor i32 %325, %320
  %327 = xor i32 %326, %188
  %328 = xor i32 %327, %290
  %329 = xor i32 %328, %295
  %330 = xor i32 %329, %300
  %331 = getelementptr inbounds i8, ptr %.017781791, i64 108
  %332 = load i32, ptr %331, align 4, !tbaa !13
  %333 = xor i32 %321, %273
  %334 = and i32 %239, %333
  %335 = xor i32 %334, %293
  %336 = xor i32 %335, %298
  %337 = xor i32 %336, %301
  %338 = xor i32 %337, %302
  %339 = xor i32 %338, %332
  %340 = xor i32 %339, %189
  %341 = xor i32 %340, %292
  %342 = xor i32 %341, %297
  %343 = xor i32 %342, %300
  %344 = getelementptr inbounds i8, ptr %.017781791, i64 112
  %345 = load i32, ptr %344, align 4, !tbaa !8
  %346 = xor i32 %345, %205
  %347 = getelementptr inbounds i8, ptr %.017781791, i64 116
  %348 = load i32, ptr %347, align 4, !tbaa !11
  %349 = xor i32 %348, %216
  %350 = getelementptr inbounds i8, ptr %.017781791, i64 120
  %351 = load i32, ptr %350, align 4, !tbaa !12
  %352 = xor i32 %351, %227
  %353 = getelementptr inbounds i8, ptr %.017781791, i64 124
  %354 = load i32, ptr %353, align 4, !tbaa !13
  %355 = xor i32 %354, %239
  %356 = getelementptr inbounds i8, ptr %.017771792, i64 12
  %357 = load i32, ptr %356, align 4, !tbaa !14
  %358 = xor i32 %357, %190
  %359 = lshr i32 %250, 2
  %360 = and i32 %359, 1061109567
  %361 = shl i32 %250, 6
  %362 = and i32 %361, -1061109568
  %363 = or disjoint i32 %360, %362
  %364 = lshr i32 %261, 2
  %365 = and i32 %364, 1061109567
  %366 = shl i32 %261, 6
  %367 = and i32 %366, -1061109568
  %368 = or disjoint i32 %365, %367
  %369 = lshr i32 %273, 2
  %370 = and i32 %369, 1061109567
  %371 = shl i32 %273, 6
  %372 = and i32 %371, -1061109568
  %373 = or disjoint i32 %370, %372
  %374 = lshr i32 %285, 2
  %375 = and i32 %374, 1061109567
  %376 = shl i32 %285, 6
  %377 = and i32 %376, -1061109568
  %378 = or disjoint i32 %375, %377
  %379 = lshr i32 %309, 4
  %380 = and i32 %379, 252645135
  %381 = shl i32 %309, 4
  %382 = and i32 %381, -252645136
  %383 = or disjoint i32 %380, %382
  %384 = lshr i32 %318, 4
  %385 = and i32 %384, 252645135
  %386 = shl i32 %318, 4
  %387 = and i32 %386, -252645136
  %388 = or disjoint i32 %385, %387
  %389 = lshr i32 %330, 4
  %390 = and i32 %389, 252645135
  %391 = shl i32 %330, 4
  %392 = and i32 %391, -252645136
  %393 = or disjoint i32 %390, %392
  %394 = lshr i32 %343, 4
  %395 = and i32 %394, 252645135
  %396 = shl i32 %343, 4
  %397 = and i32 %396, -252645136
  %398 = or disjoint i32 %395, %397
  %399 = lshr i32 %346, 6
  %400 = and i32 %399, 50529027
  %401 = shl i32 %346, 2
  %402 = and i32 %401, -50529028
  %403 = or disjoint i32 %400, %402
  %404 = lshr i32 %349, 6
  %405 = and i32 %404, 50529027
  %406 = shl i32 %349, 2
  %407 = and i32 %406, -50529028
  %408 = or disjoint i32 %405, %407
  %409 = lshr i32 %352, 6
  %410 = and i32 %409, 50529027
  %411 = shl i32 %352, 2
  %412 = and i32 %411, -50529028
  %413 = or disjoint i32 %410, %412
  %414 = lshr i32 %355, 6
  %415 = and i32 %414, 50529027
  %416 = shl i32 %355, 2
  %417 = and i32 %416, -50529028
  %418 = or disjoint i32 %415, %417
  %419 = and i32 %358, %383
  %420 = tail call i32 @aead_random_generate_32() #3
  %421 = and i32 %388, %358
  %422 = and i32 %383, %191
  %423 = tail call i32 @aead_random_generate_32() #3
  %424 = and i32 %393, %358
  %425 = and i32 %383, %192
  %426 = tail call i32 @aead_random_generate_32() #3
  %427 = xor i32 %403, %419
  %428 = xor i32 %427, %420
  %429 = xor i32 %428, %423
  %430 = xor i32 %429, %426
  %431 = and i32 %398, %358
  %432 = and i32 %388, %191
  %433 = tail call i32 @aead_random_generate_32() #3
  %434 = and i32 %393, %191
  %435 = and i32 %388, %192
  %436 = tail call i32 @aead_random_generate_32() #3
  %437 = xor i32 %422, %408
  %438 = xor i32 %437, %421
  %439 = xor i32 %438, %432
  %440 = xor i32 %439, %420
  %441 = xor i32 %440, %433
  %442 = xor i32 %441, %436
  %443 = and i32 %398, %191
  %444 = and i32 %393, %192
  %445 = tail call i32 @aead_random_generate_32() #3
  %446 = xor i32 %413, %425
  %447 = xor i32 %446, %435
  %448 = xor i32 %447, %424
  %449 = xor i32 %448, %434
  %450 = xor i32 %449, %444
  %451 = xor i32 %450, %423
  %452 = xor i32 %451, %433
  %453 = xor i32 %452, %445
  %454 = and i32 %398, %192
  %455 = and i32 %393, %193
  %456 = and i32 %398, %193
  %457 = xor i32 %388, %383
  %458 = and i32 %457, %193
  %459 = xor i32 %458, %418
  %460 = xor i32 %459, %455
  %461 = xor i32 %460, %454
  %462 = xor i32 %461, %443
  %463 = xor i32 %462, %431
  %464 = xor i32 %463, %456
  %465 = xor i32 %464, %426
  %466 = xor i32 %465, %436
  %467 = xor i32 %466, %445
  %468 = xor i32 %363, -1
  %469 = xor i32 %383, %468
  %470 = xor i32 %388, %368
  %471 = xor i32 %393, %373
  %472 = xor i32 %398, %378
  %473 = xor i32 %430, %468
  %474 = xor i32 %442, %368
  %475 = xor i32 %453, %373
  %476 = xor i32 %467, %378
  %477 = or i32 %358, %469
  %478 = xor i32 %430, %477
  %479 = tail call i32 @aead_random_generate_32() #3
  %480 = xor i32 %478, %479
  %481 = xor i32 %358, -1
  %482 = and i32 %470, %481
  %483 = xor i32 %383, %363
  %484 = and i32 %483, %191
  %485 = xor i32 %482, %484
  %486 = tail call i32 @aead_random_generate_32() #3
  %487 = xor i32 %480, %486
  %488 = and i32 %471, %481
  %489 = tail call i32 @aead_random_generate_32() #3
  %490 = xor i32 %487, %489
  %491 = and i32 %472, %481
  %492 = and i32 %470, %191
  %493 = xor i32 %485, %492
  %494 = xor i32 %493, %479
  %495 = xor i32 %494, %442
  %496 = tail call i32 @aead_random_generate_32() #3
  %497 = xor i32 %495, %496
  %498 = and i32 %471, %191
  %499 = tail call i32 @aead_random_generate_32() #3
  %500 = xor i32 %497, %499
  %501 = and i32 %472, %191
  %502 = and i32 %471, %192
  %503 = tail call i32 @aead_random_generate_32() #3
  %504 = xor i32 %470, %483
  %505 = and i32 %504, %192
  %506 = xor i32 %505, %488
  %507 = xor i32 %506, %498
  %508 = xor i32 %507, %502
  %509 = xor i32 %508, %486
  %510 = xor i32 %509, %496
  %511 = xor i32 %510, %453
  %512 = xor i32 %511, %503
  %513 = and i32 %472, %192
  %514 = and i32 %472, %193
  %515 = xor i32 %504, %471
  %516 = and i32 %515, %193
  %517 = xor i32 %516, %513
  %518 = xor i32 %517, %491
  %519 = xor i32 %518, %501
  %520 = xor i32 %519, %514
  %521 = xor i32 %520, %489
  %522 = xor i32 %521, %499
  %523 = xor i32 %522, %503
  %524 = xor i32 %523, %467
  %525 = and i32 %473, %469
  %526 = xor i32 %525, %358
  %527 = tail call i32 @aead_random_generate_32() #3
  %528 = xor i32 %526, %527
  %529 = and i32 %474, %469
  %530 = and i32 %473, %470
  %531 = tail call i32 @aead_random_generate_32() #3
  %532 = xor i32 %528, %531
  %533 = and i32 %475, %469
  %534 = tail call i32 @aead_random_generate_32() #3
  %535 = xor i32 %532, %534
  %536 = and i32 %476, %469
  %537 = and i32 %474, %470
  %538 = tail call i32 @aead_random_generate_32() #3
  %539 = and i32 %475, %470
  %540 = tail call i32 @aead_random_generate_32() #3
  %541 = xor i32 %530, %529
  %542 = xor i32 %541, %537
  %543 = xor i32 %542, %191
  %544 = xor i32 %543, %527
  %545 = xor i32 %544, %538
  %546 = xor i32 %545, %540
  %547 = and i32 %476, %470
  %548 = and i32 %475, %471
  %549 = tail call i32 @aead_random_generate_32() #3
  %550 = xor i32 %473, %474
  %551 = and i32 %550, %471
  %552 = xor i32 %551, %533
  %553 = xor i32 %552, %539
  %554 = xor i32 %553, %548
  %555 = xor i32 %554, %192
  %556 = xor i32 %555, %531
  %557 = xor i32 %556, %538
  %558 = xor i32 %557, %549
  %559 = and i32 %476, %471
  %560 = and i32 %476, %472
  %561 = xor i32 %550, %475
  %562 = and i32 %561, %472
  %563 = xor i32 %562, %559
  %564 = xor i32 %563, %536
  %565 = xor i32 %564, %547
  %566 = xor i32 %565, %560
  %567 = xor i32 %566, %193
  %568 = xor i32 %567, %534
  %569 = xor i32 %568, %540
  %570 = xor i32 %569, %549
  %571 = and i32 %535, %490
  %572 = tail call i32 @aead_random_generate_32() #3
  %573 = and i32 %535, %500
  %574 = and i32 %546, %490
  %575 = tail call i32 @aead_random_generate_32() #3
  %576 = and i32 %558, %490
  %577 = tail call i32 @aead_random_generate_32() #3
  %578 = and i32 %570, %490
  %579 = and i32 %546, %500
  %580 = tail call i32 @aead_random_generate_32() #3
  %581 = and i32 %558, %500
  %582 = tail call i32 @aead_random_generate_32() #3
  %583 = and i32 %570, %500
  %584 = and i32 %558, %512
  %585 = tail call i32 @aead_random_generate_32() #3
  %586 = and i32 %570, %512
  %587 = and i32 %570, %524
  %588 = getelementptr inbounds i8, ptr %.017781791, i64 64
  %589 = load i32, ptr %588, align 4, !tbaa !8
  %590 = xor i32 %571, %589
  %591 = xor i32 %590, %469
  %592 = xor i32 %591, %572
  %593 = xor i32 %592, %575
  %594 = xor i32 %593, %577
  %595 = getelementptr inbounds i8, ptr %.017781791, i64 68
  %596 = load i32, ptr %595, align 4, !tbaa !11
  %597 = xor i32 %573, %574
  %598 = xor i32 %597, %579
  %599 = xor i32 %598, %596
  %600 = xor i32 %599, %470
  %601 = xor i32 %600, %572
  %602 = xor i32 %601, %580
  %603 = xor i32 %602, %582
  %604 = getelementptr inbounds i8, ptr %.017781791, i64 72
  %605 = load i32, ptr %604, align 4, !tbaa !12
  %606 = xor i32 %535, %546
  %607 = and i32 %512, %606
  %608 = xor i32 %607, %576
  %609 = xor i32 %608, %581
  %610 = xor i32 %609, %584
  %611 = xor i32 %610, %605
  %612 = xor i32 %611, %471
  %613 = xor i32 %612, %575
  %614 = xor i32 %613, %580
  %615 = xor i32 %614, %585
  %616 = getelementptr inbounds i8, ptr %.017781791, i64 76
  %617 = load i32, ptr %616, align 4, !tbaa !13
  %618 = xor i32 %606, %558
  %619 = and i32 %524, %618
  %620 = xor i32 %619, %578
  %621 = xor i32 %620, %583
  %622 = xor i32 %621, %586
  %623 = xor i32 %622, %587
  %624 = xor i32 %623, %617
  %625 = xor i32 %624, %472
  %626 = xor i32 %625, %577
  %627 = xor i32 %626, %582
  %628 = xor i32 %627, %585
  %629 = getelementptr inbounds i8, ptr %.017781791, i64 80
  %630 = load i32, ptr %629, align 4, !tbaa !8
  %631 = xor i32 %630, %490
  %632 = getelementptr inbounds i8, ptr %.017781791, i64 84
  %633 = load i32, ptr %632, align 4, !tbaa !11
  %634 = xor i32 %633, %500
  %635 = getelementptr inbounds i8, ptr %.017781791, i64 88
  %636 = load i32, ptr %635, align 4, !tbaa !12
  %637 = xor i32 %636, %512
  %638 = getelementptr inbounds i8, ptr %.017781791, i64 92
  %639 = load i32, ptr %638, align 4, !tbaa !13
  %640 = xor i32 %639, %524
  %641 = getelementptr inbounds i8, ptr %.017771792, i64 8
  %642 = load i32, ptr %641, align 4, !tbaa !14
  %643 = xor i32 %642, %473
  %644 = lshr i32 %594, 1
  %645 = xor i32 %644, %594
  %646 = and i32 %645, 1431655765
  %647 = mul nuw i32 %646, 3
  %648 = xor i32 %647, %594
  %649 = lshr i32 %603, 1
  %650 = xor i32 %649, %603
  %651 = and i32 %650, 1431655765
  %652 = mul nuw i32 %651, 3
  %653 = xor i32 %652, %603
  %654 = lshr i32 %615, 1
  %655 = xor i32 %654, %615
  %656 = and i32 %655, 1431655765
  %657 = mul nuw i32 %656, 3
  %658 = xor i32 %657, %615
  %659 = lshr i32 %628, 1
  %660 = xor i32 %659, %628
  %661 = and i32 %660, 1431655765
  %662 = mul nuw i32 %661, 3
  %663 = xor i32 %662, %628
  %664 = lshr i32 %631, 1
  %665 = xor i32 %664, %631
  %666 = and i32 %665, 21845
  %667 = mul nuw nsw i32 %666, 3
  %668 = xor i32 %667, %631
  %669 = lshr i32 %634, 1
  %670 = xor i32 %669, %634
  %671 = and i32 %670, 21845
  %672 = mul nuw nsw i32 %671, 3
  %673 = xor i32 %672, %634
  %674 = lshr i32 %637, 1
  %675 = xor i32 %674, %637
  %676 = and i32 %675, 21845
  %677 = mul nuw nsw i32 %676, 3
  %678 = xor i32 %677, %637
  %679 = lshr i32 %640, 1
  %680 = xor i32 %679, %640
  %681 = and i32 %680, 21845
  %682 = mul nuw nsw i32 %681, 3
  %683 = xor i32 %682, %640
  %684 = tail call i32 @llvm.fshl.i32(i32 %668, i32 %668, i32 16)
  %685 = tail call i32 @llvm.fshl.i32(i32 %673, i32 %673, i32 16)
  %686 = tail call i32 @llvm.fshl.i32(i32 %678, i32 %678, i32 16)
  %687 = tail call i32 @llvm.fshl.i32(i32 %683, i32 %683, i32 16)
  %688 = lshr i32 %535, 1
  %689 = xor i32 %688, %535
  %690 = and i32 %689, 1431633920
  %691 = mul nuw i32 %690, 3
  %692 = xor i32 %691, %535
  %693 = lshr i32 %546, 1
  %694 = xor i32 %693, %546
  %695 = and i32 %694, 1431633920
  %696 = mul nuw i32 %695, 3
  %697 = xor i32 %696, %546
  %698 = lshr i32 %558, 1
  %699 = xor i32 %698, %558
  %700 = and i32 %699, 1431633920
  %701 = mul nuw i32 %700, 3
  %702 = xor i32 %701, %558
  %703 = lshr i32 %570, 1
  %704 = xor i32 %703, %570
  %705 = and i32 %704, 1431633920
  %706 = mul nuw i32 %705, 3
  %707 = xor i32 %706, %570
  %708 = tail call i32 @llvm.fshl.i32(i32 %692, i32 %692, i32 16)
  %709 = tail call i32 @llvm.fshl.i32(i32 %697, i32 %697, i32 16)
  %710 = tail call i32 @llvm.fshl.i32(i32 %702, i32 %702, i32 16)
  %711 = tail call i32 @llvm.fshl.i32(i32 %707, i32 %707, i32 16)
  %712 = and i32 %648, %643
  %713 = tail call i32 @aead_random_generate_32() #3
  %714 = and i32 %653, %643
  %715 = and i32 %648, %474
  %716 = tail call i32 @aead_random_generate_32() #3
  %717 = and i32 %658, %643
  %718 = tail call i32 @aead_random_generate_32() #3
  %719 = xor i32 %712, %684
  %720 = xor i32 %719, %713
  %721 = xor i32 %720, %716
  %722 = xor i32 %721, %718
  %723 = and i32 %663, %643
  %724 = and i32 %653, %474
  %725 = tail call i32 @aead_random_generate_32() #3
  %726 = and i32 %658, %474
  %727 = tail call i32 @aead_random_generate_32() #3
  %728 = xor i32 %715, %685
  %729 = xor i32 %728, %714
  %730 = xor i32 %729, %724
  %731 = xor i32 %730, %713
  %732 = xor i32 %731, %725
  %733 = xor i32 %732, %727
  %734 = and i32 %663, %474
  %735 = and i32 %658, %475
  %736 = tail call i32 @aead_random_generate_32() #3
  %737 = xor i32 %648, %653
  %738 = and i32 %737, %475
  %739 = xor i32 %738, %726
  %740 = xor i32 %739, %686
  %741 = xor i32 %740, %717
  %742 = xor i32 %741, %735
  %743 = xor i32 %742, %716
  %744 = xor i32 %743, %725
  %745 = xor i32 %744, %736
  %746 = and i32 %663, %475
  %747 = and i32 %663, %476
  %748 = xor i32 %737, %658
  %749 = and i32 %748, %476
  %750 = xor i32 %749, %687
  %751 = xor i32 %750, %746
  %752 = xor i32 %751, %734
  %753 = xor i32 %752, %723
  %754 = xor i32 %753, %747
  %755 = xor i32 %754, %718
  %756 = xor i32 %755, %727
  %757 = xor i32 %756, %736
  %758 = xor i32 %708, -1
  %759 = xor i32 %648, %758
  %760 = xor i32 %653, %709
  %761 = xor i32 %658, %710
  %762 = xor i32 %663, %711
  %763 = xor i32 %722, %758
  %764 = xor i32 %733, %709
  %765 = xor i32 %745, %710
  %766 = xor i32 %757, %711
  %767 = or i32 %759, %643
  %768 = tail call i32 @aead_random_generate_32() #3
  %769 = xor i32 %643, -1
  %770 = and i32 %760, %769
  %771 = xor i32 %648, %708
  %772 = and i32 %771, %474
  %773 = xor i32 %770, %772
  %774 = tail call i32 @aead_random_generate_32() #3
  %775 = and i32 %761, %769
  %776 = tail call i32 @aead_random_generate_32() #3
  %777 = xor i32 %768, %767
  %778 = xor i32 %777, %722
  %779 = xor i32 %778, %774
  %780 = xor i32 %779, %776
  %781 = and i32 %762, %769
  %782 = and i32 %760, %474
  %783 = xor i32 %773, %782
  %784 = xor i32 %783, %768
  %785 = tail call i32 @aead_random_generate_32() #3
  %786 = and i32 %761, %474
  %787 = tail call i32 @aead_random_generate_32() #3
  %788 = xor i32 %784, %785
  %789 = xor i32 %788, %733
  %790 = xor i32 %789, %787
  %791 = and i32 %762, %474
  %792 = and i32 %761, %475
  %793 = tail call i32 @aead_random_generate_32() #3
  %794 = xor i32 %760, %771
  %795 = and i32 %794, %475
  %796 = xor i32 %795, %775
  %797 = xor i32 %796, %786
  %798 = xor i32 %797, %792
  %799 = xor i32 %798, %774
  %800 = xor i32 %799, %785
  %801 = xor i32 %800, %793
  %802 = xor i32 %801, %745
  %803 = and i32 %762, %475
  %804 = and i32 %762, %476
  %805 = xor i32 %794, %761
  %806 = and i32 %805, %476
  %807 = xor i32 %806, %803
  %808 = xor i32 %807, %781
  %809 = xor i32 %808, %791
  %810 = xor i32 %809, %804
  %811 = xor i32 %810, %776
  %812 = xor i32 %811, %787
  %813 = xor i32 %812, %793
  %814 = xor i32 %813, %757
  %815 = and i32 %763, %759
  %816 = xor i32 %815, %643
  %817 = tail call i32 @aead_random_generate_32() #3
  %818 = xor i32 %816, %817
  %819 = and i32 %764, %759
  %820 = and i32 %763, %760
  %821 = tail call i32 @aead_random_generate_32() #3
  %822 = xor i32 %818, %821
  %823 = and i32 %765, %759
  %824 = tail call i32 @aead_random_generate_32() #3
  %825 = xor i32 %822, %824
  %826 = and i32 %766, %759
  %827 = and i32 %764, %760
  %828 = tail call i32 @aead_random_generate_32() #3
  %829 = and i32 %765, %760
  %830 = tail call i32 @aead_random_generate_32() #3
  %831 = xor i32 %820, %819
  %832 = xor i32 %831, %827
  %833 = xor i32 %832, %474
  %834 = xor i32 %833, %817
  %835 = xor i32 %834, %828
  %836 = xor i32 %835, %830
  %837 = and i32 %766, %760
  %838 = and i32 %765, %761
  %839 = tail call i32 @aead_random_generate_32() #3
  %840 = xor i32 %763, %764
  %841 = and i32 %840, %761
  %842 = xor i32 %841, %823
  %843 = xor i32 %842, %829
  %844 = xor i32 %843, %838
  %845 = xor i32 %844, %475
  %846 = xor i32 %845, %821
  %847 = xor i32 %846, %828
  %848 = xor i32 %847, %839
  %849 = and i32 %766, %761
  %850 = and i32 %766, %762
  %851 = xor i32 %840, %765
  %852 = and i32 %762, %851
  %853 = xor i32 %852, %849
  %854 = xor i32 %853, %826
  %855 = xor i32 %854, %837
  %856 = xor i32 %855, %850
  %857 = xor i32 %856, %476
  %858 = xor i32 %857, %824
  %859 = xor i32 %858, %830
  %860 = xor i32 %859, %839
  %861 = and i32 %825, %780
  %862 = tail call i32 @aead_random_generate_32() #3
  %863 = and i32 %825, %790
  %864 = and i32 %836, %780
  %865 = tail call i32 @aead_random_generate_32() #3
  %866 = and i32 %848, %780
  %867 = tail call i32 @aead_random_generate_32() #3
  %868 = and i32 %860, %780
  %869 = and i32 %836, %790
  %870 = tail call i32 @aead_random_generate_32() #3
  %871 = and i32 %848, %790
  %872 = tail call i32 @aead_random_generate_32() #3
  %873 = and i32 %860, %790
  %874 = and i32 %848, %802
  %875 = tail call i32 @aead_random_generate_32() #3
  %876 = and i32 %860, %802
  %877 = and i32 %860, %814
  %878 = getelementptr inbounds i8, ptr %.017781791, i64 32
  %879 = load i32, ptr %878, align 4, !tbaa !8
  %880 = xor i32 %861, %879
  %881 = xor i32 %880, %759
  %882 = xor i32 %881, %862
  %883 = xor i32 %882, %865
  %884 = xor i32 %883, %867
  %885 = getelementptr inbounds i8, ptr %.017781791, i64 36
  %886 = load i32, ptr %885, align 4, !tbaa !11
  %887 = xor i32 %863, %864
  %888 = xor i32 %887, %869
  %889 = xor i32 %888, %886
  %890 = xor i32 %889, %760
  %891 = xor i32 %890, %862
  %892 = xor i32 %891, %870
  %893 = xor i32 %892, %872
  %894 = getelementptr inbounds i8, ptr %.017781791, i64 40
  %895 = load i32, ptr %894, align 4, !tbaa !12
  %896 = xor i32 %825, %836
  %897 = and i32 %802, %896
  %898 = xor i32 %897, %866
  %899 = xor i32 %898, %871
  %900 = xor i32 %899, %874
  %901 = xor i32 %900, %895
  %902 = xor i32 %901, %761
  %903 = xor i32 %902, %865
  %904 = xor i32 %903, %870
  %905 = xor i32 %904, %875
  %906 = getelementptr inbounds i8, ptr %.017781791, i64 44
  %907 = load i32, ptr %906, align 4, !tbaa !13
  %908 = xor i32 %896, %848
  %909 = and i32 %814, %908
  %910 = xor i32 %909, %868
  %911 = xor i32 %910, %873
  %912 = xor i32 %911, %876
  %913 = xor i32 %912, %877
  %914 = xor i32 %913, %907
  %915 = xor i32 %914, %762
  %916 = xor i32 %915, %867
  %917 = xor i32 %916, %872
  %918 = xor i32 %917, %875
  %919 = getelementptr inbounds i8, ptr %.017781791, i64 48
  %920 = load i32, ptr %919, align 4, !tbaa !8
  %921 = xor i32 %920, %780
  %922 = getelementptr inbounds i8, ptr %.017781791, i64 52
  %923 = load i32, ptr %922, align 4, !tbaa !11
  %924 = xor i32 %923, %790
  %925 = getelementptr inbounds i8, ptr %.017781791, i64 56
  %926 = load i32, ptr %925, align 4, !tbaa !12
  %927 = xor i32 %926, %802
  %928 = getelementptr inbounds i8, ptr %.017781791, i64 60
  %929 = load i32, ptr %928, align 4, !tbaa !13
  %930 = xor i32 %929, %814
  %931 = getelementptr inbounds i8, ptr %.017771792, i64 4
  %932 = load i32, ptr %931, align 4, !tbaa !14
  %933 = xor i32 %932, %763
  %934 = lshr i32 %825, 12
  %935 = and i32 %934, 983055
  %936 = shl i32 %825, 4
  %937 = and i32 %936, -983056
  %938 = or disjoint i32 %935, %937
  %939 = lshr i32 %836, 12
  %940 = and i32 %939, 983055
  %941 = shl i32 %836, 4
  %942 = and i32 %941, -983056
  %943 = or disjoint i32 %940, %942
  %944 = lshr i32 %848, 12
  %945 = and i32 %944, 983055
  %946 = shl i32 %848, 4
  %947 = and i32 %946, -983056
  %948 = or disjoint i32 %945, %947
  %949 = lshr i32 %860, 12
  %950 = and i32 %949, 983055
  %951 = shl i32 %860, 4
  %952 = and i32 %951, -983056
  %953 = or disjoint i32 %950, %952
  %954 = lshr i32 %884, 8
  %955 = and i32 %954, 16711935
  %956 = shl i32 %884, 8
  %957 = and i32 %956, -16711936
  %958 = or disjoint i32 %955, %957
  %959 = lshr i32 %893, 8
  %960 = and i32 %959, 16711935
  %961 = shl i32 %893, 8
  %962 = and i32 %961, -16711936
  %963 = or disjoint i32 %960, %962
  %964 = lshr i32 %905, 8
  %965 = and i32 %964, 16711935
  %966 = shl i32 %905, 8
  %967 = and i32 %966, -16711936
  %968 = or disjoint i32 %965, %967
  %969 = lshr i32 %918, 8
  %970 = and i32 %969, 16711935
  %971 = shl i32 %918, 8
  %972 = and i32 %971, -16711936
  %973 = or disjoint i32 %970, %972
  %974 = lshr i32 %921, 4
  %975 = and i32 %974, 268374015
  %976 = shl i32 %921, 12
  %977 = and i32 %976, -268374016
  %978 = or disjoint i32 %975, %977
  %979 = lshr i32 %924, 4
  %980 = and i32 %979, 268374015
  %981 = shl i32 %924, 12
  %982 = and i32 %981, -268374016
  %983 = or disjoint i32 %980, %982
  %984 = lshr i32 %927, 4
  %985 = and i32 %984, 268374015
  %986 = shl i32 %927, 12
  %987 = and i32 %986, -268374016
  %988 = or disjoint i32 %985, %987
  %989 = lshr i32 %930, 4
  %990 = and i32 %989, 268374015
  %991 = shl i32 %930, 12
  %992 = and i32 %991, -268374016
  %993 = or disjoint i32 %990, %992
  %994 = and i32 %933, %958
  %995 = tail call i32 @aead_random_generate_32() #3
  %996 = and i32 %963, %933
  %997 = and i32 %958, %764
  %998 = tail call i32 @aead_random_generate_32() #3
  %999 = and i32 %968, %933
  %1000 = and i32 %958, %765
  %1001 = tail call i32 @aead_random_generate_32() #3
  %1002 = xor i32 %978, %994
  %1003 = xor i32 %1002, %995
  %1004 = xor i32 %1003, %998
  %1005 = xor i32 %1004, %1001
  %1006 = and i32 %973, %933
  %1007 = and i32 %963, %764
  %1008 = tail call i32 @aead_random_generate_32() #3
  %1009 = and i32 %968, %764
  %1010 = and i32 %963, %765
  %1011 = tail call i32 @aead_random_generate_32() #3
  %1012 = xor i32 %997, %983
  %1013 = xor i32 %1012, %996
  %1014 = xor i32 %1013, %1007
  %1015 = xor i32 %1014, %995
  %1016 = xor i32 %1015, %1008
  %1017 = xor i32 %1016, %1011
  %1018 = and i32 %973, %764
  %1019 = and i32 %968, %765
  %1020 = tail call i32 @aead_random_generate_32() #3
  %1021 = xor i32 %988, %1000
  %1022 = xor i32 %1021, %1010
  %1023 = xor i32 %1022, %999
  %1024 = xor i32 %1023, %1009
  %1025 = xor i32 %1024, %1019
  %1026 = xor i32 %1025, %998
  %1027 = xor i32 %1026, %1008
  %1028 = xor i32 %1027, %1020
  %1029 = and i32 %973, %765
  %1030 = and i32 %968, %766
  %1031 = and i32 %973, %766
  %1032 = xor i32 %963, %958
  %1033 = and i32 %1032, %766
  %1034 = xor i32 %1033, %993
  %1035 = xor i32 %1034, %1030
  %1036 = xor i32 %1035, %1029
  %1037 = xor i32 %1036, %1018
  %1038 = xor i32 %1037, %1006
  %1039 = xor i32 %1038, %1031
  %1040 = xor i32 %1039, %1001
  %1041 = xor i32 %1040, %1011
  %1042 = xor i32 %1041, %1020
  %1043 = xor i32 %938, -1
  %1044 = xor i32 %958, %1043
  %1045 = xor i32 %963, %943
  %1046 = xor i32 %968, %948
  %1047 = xor i32 %973, %953
  %1048 = xor i32 %1005, %1043
  %1049 = xor i32 %1017, %943
  %1050 = xor i32 %1028, %948
  %1051 = xor i32 %1042, %953
  %1052 = or i32 %933, %1044
  %1053 = xor i32 %1005, %1052
  %1054 = tail call i32 @aead_random_generate_32() #3
  %1055 = xor i32 %1053, %1054
  %1056 = xor i32 %933, -1
  %1057 = and i32 %1045, %1056
  %1058 = xor i32 %958, %938
  %1059 = and i32 %1058, %764
  %1060 = xor i32 %1057, %1059
  %1061 = tail call i32 @aead_random_generate_32() #3
  %1062 = xor i32 %1055, %1061
  %1063 = and i32 %1046, %1056
  %1064 = tail call i32 @aead_random_generate_32() #3
  %1065 = xor i32 %1062, %1064
  %1066 = and i32 %1047, %1056
  %1067 = and i32 %1045, %764
  %1068 = xor i32 %1060, %1067
  %1069 = xor i32 %1068, %1054
  %1070 = xor i32 %1069, %1017
  %1071 = tail call i32 @aead_random_generate_32() #3
  %1072 = xor i32 %1070, %1071
  %1073 = and i32 %1046, %764
  %1074 = tail call i32 @aead_random_generate_32() #3
  %1075 = xor i32 %1072, %1074
  %1076 = and i32 %1047, %764
  %1077 = and i32 %1046, %765
  %1078 = tail call i32 @aead_random_generate_32() #3
  %1079 = xor i32 %1045, %1058
  %1080 = and i32 %1079, %765
  %1081 = xor i32 %1080, %1063
  %1082 = xor i32 %1081, %1073
  %1083 = xor i32 %1082, %1077
  %1084 = xor i32 %1083, %1061
  %1085 = xor i32 %1084, %1071
  %1086 = xor i32 %1085, %1028
  %1087 = xor i32 %1086, %1078
  %1088 = and i32 %1047, %765
  %1089 = and i32 %1047, %766
  %1090 = xor i32 %1079, %1046
  %1091 = and i32 %1090, %766
  %1092 = xor i32 %1091, %1088
  %1093 = xor i32 %1092, %1066
  %1094 = xor i32 %1093, %1076
  %1095 = xor i32 %1094, %1089
  %1096 = xor i32 %1095, %1064
  %1097 = xor i32 %1096, %1074
  %1098 = xor i32 %1097, %1078
  %1099 = xor i32 %1098, %1042
  %1100 = and i32 %1048, %1044
  %1101 = xor i32 %1100, %933
  %1102 = tail call i32 @aead_random_generate_32() #3
  %1103 = xor i32 %1101, %1102
  %1104 = and i32 %1049, %1044
  %1105 = and i32 %1048, %1045
  %1106 = tail call i32 @aead_random_generate_32() #3
  %1107 = xor i32 %1103, %1106
  %1108 = and i32 %1050, %1044
  %1109 = tail call i32 @aead_random_generate_32() #3
  %1110 = xor i32 %1107, %1109
  %1111 = and i32 %1051, %1044
  %1112 = and i32 %1049, %1045
  %1113 = tail call i32 @aead_random_generate_32() #3
  %1114 = and i32 %1050, %1045
  %1115 = tail call i32 @aead_random_generate_32() #3
  %1116 = xor i32 %1105, %1104
  %1117 = xor i32 %1116, %1112
  %1118 = xor i32 %1117, %764
  %1119 = xor i32 %1118, %1102
  %1120 = xor i32 %1119, %1113
  %1121 = xor i32 %1120, %1115
  %1122 = and i32 %1051, %1045
  %1123 = and i32 %1050, %1046
  %1124 = tail call i32 @aead_random_generate_32() #3
  %1125 = xor i32 %1048, %1049
  %1126 = and i32 %1125, %1046
  %1127 = xor i32 %1126, %1108
  %1128 = xor i32 %1127, %1114
  %1129 = xor i32 %1128, %1123
  %1130 = xor i32 %1129, %765
  %1131 = xor i32 %1130, %1106
  %1132 = xor i32 %1131, %1113
  %1133 = xor i32 %1132, %1124
  %1134 = and i32 %1051, %1046
  %1135 = and i32 %1051, %1047
  %1136 = xor i32 %1125, %1050
  %1137 = and i32 %1047, %1136
  %1138 = xor i32 %1137, %1134
  %1139 = xor i32 %1138, %1111
  %1140 = xor i32 %1139, %1122
  %1141 = xor i32 %1140, %1135
  %1142 = xor i32 %1141, %766
  %1143 = xor i32 %1142, %1109
  %1144 = xor i32 %1143, %1115
  %1145 = xor i32 %1144, %1124
  %1146 = and i32 %1110, %1065
  %1147 = tail call i32 @aead_random_generate_32() #3
  %1148 = and i32 %1110, %1075
  %1149 = and i32 %1121, %1065
  %1150 = tail call i32 @aead_random_generate_32() #3
  %1151 = and i32 %1133, %1065
  %1152 = tail call i32 @aead_random_generate_32() #3
  %1153 = and i32 %1145, %1065
  %1154 = and i32 %1121, %1075
  %1155 = tail call i32 @aead_random_generate_32() #3
  %1156 = and i32 %1133, %1075
  %1157 = tail call i32 @aead_random_generate_32() #3
  %1158 = and i32 %1145, %1075
  %1159 = and i32 %1133, %1087
  %1160 = tail call i32 @aead_random_generate_32() #3
  %1161 = and i32 %1145, %1087
  %1162 = and i32 %1145, %1099
  %1163 = load i32, ptr %.017781791, align 4, !tbaa !8
  %1164 = xor i32 %1146, %1163
  %1165 = xor i32 %1164, %1044
  %1166 = xor i32 %1165, %1147
  %1167 = xor i32 %1166, %1150
  %1168 = xor i32 %1167, %1152
  %1169 = getelementptr inbounds i8, ptr %.017781791, i64 4
  %1170 = load i32, ptr %1169, align 4, !tbaa !11
  %1171 = xor i32 %1148, %1149
  %1172 = xor i32 %1171, %1154
  %1173 = xor i32 %1172, %1170
  %1174 = xor i32 %1173, %1045
  %1175 = xor i32 %1174, %1147
  %1176 = xor i32 %1175, %1155
  %1177 = xor i32 %1176, %1157
  %1178 = getelementptr inbounds i8, ptr %.017781791, i64 8
  %1179 = load i32, ptr %1178, align 4, !tbaa !12
  %1180 = xor i32 %1110, %1121
  %1181 = and i32 %1087, %1180
  %1182 = xor i32 %1181, %1151
  %1183 = xor i32 %1182, %1156
  %1184 = xor i32 %1183, %1159
  %1185 = xor i32 %1184, %1179
  %1186 = xor i32 %1185, %1046
  %1187 = xor i32 %1186, %1150
  %1188 = xor i32 %1187, %1155
  %1189 = xor i32 %1188, %1160
  %1190 = getelementptr inbounds i8, ptr %.017781791, i64 12
  %1191 = load i32, ptr %1190, align 4, !tbaa !13
  %1192 = xor i32 %1180, %1133
  %1193 = and i32 %1099, %1192
  %1194 = xor i32 %1193, %1153
  %1195 = xor i32 %1194, %1158
  %1196 = xor i32 %1195, %1161
  %1197 = xor i32 %1196, %1162
  %1198 = xor i32 %1197, %1191
  %1199 = xor i32 %1198, %1047
  %1200 = xor i32 %1199, %1152
  %1201 = xor i32 %1200, %1157
  %1202 = xor i32 %1201, %1160
  %1203 = getelementptr inbounds i8, ptr %.017781791, i64 16
  %1204 = load i32, ptr %1203, align 4, !tbaa !8
  %1205 = xor i32 %1204, %1065
  %1206 = getelementptr inbounds i8, ptr %.017781791, i64 20
  %1207 = load i32, ptr %1206, align 4, !tbaa !11
  %1208 = xor i32 %1207, %1075
  %1209 = getelementptr inbounds i8, ptr %.017781791, i64 24
  %1210 = load i32, ptr %1209, align 4, !tbaa !12
  %1211 = xor i32 %1210, %1087
  %1212 = getelementptr inbounds i8, ptr %.017781791, i64 28
  %1213 = load i32, ptr %1212, align 4, !tbaa !13
  %1214 = xor i32 %1213, %1099
  %1215 = load i32, ptr %.017771792, align 4, !tbaa !14
  %1216 = xor i32 %1215, %1048
  %1217 = lshr i32 %1168, 2
  %1218 = and i32 %1217, 858993459
  %1219 = shl i32 %1168, 2
  %1220 = and i32 %1219, -858993460
  %1221 = or disjoint i32 %1218, %1220
  %1222 = lshr i32 %1177, 2
  %1223 = and i32 %1222, 858993459
  %1224 = shl i32 %1177, 2
  %1225 = and i32 %1224, -858993460
  %1226 = or disjoint i32 %1223, %1225
  %1227 = lshr i32 %1189, 2
  %1228 = and i32 %1227, 858993459
  %1229 = shl i32 %1189, 2
  %1230 = and i32 %1229, -858993460
  %1231 = or disjoint i32 %1228, %1230
  %1232 = lshr i32 %1202, 2
  %1233 = and i32 %1232, 858993459
  %1234 = shl i32 %1202, 2
  %1235 = and i32 %1234, -858993460
  %1236 = or disjoint i32 %1233, %1235
  %1237 = lshr i32 %1205, 1
  %1238 = and i32 %1237, 2004318071
  %1239 = shl i32 %1205, 3
  %1240 = and i32 %1239, -2004318072
  %1241 = or disjoint i32 %1238, %1240
  %1242 = lshr i32 %1208, 1
  %1243 = and i32 %1242, 2004318071
  %1244 = shl i32 %1208, 3
  %1245 = and i32 %1244, -2004318072
  %1246 = or disjoint i32 %1243, %1245
  %1247 = lshr i32 %1211, 1
  %1248 = and i32 %1247, 2004318071
  %1249 = shl i32 %1211, 3
  %1250 = and i32 %1249, -2004318072
  %1251 = or disjoint i32 %1248, %1250
  %1252 = lshr i32 %1214, 1
  %1253 = and i32 %1252, 2004318071
  %1254 = shl i32 %1214, 3
  %1255 = and i32 %1254, -2004318072
  %1256 = or disjoint i32 %1253, %1255
  %1257 = lshr i32 %1110, 3
  %1258 = and i32 %1257, 286331153
  %1259 = shl i32 %1110, 1
  %1260 = and i32 %1259, -286331154
  %1261 = or disjoint i32 %1258, %1260
  %1262 = lshr i32 %1121, 3
  %1263 = and i32 %1262, 286331153
  %1264 = shl i32 %1121, 1
  %1265 = and i32 %1264, -286331154
  %1266 = or disjoint i32 %1263, %1265
  %1267 = lshr i32 %1133, 3
  %1268 = and i32 %1267, 286331153
  %1269 = shl i32 %1133, 1
  %1270 = and i32 %1269, -286331154
  %1271 = or disjoint i32 %1268, %1270
  %1272 = lshr i32 %1145, 3
  %1273 = and i32 %1272, 286331153
  %1274 = shl i32 %1145, 1
  %1275 = and i32 %1274, -286331154
  %1276 = or disjoint i32 %1273, %1275
  %1277 = and i32 %1216, %1221
  %1278 = tail call i32 @aead_random_generate_32() #3
  %1279 = and i32 %1226, %1216
  %1280 = and i32 %1221, %1049
  %1281 = tail call i32 @aead_random_generate_32() #3
  %1282 = and i32 %1231, %1216
  %1283 = and i32 %1221, %1050
  %1284 = tail call i32 @aead_random_generate_32() #3
  %1285 = xor i32 %1241, %1277
  %1286 = xor i32 %1285, %1278
  %1287 = xor i32 %1286, %1281
  %1288 = xor i32 %1287, %1284
  %1289 = and i32 %1236, %1216
  %1290 = and i32 %1226, %1049
  %1291 = tail call i32 @aead_random_generate_32() #3
  %1292 = and i32 %1231, %1049
  %1293 = and i32 %1226, %1050
  %1294 = tail call i32 @aead_random_generate_32() #3
  %1295 = xor i32 %1280, %1246
  %1296 = xor i32 %1295, %1279
  %1297 = xor i32 %1296, %1290
  %1298 = xor i32 %1297, %1278
  %1299 = xor i32 %1298, %1291
  %1300 = xor i32 %1299, %1294
  %1301 = and i32 %1236, %1049
  %1302 = and i32 %1231, %1050
  %1303 = tail call i32 @aead_random_generate_32() #3
  %1304 = xor i32 %1251, %1283
  %1305 = xor i32 %1304, %1293
  %1306 = xor i32 %1305, %1282
  %1307 = xor i32 %1306, %1292
  %1308 = xor i32 %1307, %1302
  %1309 = xor i32 %1308, %1281
  %1310 = xor i32 %1309, %1291
  %1311 = xor i32 %1310, %1303
  %1312 = and i32 %1236, %1050
  %1313 = and i32 %1231, %1051
  %1314 = and i32 %1236, %1051
  %1315 = xor i32 %1226, %1221
  %1316 = and i32 %1315, %1051
  %1317 = xor i32 %1316, %1256
  %1318 = xor i32 %1317, %1313
  %1319 = xor i32 %1318, %1312
  %1320 = xor i32 %1319, %1301
  %1321 = xor i32 %1320, %1289
  %1322 = xor i32 %1321, %1314
  %1323 = xor i32 %1322, %1284
  %1324 = xor i32 %1323, %1294
  %1325 = xor i32 %1324, %1303
  %1326 = xor i32 %1261, -1
  %1327 = xor i32 %1221, %1326
  %1328 = xor i32 %1226, %1266
  %1329 = xor i32 %1231, %1271
  %1330 = xor i32 %1236, %1276
  %1331 = xor i32 %1288, %1326
  %1332 = xor i32 %1300, %1266
  %1333 = xor i32 %1311, %1271
  %1334 = xor i32 %1325, %1276
  %1335 = or i32 %1216, %1327
  %1336 = xor i32 %1288, %1335
  %1337 = tail call i32 @aead_random_generate_32() #3
  %1338 = xor i32 %1336, %1337
  %1339 = xor i32 %1216, -1
  %1340 = and i32 %1328, %1339
  %1341 = xor i32 %1221, %1261
  %1342 = and i32 %1341, %1049
  %1343 = xor i32 %1340, %1342
  %1344 = tail call i32 @aead_random_generate_32() #3
  %1345 = xor i32 %1338, %1344
  %1346 = and i32 %1329, %1339
  %1347 = tail call i32 @aead_random_generate_32() #3
  %1348 = xor i32 %1345, %1347
  %1349 = and i32 %1330, %1339
  %1350 = and i32 %1328, %1049
  %1351 = xor i32 %1343, %1350
  %1352 = xor i32 %1351, %1337
  %1353 = xor i32 %1352, %1300
  %1354 = tail call i32 @aead_random_generate_32() #3
  %1355 = xor i32 %1353, %1354
  %1356 = and i32 %1329, %1049
  %1357 = tail call i32 @aead_random_generate_32() #3
  %1358 = xor i32 %1355, %1357
  %1359 = and i32 %1330, %1049
  %1360 = and i32 %1329, %1050
  %1361 = tail call i32 @aead_random_generate_32() #3
  %1362 = xor i32 %1328, %1341
  %1363 = and i32 %1362, %1050
  %1364 = xor i32 %1363, %1346
  %1365 = xor i32 %1364, %1356
  %1366 = xor i32 %1365, %1360
  %1367 = xor i32 %1366, %1344
  %1368 = xor i32 %1367, %1354
  %1369 = xor i32 %1368, %1311
  %1370 = xor i32 %1369, %1361
  %1371 = and i32 %1330, %1050
  %1372 = and i32 %1330, %1051
  %1373 = xor i32 %1362, %1329
  %1374 = and i32 %1373, %1051
  %1375 = xor i32 %1374, %1371
  %1376 = xor i32 %1375, %1349
  %1377 = xor i32 %1376, %1359
  %1378 = xor i32 %1377, %1372
  %1379 = xor i32 %1378, %1347
  %1380 = xor i32 %1379, %1357
  %1381 = xor i32 %1380, %1361
  %1382 = xor i32 %1381, %1325
  %1383 = and i32 %1331, %1327
  %1384 = xor i32 %1383, %1216
  %1385 = tail call i32 @aead_random_generate_32() #3
  %1386 = xor i32 %1384, %1385
  %1387 = and i32 %1332, %1327
  %1388 = and i32 %1331, %1328
  %1389 = tail call i32 @aead_random_generate_32() #3
  %1390 = xor i32 %1386, %1389
  %1391 = and i32 %1333, %1327
  %1392 = tail call i32 @aead_random_generate_32() #3
  %1393 = xor i32 %1390, %1392
  %1394 = and i32 %1334, %1327
  %1395 = and i32 %1332, %1328
  %1396 = tail call i32 @aead_random_generate_32() #3
  %1397 = and i32 %1333, %1328
  %1398 = tail call i32 @aead_random_generate_32() #3
  %1399 = xor i32 %1388, %1387
  %1400 = xor i32 %1399, %1395
  %1401 = xor i32 %1400, %1049
  %1402 = xor i32 %1401, %1385
  %1403 = xor i32 %1402, %1396
  %1404 = xor i32 %1403, %1398
  %1405 = and i32 %1334, %1328
  %1406 = and i32 %1333, %1329
  %1407 = tail call i32 @aead_random_generate_32() #3
  %1408 = xor i32 %1331, %1332
  %1409 = and i32 %1408, %1329
  %1410 = xor i32 %1409, %1391
  %1411 = xor i32 %1410, %1397
  %1412 = xor i32 %1411, %1406
  %1413 = xor i32 %1412, %1050
  %1414 = xor i32 %1413, %1389
  %1415 = xor i32 %1414, %1396
  %1416 = xor i32 %1415, %1407
  %1417 = and i32 %1334, %1329
  %1418 = and i32 %1334, %1330
  %1419 = xor i32 %1408, %1333
  %1420 = and i32 %1330, %1419
  %1421 = xor i32 %1420, %1417
  %1422 = xor i32 %1421, %1394
  %1423 = xor i32 %1422, %1405
  %1424 = xor i32 %1423, %1418
  %1425 = xor i32 %1424, %1051
  %1426 = xor i32 %1425, %1392
  %1427 = xor i32 %1426, %1398
  %1428 = xor i32 %1427, %1407
  %1429 = and i32 %1393, %1348
  %1430 = xor i32 %1429, %1327
  %1431 = tail call i32 @aead_random_generate_32() #3
  %1432 = xor i32 %1430, %1431
  %1433 = and i32 %1393, %1358
  %1434 = and i32 %1404, %1348
  %1435 = tail call i32 @aead_random_generate_32() #3
  %1436 = xor i32 %1432, %1435
  %1437 = and i32 %1416, %1348
  %1438 = tail call i32 @aead_random_generate_32() #3
  %1439 = xor i32 %1436, %1438
  %1440 = and i32 %1428, %1348
  %1441 = and i32 %1404, %1358
  %1442 = tail call i32 @aead_random_generate_32() #3
  %1443 = and i32 %1416, %1358
  %1444 = tail call i32 @aead_random_generate_32() #3
  %1445 = xor i32 %1433, %1434
  %1446 = xor i32 %1445, %1441
  %1447 = xor i32 %1446, %1328
  %1448 = xor i32 %1447, %1431
  %1449 = xor i32 %1448, %1442
  %1450 = xor i32 %1449, %1444
  %1451 = and i32 %1428, %1358
  %1452 = and i32 %1416, %1370
  %1453 = tail call i32 @aead_random_generate_32() #3
  %1454 = xor i32 %1393, %1404
  %1455 = and i32 %1370, %1454
  %1456 = xor i32 %1455, %1437
  %1457 = xor i32 %1456, %1443
  %1458 = xor i32 %1457, %1452
  %1459 = xor i32 %1458, %1329
  %1460 = xor i32 %1459, %1435
  %1461 = xor i32 %1460, %1442
  %1462 = xor i32 %1461, %1453
  %1463 = and i32 %1428, %1370
  %1464 = and i32 %1428, %1382
  %1465 = xor i32 %1454, %1416
  %1466 = and i32 %1382, %1465
  %1467 = xor i32 %1466, %1440
  %1468 = xor i32 %1467, %1451
  %1469 = xor i32 %1468, %1463
  %1470 = xor i32 %1469, %1464
  %1471 = xor i32 %1470, %1330
  %1472 = xor i32 %1471, %1438
  %1473 = xor i32 %1472, %1444
  %1474 = xor i32 %1473, %1453
  %.not = icmp eq i8 %.01794, 7
  %1475 = select i1 %.not, i32 0, i32 %3
  %spec.select = xor i32 %1393, %1475
  %1476 = add nuw nsw i8 %.01794, 1
  %1477 = getelementptr inbounds i8, ptr %.017781791, i64 -160
  %1478 = getelementptr inbounds i8, ptr %.017771792, i64 -20
  %exitcond.not = icmp eq i8 %1476, 8
  br i1 %exitcond.not, label %1479, label %101, !llvm.loop !15

1479:                                             ; preds = %101
  %1480 = xor i32 %1404, %spec.select
  %1481 = xor i32 %1480, %1416
  %1482 = xor i32 %1481, %1428
  %1483 = lshr i32 %1482, 24
  %1484 = trunc nuw i32 %1483 to i8
  store i8 %1484, ptr %1, align 1, !tbaa !5
  %1485 = lshr i32 %1482, 16
  %1486 = trunc i32 %1485 to i8
  store i8 %1486, ptr %12, align 1, !tbaa !5
  %1487 = lshr i32 %1482, 8
  %1488 = trunc i32 %1487 to i8
  store i8 %1488, ptr %17, align 1, !tbaa !5
  %1489 = trunc i32 %1482 to i8
  store i8 %1489, ptr %22, align 1, !tbaa !5
  %1490 = xor i32 %1450, %1462
  %1491 = xor i32 %1490, %1439
  %1492 = xor i32 %1491, %1474
  %1493 = lshr i32 %1492, 24
  %1494 = trunc nuw i32 %1493 to i8
  store i8 %1494, ptr %32, align 1, !tbaa !5
  %1495 = lshr i32 %1492, 16
  %1496 = trunc i32 %1495 to i8
  store i8 %1496, ptr %36, align 1, !tbaa !5
  %1497 = lshr i32 %1492, 8
  %1498 = trunc i32 %1497 to i8
  store i8 %1498, ptr %41, align 1, !tbaa !5
  %1499 = trunc i32 %1492 to i8
  store i8 %1499, ptr %46, align 1, !tbaa !5
  %1500 = xor i32 %1370, %1382
  %1501 = xor i32 %1500, %1358
  %1502 = xor i32 %1501, %1348
  %1503 = lshr i32 %1502, 24
  %1504 = trunc nuw i32 %1503 to i8
  store i8 %1504, ptr %56, align 1, !tbaa !5
  %1505 = lshr i32 %1502, 16
  %1506 = trunc i32 %1505 to i8
  store i8 %1506, ptr %60, align 1, !tbaa !5
  %1507 = lshr i32 %1502, 8
  %1508 = trunc i32 %1507 to i8
  store i8 %1508, ptr %65, align 1, !tbaa !5
  %1509 = trunc i32 %1502 to i8
  store i8 %1509, ptr %70, align 1, !tbaa !5
  %1510 = xor i32 %1333, %1334
  %1511 = xor i32 %1510, %1332
  %1512 = xor i32 %1511, %1331
  %1513 = lshr i32 %1512, 24
  %1514 = trunc nuw i32 %1513 to i8
  store i8 %1514, ptr %80, align 1, !tbaa !5
  %1515 = lshr i32 %1512, 16
  %1516 = trunc i32 %1515 to i8
  store i8 %1516, ptr %84, align 1, !tbaa !5
  %1517 = lshr i32 %1512, 8
  %1518 = trunc i32 %1517 to i8
  store i8 %1518, ptr %89, align 1, !tbaa !5
  %1519 = trunc i32 %1512 to i8
  store i8 %1519, ptr %94, align 1, !tbaa !5
  tail call void @gift128n_to_nibbles(ptr noundef nonnull %1, ptr noundef nonnull %1)
  ret void
}

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.fshl.i32(i32, i32, i32) #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "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 = { "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 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
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, !10, i64 0}
!9 = !{!"", !10, i64 0, !10, i64 4, !10, i64 8, !10, i64 12}
!10 = !{!"int", !6, i64 0}
!11 = !{!9, !10, i64 4}
!12 = !{!9, !10, i64 8}
!13 = !{!9, !10, i64 12}
!14 = !{!10, !10, i64 0}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LoopRotatePass,LoopUnrollPass,PostOrderFunctionAttrsPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass