; LLVM IR from aap/pdp6 :: newemu (pdp6)

; 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.PDP6 = type { i32, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i64, i64, i8, i64, i64, i64, i32, i32, i32, i32, i32, i32, i64, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i32, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, i64, i64, i64, i8, i8, i8, i8, i64, i8, i8, i8, i32, %struct.FD, i64, i8, i8, i8, i8, i8, i8, i8, i8, i32, i32, %struct.FD, i32, i64, i64, %struct.FD, i8, i64, i64, i64, i64, i64, i8, i64 }
%struct.FD = type { i32, i32, i32 }
%struct.IOdev = type { i8, i32, ptr, ptr, ptr }

@simtime = external global i64, align 8
@devs_code = external hidden global [128 x ptr], align 16
@.str.14 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [18 x i8], align 1

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

declare i32 @printf(ptr noundef, ...) #1

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

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

; Function Attrs: nounwind uwtable
declare dso_local void @rdwrrq(ptr noundef, i32 noundef) #0

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

; Function Attrs: nounwind uwtable
declare dso_local void @wrrs(ptr noundef, i32 noundef) #0

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

; Function Attrs: nounwind uwtable
declare dso_local void @mr_start(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local void @mr_clr(ptr noundef) #0

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

; Function Attrs: nounwind uwtable
declare dso_local void @decode(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local void @clr_run(ptr noundef) #0

; Function Attrs: nounwind uwtable
declare dso_local void @key_go(ptr noundef) #0

; Function Attrs: nounwind uwtable
define dso_local void @cycle(ptr noundef %0) #0 {
  %2 = alloca ptr, align 8
  %3 = alloca i32, align 4
  %4 = alloca i64, align 8
  store ptr %0, ptr %2, align 8, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #3
  br label %5

5:                                                ; preds = %11, %1
  %6 = load ptr, ptr %2, align 8, !tbaa !5
  %7 = getelementptr inbounds %struct.PDP6, ptr %6, i32 0, i32 172
  %8 = load i64, ptr %7, align 8, !tbaa !9
  %9 = load i64, ptr @simtime, align 8, !tbaa !15
  %10 = icmp ult i64 %8, %9
  br i1 %10, label %11, label %17

11:                                               ; preds = %5
  %12 = load ptr, ptr %2, align 8, !tbaa !5
  %13 = getelementptr inbounds %struct.PDP6, ptr %12, i32 0, i32 172
  %14 = load i64, ptr %13, align 8, !tbaa !9
  %15 = add i64 %14, 16666667
  store i64 %15, ptr %13, align 8, !tbaa !9
  %16 = load ptr, ptr %2, align 8, !tbaa !5
  call void @cpa_set_clock(ptr noundef %16)
  br label %5, !llvm.loop !16

17:                                               ; preds = %5
  %18 = load ptr, ptr %2, align 8, !tbaa !5
  %19 = getelementptr inbounds %struct.PDP6, ptr %18, i32 0, i32 1
  %20 = load i32, ptr %19, align 4, !tbaa !18
  switch i32 %20, label %18449 [
    i32 9, label %21
    i32 11, label %347
    i32 10, label %389
    i32 12, label %513
    i32 13, label %538
    i32 14, label %628
    i32 15, label %701
    i32 16, label %809
    i32 17, label %864
    i32 8, label %948
    i32 21, label %982
    i32 90, label %1000
    i32 96, label %1098
    i32 97, label %1098
    i32 98, label %1098
    i32 99, label %1098
    i32 100, label %1098
    i32 101, label %1098
    i32 102, label %1098
    i32 103, label %1098
    i32 104, label %1316
    i32 105, label %1316
    i32 106, label %1316
    i32 107, label %1316
    i32 108, label %1316
    i32 109, label %1316
    i32 110, label %1316
    i32 111, label %1316
    i32 112, label %1341
    i32 113, label %1341
    i32 114, label %1341
    i32 115, label %1341
    i32 116, label %1341
    i32 117, label %1341
    i32 118, label %1341
    i32 119, label %1341
    i32 120, label %1369
    i32 121, label %1369
    i32 122, label %1369
    i32 123, label %1369
    i32 124, label %1369
    i32 125, label %1369
    i32 126, label %1369
    i32 127, label %1369
    i32 24, label %1593
    i32 25, label %1677
    i32 28, label %1726
    i32 26, label %1780
    i32 27, label %1812
    i32 144, label %1876
    i32 145, label %1876
    i32 146, label %1876
    i32 147, label %1876
    i32 148, label %1943
    i32 149, label %1943
    i32 150, label %1943
    i32 151, label %1943
    i32 152, label %1983
    i32 153, label %1983
    i32 154, label %1983
    i32 155, label %1983
    i32 156, label %2033
    i32 157, label %2033
    i32 158, label %2033
    i32 159, label %2033
    i32 64, label %2174
    i32 65, label %2175
    i32 66, label %2176
    i32 67, label %2177
    i32 68, label %2178
    i32 69, label %2179
    i32 70, label %2180
    i32 71, label %2181
    i32 72, label %2182
    i32 73, label %2183
    i32 74, label %2184
    i32 75, label %2185
    i32 76, label %2186
    i32 77, label %2187
    i32 78, label %2188
    i32 79, label %2189
    i32 80, label %2190
    i32 81, label %2191
    i32 82, label %2192
    i32 83, label %2193
    i32 84, label %2194
    i32 85, label %2195
    i32 86, label %2196
    i32 87, label %2197
    i32 88, label %2198
    i32 89, label %2199
    i32 128, label %2200
    i32 129, label %2229
    i32 130, label %2258
    i32 131, label %2292
    i32 132, label %2326
    i32 133, label %2378
    i32 134, label %2430
    i32 135, label %2487
    i32 136, label %2544
    i32 137, label %2578
    i32 138, label %2612
    i32 139, label %2651
    i32 140, label %2690
    i32 141, label %2731
    i32 142, label %2772
    i32 143, label %2818
    i32 160, label %2864
    i32 161, label %2953
    i32 162, label %3042
    i32 164, label %3131
    i32 165, label %3220
    i32 166, label %3309
    i32 184, label %3398
    i32 185, label %3412
    i32 186, label %3426
    i32 187, label %3445
    i32 188, label %3464
    i32 189, label %3478
    i32 190, label %3492
    i32 191, label %3511
    i32 192, label %3530
    i32 193, label %3561
    i32 194, label %3626
    i32 195, label %3674
    i32 196, label %3746
    i32 197, label %3785
    i32 198, label %3851
    i32 199, label %3900
    i32 200, label %3973
    i32 201, label %4004
    i32 202, label %4069
    i32 203, label %4117
    i32 204, label %4189
    i32 205, label %4228
    i32 206, label %4294
    i32 207, label %4343
    i32 208, label %4416
    i32 209, label %4443
    i32 210, label %4500
    i32 211, label %4554
    i32 212, label %4616
    i32 213, label %4653
    i32 214, label %4711
    i32 215, label %4766
    i32 216, label %4829
    i32 217, label %4866
    i32 218, label %4923
    i32 219, label %4977
    i32 220, label %5039
    i32 221, label %5084
    i32 222, label %5142
    i32 223, label %5197
    i32 224, label %5260
    i32 225, label %5292
    i32 226, label %5354
    i32 227, label %5413
    i32 228, label %5480
    i32 229, label %5522
    i32 230, label %5585
    i32 231, label %5645
    i32 232, label %5713
    i32 233, label %5755
    i32 234, label %5817
    i32 235, label %5876
    i32 236, label %5943
    i32 237, label %5993
    i32 238, label %6056
    i32 239, label %6116
    i32 240, label %6184
    i32 241, label %6216
    i32 242, label %6278
    i32 243, label %6337
    i32 244, label %6404
    i32 245, label %6446
    i32 246, label %6509
    i32 247, label %6569
    i32 248, label %6637
    i32 249, label %6679
    i32 250, label %6741
    i32 251, label %6800
    i32 252, label %6867
    i32 253, label %6917
    i32 254, label %6980
    i32 255, label %7040
    i32 256, label %7108
    i32 257, label %7122
    i32 258, label %7136
    i32 259, label %7155
    i32 260, label %7174
    i32 261, label %7193
    i32 262, label %7212
    i32 263, label %7236
    i32 264, label %7260
    i32 265, label %7283
    i32 266, label %7306
    i32 267, label %7334
    i32 268, label %7362
    i32 269, label %7383
    i32 270, label %7404
    i32 271, label %7430
    i32 272, label %7456
    i32 273, label %7483
    i32 274, label %7510
    i32 275, label %7542
    i32 276, label %7574
    i32 277, label %7586
    i32 278, label %7598
    i32 279, label %7615
    i32 280, label %7632
    i32 281, label %7651
    i32 282, label %7670
    i32 283, label %7694
    i32 284, label %7718
    i32 285, label %7737
    i32 286, label %7756
    i32 287, label %7780
    i32 288, label %7804
    i32 289, label %7827
    i32 290, label %7850
    i32 291, label %7878
    i32 292, label %7906
    i32 293, label %7929
    i32 294, label %7952
    i32 295, label %7980
    i32 296, label %8008
    i32 297, label %8024
    i32 298, label %8040
    i32 299, label %8061
    i32 300, label %8082
    i32 301, label %8105
    i32 302, label %8128
    i32 303, label %8156
    i32 304, label %8184
    i32 305, label %8209
    i32 306, label %8234
    i32 307, label %8264
    i32 308, label %8294
    i32 309, label %8321
    i32 310, label %8348
    i32 311, label %8380
    i32 312, label %8412
    i32 313, label %8435
    i32 314, label %8458
    i32 315, label %8486
    i32 316, label %8514
    i32 317, label %8532
    i32 318, label %8550
    i32 319, label %8573
    i32 320, label %8596
    i32 321, label %8619
    i32 322, label %8642
    i32 323, label %8681
    i32 324, label %8714
    i32 325, label %8749
    i32 326, label %8784
    i32 327, label %8835
    i32 328, label %8880
    i32 329, label %8905
    i32 330, label %8930
    i32 331, label %8971
    i32 332, label %9006
    i32 333, label %9043
    i32 334, label %9080
    i32 335, label %9133
    i32 336, label %9180
    i32 337, label %9209
    i32 338, label %9238
    i32 339, label %9283
    i32 340, label %9322
    i32 341, label %9363
    i32 342, label %9404
    i32 343, label %9461
    i32 344, label %9512
    i32 345, label %9548
    i32 346, label %9584
    i32 347, label %9636
    i32 348, label %9682
    i32 349, label %9730
    i32 350, label %9778
    i32 351, label %9842
    i32 352, label %9900
    i32 353, label %9923
    i32 354, label %9946
    i32 355, label %9985
    i32 356, label %10018
    i32 357, label %10053
    i32 358, label %10088
    i32 359, label %10139
    i32 360, label %10184
    i32 361, label %10209
    i32 362, label %10234
    i32 363, label %10275
    i32 364, label %10310
    i32 365, label %10347
    i32 366, label %10384
    i32 367, label %10437
    i32 368, label %10484
    i32 369, label %10513
    i32 370, label %10542
    i32 371, label %10587
    i32 372, label %10626
    i32 373, label %10667
    i32 374, label %10708
    i32 375, label %10765
    i32 376, label %10816
    i32 377, label %10852
    i32 378, label %10888
    i32 379, label %10940
    i32 380, label %10986
    i32 381, label %11034
    i32 382, label %11082
    i32 383, label %11146
    i32 384, label %11204
    i32 385, label %11267
    i32 386, label %11342
    i32 387, label %11424
    i32 388, label %11518
    i32 389, label %11589
    i32 390, label %11672
    i32 391, label %11754
    i32 392, label %11848
    i32 393, label %11911
    i32 394, label %11986
    i32 395, label %12068
    i32 396, label %12162
    i32 397, label %12233
    i32 398, label %12316
    i32 399, label %12398
    i32 400, label %12492
    i32 401, label %12562
    i32 402, label %12644
    i32 403, label %12733
    i32 404, label %12834
    i32 405, label %12912
    i32 406, label %13002
    i32 407, label %13091
    i32 408, label %13192
    i32 409, label %13262
    i32 410, label %13344
    i32 411, label %13433
    i32 412, label %13534
    i32 413, label %13612
    i32 414, label %13702
    i32 415, label %13791
    i32 416, label %13892
    i32 417, label %13965
    i32 418, label %14050
    i32 419, label %14142
    i32 420, label %14246
    i32 421, label %14327
    i32 422, label %14420
    i32 423, label %14512
    i32 424, label %14616
    i32 425, label %14689
    i32 426, label %14774
    i32 427, label %14866
    i32 428, label %14970
    i32 429, label %15051
    i32 430, label %15144
    i32 431, label %15236
    i32 432, label %15340
    i32 433, label %15413
    i32 434, label %15498
    i32 435, label %15590
    i32 436, label %15694
    i32 437, label %15775
    i32 438, label %15868
    i32 439, label %15960
    i32 440, label %16064
    i32 441, label %16137
    i32 442, label %16222
    i32 443, label %16314
    i32 444, label %16418
    i32 445, label %16499
    i32 446, label %16592
    i32 447, label %16684
    i32 168, label %16788
    i32 169, label %16812
    i32 22, label %16870
    i32 170, label %17010
    i32 171, label %17010
    i32 172, label %17077
    i32 173, label %17183
    i32 174, label %17264
    i32 175, label %17275
    i32 176, label %17276
    i32 177, label %17369
    i32 178, label %17441
    i32 179, label %17506
    i32 180, label %17593
    i32 181, label %17664
    i32 182, label %17733
    i32 183, label %17807
    i32 18, label %17908
    i32 19, label %17948
    i32 20, label %17978
    i32 0, label %18007
    i32 2, label %18007
    i32 23, label %18043
    i32 1, label %18083
    i32 5, label %18152
    i32 6, label %18152
    i32 7, label %18152
    i32 3, label %18271
    i32 4, label %18357
  ]

21:                                               ; preds = %17
  %22 = load i64, ptr @simtime, align 8, !tbaa !15
  %23 = add i64 %22, 100
  store i64 %23, ptr @simtime, align 8, !tbaa !15
  %24 = load ptr, ptr %2, align 8, !tbaa !5
  %25 = getelementptr inbounds %struct.PDP6, ptr %24, i32 0, i32 5
  %26 = load i8, ptr %25, align 1, !tbaa !19, !range !20, !noundef !21
  %27 = trunc i8 %26 to i1
  br i1 %27, label %68, label %28

28:                                               ; preds = %21
  %29 = load ptr, ptr %2, align 8, !tbaa !5
  %30 = getelementptr inbounds %struct.PDP6, ptr %29, i32 0, i32 4
  %31 = load i8, ptr %30, align 8, !tbaa !22, !range !20, !noundef !21
  %32 = trunc i8 %31 to i1
  br i1 %32, label %68, label %33

33:                                               ; preds = %28
  %34 = load ptr, ptr %2, align 8, !tbaa !5
  %35 = getelementptr inbounds %struct.PDP6, ptr %34, i32 0, i32 9
  %36 = load i8, ptr %35, align 1, !tbaa !23, !range !20, !noundef !21
  %37 = trunc i8 %36 to i1
  br i1 %37, label %68, label %38

38:                                               ; preds = %33
  %39 = load ptr, ptr %2, align 8, !tbaa !5
  %40 = getelementptr inbounds %struct.PDP6, ptr %39, i32 0, i32 10
  %41 = load i8, ptr %40, align 2, !tbaa !24, !range !20, !noundef !21
  %42 = trunc i8 %41 to i1
  br i1 %42, label %68, label %43

43:                                               ; preds = %38
  %44 = load ptr, ptr %2, align 8, !tbaa !5
  %45 = getelementptr inbounds %struct.PDP6, ptr %44, i32 0, i32 11
  %46 = load i8, ptr %45, align 1, !tbaa !25, !range !20, !noundef !21
  %47 = trunc i8 %46 to i1
  br i1 %47, label %68, label %48

48:                                               ; preds = %43
  %49 = load ptr, ptr %2, align 8, !tbaa !5
  %50 = getelementptr inbounds %struct.PDP6, ptr %49, i32 0, i32 12
  %51 = load i8, ptr %50, align 8, !tbaa !26, !range !20, !noundef !21
  %52 = trunc i8 %51 to i1
  br i1 %52, label %68, label %53

53:                                               ; preds = %48
  %54 = load ptr, ptr %2, align 8, !tbaa !5
  %55 = getelementptr inbounds %struct.PDP6, ptr %54, i32 0, i32 13
  %56 = load i8, ptr %55, align 1, !tbaa !27, !range !20, !noundef !21
  %57 = trunc i8 %56 to i1
  br i1 %57, label %68, label %58

58:                                               ; preds = %53
  %59 = load ptr, ptr %2, align 8, !tbaa !5
  %60 = getelementptr inbounds %struct.PDP6, ptr %59, i32 0, i32 15
  %61 = load i8, ptr %60, align 1, !tbaa !28, !range !20, !noundef !21
  %62 = trunc i8 %61 to i1
  br i1 %62, label %68, label %63

63:                                               ; preds = %58
  %64 = load ptr, ptr %2, align 8, !tbaa !5
  %65 = getelementptr inbounds %struct.PDP6, ptr %64, i32 0, i32 14
  %66 = load i8, ptr %65, align 2, !tbaa !29, !range !20, !noundef !21
  %67 = trunc i8 %66 to i1
  br i1 %67, label %68, label %70

68:                                               ; preds = %63, %58, %53, %48, %43, %38, %33, %28, %21
  %69 = load ptr, ptr %2, align 8, !tbaa !5
  call void @mr_clr(ptr noundef %69)
  br label %70

70:                                               ; preds = %68, %63
  %71 = load ptr, ptr %2, align 8, !tbaa !5
  %72 = getelementptr inbounds %struct.PDP6, ptr %71, i32 0, i32 5
  %73 = load i8, ptr %72, align 1, !tbaa !19, !range !20, !noundef !21
  %74 = trunc i8 %73 to i1
  br i1 %74, label %88, label %75

75:                                               ; preds = %70
  %76 = load ptr, ptr %2, align 8, !tbaa !5
  %77 = getelementptr inbounds %struct.PDP6, ptr %76, i32 0, i32 9
  %78 = load i8, ptr %77, align 1, !tbaa !23, !range !20, !noundef !21
  %79 = trunc i8 %78 to i1
  br i1 %79, label %88, label %80

80:                                               ; preds = %75
  %81 = load ptr, ptr %2, align 8, !tbaa !5
  %82 = getelementptr inbounds %struct.PDP6, ptr %81, i32 0, i32 7
  %83 = load i8, ptr %82, align 1, !tbaa !30, !range !20, !noundef !21
  %84 = trunc i8 %83 to i1
  br i1 %84, label %88, label %85

85:                                               ; preds = %80
  %86 = load ptr, ptr %2, align 8, !tbaa !5
  %87 = getelementptr inbounds %struct.PDP6, ptr %86, i32 0, i32 22
  store i8 0, ptr %87, align 2, !tbaa !31
  br label %88

88:                                               ; preds = %85, %80, %75, %70
  %89 = load ptr, ptr %2, align 8, !tbaa !5
  %90 = getelementptr inbounds %struct.PDP6, ptr %89, i32 0, i32 5
  %91 = load i8, ptr %90, align 1, !tbaa !19, !range !20, !noundef !21
  %92 = trunc i8 %91 to i1
  br i1 %92, label %93, label %100

93:                                               ; preds = %88
  %94 = load ptr, ptr %2, align 8, !tbaa !5
  %95 = getelementptr inbounds %struct.PDP6, ptr %94, i32 0, i32 35
  store i32 0, ptr %95, align 4, !tbaa !32
  %96 = load ptr, ptr %2, align 8, !tbaa !5
  %97 = getelementptr inbounds %struct.PDP6, ptr %96, i32 0, i32 34
  store i32 0, ptr %97, align 8, !tbaa !33
  %98 = load ptr, ptr %2, align 8, !tbaa !5
  %99 = getelementptr inbounds %struct.PDP6, ptr %98, i32 0, i32 22
  store i8 1, ptr %99, align 2, !tbaa !31
  br label %100

100:                                              ; preds = %93, %88
  %101 = load ptr, ptr %2, align 8, !tbaa !5
  %102 = getelementptr inbounds %struct.PDP6, ptr %101, i32 0, i32 4
  %103 = load i8, ptr %102, align 8, !tbaa !22, !range !20, !noundef !21
  %104 = trunc i8 %103 to i1
  br i1 %104, label %105, label %110

105:                                              ; preds = %100
  %106 = load ptr, ptr %2, align 8, !tbaa !5
  %107 = getelementptr inbounds %struct.PDP6, ptr %106, i32 0, i32 35
  store i32 0, ptr %107, align 4, !tbaa !32
  %108 = load ptr, ptr %2, align 8, !tbaa !5
  %109 = getelementptr inbounds %struct.PDP6, ptr %108, i32 0, i32 34
  store i32 0, ptr %109, align 8, !tbaa !33
  br label %110

110:                                              ; preds = %105, %100
  %111 = load ptr, ptr %2, align 8, !tbaa !5
  %112 = getelementptr inbounds %struct.PDP6, ptr %111, i32 0, i32 15
  %113 = load i8, ptr %112, align 1, !tbaa !28, !range !20, !noundef !21
  %114 = trunc i8 %113 to i1
  br i1 %114, label %115, label %118

115:                                              ; preds = %110
  %116 = load ptr, ptr %2, align 8, !tbaa !5
  %117 = getelementptr inbounds %struct.PDP6, ptr %116, i32 0, i32 28
  store i64 0, ptr %117, align 8, !tbaa !34
  br label %118

118:                                              ; preds = %115, %110
  %119 = load ptr, ptr %2, align 8, !tbaa !5
  %120 = getelementptr inbounds %struct.PDP6, ptr %119, i32 0, i32 26
  %121 = load i8, ptr %120, align 2, !tbaa !35, !range !20, !noundef !21
  %122 = trunc i8 %121 to i1
  br i1 %122, label %123, label %126

123:                                              ; preds = %118
  %124 = load ptr, ptr %2, align 8, !tbaa !5
  %125 = getelementptr inbounds %struct.PDP6, ptr %124, i32 0, i32 35
  store i32 0, ptr %125, align 4, !tbaa !32
  br label %126

126:                                              ; preds = %123, %118
  %127 = load ptr, ptr %2, align 8, !tbaa !5
  %128 = getelementptr inbounds %struct.PDP6, ptr %127, i32 0, i32 11
  %129 = load i8, ptr %128, align 1, !tbaa !25, !range !20, !noundef !21
  %130 = trunc i8 %129 to i1
  br i1 %130, label %131, label %139

131:                                              ; preds = %126
  %132 = load ptr, ptr %2, align 8, !tbaa !5
  %133 = getelementptr inbounds %struct.PDP6, ptr %132, i32 0, i32 35
  %134 = load i32, ptr %133, align 4, !tbaa !32
  %135 = add i32 %134, 1
  %136 = and i32 %135, 262143
  %137 = load ptr, ptr %2, align 8, !tbaa !5
  %138 = getelementptr inbounds %struct.PDP6, ptr %137, i32 0, i32 35
  store i32 %136, ptr %138, align 4, !tbaa !32
  br label %139

139:                                              ; preds = %131, %126
  %140 = load ptr, ptr %2, align 8, !tbaa !5
  %141 = getelementptr inbounds %struct.PDP6, ptr %140, i32 0, i32 27
  %142 = load i8, ptr %141, align 1, !tbaa !36, !range !20, !noundef !21
  %143 = trunc i8 %142 to i1
  br i1 %143, label %144, label %149

144:                                              ; preds = %139
  %145 = load ptr, ptr %2, align 8, !tbaa !5
  %146 = getelementptr inbounds %struct.PDP6, ptr %145, i32 0, i32 35
  store i32 0, ptr %146, align 4, !tbaa !32
  %147 = load ptr, ptr %2, align 8, !tbaa !5
  %148 = getelementptr inbounds %struct.PDP6, ptr %147, i32 0, i32 28
  store i64 0, ptr %148, align 8, !tbaa !34
  br label %149

149:                                              ; preds = %144, %139
  %150 = load ptr, ptr %2, align 8, !tbaa !5
  %151 = getelementptr inbounds %struct.PDP6, ptr %150, i32 0, i32 13
  %152 = load i8, ptr %151, align 1, !tbaa !27, !range !20, !noundef !21
  %153 = trunc i8 %152 to i1
  br i1 %153, label %154, label %164

154:                                              ; preds = %149
  %155 = load ptr, ptr %2, align 8, !tbaa !5
  %156 = getelementptr inbounds %struct.PDP6, ptr %155, i32 0, i32 35
  %157 = load i32, ptr %156, align 4, !tbaa !32
  %158 = add i32 %157, 1
  %159 = and i32 %158, 262143
  %160 = load ptr, ptr %2, align 8, !tbaa !5
  %161 = getelementptr inbounds %struct.PDP6, ptr %160, i32 0, i32 35
  store i32 %159, ptr %161, align 4, !tbaa !32
  %162 = load ptr, ptr %2, align 8, !tbaa !5
  %163 = getelementptr inbounds %struct.PDP6, ptr %162, i32 0, i32 28
  store i64 0, ptr %163, align 8, !tbaa !34
  br label %164

164:                                              ; preds = %154, %149
  %165 = load ptr, ptr %2, align 8, !tbaa !5
  %166 = getelementptr inbounds %struct.PDP6, ptr %165, i32 0, i32 14
  %167 = load i8, ptr %166, align 2, !tbaa !29, !range !20, !noundef !21
  %168 = trunc i8 %167 to i1
  br i1 %168, label %169, label %171

169:                                              ; preds = %164
  %170 = load ptr, ptr %2, align 8, !tbaa !5
  call void @mr_start(ptr noundef %170)
  br label %171

171:                                              ; preds = %169, %164
  %172 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %172, ptr noundef @.str.14)
  %173 = load i64, ptr @simtime, align 8, !tbaa !15
  %174 = add i64 %173, 200
  store i64 %174, ptr @simtime, align 8, !tbaa !15
  %175 = load ptr, ptr %2, align 8, !tbaa !5
  %176 = getelementptr inbounds %struct.PDP6, ptr %175, i32 0, i32 5
  %177 = load i8, ptr %176, align 1, !tbaa !19, !range !20, !noundef !21
  %178 = trunc i8 %177 to i1
  br i1 %178, label %184, label %179

179:                                              ; preds = %171
  %180 = load ptr, ptr %2, align 8, !tbaa !5
  %181 = getelementptr inbounds %struct.PDP6, ptr %180, i32 0, i32 4
  %182 = load i8, ptr %181, align 8, !tbaa !22, !range !20, !noundef !21
  %183 = trunc i8 %182 to i1
  br i1 %183, label %184, label %192

184:                                              ; preds = %179, %171
  %185 = load ptr, ptr %2, align 8, !tbaa !5
  %186 = getelementptr inbounds %struct.PDP6, ptr %185, i32 0, i32 36
  %187 = load i32, ptr %186, align 8, !tbaa !37
  %188 = load ptr, ptr %2, align 8, !tbaa !5
  %189 = getelementptr inbounds %struct.PDP6, ptr %188, i32 0, i32 35
  %190 = load i32, ptr %189, align 4, !tbaa !32
  %191 = or i32 %190, %187
  store i32 %191, ptr %189, align 4, !tbaa !32
  br label %192

192:                                              ; preds = %184, %179
  %193 = load ptr, ptr %2, align 8, !tbaa !5
  %194 = getelementptr inbounds %struct.PDP6, ptr %193, i32 0, i32 15
  %195 = load i8, ptr %194, align 1, !tbaa !28, !range !20, !noundef !21
  %196 = trunc i8 %195 to i1
  br i1 %196, label %197, label %205

197:                                              ; preds = %192
  %198 = load ptr, ptr %2, align 8, !tbaa !5
  %199 = getelementptr inbounds %struct.PDP6, ptr %198, i32 0, i32 33
  %200 = load i64, ptr %199, align 8, !tbaa !38
  %201 = load ptr, ptr %2, align 8, !tbaa !5
  %202 = getelementptr inbounds %struct.PDP6, ptr %201, i32 0, i32 28
  %203 = load i64, ptr %202, align 8, !tbaa !34
  %204 = or i64 %203, %200
  store i64 %204, ptr %202, align 8, !tbaa !34
  br label %205

205:                                              ; preds = %197, %192
  %206 = load ptr, ptr %2, align 8, !tbaa !5
  %207 = getelementptr inbounds %struct.PDP6, ptr %206, i32 0, i32 26
  %208 = load i8, ptr %207, align 2, !tbaa !35, !range !20, !noundef !21
  %209 = trunc i8 %208 to i1
  br i1 %209, label %210, label %218

210:                                              ; preds = %205
  %211 = load ptr, ptr %2, align 8, !tbaa !5
  %212 = getelementptr inbounds %struct.PDP6, ptr %211, i32 0, i32 36
  %213 = load i32, ptr %212, align 8, !tbaa !37
  %214 = load ptr, ptr %2, align 8, !tbaa !5
  %215 = getelementptr inbounds %struct.PDP6, ptr %214, i32 0, i32 35
  %216 = load i32, ptr %215, align 4, !tbaa !32
  %217 = or i32 %216, %213
  store i32 %217, ptr %215, align 4, !tbaa !32
  br label %218

218:                                              ; preds = %210, %205
  %219 = load ptr, ptr %2, align 8, !tbaa !5
  %220 = getelementptr inbounds %struct.PDP6, ptr %219, i32 0, i32 27
  %221 = load i8, ptr %220, align 1, !tbaa !36, !range !20, !noundef !21
  %222 = trunc i8 %221 to i1
  br i1 %222, label %223, label %238

223:                                              ; preds = %218
  %224 = load ptr, ptr %2, align 8, !tbaa !5
  %225 = getelementptr inbounds %struct.PDP6, ptr %224, i32 0, i32 36
  %226 = load i32, ptr %225, align 8, !tbaa !37
  %227 = load ptr, ptr %2, align 8, !tbaa !5
  %228 = getelementptr inbounds %struct.PDP6, ptr %227, i32 0, i32 35
  %229 = load i32, ptr %228, align 4, !tbaa !32
  %230 = or i32 %229, %226
  store i32 %230, ptr %228, align 4, !tbaa !32
  %231 = load ptr, ptr %2, align 8, !tbaa !5
  %232 = getelementptr inbounds %struct.PDP6, ptr %231, i32 0, i32 33
  %233 = load i64, ptr %232, align 8, !tbaa !38
  %234 = load ptr, ptr %2, align 8, !tbaa !5
  %235 = getelementptr inbounds %struct.PDP6, ptr %234, i32 0, i32 28
  %236 = load i64, ptr %235, align 8, !tbaa !34
  %237 = or i64 %236, %233
  store i64 %237, ptr %235, align 8, !tbaa !34
  br label %238

238:                                              ; preds = %223, %218
  %239 = load ptr, ptr %2, align 8, !tbaa !5
  %240 = getelementptr inbounds %struct.PDP6, ptr %239, i32 0, i32 13
  %241 = load i8, ptr %240, align 1, !tbaa !27, !range !20, !noundef !21
  %242 = trunc i8 %241 to i1
  br i1 %242, label %243, label %251

243:                                              ; preds = %238
  %244 = load ptr, ptr %2, align 8, !tbaa !5
  %245 = getelementptr inbounds %struct.PDP6, ptr %244, i32 0, i32 33
  %246 = load i64, ptr %245, align 8, !tbaa !38
  %247 = load ptr, ptr %2, align 8, !tbaa !5
  %248 = getelementptr inbounds %struct.PDP6, ptr %247, i32 0, i32 28
  %249 = load i64, ptr %248, align 8, !tbaa !34
  %250 = or i64 %249, %246
  store i64 %250, ptr %248, align 8, !tbaa !34
  br label %251

251:                                              ; preds = %243, %238
  %252 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %252, ptr noundef @.str.15)
  %253 = load i64, ptr @simtime, align 8, !tbaa !15
  %254 = add i64 %253, 200
  store i64 %254, ptr @simtime, align 8, !tbaa !15
  %255 = load ptr, ptr %2, align 8, !tbaa !5
  %256 = getelementptr inbounds %struct.PDP6, ptr %255, i32 0, i32 5
  %257 = load i8, ptr %256, align 1, !tbaa !19, !range !20, !noundef !21
  %258 = trunc i8 %257 to i1
  br i1 %258, label %264, label %259

259:                                              ; preds = %251
  %260 = load ptr, ptr %2, align 8, !tbaa !5
  %261 = getelementptr inbounds %struct.PDP6, ptr %260, i32 0, i32 4
  %262 = load i8, ptr %261, align 8, !tbaa !22, !range !20, !noundef !21
  %263 = trunc i8 %262 to i1
  br i1 %263, label %264, label %272

264:                                              ; preds = %259, %251
  %265 = load ptr, ptr %2, align 8, !tbaa !5
  %266 = getelementptr inbounds %struct.PDP6, ptr %265, i32 0, i32 35
  %267 = load i32, ptr %266, align 4, !tbaa !32
  %268 = load ptr, ptr %2, align 8, !tbaa !5
  %269 = getelementptr inbounds %struct.PDP6, ptr %268, i32 0, i32 34
  %270 = load i32, ptr %269, align 8, !tbaa !33
  %271 = or i32 %270, %267
  store i32 %271, ptr %269, align 8, !tbaa !33
  br label %272

272:                                              ; preds = %264, %259
  %273 = load ptr, ptr %2, align 8, !tbaa !5
  %274 = getelementptr inbounds %struct.PDP6, ptr %273, i32 0, i32 15
  %275 = load i8, ptr %274, align 1, !tbaa !28, !range !20, !noundef !21
  %276 = trunc i8 %275 to i1
  br i1 %276, label %277, label %283

277:                                              ; preds = %272
  %278 = load ptr, ptr %2, align 8, !tbaa !5
  %279 = getelementptr inbounds %struct.PDP6, ptr %278, i32 0, i32 28
  %280 = load i64, ptr %279, align 8, !tbaa !34
  %281 = load ptr, ptr %2, align 8, !tbaa !5
  %282 = getelementptr inbounds %struct.PDP6, ptr %281, i32 0, i32 31
  store i64 %280, ptr %282, align 8, !tbaa !39
  br label %283

283:                                              ; preds = %277, %272
  %284 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %284, ptr noundef @.str.16)
  %285 = load ptr, ptr %2, align 8, !tbaa !5
  %286 = getelementptr inbounds %struct.PDP6, ptr %285, i32 0, i32 26
  %287 = load i8, ptr %286, align 2, !tbaa !35, !range !20, !noundef !21
  %288 = trunc i8 %287 to i1
  br i1 %288, label %294, label %289

289:                                              ; preds = %283
  %290 = load ptr, ptr %2, align 8, !tbaa !5
  %291 = getelementptr inbounds %struct.PDP6, ptr %290, i32 0, i32 11
  %292 = load i8, ptr %291, align 1, !tbaa !25, !range !20, !noundef !21
  %293 = trunc i8 %292 to i1
  br i1 %293, label %294, label %298

294:                                              ; preds = %289, %283
  %295 = load ptr, ptr %2, align 8, !tbaa !5
  %296 = getelementptr inbounds %struct.PDP6, ptr %295, i32 0, i32 42
  store i8 1, ptr %296, align 1, !tbaa !40
  %297 = load ptr, ptr %2, align 8, !tbaa !5
  call void @rdrq(ptr noundef %297, i32 noundef 11)
  br label %18456

298:                                              ; preds = %289
  %299 = load ptr, ptr %2, align 8, !tbaa !5
  %300 = getelementptr inbounds %struct.PDP6, ptr %299, i32 0, i32 27
  %301 = load i8, ptr %300, align 1, !tbaa !36, !range !20, !noundef !21
  %302 = trunc i8 %301 to i1
  br i1 %302, label %308, label %303

303:                                              ; preds = %298
  %304 = load ptr, ptr %2, align 8, !tbaa !5
  %305 = getelementptr inbounds %struct.PDP6, ptr %304, i32 0, i32 13
  %306 = load i8, ptr %305, align 1, !tbaa !27, !range !20, !noundef !21
  %307 = trunc i8 %306 to i1
  br i1 %307, label %308, label %317

308:                                              ; preds = %303, %298
  %309 = load ptr, ptr %2, align 8, !tbaa !5
  %310 = getelementptr inbounds %struct.PDP6, ptr %309, i32 0, i32 28
  %311 = load i64, ptr %310, align 8, !tbaa !34
  %312 = load ptr, ptr %2, align 8, !tbaa !5
  %313 = getelementptr inbounds %struct.PDP6, ptr %312, i32 0, i32 31
  store i64 %311, ptr %313, align 8, !tbaa !39
  %314 = load ptr, ptr %2, align 8, !tbaa !5
  %315 = getelementptr inbounds %struct.PDP6, ptr %314, i32 0, i32 42
  store i8 1, ptr %315, align 1, !tbaa !40
  %316 = load ptr, ptr %2, align 8, !tbaa !5
  call void @wrrq(ptr noundef %316, i32 noundef 11)
  br label %18456

317:                                              ; preds = %303
  %318 = load ptr, ptr %2, align 8, !tbaa !5
  %319 = getelementptr inbounds %struct.PDP6, ptr %318, i32 0, i32 0
  store i32 0, ptr %319, align 8, !tbaa !41
  %320 = load ptr, ptr %2, align 8, !tbaa !5
  %321 = getelementptr inbounds %struct.PDP6, ptr %320, i32 0, i32 15
  %322 = load i8, ptr %321, align 1, !tbaa !28, !range !20, !noundef !21
  %323 = trunc i8 %322 to i1
  br i1 %323, label %324, label %329

324:                                              ; preds = %317
  %325 = load ptr, ptr %2, align 8, !tbaa !5
  %326 = getelementptr inbounds %struct.PDP6, ptr %325, i32 0, i32 0
  store i32 1, ptr %326, align 8, !tbaa !41
  %327 = load i64, ptr @simtime, align 8, !tbaa !15
  %328 = add i64 %327, 100
  store i64 %328, ptr @simtime, align 8, !tbaa !15
  br label %512

329:                                              ; preds = %317
  %330 = load ptr, ptr %2, align 8, !tbaa !5
  %331 = getelementptr inbounds %struct.PDP6, ptr %330, i32 0, i32 4
  %332 = load i8, ptr %331, align 8, !tbaa !22, !range !20, !noundef !21
  %333 = trunc i8 %332 to i1
  br i1 %333, label %344, label %334

334:                                              ; preds = %329
  %335 = load ptr, ptr %2, align 8, !tbaa !5
  %336 = getelementptr inbounds %struct.PDP6, ptr %335, i32 0, i32 5
  %337 = load i8, ptr %336, align 1, !tbaa !19, !range !20, !noundef !21
  %338 = trunc i8 %337 to i1
  br i1 %338, label %344, label %339

339:                                              ; preds = %334
  %340 = load ptr, ptr %2, align 8, !tbaa !5
  %341 = getelementptr inbounds %struct.PDP6, ptr %340, i32 0, i32 9
  %342 = load i8, ptr %341, align 1, !tbaa !23, !range !20, !noundef !21
  %343 = trunc i8 %342 to i1
  br i1 %343, label %344, label %346

344:                                              ; preds = %339, %334, %329
  %345 = load ptr, ptr %2, align 8, !tbaa !5
  call void @key_go(ptr noundef %345)
  br label %346

346:                                              ; preds = %344, %339
  br label %18456

347:                                              ; preds = %17
  %348 = load ptr, ptr %2, align 8, !tbaa !5
  %349 = getelementptr inbounds %struct.PDP6, ptr %348, i32 0, i32 42
  store i8 0, ptr %349, align 1, !tbaa !40
  %350 = load ptr, ptr %2, align 8, !tbaa !5
  %351 = getelementptr inbounds %struct.PDP6, ptr %350, i32 0, i32 109
  store i8 0, ptr %351, align 4, !tbaa !42
  %352 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %352, ptr noundef @.str.17)
  %353 = load ptr, ptr %2, align 8, !tbaa !5
  %354 = getelementptr inbounds %struct.PDP6, ptr %353, i32 0, i32 11
  %355 = load i8, ptr %354, align 1, !tbaa !25, !range !20, !noundef !21
  %356 = trunc i8 %355 to i1
  br i1 %356, label %362, label %357

357:                                              ; preds = %347
  %358 = load ptr, ptr %2, align 8, !tbaa !5
  %359 = getelementptr inbounds %struct.PDP6, ptr %358, i32 0, i32 13
  %360 = load i8, ptr %359, align 1, !tbaa !27, !range !20, !noundef !21
  %361 = trunc i8 %360 to i1
  br i1 %361, label %362, label %368

362:                                              ; preds = %357, %347
  %363 = load ptr, ptr %2, align 8, !tbaa !5
  %364 = getelementptr inbounds %struct.PDP6, ptr %363, i32 0, i32 31
  %365 = load i64, ptr %364, align 8, !tbaa !39
  %366 = load ptr, ptr %2, align 8, !tbaa !5
  %367 = getelementptr inbounds %struct.PDP6, ptr %366, i32 0, i32 32
  store i64 %365, ptr %367, align 8, !tbaa !43
  br label %368

368:                                              ; preds = %362, %357
  %369 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %369, ptr noundef @.str.18)
  %370 = load ptr, ptr %2, align 8, !tbaa !5
  %371 = getelementptr inbounds %struct.PDP6, ptr %370, i32 0, i32 0
  store i32 0, ptr %371, align 8, !tbaa !41
  %372 = load ptr, ptr %2, align 8, !tbaa !5
  %373 = getelementptr inbounds %struct.PDP6, ptr %372, i32 0, i32 21
  %374 = load i8, ptr %373, align 1, !tbaa !44, !range !20, !noundef !21
  %375 = trunc i8 %374 to i1
  br i1 %375, label %376, label %388

376:                                              ; preds = %368
  %377 = load ptr, ptr %2, align 8, !tbaa !5
  %378 = getelementptr inbounds %struct.PDP6, ptr %377, i32 0, i32 24
  %379 = load i8, ptr %378, align 4, !tbaa !45, !range !20, !noundef !21
  %380 = trunc i8 %379 to i1
  br i1 %380, label %386, label %381

381:                                              ; preds = %376
  %382 = load ptr, ptr %2, align 8, !tbaa !5
  %383 = getelementptr inbounds %struct.PDP6, ptr %382, i32 0, i32 24
  %384 = load i8, ptr %383, align 4, !tbaa !45, !range !20, !noundef !21
  %385 = trunc i8 %384 to i1
  br i1 %385, label %386, label %388

386:                                              ; preds = %381, %376
  %387 = load ptr, ptr %2, align 8, !tbaa !5
  call void @key_go(ptr noundef %387)
  br label %388

388:                                              ; preds = %386, %381, %368
  br label %18456

389:                                              ; preds = %17
  %390 = load ptr, ptr %2, align 8, !tbaa !5
  %391 = getelementptr inbounds %struct.PDP6, ptr %390, i32 0, i32 35
  store i32 0, ptr %391, align 4, !tbaa !32
  %392 = load ptr, ptr %2, align 8, !tbaa !5
  call void @mr_clr(ptr noundef %392)
  %393 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %393, ptr noundef @.str.19)
  %394 = load ptr, ptr %2, align 8, !tbaa !5
  %395 = getelementptr inbounds %struct.PDP6, ptr %394, i32 0, i32 43
  store i8 1, ptr %395, align 2, !tbaa !46
  %396 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %396, ptr noundef @.str.20)
  %397 = load ptr, ptr %2, align 8, !tbaa !5
  %398 = getelementptr inbounds %struct.PDP6, ptr %397, i32 0, i32 98
  %399 = load i8, ptr %398, align 1, !tbaa !47, !range !20, !noundef !21
  %400 = trunc i8 %399 to i1
  br i1 %400, label %413, label %401

401:                                              ; preds = %389
  %402 = load ptr, ptr %2, align 8, !tbaa !5
  %403 = load ptr, ptr %2, align 8, !tbaa !5
  %404 = getelementptr inbounds %struct.PDP6, ptr %403, i32 0, i32 41
  %405 = load i8, ptr %404, align 8, !tbaa !48
  %406 = zext i8 %405 to i32
  %407 = load ptr, ptr %2, align 8, !tbaa !5
  %408 = getelementptr inbounds %struct.PDP6, ptr %407, i32 0, i32 101
  %409 = load i8, ptr %408, align 4, !tbaa !49
  %410 = zext i8 %409 to i32
  %411 = and i32 %406, %410
  %412 = trunc i32 %411 to i8
  call void @pir_set(ptr noundef %402, i8 noundef zeroext %412)
  br label %413

413:                                              ; preds = %401, %389
  %414 = load i64, ptr @simtime, align 8, !tbaa !15
  %415 = add i64 %414, 200
  store i64 %415, ptr @simtime, align 8, !tbaa !15
  %416 = load ptr, ptr %2, align 8, !tbaa !5
  %417 = getelementptr inbounds %struct.PDP6, ptr %416, i32 0, i32 104
  %418 = load i8, ptr %417, align 1, !tbaa !50
  %419 = zext i8 %418 to i32
  %420 = icmp ne i32 %419, 0
  br i1 %420, label %421, label %436

421:                                              ; preds = %413
  %422 = load ptr, ptr %2, align 8, !tbaa !5
  %423 = getelementptr inbounds %struct.PDP6, ptr %422, i32 0, i32 98
  %424 = load i8, ptr %423, align 1, !tbaa !47, !range !20, !noundef !21
  %425 = trunc i8 %424 to i1
  br i1 %425, label %436, label %426

426:                                              ; preds = %421
  br label %427

427:                                              ; preds = %596, %426
  %428 = load ptr, ptr %2, align 8, !tbaa !5
  call void @mr_clr(ptr noundef %428)
  %429 = load ptr, ptr %2, align 8, !tbaa !5
  %430 = getelementptr inbounds %struct.PDP6, ptr %429, i32 0, i32 98
  store i8 1, ptr %430, align 1, !tbaa !47
  %431 = load ptr, ptr %2, align 8, !tbaa !5
  %432 = getelementptr inbounds %struct.PDP6, ptr %431, i32 0, i32 107
  store i8 1, ptr %432, align 2, !tbaa !51
  %433 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %433, ptr noundef @.str.21)
  %434 = load i64, ptr @simtime, align 8, !tbaa !15
  %435 = add i64 %434, 200
  store i64 %435, ptr @simtime, align 8, !tbaa !15
  br label %445

436:                                              ; preds = %421, %413
  %437 = load ptr, ptr %2, align 8, !tbaa !5
  %438 = getelementptr inbounds %struct.PDP6, ptr %437, i32 0, i32 177
  %439 = load i8, ptr %438, align 8, !tbaa !52, !range !20, !noundef !21
  %440 = trunc i8 %439 to i1
  br i1 %440, label %441, label %444

441:                                              ; preds = %436
  %442 = load ptr, ptr %2, align 8, !tbaa !5
  %443 = getelementptr inbounds %struct.PDP6, ptr %442, i32 0, i32 0
  store i32 0, ptr %443, align 8, !tbaa !41
  br label %18456

444:                                              ; preds = %436
  br label %445

445:                                              ; preds = %444, %427
  %446 = load ptr, ptr %2, align 8, !tbaa !5
  %447 = getelementptr inbounds %struct.PDP6, ptr %446, i32 0, i32 98
  %448 = load i8, ptr %447, align 1, !tbaa !47, !range !20, !noundef !21
  %449 = trunc i8 %448 to i1
  br i1 %449, label %450, label %499

450:                                              ; preds = %445
  %451 = load ptr, ptr %2, align 8, !tbaa !5
  %452 = getelementptr inbounds %struct.PDP6, ptr %451, i32 0, i32 35
  store i32 32, ptr %452, align 4, !tbaa !32
  %453 = load ptr, ptr %2, align 8, !tbaa !5
  %454 = getelementptr inbounds %struct.PDP6, ptr %453, i32 0, i32 104
  %455 = load i8, ptr %454, align 1, !tbaa !50
  %456 = zext i8 %455 to i32
  %457 = and i32 %456, 15
  %458 = icmp ne i32 %457, 0
  br i1 %458, label %459, label %464

459:                                              ; preds = %450
  %460 = load ptr, ptr %2, align 8, !tbaa !5
  %461 = getelementptr inbounds %struct.PDP6, ptr %460, i32 0, i32 35
  %462 = load i32, ptr %461, align 4, !tbaa !32
  %463 = or i32 %462, 8
  store i32 %463, ptr %461, align 4, !tbaa !32
  br label %464

464:                                              ; preds = %459, %450
  %465 = load ptr, ptr %2, align 8, !tbaa !5
  %466 = getelementptr inbounds %struct.PDP6, ptr %465, i32 0, i32 104
  %467 = load i8, ptr %466, align 1, !tbaa !50
  %468 = zext i8 %467 to i32
  %469 = and i32 %468, 51
  %470 = icmp ne i32 %469, 0
  br i1 %470, label %471, label %476

471:                                              ; preds = %464
  %472 = load ptr, ptr %2, align 8, !tbaa !5
  %473 = getelementptr inbounds %struct.PDP6, ptr %472, i32 0, i32 35
  %474 = load i32, ptr %473, align 4, !tbaa !32
  %475 = or i32 %474, 4
  store i32 %475, ptr %473, align 4, !tbaa !32
  br label %476

476:                                              ; preds = %471, %464
  %477 = load ptr, ptr %2, align 8, !tbaa !5
  %478 = getelementptr inbounds %struct.PDP6, ptr %477, i32 0, i32 104
  %479 = load i8, ptr %478, align 1, !tbaa !50
  %480 = zext i8 %479 to i32
  %481 = and i32 %480, 85
  %482 = icmp ne i32 %481, 0
  br i1 %482, label %483, label %488

483:                                              ; preds = %476
  %484 = load ptr, ptr %2, align 8, !tbaa !5
  %485 = getelementptr inbounds %struct.PDP6, ptr %484, i32 0, i32 35
  %486 = load i32, ptr %485, align 4, !tbaa !32
  %487 = or i32 %486, 2
  store i32 %487, ptr %485, align 4, !tbaa !32
  br label %488

488:                                              ; preds = %483, %476
  %489 = load ptr, ptr %2, align 8, !tbaa !5
  %490 = getelementptr inbounds %struct.PDP6, ptr %489, i32 0, i32 99
  %491 = load i8, ptr %490, align 2, !tbaa !53, !range !20, !noundef !21
  %492 = trunc i8 %491 to i1
  br i1 %492, label %493, label %498

493:                                              ; preds = %488
  %494 = load ptr, ptr %2, align 8, !tbaa !5
  %495 = getelementptr inbounds %struct.PDP6, ptr %494, i32 0, i32 35
  %496 = load i32, ptr %495, align 4, !tbaa !32
  %497 = or i32 %496, 1
  store i32 %497, ptr %495, align 4, !tbaa !32
  br label %498

498:                                              ; preds = %493, %488
  br label %507

499:                                              ; preds = %445
  %500 = load ptr, ptr %2, align 8, !tbaa !5
  %501 = getelementptr inbounds %struct.PDP6, ptr %500, i32 0, i32 34
  %502 = load i32, ptr %501, align 8, !tbaa !33
  %503 = load ptr, ptr %2, align 8, !tbaa !5
  %504 = getelementptr inbounds %struct.PDP6, ptr %503, i32 0, i32 35
  %505 = load i32, ptr %504, align 4, !tbaa !32
  %506 = or i32 %505, %502
  store i32 %506, ptr %504, align 4, !tbaa !32
  br label %507

507:                                              ; preds = %499, %498
  %508 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %508, ptr noundef @.str.22)
  %509 = load ptr, ptr %2, align 8, !tbaa !5
  %510 = getelementptr inbounds %struct.PDP6, ptr %509, i32 0, i32 43
  store i8 1, ptr %510, align 2, !tbaa !46
  %511 = load ptr, ptr %2, align 8, !tbaa !5
  call void @rdrq(ptr noundef %511, i32 noundef 12)
  br label %18456

512:                                              ; preds = %17264, %324
  br label %513

513:                                              ; preds = %512, %17
  %514 = load ptr, ptr %2, align 8, !tbaa !5
  %515 = getelementptr inbounds %struct.PDP6, ptr %514, i32 0, i32 43
  store i8 0, ptr %515, align 2, !tbaa !46
  %516 = load ptr, ptr %2, align 8, !tbaa !5
  %517 = getelementptr inbounds %struct.PDP6, ptr %516, i32 0, i32 31
  %518 = load i64, ptr %517, align 8, !tbaa !39
  %519 = lshr i64 %518, 18
  %520 = and i64 %519, 262112
  %521 = load ptr, ptr %2, align 8, !tbaa !5
  %522 = getelementptr inbounds %struct.PDP6, ptr %521, i32 0, i32 37
  %523 = load i32, ptr %522, align 4, !tbaa !54
  %524 = zext i32 %523 to i64
  %525 = or i64 %524, %520
  %526 = trunc i64 %525 to i32
  store i32 %526, ptr %522, align 4, !tbaa !54
  %527 = load ptr, ptr %2, align 8, !tbaa !5
  %528 = getelementptr inbounds %struct.PDP6, ptr %527, i32 0, i32 35
  %529 = load i32, ptr %528, align 4, !tbaa !32
  %530 = and i32 %529, 262128
  %531 = icmp ne i32 %530, 0
  br i1 %531, label %532, label %535

532:                                              ; preds = %513
  %533 = load ptr, ptr %2, align 8, !tbaa !5
  %534 = getelementptr inbounds %struct.PDP6, ptr %533, i32 0, i32 22
  store i8 0, ptr %534, align 2, !tbaa !31
  br label %535

535:                                              ; preds = %532, %513
  %536 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %536, ptr noundef @.str.23)
  br label %537

537:                                              ; preds = %1753, %535
  br label %538

538:                                              ; preds = %537, %17
  %539 = load ptr, ptr %2, align 8, !tbaa !5
  %540 = getelementptr inbounds %struct.PDP6, ptr %539, i32 0, i32 44
  store i8 0, ptr %540, align 1, !tbaa !55
  %541 = load ptr, ptr %2, align 8, !tbaa !5
  %542 = getelementptr inbounds %struct.PDP6, ptr %541, i32 0, i32 28
  %543 = load i64, ptr %542, align 8, !tbaa !34
  %544 = and i64 %543, 68719214592
  %545 = load ptr, ptr %2, align 8, !tbaa !5
  %546 = getelementptr inbounds %struct.PDP6, ptr %545, i32 0, i32 31
  %547 = load i64, ptr %546, align 8, !tbaa !39
  %548 = and i64 %547, 262143
  %549 = or i64 %544, %548
  %550 = load ptr, ptr %2, align 8, !tbaa !5
  %551 = getelementptr inbounds %struct.PDP6, ptr %550, i32 0, i32 28
  store i64 %549, ptr %551, align 8, !tbaa !34
  %552 = load ptr, ptr %2, align 8, !tbaa !5
  %553 = getelementptr inbounds %struct.PDP6, ptr %552, i32 0, i32 31
  %554 = load i64, ptr %553, align 8, !tbaa !39
  %555 = lshr i64 %554, 18
  %556 = and i64 %555, 31
  %557 = load ptr, ptr %2, align 8, !tbaa !5
  %558 = getelementptr inbounds %struct.PDP6, ptr %557, i32 0, i32 37
  %559 = load i32, ptr %558, align 4, !tbaa !54
  %560 = zext i32 %559 to i64
  %561 = or i64 %560, %556
  %562 = trunc i64 %561 to i32
  store i32 %562, ptr %558, align 4, !tbaa !54
  %563 = load ptr, ptr %2, align 8, !tbaa !5
  %564 = getelementptr inbounds %struct.PDP6, ptr %563, i32 0, i32 35
  store i32 0, ptr %564, align 4, !tbaa !32
  %565 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %565, ptr noundef @.str.24)
  %566 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %566, ptr noundef @.str.20)
  %567 = load ptr, ptr %2, align 8, !tbaa !5
  %568 = getelementptr inbounds %struct.PDP6, ptr %567, i32 0, i32 98
  %569 = load i8, ptr %568, align 1, !tbaa !47, !range !20, !noundef !21
  %570 = trunc i8 %569 to i1
  br i1 %570, label %583, label %571

571:                                              ; preds = %538
  %572 = load ptr, ptr %2, align 8, !tbaa !5
  %573 = load ptr, ptr %2, align 8, !tbaa !5
  %574 = getelementptr inbounds %struct.PDP6, ptr %573, i32 0, i32 41
  %575 = load i8, ptr %574, align 8, !tbaa !48
  %576 = zext i8 %575 to i32
  %577 = load ptr, ptr %2, align 8, !tbaa !5
  %578 = getelementptr inbounds %struct.PDP6, ptr %577, i32 0, i32 101
  %579 = load i8, ptr %578, align 4, !tbaa !49
  %580 = zext i8 %579 to i32
  %581 = and i32 %576, %580
  %582 = trunc i32 %581 to i8
  call void @pir_set(ptr noundef %572, i8 noundef zeroext %582)
  br label %583

583:                                              ; preds = %571, %538
  %584 = load i64, ptr @simtime, align 8, !tbaa !15
  %585 = add i64 %584, 200
  store i64 %585, ptr @simtime, align 8, !tbaa !15
  %586 = load ptr, ptr %2, align 8, !tbaa !5
  %587 = getelementptr inbounds %struct.PDP6, ptr %586, i32 0, i32 104
  %588 = load i8, ptr %587, align 1, !tbaa !50
  %589 = zext i8 %588 to i32
  %590 = icmp ne i32 %589, 0
  br i1 %590, label %591, label %597

591:                                              ; preds = %583
  %592 = load ptr, ptr %2, align 8, !tbaa !5
  %593 = getelementptr inbounds %struct.PDP6, ptr %592, i32 0, i32 98
  %594 = load i8, ptr %593, align 1, !tbaa !47, !range !20, !noundef !21
  %595 = trunc i8 %594 to i1
  br i1 %595, label %597, label %596

596:                                              ; preds = %591
  br label %427

597:                                              ; preds = %591, %583
  %598 = load ptr, ptr %2, align 8, !tbaa !5
  %599 = getelementptr inbounds %struct.PDP6, ptr %598, i32 0, i32 177
  %600 = load i8, ptr %599, align 8, !tbaa !52, !range !20, !noundef !21
  %601 = trunc i8 %600 to i1
  br i1 %601, label %602, label %605

602:                                              ; preds = %597
  %603 = load ptr, ptr %2, align 8, !tbaa !5
  %604 = getelementptr inbounds %struct.PDP6, ptr %603, i32 0, i32 0
  store i32 0, ptr %604, align 8, !tbaa !41
  br label %18456

605:                                              ; preds = %597
  br label %606

606:                                              ; preds = %605
  %607 = load ptr, ptr %2, align 8, !tbaa !5
  %608 = getelementptr inbounds %struct.PDP6, ptr %607, i32 0, i32 108
  store i8 1, ptr %608, align 1, !tbaa !56
  %609 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %609, ptr noundef @.str.25)
  %610 = load ptr, ptr %2, align 8, !tbaa !5
  %611 = getelementptr inbounds %struct.PDP6, ptr %610, i32 0, i32 37
  %612 = load i32, ptr %611, align 4, !tbaa !54
  %613 = and i32 %612, 15
  %614 = icmp ne i32 %613, 0
  br i1 %614, label %615, label %647

615:                                              ; preds = %606
  %616 = load ptr, ptr %2, align 8, !tbaa !5
  %617 = getelementptr inbounds %struct.PDP6, ptr %616, i32 0, i32 37
  %618 = load i32, ptr %617, align 4, !tbaa !54
  %619 = and i32 %618, 15
  %620 = load ptr, ptr %2, align 8, !tbaa !5
  %621 = getelementptr inbounds %struct.PDP6, ptr %620, i32 0, i32 35
  %622 = load i32, ptr %621, align 4, !tbaa !32
  %623 = or i32 %622, %619
  store i32 %623, ptr %621, align 4, !tbaa !32
  %624 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %624, ptr noundef @.str.26)
  %625 = load ptr, ptr %2, align 8, !tbaa !5
  %626 = getelementptr inbounds %struct.PDP6, ptr %625, i32 0, i32 45
  store i8 1, ptr %626, align 4, !tbaa !57
  %627 = load ptr, ptr %2, align 8, !tbaa !5
  call void @rdrq(ptr noundef %627, i32 noundef 14)
  br label %18456

628:                                              ; preds = %17
  %629 = load ptr, ptr %2, align 8, !tbaa !5
  %630 = getelementptr inbounds %struct.PDP6, ptr %629, i32 0, i32 45
  store i8 0, ptr %630, align 4, !tbaa !57
  %631 = load ptr, ptr %2, align 8, !tbaa !5
  %632 = getelementptr inbounds %struct.PDP6, ptr %631, i32 0, i32 35
  store i32 0, ptr %632, align 4, !tbaa !32
  %633 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %633, ptr noundef @.str.27)
  %634 = load ptr, ptr %2, align 8, !tbaa !5
  %635 = getelementptr inbounds %struct.PDP6, ptr %634, i32 0, i32 57
  store i8 1, ptr %635, align 8, !tbaa !58
  %636 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_add(ptr noundef %636)
  %637 = load ptr, ptr %2, align 8, !tbaa !5
  %638 = getelementptr inbounds %struct.PDP6, ptr %637, i32 0, i32 57
  store i8 0, ptr %638, align 8, !tbaa !58
  %639 = load ptr, ptr %2, align 8, !tbaa !5
  %640 = getelementptr inbounds %struct.PDP6, ptr %639, i32 0, i32 28
  %641 = load i64, ptr %640, align 8, !tbaa !34
  %642 = load ptr, ptr %2, align 8, !tbaa !5
  %643 = getelementptr inbounds %struct.PDP6, ptr %642, i32 0, i32 31
  store i64 %641, ptr %643, align 8, !tbaa !39
  %644 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %644, ptr noundef @.str.28)
  %645 = load i64, ptr @simtime, align 8, !tbaa !15
  %646 = add i64 %645, 200
  store i64 %646, ptr @simtime, align 8, !tbaa !15
  br label %647

647:                                              ; preds = %628, %606
  %648 = load ptr, ptr %2, align 8, !tbaa !5
  %649 = getelementptr inbounds %struct.PDP6, ptr %648, i32 0, i32 28
  %650 = load i64, ptr %649, align 8, !tbaa !34
  %651 = and i64 %650, 262143
  store i64 %651, ptr %649, align 8, !tbaa !34
  %652 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %652, ptr noundef @.str.29)
  %653 = load ptr, ptr %2, align 8, !tbaa !5
  %654 = getelementptr inbounds %struct.PDP6, ptr %653, i32 0, i32 37
  %655 = load i32, ptr %654, align 4, !tbaa !54
  %656 = and i32 %655, 16
  %657 = icmp ne i32 %656, 0
  br i1 %657, label %658, label %677

658:                                              ; preds = %647
  %659 = load ptr, ptr %2, align 8, !tbaa !5
  %660 = getelementptr inbounds %struct.PDP6, ptr %659, i32 0, i32 31
  %661 = load i64, ptr %660, align 8, !tbaa !39
  %662 = and i64 %661, 262143
  %663 = load ptr, ptr %2, align 8, !tbaa !5
  %664 = getelementptr inbounds %struct.PDP6, ptr %663, i32 0, i32 35
  %665 = load i32, ptr %664, align 4, !tbaa !32
  %666 = zext i32 %665 to i64
  %667 = or i64 %666, %662
  %668 = trunc i64 %667 to i32
  store i32 %668, ptr %664, align 4, !tbaa !32
  %669 = load ptr, ptr %2, align 8, !tbaa !5
  %670 = getelementptr inbounds %struct.PDP6, ptr %669, i32 0, i32 37
  %671 = load i32, ptr %670, align 4, !tbaa !54
  %672 = and i32 %671, 262112
  store i32 %672, ptr %670, align 4, !tbaa !54
  %673 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %673, ptr noundef @.str.30)
  %674 = load ptr, ptr %2, align 8, !tbaa !5
  %675 = getelementptr inbounds %struct.PDP6, ptr %674, i32 0, i32 44
  store i8 1, ptr %675, align 1, !tbaa !55
  %676 = load ptr, ptr %2, align 8, !tbaa !5
  call void @rdrq(ptr noundef %676, i32 noundef 13)
  br label %18456

677:                                              ; preds = %647
  br label %678

678:                                              ; preds = %18079, %677
  %679 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %679, ptr noundef @.str.31)
  %680 = load ptr, ptr %2, align 8, !tbaa !5
  call void @decode(ptr noundef %680)
  %681 = load ptr, ptr %2, align 8, !tbaa !5
  %682 = getelementptr inbounds %struct.PDP6, ptr %681, i32 0, i32 3
  %683 = load i32, ptr %682, align 4, !tbaa !59
  %684 = and i32 %683, 16
  %685 = icmp ne i32 %684, 0
  br i1 %685, label %829, label %686

686:                                              ; preds = %678
  %687 = load ptr, ptr %2, align 8, !tbaa !5
  %688 = getelementptr inbounds %struct.PDP6, ptr %687, i32 0, i32 37
  %689 = load i32, ptr %688, align 4, !tbaa !54
  %690 = lshr i32 %689, 5
  %691 = and i32 %690, 15
  %692 = load ptr, ptr %2, align 8, !tbaa !5
  %693 = getelementptr inbounds %struct.PDP6, ptr %692, i32 0, i32 35
  %694 = load i32, ptr %693, align 4, !tbaa !32
  %695 = or i32 %694, %691
  store i32 %695, ptr %693, align 4, !tbaa !32
  %696 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %696, ptr noundef @.str.32)
  %697 = load ptr, ptr %2, align 8, !tbaa !5
  %698 = getelementptr inbounds %struct.PDP6, ptr %697, i32 0, i32 46
  store i8 1, ptr %698, align 1, !tbaa !60
  %699 = load ptr, ptr %2, align 8, !tbaa !5
  call void @rdrq(ptr noundef %699, i32 noundef 15)
  br label %18456

700:                                              ; preds = %16995
  br label %701

701:                                              ; preds = %700, %17
  %702 = load ptr, ptr %2, align 8, !tbaa !5
  %703 = getelementptr inbounds %struct.PDP6, ptr %702, i32 0, i32 46
  store i8 0, ptr %703, align 1, !tbaa !60
  %704 = load ptr, ptr %2, align 8, !tbaa !5
  %705 = getelementptr inbounds %struct.PDP6, ptr %704, i32 0, i32 3
  %706 = load i32, ptr %705, align 4, !tbaa !59
  %707 = and i32 %706, 32
  %708 = icmp ne i32 %707, 0
  br i1 %708, label %709, label %717

709:                                              ; preds = %701
  %710 = load ptr, ptr %2, align 8, !tbaa !5
  %711 = getelementptr inbounds %struct.PDP6, ptr %710, i32 0, i32 35
  %712 = load i32, ptr %711, align 4, !tbaa !32
  %713 = add i32 %712, 1
  %714 = and i32 %713, 15
  %715 = load ptr, ptr %2, align 8, !tbaa !5
  %716 = getelementptr inbounds %struct.PDP6, ptr %715, i32 0, i32 35
  store i32 %714, ptr %716, align 4, !tbaa !32
  br label %720

717:                                              ; preds = %701
  %718 = load ptr, ptr %2, align 8, !tbaa !5
  %719 = getelementptr inbounds %struct.PDP6, ptr %718, i32 0, i32 35
  store i32 0, ptr %719, align 4, !tbaa !32
  br label %720

720:                                              ; preds = %717, %709
  %721 = load ptr, ptr %2, align 8, !tbaa !5
  %722 = getelementptr inbounds %struct.PDP6, ptr %721, i32 0, i32 3
  %723 = load i32, ptr %722, align 4, !tbaa !59
  %724 = and i32 %723, 64
  %725 = icmp ne i32 %724, 0
  br i1 %725, label %726, label %739

726:                                              ; preds = %720
  %727 = load ptr, ptr %2, align 8, !tbaa !5
  %728 = getelementptr inbounds %struct.PDP6, ptr %727, i32 0, i32 31
  %729 = load i64, ptr %728, align 8, !tbaa !39
  %730 = shl i64 %729, 18
  %731 = load ptr, ptr %2, align 8, !tbaa !5
  %732 = getelementptr inbounds %struct.PDP6, ptr %731, i32 0, i32 31
  %733 = load i64, ptr %732, align 8, !tbaa !39
  %734 = lshr i64 %733, 18
  %735 = or i64 %730, %734
  %736 = and i64 %735, 68719476735
  %737 = load ptr, ptr %2, align 8, !tbaa !5
  %738 = getelementptr inbounds %struct.PDP6, ptr %737, i32 0, i32 31
  store i64 %736, ptr %738, align 8, !tbaa !39
  br label %759

739:                                              ; preds = %720
  %740 = load ptr, ptr %2, align 8, !tbaa !5
  %741 = getelementptr inbounds %struct.PDP6, ptr %740, i32 0, i32 3
  %742 = load i32, ptr %741, align 4, !tbaa !59
  %743 = and i32 %742, 128
  %744 = icmp ne i32 %743, 0
  br i1 %744, label %745, label %746

745:                                              ; preds = %739
  br label %758

746:                                              ; preds = %739
  %747 = load ptr, ptr %2, align 8, !tbaa !5
  %748 = getelementptr inbounds %struct.PDP6, ptr %747, i32 0, i32 31
  %749 = load i64, ptr %748, align 8, !tbaa !39
  store i64 %749, ptr %4, align 8, !tbaa !15
  %750 = load ptr, ptr %2, align 8, !tbaa !5
  %751 = getelementptr inbounds %struct.PDP6, ptr %750, i32 0, i32 28
  %752 = load i64, ptr %751, align 8, !tbaa !34
  %753 = load ptr, ptr %2, align 8, !tbaa !5
  %754 = getelementptr inbounds %struct.PDP6, ptr %753, i32 0, i32 31
  store i64 %752, ptr %754, align 8, !tbaa !39
  %755 = load i64, ptr %4, align 8, !tbaa !15
  %756 = load ptr, ptr %2, align 8, !tbaa !5
  %757 = getelementptr inbounds %struct.PDP6, ptr %756, i32 0, i32 28
  store i64 %755, ptr %757, align 8, !tbaa !34
  br label %758

758:                                              ; preds = %746, %745
  br label %759

759:                                              ; preds = %758, %726
  %760 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %760, ptr noundef @.str.33)
  %761 = load i64, ptr @simtime, align 8, !tbaa !15
  %762 = add i64 %761, 100
  store i64 %762, ptr @simtime, align 8, !tbaa !15
  %763 = load ptr, ptr %2, align 8, !tbaa !5
  %764 = getelementptr inbounds %struct.PDP6, ptr %763, i32 0, i32 3
  %765 = load i32, ptr %764, align 4, !tbaa !59
  %766 = and i32 %765, 224
  %767 = icmp ne i32 %766, 0
  br i1 %767, label %768, label %828

768:                                              ; preds = %759
  %769 = load ptr, ptr %2, align 8, !tbaa !5
  %770 = getelementptr inbounds %struct.PDP6, ptr %769, i32 0, i32 3
  %771 = load i32, ptr %770, align 4, !tbaa !59
  %772 = and i32 %771, 192
  %773 = icmp ne i32 %772, 0
  br i1 %773, label %774, label %799

774:                                              ; preds = %768
  %775 = load ptr, ptr %2, align 8, !tbaa !5
  %776 = getelementptr inbounds %struct.PDP6, ptr %775, i32 0, i32 31
  %777 = load i64, ptr %776, align 8, !tbaa !39
  %778 = and i64 %777, 262143
  %779 = load ptr, ptr %2, align 8, !tbaa !5
  %780 = getelementptr inbounds %struct.PDP6, ptr %779, i32 0, i32 35
  %781 = load i32, ptr %780, align 4, !tbaa !32
  %782 = zext i32 %781 to i64
  %783 = or i64 %782, %778
  %784 = trunc i64 %783 to i32
  store i32 %784, ptr %780, align 4, !tbaa !32
  %785 = load ptr, ptr %2, align 8, !tbaa !5
  %786 = getelementptr inbounds %struct.PDP6, ptr %785, i32 0, i32 31
  %787 = load i64, ptr %786, align 8, !tbaa !39
  store i64 %787, ptr %4, align 8, !tbaa !15
  %788 = load ptr, ptr %2, align 8, !tbaa !5
  %789 = getelementptr inbounds %struct.PDP6, ptr %788, i32 0, i32 28
  %790 = load i64, ptr %789, align 8, !tbaa !34
  %791 = load ptr, ptr %2, align 8, !tbaa !5
  %792 = getelementptr inbounds %struct.PDP6, ptr %791, i32 0, i32 31
  store i64 %790, ptr %792, align 8, !tbaa !39
  %793 = load i64, ptr %4, align 8, !tbaa !15
  %794 = load ptr, ptr %2, align 8, !tbaa !5
  %795 = getelementptr inbounds %struct.PDP6, ptr %794, i32 0, i32 28
  store i64 %793, ptr %795, align 8, !tbaa !34
  %796 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %796, ptr noundef @.str.34)
  %797 = load i64, ptr @simtime, align 8, !tbaa !15
  %798 = add i64 %797, 100
  store i64 %798, ptr @simtime, align 8, !tbaa !15
  br label %799

799:                                              ; preds = %774, %768
  %800 = load ptr, ptr %2, align 8, !tbaa !5
  %801 = getelementptr inbounds %struct.PDP6, ptr %800, i32 0, i32 31
  %802 = load i64, ptr %801, align 8, !tbaa !39
  %803 = load ptr, ptr %2, align 8, !tbaa !5
  %804 = getelementptr inbounds %struct.PDP6, ptr %803, i32 0, i32 29
  store i64 %802, ptr %804, align 8, !tbaa !61
  %805 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %805, ptr noundef @.str.35)
  %806 = load ptr, ptr %2, align 8, !tbaa !5
  %807 = getelementptr inbounds %struct.PDP6, ptr %806, i32 0, i32 47
  store i8 1, ptr %807, align 2, !tbaa !62
  %808 = load ptr, ptr %2, align 8, !tbaa !5
  call void @rdrq(ptr noundef %808, i32 noundef 16)
  br label %18456

809:                                              ; preds = %17
  %810 = load ptr, ptr %2, align 8, !tbaa !5
  %811 = getelementptr inbounds %struct.PDP6, ptr %810, i32 0, i32 47
  store i8 0, ptr %811, align 2, !tbaa !62
  %812 = load ptr, ptr %2, align 8, !tbaa !5
  %813 = getelementptr inbounds %struct.PDP6, ptr %812, i32 0, i32 35
  store i32 0, ptr %813, align 4, !tbaa !32
  %814 = load ptr, ptr %2, align 8, !tbaa !5
  %815 = getelementptr inbounds %struct.PDP6, ptr %814, i32 0, i32 31
  %816 = load i64, ptr %815, align 8, !tbaa !39
  store i64 %816, ptr %4, align 8, !tbaa !15
  %817 = load ptr, ptr %2, align 8, !tbaa !5
  %818 = getelementptr inbounds %struct.PDP6, ptr %817, i32 0, i32 29
  %819 = load i64, ptr %818, align 8, !tbaa !61
  %820 = load ptr, ptr %2, align 8, !tbaa !5
  %821 = getelementptr inbounds %struct.PDP6, ptr %820, i32 0, i32 31
  store i64 %819, ptr %821, align 8, !tbaa !39
  %822 = load i64, ptr %4, align 8, !tbaa !15
  %823 = load ptr, ptr %2, align 8, !tbaa !5
  %824 = getelementptr inbounds %struct.PDP6, ptr %823, i32 0, i32 29
  store i64 %822, ptr %824, align 8, !tbaa !61
  %825 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %825, ptr noundef @.str.36)
  %826 = load i64, ptr @simtime, align 8, !tbaa !15
  %827 = add i64 %826, 100
  store i64 %827, ptr @simtime, align 8, !tbaa !15
  br label %828

828:                                              ; preds = %809, %759
  br label %829

829:                                              ; preds = %828, %678
  %830 = load ptr, ptr %2, align 8, !tbaa !5
  %831 = getelementptr inbounds %struct.PDP6, ptr %830, i32 0, i32 31
  %832 = load i64, ptr %831, align 8, !tbaa !39
  %833 = and i64 %832, 262143
  %834 = load ptr, ptr %2, align 8, !tbaa !5
  %835 = getelementptr inbounds %struct.PDP6, ptr %834, i32 0, i32 35
  %836 = load i32, ptr %835, align 4, !tbaa !32
  %837 = zext i32 %836 to i64
  %838 = or i64 %837, %833
  %839 = trunc i64 %838 to i32
  store i32 %839, ptr %835, align 4, !tbaa !32
  %840 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %840, ptr noundef @.str.37)
  %841 = load ptr, ptr %2, align 8, !tbaa !5
  %842 = getelementptr inbounds %struct.PDP6, ptr %841, i32 0, i32 3
  %843 = load i32, ptr %842, align 4, !tbaa !59
  %844 = and i32 %843, 256
  %845 = icmp ne i32 %844, 0
  br i1 %845, label %846, label %851

846:                                              ; preds = %829
  %847 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %847, ptr noundef @.str.38)
  %848 = load ptr, ptr %2, align 8, !tbaa !5
  %849 = getelementptr inbounds %struct.PDP6, ptr %848, i32 0, i32 48
  store i8 1, ptr %849, align 1, !tbaa !63
  %850 = load ptr, ptr %2, align 8, !tbaa !5
  call void @rdrq(ptr noundef %850, i32 noundef 17)
  br label %18456

851:                                              ; preds = %829
  %852 = load ptr, ptr %2, align 8, !tbaa !5
  %853 = getelementptr inbounds %struct.PDP6, ptr %852, i32 0, i32 3
  %854 = load i32, ptr %853, align 4, !tbaa !59
  %855 = and i32 %854, 512
  %856 = icmp ne i32 %855, 0
  br i1 %856, label %857, label %862

857:                                              ; preds = %851
  %858 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %858, ptr noundef @.str.39)
  %859 = load ptr, ptr %2, align 8, !tbaa !5
  %860 = getelementptr inbounds %struct.PDP6, ptr %859, i32 0, i32 48
  store i8 1, ptr %860, align 1, !tbaa !63
  %861 = load ptr, ptr %2, align 8, !tbaa !5
  call void @rdwrrq(ptr noundef %861, i32 noundef 17)
  br label %18456

862:                                              ; preds = %851
  br label %863

863:                                              ; preds = %862
  br label %864

864:                                              ; preds = %863, %17
  %865 = load ptr, ptr %2, align 8, !tbaa !5
  %866 = getelementptr inbounds %struct.PDP6, ptr %865, i32 0, i32 48
  store i8 0, ptr %866, align 1, !tbaa !63
  %867 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %867, ptr noundef @.str.40)
  %868 = load ptr, ptr %2, align 8, !tbaa !5
  %869 = getelementptr inbounds %struct.PDP6, ptr %868, i32 0, i32 98
  %870 = load i8, ptr %869, align 1, !tbaa !47, !range !20, !noundef !21
  %871 = trunc i8 %870 to i1
  br i1 %871, label %872, label %891

872:                                              ; preds = %864
  %873 = load ptr, ptr %2, align 8, !tbaa !5
  %874 = getelementptr inbounds %struct.PDP6, ptr %873, i32 0, i32 3
  %875 = load i32, ptr %874, align 4, !tbaa !59
  %876 = and i32 %875, 2
  %877 = icmp ne i32 %876, 0
  br i1 %877, label %878, label %889

878:                                              ; preds = %872
  %879 = load ptr, ptr %2, align 8, !tbaa !5
  %880 = getelementptr inbounds %struct.PDP6, ptr %879, i32 0, i32 99
  %881 = load i8, ptr %880, align 2, !tbaa !53, !range !20, !noundef !21
  %882 = trunc i8 %881 to i1
  br i1 %882, label %891, label %883

883:                                              ; preds = %878
  %884 = load ptr, ptr %2, align 8, !tbaa !5
  %885 = getelementptr inbounds %struct.PDP6, ptr %884, i32 0, i32 3
  %886 = load i32, ptr %885, align 4, !tbaa !59
  %887 = and i32 %886, 32768
  %888 = icmp ne i32 %887, 0
  br i1 %888, label %889, label %891

889:                                              ; preds = %883, %872
  %890 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pi_hold(ptr noundef %890)
  br label %891

891:                                              ; preds = %889, %883, %878, %864
  %892 = load ptr, ptr %2, align 8, !tbaa !5
  %893 = getelementptr inbounds %struct.PDP6, ptr %892, i32 0, i32 26
  %894 = load i8, ptr %893, align 2, !tbaa !35, !range !20, !noundef !21
  %895 = trunc i8 %894 to i1
  br i1 %895, label %896, label %899

896:                                              ; preds = %891
  %897 = load ptr, ptr %2, align 8, !tbaa !5
  %898 = getelementptr inbounds %struct.PDP6, ptr %897, i32 0, i32 24
  store i8 1, ptr %898, align 4, !tbaa !45
  br label %899

899:                                              ; preds = %896, %891
  %900 = load ptr, ptr %2, align 8, !tbaa !5
  %901 = getelementptr inbounds %struct.PDP6, ptr %900, i32 0, i32 27
  %902 = load i8, ptr %901, align 1, !tbaa !36, !range !20, !noundef !21
  %903 = trunc i8 %902 to i1
  br i1 %903, label %904, label %907

904:                                              ; preds = %899
  %905 = load ptr, ptr %2, align 8, !tbaa !5
  %906 = getelementptr inbounds %struct.PDP6, ptr %905, i32 0, i32 25
  store i8 1, ptr %906, align 1, !tbaa !64
  br label %907

907:                                              ; preds = %904, %899
  %908 = load ptr, ptr %2, align 8, !tbaa !5
  %909 = getelementptr inbounds %struct.PDP6, ptr %908, i32 0, i32 8
  %910 = load i8, ptr %909, align 4, !tbaa !65, !range !20, !noundef !21
  %911 = trunc i8 %910 to i1
  br i1 %911, label %912, label %914

912:                                              ; preds = %907
  %913 = load ptr, ptr %2, align 8, !tbaa !5
  call void @clr_run(ptr noundef %913)
  br label %914

914:                                              ; preds = %912, %907
  %915 = load ptr, ptr %2, align 8, !tbaa !5
  %916 = getelementptr inbounds %struct.PDP6, ptr %915, i32 0, i32 98
  %917 = load i8, ptr %916, align 1, !tbaa !47, !range !20, !noundef !21
  %918 = trunc i8 %917 to i1
  br i1 %918, label %938, label %919

919:                                              ; preds = %914
  %920 = load ptr, ptr %2, align 8, !tbaa !5
  %921 = getelementptr inbounds %struct.PDP6, ptr %920, i32 0, i32 3
  %922 = load i32, ptr %921, align 4, !tbaa !59
  %923 = and i32 %922, 16384
  %924 = icmp ne i32 %923, 0
  br i1 %924, label %938, label %925

925:                                              ; preds = %919
  %926 = load ptr, ptr %2, align 8, !tbaa !5
  %927 = getelementptr inbounds %struct.PDP6, ptr %926, i32 0, i32 15
  %928 = load i8, ptr %927, align 1, !tbaa !28, !range !20, !noundef !21
  %929 = trunc i8 %928 to i1
  br i1 %929, label %938, label %930

930:                                              ; preds = %925
  %931 = load ptr, ptr %2, align 8, !tbaa !5
  %932 = getelementptr inbounds %struct.PDP6, ptr %931, i32 0, i32 34
  %933 = load i32, ptr %932, align 8, !tbaa !33
  %934 = add i32 %933, 1
  %935 = and i32 %934, 262143
  %936 = load ptr, ptr %2, align 8, !tbaa !5
  %937 = getelementptr inbounds %struct.PDP6, ptr %936, i32 0, i32 34
  store i32 %935, ptr %937, align 8, !tbaa !33
  br label %938

938:                                              ; preds = %930, %925, %919, %914
  %939 = load ptr, ptr %2, align 8, !tbaa !5
  %940 = getelementptr inbounds %struct.PDP6, ptr %939, i32 0, i32 126
  store i8 0, ptr %940, align 1, !tbaa !66
  %941 = load ptr, ptr %2, align 8, !tbaa !5
  %942 = getelementptr inbounds %struct.PDP6, ptr %941, i32 0, i32 127
  store i8 0, ptr %942, align 2, !tbaa !67
  %943 = load ptr, ptr %2, align 8, !tbaa !5
  %944 = getelementptr inbounds %struct.PDP6, ptr %943, i32 0, i32 2
  %945 = load i32, ptr %944, align 8, !tbaa !68
  %946 = load ptr, ptr %2, align 8, !tbaa !5
  %947 = getelementptr inbounds %struct.PDP6, ptr %946, i32 0, i32 1
  store i32 %945, ptr %947, align 4, !tbaa !18
  br label %18456

948:                                              ; preds = %17
  %949 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %949, ptr noundef @.str.41)
  %950 = load i64, ptr @simtime, align 8, !tbaa !15
  %951 = add i64 %950, 100
  store i64 %951, ptr @simtime, align 8, !tbaa !15
  %952 = load ptr, ptr %2, align 8, !tbaa !5
  %953 = getelementptr inbounds %struct.PDP6, ptr %952, i32 0, i32 35
  store i32 0, ptr %953, align 4, !tbaa !32
  %954 = load ptr, ptr %2, align 8, !tbaa !5
  %955 = getelementptr inbounds %struct.PDP6, ptr %954, i32 0, i32 31
  %956 = load i64, ptr %955, align 8, !tbaa !39
  %957 = and i64 %956, 262143
  store i64 %957, ptr %955, align 8, !tbaa !39
  %958 = load ptr, ptr %2, align 8, !tbaa !5
  %959 = getelementptr inbounds %struct.PDP6, ptr %958, i32 0, i32 109
  store i8 1, ptr %959, align 4, !tbaa !42
  %960 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %960, ptr noundef @.str.42)
  %961 = load i64, ptr @simtime, align 8, !tbaa !15
  %962 = add i64 %961, 100
  store i64 %962, ptr @simtime, align 8, !tbaa !15
  %963 = load ptr, ptr %2, align 8, !tbaa !5
  %964 = getelementptr inbounds %struct.PDP6, ptr %963, i32 0, i32 35
  %965 = load i32, ptr %964, align 4, !tbaa !32
  %966 = or i32 %965, 32
  store i32 %966, ptr %964, align 4, !tbaa !32
  %967 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %967, ptr noundef @.str.43)
  %968 = load ptr, ptr %2, align 8, !tbaa !5
  %969 = getelementptr inbounds %struct.PDP6, ptr %968, i32 0, i32 37
  %970 = load i32, ptr %969, align 4, !tbaa !54
  %971 = and i32 %970, 262112
  %972 = zext i32 %971 to i64
  %973 = shl i64 %972, 18
  %974 = load ptr, ptr %2, align 8, !tbaa !5
  %975 = getelementptr inbounds %struct.PDP6, ptr %974, i32 0, i32 31
  %976 = load i64, ptr %975, align 8, !tbaa !39
  %977 = or i64 %976, %973
  store i64 %977, ptr %975, align 8, !tbaa !39
  %978 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %978, ptr noundef @.str.44)
  %979 = load ptr, ptr %2, align 8, !tbaa !5
  %980 = getelementptr inbounds %struct.PDP6, ptr %979, i32 0, i32 52
  store i8 1, ptr %980, align 1, !tbaa !69
  %981 = load ptr, ptr %2, align 8, !tbaa !5
  call void @wrrq(ptr noundef %981, i32 noundef 21)
  br label %18456

982:                                              ; preds = %17
  %983 = load ptr, ptr %2, align 8, !tbaa !5
  %984 = getelementptr inbounds %struct.PDP6, ptr %983, i32 0, i32 52
  store i8 0, ptr %984, align 1, !tbaa !69
  %985 = load ptr, ptr %2, align 8, !tbaa !5
  %986 = getelementptr inbounds %struct.PDP6, ptr %985, i32 0, i32 35
  %987 = load i32, ptr %986, align 4, !tbaa !32
  %988 = add i32 %987, 1
  %989 = and i32 %988, 262143
  %990 = load ptr, ptr %2, align 8, !tbaa !5
  %991 = getelementptr inbounds %struct.PDP6, ptr %990, i32 0, i32 35
  store i32 %989, ptr %991, align 4, !tbaa !32
  %992 = load ptr, ptr %2, align 8, !tbaa !5
  call void @mr_clr(ptr noundef %992)
  %993 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %993, ptr noundef @.str.45)
  %994 = load i64, ptr @simtime, align 8, !tbaa !15
  %995 = add i64 %994, 100
  store i64 %995, ptr @simtime, align 8, !tbaa !15
  %996 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %996, ptr noundef @.str.46)
  %997 = load ptr, ptr %2, align 8, !tbaa !5
  %998 = getelementptr inbounds %struct.PDP6, ptr %997, i32 0, i32 43
  store i8 1, ptr %998, align 2, !tbaa !46
  %999 = load ptr, ptr %2, align 8, !tbaa !5
  call void @rdrq(ptr noundef %999, i32 noundef 12)
  br label %18456

1000:                                             ; preds = %17
  %1001 = load ptr, ptr %2, align 8, !tbaa !5
  %1002 = getelementptr inbounds %struct.PDP6, ptr %1001, i32 0, i32 31
  %1003 = load i64, ptr %1002, align 8, !tbaa !39
  %1004 = xor i64 %1003, -1
  %1005 = lshr i64 %1004, 9
  %1006 = and i64 %1005, 256
  %1007 = load ptr, ptr %2, align 8, !tbaa !5
  %1008 = getelementptr inbounds %struct.PDP6, ptr %1007, i32 0, i32 31
  %1009 = load i64, ptr %1008, align 8, !tbaa !39
  %1010 = xor i64 %1009, -1
  %1011 = and i64 %1010, 255
  %1012 = or i64 %1006, %1011
  %1013 = load ptr, ptr %2, align 8, !tbaa !5
  %1014 = getelementptr inbounds %struct.PDP6, ptr %1013, i32 0, i32 39
  %1015 = load i32, ptr %1014, align 4, !tbaa !70
  %1016 = zext i32 %1015 to i64
  %1017 = or i64 %1016, %1012
  %1018 = trunc i64 %1017 to i32
  store i32 %1018, ptr %1014, align 4, !tbaa !70
  %1019 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1019, ptr noundef @.str.41)
  %1020 = load i64, ptr @simtime, align 8, !tbaa !15
  %1021 = add i64 %1020, 100
  store i64 %1021, ptr @simtime, align 8, !tbaa !15
  %1022 = load ptr, ptr %2, align 8, !tbaa !5
  %1023 = getelementptr inbounds %struct.PDP6, ptr %1022, i32 0, i32 28
  %1024 = load i64, ptr %1023, align 8, !tbaa !34
  %1025 = and i64 %1024, 34359738368
  %1026 = icmp ne i64 %1025, 0
  br i1 %1026, label %1032, label %1027

1027:                                             ; preds = %1000
  %1028 = load ptr, ptr %2, align 8, !tbaa !5
  %1029 = getelementptr inbounds %struct.PDP6, ptr %1028, i32 0, i32 39
  %1030 = load i32, ptr %1029, align 4, !tbaa !70
  %1031 = xor i32 %1030, 511
  store i32 %1031, ptr %1029, align 4, !tbaa !70
  br label %1032

1032:                                             ; preds = %1027, %1000
  %1033 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1033, ptr noundef @.str.42)
  %1034 = load i64, ptr @simtime, align 8, !tbaa !15
  %1035 = add i64 %1034, 100
  store i64 %1035, ptr @simtime, align 8, !tbaa !15
  %1036 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1036, ptr noundef @.str.43)
  %1037 = load ptr, ptr %2, align 8, !tbaa !5
  %1038 = getelementptr inbounds %struct.PDP6, ptr %1037, i32 0, i32 28
  %1039 = load i64, ptr %1038, align 8, !tbaa !34
  %1040 = and i64 %1039, 34359738368
  %1041 = icmp ne i64 %1040, 0
  br i1 %1041, label %1042, label %1051

1042:                                             ; preds = %1032
  %1043 = load ptr, ptr %2, align 8, !tbaa !5
  %1044 = getelementptr inbounds %struct.PDP6, ptr %1043, i32 0, i32 39
  %1045 = load i32, ptr %1044, align 4, !tbaa !70
  %1046 = add i32 %1045, 1
  %1047 = and i32 %1046, 511
  %1048 = load ptr, ptr %2, align 8, !tbaa !5
  %1049 = getelementptr inbounds %struct.PDP6, ptr %1048, i32 0, i32 39
  store i32 %1047, ptr %1049, align 4, !tbaa !70
  %1050 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1050, ptr noundef @.str.47)
  br label %1051

1051:                                             ; preds = %1042, %1032
  %1052 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1052, ptr noundef @.str.48)
  %1053 = load ptr, ptr %2, align 8, !tbaa !5
  %1054 = getelementptr inbounds %struct.PDP6, ptr %1053, i32 0, i32 79
  store i8 1, ptr %1054, align 2, !tbaa !71
  %1055 = load ptr, ptr %2, align 8, !tbaa !5
  %1056 = load ptr, ptr %2, align 8, !tbaa !5
  %1057 = getelementptr inbounds %struct.PDP6, ptr %1056, i32 0, i32 28
  %1058 = load i64, ptr %1057, align 8, !tbaa !34
  %1059 = lshr i64 %1058, 27
  %1060 = and i64 %1059, 511
  %1061 = trunc i64 %1060 to i32
  call void @sc_add(ptr noundef %1055, i32 noundef %1061)
  %1062 = load ptr, ptr %2, align 8, !tbaa !5
  %1063 = getelementptr inbounds %struct.PDP6, ptr %1062, i32 0, i32 79
  store i8 0, ptr %1063, align 2, !tbaa !71
  %1064 = load ptr, ptr %2, align 8, !tbaa !5
  %1065 = getelementptr inbounds %struct.PDP6, ptr %1064, i32 0, i32 28
  %1066 = load i64, ptr %1065, align 8, !tbaa !34
  %1067 = and i64 %1066, 34359738368
  %1068 = icmp ne i64 %1067, 0
  %1069 = xor i1 %1068, true
  %1070 = xor i1 %1069, true
  %1071 = zext i1 %1070 to i32
  %1072 = load ptr, ptr %2, align 8, !tbaa !5
  %1073 = getelementptr inbounds %struct.PDP6, ptr %1072, i32 0, i32 39
  %1074 = load i32, ptr %1073, align 4, !tbaa !70
  %1075 = and i32 %1074, 256
  %1076 = icmp ne i32 %1075, 0
  %1077 = xor i1 %1076, true
  %1078 = xor i1 %1077, true
  %1079 = zext i1 %1078 to i32
  %1080 = icmp ne i32 %1071, %1079
  br i1 %1080, label %1081, label %1083

1081:                                             ; preds = %1051
  %1082 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %1082)
  br label %1083

1083:                                             ; preds = %1081, %1051
  %1084 = load ptr, ptr %2, align 8, !tbaa !5
  %1085 = getelementptr inbounds %struct.PDP6, ptr %1084, i32 0, i32 28
  %1086 = load i64, ptr %1085, align 8, !tbaa !34
  %1087 = and i64 %1086, -34225520641
  %1088 = load ptr, ptr %2, align 8, !tbaa !5
  %1089 = getelementptr inbounds %struct.PDP6, ptr %1088, i32 0, i32 39
  %1090 = load i32, ptr %1089, align 4, !tbaa !70
  %1091 = zext i32 %1090 to i64
  %1092 = and i64 %1091, 255
  %1093 = shl i64 %1092, 27
  %1094 = or i64 %1087, %1093
  %1095 = load ptr, ptr %2, align 8, !tbaa !5
  %1096 = getelementptr inbounds %struct.PDP6, ptr %1095, i32 0, i32 28
  store i64 %1094, ptr %1096, align 8, !tbaa !34
  %1097 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1097, ptr noundef @.str.49)
  br label %17859

1098:                                             ; preds = %17, %17, %17, %17, %17, %17, %17, %17
  %1099 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1099, ptr noundef @.str.41)
  br label %1100

1100:                                             ; preds = %1316, %1098
  %1101 = load ptr, ptr %2, align 8, !tbaa !5
  %1102 = getelementptr inbounds %struct.PDP6, ptr %1101, i32 0, i32 28
  %1103 = load i64, ptr %1102, align 8, !tbaa !34
  %1104 = and i64 %1103, 34359738368
  %1105 = icmp ne i64 %1104, 0
  %1106 = xor i1 %1105, true
  %1107 = xor i1 %1106, true
  %1108 = zext i1 %1107 to i32
  %1109 = load ptr, ptr %2, align 8, !tbaa !5
  %1110 = getelementptr inbounds %struct.PDP6, ptr %1109, i32 0, i32 31
  %1111 = load i64, ptr %1110, align 8, !tbaa !39
  %1112 = and i64 %1111, 34359738368
  %1113 = icmp ne i64 %1112, 0
  %1114 = xor i1 %1113, true
  %1115 = xor i1 %1114, true
  %1116 = zext i1 %1115 to i32
  %1117 = icmp eq i32 %1108, %1116
  br i1 %1117, label %1118, label %1123

1118:                                             ; preds = %1100
  %1119 = load ptr, ptr %2, align 8, !tbaa !5
  %1120 = getelementptr inbounds %struct.PDP6, ptr %1119, i32 0, i32 39
  %1121 = load i32, ptr %1120, align 4, !tbaa !70
  %1122 = xor i32 %1121, 511
  store i32 %1122, ptr %1120, align 4, !tbaa !70
  br label %1123

1123:                                             ; preds = %1118, %1100
  %1124 = load ptr, ptr %2, align 8, !tbaa !5
  %1125 = getelementptr inbounds %struct.PDP6, ptr %1124, i32 0, i32 88
  store i8 1, ptr %1125, align 1, !tbaa !72
  %1126 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1126, ptr noundef @.str.50)
  %1127 = load i64, ptr @simtime, align 8, !tbaa !15
  %1128 = add i64 %1127, 100
  store i64 %1128, ptr @simtime, align 8, !tbaa !15
  %1129 = load ptr, ptr %2, align 8, !tbaa !5
  %1130 = getelementptr inbounds %struct.PDP6, ptr %1129, i32 0, i32 31
  %1131 = load i64, ptr %1130, align 8, !tbaa !39
  %1132 = lshr i64 %1131, 27
  %1133 = and i64 %1132, 511
  %1134 = load ptr, ptr %2, align 8, !tbaa !5
  %1135 = getelementptr inbounds %struct.PDP6, ptr %1134, i32 0, i32 39
  %1136 = load i32, ptr %1135, align 4, !tbaa !70
  %1137 = zext i32 %1136 to i64
  %1138 = xor i64 %1137, %1133
  %1139 = trunc i64 %1138 to i32
  store i32 %1139, ptr %1135, align 4, !tbaa !70
  %1140 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1140, ptr noundef @.str.51)
  %1141 = load ptr, ptr %2, align 8, !tbaa !5
  %1142 = getelementptr inbounds %struct.PDP6, ptr %1141, i32 0, i32 88
  store i8 0, ptr %1142, align 1, !tbaa !72
  %1143 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1143, ptr noundef @.str.52)
  %1144 = load ptr, ptr %2, align 8, !tbaa !5
  %1145 = getelementptr inbounds %struct.PDP6, ptr %1144, i32 0, i32 80
  store i8 1, ptr %1145, align 1, !tbaa !73
  %1146 = load ptr, ptr %2, align 8, !tbaa !5
  %1147 = load ptr, ptr %2, align 8, !tbaa !5
  %1148 = getelementptr inbounds %struct.PDP6, ptr %1147, i32 0, i32 28
  %1149 = load i64, ptr %1148, align 8, !tbaa !34
  %1150 = lshr i64 %1149, 27
  %1151 = and i64 %1150, 511
  %1152 = trunc i64 %1151 to i32
  call void @sc_add(ptr noundef %1146, i32 noundef %1152)
  %1153 = load ptr, ptr %2, align 8, !tbaa !5
  %1154 = getelementptr inbounds %struct.PDP6, ptr %1153, i32 0, i32 80
  store i8 0, ptr %1154, align 1, !tbaa !73
  %1155 = load ptr, ptr %2, align 8, !tbaa !5
  %1156 = getelementptr inbounds %struct.PDP6, ptr %1155, i32 0, i32 28
  %1157 = load i64, ptr %1156, align 8, !tbaa !34
  %1158 = and i64 %1157, 34359738368
  %1159 = icmp ne i64 %1158, 0
  %1160 = xor i1 %1159, true
  %1161 = xor i1 %1160, true
  %1162 = zext i1 %1161 to i32
  %1163 = load ptr, ptr %2, align 8, !tbaa !5
  %1164 = getelementptr inbounds %struct.PDP6, ptr %1163, i32 0, i32 39
  %1165 = load i32, ptr %1164, align 4, !tbaa !70
  %1166 = and i32 %1165, 256
  %1167 = icmp ne i32 %1166, 0
  %1168 = xor i1 %1167, true
  %1169 = xor i1 %1168, true
  %1170 = zext i1 %1169 to i32
  %1171 = icmp eq i32 %1162, %1170
  br i1 %1171, label %1172, label %1184

1172:                                             ; preds = %1123
  %1173 = load ptr, ptr %2, align 8, !tbaa !5
  %1174 = getelementptr inbounds %struct.PDP6, ptr %1173, i32 0, i32 31
  %1175 = load i64, ptr %1174, align 8, !tbaa !39
  store i64 %1175, ptr %4, align 8, !tbaa !15
  %1176 = load ptr, ptr %2, align 8, !tbaa !5
  %1177 = getelementptr inbounds %struct.PDP6, ptr %1176, i32 0, i32 28
  %1178 = load i64, ptr %1177, align 8, !tbaa !34
  %1179 = load ptr, ptr %2, align 8, !tbaa !5
  %1180 = getelementptr inbounds %struct.PDP6, ptr %1179, i32 0, i32 31
  store i64 %1178, ptr %1180, align 8, !tbaa !39
  %1181 = load i64, ptr %4, align 8, !tbaa !15
  %1182 = load ptr, ptr %2, align 8, !tbaa !5
  %1183 = getelementptr inbounds %struct.PDP6, ptr %1182, i32 0, i32 28
  store i64 %1181, ptr %1183, align 8, !tbaa !34
  br label %1184

1184:                                             ; preds = %1172, %1123
  %1185 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1185, ptr noundef @.str.53)
  %1186 = load ptr, ptr %2, align 8, !tbaa !5
  %1187 = getelementptr inbounds %struct.PDP6, ptr %1186, i32 0, i32 39
  %1188 = load i32, ptr %1187, align 4, !tbaa !70
  %1189 = and i32 %1188, 256
  %1190 = icmp ne i32 %1189, 0
  br i1 %1190, label %1209, label %1191

1191:                                             ; preds = %1184
  %1192 = load ptr, ptr %2, align 8, !tbaa !5
  %1193 = getelementptr inbounds %struct.PDP6, ptr %1192, i32 0, i32 39
  %1194 = load i32, ptr %1193, align 4, !tbaa !70
  %1195 = add i32 %1194, 1
  %1196 = and i32 %1195, 511
  %1197 = load ptr, ptr %2, align 8, !tbaa !5
  %1198 = getelementptr inbounds %struct.PDP6, ptr %1197, i32 0, i32 39
  store i32 %1196, ptr %1198, align 4, !tbaa !70
  %1199 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1199, ptr noundef @.str.54)
  %1200 = load i64, ptr @simtime, align 8, !tbaa !15
  %1201 = add i64 %1200, 150
  store i64 %1201, ptr @simtime, align 8, !tbaa !15
  %1202 = load ptr, ptr %2, align 8, !tbaa !5
  %1203 = getelementptr inbounds %struct.PDP6, ptr %1202, i32 0, i32 39
  %1204 = load i32, ptr %1203, align 4, !tbaa !70
  %1205 = xor i32 %1204, 511
  store i32 %1205, ptr %1203, align 4, !tbaa !70
  %1206 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1206, ptr noundef @.str.55)
  %1207 = load i64, ptr @simtime, align 8, !tbaa !15
  %1208 = add i64 %1207, 150
  store i64 %1208, ptr @simtime, align 8, !tbaa !15
  br label %1213

1209:                                             ; preds = %1184
  %1210 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1210, ptr noundef @.str.56)
  %1211 = load i64, ptr @simtime, align 8, !tbaa !15
  %1212 = add i64 %1211, 100
  store i64 %1212, ptr @simtime, align 8, !tbaa !15
  br label %1213

1213:                                             ; preds = %1209, %1191
  %1214 = load ptr, ptr %2, align 8, !tbaa !5
  %1215 = getelementptr inbounds %struct.PDP6, ptr %1214, i32 0, i32 39
  %1216 = load i32, ptr %1215, align 4, !tbaa !70
  %1217 = and i32 %1216, 448
  %1218 = icmp eq i32 %1217, 448
  br i1 %1218, label %1219, label %1245

1219:                                             ; preds = %1213
  %1220 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1220, ptr noundef @.str.57)
  %1221 = load ptr, ptr %2, align 8, !tbaa !5
  %1222 = getelementptr inbounds %struct.PDP6, ptr %1221, i32 0, i32 28
  %1223 = load i64, ptr %1222, align 8, !tbaa !34
  %1224 = and i64 %1223, 34359738368
  %1225 = icmp ne i64 %1224, 0
  br i1 %1225, label %1226, label %1231

1226:                                             ; preds = %1219
  %1227 = load ptr, ptr %2, align 8, !tbaa !5
  %1228 = getelementptr inbounds %struct.PDP6, ptr %1227, i32 0, i32 28
  %1229 = load i64, ptr %1228, align 8, !tbaa !34
  %1230 = or i64 %1229, 34225520640
  br label %1236

1231:                                             ; preds = %1219
  %1232 = load ptr, ptr %2, align 8, !tbaa !5
  %1233 = getelementptr inbounds %struct.PDP6, ptr %1232, i32 0, i32 28
  %1234 = load i64, ptr %1233, align 8, !tbaa !34
  %1235 = and i64 %1234, -34225520641
  br label %1236

1236:                                             ; preds = %1231, %1226
  %1237 = phi i64 [ %1230, %1226 ], [ %1235, %1231 ]
  %1238 = load ptr, ptr %2, align 8, !tbaa !5
  %1239 = getelementptr inbounds %struct.PDP6, ptr %1238, i32 0, i32 28
  store i64 %1237, ptr %1239, align 8, !tbaa !34
  %1240 = load ptr, ptr %2, align 8, !tbaa !5
  %1241 = getelementptr inbounds %struct.PDP6, ptr %1240, i32 0, i32 77
  store i8 1, ptr %1241, align 4, !tbaa !74
  %1242 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %1242, ptr noundef @ashcrt)
  %1243 = load ptr, ptr %2, align 8, !tbaa !5
  %1244 = getelementptr inbounds %struct.PDP6, ptr %1243, i32 0, i32 77
  store i8 0, ptr %1244, align 4, !tbaa !74
  br label %1249

1245:                                             ; preds = %1213
  %1246 = load ptr, ptr %2, align 8, !tbaa !5
  %1247 = getelementptr inbounds %struct.PDP6, ptr %1246, i32 0, i32 28
  store i64 0, ptr %1247, align 8, !tbaa !34
  %1248 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1248, ptr noundef @.str.58)
  br label %1249

1249:                                             ; preds = %1245, %1236
  %1250 = load ptr, ptr %2, align 8, !tbaa !5
  %1251 = getelementptr inbounds %struct.PDP6, ptr %1250, i32 0, i32 39
  store i32 0, ptr %1251, align 4, !tbaa !70
  %1252 = load ptr, ptr %2, align 8, !tbaa !5
  %1253 = getelementptr inbounds %struct.PDP6, ptr %1252, i32 0, i32 88
  store i8 1, ptr %1253, align 1, !tbaa !72
  %1254 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1254, ptr noundef @.str.59)
  %1255 = load i64, ptr @simtime, align 8, !tbaa !15
  %1256 = add i64 %1255, 100
  store i64 %1256, ptr @simtime, align 8, !tbaa !15
  %1257 = load ptr, ptr %2, align 8, !tbaa !5
  %1258 = getelementptr inbounds %struct.PDP6, ptr %1257, i32 0, i32 31
  %1259 = load i64, ptr %1258, align 8, !tbaa !39
  %1260 = and i64 %1259, 34359738368
  %1261 = icmp ne i64 %1260, 0
  br i1 %1261, label %1262, label %1267

1262:                                             ; preds = %1249
  %1263 = load ptr, ptr %2, align 8, !tbaa !5
  %1264 = getelementptr inbounds %struct.PDP6, ptr %1263, i32 0, i32 39
  %1265 = load i32, ptr %1264, align 4, !tbaa !70
  %1266 = xor i32 %1265, 511
  store i32 %1266, ptr %1264, align 4, !tbaa !70
  br label %1267

1267:                                             ; preds = %1262, %1249
  %1268 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1268, ptr noundef @.str.60)
  %1269 = load i64, ptr @simtime, align 8, !tbaa !15
  %1270 = add i64 %1269, 100
  store i64 %1270, ptr @simtime, align 8, !tbaa !15
  %1271 = load ptr, ptr %2, align 8, !tbaa !5
  %1272 = getelementptr inbounds %struct.PDP6, ptr %1271, i32 0, i32 31
  %1273 = load i64, ptr %1272, align 8, !tbaa !39
  %1274 = lshr i64 %1273, 27
  %1275 = and i64 %1274, 511
  %1276 = load ptr, ptr %2, align 8, !tbaa !5
  %1277 = getelementptr inbounds %struct.PDP6, ptr %1276, i32 0, i32 39
  %1278 = load i32, ptr %1277, align 4, !tbaa !70
  %1279 = zext i32 %1278 to i64
  %1280 = xor i64 %1279, %1275
  %1281 = trunc i64 %1280 to i32
  store i32 %1281, ptr %1277, align 4, !tbaa !70
  %1282 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1282, ptr noundef @.str.61)
  %1283 = load i64, ptr @simtime, align 8, !tbaa !15
  %1284 = add i64 %1283, 50
  store i64 %1284, ptr @simtime, align 8, !tbaa !15
  %1285 = load ptr, ptr %2, align 8, !tbaa !5
  %1286 = getelementptr inbounds %struct.PDP6, ptr %1285, i32 0, i32 31
  %1287 = load i64, ptr %1286, align 8, !tbaa !39
  %1288 = and i64 %1287, 34359738368
  %1289 = icmp ne i64 %1288, 0
  br i1 %1289, label %1290, label %1295

1290:                                             ; preds = %1267
  %1291 = load ptr, ptr %2, align 8, !tbaa !5
  %1292 = getelementptr inbounds %struct.PDP6, ptr %1291, i32 0, i32 31
  %1293 = load i64, ptr %1292, align 8, !tbaa !39
  %1294 = or i64 %1293, 34225520640
  br label %1300

1295:                                             ; preds = %1267
  %1296 = load ptr, ptr %2, align 8, !tbaa !5
  %1297 = getelementptr inbounds %struct.PDP6, ptr %1296, i32 0, i32 31
  %1298 = load i64, ptr %1297, align 8, !tbaa !39
  %1299 = and i64 %1298, -34225520641
  br label %1300

1300:                                             ; preds = %1295, %1290
  %1301 = phi i64 [ %1294, %1290 ], [ %1299, %1295 ]
  %1302 = load ptr, ptr %2, align 8, !tbaa !5
  %1303 = getelementptr inbounds %struct.PDP6, ptr %1302, i32 0, i32 31
  store i64 %1301, ptr %1303, align 8, !tbaa !39
  %1304 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1304, ptr noundef @.str.62)
  %1305 = load i64, ptr @simtime, align 8, !tbaa !15
  %1306 = add i64 %1305, 100
  store i64 %1306, ptr @simtime, align 8, !tbaa !15
  %1307 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1307, ptr noundef @.str.63)
  %1308 = load ptr, ptr %2, align 8, !tbaa !5
  %1309 = getelementptr inbounds %struct.PDP6, ptr %1308, i32 0, i32 62
  store i8 1, ptr %1309, align 1, !tbaa !75
  %1310 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_add(ptr noundef %1310)
  %1311 = load ptr, ptr %2, align 8, !tbaa !5
  %1312 = getelementptr inbounds %struct.PDP6, ptr %1311, i32 0, i32 62
  store i8 0, ptr %1312, align 1, !tbaa !75
  %1313 = load ptr, ptr %2, align 8, !tbaa !5
  %1314 = getelementptr inbounds %struct.PDP6, ptr %1313, i32 0, i32 88
  store i8 0, ptr %1314, align 1, !tbaa !72
  %1315 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1315, ptr noundef @.str.64)
  br label %1421

1316:                                             ; preds = %17, %17, %17, %17, %17, %17, %17, %17
  %1317 = load ptr, ptr %2, align 8, !tbaa !5
  %1318 = getelementptr inbounds %struct.PDP6, ptr %1317, i32 0, i32 31
  %1319 = load i64, ptr %1318, align 8, !tbaa !39
  store i64 %1319, ptr %4, align 8, !tbaa !15
  %1320 = load ptr, ptr %2, align 8, !tbaa !5
  %1321 = getelementptr inbounds %struct.PDP6, ptr %1320, i32 0, i32 28
  %1322 = load i64, ptr %1321, align 8, !tbaa !34
  %1323 = load ptr, ptr %2, align 8, !tbaa !5
  %1324 = getelementptr inbounds %struct.PDP6, ptr %1323, i32 0, i32 31
  store i64 %1322, ptr %1324, align 8, !tbaa !39
  %1325 = load i64, ptr %4, align 8, !tbaa !15
  %1326 = load ptr, ptr %2, align 8, !tbaa !5
  %1327 = getelementptr inbounds %struct.PDP6, ptr %1326, i32 0, i32 28
  store i64 %1325, ptr %1327, align 8, !tbaa !34
  %1328 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1328, ptr noundef @.str.41)
  %1329 = load i64, ptr @simtime, align 8, !tbaa !15
  %1330 = add i64 %1329, 100
  store i64 %1330, ptr @simtime, align 8, !tbaa !15
  %1331 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1331, ptr noundef @.str.42)
  %1332 = load i64, ptr @simtime, align 8, !tbaa !15
  %1333 = add i64 %1332, 100
  store i64 %1333, ptr @simtime, align 8, !tbaa !15
  %1334 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1334, ptr noundef @.str.43)
  %1335 = load ptr, ptr %2, align 8, !tbaa !5
  %1336 = getelementptr inbounds %struct.PDP6, ptr %1335, i32 0, i32 58
  store i8 1, ptr %1336, align 1, !tbaa !76
  %1337 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %1337)
  %1338 = load ptr, ptr %2, align 8, !tbaa !5
  %1339 = getelementptr inbounds %struct.PDP6, ptr %1338, i32 0, i32 58
  store i8 0, ptr %1339, align 1, !tbaa !76
  %1340 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1340, ptr noundef @.str.65)
  br label %1100

1341:                                             ; preds = %17, %17, %17, %17, %17, %17, %17, %17
  %1342 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1342, ptr noundef @.str.41)
  %1343 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1343, ptr noundef @.str.66)
  %1344 = load ptr, ptr %2, align 8, !tbaa !5
  %1345 = getelementptr inbounds %struct.PDP6, ptr %1344, i32 0, i32 83
  store i8 1, ptr %1345, align 2, !tbaa !77
  %1346 = load ptr, ptr %2, align 8, !tbaa !5
  call void @exp_calc(ptr noundef %1346, i32 noundef 1)
  %1347 = load ptr, ptr %2, align 8, !tbaa !5
  %1348 = getelementptr inbounds %struct.PDP6, ptr %1347, i32 0, i32 83
  store i8 0, ptr %1348, align 2, !tbaa !77
  %1349 = load ptr, ptr %2, align 8, !tbaa !5
  %1350 = getelementptr inbounds %struct.PDP6, ptr %1349, i32 0, i32 39
  %1351 = load i32, ptr %1350, align 4, !tbaa !70
  %1352 = or i32 %1351, 484
  store i32 %1352, ptr %1350, align 4, !tbaa !70
  %1353 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1353, ptr noundef @.str.67)
  %1354 = load ptr, ptr %2, align 8, !tbaa !5
  %1355 = getelementptr inbounds %struct.PDP6, ptr %1354, i32 0, i32 86
  store i8 1, ptr %1355, align 1, !tbaa !78
  %1356 = load ptr, ptr %2, align 8, !tbaa !5
  call void @multiply(ptr noundef %1356)
  %1357 = load ptr, ptr %2, align 8, !tbaa !5
  %1358 = getelementptr inbounds %struct.PDP6, ptr %1357, i32 0, i32 86
  store i8 0, ptr %1358, align 1, !tbaa !78
  %1359 = load ptr, ptr %2, align 8, !tbaa !5
  %1360 = getelementptr inbounds %struct.PDP6, ptr %1359, i32 0, i32 38
  %1361 = load i32, ptr %1360, align 8, !tbaa !79
  %1362 = load ptr, ptr %2, align 8, !tbaa !5
  %1363 = getelementptr inbounds %struct.PDP6, ptr %1362, i32 0, i32 39
  %1364 = load i32, ptr %1363, align 4, !tbaa !70
  %1365 = or i32 %1364, %1361
  store i32 %1365, ptr %1363, align 4, !tbaa !70
  %1366 = load ptr, ptr %2, align 8, !tbaa !5
  %1367 = getelementptr inbounds %struct.PDP6, ptr %1366, i32 0, i32 90
  store i8 1, ptr %1367, align 1, !tbaa !80
  %1368 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1368, ptr noundef @.str.68)
  br label %1439

1369:                                             ; preds = %17, %17, %17, %17, %17, %17, %17, %17
  %1370 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1370, ptr noundef @.str.41)
  %1371 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1371, ptr noundef @.str.69)
  %1372 = load ptr, ptr %2, align 8, !tbaa !5
  %1373 = getelementptr inbounds %struct.PDP6, ptr %1372, i32 0, i32 84
  store i8 1, ptr %1373, align 1, !tbaa !81
  %1374 = load ptr, ptr %2, align 8, !tbaa !5
  call void @exp_calc(ptr noundef %1374, i32 noundef 0)
  %1375 = load ptr, ptr %2, align 8, !tbaa !5
  %1376 = getelementptr inbounds %struct.PDP6, ptr %1375, i32 0, i32 84
  store i8 0, ptr %1376, align 1, !tbaa !81
  %1377 = load ptr, ptr %2, align 8, !tbaa !5
  %1378 = getelementptr inbounds %struct.PDP6, ptr %1377, i32 0, i32 39
  %1379 = load i32, ptr %1378, align 4, !tbaa !70
  %1380 = or i32 %1379, 481
  store i32 %1380, ptr %1378, align 4, !tbaa !70
  %1381 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1381, ptr noundef @.str.70)
  %1382 = load ptr, ptr %2, align 8, !tbaa !5
  %1383 = getelementptr inbounds %struct.PDP6, ptr %1382, i32 0, i32 87
  store i8 1, ptr %1383, align 2, !tbaa !82
  %1384 = load ptr, ptr %2, align 8, !tbaa !5
  %1385 = getelementptr inbounds %struct.PDP6, ptr %1384, i32 0, i32 28
  %1386 = load i64, ptr %1385, align 8, !tbaa !34
  %1387 = and i64 %1386, 34359738368
  %1388 = icmp ne i64 %1387, 0
  br i1 %1388, label %1389, label %1399

1389:                                             ; preds = %1369
  %1390 = load ptr, ptr %2, align 8, !tbaa !5
  %1391 = getelementptr inbounds %struct.PDP6, ptr %1390, i32 0, i32 92
  store i8 1, ptr %1391, align 1, !tbaa !83
  %1392 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1392, ptr noundef @.str.71)
  %1393 = load ptr, ptr %2, align 8, !tbaa !5
  %1394 = getelementptr inbounds %struct.PDP6, ptr %1393, i32 0, i32 65
  store i8 1, ptr %1394, align 8, !tbaa !84
  %1395 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %1395)
  %1396 = load ptr, ptr %2, align 8, !tbaa !5
  %1397 = getelementptr inbounds %struct.PDP6, ptr %1396, i32 0, i32 65
  store i8 0, ptr %1397, align 8, !tbaa !84
  %1398 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1398, ptr noundef @.str.72)
  br label %1399

1399:                                             ; preds = %1389, %1369
  %1400 = load ptr, ptr %2, align 8, !tbaa !5
  %1401 = call i32 @divide(ptr noundef %1400)
  %1402 = icmp ne i32 %1401, 0
  br i1 %1402, label %1403, label %1404

1403:                                             ; preds = %1399
  br label %17977

1404:                                             ; preds = %1399
  %1405 = load ptr, ptr %2, align 8, !tbaa !5
  %1406 = getelementptr inbounds %struct.PDP6, ptr %1405, i32 0, i32 87
  store i8 0, ptr %1406, align 2, !tbaa !82
  %1407 = load ptr, ptr %2, align 8, !tbaa !5
  %1408 = getelementptr inbounds %struct.PDP6, ptr %1407, i32 0, i32 38
  %1409 = load i32, ptr %1408, align 8, !tbaa !79
  %1410 = load ptr, ptr %2, align 8, !tbaa !5
  %1411 = getelementptr inbounds %struct.PDP6, ptr %1410, i32 0, i32 39
  %1412 = load i32, ptr %1411, align 4, !tbaa !70
  %1413 = or i32 %1412, %1409
  store i32 %1413, ptr %1411, align 4, !tbaa !70
  %1414 = load ptr, ptr %2, align 8, !tbaa !5
  %1415 = getelementptr inbounds %struct.PDP6, ptr %1414, i32 0, i32 90
  store i8 1, ptr %1415, align 1, !tbaa !80
  %1416 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1416, ptr noundef @.str.73)
  %1417 = load i64, ptr @simtime, align 8, !tbaa !15
  %1418 = add i64 %1417, 100
  store i64 %1418, ptr @simtime, align 8, !tbaa !15
  %1419 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ashcrt(ptr noundef %1419)
  %1420 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1420, ptr noundef @.str.74)
  br label %1421

1421:                                             ; preds = %1554, %1404, %1300
  %1422 = load ptr, ptr %2, align 8, !tbaa !5
  %1423 = getelementptr inbounds %struct.PDP6, ptr %1422, i32 0, i32 90
  store i8 1, ptr %1423, align 1, !tbaa !80
  %1424 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1424, ptr noundef @.str.75)
  %1425 = load i64, ptr @simtime, align 8, !tbaa !15
  %1426 = add i64 %1425, 100
  store i64 %1426, ptr @simtime, align 8, !tbaa !15
  %1427 = load ptr, ptr %2, align 8, !tbaa !5
  %1428 = getelementptr inbounds %struct.PDP6, ptr %1427, i32 0, i32 39
  %1429 = load i32, ptr %1428, align 4, !tbaa !70
  %1430 = add i32 %1429, 1
  %1431 = and i32 %1430, 511
  %1432 = load ptr, ptr %2, align 8, !tbaa !5
  %1433 = getelementptr inbounds %struct.PDP6, ptr %1432, i32 0, i32 39
  store i32 %1431, ptr %1433, align 4, !tbaa !70
  %1434 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ashcrt(ptr noundef %1434)
  %1435 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1435, ptr noundef @.str.76)
  %1436 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1436, ptr noundef @.str.77)
  %1437 = load i64, ptr @simtime, align 8, !tbaa !15
  %1438 = add i64 %1437, 200
  store i64 %1438, ptr @simtime, align 8, !tbaa !15
  br label %1439

1439:                                             ; preds = %1421, %1341
  %1440 = load ptr, ptr %2, align 8, !tbaa !5
  %1441 = getelementptr inbounds %struct.PDP6, ptr %1440, i32 0, i32 28
  %1442 = load i64, ptr %1441, align 8, !tbaa !34
  %1443 = icmp eq i64 %1442, 0
  br i1 %1443, label %1444, label %1451

1444:                                             ; preds = %1439
  %1445 = load ptr, ptr %2, align 8, !tbaa !5
  %1446 = getelementptr inbounds %struct.PDP6, ptr %1445, i32 0, i32 29
  %1447 = load i64, ptr %1446, align 8, !tbaa !61
  %1448 = and i64 %1447, 17179869184
  %1449 = icmp ne i64 %1448, 0
  br i1 %1449, label %1451, label %1450

1450:                                             ; preds = %1444
  br label %1579

1451:                                             ; preds = %1444, %1439
  %1452 = load ptr, ptr %2, align 8, !tbaa !5
  %1453 = getelementptr inbounds %struct.PDP6, ptr %1452, i32 0, i32 39
  %1454 = load i32, ptr %1453, align 4, !tbaa !70
  %1455 = xor i32 %1454, 511
  store i32 %1455, ptr %1453, align 4, !tbaa !70
  %1456 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1456, ptr noundef @.str.78)
  %1457 = load i64, ptr @simtime, align 8, !tbaa !15
  %1458 = add i64 %1457, 100
  store i64 %1458, ptr @simtime, align 8, !tbaa !15
  br label %1459

1459:                                             ; preds = %1485, %1451
  %1460 = load ptr, ptr %2, align 8, !tbaa !5
  %1461 = getelementptr inbounds %struct.PDP6, ptr %1460, i32 0, i32 28
  %1462 = load i64, ptr %1461, align 8, !tbaa !34
  %1463 = and i64 %1462, 134217727
  %1464 = icmp ne i64 %1463, 67108864
  br i1 %1464, label %1465, label %1483

1465:                                             ; preds = %1459
  %1466 = load ptr, ptr %2, align 8, !tbaa !5
  %1467 = getelementptr inbounds %struct.PDP6, ptr %1466, i32 0, i32 28
  %1468 = load i64, ptr %1467, align 8, !tbaa !34
  %1469 = and i64 %1468, 34359738368
  %1470 = icmp ne i64 %1469, 0
  %1471 = xor i1 %1470, true
  %1472 = xor i1 %1471, true
  %1473 = zext i1 %1472 to i32
  %1474 = load ptr, ptr %2, align 8, !tbaa !5
  %1475 = getelementptr inbounds %struct.PDP6, ptr %1474, i32 0, i32 28
  %1476 = load i64, ptr %1475, align 8, !tbaa !34
  %1477 = and i64 %1476, 67108864
  %1478 = icmp ne i64 %1477, 0
  %1479 = xor i1 %1478, true
  %1480 = xor i1 %1479, true
  %1481 = zext i1 %1480 to i32
  %1482 = icmp eq i32 %1473, %1481
  br label %1483

1483:                                             ; preds = %1465, %1459
  %1484 = phi i1 [ false, %1459 ], [ %1482, %1465 ]
  br i1 %1484, label %1485, label %1497

1485:                                             ; preds = %1483
  %1486 = load ptr, ptr %2, align 8, !tbaa !5
  %1487 = getelementptr inbounds %struct.PDP6, ptr %1486, i32 0, i32 39
  %1488 = load i32, ptr %1487, align 4, !tbaa !70
  %1489 = add i32 %1488, 1
  %1490 = and i32 %1489, 511
  %1491 = load ptr, ptr %2, align 8, !tbaa !5
  %1492 = getelementptr inbounds %struct.PDP6, ptr %1491, i32 0, i32 39
  store i32 %1490, ptr %1492, align 4, !tbaa !70
  %1493 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ashclt(ptr noundef %1493)
  %1494 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1494, ptr noundef @.str.79)
  %1495 = load i64, ptr @simtime, align 8, !tbaa !15
  %1496 = add i64 %1495, 150
  store i64 %1496, ptr @simtime, align 8, !tbaa !15
  br label %1459, !llvm.loop !85

1497:                                             ; preds = %1483
  %1498 = load ptr, ptr %2, align 8, !tbaa !5
  %1499 = getelementptr inbounds %struct.PDP6, ptr %1498, i32 0, i32 39
  %1500 = load i32, ptr %1499, align 4, !tbaa !70
  %1501 = and i32 %1500, 256
  %1502 = icmp ne i32 %1501, 0
  br i1 %1502, label %1505, label %1503

1503:                                             ; preds = %1497
  %1504 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %1504)
  br label %1505

1505:                                             ; preds = %1503, %1497
  %1506 = load ptr, ptr %2, align 8, !tbaa !5
  %1507 = getelementptr inbounds %struct.PDP6, ptr %1506, i32 0, i32 28
  %1508 = load i64, ptr %1507, align 8, !tbaa !34
  %1509 = and i64 %1508, 34359738368
  %1510 = icmp ne i64 %1509, 0
  br i1 %1510, label %1511, label %1528

1511:                                             ; preds = %1505
  %1512 = load ptr, ptr %2, align 8, !tbaa !5
  %1513 = getelementptr inbounds %struct.PDP6, ptr %1512, i32 0, i32 91
  %1514 = load i8, ptr %1513, align 2, !tbaa !86, !range !20, !noundef !21
  %1515 = trunc i8 %1514 to i1
  br i1 %1515, label %1533, label %1516

1516:                                             ; preds = %1511
  %1517 = load ptr, ptr %2, align 8, !tbaa !5
  %1518 = getelementptr inbounds %struct.PDP6, ptr %1517, i32 0, i32 37
  %1519 = load i32, ptr %1518, align 4, !tbaa !54
  %1520 = and i32 %1519, 2048
  %1521 = icmp ne i32 %1520, 0
  br i1 %1521, label %1522, label %1533

1522:                                             ; preds = %1516
  %1523 = load ptr, ptr %2, align 8, !tbaa !5
  %1524 = getelementptr inbounds %struct.PDP6, ptr %1523, i32 0, i32 29
  %1525 = load i64, ptr %1524, align 8, !tbaa !61
  %1526 = and i64 %1525, 17179869184
  %1527 = icmp ne i64 %1526, 0
  br i1 %1527, label %1528, label %1533

1528:                                             ; preds = %1522, %1505
  %1529 = load ptr, ptr %2, align 8, !tbaa !5
  %1530 = getelementptr inbounds %struct.PDP6, ptr %1529, i32 0, i32 39
  %1531 = load i32, ptr %1530, align 4, !tbaa !70
  %1532 = xor i32 %1531, 511
  store i32 %1532, ptr %1530, align 4, !tbaa !70
  br label %1533

1533:                                             ; preds = %1528, %1522, %1516, %1511
  %1534 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1534, ptr noundef @.str.80)
  %1535 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1535, ptr noundef @.str.81)
  %1536 = load i64, ptr @simtime, align 8, !tbaa !15
  %1537 = add i64 %1536, 100
  store i64 %1537, ptr @simtime, align 8, !tbaa !15
  %1538 = load ptr, ptr %2, align 8, !tbaa !5
  %1539 = getelementptr inbounds %struct.PDP6, ptr %1538, i32 0, i32 91
  %1540 = load i8, ptr %1539, align 2, !tbaa !86, !range !20, !noundef !21
  %1541 = trunc i8 %1540 to i1
  br i1 %1541, label %1564, label %1542

1542:                                             ; preds = %1533
  %1543 = load ptr, ptr %2, align 8, !tbaa !5
  %1544 = getelementptr inbounds %struct.PDP6, ptr %1543, i32 0, i32 37
  %1545 = load i32, ptr %1544, align 4, !tbaa !54
  %1546 = and i32 %1545, 2048
  %1547 = icmp ne i32 %1546, 0
  br i1 %1547, label %1548, label %1564

1548:                                             ; preds = %1542
  %1549 = load ptr, ptr %2, align 8, !tbaa !5
  %1550 = getelementptr inbounds %struct.PDP6, ptr %1549, i32 0, i32 29
  %1551 = load i64, ptr %1550, align 8, !tbaa !61
  %1552 = and i64 %1551, 17179869184
  %1553 = icmp ne i64 %1552, 0
  br i1 %1553, label %1554, label %1564

1554:                                             ; preds = %1548
  %1555 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1555, ptr noundef @.str.82)
  %1556 = load ptr, ptr %2, align 8, !tbaa !5
  %1557 = getelementptr inbounds %struct.PDP6, ptr %1556, i32 0, i32 64
  store i8 1, ptr %1557, align 1, !tbaa !87
  %1558 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %1558)
  %1559 = load ptr, ptr %2, align 8, !tbaa !5
  %1560 = getelementptr inbounds %struct.PDP6, ptr %1559, i32 0, i32 64
  store i8 0, ptr %1560, align 1, !tbaa !87
  %1561 = load ptr, ptr %2, align 8, !tbaa !5
  %1562 = getelementptr inbounds %struct.PDP6, ptr %1561, i32 0, i32 91
  store i8 1, ptr %1562, align 2, !tbaa !86
  %1563 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1563, ptr noundef @.str.83)
  br label %1421

1564:                                             ; preds = %1548, %1542, %1533
  %1565 = load ptr, ptr %2, align 8, !tbaa !5
  %1566 = getelementptr inbounds %struct.PDP6, ptr %1565, i32 0, i32 28
  %1567 = load i64, ptr %1566, align 8, !tbaa !34
  %1568 = and i64 %1567, -34225520641
  %1569 = load ptr, ptr %2, align 8, !tbaa !5
  %1570 = getelementptr inbounds %struct.PDP6, ptr %1569, i32 0, i32 39
  %1571 = load i32, ptr %1570, align 4, !tbaa !70
  %1572 = zext i32 %1571 to i64
  %1573 = and i64 %1572, 255
  %1574 = shl i64 %1573, 27
  %1575 = or i64 %1568, %1574
  %1576 = load ptr, ptr %2, align 8, !tbaa !5
  %1577 = getelementptr inbounds %struct.PDP6, ptr %1576, i32 0, i32 28
  store i64 %1575, ptr %1577, align 8, !tbaa !34
  %1578 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1578, ptr noundef @.str.84)
  br label %1579

1579:                                             ; preds = %1981, %1931, %1564, %1450
  %1580 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1580, ptr noundef @.str.85)
  %1581 = load ptr, ptr %2, align 8, !tbaa !5
  %1582 = getelementptr inbounds %struct.PDP6, ptr %1581, i32 0, i32 3
  %1583 = load i32, ptr %1582, align 4, !tbaa !59
  %1584 = and i32 %1583, 8192
  %1585 = icmp ne i32 %1584, 0
  br i1 %1585, label %1586, label %1592

1586:                                             ; preds = %1579
  %1587 = load ptr, ptr %2, align 8, !tbaa !5
  %1588 = getelementptr inbounds %struct.PDP6, ptr %1587, i32 0, i32 28
  %1589 = load i64, ptr %1588, align 8, !tbaa !34
  %1590 = load ptr, ptr %2, align 8, !tbaa !5
  %1591 = getelementptr inbounds %struct.PDP6, ptr %1590, i32 0, i32 31
  store i64 %1589, ptr %1591, align 8, !tbaa !39
  br label %1592

1592:                                             ; preds = %1586, %1579
  br label %17859

1593:                                             ; preds = %17
  %1594 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1594, ptr noundef @.str.41)
  %1595 = load ptr, ptr %2, align 8, !tbaa !5
  %1596 = getelementptr inbounds %struct.PDP6, ptr %1595, i32 0, i32 31
  %1597 = load i64, ptr %1596, align 8, !tbaa !39
  %1598 = load ptr, ptr %2, align 8, !tbaa !5
  %1599 = getelementptr inbounds %struct.PDP6, ptr %1598, i32 0, i32 28
  store i64 %1597, ptr %1599, align 8, !tbaa !34
  %1600 = load ptr, ptr %2, align 8, !tbaa !5
  %1601 = getelementptr inbounds %struct.PDP6, ptr %1600, i32 0, i32 89
  store i8 1, ptr %1601, align 8, !tbaa !88
  %1602 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1602, ptr noundef @.str.86)
  %1603 = load i64, ptr @simtime, align 8, !tbaa !15
  %1604 = add i64 %1603, 100
  store i64 %1604, ptr @simtime, align 8, !tbaa !15
  %1605 = load ptr, ptr %2, align 8, !tbaa !5
  %1606 = getelementptr inbounds %struct.PDP6, ptr %1605, i32 0, i32 31
  %1607 = load i64, ptr %1606, align 8, !tbaa !39
  %1608 = xor i64 %1607, -1
  %1609 = lshr i64 %1608, 30
  %1610 = and i64 %1609, 63
  %1611 = or i64 %1610, 448
  %1612 = load ptr, ptr %2, align 8, !tbaa !5
  %1613 = getelementptr inbounds %struct.PDP6, ptr %1612, i32 0, i32 39
  %1614 = load i32, ptr %1613, align 4, !tbaa !70
  %1615 = zext i32 %1614 to i64
  %1616 = xor i64 %1615, %1611
  %1617 = trunc i64 %1616 to i32
  store i32 %1617, ptr %1613, align 4, !tbaa !70
  %1618 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1618, ptr noundef @.str.87)
  br label %1619

1619:                                             ; preds = %1639, %1593
  %1620 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1620, ptr noundef @.str.88)
  %1621 = load ptr, ptr %2, align 8, !tbaa !5
  %1622 = getelementptr inbounds %struct.PDP6, ptr %1621, i32 0, i32 78
  store i8 1, ptr %1622, align 1, !tbaa !89
  %1623 = load ptr, ptr %2, align 8, !tbaa !5
  %1624 = load ptr, ptr %2, align 8, !tbaa !5
  %1625 = getelementptr inbounds %struct.PDP6, ptr %1624, i32 0, i32 31
  %1626 = load i64, ptr %1625, align 8, !tbaa !39
  %1627 = lshr i64 %1626, 24
  %1628 = and i64 %1627, 63
  %1629 = trunc i64 %1628 to i32
  call void @sc_add(ptr noundef %1623, i32 noundef %1629)
  %1630 = load ptr, ptr %2, align 8, !tbaa !5
  %1631 = getelementptr inbounds %struct.PDP6, ptr %1630, i32 0, i32 78
  store i8 0, ptr %1631, align 1, !tbaa !89
  %1632 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1632, ptr noundef @.str.89)
  %1633 = load ptr, ptr %2, align 8, !tbaa !5
  %1634 = getelementptr inbounds %struct.PDP6, ptr %1633, i32 0, i32 39
  %1635 = load i32, ptr %1634, align 4, !tbaa !70
  %1636 = and i32 %1635, 256
  %1637 = icmp ne i32 %1636, 0
  br i1 %1637, label %1638, label %1639

1638:                                             ; preds = %1619
  br label %1653

1639:                                             ; preds = %1619
  %1640 = load ptr, ptr %2, align 8, !tbaa !5
  %1641 = getelementptr inbounds %struct.PDP6, ptr %1640, i32 0, i32 39
  store i32 0, ptr %1641, align 4, !tbaa !70
  %1642 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1642, ptr noundef @.str.90)
  %1643 = load ptr, ptr %2, align 8, !tbaa !5
  %1644 = getelementptr inbounds %struct.PDP6, ptr %1643, i32 0, i32 59
  store i8 1, ptr %1644, align 2, !tbaa !90
  %1645 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %1645)
  %1646 = load ptr, ptr %2, align 8, !tbaa !5
  %1647 = getelementptr inbounds %struct.PDP6, ptr %1646, i32 0, i32 59
  store i8 0, ptr %1647, align 2, !tbaa !90
  %1648 = load ptr, ptr %2, align 8, !tbaa !5
  %1649 = getelementptr inbounds %struct.PDP6, ptr %1648, i32 0, i32 39
  %1650 = load i32, ptr %1649, align 4, !tbaa !70
  %1651 = or i32 %1650, 283
  store i32 %1651, ptr %1649, align 4, !tbaa !70
  %1652 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1652, ptr noundef @.str.91)
  br label %1619

1653:                                             ; preds = %1638
  %1654 = load ptr, ptr %2, align 8, !tbaa !5
  %1655 = getelementptr inbounds %struct.PDP6, ptr %1654, i32 0, i32 39
  %1656 = load i32, ptr %1655, align 4, !tbaa !70
  %1657 = xor i32 %1656, 511
  store i32 %1657, ptr %1655, align 4, !tbaa !70
  %1658 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1658, ptr noundef @.str.92)
  %1659 = load i64, ptr @simtime, align 8, !tbaa !15
  %1660 = add i64 %1659, 100
  store i64 %1660, ptr @simtime, align 8, !tbaa !15
  %1661 = load ptr, ptr %2, align 8, !tbaa !5
  %1662 = getelementptr inbounds %struct.PDP6, ptr %1661, i32 0, i32 28
  %1663 = load i64, ptr %1662, align 8, !tbaa !34
  %1664 = and i64 %1663, -67645734913
  %1665 = load ptr, ptr %2, align 8, !tbaa !5
  %1666 = getelementptr inbounds %struct.PDP6, ptr %1665, i32 0, i32 39
  %1667 = load i32, ptr %1666, align 4, !tbaa !70
  %1668 = and i32 %1667, 63
  %1669 = zext i32 %1668 to i64
  %1670 = shl i64 %1669, 30
  %1671 = or i64 %1664, %1670
  %1672 = load ptr, ptr %2, align 8, !tbaa !5
  %1673 = getelementptr inbounds %struct.PDP6, ptr %1672, i32 0, i32 28
  store i64 %1671, ptr %1673, align 8, !tbaa !34
  %1674 = load ptr, ptr %2, align 8, !tbaa !5
  %1675 = getelementptr inbounds %struct.PDP6, ptr %1674, i32 0, i32 39
  store i32 0, ptr %1675, align 4, !tbaa !70
  br i1 false, label %1676, label %1679

1676:                                             ; preds = %1653
  br label %1677

1677:                                             ; preds = %1676, %17
  %1678 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1678, ptr noundef @.str.41)
  br label %1679

1679:                                             ; preds = %1677, %1653
  %1680 = load ptr, ptr %2, align 8, !tbaa !5
  %1681 = getelementptr inbounds %struct.PDP6, ptr %1680, i32 0, i32 78
  store i8 1, ptr %1681, align 1, !tbaa !89
  %1682 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1682, ptr noundef @.str.93)
  %1683 = load i64, ptr @simtime, align 8, !tbaa !15
  %1684 = add i64 %1683, 150
  store i64 %1684, ptr @simtime, align 8, !tbaa !15
  %1685 = load ptr, ptr %2, align 8, !tbaa !5
  %1686 = getelementptr inbounds %struct.PDP6, ptr %1685, i32 0, i32 31
  %1687 = load i64, ptr %1686, align 8, !tbaa !39
  %1688 = lshr i64 %1687, 24
  %1689 = and i64 %1688, 63
  %1690 = load ptr, ptr %2, align 8, !tbaa !5
  %1691 = getelementptr inbounds %struct.PDP6, ptr %1690, i32 0, i32 39
  %1692 = load i32, ptr %1691, align 4, !tbaa !70
  %1693 = zext i32 %1692 to i64
  %1694 = xor i64 %1693, %1689
  %1695 = trunc i64 %1694 to i32
  store i32 %1695, ptr %1691, align 4, !tbaa !70
  %1696 = load ptr, ptr %2, align 8, !tbaa !5
  %1697 = getelementptr inbounds %struct.PDP6, ptr %1696, i32 0, i32 1
  %1698 = load i32, ptr %1697, align 4, !tbaa !18
  %1699 = icmp eq i32 %1698, 24
  br i1 %1699, label %1700, label %1712

1700:                                             ; preds = %1679
  %1701 = load ptr, ptr %2, align 8, !tbaa !5
  %1702 = getelementptr inbounds %struct.PDP6, ptr %1701, i32 0, i32 31
  %1703 = load i64, ptr %1702, align 8, !tbaa !39
  store i64 %1703, ptr %4, align 8, !tbaa !15
  %1704 = load ptr, ptr %2, align 8, !tbaa !5
  %1705 = getelementptr inbounds %struct.PDP6, ptr %1704, i32 0, i32 28
  %1706 = load i64, ptr %1705, align 8, !tbaa !34
  %1707 = load ptr, ptr %2, align 8, !tbaa !5
  %1708 = getelementptr inbounds %struct.PDP6, ptr %1707, i32 0, i32 31
  store i64 %1706, ptr %1708, align 8, !tbaa !39
  %1709 = load i64, ptr %4, align 8, !tbaa !15
  %1710 = load ptr, ptr %2, align 8, !tbaa !5
  %1711 = getelementptr inbounds %struct.PDP6, ptr %1710, i32 0, i32 28
  store i64 %1709, ptr %1711, align 8, !tbaa !34
  br label %1712

1712:                                             ; preds = %1700, %1679
  %1713 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1713, ptr noundef @.str.94)
  %1714 = load i64, ptr @simtime, align 8, !tbaa !15
  %1715 = add i64 %1714, 100
  store i64 %1715, ptr @simtime, align 8, !tbaa !15
  %1716 = load ptr, ptr %2, align 8, !tbaa !5
  %1717 = getelementptr inbounds %struct.PDP6, ptr %1716, i32 0, i32 1
  %1718 = load i32, ptr %1717, align 4, !tbaa !18
  %1719 = icmp eq i32 %1718, 24
  br i1 %1719, label %1720, label %1725

1720:                                             ; preds = %1712
  %1721 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1721, ptr noundef @.str.95)
  %1722 = load ptr, ptr %2, align 8, !tbaa !5
  %1723 = getelementptr inbounds %struct.PDP6, ptr %1722, i32 0, i32 55
  store i8 1, ptr %1723, align 2, !tbaa !91
  %1724 = load ptr, ptr %2, align 8, !tbaa !5
  call void @wrrs(ptr noundef %1724, i32 noundef 28)
  br label %18456

1725:                                             ; preds = %1712
  br label %1726

1726:                                             ; preds = %1725, %17
  %1727 = load ptr, ptr %2, align 8, !tbaa !5
  %1728 = getelementptr inbounds %struct.PDP6, ptr %1727, i32 0, i32 55
  store i8 0, ptr %1728, align 2, !tbaa !91
  %1729 = load ptr, ptr %2, align 8, !tbaa !5
  %1730 = getelementptr inbounds %struct.PDP6, ptr %1729, i32 0, i32 78
  store i8 0, ptr %1730, align 1, !tbaa !89
  %1731 = load ptr, ptr %2, align 8, !tbaa !5
  %1732 = getelementptr inbounds %struct.PDP6, ptr %1731, i32 0, i32 31
  %1733 = load i64, ptr %1732, align 8, !tbaa !39
  %1734 = lshr i64 %1733, 30
  %1735 = and i64 %1734, 63
  %1736 = load ptr, ptr %2, align 8, !tbaa !5
  %1737 = getelementptr inbounds %struct.PDP6, ptr %1736, i32 0, i32 38
  %1738 = load i32, ptr %1737, align 8, !tbaa !79
  %1739 = zext i32 %1738 to i64
  %1740 = or i64 %1739, %1735
  %1741 = trunc i64 %1740 to i32
  store i32 %1741, ptr %1737, align 8, !tbaa !79
  %1742 = load ptr, ptr %2, align 8, !tbaa !5
  %1743 = getelementptr inbounds %struct.PDP6, ptr %1742, i32 0, i32 39
  %1744 = load i32, ptr %1743, align 4, !tbaa !70
  %1745 = xor i32 %1744, 511
  store i32 %1745, ptr %1743, align 4, !tbaa !70
  %1746 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1746, ptr noundef @.str.96)
  %1747 = load ptr, ptr %2, align 8, !tbaa !5
  %1748 = getelementptr inbounds %struct.PDP6, ptr %1747, i32 0, i32 37
  %1749 = load i32, ptr %1748, align 4, !tbaa !54
  %1750 = and i32 %1749, 261632
  %1751 = icmp eq i32 %1750, 46592
  br i1 %1751, label %1752, label %1753

1752:                                             ; preds = %1726
  br label %17977

1753:                                             ; preds = %1726
  %1754 = load ptr, ptr %2, align 8, !tbaa !5
  %1755 = getelementptr inbounds %struct.PDP6, ptr %1754, i32 0, i32 74
  store i8 1, ptr %1755, align 1, !tbaa !92
  %1756 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %1756, ptr noundef @char_first)
  %1757 = load ptr, ptr %2, align 8, !tbaa !5
  %1758 = getelementptr inbounds %struct.PDP6, ptr %1757, i32 0, i32 74
  store i8 0, ptr %1758, align 1, !tbaa !92
  %1759 = load ptr, ptr %2, align 8, !tbaa !5
  %1760 = getelementptr inbounds %struct.PDP6, ptr %1759, i32 0, i32 39
  store i32 0, ptr %1760, align 4, !tbaa !70
  %1761 = load ptr, ptr %2, align 8, !tbaa !5
  %1762 = getelementptr inbounds %struct.PDP6, ptr %1761, i32 0, i32 37
  %1763 = load i32, ptr %1762, align 4, !tbaa !54
  %1764 = and i32 %1763, -32
  store i32 %1764, ptr %1762, align 4, !tbaa !54
  %1765 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1765, ptr noundef @.str.97)
  %1766 = load i64, ptr @simtime, align 8, !tbaa !15
  %1767 = add i64 %1766, 100
  store i64 %1767, ptr @simtime, align 8, !tbaa !15
  %1768 = load ptr, ptr %2, align 8, !tbaa !5
  %1769 = getelementptr inbounds %struct.PDP6, ptr %1768, i32 0, i32 38
  %1770 = load i32, ptr %1769, align 8, !tbaa !79
  %1771 = load ptr, ptr %2, align 8, !tbaa !5
  %1772 = getelementptr inbounds %struct.PDP6, ptr %1771, i32 0, i32 39
  %1773 = load i32, ptr %1772, align 4, !tbaa !70
  %1774 = or i32 %1773, %1770
  store i32 %1774, ptr %1772, align 4, !tbaa !70
  %1775 = load ptr, ptr %2, align 8, !tbaa !5
  %1776 = getelementptr inbounds %struct.PDP6, ptr %1775, i32 0, i32 95
  store i8 1, ptr %1776, align 2, !tbaa !93
  %1777 = load ptr, ptr %2, align 8, !tbaa !5
  %1778 = getelementptr inbounds %struct.PDP6, ptr %1777, i32 0, i32 96
  store i8 1, ptr %1778, align 1, !tbaa !94
  %1779 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1779, ptr noundef @.str.98)
  br label %537

1780:                                             ; preds = %17
  %1781 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1781, ptr noundef @.str.41)
  %1782 = load ptr, ptr %2, align 8, !tbaa !5
  %1783 = getelementptr inbounds %struct.PDP6, ptr %1782, i32 0, i32 31
  %1784 = load i64, ptr %1783, align 8, !tbaa !39
  %1785 = load ptr, ptr %2, align 8, !tbaa !5
  %1786 = getelementptr inbounds %struct.PDP6, ptr %1785, i32 0, i32 28
  store i64 %1784, ptr %1786, align 8, !tbaa !34
  %1787 = load ptr, ptr %2, align 8, !tbaa !5
  %1788 = getelementptr inbounds %struct.PDP6, ptr %1787, i32 0, i32 29
  %1789 = load i64, ptr %1788, align 8, !tbaa !61
  %1790 = load ptr, ptr %2, align 8, !tbaa !5
  %1791 = getelementptr inbounds %struct.PDP6, ptr %1790, i32 0, i32 31
  store i64 %1789, ptr %1791, align 8, !tbaa !39
  %1792 = load ptr, ptr %2, align 8, !tbaa !5
  %1793 = getelementptr inbounds %struct.PDP6, ptr %1792, i32 0, i32 39
  %1794 = load i32, ptr %1793, align 4, !tbaa !70
  %1795 = xor i32 %1794, 511
  store i32 %1795, ptr %1793, align 4, !tbaa !70
  %1796 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1796, ptr noundef @.str.99)
  %1797 = load ptr, ptr %2, align 8, !tbaa !5
  %1798 = getelementptr inbounds %struct.PDP6, ptr %1797, i32 0, i32 75
  store i8 1, ptr %1798, align 2, !tbaa !95
  %1799 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %1799, ptr noundef @lshrt)
  %1800 = load ptr, ptr %2, align 8, !tbaa !5
  %1801 = getelementptr inbounds %struct.PDP6, ptr %1800, i32 0, i32 75
  store i8 0, ptr %1801, align 2, !tbaa !95
  %1802 = load ptr, ptr %2, align 8, !tbaa !5
  %1803 = getelementptr inbounds %struct.PDP6, ptr %1802, i32 0, i32 31
  %1804 = load i64, ptr %1803, align 8, !tbaa !39
  %1805 = load ptr, ptr %2, align 8, !tbaa !5
  %1806 = getelementptr inbounds %struct.PDP6, ptr %1805, i32 0, i32 28
  %1807 = load i64, ptr %1806, align 8, !tbaa !34
  %1808 = and i64 %1807, %1804
  store i64 %1808, ptr %1806, align 8, !tbaa !34
  %1809 = load ptr, ptr %2, align 8, !tbaa !5
  %1810 = getelementptr inbounds %struct.PDP6, ptr %1809, i32 0, i32 96
  store i8 0, ptr %1810, align 1, !tbaa !94
  %1811 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1811, ptr noundef @.str.100)
  br label %17859

1812:                                             ; preds = %17
  %1813 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1813, ptr noundef @.str.41)
  %1814 = load ptr, ptr %2, align 8, !tbaa !5
  %1815 = getelementptr inbounds %struct.PDP6, ptr %1814, i32 0, i32 39
  %1816 = load i32, ptr %1815, align 4, !tbaa !70
  %1817 = xor i32 %1816, 511
  store i32 %1817, ptr %1815, align 4, !tbaa !70
  %1818 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1818, ptr noundef @.str.101)
  %1819 = load ptr, ptr %2, align 8, !tbaa !5
  %1820 = getelementptr inbounds %struct.PDP6, ptr %1819, i32 0, i32 76
  store i8 1, ptr %1820, align 1, !tbaa !96
  %1821 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %1821, ptr noundef @ch_dep)
  %1822 = load ptr, ptr %2, align 8, !tbaa !5
  %1823 = getelementptr inbounds %struct.PDP6, ptr %1822, i32 0, i32 76
  store i8 0, ptr %1823, align 1, !tbaa !96
  %1824 = load ptr, ptr %2, align 8, !tbaa !5
  %1825 = getelementptr inbounds %struct.PDP6, ptr %1824, i32 0, i32 31
  %1826 = load i64, ptr %1825, align 8, !tbaa !39
  store i64 %1826, ptr %4, align 8, !tbaa !15
  %1827 = load ptr, ptr %2, align 8, !tbaa !5
  %1828 = getelementptr inbounds %struct.PDP6, ptr %1827, i32 0, i32 29
  %1829 = load i64, ptr %1828, align 8, !tbaa !61
  %1830 = load ptr, ptr %2, align 8, !tbaa !5
  %1831 = getelementptr inbounds %struct.PDP6, ptr %1830, i32 0, i32 31
  store i64 %1829, ptr %1831, align 8, !tbaa !39
  %1832 = load i64, ptr %4, align 8, !tbaa !15
  %1833 = load ptr, ptr %2, align 8, !tbaa !5
  %1834 = getelementptr inbounds %struct.PDP6, ptr %1833, i32 0, i32 29
  %1835 = load i64, ptr %1834, align 8, !tbaa !61
  %1836 = or i64 %1835, %1832
  store i64 %1836, ptr %1834, align 8, !tbaa !61
  %1837 = load ptr, ptr %2, align 8, !tbaa !5
  %1838 = getelementptr inbounds %struct.PDP6, ptr %1837, i32 0, i32 28
  %1839 = load i64, ptr %1838, align 8, !tbaa !34
  %1840 = xor i64 %1839, 68719476735
  store i64 %1840, ptr %1838, align 8, !tbaa !34
  %1841 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1841, ptr noundef @.str.102)
  %1842 = load i64, ptr @simtime, align 8, !tbaa !15
  %1843 = add i64 %1842, 150
  store i64 %1843, ptr @simtime, align 8, !tbaa !15
  %1844 = load ptr, ptr %2, align 8, !tbaa !5
  %1845 = getelementptr inbounds %struct.PDP6, ptr %1844, i32 0, i32 31
  %1846 = load i64, ptr %1845, align 8, !tbaa !39
  %1847 = load ptr, ptr %2, align 8, !tbaa !5
  %1848 = getelementptr inbounds %struct.PDP6, ptr %1847, i32 0, i32 28
  %1849 = load i64, ptr %1848, align 8, !tbaa !34
  %1850 = and i64 %1849, %1846
  store i64 %1850, ptr %1848, align 8, !tbaa !34
  %1851 = load ptr, ptr %2, align 8, !tbaa !5
  %1852 = getelementptr inbounds %struct.PDP6, ptr %1851, i32 0, i32 29
  %1853 = load i64, ptr %1852, align 8, !tbaa !61
  %1854 = load ptr, ptr %2, align 8, !tbaa !5
  %1855 = getelementptr inbounds %struct.PDP6, ptr %1854, i32 0, i32 31
  store i64 %1853, ptr %1855, align 8, !tbaa !39
  %1856 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1856, ptr noundef @.str.103)
  %1857 = load i64, ptr @simtime, align 8, !tbaa !15
  %1858 = add i64 %1857, 100
  store i64 %1858, ptr @simtime, align 8, !tbaa !15
  %1859 = load ptr, ptr %2, align 8, !tbaa !5
  %1860 = getelementptr inbounds %struct.PDP6, ptr %1859, i32 0, i32 28
  %1861 = load i64, ptr %1860, align 8, !tbaa !34
  %1862 = xor i64 %1861, 68719476735
  store i64 %1862, ptr %1860, align 8, !tbaa !34
  %1863 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1863, ptr noundef @.str.104)
  %1864 = load i64, ptr @simtime, align 8, !tbaa !15
  %1865 = add i64 %1864, 100
  store i64 %1865, ptr @simtime, align 8, !tbaa !15
  %1866 = load ptr, ptr %2, align 8, !tbaa !5
  %1867 = getelementptr inbounds %struct.PDP6, ptr %1866, i32 0, i32 28
  %1868 = load i64, ptr %1867, align 8, !tbaa !34
  %1869 = load ptr, ptr %2, align 8, !tbaa !5
  %1870 = getelementptr inbounds %struct.PDP6, ptr %1869, i32 0, i32 31
  %1871 = load i64, ptr %1870, align 8, !tbaa !39
  %1872 = and i64 %1871, %1868
  store i64 %1872, ptr %1870, align 8, !tbaa !39
  %1873 = load ptr, ptr %2, align 8, !tbaa !5
  %1874 = getelementptr inbounds %struct.PDP6, ptr %1873, i32 0, i32 96
  store i8 0, ptr %1874, align 1, !tbaa !94
  %1875 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1875, ptr noundef @.str.105)
  br label %17859

1876:                                             ; preds = %17, %17, %17, %17
  %1877 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1877, ptr noundef @.str.41)
  %1878 = load ptr, ptr %2, align 8, !tbaa !5
  %1879 = getelementptr inbounds %struct.PDP6, ptr %1878, i32 0, i32 39
  %1880 = load i32, ptr %1879, align 4, !tbaa !70
  %1881 = or i32 %1880, 476
  store i32 %1881, ptr %1879, align 4, !tbaa !70
  %1882 = load ptr, ptr %2, align 8, !tbaa !5
  %1883 = getelementptr inbounds %struct.PDP6, ptr %1882, i32 0, i32 31
  %1884 = load i64, ptr %1883, align 8, !tbaa !39
  %1885 = load ptr, ptr %2, align 8, !tbaa !5
  %1886 = getelementptr inbounds %struct.PDP6, ptr %1885, i32 0, i32 28
  %1887 = load i64, ptr %1886, align 8, !tbaa !34
  %1888 = and i64 %1884, %1887
  %1889 = and i64 %1888, 34359738368
  %1890 = icmp ne i64 %1889, 0
  br i1 %1890, label %1891, label %1894

1891:                                             ; preds = %1876
  %1892 = load ptr, ptr %2, align 8, !tbaa !5
  %1893 = getelementptr inbounds %struct.PDP6, ptr %1892, i32 0, i32 93
  store i8 1, ptr %1893, align 4, !tbaa !97
  br label %1894

1894:                                             ; preds = %1891, %1876
  %1895 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1895, ptr noundef @.str.106)
  %1896 = load ptr, ptr %2, align 8, !tbaa !5
  %1897 = getelementptr inbounds %struct.PDP6, ptr %1896, i32 0, i32 85
  store i8 1, ptr %1897, align 4, !tbaa !98
  %1898 = load ptr, ptr %2, align 8, !tbaa !5
  call void @multiply(ptr noundef %1898)
  %1899 = load ptr, ptr %2, align 8, !tbaa !5
  %1900 = getelementptr inbounds %struct.PDP6, ptr %1899, i32 0, i32 85
  store i8 0, ptr %1900, align 4, !tbaa !98
  %1901 = load ptr, ptr %2, align 8, !tbaa !5
  %1902 = getelementptr inbounds %struct.PDP6, ptr %1901, i32 0, i32 28
  %1903 = load i64, ptr %1902, align 8, !tbaa !34
  %1904 = and i64 %1903, 34359738368
  %1905 = icmp ne i64 %1904, 0
  br i1 %1905, label %1906, label %1918

1906:                                             ; preds = %1894
  %1907 = load ptr, ptr %2, align 8, !tbaa !5
  %1908 = getelementptr inbounds %struct.PDP6, ptr %1907, i32 0, i32 93
  %1909 = load i8, ptr %1908, align 4, !tbaa !97, !range !20, !noundef !21
  %1910 = trunc i8 %1909 to i1
  br i1 %1910, label %1911, label %1913

1911:                                             ; preds = %1906
  %1912 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %1912)
  br label %1913

1913:                                             ; preds = %1911, %1906
  %1914 = load ptr, ptr %2, align 8, !tbaa !5
  %1915 = getelementptr inbounds %struct.PDP6, ptr %1914, i32 0, i32 28
  %1916 = load i64, ptr %1915, align 8, !tbaa !34
  %1917 = xor i64 %1916, 68719476735
  store i64 %1917, ptr %1915, align 8, !tbaa !34
  br label %1918

1918:                                             ; preds = %1913, %1894
  %1919 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1919, ptr noundef @.str.107)
  %1920 = load ptr, ptr %2, align 8, !tbaa !5
  %1921 = getelementptr inbounds %struct.PDP6, ptr %1920, i32 0, i32 29
  %1922 = load i64, ptr %1921, align 8, !tbaa !61
  %1923 = load ptr, ptr %2, align 8, !tbaa !5
  %1924 = getelementptr inbounds %struct.PDP6, ptr %1923, i32 0, i32 31
  store i64 %1922, ptr %1924, align 8, !tbaa !39
  %1925 = load ptr, ptr %2, align 8, !tbaa !5
  %1926 = getelementptr inbounds %struct.PDP6, ptr %1925, i32 0, i32 28
  %1927 = load i64, ptr %1926, align 8, !tbaa !34
  %1928 = icmp ne i64 %1927, 0
  br i1 %1928, label %1929, label %1931

1929:                                             ; preds = %1918
  %1930 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %1930)
  br label %1931

1931:                                             ; preds = %1929, %1918
  %1932 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1932, ptr noundef @.str.108)
  %1933 = load i64, ptr @simtime, align 8, !tbaa !15
  %1934 = add i64 %1933, 100
  store i64 %1934, ptr @simtime, align 8, !tbaa !15
  %1935 = load ptr, ptr %2, align 8, !tbaa !5
  %1936 = getelementptr inbounds %struct.PDP6, ptr %1935, i32 0, i32 31
  %1937 = load i64, ptr %1936, align 8, !tbaa !39
  %1938 = load ptr, ptr %2, align 8, !tbaa !5
  %1939 = getelementptr inbounds %struct.PDP6, ptr %1938, i32 0, i32 28
  store i64 %1937, ptr %1939, align 8, !tbaa !34
  %1940 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1940, ptr noundef @.str.109)
  %1941 = load i64, ptr @simtime, align 8, !tbaa !15
  %1942 = add i64 %1941, 100
  store i64 %1942, ptr @simtime, align 8, !tbaa !15
  br label %1579

1943:                                             ; preds = %17, %17, %17, %17
  %1944 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1944, ptr noundef @.str.41)
  %1945 = load ptr, ptr %2, align 8, !tbaa !5
  %1946 = getelementptr inbounds %struct.PDP6, ptr %1945, i32 0, i32 39
  %1947 = load i32, ptr %1946, align 4, !tbaa !70
  %1948 = or i32 %1947, 476
  store i32 %1948, ptr %1946, align 4, !tbaa !70
  %1949 = load ptr, ptr %2, align 8, !tbaa !5
  %1950 = getelementptr inbounds %struct.PDP6, ptr %1949, i32 0, i32 31
  %1951 = load i64, ptr %1950, align 8, !tbaa !39
  %1952 = load ptr, ptr %2, align 8, !tbaa !5
  %1953 = getelementptr inbounds %struct.PDP6, ptr %1952, i32 0, i32 28
  %1954 = load i64, ptr %1953, align 8, !tbaa !34
  %1955 = and i64 %1951, %1954
  %1956 = and i64 %1955, 34359738368
  %1957 = icmp ne i64 %1956, 0
  br i1 %1957, label %1958, label %1961

1958:                                             ; preds = %1943
  %1959 = load ptr, ptr %2, align 8, !tbaa !5
  %1960 = getelementptr inbounds %struct.PDP6, ptr %1959, i32 0, i32 93
  store i8 1, ptr %1960, align 4, !tbaa !97
  br label %1961

1961:                                             ; preds = %1958, %1943
  %1962 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1962, ptr noundef @.str.106)
  %1963 = load ptr, ptr %2, align 8, !tbaa !5
  %1964 = getelementptr inbounds %struct.PDP6, ptr %1963, i32 0, i32 85
  store i8 1, ptr %1964, align 4, !tbaa !98
  %1965 = load ptr, ptr %2, align 8, !tbaa !5
  call void @multiply(ptr noundef %1965)
  %1966 = load ptr, ptr %2, align 8, !tbaa !5
  %1967 = getelementptr inbounds %struct.PDP6, ptr %1966, i32 0, i32 85
  store i8 0, ptr %1967, align 4, !tbaa !98
  %1968 = load ptr, ptr %2, align 8, !tbaa !5
  %1969 = getelementptr inbounds %struct.PDP6, ptr %1968, i32 0, i32 28
  %1970 = load i64, ptr %1969, align 8, !tbaa !34
  %1971 = and i64 %1970, 34359738368
  %1972 = icmp ne i64 %1971, 0
  br i1 %1972, label %1973, label %1981

1973:                                             ; preds = %1961
  %1974 = load ptr, ptr %2, align 8, !tbaa !5
  %1975 = getelementptr inbounds %struct.PDP6, ptr %1974, i32 0, i32 93
  %1976 = load i8, ptr %1975, align 4, !tbaa !97, !range !20, !noundef !21
  %1977 = trunc i8 %1976 to i1
  br i1 %1977, label %1978, label %1980

1978:                                             ; preds = %1973
  %1979 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %1979)
  br label %1980

1980:                                             ; preds = %1978, %1973
  br label %1981

1981:                                             ; preds = %1980, %1961
  %1982 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1982, ptr noundef @.str.107)
  br label %1579

1983:                                             ; preds = %17, %17, %17, %17
  %1984 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1984, ptr noundef @.str.41)
  %1985 = load ptr, ptr %2, align 8, !tbaa !5
  %1986 = getelementptr inbounds %struct.PDP6, ptr %1985, i32 0, i32 39
  %1987 = load i32, ptr %1986, align 4, !tbaa !70
  %1988 = or i32 %1987, 475
  store i32 %1988, ptr %1986, align 4, !tbaa !70
  %1989 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1989, ptr noundef @.str.110)
  %1990 = load ptr, ptr %2, align 8, !tbaa !5
  %1991 = getelementptr inbounds %struct.PDP6, ptr %1990, i32 0, i32 28
  %1992 = load i64, ptr %1991, align 8, !tbaa !34
  %1993 = and i64 %1992, 34359738368
  %1994 = icmp ne i64 %1993, 0
  br i1 %1994, label %1995, label %2005

1995:                                             ; preds = %1983
  %1996 = load ptr, ptr %2, align 8, !tbaa !5
  %1997 = getelementptr inbounds %struct.PDP6, ptr %1996, i32 0, i32 92
  store i8 1, ptr %1997, align 1, !tbaa !83
  %1998 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %1998, ptr noundef @.str.71)
  %1999 = load ptr, ptr %2, align 8, !tbaa !5
  %2000 = getelementptr inbounds %struct.PDP6, ptr %1999, i32 0, i32 65
  store i8 1, ptr %2000, align 8, !tbaa !84
  %2001 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2001)
  %2002 = load ptr, ptr %2, align 8, !tbaa !5
  %2003 = getelementptr inbounds %struct.PDP6, ptr %2002, i32 0, i32 65
  store i8 0, ptr %2003, align 8, !tbaa !84
  %2004 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2004, ptr noundef @.str.72)
  br label %2005

2005:                                             ; preds = %1995, %1983
  %2006 = load ptr, ptr %2, align 8, !tbaa !5
  %2007 = getelementptr inbounds %struct.PDP6, ptr %2006, i32 0, i32 31
  %2008 = load i64, ptr %2007, align 8, !tbaa !39
  %2009 = load ptr, ptr %2, align 8, !tbaa !5
  %2010 = getelementptr inbounds %struct.PDP6, ptr %2009, i32 0, i32 29
  store i64 %2008, ptr %2010, align 8, !tbaa !61
  %2011 = load ptr, ptr %2, align 8, !tbaa !5
  %2012 = getelementptr inbounds %struct.PDP6, ptr %2011, i32 0, i32 28
  %2013 = load i64, ptr %2012, align 8, !tbaa !34
  %2014 = load ptr, ptr %2, align 8, !tbaa !5
  %2015 = getelementptr inbounds %struct.PDP6, ptr %2014, i32 0, i32 31
  store i64 %2013, ptr %2015, align 8, !tbaa !39
  %2016 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2016, ptr noundef @.str.111)
  %2017 = load i64, ptr @simtime, align 8, !tbaa !15
  %2018 = add i64 %2017, 150
  store i64 %2018, ptr @simtime, align 8, !tbaa !15
  %2019 = load ptr, ptr %2, align 8, !tbaa !5
  %2020 = getelementptr inbounds %struct.PDP6, ptr %2019, i32 0, i32 31
  %2021 = load i64, ptr %2020, align 8, !tbaa !39
  store i64 %2021, ptr %4, align 8, !tbaa !15
  %2022 = load ptr, ptr %2, align 8, !tbaa !5
  %2023 = getelementptr inbounds %struct.PDP6, ptr %2022, i32 0, i32 29
  %2024 = load i64, ptr %2023, align 8, !tbaa !61
  %2025 = load ptr, ptr %2, align 8, !tbaa !5
  %2026 = getelementptr inbounds %struct.PDP6, ptr %2025, i32 0, i32 31
  store i64 %2024, ptr %2026, align 8, !tbaa !39
  %2027 = load i64, ptr %4, align 8, !tbaa !15
  %2028 = load ptr, ptr %2, align 8, !tbaa !5
  %2029 = getelementptr inbounds %struct.PDP6, ptr %2028, i32 0, i32 29
  store i64 %2027, ptr %2029, align 8, !tbaa !61
  %2030 = load ptr, ptr %2, align 8, !tbaa !5
  %2031 = getelementptr inbounds %struct.PDP6, ptr %2030, i32 0, i32 28
  store i64 0, ptr %2031, align 8, !tbaa !34
  %2032 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2032, ptr noundef @.str.112)
  br label %2153

2033:                                             ; preds = %17, %17, %17, %17
  %2034 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2034, ptr noundef @.str.41)
  %2035 = load ptr, ptr %2, align 8, !tbaa !5
  %2036 = getelementptr inbounds %struct.PDP6, ptr %2035, i32 0, i32 39
  %2037 = load i32, ptr %2036, align 4, !tbaa !70
  %2038 = or i32 %2037, 475
  store i32 %2038, ptr %2036, align 4, !tbaa !70
  %2039 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2039, ptr noundef @.str.110)
  %2040 = load ptr, ptr %2, align 8, !tbaa !5
  %2041 = getelementptr inbounds %struct.PDP6, ptr %2040, i32 0, i32 28
  %2042 = load i64, ptr %2041, align 8, !tbaa !34
  %2043 = and i64 %2042, 34359738368
  %2044 = icmp ne i64 %2043, 0
  br i1 %2044, label %2045, label %2152

2045:                                             ; preds = %2033
  %2046 = load ptr, ptr %2, align 8, !tbaa !5
  %2047 = getelementptr inbounds %struct.PDP6, ptr %2046, i32 0, i32 31
  %2048 = load i64, ptr %2047, align 8, !tbaa !39
  store i64 %2048, ptr %4, align 8, !tbaa !15
  %2049 = load ptr, ptr %2, align 8, !tbaa !5
  %2050 = getelementptr inbounds %struct.PDP6, ptr %2049, i32 0, i32 29
  %2051 = load i64, ptr %2050, align 8, !tbaa !61
  %2052 = load ptr, ptr %2, align 8, !tbaa !5
  %2053 = getelementptr inbounds %struct.PDP6, ptr %2052, i32 0, i32 31
  store i64 %2051, ptr %2053, align 8, !tbaa !39
  %2054 = load i64, ptr %4, align 8, !tbaa !15
  %2055 = load ptr, ptr %2, align 8, !tbaa !5
  %2056 = getelementptr inbounds %struct.PDP6, ptr %2055, i32 0, i32 29
  store i64 %2054, ptr %2056, align 8, !tbaa !61
  %2057 = load ptr, ptr %2, align 8, !tbaa !5
  %2058 = getelementptr inbounds %struct.PDP6, ptr %2057, i32 0, i32 92
  store i8 1, ptr %2058, align 1, !tbaa !83
  %2059 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2059, ptr noundef @.str.113)
  %2060 = load i64, ptr @simtime, align 8, !tbaa !15
  %2061 = add i64 %2060, 100
  store i64 %2061, ptr @simtime, align 8, !tbaa !15
  %2062 = load ptr, ptr %2, align 8, !tbaa !5
  %2063 = getelementptr inbounds %struct.PDP6, ptr %2062, i32 0, i32 31
  %2064 = load i64, ptr %2063, align 8, !tbaa !39
  store i64 %2064, ptr %4, align 8, !tbaa !15
  %2065 = load ptr, ptr %2, align 8, !tbaa !5
  %2066 = getelementptr inbounds %struct.PDP6, ptr %2065, i32 0, i32 28
  %2067 = load i64, ptr %2066, align 8, !tbaa !34
  %2068 = load ptr, ptr %2, align 8, !tbaa !5
  %2069 = getelementptr inbounds %struct.PDP6, ptr %2068, i32 0, i32 31
  store i64 %2067, ptr %2069, align 8, !tbaa !39
  %2070 = load i64, ptr %4, align 8, !tbaa !15
  %2071 = load ptr, ptr %2, align 8, !tbaa !5
  %2072 = getelementptr inbounds %struct.PDP6, ptr %2071, i32 0, i32 28
  store i64 %2070, ptr %2072, align 8, !tbaa !34
  %2073 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2073, ptr noundef @.str.114)
  %2074 = load i64, ptr @simtime, align 8, !tbaa !15
  %2075 = add i64 %2074, 100
  store i64 %2075, ptr @simtime, align 8, !tbaa !15
  %2076 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2076, ptr noundef @.str.115)
  %2077 = load ptr, ptr %2, align 8, !tbaa !5
  %2078 = getelementptr inbounds %struct.PDP6, ptr %2077, i32 0, i32 66
  store i8 1, ptr %2078, align 1, !tbaa !99
  %2079 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2079)
  %2080 = load ptr, ptr %2, align 8, !tbaa !5
  %2081 = getelementptr inbounds %struct.PDP6, ptr %2080, i32 0, i32 66
  store i8 0, ptr %2081, align 1, !tbaa !99
  %2082 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2082, ptr noundef @.str.116)
  %2083 = load ptr, ptr %2, align 8, !tbaa !5
  %2084 = getelementptr inbounds %struct.PDP6, ptr %2083, i32 0, i32 28
  %2085 = load i64, ptr %2084, align 8, !tbaa !34
  %2086 = and i64 %2085, 34359738367
  %2087 = icmp ne i64 %2086, 0
  br i1 %2087, label %2088, label %2119

2088:                                             ; preds = %2045
  %2089 = load ptr, ptr %2, align 8, !tbaa !5
  %2090 = getelementptr inbounds %struct.PDP6, ptr %2089, i32 0, i32 31
  %2091 = load i64, ptr %2090, align 8, !tbaa !39
  store i64 %2091, ptr %4, align 8, !tbaa !15
  %2092 = load ptr, ptr %2, align 8, !tbaa !5
  %2093 = getelementptr inbounds %struct.PDP6, ptr %2092, i32 0, i32 28
  %2094 = load i64, ptr %2093, align 8, !tbaa !34
  %2095 = load ptr, ptr %2, align 8, !tbaa !5
  %2096 = getelementptr inbounds %struct.PDP6, ptr %2095, i32 0, i32 31
  store i64 %2094, ptr %2096, align 8, !tbaa !39
  %2097 = load i64, ptr %4, align 8, !tbaa !15
  %2098 = load ptr, ptr %2, align 8, !tbaa !5
  %2099 = getelementptr inbounds %struct.PDP6, ptr %2098, i32 0, i32 28
  store i64 %2097, ptr %2099, align 8, !tbaa !34
  %2100 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2100, ptr noundef @.str.117)
  %2101 = load i64, ptr @simtime, align 8, !tbaa !15
  %2102 = add i64 %2101, 100
  store i64 %2102, ptr @simtime, align 8, !tbaa !15
  %2103 = load ptr, ptr %2, align 8, !tbaa !5
  %2104 = getelementptr inbounds %struct.PDP6, ptr %2103, i32 0, i32 31
  %2105 = load i64, ptr %2104, align 8, !tbaa !39
  store i64 %2105, ptr %4, align 8, !tbaa !15
  %2106 = load ptr, ptr %2, align 8, !tbaa !5
  %2107 = getelementptr inbounds %struct.PDP6, ptr %2106, i32 0, i32 29
  %2108 = load i64, ptr %2107, align 8, !tbaa !61
  %2109 = load ptr, ptr %2, align 8, !tbaa !5
  %2110 = getelementptr inbounds %struct.PDP6, ptr %2109, i32 0, i32 31
  store i64 %2108, ptr %2110, align 8, !tbaa !39
  %2111 = load i64, ptr %4, align 8, !tbaa !15
  %2112 = load ptr, ptr %2, align 8, !tbaa !5
  %2113 = getelementptr inbounds %struct.PDP6, ptr %2112, i32 0, i32 29
  store i64 %2111, ptr %2113, align 8, !tbaa !61
  %2114 = load ptr, ptr %2, align 8, !tbaa !5
  %2115 = getelementptr inbounds %struct.PDP6, ptr %2114, i32 0, i32 28
  %2116 = load i64, ptr %2115, align 8, !tbaa !34
  %2117 = xor i64 %2116, 68719476735
  store i64 %2117, ptr %2115, align 8, !tbaa !34
  %2118 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2118, ptr noundef @.str.118)
  br label %2151

2119:                                             ; preds = %2045
  %2120 = load ptr, ptr %2, align 8, !tbaa !5
  %2121 = getelementptr inbounds %struct.PDP6, ptr %2120, i32 0, i32 31
  %2122 = load i64, ptr %2121, align 8, !tbaa !39
  store i64 %2122, ptr %4, align 8, !tbaa !15
  %2123 = load ptr, ptr %2, align 8, !tbaa !5
  %2124 = getelementptr inbounds %struct.PDP6, ptr %2123, i32 0, i32 28
  %2125 = load i64, ptr %2124, align 8, !tbaa !34
  %2126 = load ptr, ptr %2, align 8, !tbaa !5
  %2127 = getelementptr inbounds %struct.PDP6, ptr %2126, i32 0, i32 31
  store i64 %2125, ptr %2127, align 8, !tbaa !39
  %2128 = load i64, ptr %4, align 8, !tbaa !15
  %2129 = load ptr, ptr %2, align 8, !tbaa !5
  %2130 = getelementptr inbounds %struct.PDP6, ptr %2129, i32 0, i32 28
  store i64 %2128, ptr %2130, align 8, !tbaa !34
  %2131 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2131, ptr noundef @.str.119)
  %2132 = load i64, ptr @simtime, align 8, !tbaa !15
  %2133 = add i64 %2132, 100
  store i64 %2133, ptr @simtime, align 8, !tbaa !15
  %2134 = load ptr, ptr %2, align 8, !tbaa !5
  %2135 = getelementptr inbounds %struct.PDP6, ptr %2134, i32 0, i32 31
  %2136 = load i64, ptr %2135, align 8, !tbaa !39
  store i64 %2136, ptr %4, align 8, !tbaa !15
  %2137 = load ptr, ptr %2, align 8, !tbaa !5
  %2138 = getelementptr inbounds %struct.PDP6, ptr %2137, i32 0, i32 29
  %2139 = load i64, ptr %2138, align 8, !tbaa !61
  %2140 = load ptr, ptr %2, align 8, !tbaa !5
  %2141 = getelementptr inbounds %struct.PDP6, ptr %2140, i32 0, i32 31
  store i64 %2139, ptr %2141, align 8, !tbaa !39
  %2142 = load i64, ptr %4, align 8, !tbaa !15
  %2143 = load ptr, ptr %2, align 8, !tbaa !5
  %2144 = getelementptr inbounds %struct.PDP6, ptr %2143, i32 0, i32 29
  store i64 %2142, ptr %2144, align 8, !tbaa !61
  %2145 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2145, ptr noundef @.str.120)
  %2146 = load ptr, ptr %2, align 8, !tbaa !5
  %2147 = getelementptr inbounds %struct.PDP6, ptr %2146, i32 0, i32 67
  store i8 1, ptr %2147, align 2, !tbaa !100
  %2148 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2148)
  %2149 = load ptr, ptr %2, align 8, !tbaa !5
  %2150 = getelementptr inbounds %struct.PDP6, ptr %2149, i32 0, i32 67
  store i8 0, ptr %2150, align 2, !tbaa !100
  br label %2151

2151:                                             ; preds = %2119, %2088
  br label %2152

2152:                                             ; preds = %2151, %2033
  br label %2153

2153:                                             ; preds = %2152, %2005
  %2154 = load ptr, ptr %2, align 8, !tbaa !5
  %2155 = call i32 @divide(ptr noundef %2154)
  %2156 = icmp ne i32 %2155, 0
  br i1 %2156, label %2157, label %2158

2157:                                             ; preds = %2153
  br label %17977

2158:                                             ; preds = %2153
  %2159 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2159, ptr noundef @.str.121)
  %2160 = load i64, ptr @simtime, align 8, !tbaa !15
  %2161 = add i64 %2160, 200
  store i64 %2161, ptr @simtime, align 8, !tbaa !15
  %2162 = load ptr, ptr %2, align 8, !tbaa !5
  %2163 = getelementptr inbounds %struct.PDP6, ptr %2162, i32 0, i32 3
  %2164 = load i32, ptr %2163, align 4, !tbaa !59
  %2165 = and i32 %2164, 8192
  %2166 = icmp ne i32 %2165, 0
  br i1 %2166, label %2167, label %2173

2167:                                             ; preds = %2158
  %2168 = load ptr, ptr %2, align 8, !tbaa !5
  %2169 = getelementptr inbounds %struct.PDP6, ptr %2168, i32 0, i32 28
  %2170 = load i64, ptr %2169, align 8, !tbaa !34
  %2171 = load ptr, ptr %2, align 8, !tbaa !5
  %2172 = getelementptr inbounds %struct.PDP6, ptr %2171, i32 0, i32 31
  store i64 %2170, ptr %2172, align 8, !tbaa !39
  br label %2173

2173:                                             ; preds = %2167, %2158
  br label %17859

2174:                                             ; preds = %17
  br label %16800

2175:                                             ; preds = %17
  br label %16800

2176:                                             ; preds = %17
  br label %16800

2177:                                             ; preds = %17
  br label %16800

2178:                                             ; preds = %17
  br label %16800

2179:                                             ; preds = %17
  br label %16800

2180:                                             ; preds = %17
  br label %16800

2181:                                             ; preds = %17
  br label %16800

2182:                                             ; preds = %17
  br label %16800

2183:                                             ; preds = %17
  br label %16800

2184:                                             ; preds = %17
  br label %16800

2185:                                             ; preds = %17
  br label %16800

2186:                                             ; preds = %17
  br label %16800

2187:                                             ; preds = %17
  br label %16800

2188:                                             ; preds = %17
  br label %16800

2189:                                             ; preds = %17
  br label %16800

2190:                                             ; preds = %17
  br label %16800

2191:                                             ; preds = %17
  br label %16800

2192:                                             ; preds = %17
  br label %16800

2193:                                             ; preds = %17
  br label %16800

2194:                                             ; preds = %17
  br label %16800

2195:                                             ; preds = %17
  br label %16800

2196:                                             ; preds = %17
  br label %16800

2197:                                             ; preds = %17
  br label %16800

2198:                                             ; preds = %17
  br label %16800

2199:                                             ; preds = %17
  br label %16800

2200:                                             ; preds = %17
  %2201 = load ptr, ptr %2, align 8, !tbaa !5
  %2202 = getelementptr inbounds %struct.PDP6, ptr %2201, i32 0, i32 31
  %2203 = load i64, ptr %2202, align 8, !tbaa !39
  %2204 = load ptr, ptr %2, align 8, !tbaa !5
  %2205 = getelementptr inbounds %struct.PDP6, ptr %2204, i32 0, i32 28
  store i64 %2203, ptr %2205, align 8, !tbaa !34
  %2206 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2206, ptr noundef @.str.41)
  %2207 = load i64, ptr @simtime, align 8, !tbaa !15
  %2208 = add i64 %2207, 100
  store i64 %2208, ptr @simtime, align 8, !tbaa !15
  %2209 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2209, ptr noundef @.str.42)
  %2210 = load i64, ptr @simtime, align 8, !tbaa !15
  %2211 = add i64 %2210, 100
  store i64 %2211, ptr @simtime, align 8, !tbaa !15
  %2212 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2212, ptr noundef @.str.43)
  %2213 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2213, ptr noundef @.str.65)
  %2214 = load i64, ptr @simtime, align 8, !tbaa !15
  %2215 = add i64 %2214, 100
  store i64 %2215, ptr @simtime, align 8, !tbaa !15
  %2216 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2216, ptr noundef @.str.122)
  %2217 = load ptr, ptr %2, align 8, !tbaa !5
  %2218 = getelementptr inbounds %struct.PDP6, ptr %2217, i32 0, i32 126
  %2219 = load i8, ptr %2218, align 1, !tbaa !66, !range !20, !noundef !21
  %2220 = trunc i8 %2219 to i1
  br i1 %2220, label %2228, label %2221

2221:                                             ; preds = %2200
  %2222 = load ptr, ptr %2, align 8, !tbaa !5
  %2223 = getelementptr inbounds %struct.PDP6, ptr %2222, i32 0, i32 127
  %2224 = load i8, ptr %2223, align 2, !tbaa !67, !range !20, !noundef !21
  %2225 = trunc i8 %2224 to i1
  br i1 %2225, label %2226, label %2228

2226:                                             ; preds = %2221
  %2227 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2227)
  br label %2228

2228:                                             ; preds = %2226, %2221, %2200
  br label %17859

2229:                                             ; preds = %17
  %2230 = load ptr, ptr %2, align 8, !tbaa !5
  %2231 = getelementptr inbounds %struct.PDP6, ptr %2230, i32 0, i32 28
  %2232 = load i64, ptr %2231, align 8, !tbaa !34
  %2233 = load ptr, ptr %2, align 8, !tbaa !5
  %2234 = getelementptr inbounds %struct.PDP6, ptr %2233, i32 0, i32 31
  store i64 %2232, ptr %2234, align 8, !tbaa !39
  %2235 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2235, ptr noundef @.str.41)
  %2236 = load i64, ptr @simtime, align 8, !tbaa !15
  %2237 = add i64 %2236, 100
  store i64 %2237, ptr @simtime, align 8, !tbaa !15
  %2238 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2238, ptr noundef @.str.42)
  %2239 = load i64, ptr @simtime, align 8, !tbaa !15
  %2240 = add i64 %2239, 100
  store i64 %2240, ptr @simtime, align 8, !tbaa !15
  %2241 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2241, ptr noundef @.str.43)
  %2242 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2242, ptr noundef @.str.65)
  %2243 = load i64, ptr @simtime, align 8, !tbaa !15
  %2244 = add i64 %2243, 100
  store i64 %2244, ptr @simtime, align 8, !tbaa !15
  %2245 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2245, ptr noundef @.str.122)
  %2246 = load ptr, ptr %2, align 8, !tbaa !5
  %2247 = getelementptr inbounds %struct.PDP6, ptr %2246, i32 0, i32 126
  %2248 = load i8, ptr %2247, align 1, !tbaa !66, !range !20, !noundef !21
  %2249 = trunc i8 %2248 to i1
  br i1 %2249, label %2257, label %2250

2250:                                             ; preds = %2229
  %2251 = load ptr, ptr %2, align 8, !tbaa !5
  %2252 = getelementptr inbounds %struct.PDP6, ptr %2251, i32 0, i32 127
  %2253 = load i8, ptr %2252, align 2, !tbaa !67, !range !20, !noundef !21
  %2254 = trunc i8 %2253 to i1
  br i1 %2254, label %2255, label %2257

2255:                                             ; preds = %2250
  %2256 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2256)
  br label %2257

2257:                                             ; preds = %2255, %2250, %2229
  br label %17859

2258:                                             ; preds = %17
  %2259 = load ptr, ptr %2, align 8, !tbaa !5
  %2260 = getelementptr inbounds %struct.PDP6, ptr %2259, i32 0, i32 28
  %2261 = load i64, ptr %2260, align 8, !tbaa !34
  %2262 = load ptr, ptr %2, align 8, !tbaa !5
  %2263 = getelementptr inbounds %struct.PDP6, ptr %2262, i32 0, i32 31
  store i64 %2261, ptr %2263, align 8, !tbaa !39
  %2264 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2264, ptr noundef @.str.41)
  %2265 = load i64, ptr @simtime, align 8, !tbaa !15
  %2266 = add i64 %2265, 100
  store i64 %2266, ptr @simtime, align 8, !tbaa !15
  %2267 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2267, ptr noundef @.str.42)
  %2268 = load i64, ptr @simtime, align 8, !tbaa !15
  %2269 = add i64 %2268, 100
  store i64 %2269, ptr @simtime, align 8, !tbaa !15
  %2270 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2270, ptr noundef @.str.43)
  %2271 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2271, ptr noundef @.str.65)
  %2272 = load i64, ptr @simtime, align 8, !tbaa !15
  %2273 = add i64 %2272, 100
  store i64 %2273, ptr @simtime, align 8, !tbaa !15
  %2274 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2274, ptr noundef @.str.122)
  %2275 = load ptr, ptr %2, align 8, !tbaa !5
  %2276 = getelementptr inbounds %struct.PDP6, ptr %2275, i32 0, i32 126
  %2277 = load i8, ptr %2276, align 1, !tbaa !66, !range !20, !noundef !21
  %2278 = trunc i8 %2277 to i1
  br i1 %2278, label %2286, label %2279

2279:                                             ; preds = %2258
  %2280 = load ptr, ptr %2, align 8, !tbaa !5
  %2281 = getelementptr inbounds %struct.PDP6, ptr %2280, i32 0, i32 127
  %2282 = load i8, ptr %2281, align 2, !tbaa !67, !range !20, !noundef !21
  %2283 = trunc i8 %2282 to i1
  br i1 %2283, label %2284, label %2286

2284:                                             ; preds = %2279
  %2285 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2285)
  br label %2286

2286:                                             ; preds = %2284, %2279, %2258
  %2287 = load ptr, ptr %2, align 8, !tbaa !5
  %2288 = getelementptr inbounds %struct.PDP6, ptr %2287, i32 0, i32 28
  %2289 = load i64, ptr %2288, align 8, !tbaa !34
  %2290 = load ptr, ptr %2, align 8, !tbaa !5
  %2291 = getelementptr inbounds %struct.PDP6, ptr %2290, i32 0, i32 31
  store i64 %2289, ptr %2291, align 8, !tbaa !39
  br label %17859

2292:                                             ; preds = %17
  %2293 = load ptr, ptr %2, align 8, !tbaa !5
  %2294 = getelementptr inbounds %struct.PDP6, ptr %2293, i32 0, i32 31
  %2295 = load i64, ptr %2294, align 8, !tbaa !39
  %2296 = load ptr, ptr %2, align 8, !tbaa !5
  %2297 = getelementptr inbounds %struct.PDP6, ptr %2296, i32 0, i32 28
  store i64 %2295, ptr %2297, align 8, !tbaa !34
  %2298 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2298, ptr noundef @.str.41)
  %2299 = load i64, ptr @simtime, align 8, !tbaa !15
  %2300 = add i64 %2299, 100
  store i64 %2300, ptr @simtime, align 8, !tbaa !15
  %2301 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2301, ptr noundef @.str.42)
  %2302 = load i64, ptr @simtime, align 8, !tbaa !15
  %2303 = add i64 %2302, 100
  store i64 %2303, ptr @simtime, align 8, !tbaa !15
  %2304 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2304, ptr noundef @.str.43)
  %2305 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2305, ptr noundef @.str.65)
  %2306 = load i64, ptr @simtime, align 8, !tbaa !15
  %2307 = add i64 %2306, 100
  store i64 %2307, ptr @simtime, align 8, !tbaa !15
  %2308 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2308, ptr noundef @.str.122)
  %2309 = load ptr, ptr %2, align 8, !tbaa !5
  %2310 = getelementptr inbounds %struct.PDP6, ptr %2309, i32 0, i32 126
  %2311 = load i8, ptr %2310, align 1, !tbaa !66, !range !20, !noundef !21
  %2312 = trunc i8 %2311 to i1
  br i1 %2312, label %2320, label %2313

2313:                                             ; preds = %2292
  %2314 = load ptr, ptr %2, align 8, !tbaa !5
  %2315 = getelementptr inbounds %struct.PDP6, ptr %2314, i32 0, i32 127
  %2316 = load i8, ptr %2315, align 2, !tbaa !67, !range !20, !noundef !21
  %2317 = trunc i8 %2316 to i1
  br i1 %2317, label %2318, label %2320

2318:                                             ; preds = %2313
  %2319 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2319)
  br label %2320

2320:                                             ; preds = %2318, %2313, %2292
  %2321 = load ptr, ptr %2, align 8, !tbaa !5
  %2322 = getelementptr inbounds %struct.PDP6, ptr %2321, i32 0, i32 28
  %2323 = load i64, ptr %2322, align 8, !tbaa !34
  %2324 = load ptr, ptr %2, align 8, !tbaa !5
  %2325 = getelementptr inbounds %struct.PDP6, ptr %2324, i32 0, i32 31
  store i64 %2323, ptr %2325, align 8, !tbaa !39
  br label %17859

2326:                                             ; preds = %17
  %2327 = load ptr, ptr %2, align 8, !tbaa !5
  %2328 = getelementptr inbounds %struct.PDP6, ptr %2327, i32 0, i32 31
  %2329 = load i64, ptr %2328, align 8, !tbaa !39
  %2330 = load ptr, ptr %2, align 8, !tbaa !5
  %2331 = getelementptr inbounds %struct.PDP6, ptr %2330, i32 0, i32 28
  store i64 %2329, ptr %2331, align 8, !tbaa !34
  %2332 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2332, ptr noundef @.str.41)
  %2333 = load i64, ptr @simtime, align 8, !tbaa !15
  %2334 = add i64 %2333, 100
  store i64 %2334, ptr @simtime, align 8, !tbaa !15
  %2335 = load ptr, ptr %2, align 8, !tbaa !5
  %2336 = getelementptr inbounds %struct.PDP6, ptr %2335, i32 0, i32 31
  %2337 = load i64, ptr %2336, align 8, !tbaa !39
  %2338 = shl i64 %2337, 18
  %2339 = load ptr, ptr %2, align 8, !tbaa !5
  %2340 = getelementptr inbounds %struct.PDP6, ptr %2339, i32 0, i32 31
  %2341 = load i64, ptr %2340, align 8, !tbaa !39
  %2342 = lshr i64 %2341, 18
  %2343 = or i64 %2338, %2342
  %2344 = and i64 %2343, 68719476735
  %2345 = load ptr, ptr %2, align 8, !tbaa !5
  %2346 = getelementptr inbounds %struct.PDP6, ptr %2345, i32 0, i32 31
  store i64 %2344, ptr %2346, align 8, !tbaa !39
  %2347 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2347, ptr noundef @.str.42)
  %2348 = load i64, ptr @simtime, align 8, !tbaa !15
  %2349 = add i64 %2348, 100
  store i64 %2349, ptr @simtime, align 8, !tbaa !15
  %2350 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2350, ptr noundef @.str.43)
  %2351 = load ptr, ptr %2, align 8, !tbaa !5
  %2352 = getelementptr inbounds %struct.PDP6, ptr %2351, i32 0, i32 31
  %2353 = load i64, ptr %2352, align 8, !tbaa !39
  store i64 %2353, ptr %4, align 8, !tbaa !15
  %2354 = load ptr, ptr %2, align 8, !tbaa !5
  %2355 = getelementptr inbounds %struct.PDP6, ptr %2354, i32 0, i32 28
  %2356 = load i64, ptr %2355, align 8, !tbaa !34
  %2357 = load ptr, ptr %2, align 8, !tbaa !5
  %2358 = getelementptr inbounds %struct.PDP6, ptr %2357, i32 0, i32 31
  store i64 %2356, ptr %2358, align 8, !tbaa !39
  %2359 = load i64, ptr %4, align 8, !tbaa !15
  %2360 = load ptr, ptr %2, align 8, !tbaa !5
  %2361 = getelementptr inbounds %struct.PDP6, ptr %2360, i32 0, i32 28
  store i64 %2359, ptr %2361, align 8, !tbaa !34
  %2362 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2362, ptr noundef @.str.65)
  %2363 = load i64, ptr @simtime, align 8, !tbaa !15
  %2364 = add i64 %2363, 100
  store i64 %2364, ptr @simtime, align 8, !tbaa !15
  %2365 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2365, ptr noundef @.str.122)
  %2366 = load ptr, ptr %2, align 8, !tbaa !5
  %2367 = getelementptr inbounds %struct.PDP6, ptr %2366, i32 0, i32 126
  %2368 = load i8, ptr %2367, align 1, !tbaa !66, !range !20, !noundef !21
  %2369 = trunc i8 %2368 to i1
  br i1 %2369, label %2377, label %2370

2370:                                             ; preds = %2326
  %2371 = load ptr, ptr %2, align 8, !tbaa !5
  %2372 = getelementptr inbounds %struct.PDP6, ptr %2371, i32 0, i32 127
  %2373 = load i8, ptr %2372, align 2, !tbaa !67, !range !20, !noundef !21
  %2374 = trunc i8 %2373 to i1
  br i1 %2374, label %2375, label %2377

2375:                                             ; preds = %2370
  %2376 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2376)
  br label %2377

2377:                                             ; preds = %2375, %2370, %2326
  br label %17859

2378:                                             ; preds = %17
  %2379 = load ptr, ptr %2, align 8, !tbaa !5
  %2380 = getelementptr inbounds %struct.PDP6, ptr %2379, i32 0, i32 28
  %2381 = load i64, ptr %2380, align 8, !tbaa !34
  %2382 = load ptr, ptr %2, align 8, !tbaa !5
  %2383 = getelementptr inbounds %struct.PDP6, ptr %2382, i32 0, i32 31
  store i64 %2381, ptr %2383, align 8, !tbaa !39
  %2384 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2384, ptr noundef @.str.41)
  %2385 = load i64, ptr @simtime, align 8, !tbaa !15
  %2386 = add i64 %2385, 100
  store i64 %2386, ptr @simtime, align 8, !tbaa !15
  %2387 = load ptr, ptr %2, align 8, !tbaa !5
  %2388 = getelementptr inbounds %struct.PDP6, ptr %2387, i32 0, i32 31
  %2389 = load i64, ptr %2388, align 8, !tbaa !39
  %2390 = shl i64 %2389, 18
  %2391 = load ptr, ptr %2, align 8, !tbaa !5
  %2392 = getelementptr inbounds %struct.PDP6, ptr %2391, i32 0, i32 31
  %2393 = load i64, ptr %2392, align 8, !tbaa !39
  %2394 = lshr i64 %2393, 18
  %2395 = or i64 %2390, %2394
  %2396 = and i64 %2395, 68719476735
  %2397 = load ptr, ptr %2, align 8, !tbaa !5
  %2398 = getelementptr inbounds %struct.PDP6, ptr %2397, i32 0, i32 31
  store i64 %2396, ptr %2398, align 8, !tbaa !39
  %2399 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2399, ptr noundef @.str.42)
  %2400 = load i64, ptr @simtime, align 8, !tbaa !15
  %2401 = add i64 %2400, 100
  store i64 %2401, ptr @simtime, align 8, !tbaa !15
  %2402 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2402, ptr noundef @.str.43)
  %2403 = load ptr, ptr %2, align 8, !tbaa !5
  %2404 = getelementptr inbounds %struct.PDP6, ptr %2403, i32 0, i32 31
  %2405 = load i64, ptr %2404, align 8, !tbaa !39
  store i64 %2405, ptr %4, align 8, !tbaa !15
  %2406 = load ptr, ptr %2, align 8, !tbaa !5
  %2407 = getelementptr inbounds %struct.PDP6, ptr %2406, i32 0, i32 28
  %2408 = load i64, ptr %2407, align 8, !tbaa !34
  %2409 = load ptr, ptr %2, align 8, !tbaa !5
  %2410 = getelementptr inbounds %struct.PDP6, ptr %2409, i32 0, i32 31
  store i64 %2408, ptr %2410, align 8, !tbaa !39
  %2411 = load i64, ptr %4, align 8, !tbaa !15
  %2412 = load ptr, ptr %2, align 8, !tbaa !5
  %2413 = getelementptr inbounds %struct.PDP6, ptr %2412, i32 0, i32 28
  store i64 %2411, ptr %2413, align 8, !tbaa !34
  %2414 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2414, ptr noundef @.str.65)
  %2415 = load i64, ptr @simtime, align 8, !tbaa !15
  %2416 = add i64 %2415, 100
  store i64 %2416, ptr @simtime, align 8, !tbaa !15
  %2417 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2417, ptr noundef @.str.122)
  %2418 = load ptr, ptr %2, align 8, !tbaa !5
  %2419 = getelementptr inbounds %struct.PDP6, ptr %2418, i32 0, i32 126
  %2420 = load i8, ptr %2419, align 1, !tbaa !66, !range !20, !noundef !21
  %2421 = trunc i8 %2420 to i1
  br i1 %2421, label %2429, label %2422

2422:                                             ; preds = %2378
  %2423 = load ptr, ptr %2, align 8, !tbaa !5
  %2424 = getelementptr inbounds %struct.PDP6, ptr %2423, i32 0, i32 127
  %2425 = load i8, ptr %2424, align 2, !tbaa !67, !range !20, !noundef !21
  %2426 = trunc i8 %2425 to i1
  br i1 %2426, label %2427, label %2429

2427:                                             ; preds = %2422
  %2428 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2428)
  br label %2429

2429:                                             ; preds = %2427, %2422, %2378
  br label %17859

2430:                                             ; preds = %17
  %2431 = load ptr, ptr %2, align 8, !tbaa !5
  %2432 = getelementptr inbounds %struct.PDP6, ptr %2431, i32 0, i32 28
  %2433 = load i64, ptr %2432, align 8, !tbaa !34
  %2434 = load ptr, ptr %2, align 8, !tbaa !5
  %2435 = getelementptr inbounds %struct.PDP6, ptr %2434, i32 0, i32 31
  store i64 %2433, ptr %2435, align 8, !tbaa !39
  %2436 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2436, ptr noundef @.str.41)
  %2437 = load i64, ptr @simtime, align 8, !tbaa !15
  %2438 = add i64 %2437, 100
  store i64 %2438, ptr @simtime, align 8, !tbaa !15
  %2439 = load ptr, ptr %2, align 8, !tbaa !5
  %2440 = getelementptr inbounds %struct.PDP6, ptr %2439, i32 0, i32 31
  %2441 = load i64, ptr %2440, align 8, !tbaa !39
  %2442 = shl i64 %2441, 18
  %2443 = load ptr, ptr %2, align 8, !tbaa !5
  %2444 = getelementptr inbounds %struct.PDP6, ptr %2443, i32 0, i32 31
  %2445 = load i64, ptr %2444, align 8, !tbaa !39
  %2446 = lshr i64 %2445, 18
  %2447 = or i64 %2442, %2446
  %2448 = and i64 %2447, 68719476735
  %2449 = load ptr, ptr %2, align 8, !tbaa !5
  %2450 = getelementptr inbounds %struct.PDP6, ptr %2449, i32 0, i32 31
  store i64 %2448, ptr %2450, align 8, !tbaa !39
  %2451 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2451, ptr noundef @.str.42)
  %2452 = load i64, ptr @simtime, align 8, !tbaa !15
  %2453 = add i64 %2452, 100
  store i64 %2453, ptr @simtime, align 8, !tbaa !15
  %2454 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2454, ptr noundef @.str.43)
  %2455 = load ptr, ptr %2, align 8, !tbaa !5
  %2456 = getelementptr inbounds %struct.PDP6, ptr %2455, i32 0, i32 31
  %2457 = load i64, ptr %2456, align 8, !tbaa !39
  store i64 %2457, ptr %4, align 8, !tbaa !15
  %2458 = load ptr, ptr %2, align 8, !tbaa !5
  %2459 = getelementptr inbounds %struct.PDP6, ptr %2458, i32 0, i32 28
  %2460 = load i64, ptr %2459, align 8, !tbaa !34
  %2461 = load ptr, ptr %2, align 8, !tbaa !5
  %2462 = getelementptr inbounds %struct.PDP6, ptr %2461, i32 0, i32 31
  store i64 %2460, ptr %2462, align 8, !tbaa !39
  %2463 = load i64, ptr %4, align 8, !tbaa !15
  %2464 = load ptr, ptr %2, align 8, !tbaa !5
  %2465 = getelementptr inbounds %struct.PDP6, ptr %2464, i32 0, i32 28
  store i64 %2463, ptr %2465, align 8, !tbaa !34
  %2466 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2466, ptr noundef @.str.65)
  %2467 = load i64, ptr @simtime, align 8, !tbaa !15
  %2468 = add i64 %2467, 100
  store i64 %2468, ptr @simtime, align 8, !tbaa !15
  %2469 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2469, ptr noundef @.str.122)
  %2470 = load ptr, ptr %2, align 8, !tbaa !5
  %2471 = getelementptr inbounds %struct.PDP6, ptr %2470, i32 0, i32 126
  %2472 = load i8, ptr %2471, align 1, !tbaa !66, !range !20, !noundef !21
  %2473 = trunc i8 %2472 to i1
  br i1 %2473, label %2481, label %2474

2474:                                             ; preds = %2430
  %2475 = load ptr, ptr %2, align 8, !tbaa !5
  %2476 = getelementptr inbounds %struct.PDP6, ptr %2475, i32 0, i32 127
  %2477 = load i8, ptr %2476, align 2, !tbaa !67, !range !20, !noundef !21
  %2478 = trunc i8 %2477 to i1
  br i1 %2478, label %2479, label %2481

2479:                                             ; preds = %2474
  %2480 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2480)
  br label %2481

2481:                                             ; preds = %2479, %2474, %2430
  %2482 = load ptr, ptr %2, align 8, !tbaa !5
  %2483 = getelementptr inbounds %struct.PDP6, ptr %2482, i32 0, i32 28
  %2484 = load i64, ptr %2483, align 8, !tbaa !34
  %2485 = load ptr, ptr %2, align 8, !tbaa !5
  %2486 = getelementptr inbounds %struct.PDP6, ptr %2485, i32 0, i32 31
  store i64 %2484, ptr %2486, align 8, !tbaa !39
  br label %17859

2487:                                             ; preds = %17
  %2488 = load ptr, ptr %2, align 8, !tbaa !5
  %2489 = getelementptr inbounds %struct.PDP6, ptr %2488, i32 0, i32 31
  %2490 = load i64, ptr %2489, align 8, !tbaa !39
  %2491 = load ptr, ptr %2, align 8, !tbaa !5
  %2492 = getelementptr inbounds %struct.PDP6, ptr %2491, i32 0, i32 28
  store i64 %2490, ptr %2492, align 8, !tbaa !34
  %2493 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2493, ptr noundef @.str.41)
  %2494 = load i64, ptr @simtime, align 8, !tbaa !15
  %2495 = add i64 %2494, 100
  store i64 %2495, ptr @simtime, align 8, !tbaa !15
  %2496 = load ptr, ptr %2, align 8, !tbaa !5
  %2497 = getelementptr inbounds %struct.PDP6, ptr %2496, i32 0, i32 31
  %2498 = load i64, ptr %2497, align 8, !tbaa !39
  %2499 = shl i64 %2498, 18
  %2500 = load ptr, ptr %2, align 8, !tbaa !5
  %2501 = getelementptr inbounds %struct.PDP6, ptr %2500, i32 0, i32 31
  %2502 = load i64, ptr %2501, align 8, !tbaa !39
  %2503 = lshr i64 %2502, 18
  %2504 = or i64 %2499, %2503
  %2505 = and i64 %2504, 68719476735
  %2506 = load ptr, ptr %2, align 8, !tbaa !5
  %2507 = getelementptr inbounds %struct.PDP6, ptr %2506, i32 0, i32 31
  store i64 %2505, ptr %2507, align 8, !tbaa !39
  %2508 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2508, ptr noundef @.str.42)
  %2509 = load i64, ptr @simtime, align 8, !tbaa !15
  %2510 = add i64 %2509, 100
  store i64 %2510, ptr @simtime, align 8, !tbaa !15
  %2511 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2511, ptr noundef @.str.43)
  %2512 = load ptr, ptr %2, align 8, !tbaa !5
  %2513 = getelementptr inbounds %struct.PDP6, ptr %2512, i32 0, i32 31
  %2514 = load i64, ptr %2513, align 8, !tbaa !39
  store i64 %2514, ptr %4, align 8, !tbaa !15
  %2515 = load ptr, ptr %2, align 8, !tbaa !5
  %2516 = getelementptr inbounds %struct.PDP6, ptr %2515, i32 0, i32 28
  %2517 = load i64, ptr %2516, align 8, !tbaa !34
  %2518 = load ptr, ptr %2, align 8, !tbaa !5
  %2519 = getelementptr inbounds %struct.PDP6, ptr %2518, i32 0, i32 31
  store i64 %2517, ptr %2519, align 8, !tbaa !39
  %2520 = load i64, ptr %4, align 8, !tbaa !15
  %2521 = load ptr, ptr %2, align 8, !tbaa !5
  %2522 = getelementptr inbounds %struct.PDP6, ptr %2521, i32 0, i32 28
  store i64 %2520, ptr %2522, align 8, !tbaa !34
  %2523 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2523, ptr noundef @.str.65)
  %2524 = load i64, ptr @simtime, align 8, !tbaa !15
  %2525 = add i64 %2524, 100
  store i64 %2525, ptr @simtime, align 8, !tbaa !15
  %2526 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2526, ptr noundef @.str.122)
  %2527 = load ptr, ptr %2, align 8, !tbaa !5
  %2528 = getelementptr inbounds %struct.PDP6, ptr %2527, i32 0, i32 126
  %2529 = load i8, ptr %2528, align 1, !tbaa !66, !range !20, !noundef !21
  %2530 = trunc i8 %2529 to i1
  br i1 %2530, label %2538, label %2531

2531:                                             ; preds = %2487
  %2532 = load ptr, ptr %2, align 8, !tbaa !5
  %2533 = getelementptr inbounds %struct.PDP6, ptr %2532, i32 0, i32 127
  %2534 = load i8, ptr %2533, align 2, !tbaa !67, !range !20, !noundef !21
  %2535 = trunc i8 %2534 to i1
  br i1 %2535, label %2536, label %2538

2536:                                             ; preds = %2531
  %2537 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2537)
  br label %2538

2538:                                             ; preds = %2536, %2531, %2487
  %2539 = load ptr, ptr %2, align 8, !tbaa !5
  %2540 = getelementptr inbounds %struct.PDP6, ptr %2539, i32 0, i32 28
  %2541 = load i64, ptr %2540, align 8, !tbaa !34
  %2542 = load ptr, ptr %2, align 8, !tbaa !5
  %2543 = getelementptr inbounds %struct.PDP6, ptr %2542, i32 0, i32 31
  store i64 %2541, ptr %2543, align 8, !tbaa !39
  br label %17859

2544:                                             ; preds = %17
  %2545 = load ptr, ptr %2, align 8, !tbaa !5
  %2546 = getelementptr inbounds %struct.PDP6, ptr %2545, i32 0, i32 31
  %2547 = load i64, ptr %2546, align 8, !tbaa !39
  %2548 = load ptr, ptr %2, align 8, !tbaa !5
  %2549 = getelementptr inbounds %struct.PDP6, ptr %2548, i32 0, i32 28
  store i64 %2547, ptr %2549, align 8, !tbaa !34
  %2550 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2550, ptr noundef @.str.41)
  %2551 = load i64, ptr @simtime, align 8, !tbaa !15
  %2552 = add i64 %2551, 100
  store i64 %2552, ptr @simtime, align 8, !tbaa !15
  %2553 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2553, ptr noundef @.str.42)
  %2554 = load i64, ptr @simtime, align 8, !tbaa !15
  %2555 = add i64 %2554, 100
  store i64 %2555, ptr @simtime, align 8, !tbaa !15
  %2556 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2556, ptr noundef @.str.43)
  %2557 = load ptr, ptr %2, align 8, !tbaa !5
  %2558 = getelementptr inbounds %struct.PDP6, ptr %2557, i32 0, i32 58
  store i8 1, ptr %2558, align 1, !tbaa !76
  %2559 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2559)
  %2560 = load ptr, ptr %2, align 8, !tbaa !5
  %2561 = getelementptr inbounds %struct.PDP6, ptr %2560, i32 0, i32 58
  store i8 0, ptr %2561, align 1, !tbaa !76
  %2562 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2562, ptr noundef @.str.65)
  %2563 = load i64, ptr @simtime, align 8, !tbaa !15
  %2564 = add i64 %2563, 100
  store i64 %2564, ptr @simtime, align 8, !tbaa !15
  %2565 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2565, ptr noundef @.str.122)
  %2566 = load ptr, ptr %2, align 8, !tbaa !5
  %2567 = getelementptr inbounds %struct.PDP6, ptr %2566, i32 0, i32 126
  %2568 = load i8, ptr %2567, align 1, !tbaa !66, !range !20, !noundef !21
  %2569 = trunc i8 %2568 to i1
  br i1 %2569, label %2577, label %2570

2570:                                             ; preds = %2544
  %2571 = load ptr, ptr %2, align 8, !tbaa !5
  %2572 = getelementptr inbounds %struct.PDP6, ptr %2571, i32 0, i32 127
  %2573 = load i8, ptr %2572, align 2, !tbaa !67, !range !20, !noundef !21
  %2574 = trunc i8 %2573 to i1
  br i1 %2574, label %2575, label %2577

2575:                                             ; preds = %2570
  %2576 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2576)
  br label %2577

2577:                                             ; preds = %2575, %2570, %2544
  br label %17859

2578:                                             ; preds = %17
  %2579 = load ptr, ptr %2, align 8, !tbaa !5
  %2580 = getelementptr inbounds %struct.PDP6, ptr %2579, i32 0, i32 28
  %2581 = load i64, ptr %2580, align 8, !tbaa !34
  %2582 = load ptr, ptr %2, align 8, !tbaa !5
  %2583 = getelementptr inbounds %struct.PDP6, ptr %2582, i32 0, i32 31
  store i64 %2581, ptr %2583, align 8, !tbaa !39
  %2584 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2584, ptr noundef @.str.41)
  %2585 = load i64, ptr @simtime, align 8, !tbaa !15
  %2586 = add i64 %2585, 100
  store i64 %2586, ptr @simtime, align 8, !tbaa !15
  %2587 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2587, ptr noundef @.str.42)
  %2588 = load i64, ptr @simtime, align 8, !tbaa !15
  %2589 = add i64 %2588, 100
  store i64 %2589, ptr @simtime, align 8, !tbaa !15
  %2590 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2590, ptr noundef @.str.43)
  %2591 = load ptr, ptr %2, align 8, !tbaa !5
  %2592 = getelementptr inbounds %struct.PDP6, ptr %2591, i32 0, i32 58
  store i8 1, ptr %2592, align 1, !tbaa !76
  %2593 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2593)
  %2594 = load ptr, ptr %2, align 8, !tbaa !5
  %2595 = getelementptr inbounds %struct.PDP6, ptr %2594, i32 0, i32 58
  store i8 0, ptr %2595, align 1, !tbaa !76
  %2596 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2596, ptr noundef @.str.65)
  %2597 = load i64, ptr @simtime, align 8, !tbaa !15
  %2598 = add i64 %2597, 100
  store i64 %2598, ptr @simtime, align 8, !tbaa !15
  %2599 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2599, ptr noundef @.str.122)
  %2600 = load ptr, ptr %2, align 8, !tbaa !5
  %2601 = getelementptr inbounds %struct.PDP6, ptr %2600, i32 0, i32 126
  %2602 = load i8, ptr %2601, align 1, !tbaa !66, !range !20, !noundef !21
  %2603 = trunc i8 %2602 to i1
  br i1 %2603, label %2611, label %2604

2604:                                             ; preds = %2578
  %2605 = load ptr, ptr %2, align 8, !tbaa !5
  %2606 = getelementptr inbounds %struct.PDP6, ptr %2605, i32 0, i32 127
  %2607 = load i8, ptr %2606, align 2, !tbaa !67, !range !20, !noundef !21
  %2608 = trunc i8 %2607 to i1
  br i1 %2608, label %2609, label %2611

2609:                                             ; preds = %2604
  %2610 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2610)
  br label %2611

2611:                                             ; preds = %2609, %2604, %2578
  br label %17859

2612:                                             ; preds = %17
  %2613 = load ptr, ptr %2, align 8, !tbaa !5
  %2614 = getelementptr inbounds %struct.PDP6, ptr %2613, i32 0, i32 28
  %2615 = load i64, ptr %2614, align 8, !tbaa !34
  %2616 = load ptr, ptr %2, align 8, !tbaa !5
  %2617 = getelementptr inbounds %struct.PDP6, ptr %2616, i32 0, i32 31
  store i64 %2615, ptr %2617, align 8, !tbaa !39
  %2618 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2618, ptr noundef @.str.41)
  %2619 = load i64, ptr @simtime, align 8, !tbaa !15
  %2620 = add i64 %2619, 100
  store i64 %2620, ptr @simtime, align 8, !tbaa !15
  %2621 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2621, ptr noundef @.str.42)
  %2622 = load i64, ptr @simtime, align 8, !tbaa !15
  %2623 = add i64 %2622, 100
  store i64 %2623, ptr @simtime, align 8, !tbaa !15
  %2624 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2624, ptr noundef @.str.43)
  %2625 = load ptr, ptr %2, align 8, !tbaa !5
  %2626 = getelementptr inbounds %struct.PDP6, ptr %2625, i32 0, i32 58
  store i8 1, ptr %2626, align 1, !tbaa !76
  %2627 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2627)
  %2628 = load ptr, ptr %2, align 8, !tbaa !5
  %2629 = getelementptr inbounds %struct.PDP6, ptr %2628, i32 0, i32 58
  store i8 0, ptr %2629, align 1, !tbaa !76
  %2630 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2630, ptr noundef @.str.65)
  %2631 = load i64, ptr @simtime, align 8, !tbaa !15
  %2632 = add i64 %2631, 100
  store i64 %2632, ptr @simtime, align 8, !tbaa !15
  %2633 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2633, ptr noundef @.str.122)
  %2634 = load ptr, ptr %2, align 8, !tbaa !5
  %2635 = getelementptr inbounds %struct.PDP6, ptr %2634, i32 0, i32 126
  %2636 = load i8, ptr %2635, align 1, !tbaa !66, !range !20, !noundef !21
  %2637 = trunc i8 %2636 to i1
  br i1 %2637, label %2645, label %2638

2638:                                             ; preds = %2612
  %2639 = load ptr, ptr %2, align 8, !tbaa !5
  %2640 = getelementptr inbounds %struct.PDP6, ptr %2639, i32 0, i32 127
  %2641 = load i8, ptr %2640, align 2, !tbaa !67, !range !20, !noundef !21
  %2642 = trunc i8 %2641 to i1
  br i1 %2642, label %2643, label %2645

2643:                                             ; preds = %2638
  %2644 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2644)
  br label %2645

2645:                                             ; preds = %2643, %2638, %2612
  %2646 = load ptr, ptr %2, align 8, !tbaa !5
  %2647 = getelementptr inbounds %struct.PDP6, ptr %2646, i32 0, i32 28
  %2648 = load i64, ptr %2647, align 8, !tbaa !34
  %2649 = load ptr, ptr %2, align 8, !tbaa !5
  %2650 = getelementptr inbounds %struct.PDP6, ptr %2649, i32 0, i32 31
  store i64 %2648, ptr %2650, align 8, !tbaa !39
  br label %17859

2651:                                             ; preds = %17
  %2652 = load ptr, ptr %2, align 8, !tbaa !5
  %2653 = getelementptr inbounds %struct.PDP6, ptr %2652, i32 0, i32 31
  %2654 = load i64, ptr %2653, align 8, !tbaa !39
  %2655 = load ptr, ptr %2, align 8, !tbaa !5
  %2656 = getelementptr inbounds %struct.PDP6, ptr %2655, i32 0, i32 28
  store i64 %2654, ptr %2656, align 8, !tbaa !34
  %2657 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2657, ptr noundef @.str.41)
  %2658 = load i64, ptr @simtime, align 8, !tbaa !15
  %2659 = add i64 %2658, 100
  store i64 %2659, ptr @simtime, align 8, !tbaa !15
  %2660 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2660, ptr noundef @.str.42)
  %2661 = load i64, ptr @simtime, align 8, !tbaa !15
  %2662 = add i64 %2661, 100
  store i64 %2662, ptr @simtime, align 8, !tbaa !15
  %2663 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2663, ptr noundef @.str.43)
  %2664 = load ptr, ptr %2, align 8, !tbaa !5
  %2665 = getelementptr inbounds %struct.PDP6, ptr %2664, i32 0, i32 58
  store i8 1, ptr %2665, align 1, !tbaa !76
  %2666 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2666)
  %2667 = load ptr, ptr %2, align 8, !tbaa !5
  %2668 = getelementptr inbounds %struct.PDP6, ptr %2667, i32 0, i32 58
  store i8 0, ptr %2668, align 1, !tbaa !76
  %2669 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2669, ptr noundef @.str.65)
  %2670 = load i64, ptr @simtime, align 8, !tbaa !15
  %2671 = add i64 %2670, 100
  store i64 %2671, ptr @simtime, align 8, !tbaa !15
  %2672 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2672, ptr noundef @.str.122)
  %2673 = load ptr, ptr %2, align 8, !tbaa !5
  %2674 = getelementptr inbounds %struct.PDP6, ptr %2673, i32 0, i32 126
  %2675 = load i8, ptr %2674, align 1, !tbaa !66, !range !20, !noundef !21
  %2676 = trunc i8 %2675 to i1
  br i1 %2676, label %2684, label %2677

2677:                                             ; preds = %2651
  %2678 = load ptr, ptr %2, align 8, !tbaa !5
  %2679 = getelementptr inbounds %struct.PDP6, ptr %2678, i32 0, i32 127
  %2680 = load i8, ptr %2679, align 2, !tbaa !67, !range !20, !noundef !21
  %2681 = trunc i8 %2680 to i1
  br i1 %2681, label %2682, label %2684

2682:                                             ; preds = %2677
  %2683 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2683)
  br label %2684

2684:                                             ; preds = %2682, %2677, %2651
  %2685 = load ptr, ptr %2, align 8, !tbaa !5
  %2686 = getelementptr inbounds %struct.PDP6, ptr %2685, i32 0, i32 28
  %2687 = load i64, ptr %2686, align 8, !tbaa !34
  %2688 = load ptr, ptr %2, align 8, !tbaa !5
  %2689 = getelementptr inbounds %struct.PDP6, ptr %2688, i32 0, i32 31
  store i64 %2687, ptr %2689, align 8, !tbaa !39
  br label %17859

2690:                                             ; preds = %17
  %2691 = load ptr, ptr %2, align 8, !tbaa !5
  %2692 = getelementptr inbounds %struct.PDP6, ptr %2691, i32 0, i32 31
  %2693 = load i64, ptr %2692, align 8, !tbaa !39
  %2694 = load ptr, ptr %2, align 8, !tbaa !5
  %2695 = getelementptr inbounds %struct.PDP6, ptr %2694, i32 0, i32 28
  store i64 %2693, ptr %2695, align 8, !tbaa !34
  %2696 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2696, ptr noundef @.str.41)
  %2697 = load i64, ptr @simtime, align 8, !tbaa !15
  %2698 = add i64 %2697, 100
  store i64 %2698, ptr @simtime, align 8, !tbaa !15
  %2699 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2699, ptr noundef @.str.42)
  %2700 = load i64, ptr @simtime, align 8, !tbaa !15
  %2701 = add i64 %2700, 100
  store i64 %2701, ptr @simtime, align 8, !tbaa !15
  %2702 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2702, ptr noundef @.str.43)
  %2703 = load ptr, ptr %2, align 8, !tbaa !5
  %2704 = getelementptr inbounds %struct.PDP6, ptr %2703, i32 0, i32 28
  %2705 = load i64, ptr %2704, align 8, !tbaa !34
  %2706 = and i64 %2705, 34359738368
  %2707 = icmp ne i64 %2706, 0
  br i1 %2707, label %2708, label %2714

2708:                                             ; preds = %2690
  %2709 = load ptr, ptr %2, align 8, !tbaa !5
  %2710 = getelementptr inbounds %struct.PDP6, ptr %2709, i32 0, i32 58
  store i8 1, ptr %2710, align 1, !tbaa !76
  %2711 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2711)
  %2712 = load ptr, ptr %2, align 8, !tbaa !5
  %2713 = getelementptr inbounds %struct.PDP6, ptr %2712, i32 0, i32 58
  store i8 0, ptr %2713, align 1, !tbaa !76
  br label %2714

2714:                                             ; preds = %2708, %2690
  %2715 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2715, ptr noundef @.str.65)
  %2716 = load i64, ptr @simtime, align 8, !tbaa !15
  %2717 = add i64 %2716, 100
  store i64 %2717, ptr @simtime, align 8, !tbaa !15
  %2718 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2718, ptr noundef @.str.122)
  %2719 = load ptr, ptr %2, align 8, !tbaa !5
  %2720 = getelementptr inbounds %struct.PDP6, ptr %2719, i32 0, i32 126
  %2721 = load i8, ptr %2720, align 1, !tbaa !66, !range !20, !noundef !21
  %2722 = trunc i8 %2721 to i1
  br i1 %2722, label %2730, label %2723

2723:                                             ; preds = %2714
  %2724 = load ptr, ptr %2, align 8, !tbaa !5
  %2725 = getelementptr inbounds %struct.PDP6, ptr %2724, i32 0, i32 127
  %2726 = load i8, ptr %2725, align 2, !tbaa !67, !range !20, !noundef !21
  %2727 = trunc i8 %2726 to i1
  br i1 %2727, label %2728, label %2730

2728:                                             ; preds = %2723
  %2729 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2729)
  br label %2730

2730:                                             ; preds = %2728, %2723, %2714
  br label %17859

2731:                                             ; preds = %17
  %2732 = load ptr, ptr %2, align 8, !tbaa !5
  %2733 = getelementptr inbounds %struct.PDP6, ptr %2732, i32 0, i32 28
  %2734 = load i64, ptr %2733, align 8, !tbaa !34
  %2735 = load ptr, ptr %2, align 8, !tbaa !5
  %2736 = getelementptr inbounds %struct.PDP6, ptr %2735, i32 0, i32 31
  store i64 %2734, ptr %2736, align 8, !tbaa !39
  %2737 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2737, ptr noundef @.str.41)
  %2738 = load i64, ptr @simtime, align 8, !tbaa !15
  %2739 = add i64 %2738, 100
  store i64 %2739, ptr @simtime, align 8, !tbaa !15
  %2740 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2740, ptr noundef @.str.42)
  %2741 = load i64, ptr @simtime, align 8, !tbaa !15
  %2742 = add i64 %2741, 100
  store i64 %2742, ptr @simtime, align 8, !tbaa !15
  %2743 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2743, ptr noundef @.str.43)
  %2744 = load ptr, ptr %2, align 8, !tbaa !5
  %2745 = getelementptr inbounds %struct.PDP6, ptr %2744, i32 0, i32 28
  %2746 = load i64, ptr %2745, align 8, !tbaa !34
  %2747 = and i64 %2746, 34359738368
  %2748 = icmp ne i64 %2747, 0
  br i1 %2748, label %2749, label %2755

2749:                                             ; preds = %2731
  %2750 = load ptr, ptr %2, align 8, !tbaa !5
  %2751 = getelementptr inbounds %struct.PDP6, ptr %2750, i32 0, i32 58
  store i8 1, ptr %2751, align 1, !tbaa !76
  %2752 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2752)
  %2753 = load ptr, ptr %2, align 8, !tbaa !5
  %2754 = getelementptr inbounds %struct.PDP6, ptr %2753, i32 0, i32 58
  store i8 0, ptr %2754, align 1, !tbaa !76
  br label %2755

2755:                                             ; preds = %2749, %2731
  %2756 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2756, ptr noundef @.str.65)
  %2757 = load i64, ptr @simtime, align 8, !tbaa !15
  %2758 = add i64 %2757, 100
  store i64 %2758, ptr @simtime, align 8, !tbaa !15
  %2759 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2759, ptr noundef @.str.122)
  %2760 = load ptr, ptr %2, align 8, !tbaa !5
  %2761 = getelementptr inbounds %struct.PDP6, ptr %2760, i32 0, i32 126
  %2762 = load i8, ptr %2761, align 1, !tbaa !66, !range !20, !noundef !21
  %2763 = trunc i8 %2762 to i1
  br i1 %2763, label %2771, label %2764

2764:                                             ; preds = %2755
  %2765 = load ptr, ptr %2, align 8, !tbaa !5
  %2766 = getelementptr inbounds %struct.PDP6, ptr %2765, i32 0, i32 127
  %2767 = load i8, ptr %2766, align 2, !tbaa !67, !range !20, !noundef !21
  %2768 = trunc i8 %2767 to i1
  br i1 %2768, label %2769, label %2771

2769:                                             ; preds = %2764
  %2770 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2770)
  br label %2771

2771:                                             ; preds = %2769, %2764, %2755
  br label %17859

2772:                                             ; preds = %17
  %2773 = load ptr, ptr %2, align 8, !tbaa !5
  %2774 = getelementptr inbounds %struct.PDP6, ptr %2773, i32 0, i32 28
  %2775 = load i64, ptr %2774, align 8, !tbaa !34
  %2776 = load ptr, ptr %2, align 8, !tbaa !5
  %2777 = getelementptr inbounds %struct.PDP6, ptr %2776, i32 0, i32 31
  store i64 %2775, ptr %2777, align 8, !tbaa !39
  %2778 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2778, ptr noundef @.str.41)
  %2779 = load i64, ptr @simtime, align 8, !tbaa !15
  %2780 = add i64 %2779, 100
  store i64 %2780, ptr @simtime, align 8, !tbaa !15
  %2781 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2781, ptr noundef @.str.42)
  %2782 = load i64, ptr @simtime, align 8, !tbaa !15
  %2783 = add i64 %2782, 100
  store i64 %2783, ptr @simtime, align 8, !tbaa !15
  %2784 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2784, ptr noundef @.str.43)
  %2785 = load ptr, ptr %2, align 8, !tbaa !5
  %2786 = getelementptr inbounds %struct.PDP6, ptr %2785, i32 0, i32 28
  %2787 = load i64, ptr %2786, align 8, !tbaa !34
  %2788 = and i64 %2787, 34359738368
  %2789 = icmp ne i64 %2788, 0
  br i1 %2789, label %2790, label %2796

2790:                                             ; preds = %2772
  %2791 = load ptr, ptr %2, align 8, !tbaa !5
  %2792 = getelementptr inbounds %struct.PDP6, ptr %2791, i32 0, i32 58
  store i8 1, ptr %2792, align 1, !tbaa !76
  %2793 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2793)
  %2794 = load ptr, ptr %2, align 8, !tbaa !5
  %2795 = getelementptr inbounds %struct.PDP6, ptr %2794, i32 0, i32 58
  store i8 0, ptr %2795, align 1, !tbaa !76
  br label %2796

2796:                                             ; preds = %2790, %2772
  %2797 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2797, ptr noundef @.str.65)
  %2798 = load i64, ptr @simtime, align 8, !tbaa !15
  %2799 = add i64 %2798, 100
  store i64 %2799, ptr @simtime, align 8, !tbaa !15
  %2800 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2800, ptr noundef @.str.122)
  %2801 = load ptr, ptr %2, align 8, !tbaa !5
  %2802 = getelementptr inbounds %struct.PDP6, ptr %2801, i32 0, i32 126
  %2803 = load i8, ptr %2802, align 1, !tbaa !66, !range !20, !noundef !21
  %2804 = trunc i8 %2803 to i1
  br i1 %2804, label %2812, label %2805

2805:                                             ; preds = %2796
  %2806 = load ptr, ptr %2, align 8, !tbaa !5
  %2807 = getelementptr inbounds %struct.PDP6, ptr %2806, i32 0, i32 127
  %2808 = load i8, ptr %2807, align 2, !tbaa !67, !range !20, !noundef !21
  %2809 = trunc i8 %2808 to i1
  br i1 %2809, label %2810, label %2812

2810:                                             ; preds = %2805
  %2811 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2811)
  br label %2812

2812:                                             ; preds = %2810, %2805, %2796
  %2813 = load ptr, ptr %2, align 8, !tbaa !5
  %2814 = getelementptr inbounds %struct.PDP6, ptr %2813, i32 0, i32 28
  %2815 = load i64, ptr %2814, align 8, !tbaa !34
  %2816 = load ptr, ptr %2, align 8, !tbaa !5
  %2817 = getelementptr inbounds %struct.PDP6, ptr %2816, i32 0, i32 31
  store i64 %2815, ptr %2817, align 8, !tbaa !39
  br label %17859

2818:                                             ; preds = %17
  %2819 = load ptr, ptr %2, align 8, !tbaa !5
  %2820 = getelementptr inbounds %struct.PDP6, ptr %2819, i32 0, i32 31
  %2821 = load i64, ptr %2820, align 8, !tbaa !39
  %2822 = load ptr, ptr %2, align 8, !tbaa !5
  %2823 = getelementptr inbounds %struct.PDP6, ptr %2822, i32 0, i32 28
  store i64 %2821, ptr %2823, align 8, !tbaa !34
  %2824 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2824, ptr noundef @.str.41)
  %2825 = load i64, ptr @simtime, align 8, !tbaa !15
  %2826 = add i64 %2825, 100
  store i64 %2826, ptr @simtime, align 8, !tbaa !15
  %2827 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2827, ptr noundef @.str.42)
  %2828 = load i64, ptr @simtime, align 8, !tbaa !15
  %2829 = add i64 %2828, 100
  store i64 %2829, ptr @simtime, align 8, !tbaa !15
  %2830 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2830, ptr noundef @.str.43)
  %2831 = load ptr, ptr %2, align 8, !tbaa !5
  %2832 = getelementptr inbounds %struct.PDP6, ptr %2831, i32 0, i32 28
  %2833 = load i64, ptr %2832, align 8, !tbaa !34
  %2834 = and i64 %2833, 34359738368
  %2835 = icmp ne i64 %2834, 0
  br i1 %2835, label %2836, label %2842

2836:                                             ; preds = %2818
  %2837 = load ptr, ptr %2, align 8, !tbaa !5
  %2838 = getelementptr inbounds %struct.PDP6, ptr %2837, i32 0, i32 58
  store i8 1, ptr %2838, align 1, !tbaa !76
  %2839 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_negate(ptr noundef %2839)
  %2840 = load ptr, ptr %2, align 8, !tbaa !5
  %2841 = getelementptr inbounds %struct.PDP6, ptr %2840, i32 0, i32 58
  store i8 0, ptr %2841, align 1, !tbaa !76
  br label %2842

2842:                                             ; preds = %2836, %2818
  %2843 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2843, ptr noundef @.str.65)
  %2844 = load i64, ptr @simtime, align 8, !tbaa !15
  %2845 = add i64 %2844, 100
  store i64 %2845, ptr @simtime, align 8, !tbaa !15
  %2846 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2846, ptr noundef @.str.122)
  %2847 = load ptr, ptr %2, align 8, !tbaa !5
  %2848 = getelementptr inbounds %struct.PDP6, ptr %2847, i32 0, i32 126
  %2849 = load i8, ptr %2848, align 1, !tbaa !66, !range !20, !noundef !21
  %2850 = trunc i8 %2849 to i1
  br i1 %2850, label %2858, label %2851

2851:                                             ; preds = %2842
  %2852 = load ptr, ptr %2, align 8, !tbaa !5
  %2853 = getelementptr inbounds %struct.PDP6, ptr %2852, i32 0, i32 127
  %2854 = load i8, ptr %2853, align 2, !tbaa !67, !range !20, !noundef !21
  %2855 = trunc i8 %2854 to i1
  br i1 %2855, label %2856, label %2858

2856:                                             ; preds = %2851
  %2857 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov(ptr noundef %2857)
  br label %2858

2858:                                             ; preds = %2856, %2851, %2842
  %2859 = load ptr, ptr %2, align 8, !tbaa !5
  %2860 = getelementptr inbounds %struct.PDP6, ptr %2859, i32 0, i32 28
  %2861 = load i64, ptr %2860, align 8, !tbaa !34
  %2862 = load ptr, ptr %2, align 8, !tbaa !5
  %2863 = getelementptr inbounds %struct.PDP6, ptr %2862, i32 0, i32 31
  store i64 %2861, ptr %2863, align 8, !tbaa !39
  br label %17859

2864:                                             ; preds = %17
  %2865 = load ptr, ptr %2, align 8, !tbaa !5
  %2866 = getelementptr inbounds %struct.PDP6, ptr %2865, i32 0, i32 31
  %2867 = load i64, ptr %2866, align 8, !tbaa !39
  %2868 = and i64 %2867, 131072
  %2869 = icmp ne i64 %2868, 0
  br i1 %2869, label %2870, label %2871

2870:                                             ; preds = %2864
  br label %2906

2871:                                             ; preds = %2864
  %2872 = load ptr, ptr %2, align 8, !tbaa !5
  %2873 = getelementptr inbounds %struct.PDP6, ptr %2872, i32 0, i32 31
  %2874 = load i64, ptr %2873, align 8, !tbaa !39
  %2875 = xor i64 %2874, -1
  %2876 = lshr i64 %2875, 9
  %2877 = and i64 %2876, 256
  %2878 = load ptr, ptr %2, align 8, !tbaa !5
  %2879 = getelementptr inbounds %struct.PDP6, ptr %2878, i32 0, i32 31
  %2880 = load i64, ptr %2879, align 8, !tbaa !39
  %2881 = xor i64 %2880, -1
  %2882 = and i64 %2881, 255
  %2883 = or i64 %2877, %2882
  %2884 = load ptr, ptr %2, align 8, !tbaa !5
  %2885 = getelementptr inbounds %struct.PDP6, ptr %2884, i32 0, i32 39
  %2886 = load i32, ptr %2885, align 4, !tbaa !70
  %2887 = zext i32 %2886 to i64
  %2888 = or i64 %2887, %2883
  %2889 = trunc i64 %2888 to i32
  store i32 %2889, ptr %2885, align 4, !tbaa !70
  %2890 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2890, ptr noundef @.str.41)
  %2891 = load i64, ptr @simtime, align 8, !tbaa !15
  %2892 = add i64 %2891, 100
  store i64 %2892, ptr @simtime, align 8, !tbaa !15
  %2893 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2893, ptr noundef @.str.42)
  %2894 = load i64, ptr @simtime, align 8, !tbaa !15
  %2895 = add i64 %2894, 100
  store i64 %2895, ptr @simtime, align 8, !tbaa !15
  %2896 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2896, ptr noundef @.str.43)
  %2897 = load i64, ptr @simtime, align 8, !tbaa !15
  %2898 = add i64 %2897, 100
  store i64 %2898, ptr @simtime, align 8, !tbaa !15
  %2899 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2899, ptr noundef @.str.123)
  %2900 = load ptr, ptr %2, align 8, !tbaa !5
  %2901 = getelementptr inbounds %struct.PDP6, ptr %2900, i32 0, i32 73
  store i8 1, ptr %2901, align 8, !tbaa !101
  %2902 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %2902, ptr noundef @ashlt)
  %2903 = load ptr, ptr %2, align 8, !tbaa !5
  %2904 = getelementptr inbounds %struct.PDP6, ptr %2903, i32 0, i32 73
  store i8 0, ptr %2904, align 8, !tbaa !101
  %2905 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2905, ptr noundef @.str.124)
  br label %17859

2906:                                             ; preds = %2870
  %2907 = load ptr, ptr %2, align 8, !tbaa !5
  %2908 = getelementptr inbounds %struct.PDP6, ptr %2907, i32 0, i32 31
  %2909 = load i64, ptr %2908, align 8, !tbaa !39
  %2910 = xor i64 %2909, -1
  %2911 = lshr i64 %2910, 9
  %2912 = and i64 %2911, 256
  %2913 = load ptr, ptr %2, align 8, !tbaa !5
  %2914 = getelementptr inbounds %struct.PDP6, ptr %2913, i32 0, i32 31
  %2915 = load i64, ptr %2914, align 8, !tbaa !39
  %2916 = xor i64 %2915, -1
  %2917 = and i64 %2916, 255
  %2918 = or i64 %2912, %2917
  %2919 = load ptr, ptr %2, align 8, !tbaa !5
  %2920 = getelementptr inbounds %struct.PDP6, ptr %2919, i32 0, i32 39
  %2921 = load i32, ptr %2920, align 4, !tbaa !70
  %2922 = zext i32 %2921 to i64
  %2923 = or i64 %2922, %2918
  %2924 = trunc i64 %2923 to i32
  store i32 %2924, ptr %2920, align 4, !tbaa !70
  %2925 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2925, ptr noundef @.str.41)
  %2926 = load i64, ptr @simtime, align 8, !tbaa !15
  %2927 = add i64 %2926, 100
  store i64 %2927, ptr @simtime, align 8, !tbaa !15
  %2928 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2928, ptr noundef @.str.42)
  %2929 = load ptr, ptr %2, align 8, !tbaa !5
  %2930 = getelementptr inbounds %struct.PDP6, ptr %2929, i32 0, i32 39
  %2931 = load i32, ptr %2930, align 4, !tbaa !70
  %2932 = add i32 %2931, 1
  %2933 = and i32 %2932, 511
  %2934 = load ptr, ptr %2, align 8, !tbaa !5
  %2935 = getelementptr inbounds %struct.PDP6, ptr %2934, i32 0, i32 39
  store i32 %2933, ptr %2935, align 4, !tbaa !70
  %2936 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2936, ptr noundef @.str.123)
  %2937 = load i64, ptr @simtime, align 8, !tbaa !15
  %2938 = add i64 %2937, 100
  store i64 %2938, ptr @simtime, align 8, !tbaa !15
  %2939 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2939, ptr noundef @.str.43)
  %2940 = load i64, ptr @simtime, align 8, !tbaa !15
  %2941 = add i64 %2940, 100
  store i64 %2941, ptr @simtime, align 8, !tbaa !15
  %2942 = load ptr, ptr %2, align 8, !tbaa !5
  %2943 = getelementptr inbounds %struct.PDP6, ptr %2942, i32 0, i32 39
  %2944 = load i32, ptr %2943, align 4, !tbaa !70
  %2945 = xor i32 %2944, 511
  store i32 %2945, ptr %2943, align 4, !tbaa !70
  %2946 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2946, ptr noundef @.str.123)
  %2947 = load ptr, ptr %2, align 8, !tbaa !5
  %2948 = getelementptr inbounds %struct.PDP6, ptr %2947, i32 0, i32 73
  store i8 1, ptr %2948, align 8, !tbaa !101
  %2949 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %2949, ptr noundef @ashrt)
  %2950 = load ptr, ptr %2, align 8, !tbaa !5
  %2951 = getelementptr inbounds %struct.PDP6, ptr %2950, i32 0, i32 73
  store i8 0, ptr %2951, align 8, !tbaa !101
  %2952 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2952, ptr noundef @.str.124)
  br label %17859

2953:                                             ; preds = %17
  %2954 = load ptr, ptr %2, align 8, !tbaa !5
  %2955 = getelementptr inbounds %struct.PDP6, ptr %2954, i32 0, i32 31
  %2956 = load i64, ptr %2955, align 8, !tbaa !39
  %2957 = and i64 %2956, 131072
  %2958 = icmp ne i64 %2957, 0
  br i1 %2958, label %2959, label %2960

2959:                                             ; preds = %2953
  br label %2995

2960:                                             ; preds = %2953
  %2961 = load ptr, ptr %2, align 8, !tbaa !5
  %2962 = getelementptr inbounds %struct.PDP6, ptr %2961, i32 0, i32 31
  %2963 = load i64, ptr %2962, align 8, !tbaa !39
  %2964 = xor i64 %2963, -1
  %2965 = lshr i64 %2964, 9
  %2966 = and i64 %2965, 256
  %2967 = load ptr, ptr %2, align 8, !tbaa !5
  %2968 = getelementptr inbounds %struct.PDP6, ptr %2967, i32 0, i32 31
  %2969 = load i64, ptr %2968, align 8, !tbaa !39
  %2970 = xor i64 %2969, -1
  %2971 = and i64 %2970, 255
  %2972 = or i64 %2966, %2971
  %2973 = load ptr, ptr %2, align 8, !tbaa !5
  %2974 = getelementptr inbounds %struct.PDP6, ptr %2973, i32 0, i32 39
  %2975 = load i32, ptr %2974, align 4, !tbaa !70
  %2976 = zext i32 %2975 to i64
  %2977 = or i64 %2976, %2972
  %2978 = trunc i64 %2977 to i32
  store i32 %2978, ptr %2974, align 4, !tbaa !70
  %2979 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2979, ptr noundef @.str.41)
  %2980 = load i64, ptr @simtime, align 8, !tbaa !15
  %2981 = add i64 %2980, 100
  store i64 %2981, ptr @simtime, align 8, !tbaa !15
  %2982 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2982, ptr noundef @.str.42)
  %2983 = load i64, ptr @simtime, align 8, !tbaa !15
  %2984 = add i64 %2983, 100
  store i64 %2984, ptr @simtime, align 8, !tbaa !15
  %2985 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2985, ptr noundef @.str.43)
  %2986 = load i64, ptr @simtime, align 8, !tbaa !15
  %2987 = add i64 %2986, 100
  store i64 %2987, ptr @simtime, align 8, !tbaa !15
  %2988 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2988, ptr noundef @.str.123)
  %2989 = load ptr, ptr %2, align 8, !tbaa !5
  %2990 = getelementptr inbounds %struct.PDP6, ptr %2989, i32 0, i32 73
  store i8 1, ptr %2990, align 8, !tbaa !101
  %2991 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %2991, ptr noundef @rotlt)
  %2992 = load ptr, ptr %2, align 8, !tbaa !5
  %2993 = getelementptr inbounds %struct.PDP6, ptr %2992, i32 0, i32 73
  store i8 0, ptr %2993, align 8, !tbaa !101
  %2994 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %2994, ptr noundef @.str.124)
  br label %17859

2995:                                             ; preds = %2959
  %2996 = load ptr, ptr %2, align 8, !tbaa !5
  %2997 = getelementptr inbounds %struct.PDP6, ptr %2996, i32 0, i32 31
  %2998 = load i64, ptr %2997, align 8, !tbaa !39
  %2999 = xor i64 %2998, -1
  %3000 = lshr i64 %2999, 9
  %3001 = and i64 %3000, 256
  %3002 = load ptr, ptr %2, align 8, !tbaa !5
  %3003 = getelementptr inbounds %struct.PDP6, ptr %3002, i32 0, i32 31
  %3004 = load i64, ptr %3003, align 8, !tbaa !39
  %3005 = xor i64 %3004, -1
  %3006 = and i64 %3005, 255
  %3007 = or i64 %3001, %3006
  %3008 = load ptr, ptr %2, align 8, !tbaa !5
  %3009 = getelementptr inbounds %struct.PDP6, ptr %3008, i32 0, i32 39
  %3010 = load i32, ptr %3009, align 4, !tbaa !70
  %3011 = zext i32 %3010 to i64
  %3012 = or i64 %3011, %3007
  %3013 = trunc i64 %3012 to i32
  store i32 %3013, ptr %3009, align 4, !tbaa !70
  %3014 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3014, ptr noundef @.str.41)
  %3015 = load i64, ptr @simtime, align 8, !tbaa !15
  %3016 = add i64 %3015, 100
  store i64 %3016, ptr @simtime, align 8, !tbaa !15
  %3017 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3017, ptr noundef @.str.42)
  %3018 = load ptr, ptr %2, align 8, !tbaa !5
  %3019 = getelementptr inbounds %struct.PDP6, ptr %3018, i32 0, i32 39
  %3020 = load i32, ptr %3019, align 4, !tbaa !70
  %3021 = add i32 %3020, 1
  %3022 = and i32 %3021, 511
  %3023 = load ptr, ptr %2, align 8, !tbaa !5
  %3024 = getelementptr inbounds %struct.PDP6, ptr %3023, i32 0, i32 39
  store i32 %3022, ptr %3024, align 4, !tbaa !70
  %3025 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3025, ptr noundef @.str.123)
  %3026 = load i64, ptr @simtime, align 8, !tbaa !15
  %3027 = add i64 %3026, 100
  store i64 %3027, ptr @simtime, align 8, !tbaa !15
  %3028 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3028, ptr noundef @.str.43)
  %3029 = load i64, ptr @simtime, align 8, !tbaa !15
  %3030 = add i64 %3029, 100
  store i64 %3030, ptr @simtime, align 8, !tbaa !15
  %3031 = load ptr, ptr %2, align 8, !tbaa !5
  %3032 = getelementptr inbounds %struct.PDP6, ptr %3031, i32 0, i32 39
  %3033 = load i32, ptr %3032, align 4, !tbaa !70
  %3034 = xor i32 %3033, 511
  store i32 %3034, ptr %3032, align 4, !tbaa !70
  %3035 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3035, ptr noundef @.str.123)
  %3036 = load ptr, ptr %2, align 8, !tbaa !5
  %3037 = getelementptr inbounds %struct.PDP6, ptr %3036, i32 0, i32 73
  store i8 1, ptr %3037, align 8, !tbaa !101
  %3038 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %3038, ptr noundef @rotrt)
  %3039 = load ptr, ptr %2, align 8, !tbaa !5
  %3040 = getelementptr inbounds %struct.PDP6, ptr %3039, i32 0, i32 73
  store i8 0, ptr %3040, align 8, !tbaa !101
  %3041 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3041, ptr noundef @.str.124)
  br label %17859

3042:                                             ; preds = %17
  %3043 = load ptr, ptr %2, align 8, !tbaa !5
  %3044 = getelementptr inbounds %struct.PDP6, ptr %3043, i32 0, i32 31
  %3045 = load i64, ptr %3044, align 8, !tbaa !39
  %3046 = and i64 %3045, 131072
  %3047 = icmp ne i64 %3046, 0
  br i1 %3047, label %3048, label %3049

3048:                                             ; preds = %3042
  br label %3084

3049:                                             ; preds = %3042
  %3050 = load ptr, ptr %2, align 8, !tbaa !5
  %3051 = getelementptr inbounds %struct.PDP6, ptr %3050, i32 0, i32 31
  %3052 = load i64, ptr %3051, align 8, !tbaa !39
  %3053 = xor i64 %3052, -1
  %3054 = lshr i64 %3053, 9
  %3055 = and i64 %3054, 256
  %3056 = load ptr, ptr %2, align 8, !tbaa !5
  %3057 = getelementptr inbounds %struct.PDP6, ptr %3056, i32 0, i32 31
  %3058 = load i64, ptr %3057, align 8, !tbaa !39
  %3059 = xor i64 %3058, -1
  %3060 = and i64 %3059, 255
  %3061 = or i64 %3055, %3060
  %3062 = load ptr, ptr %2, align 8, !tbaa !5
  %3063 = getelementptr inbounds %struct.PDP6, ptr %3062, i32 0, i32 39
  %3064 = load i32, ptr %3063, align 4, !tbaa !70
  %3065 = zext i32 %3064 to i64
  %3066 = or i64 %3065, %3061
  %3067 = trunc i64 %3066 to i32
  store i32 %3067, ptr %3063, align 4, !tbaa !70
  %3068 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3068, ptr noundef @.str.41)
  %3069 = load i64, ptr @simtime, align 8, !tbaa !15
  %3070 = add i64 %3069, 100
  store i64 %3070, ptr @simtime, align 8, !tbaa !15
  %3071 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3071, ptr noundef @.str.42)
  %3072 = load i64, ptr @simtime, align 8, !tbaa !15
  %3073 = add i64 %3072, 100
  store i64 %3073, ptr @simtime, align 8, !tbaa !15
  %3074 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3074, ptr noundef @.str.43)
  %3075 = load i64, ptr @simtime, align 8, !tbaa !15
  %3076 = add i64 %3075, 100
  store i64 %3076, ptr @simtime, align 8, !tbaa !15
  %3077 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3077, ptr noundef @.str.123)
  %3078 = load ptr, ptr %2, align 8, !tbaa !5
  %3079 = getelementptr inbounds %struct.PDP6, ptr %3078, i32 0, i32 73
  store i8 1, ptr %3079, align 8, !tbaa !101
  %3080 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %3080, ptr noundef @lshlt)
  %3081 = load ptr, ptr %2, align 8, !tbaa !5
  %3082 = getelementptr inbounds %struct.PDP6, ptr %3081, i32 0, i32 73
  store i8 0, ptr %3082, align 8, !tbaa !101
  %3083 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3083, ptr noundef @.str.124)
  br label %17859

3084:                                             ; preds = %3048
  %3085 = load ptr, ptr %2, align 8, !tbaa !5
  %3086 = getelementptr inbounds %struct.PDP6, ptr %3085, i32 0, i32 31
  %3087 = load i64, ptr %3086, align 8, !tbaa !39
  %3088 = xor i64 %3087, -1
  %3089 = lshr i64 %3088, 9
  %3090 = and i64 %3089, 256
  %3091 = load ptr, ptr %2, align 8, !tbaa !5
  %3092 = getelementptr inbounds %struct.PDP6, ptr %3091, i32 0, i32 31
  %3093 = load i64, ptr %3092, align 8, !tbaa !39
  %3094 = xor i64 %3093, -1
  %3095 = and i64 %3094, 255
  %3096 = or i64 %3090, %3095
  %3097 = load ptr, ptr %2, align 8, !tbaa !5
  %3098 = getelementptr inbounds %struct.PDP6, ptr %3097, i32 0, i32 39
  %3099 = load i32, ptr %3098, align 4, !tbaa !70
  %3100 = zext i32 %3099 to i64
  %3101 = or i64 %3100, %3096
  %3102 = trunc i64 %3101 to i32
  store i32 %3102, ptr %3098, align 4, !tbaa !70
  %3103 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3103, ptr noundef @.str.41)
  %3104 = load i64, ptr @simtime, align 8, !tbaa !15
  %3105 = add i64 %3104, 100
  store i64 %3105, ptr @simtime, align 8, !tbaa !15
  %3106 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3106, ptr noundef @.str.42)
  %3107 = load ptr, ptr %2, align 8, !tbaa !5
  %3108 = getelementptr inbounds %struct.PDP6, ptr %3107, i32 0, i32 39
  %3109 = load i32, ptr %3108, align 4, !tbaa !70
  %3110 = add i32 %3109, 1
  %3111 = and i32 %3110, 511
  %3112 = load ptr, ptr %2, align 8, !tbaa !5
  %3113 = getelementptr inbounds %struct.PDP6, ptr %3112, i32 0, i32 39
  store i32 %3111, ptr %3113, align 4, !tbaa !70
  %3114 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3114, ptr noundef @.str.123)
  %3115 = load i64, ptr @simtime, align 8, !tbaa !15
  %3116 = add i64 %3115, 100
  store i64 %3116, ptr @simtime, align 8, !tbaa !15
  %3117 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3117, ptr noundef @.str.43)
  %3118 = load i64, ptr @simtime, align 8, !tbaa !15
  %3119 = add i64 %3118, 100
  store i64 %3119, ptr @simtime, align 8, !tbaa !15
  %3120 = load ptr, ptr %2, align 8, !tbaa !5
  %3121 = getelementptr inbounds %struct.PDP6, ptr %3120, i32 0, i32 39
  %3122 = load i32, ptr %3121, align 4, !tbaa !70
  %3123 = xor i32 %3122, 511
  store i32 %3123, ptr %3121, align 4, !tbaa !70
  %3124 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3124, ptr noundef @.str.123)
  %3125 = load ptr, ptr %2, align 8, !tbaa !5
  %3126 = getelementptr inbounds %struct.PDP6, ptr %3125, i32 0, i32 73
  store i8 1, ptr %3126, align 8, !tbaa !101
  %3127 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %3127, ptr noundef @lshrt)
  %3128 = load ptr, ptr %2, align 8, !tbaa !5
  %3129 = getelementptr inbounds %struct.PDP6, ptr %3128, i32 0, i32 73
  store i8 0, ptr %3129, align 8, !tbaa !101
  %3130 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3130, ptr noundef @.str.124)
  br label %17859

3131:                                             ; preds = %17
  %3132 = load ptr, ptr %2, align 8, !tbaa !5
  %3133 = getelementptr inbounds %struct.PDP6, ptr %3132, i32 0, i32 31
  %3134 = load i64, ptr %3133, align 8, !tbaa !39
  %3135 = and i64 %3134, 131072
  %3136 = icmp ne i64 %3135, 0
  br i1 %3136, label %3137, label %3138

3137:                                             ; preds = %3131
  br label %3173

3138:                                             ; preds = %3131
  %3139 = load ptr, ptr %2, align 8, !tbaa !5
  %3140 = getelementptr inbounds %struct.PDP6, ptr %3139, i32 0, i32 31
  %3141 = load i64, ptr %3140, align 8, !tbaa !39
  %3142 = xor i64 %3141, -1
  %3143 = lshr i64 %3142, 9
  %3144 = and i64 %3143, 256
  %3145 = load ptr, ptr %2, align 8, !tbaa !5
  %3146 = getelementptr inbounds %struct.PDP6, ptr %3145, i32 0, i32 31
  %3147 = load i64, ptr %3146, align 8, !tbaa !39
  %3148 = xor i64 %3147, -1
  %3149 = and i64 %3148, 255
  %3150 = or i64 %3144, %3149
  %3151 = load ptr, ptr %2, align 8, !tbaa !5
  %3152 = getelementptr inbounds %struct.PDP6, ptr %3151, i32 0, i32 39
  %3153 = load i32, ptr %3152, align 4, !tbaa !70
  %3154 = zext i32 %3153 to i64
  %3155 = or i64 %3154, %3150
  %3156 = trunc i64 %3155 to i32
  store i32 %3156, ptr %3152, align 4, !tbaa !70
  %3157 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3157, ptr noundef @.str.41)
  %3158 = load i64, ptr @simtime, align 8, !tbaa !15
  %3159 = add i64 %3158, 100
  store i64 %3159, ptr @simtime, align 8, !tbaa !15
  %3160 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3160, ptr noundef @.str.42)
  %3161 = load i64, ptr @simtime, align 8, !tbaa !15
  %3162 = add i64 %3161, 100
  store i64 %3162, ptr @simtime, align 8, !tbaa !15
  %3163 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3163, ptr noundef @.str.43)
  %3164 = load i64, ptr @simtime, align 8, !tbaa !15
  %3165 = add i64 %3164, 100
  store i64 %3165, ptr @simtime, align 8, !tbaa !15
  %3166 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3166, ptr noundef @.str.123)
  %3167 = load ptr, ptr %2, align 8, !tbaa !5
  %3168 = getelementptr inbounds %struct.PDP6, ptr %3167, i32 0, i32 73
  store i8 1, ptr %3168, align 8, !tbaa !101
  %3169 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %3169, ptr noundef @ashclt)
  %3170 = load ptr, ptr %2, align 8, !tbaa !5
  %3171 = getelementptr inbounds %struct.PDP6, ptr %3170, i32 0, i32 73
  store i8 0, ptr %3171, align 8, !tbaa !101
  %3172 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3172, ptr noundef @.str.124)
  br label %17859

3173:                                             ; preds = %3137
  %3174 = load ptr, ptr %2, align 8, !tbaa !5
  %3175 = getelementptr inbounds %struct.PDP6, ptr %3174, i32 0, i32 31
  %3176 = load i64, ptr %3175, align 8, !tbaa !39
  %3177 = xor i64 %3176, -1
  %3178 = lshr i64 %3177, 9
  %3179 = and i64 %3178, 256
  %3180 = load ptr, ptr %2, align 8, !tbaa !5
  %3181 = getelementptr inbounds %struct.PDP6, ptr %3180, i32 0, i32 31
  %3182 = load i64, ptr %3181, align 8, !tbaa !39
  %3183 = xor i64 %3182, -1
  %3184 = and i64 %3183, 255
  %3185 = or i64 %3179, %3184
  %3186 = load ptr, ptr %2, align 8, !tbaa !5
  %3187 = getelementptr inbounds %struct.PDP6, ptr %3186, i32 0, i32 39
  %3188 = load i32, ptr %3187, align 4, !tbaa !70
  %3189 = zext i32 %3188 to i64
  %3190 = or i64 %3189, %3185
  %3191 = trunc i64 %3190 to i32
  store i32 %3191, ptr %3187, align 4, !tbaa !70
  %3192 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3192, ptr noundef @.str.41)
  %3193 = load i64, ptr @simtime, align 8, !tbaa !15
  %3194 = add i64 %3193, 100
  store i64 %3194, ptr @simtime, align 8, !tbaa !15
  %3195 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3195, ptr noundef @.str.42)
  %3196 = load ptr, ptr %2, align 8, !tbaa !5
  %3197 = getelementptr inbounds %struct.PDP6, ptr %3196, i32 0, i32 39
  %3198 = load i32, ptr %3197, align 4, !tbaa !70
  %3199 = add i32 %3198, 1
  %3200 = and i32 %3199, 511
  %3201 = load ptr, ptr %2, align 8, !tbaa !5
  %3202 = getelementptr inbounds %struct.PDP6, ptr %3201, i32 0, i32 39
  store i32 %3200, ptr %3202, align 4, !tbaa !70
  %3203 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3203, ptr noundef @.str.123)
  %3204 = load i64, ptr @simtime, align 8, !tbaa !15
  %3205 = add i64 %3204, 100
  store i64 %3205, ptr @simtime, align 8, !tbaa !15
  %3206 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3206, ptr noundef @.str.43)
  %3207 = load i64, ptr @simtime, align 8, !tbaa !15
  %3208 = add i64 %3207, 100
  store i64 %3208, ptr @simtime, align 8, !tbaa !15
  %3209 = load ptr, ptr %2, align 8, !tbaa !5
  %3210 = getelementptr inbounds %struct.PDP6, ptr %3209, i32 0, i32 39
  %3211 = load i32, ptr %3210, align 4, !tbaa !70
  %3212 = xor i32 %3211, 511
  store i32 %3212, ptr %3210, align 4, !tbaa !70
  %3213 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3213, ptr noundef @.str.123)
  %3214 = load ptr, ptr %2, align 8, !tbaa !5
  %3215 = getelementptr inbounds %struct.PDP6, ptr %3214, i32 0, i32 73
  store i8 1, ptr %3215, align 8, !tbaa !101
  %3216 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %3216, ptr noundef @ashcrt)
  %3217 = load ptr, ptr %2, align 8, !tbaa !5
  %3218 = getelementptr inbounds %struct.PDP6, ptr %3217, i32 0, i32 73
  store i8 0, ptr %3218, align 8, !tbaa !101
  %3219 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3219, ptr noundef @.str.124)
  br label %17859

3220:                                             ; preds = %17
  %3221 = load ptr, ptr %2, align 8, !tbaa !5
  %3222 = getelementptr inbounds %struct.PDP6, ptr %3221, i32 0, i32 31
  %3223 = load i64, ptr %3222, align 8, !tbaa !39
  %3224 = and i64 %3223, 131072
  %3225 = icmp ne i64 %3224, 0
  br i1 %3225, label %3226, label %3227

3226:                                             ; preds = %3220
  br label %3262

3227:                                             ; preds = %3220
  %3228 = load ptr, ptr %2, align 8, !tbaa !5
  %3229 = getelementptr inbounds %struct.PDP6, ptr %3228, i32 0, i32 31
  %3230 = load i64, ptr %3229, align 8, !tbaa !39
  %3231 = xor i64 %3230, -1
  %3232 = lshr i64 %3231, 9
  %3233 = and i64 %3232, 256
  %3234 = load ptr, ptr %2, align 8, !tbaa !5
  %3235 = getelementptr inbounds %struct.PDP6, ptr %3234, i32 0, i32 31
  %3236 = load i64, ptr %3235, align 8, !tbaa !39
  %3237 = xor i64 %3236, -1
  %3238 = and i64 %3237, 255
  %3239 = or i64 %3233, %3238
  %3240 = load ptr, ptr %2, align 8, !tbaa !5
  %3241 = getelementptr inbounds %struct.PDP6, ptr %3240, i32 0, i32 39
  %3242 = load i32, ptr %3241, align 4, !tbaa !70
  %3243 = zext i32 %3242 to i64
  %3244 = or i64 %3243, %3239
  %3245 = trunc i64 %3244 to i32
  store i32 %3245, ptr %3241, align 4, !tbaa !70
  %3246 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3246, ptr noundef @.str.41)
  %3247 = load i64, ptr @simtime, align 8, !tbaa !15
  %3248 = add i64 %3247, 100
  store i64 %3248, ptr @simtime, align 8, !tbaa !15
  %3249 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3249, ptr noundef @.str.42)
  %3250 = load i64, ptr @simtime, align 8, !tbaa !15
  %3251 = add i64 %3250, 100
  store i64 %3251, ptr @simtime, align 8, !tbaa !15
  %3252 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3252, ptr noundef @.str.43)
  %3253 = load i64, ptr @simtime, align 8, !tbaa !15
  %3254 = add i64 %3253, 100
  store i64 %3254, ptr @simtime, align 8, !tbaa !15
  %3255 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3255, ptr noundef @.str.123)
  %3256 = load ptr, ptr %2, align 8, !tbaa !5
  %3257 = getelementptr inbounds %struct.PDP6, ptr %3256, i32 0, i32 73
  store i8 1, ptr %3257, align 8, !tbaa !101
  %3258 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %3258, ptr noundef @rotclt)
  %3259 = load ptr, ptr %2, align 8, !tbaa !5
  %3260 = getelementptr inbounds %struct.PDP6, ptr %3259, i32 0, i32 73
  store i8 0, ptr %3260, align 8, !tbaa !101
  %3261 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3261, ptr noundef @.str.124)
  br label %17859

3262:                                             ; preds = %3226
  %3263 = load ptr, ptr %2, align 8, !tbaa !5
  %3264 = getelementptr inbounds %struct.PDP6, ptr %3263, i32 0, i32 31
  %3265 = load i64, ptr %3264, align 8, !tbaa !39
  %3266 = xor i64 %3265, -1
  %3267 = lshr i64 %3266, 9
  %3268 = and i64 %3267, 256
  %3269 = load ptr, ptr %2, align 8, !tbaa !5
  %3270 = getelementptr inbounds %struct.PDP6, ptr %3269, i32 0, i32 31
  %3271 = load i64, ptr %3270, align 8, !tbaa !39
  %3272 = xor i64 %3271, -1
  %3273 = and i64 %3272, 255
  %3274 = or i64 %3268, %3273
  %3275 = load ptr, ptr %2, align 8, !tbaa !5
  %3276 = getelementptr inbounds %struct.PDP6, ptr %3275, i32 0, i32 39
  %3277 = load i32, ptr %3276, align 4, !tbaa !70
  %3278 = zext i32 %3277 to i64
  %3279 = or i64 %3278, %3274
  %3280 = trunc i64 %3279 to i32
  store i32 %3280, ptr %3276, align 4, !tbaa !70
  %3281 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3281, ptr noundef @.str.41)
  %3282 = load i64, ptr @simtime, align 8, !tbaa !15
  %3283 = add i64 %3282, 100
  store i64 %3283, ptr @simtime, align 8, !tbaa !15
  %3284 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3284, ptr noundef @.str.42)
  %3285 = load ptr, ptr %2, align 8, !tbaa !5
  %3286 = getelementptr inbounds %struct.PDP6, ptr %3285, i32 0, i32 39
  %3287 = load i32, ptr %3286, align 4, !tbaa !70
  %3288 = add i32 %3287, 1
  %3289 = and i32 %3288, 511
  %3290 = load ptr, ptr %2, align 8, !tbaa !5
  %3291 = getelementptr inbounds %struct.PDP6, ptr %3290, i32 0, i32 39
  store i32 %3289, ptr %3291, align 4, !tbaa !70
  %3292 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3292, ptr noundef @.str.123)
  %3293 = load i64, ptr @simtime, align 8, !tbaa !15
  %3294 = add i64 %3293, 100
  store i64 %3294, ptr @simtime, align 8, !tbaa !15
  %3295 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3295, ptr noundef @.str.43)
  %3296 = load i64, ptr @simtime, align 8, !tbaa !15
  %3297 = add i64 %3296, 100
  store i64 %3297, ptr @simtime, align 8, !tbaa !15
  %3298 = load ptr, ptr %2, align 8, !tbaa !5
  %3299 = getelementptr inbounds %struct.PDP6, ptr %3298, i32 0, i32 39
  %3300 = load i32, ptr %3299, align 4, !tbaa !70
  %3301 = xor i32 %3300, 511
  store i32 %3301, ptr %3299, align 4, !tbaa !70
  %3302 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3302, ptr noundef @.str.123)
  %3303 = load ptr, ptr %2, align 8, !tbaa !5
  %3304 = getelementptr inbounds %struct.PDP6, ptr %3303, i32 0, i32 73
  store i8 1, ptr %3304, align 8, !tbaa !101
  %3305 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %3305, ptr noundef @rotcrt)
  %3306 = load ptr, ptr %2, align 8, !tbaa !5
  %3307 = getelementptr inbounds %struct.PDP6, ptr %3306, i32 0, i32 73
  store i8 0, ptr %3307, align 8, !tbaa !101
  %3308 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3308, ptr noundef @.str.124)
  br label %17859

3309:                                             ; preds = %17
  %3310 = load ptr, ptr %2, align 8, !tbaa !5
  %3311 = getelementptr inbounds %struct.PDP6, ptr %3310, i32 0, i32 31
  %3312 = load i64, ptr %3311, align 8, !tbaa !39
  %3313 = and i64 %3312, 131072
  %3314 = icmp ne i64 %3313, 0
  br i1 %3314, label %3315, label %3316

3315:                                             ; preds = %3309
  br label %3351

3316:                                             ; preds = %3309
  %3317 = load ptr, ptr %2, align 8, !tbaa !5
  %3318 = getelementptr inbounds %struct.PDP6, ptr %3317, i32 0, i32 31
  %3319 = load i64, ptr %3318, align 8, !tbaa !39
  %3320 = xor i64 %3319, -1
  %3321 = lshr i64 %3320, 9
  %3322 = and i64 %3321, 256
  %3323 = load ptr, ptr %2, align 8, !tbaa !5
  %3324 = getelementptr inbounds %struct.PDP6, ptr %3323, i32 0, i32 31
  %3325 = load i64, ptr %3324, align 8, !tbaa !39
  %3326 = xor i64 %3325, -1
  %3327 = and i64 %3326, 255
  %3328 = or i64 %3322, %3327
  %3329 = load ptr, ptr %2, align 8, !tbaa !5
  %3330 = getelementptr inbounds %struct.PDP6, ptr %3329, i32 0, i32 39
  %3331 = load i32, ptr %3330, align 4, !tbaa !70
  %3332 = zext i32 %3331 to i64
  %3333 = or i64 %3332, %3328
  %3334 = trunc i64 %3333 to i32
  store i32 %3334, ptr %3330, align 4, !tbaa !70
  %3335 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3335, ptr noundef @.str.41)
  %3336 = load i64, ptr @simtime, align 8, !tbaa !15
  %3337 = add i64 %3336, 100
  store i64 %3337, ptr @simtime, align 8, !tbaa !15
  %3338 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3338, ptr noundef @.str.42)
  %3339 = load i64, ptr @simtime, align 8, !tbaa !15
  %3340 = add i64 %3339, 100
  store i64 %3340, ptr @simtime, align 8, !tbaa !15
  %3341 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3341, ptr noundef @.str.43)
  %3342 = load i64, ptr @simtime, align 8, !tbaa !15
  %3343 = add i64 %3342, 100
  store i64 %3343, ptr @simtime, align 8, !tbaa !15
  %3344 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3344, ptr noundef @.str.123)
  %3345 = load ptr, ptr %2, align 8, !tbaa !5
  %3346 = getelementptr inbounds %struct.PDP6, ptr %3345, i32 0, i32 73
  store i8 1, ptr %3346, align 8, !tbaa !101
  %3347 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %3347, ptr noundef @lshclt)
  %3348 = load ptr, ptr %2, align 8, !tbaa !5
  %3349 = getelementptr inbounds %struct.PDP6, ptr %3348, i32 0, i32 73
  store i8 0, ptr %3349, align 8, !tbaa !101
  %3350 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3350, ptr noundef @.str.124)
  br label %17859

3351:                                             ; preds = %3315
  %3352 = load ptr, ptr %2, align 8, !tbaa !5
  %3353 = getelementptr inbounds %struct.PDP6, ptr %3352, i32 0, i32 31
  %3354 = load i64, ptr %3353, align 8, !tbaa !39
  %3355 = xor i64 %3354, -1
  %3356 = lshr i64 %3355, 9
  %3357 = and i64 %3356, 256
  %3358 = load ptr, ptr %2, align 8, !tbaa !5
  %3359 = getelementptr inbounds %struct.PDP6, ptr %3358, i32 0, i32 31
  %3360 = load i64, ptr %3359, align 8, !tbaa !39
  %3361 = xor i64 %3360, -1
  %3362 = and i64 %3361, 255
  %3363 = or i64 %3357, %3362
  %3364 = load ptr, ptr %2, align 8, !tbaa !5
  %3365 = getelementptr inbounds %struct.PDP6, ptr %3364, i32 0, i32 39
  %3366 = load i32, ptr %3365, align 4, !tbaa !70
  %3367 = zext i32 %3366 to i64
  %3368 = or i64 %3367, %3363
  %3369 = trunc i64 %3368 to i32
  store i32 %3369, ptr %3365, align 4, !tbaa !70
  %3370 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3370, ptr noundef @.str.41)
  %3371 = load i64, ptr @simtime, align 8, !tbaa !15
  %3372 = add i64 %3371, 100
  store i64 %3372, ptr @simtime, align 8, !tbaa !15
  %3373 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3373, ptr noundef @.str.42)
  %3374 = load ptr, ptr %2, align 8, !tbaa !5
  %3375 = getelementptr inbounds %struct.PDP6, ptr %3374, i32 0, i32 39
  %3376 = load i32, ptr %3375, align 4, !tbaa !70
  %3377 = add i32 %3376, 1
  %3378 = and i32 %3377, 511
  %3379 = load ptr, ptr %2, align 8, !tbaa !5
  %3380 = getelementptr inbounds %struct.PDP6, ptr %3379, i32 0, i32 39
  store i32 %3378, ptr %3380, align 4, !tbaa !70
  %3381 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3381, ptr noundef @.str.123)
  %3382 = load i64, ptr @simtime, align 8, !tbaa !15
  %3383 = add i64 %3382, 100
  store i64 %3383, ptr @simtime, align 8, !tbaa !15
  %3384 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3384, ptr noundef @.str.43)
  %3385 = load i64, ptr @simtime, align 8, !tbaa !15
  %3386 = add i64 %3385, 100
  store i64 %3386, ptr @simtime, align 8, !tbaa !15
  %3387 = load ptr, ptr %2, align 8, !tbaa !5
  %3388 = getelementptr inbounds %struct.PDP6, ptr %3387, i32 0, i32 39
  %3389 = load i32, ptr %3388, align 4, !tbaa !70
  %3390 = xor i32 %3389, 511
  store i32 %3390, ptr %3388, align 4, !tbaa !70
  %3391 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3391, ptr noundef @.str.123)
  %3392 = load ptr, ptr %2, align 8, !tbaa !5
  %3393 = getelementptr inbounds %struct.PDP6, ptr %3392, i32 0, i32 73
  store i8 1, ptr %3393, align 8, !tbaa !101
  %3394 = load ptr, ptr %2, align 8, !tbaa !5
  call void @sc_count(ptr noundef %3394, ptr noundef @lshcrt)
  %3395 = load ptr, ptr %2, align 8, !tbaa !5
  %3396 = getelementptr inbounds %struct.PDP6, ptr %3395, i32 0, i32 73
  store i8 0, ptr %3396, align 8, !tbaa !101
  %3397 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3397, ptr noundef @.str.124)
  br label %17859

3398:                                             ; preds = %17
  %3399 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3399, ptr noundef @.str.41)
  %3400 = load i64, ptr @simtime, align 8, !tbaa !15
  %3401 = add i64 %3400, 100
  store i64 %3401, ptr @simtime, align 8, !tbaa !15
  %3402 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3402, ptr noundef @.str.42)
  %3403 = load i64, ptr @simtime, align 8, !tbaa !15
  %3404 = add i64 %3403, 100
  store i64 %3404, ptr @simtime, align 8, !tbaa !15
  %3405 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_add(ptr noundef %3405)
  %3406 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3406, ptr noundef @.str.43)
  %3407 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3407, ptr noundef @.str.65)
  %3408 = load i64, ptr @simtime, align 8, !tbaa !15
  %3409 = add i64 %3408, 100
  store i64 %3409, ptr @simtime, align 8, !tbaa !15
  %3410 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3410, ptr noundef @.str.122)
  %3411 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %3411)
  br label %17859

3412:                                             ; preds = %17
  %3413 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3413, ptr noundef @.str.41)
  %3414 = load i64, ptr @simtime, align 8, !tbaa !15
  %3415 = add i64 %3414, 100
  store i64 %3415, ptr @simtime, align 8, !tbaa !15
  %3416 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3416, ptr noundef @.str.42)
  %3417 = load i64, ptr @simtime, align 8, !tbaa !15
  %3418 = add i64 %3417, 100
  store i64 %3418, ptr @simtime, align 8, !tbaa !15
  %3419 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_add(ptr noundef %3419)
  %3420 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3420, ptr noundef @.str.43)
  %3421 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3421, ptr noundef @.str.65)
  %3422 = load i64, ptr @simtime, align 8, !tbaa !15
  %3423 = add i64 %3422, 100
  store i64 %3423, ptr @simtime, align 8, !tbaa !15
  %3424 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3424, ptr noundef @.str.122)
  %3425 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %3425)
  br label %17859

3426:                                             ; preds = %17
  %3427 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3427, ptr noundef @.str.41)
  %3428 = load i64, ptr @simtime, align 8, !tbaa !15
  %3429 = add i64 %3428, 100
  store i64 %3429, ptr @simtime, align 8, !tbaa !15
  %3430 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3430, ptr noundef @.str.42)
  %3431 = load i64, ptr @simtime, align 8, !tbaa !15
  %3432 = add i64 %3431, 100
  store i64 %3432, ptr @simtime, align 8, !tbaa !15
  %3433 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_add(ptr noundef %3433)
  %3434 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3434, ptr noundef @.str.43)
  %3435 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3435, ptr noundef @.str.65)
  %3436 = load i64, ptr @simtime, align 8, !tbaa !15
  %3437 = add i64 %3436, 100
  store i64 %3437, ptr @simtime, align 8, !tbaa !15
  %3438 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3438, ptr noundef @.str.122)
  %3439 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %3439)
  %3440 = load ptr, ptr %2, align 8, !tbaa !5
  %3441 = getelementptr inbounds %struct.PDP6, ptr %3440, i32 0, i32 28
  %3442 = load i64, ptr %3441, align 8, !tbaa !34
  %3443 = load ptr, ptr %2, align 8, !tbaa !5
  %3444 = getelementptr inbounds %struct.PDP6, ptr %3443, i32 0, i32 31
  store i64 %3442, ptr %3444, align 8, !tbaa !39
  br label %17859

3445:                                             ; preds = %17
  %3446 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3446, ptr noundef @.str.41)
  %3447 = load i64, ptr @simtime, align 8, !tbaa !15
  %3448 = add i64 %3447, 100
  store i64 %3448, ptr @simtime, align 8, !tbaa !15
  %3449 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3449, ptr noundef @.str.42)
  %3450 = load i64, ptr @simtime, align 8, !tbaa !15
  %3451 = add i64 %3450, 100
  store i64 %3451, ptr @simtime, align 8, !tbaa !15
  %3452 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_add(ptr noundef %3452)
  %3453 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3453, ptr noundef @.str.43)
  %3454 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3454, ptr noundef @.str.65)
  %3455 = load i64, ptr @simtime, align 8, !tbaa !15
  %3456 = add i64 %3455, 100
  store i64 %3456, ptr @simtime, align 8, !tbaa !15
  %3457 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3457, ptr noundef @.str.122)
  %3458 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %3458)
  %3459 = load ptr, ptr %2, align 8, !tbaa !5
  %3460 = getelementptr inbounds %struct.PDP6, ptr %3459, i32 0, i32 28
  %3461 = load i64, ptr %3460, align 8, !tbaa !34
  %3462 = load ptr, ptr %2, align 8, !tbaa !5
  %3463 = getelementptr inbounds %struct.PDP6, ptr %3462, i32 0, i32 31
  store i64 %3461, ptr %3463, align 8, !tbaa !39
  br label %17859

3464:                                             ; preds = %17
  %3465 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3465, ptr noundef @.str.41)
  %3466 = load i64, ptr @simtime, align 8, !tbaa !15
  %3467 = add i64 %3466, 100
  store i64 %3467, ptr @simtime, align 8, !tbaa !15
  %3468 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3468, ptr noundef @.str.42)
  %3469 = load i64, ptr @simtime, align 8, !tbaa !15
  %3470 = add i64 %3469, 100
  store i64 %3470, ptr @simtime, align 8, !tbaa !15
  %3471 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3471)
  %3472 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3472, ptr noundef @.str.43)
  %3473 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3473, ptr noundef @.str.65)
  %3474 = load i64, ptr @simtime, align 8, !tbaa !15
  %3475 = add i64 %3474, 100
  store i64 %3475, ptr @simtime, align 8, !tbaa !15
  %3476 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3476, ptr noundef @.str.122)
  %3477 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %3477)
  br label %17859

3478:                                             ; preds = %17
  %3479 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3479, ptr noundef @.str.41)
  %3480 = load i64, ptr @simtime, align 8, !tbaa !15
  %3481 = add i64 %3480, 100
  store i64 %3481, ptr @simtime, align 8, !tbaa !15
  %3482 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3482, ptr noundef @.str.42)
  %3483 = load i64, ptr @simtime, align 8, !tbaa !15
  %3484 = add i64 %3483, 100
  store i64 %3484, ptr @simtime, align 8, !tbaa !15
  %3485 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3485)
  %3486 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3486, ptr noundef @.str.43)
  %3487 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3487, ptr noundef @.str.65)
  %3488 = load i64, ptr @simtime, align 8, !tbaa !15
  %3489 = add i64 %3488, 100
  store i64 %3489, ptr @simtime, align 8, !tbaa !15
  %3490 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3490, ptr noundef @.str.122)
  %3491 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %3491)
  br label %17859

3492:                                             ; preds = %17
  %3493 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3493, ptr noundef @.str.41)
  %3494 = load i64, ptr @simtime, align 8, !tbaa !15
  %3495 = add i64 %3494, 100
  store i64 %3495, ptr @simtime, align 8, !tbaa !15
  %3496 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3496, ptr noundef @.str.42)
  %3497 = load i64, ptr @simtime, align 8, !tbaa !15
  %3498 = add i64 %3497, 100
  store i64 %3498, ptr @simtime, align 8, !tbaa !15
  %3499 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3499)
  %3500 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3500, ptr noundef @.str.43)
  %3501 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3501, ptr noundef @.str.65)
  %3502 = load i64, ptr @simtime, align 8, !tbaa !15
  %3503 = add i64 %3502, 100
  store i64 %3503, ptr @simtime, align 8, !tbaa !15
  %3504 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3504, ptr noundef @.str.122)
  %3505 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %3505)
  %3506 = load ptr, ptr %2, align 8, !tbaa !5
  %3507 = getelementptr inbounds %struct.PDP6, ptr %3506, i32 0, i32 28
  %3508 = load i64, ptr %3507, align 8, !tbaa !34
  %3509 = load ptr, ptr %2, align 8, !tbaa !5
  %3510 = getelementptr inbounds %struct.PDP6, ptr %3509, i32 0, i32 31
  store i64 %3508, ptr %3510, align 8, !tbaa !39
  br label %17859

3511:                                             ; preds = %17
  %3512 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3512, ptr noundef @.str.41)
  %3513 = load i64, ptr @simtime, align 8, !tbaa !15
  %3514 = add i64 %3513, 100
  store i64 %3514, ptr @simtime, align 8, !tbaa !15
  %3515 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3515, ptr noundef @.str.42)
  %3516 = load i64, ptr @simtime, align 8, !tbaa !15
  %3517 = add i64 %3516, 100
  store i64 %3517, ptr @simtime, align 8, !tbaa !15
  %3518 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3518)
  %3519 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3519, ptr noundef @.str.43)
  %3520 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3520, ptr noundef @.str.65)
  %3521 = load i64, ptr @simtime, align 8, !tbaa !15
  %3522 = add i64 %3521, 100
  store i64 %3522, ptr @simtime, align 8, !tbaa !15
  %3523 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3523, ptr noundef @.str.122)
  %3524 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %3524)
  %3525 = load ptr, ptr %2, align 8, !tbaa !5
  %3526 = getelementptr inbounds %struct.PDP6, ptr %3525, i32 0, i32 28
  %3527 = load i64, ptr %3526, align 8, !tbaa !34
  %3528 = load ptr, ptr %2, align 8, !tbaa !5
  %3529 = getelementptr inbounds %struct.PDP6, ptr %3528, i32 0, i32 31
  store i64 %3527, ptr %3529, align 8, !tbaa !39
  br label %17859

3530:                                             ; preds = %17
  %3531 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3531, ptr noundef @.str.41)
  %3532 = load i64, ptr @simtime, align 8, !tbaa !15
  %3533 = add i64 %3532, 100
  store i64 %3533, ptr @simtime, align 8, !tbaa !15
  %3534 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3534, ptr noundef @.str.42)
  %3535 = load i64, ptr @simtime, align 8, !tbaa !15
  %3536 = add i64 %3535, 100
  store i64 %3536, ptr @simtime, align 8, !tbaa !15
  %3537 = load ptr, ptr %2, align 8, !tbaa !5
  %3538 = getelementptr inbounds %struct.PDP6, ptr %3537, i32 0, i32 58
  store i8 1, ptr %3538, align 1, !tbaa !76
  %3539 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3539)
  %3540 = load ptr, ptr %2, align 8, !tbaa !5
  %3541 = getelementptr inbounds %struct.PDP6, ptr %3540, i32 0, i32 58
  store i8 0, ptr %3541, align 1, !tbaa !76
  %3542 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3542, ptr noundef @.str.43)
  %3543 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3543, ptr noundef @.str.65)
  %3544 = load i64, ptr @simtime, align 8, !tbaa !15
  %3545 = add i64 %3544, 100
  store i64 %3545, ptr @simtime, align 8, !tbaa !15
  %3546 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3546, ptr noundef @.str.122)
  %3547 = load i64, ptr @simtime, align 8, !tbaa !15
  %3548 = add i64 %3547, 100
  store i64 %3548, ptr @simtime, align 8, !tbaa !15
  %3549 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3549, ptr noundef @.str.125)
  %3550 = load i64, ptr @simtime, align 8, !tbaa !15
  %3551 = add i64 %3550, 100
  store i64 %3551, ptr @simtime, align 8, !tbaa !15
  %3552 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3552, ptr noundef @.str.126)
  %3553 = load i64, ptr @simtime, align 8, !tbaa !15
  %3554 = add i64 %3553, 100
  store i64 %3554, ptr @simtime, align 8, !tbaa !15
  %3555 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3555, ptr noundef @.str.127)
  %3556 = load i64, ptr @simtime, align 8, !tbaa !15
  %3557 = add i64 %3556, 200
  store i64 %3557, ptr @simtime, align 8, !tbaa !15
  %3558 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3558, ptr noundef @.str.121)
  %3559 = load i64, ptr @simtime, align 8, !tbaa !15
  %3560 = add i64 %3559, 200
  store i64 %3560, ptr @simtime, align 8, !tbaa !15
  br label %17859

3561:                                             ; preds = %17
  %3562 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3562, ptr noundef @.str.41)
  %3563 = load i64, ptr @simtime, align 8, !tbaa !15
  %3564 = add i64 %3563, 100
  store i64 %3564, ptr @simtime, align 8, !tbaa !15
  %3565 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3565, ptr noundef @.str.42)
  %3566 = load i64, ptr @simtime, align 8, !tbaa !15
  %3567 = add i64 %3566, 100
  store i64 %3567, ptr @simtime, align 8, !tbaa !15
  %3568 = load ptr, ptr %2, align 8, !tbaa !5
  %3569 = getelementptr inbounds %struct.PDP6, ptr %3568, i32 0, i32 58
  store i8 1, ptr %3569, align 1, !tbaa !76
  %3570 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3570)
  %3571 = load ptr, ptr %2, align 8, !tbaa !5
  %3572 = getelementptr inbounds %struct.PDP6, ptr %3571, i32 0, i32 58
  store i8 0, ptr %3572, align 1, !tbaa !76
  %3573 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3573, ptr noundef @.str.43)
  %3574 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3574, ptr noundef @.str.65)
  %3575 = load i64, ptr @simtime, align 8, !tbaa !15
  %3576 = add i64 %3575, 100
  store i64 %3576, ptr @simtime, align 8, !tbaa !15
  %3577 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3577, ptr noundef @.str.122)
  %3578 = load i64, ptr @simtime, align 8, !tbaa !15
  %3579 = add i64 %3578, 100
  store i64 %3579, ptr @simtime, align 8, !tbaa !15
  %3580 = load ptr, ptr %2, align 8, !tbaa !5
  %3581 = getelementptr inbounds %struct.PDP6, ptr %3580, i32 0, i32 28
  %3582 = load i64, ptr %3581, align 8, !tbaa !34
  %3583 = and i64 %3582, 34359738368
  %3584 = icmp ne i64 %3583, 0
  %3585 = xor i1 %3584, true
  %3586 = xor i1 %3585, true
  %3587 = zext i1 %3586 to i32
  %3588 = load ptr, ptr %2, align 8, !tbaa !5
  %3589 = getelementptr inbounds %struct.PDP6, ptr %3588, i32 0, i32 126
  %3590 = load i8, ptr %3589, align 1, !tbaa !66, !range !20, !noundef !21
  %3591 = trunc i8 %3590 to i1
  %3592 = zext i1 %3591 to i32
  %3593 = load ptr, ptr %2, align 8, !tbaa !5
  %3594 = getelementptr inbounds %struct.PDP6, ptr %3593, i32 0, i32 127
  %3595 = load i8, ptr %3594, align 2, !tbaa !67, !range !20, !noundef !21
  %3596 = trunc i8 %3595 to i1
  %3597 = zext i1 %3596 to i32
  %3598 = icmp ne i32 %3592, %3597
  %3599 = zext i1 %3598 to i32
  %3600 = icmp ne i32 %3587, %3599
  %3601 = zext i1 %3600 to i32
  store i32 %3601, ptr %3, align 4, !tbaa !102
  %3602 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3602, ptr noundef @.str.125)
  %3603 = load i64, ptr @simtime, align 8, !tbaa !15
  %3604 = add i64 %3603, 100
  store i64 %3604, ptr @simtime, align 8, !tbaa !15
  %3605 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3605, ptr noundef @.str.126)
  %3606 = load i64, ptr @simtime, align 8, !tbaa !15
  %3607 = add i64 %3606, 100
  store i64 %3607, ptr @simtime, align 8, !tbaa !15
  %3608 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3608, ptr noundef @.str.127)
  %3609 = load i64, ptr @simtime, align 8, !tbaa !15
  %3610 = add i64 %3609, 200
  store i64 %3610, ptr @simtime, align 8, !tbaa !15
  %3611 = load i32, ptr %3, align 4, !tbaa !102
  %3612 = icmp ne i32 %3611, 0
  br i1 %3612, label %3613, label %3622

3613:                                             ; preds = %3561
  %3614 = load ptr, ptr %2, align 8, !tbaa !5
  %3615 = getelementptr inbounds %struct.PDP6, ptr %3614, i32 0, i32 34
  %3616 = load i32, ptr %3615, align 8, !tbaa !33
  %3617 = add i32 %3616, 1
  %3618 = and i32 %3617, 262143
  %3619 = load ptr, ptr %2, align 8, !tbaa !5
  %3620 = getelementptr inbounds %struct.PDP6, ptr %3619, i32 0, i32 34
  store i32 %3618, ptr %3620, align 8, !tbaa !33
  %3621 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %3621)
  br label %3622

3622:                                             ; preds = %3613, %3561
  %3623 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3623, ptr noundef @.str.121)
  %3624 = load i64, ptr @simtime, align 8, !tbaa !15
  %3625 = add i64 %3624, 200
  store i64 %3625, ptr @simtime, align 8, !tbaa !15
  br label %17859

3626:                                             ; preds = %17
  %3627 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3627, ptr noundef @.str.41)
  %3628 = load i64, ptr @simtime, align 8, !tbaa !15
  %3629 = add i64 %3628, 100
  store i64 %3629, ptr @simtime, align 8, !tbaa !15
  %3630 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3630, ptr noundef @.str.42)
  %3631 = load i64, ptr @simtime, align 8, !tbaa !15
  %3632 = add i64 %3631, 100
  store i64 %3632, ptr @simtime, align 8, !tbaa !15
  %3633 = load ptr, ptr %2, align 8, !tbaa !5
  %3634 = getelementptr inbounds %struct.PDP6, ptr %3633, i32 0, i32 58
  store i8 1, ptr %3634, align 1, !tbaa !76
  %3635 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3635)
  %3636 = load ptr, ptr %2, align 8, !tbaa !5
  %3637 = getelementptr inbounds %struct.PDP6, ptr %3636, i32 0, i32 58
  store i8 0, ptr %3637, align 1, !tbaa !76
  %3638 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3638, ptr noundef @.str.43)
  %3639 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3639, ptr noundef @.str.65)
  %3640 = load i64, ptr @simtime, align 8, !tbaa !15
  %3641 = add i64 %3640, 100
  store i64 %3641, ptr @simtime, align 8, !tbaa !15
  %3642 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3642, ptr noundef @.str.122)
  %3643 = load i64, ptr @simtime, align 8, !tbaa !15
  %3644 = add i64 %3643, 100
  store i64 %3644, ptr @simtime, align 8, !tbaa !15
  %3645 = load ptr, ptr %2, align 8, !tbaa !5
  %3646 = getelementptr inbounds %struct.PDP6, ptr %3645, i32 0, i32 28
  %3647 = load i64, ptr %3646, align 8, !tbaa !34
  %3648 = icmp eq i64 %3647, 0
  %3649 = zext i1 %3648 to i32
  store i32 %3649, ptr %3, align 4, !tbaa !102
  %3650 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3650, ptr noundef @.str.125)
  %3651 = load i64, ptr @simtime, align 8, !tbaa !15
  %3652 = add i64 %3651, 100
  store i64 %3652, ptr @simtime, align 8, !tbaa !15
  %3653 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3653, ptr noundef @.str.126)
  %3654 = load i64, ptr @simtime, align 8, !tbaa !15
  %3655 = add i64 %3654, 100
  store i64 %3655, ptr @simtime, align 8, !tbaa !15
  %3656 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3656, ptr noundef @.str.127)
  %3657 = load i64, ptr @simtime, align 8, !tbaa !15
  %3658 = add i64 %3657, 200
  store i64 %3658, ptr @simtime, align 8, !tbaa !15
  %3659 = load i32, ptr %3, align 4, !tbaa !102
  %3660 = icmp ne i32 %3659, 0
  br i1 %3660, label %3661, label %3670

3661:                                             ; preds = %3626
  %3662 = load ptr, ptr %2, align 8, !tbaa !5
  %3663 = getelementptr inbounds %struct.PDP6, ptr %3662, i32 0, i32 34
  %3664 = load i32, ptr %3663, align 8, !tbaa !33
  %3665 = add i32 %3664, 1
  %3666 = and i32 %3665, 262143
  %3667 = load ptr, ptr %2, align 8, !tbaa !5
  %3668 = getelementptr inbounds %struct.PDP6, ptr %3667, i32 0, i32 34
  store i32 %3666, ptr %3668, align 8, !tbaa !33
  %3669 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %3669)
  br label %3670

3670:                                             ; preds = %3661, %3626
  %3671 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3671, ptr noundef @.str.121)
  %3672 = load i64, ptr @simtime, align 8, !tbaa !15
  %3673 = add i64 %3672, 200
  store i64 %3673, ptr @simtime, align 8, !tbaa !15
  br label %17859

3674:                                             ; preds = %17
  %3675 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3675, ptr noundef @.str.41)
  %3676 = load i64, ptr @simtime, align 8, !tbaa !15
  %3677 = add i64 %3676, 100
  store i64 %3677, ptr @simtime, align 8, !tbaa !15
  %3678 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3678, ptr noundef @.str.42)
  %3679 = load i64, ptr @simtime, align 8, !tbaa !15
  %3680 = add i64 %3679, 100
  store i64 %3680, ptr @simtime, align 8, !tbaa !15
  %3681 = load ptr, ptr %2, align 8, !tbaa !5
  %3682 = getelementptr inbounds %struct.PDP6, ptr %3681, i32 0, i32 58
  store i8 1, ptr %3682, align 1, !tbaa !76
  %3683 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3683)
  %3684 = load ptr, ptr %2, align 8, !tbaa !5
  %3685 = getelementptr inbounds %struct.PDP6, ptr %3684, i32 0, i32 58
  store i8 0, ptr %3685, align 1, !tbaa !76
  %3686 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3686, ptr noundef @.str.43)
  %3687 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3687, ptr noundef @.str.65)
  %3688 = load i64, ptr @simtime, align 8, !tbaa !15
  %3689 = add i64 %3688, 100
  store i64 %3689, ptr @simtime, align 8, !tbaa !15
  %3690 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3690, ptr noundef @.str.122)
  %3691 = load i64, ptr @simtime, align 8, !tbaa !15
  %3692 = add i64 %3691, 100
  store i64 %3692, ptr @simtime, align 8, !tbaa !15
  %3693 = load ptr, ptr %2, align 8, !tbaa !5
  %3694 = getelementptr inbounds %struct.PDP6, ptr %3693, i32 0, i32 28
  %3695 = load i64, ptr %3694, align 8, !tbaa !34
  %3696 = and i64 %3695, 34359738368
  %3697 = icmp ne i64 %3696, 0
  %3698 = xor i1 %3697, true
  %3699 = xor i1 %3698, true
  %3700 = zext i1 %3699 to i32
  %3701 = load ptr, ptr %2, align 8, !tbaa !5
  %3702 = getelementptr inbounds %struct.PDP6, ptr %3701, i32 0, i32 126
  %3703 = load i8, ptr %3702, align 1, !tbaa !66, !range !20, !noundef !21
  %3704 = trunc i8 %3703 to i1
  %3705 = zext i1 %3704 to i32
  %3706 = load ptr, ptr %2, align 8, !tbaa !5
  %3707 = getelementptr inbounds %struct.PDP6, ptr %3706, i32 0, i32 127
  %3708 = load i8, ptr %3707, align 2, !tbaa !67, !range !20, !noundef !21
  %3709 = trunc i8 %3708 to i1
  %3710 = zext i1 %3709 to i32
  %3711 = icmp ne i32 %3705, %3710
  %3712 = zext i1 %3711 to i32
  %3713 = icmp ne i32 %3700, %3712
  br i1 %3713, label %3719, label %3714

3714:                                             ; preds = %3674
  %3715 = load ptr, ptr %2, align 8, !tbaa !5
  %3716 = getelementptr inbounds %struct.PDP6, ptr %3715, i32 0, i32 28
  %3717 = load i64, ptr %3716, align 8, !tbaa !34
  %3718 = icmp eq i64 %3717, 0
  br label %3719

3719:                                             ; preds = %3714, %3674
  %3720 = phi i1 [ true, %3674 ], [ %3718, %3714 ]
  %3721 = zext i1 %3720 to i32
  store i32 %3721, ptr %3, align 4, !tbaa !102
  %3722 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3722, ptr noundef @.str.125)
  %3723 = load i64, ptr @simtime, align 8, !tbaa !15
  %3724 = add i64 %3723, 100
  store i64 %3724, ptr @simtime, align 8, !tbaa !15
  %3725 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3725, ptr noundef @.str.126)
  %3726 = load i64, ptr @simtime, align 8, !tbaa !15
  %3727 = add i64 %3726, 100
  store i64 %3727, ptr @simtime, align 8, !tbaa !15
  %3728 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3728, ptr noundef @.str.127)
  %3729 = load i64, ptr @simtime, align 8, !tbaa !15
  %3730 = add i64 %3729, 200
  store i64 %3730, ptr @simtime, align 8, !tbaa !15
  %3731 = load i32, ptr %3, align 4, !tbaa !102
  %3732 = icmp ne i32 %3731, 0
  br i1 %3732, label %3733, label %3742

3733:                                             ; preds = %3719
  %3734 = load ptr, ptr %2, align 8, !tbaa !5
  %3735 = getelementptr inbounds %struct.PDP6, ptr %3734, i32 0, i32 34
  %3736 = load i32, ptr %3735, align 8, !tbaa !33
  %3737 = add i32 %3736, 1
  %3738 = and i32 %3737, 262143
  %3739 = load ptr, ptr %2, align 8, !tbaa !5
  %3740 = getelementptr inbounds %struct.PDP6, ptr %3739, i32 0, i32 34
  store i32 %3738, ptr %3740, align 8, !tbaa !33
  %3741 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %3741)
  br label %3742

3742:                                             ; preds = %3733, %3719
  %3743 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3743, ptr noundef @.str.121)
  %3744 = load i64, ptr @simtime, align 8, !tbaa !15
  %3745 = add i64 %3744, 200
  store i64 %3745, ptr @simtime, align 8, !tbaa !15
  br label %17859

3746:                                             ; preds = %17
  %3747 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3747, ptr noundef @.str.41)
  %3748 = load i64, ptr @simtime, align 8, !tbaa !15
  %3749 = add i64 %3748, 100
  store i64 %3749, ptr @simtime, align 8, !tbaa !15
  %3750 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3750, ptr noundef @.str.42)
  %3751 = load i64, ptr @simtime, align 8, !tbaa !15
  %3752 = add i64 %3751, 100
  store i64 %3752, ptr @simtime, align 8, !tbaa !15
  %3753 = load ptr, ptr %2, align 8, !tbaa !5
  %3754 = getelementptr inbounds %struct.PDP6, ptr %3753, i32 0, i32 58
  store i8 1, ptr %3754, align 1, !tbaa !76
  %3755 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3755)
  %3756 = load ptr, ptr %2, align 8, !tbaa !5
  %3757 = getelementptr inbounds %struct.PDP6, ptr %3756, i32 0, i32 58
  store i8 0, ptr %3757, align 1, !tbaa !76
  %3758 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3758, ptr noundef @.str.43)
  %3759 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3759, ptr noundef @.str.65)
  %3760 = load i64, ptr @simtime, align 8, !tbaa !15
  %3761 = add i64 %3760, 100
  store i64 %3761, ptr @simtime, align 8, !tbaa !15
  %3762 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3762, ptr noundef @.str.122)
  %3763 = load i64, ptr @simtime, align 8, !tbaa !15
  %3764 = add i64 %3763, 100
  store i64 %3764, ptr @simtime, align 8, !tbaa !15
  %3765 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3765, ptr noundef @.str.125)
  %3766 = load i64, ptr @simtime, align 8, !tbaa !15
  %3767 = add i64 %3766, 100
  store i64 %3767, ptr @simtime, align 8, !tbaa !15
  %3768 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3768, ptr noundef @.str.126)
  %3769 = load i64, ptr @simtime, align 8, !tbaa !15
  %3770 = add i64 %3769, 100
  store i64 %3770, ptr @simtime, align 8, !tbaa !15
  %3771 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3771, ptr noundef @.str.127)
  %3772 = load i64, ptr @simtime, align 8, !tbaa !15
  %3773 = add i64 %3772, 200
  store i64 %3773, ptr @simtime, align 8, !tbaa !15
  %3774 = load ptr, ptr %2, align 8, !tbaa !5
  %3775 = getelementptr inbounds %struct.PDP6, ptr %3774, i32 0, i32 34
  %3776 = load i32, ptr %3775, align 8, !tbaa !33
  %3777 = add i32 %3776, 1
  %3778 = and i32 %3777, 262143
  %3779 = load ptr, ptr %2, align 8, !tbaa !5
  %3780 = getelementptr inbounds %struct.PDP6, ptr %3779, i32 0, i32 34
  store i32 %3778, ptr %3780, align 8, !tbaa !33
  %3781 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %3781)
  %3782 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3782, ptr noundef @.str.121)
  %3783 = load i64, ptr @simtime, align 8, !tbaa !15
  %3784 = add i64 %3783, 200
  store i64 %3784, ptr @simtime, align 8, !tbaa !15
  br label %17859

3785:                                             ; preds = %17
  %3786 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3786, ptr noundef @.str.41)
  %3787 = load i64, ptr @simtime, align 8, !tbaa !15
  %3788 = add i64 %3787, 100
  store i64 %3788, ptr @simtime, align 8, !tbaa !15
  %3789 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3789, ptr noundef @.str.42)
  %3790 = load i64, ptr @simtime, align 8, !tbaa !15
  %3791 = add i64 %3790, 100
  store i64 %3791, ptr @simtime, align 8, !tbaa !15
  %3792 = load ptr, ptr %2, align 8, !tbaa !5
  %3793 = getelementptr inbounds %struct.PDP6, ptr %3792, i32 0, i32 58
  store i8 1, ptr %3793, align 1, !tbaa !76
  %3794 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3794)
  %3795 = load ptr, ptr %2, align 8, !tbaa !5
  %3796 = getelementptr inbounds %struct.PDP6, ptr %3795, i32 0, i32 58
  store i8 0, ptr %3796, align 1, !tbaa !76
  %3797 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3797, ptr noundef @.str.43)
  %3798 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3798, ptr noundef @.str.65)
  %3799 = load i64, ptr @simtime, align 8, !tbaa !15
  %3800 = add i64 %3799, 100
  store i64 %3800, ptr @simtime, align 8, !tbaa !15
  %3801 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3801, ptr noundef @.str.122)
  %3802 = load i64, ptr @simtime, align 8, !tbaa !15
  %3803 = add i64 %3802, 100
  store i64 %3803, ptr @simtime, align 8, !tbaa !15
  %3804 = load ptr, ptr %2, align 8, !tbaa !5
  %3805 = getelementptr inbounds %struct.PDP6, ptr %3804, i32 0, i32 28
  %3806 = load i64, ptr %3805, align 8, !tbaa !34
  %3807 = and i64 %3806, 34359738368
  %3808 = icmp ne i64 %3807, 0
  %3809 = xor i1 %3808, true
  %3810 = xor i1 %3809, true
  %3811 = zext i1 %3810 to i32
  %3812 = load ptr, ptr %2, align 8, !tbaa !5
  %3813 = getelementptr inbounds %struct.PDP6, ptr %3812, i32 0, i32 126
  %3814 = load i8, ptr %3813, align 1, !tbaa !66, !range !20, !noundef !21
  %3815 = trunc i8 %3814 to i1
  %3816 = zext i1 %3815 to i32
  %3817 = load ptr, ptr %2, align 8, !tbaa !5
  %3818 = getelementptr inbounds %struct.PDP6, ptr %3817, i32 0, i32 127
  %3819 = load i8, ptr %3818, align 2, !tbaa !67, !range !20, !noundef !21
  %3820 = trunc i8 %3819 to i1
  %3821 = zext i1 %3820 to i32
  %3822 = icmp ne i32 %3816, %3821
  %3823 = zext i1 %3822 to i32
  %3824 = icmp ne i32 %3811, %3823
  %3825 = xor i1 %3824, true
  %3826 = zext i1 %3825 to i32
  store i32 %3826, ptr %3, align 4, !tbaa !102
  %3827 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3827, ptr noundef @.str.125)
  %3828 = load i64, ptr @simtime, align 8, !tbaa !15
  %3829 = add i64 %3828, 100
  store i64 %3829, ptr @simtime, align 8, !tbaa !15
  %3830 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3830, ptr noundef @.str.126)
  %3831 = load i64, ptr @simtime, align 8, !tbaa !15
  %3832 = add i64 %3831, 100
  store i64 %3832, ptr @simtime, align 8, !tbaa !15
  %3833 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3833, ptr noundef @.str.127)
  %3834 = load i64, ptr @simtime, align 8, !tbaa !15
  %3835 = add i64 %3834, 200
  store i64 %3835, ptr @simtime, align 8, !tbaa !15
  %3836 = load i32, ptr %3, align 4, !tbaa !102
  %3837 = icmp ne i32 %3836, 0
  br i1 %3837, label %3838, label %3847

3838:                                             ; preds = %3785
  %3839 = load ptr, ptr %2, align 8, !tbaa !5
  %3840 = getelementptr inbounds %struct.PDP6, ptr %3839, i32 0, i32 34
  %3841 = load i32, ptr %3840, align 8, !tbaa !33
  %3842 = add i32 %3841, 1
  %3843 = and i32 %3842, 262143
  %3844 = load ptr, ptr %2, align 8, !tbaa !5
  %3845 = getelementptr inbounds %struct.PDP6, ptr %3844, i32 0, i32 34
  store i32 %3843, ptr %3845, align 8, !tbaa !33
  %3846 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %3846)
  br label %3847

3847:                                             ; preds = %3838, %3785
  %3848 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3848, ptr noundef @.str.121)
  %3849 = load i64, ptr @simtime, align 8, !tbaa !15
  %3850 = add i64 %3849, 200
  store i64 %3850, ptr @simtime, align 8, !tbaa !15
  br label %17859

3851:                                             ; preds = %17
  %3852 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3852, ptr noundef @.str.41)
  %3853 = load i64, ptr @simtime, align 8, !tbaa !15
  %3854 = add i64 %3853, 100
  store i64 %3854, ptr @simtime, align 8, !tbaa !15
  %3855 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3855, ptr noundef @.str.42)
  %3856 = load i64, ptr @simtime, align 8, !tbaa !15
  %3857 = add i64 %3856, 100
  store i64 %3857, ptr @simtime, align 8, !tbaa !15
  %3858 = load ptr, ptr %2, align 8, !tbaa !5
  %3859 = getelementptr inbounds %struct.PDP6, ptr %3858, i32 0, i32 58
  store i8 1, ptr %3859, align 1, !tbaa !76
  %3860 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3860)
  %3861 = load ptr, ptr %2, align 8, !tbaa !5
  %3862 = getelementptr inbounds %struct.PDP6, ptr %3861, i32 0, i32 58
  store i8 0, ptr %3862, align 1, !tbaa !76
  %3863 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3863, ptr noundef @.str.43)
  %3864 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3864, ptr noundef @.str.65)
  %3865 = load i64, ptr @simtime, align 8, !tbaa !15
  %3866 = add i64 %3865, 100
  store i64 %3866, ptr @simtime, align 8, !tbaa !15
  %3867 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3867, ptr noundef @.str.122)
  %3868 = load i64, ptr @simtime, align 8, !tbaa !15
  %3869 = add i64 %3868, 100
  store i64 %3869, ptr @simtime, align 8, !tbaa !15
  %3870 = load ptr, ptr %2, align 8, !tbaa !5
  %3871 = getelementptr inbounds %struct.PDP6, ptr %3870, i32 0, i32 28
  %3872 = load i64, ptr %3871, align 8, !tbaa !34
  %3873 = icmp eq i64 %3872, 0
  %3874 = xor i1 %3873, true
  %3875 = zext i1 %3874 to i32
  store i32 %3875, ptr %3, align 4, !tbaa !102
  %3876 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3876, ptr noundef @.str.125)
  %3877 = load i64, ptr @simtime, align 8, !tbaa !15
  %3878 = add i64 %3877, 100
  store i64 %3878, ptr @simtime, align 8, !tbaa !15
  %3879 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3879, ptr noundef @.str.126)
  %3880 = load i64, ptr @simtime, align 8, !tbaa !15
  %3881 = add i64 %3880, 100
  store i64 %3881, ptr @simtime, align 8, !tbaa !15
  %3882 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3882, ptr noundef @.str.127)
  %3883 = load i64, ptr @simtime, align 8, !tbaa !15
  %3884 = add i64 %3883, 200
  store i64 %3884, ptr @simtime, align 8, !tbaa !15
  %3885 = load i32, ptr %3, align 4, !tbaa !102
  %3886 = icmp ne i32 %3885, 0
  br i1 %3886, label %3887, label %3896

3887:                                             ; preds = %3851
  %3888 = load ptr, ptr %2, align 8, !tbaa !5
  %3889 = getelementptr inbounds %struct.PDP6, ptr %3888, i32 0, i32 34
  %3890 = load i32, ptr %3889, align 8, !tbaa !33
  %3891 = add i32 %3890, 1
  %3892 = and i32 %3891, 262143
  %3893 = load ptr, ptr %2, align 8, !tbaa !5
  %3894 = getelementptr inbounds %struct.PDP6, ptr %3893, i32 0, i32 34
  store i32 %3892, ptr %3894, align 8, !tbaa !33
  %3895 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %3895)
  br label %3896

3896:                                             ; preds = %3887, %3851
  %3897 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3897, ptr noundef @.str.121)
  %3898 = load i64, ptr @simtime, align 8, !tbaa !15
  %3899 = add i64 %3898, 200
  store i64 %3899, ptr @simtime, align 8, !tbaa !15
  br label %17859

3900:                                             ; preds = %17
  %3901 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3901, ptr noundef @.str.41)
  %3902 = load i64, ptr @simtime, align 8, !tbaa !15
  %3903 = add i64 %3902, 100
  store i64 %3903, ptr @simtime, align 8, !tbaa !15
  %3904 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3904, ptr noundef @.str.42)
  %3905 = load i64, ptr @simtime, align 8, !tbaa !15
  %3906 = add i64 %3905, 100
  store i64 %3906, ptr @simtime, align 8, !tbaa !15
  %3907 = load ptr, ptr %2, align 8, !tbaa !5
  %3908 = getelementptr inbounds %struct.PDP6, ptr %3907, i32 0, i32 58
  store i8 1, ptr %3908, align 1, !tbaa !76
  %3909 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3909)
  %3910 = load ptr, ptr %2, align 8, !tbaa !5
  %3911 = getelementptr inbounds %struct.PDP6, ptr %3910, i32 0, i32 58
  store i8 0, ptr %3911, align 1, !tbaa !76
  %3912 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3912, ptr noundef @.str.43)
  %3913 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3913, ptr noundef @.str.65)
  %3914 = load i64, ptr @simtime, align 8, !tbaa !15
  %3915 = add i64 %3914, 100
  store i64 %3915, ptr @simtime, align 8, !tbaa !15
  %3916 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3916, ptr noundef @.str.122)
  %3917 = load i64, ptr @simtime, align 8, !tbaa !15
  %3918 = add i64 %3917, 100
  store i64 %3918, ptr @simtime, align 8, !tbaa !15
  %3919 = load ptr, ptr %2, align 8, !tbaa !5
  %3920 = getelementptr inbounds %struct.PDP6, ptr %3919, i32 0, i32 28
  %3921 = load i64, ptr %3920, align 8, !tbaa !34
  %3922 = and i64 %3921, 34359738368
  %3923 = icmp ne i64 %3922, 0
  %3924 = xor i1 %3923, true
  %3925 = xor i1 %3924, true
  %3926 = zext i1 %3925 to i32
  %3927 = load ptr, ptr %2, align 8, !tbaa !5
  %3928 = getelementptr inbounds %struct.PDP6, ptr %3927, i32 0, i32 126
  %3929 = load i8, ptr %3928, align 1, !tbaa !66, !range !20, !noundef !21
  %3930 = trunc i8 %3929 to i1
  %3931 = zext i1 %3930 to i32
  %3932 = load ptr, ptr %2, align 8, !tbaa !5
  %3933 = getelementptr inbounds %struct.PDP6, ptr %3932, i32 0, i32 127
  %3934 = load i8, ptr %3933, align 2, !tbaa !67, !range !20, !noundef !21
  %3935 = trunc i8 %3934 to i1
  %3936 = zext i1 %3935 to i32
  %3937 = icmp ne i32 %3931, %3936
  %3938 = zext i1 %3937 to i32
  %3939 = icmp ne i32 %3926, %3938
  br i1 %3939, label %3945, label %3940

3940:                                             ; preds = %3900
  %3941 = load ptr, ptr %2, align 8, !tbaa !5
  %3942 = getelementptr inbounds %struct.PDP6, ptr %3941, i32 0, i32 28
  %3943 = load i64, ptr %3942, align 8, !tbaa !34
  %3944 = icmp eq i64 %3943, 0
  br label %3945

3945:                                             ; preds = %3940, %3900
  %3946 = phi i1 [ true, %3900 ], [ %3944, %3940 ]
  %3947 = xor i1 %3946, true
  %3948 = zext i1 %3947 to i32
  store i32 %3948, ptr %3, align 4, !tbaa !102
  %3949 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3949, ptr noundef @.str.125)
  %3950 = load i64, ptr @simtime, align 8, !tbaa !15
  %3951 = add i64 %3950, 100
  store i64 %3951, ptr @simtime, align 8, !tbaa !15
  %3952 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3952, ptr noundef @.str.126)
  %3953 = load i64, ptr @simtime, align 8, !tbaa !15
  %3954 = add i64 %3953, 100
  store i64 %3954, ptr @simtime, align 8, !tbaa !15
  %3955 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3955, ptr noundef @.str.127)
  %3956 = load i64, ptr @simtime, align 8, !tbaa !15
  %3957 = add i64 %3956, 200
  store i64 %3957, ptr @simtime, align 8, !tbaa !15
  %3958 = load i32, ptr %3, align 4, !tbaa !102
  %3959 = icmp ne i32 %3958, 0
  br i1 %3959, label %3960, label %3969

3960:                                             ; preds = %3945
  %3961 = load ptr, ptr %2, align 8, !tbaa !5
  %3962 = getelementptr inbounds %struct.PDP6, ptr %3961, i32 0, i32 34
  %3963 = load i32, ptr %3962, align 8, !tbaa !33
  %3964 = add i32 %3963, 1
  %3965 = and i32 %3964, 262143
  %3966 = load ptr, ptr %2, align 8, !tbaa !5
  %3967 = getelementptr inbounds %struct.PDP6, ptr %3966, i32 0, i32 34
  store i32 %3965, ptr %3967, align 8, !tbaa !33
  %3968 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %3968)
  br label %3969

3969:                                             ; preds = %3960, %3945
  %3970 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3970, ptr noundef @.str.121)
  %3971 = load i64, ptr @simtime, align 8, !tbaa !15
  %3972 = add i64 %3971, 200
  store i64 %3972, ptr @simtime, align 8, !tbaa !15
  br label %17859

3973:                                             ; preds = %17
  %3974 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3974, ptr noundef @.str.41)
  %3975 = load i64, ptr @simtime, align 8, !tbaa !15
  %3976 = add i64 %3975, 100
  store i64 %3976, ptr @simtime, align 8, !tbaa !15
  %3977 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3977, ptr noundef @.str.42)
  %3978 = load i64, ptr @simtime, align 8, !tbaa !15
  %3979 = add i64 %3978, 100
  store i64 %3979, ptr @simtime, align 8, !tbaa !15
  %3980 = load ptr, ptr %2, align 8, !tbaa !5
  %3981 = getelementptr inbounds %struct.PDP6, ptr %3980, i32 0, i32 58
  store i8 1, ptr %3981, align 1, !tbaa !76
  %3982 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %3982)
  %3983 = load ptr, ptr %2, align 8, !tbaa !5
  %3984 = getelementptr inbounds %struct.PDP6, ptr %3983, i32 0, i32 58
  store i8 0, ptr %3984, align 1, !tbaa !76
  %3985 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3985, ptr noundef @.str.43)
  %3986 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3986, ptr noundef @.str.65)
  %3987 = load i64, ptr @simtime, align 8, !tbaa !15
  %3988 = add i64 %3987, 100
  store i64 %3988, ptr @simtime, align 8, !tbaa !15
  %3989 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3989, ptr noundef @.str.122)
  %3990 = load i64, ptr @simtime, align 8, !tbaa !15
  %3991 = add i64 %3990, 100
  store i64 %3991, ptr @simtime, align 8, !tbaa !15
  %3992 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3992, ptr noundef @.str.125)
  %3993 = load i64, ptr @simtime, align 8, !tbaa !15
  %3994 = add i64 %3993, 100
  store i64 %3994, ptr @simtime, align 8, !tbaa !15
  %3995 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3995, ptr noundef @.str.126)
  %3996 = load i64, ptr @simtime, align 8, !tbaa !15
  %3997 = add i64 %3996, 100
  store i64 %3997, ptr @simtime, align 8, !tbaa !15
  %3998 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %3998, ptr noundef @.str.127)
  %3999 = load i64, ptr @simtime, align 8, !tbaa !15
  %4000 = add i64 %3999, 200
  store i64 %4000, ptr @simtime, align 8, !tbaa !15
  %4001 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4001, ptr noundef @.str.121)
  %4002 = load i64, ptr @simtime, align 8, !tbaa !15
  %4003 = add i64 %4002, 200
  store i64 %4003, ptr @simtime, align 8, !tbaa !15
  br label %17859

4004:                                             ; preds = %17
  %4005 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4005, ptr noundef @.str.41)
  %4006 = load i64, ptr @simtime, align 8, !tbaa !15
  %4007 = add i64 %4006, 100
  store i64 %4007, ptr @simtime, align 8, !tbaa !15
  %4008 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4008, ptr noundef @.str.42)
  %4009 = load i64, ptr @simtime, align 8, !tbaa !15
  %4010 = add i64 %4009, 100
  store i64 %4010, ptr @simtime, align 8, !tbaa !15
  %4011 = load ptr, ptr %2, align 8, !tbaa !5
  %4012 = getelementptr inbounds %struct.PDP6, ptr %4011, i32 0, i32 58
  store i8 1, ptr %4012, align 1, !tbaa !76
  %4013 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %4013)
  %4014 = load ptr, ptr %2, align 8, !tbaa !5
  %4015 = getelementptr inbounds %struct.PDP6, ptr %4014, i32 0, i32 58
  store i8 0, ptr %4015, align 1, !tbaa !76
  %4016 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4016, ptr noundef @.str.43)
  %4017 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4017, ptr noundef @.str.65)
  %4018 = load i64, ptr @simtime, align 8, !tbaa !15
  %4019 = add i64 %4018, 100
  store i64 %4019, ptr @simtime, align 8, !tbaa !15
  %4020 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4020, ptr noundef @.str.122)
  %4021 = load i64, ptr @simtime, align 8, !tbaa !15
  %4022 = add i64 %4021, 100
  store i64 %4022, ptr @simtime, align 8, !tbaa !15
  %4023 = load ptr, ptr %2, align 8, !tbaa !5
  %4024 = getelementptr inbounds %struct.PDP6, ptr %4023, i32 0, i32 28
  %4025 = load i64, ptr %4024, align 8, !tbaa !34
  %4026 = and i64 %4025, 34359738368
  %4027 = icmp ne i64 %4026, 0
  %4028 = xor i1 %4027, true
  %4029 = xor i1 %4028, true
  %4030 = zext i1 %4029 to i32
  %4031 = load ptr, ptr %2, align 8, !tbaa !5
  %4032 = getelementptr inbounds %struct.PDP6, ptr %4031, i32 0, i32 126
  %4033 = load i8, ptr %4032, align 1, !tbaa !66, !range !20, !noundef !21
  %4034 = trunc i8 %4033 to i1
  %4035 = zext i1 %4034 to i32
  %4036 = load ptr, ptr %2, align 8, !tbaa !5
  %4037 = getelementptr inbounds %struct.PDP6, ptr %4036, i32 0, i32 127
  %4038 = load i8, ptr %4037, align 2, !tbaa !67, !range !20, !noundef !21
  %4039 = trunc i8 %4038 to i1
  %4040 = zext i1 %4039 to i32
  %4041 = icmp ne i32 %4035, %4040
  %4042 = zext i1 %4041 to i32
  %4043 = icmp ne i32 %4030, %4042
  %4044 = zext i1 %4043 to i32
  store i32 %4044, ptr %3, align 4, !tbaa !102
  %4045 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4045, ptr noundef @.str.125)
  %4046 = load i64, ptr @simtime, align 8, !tbaa !15
  %4047 = add i64 %4046, 100
  store i64 %4047, ptr @simtime, align 8, !tbaa !15
  %4048 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4048, ptr noundef @.str.126)
  %4049 = load i64, ptr @simtime, align 8, !tbaa !15
  %4050 = add i64 %4049, 100
  store i64 %4050, ptr @simtime, align 8, !tbaa !15
  %4051 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4051, ptr noundef @.str.127)
  %4052 = load i64, ptr @simtime, align 8, !tbaa !15
  %4053 = add i64 %4052, 200
  store i64 %4053, ptr @simtime, align 8, !tbaa !15
  %4054 = load i32, ptr %3, align 4, !tbaa !102
  %4055 = icmp ne i32 %4054, 0
  br i1 %4055, label %4056, label %4065

4056:                                             ; preds = %4004
  %4057 = load ptr, ptr %2, align 8, !tbaa !5
  %4058 = getelementptr inbounds %struct.PDP6, ptr %4057, i32 0, i32 34
  %4059 = load i32, ptr %4058, align 8, !tbaa !33
  %4060 = add i32 %4059, 1
  %4061 = and i32 %4060, 262143
  %4062 = load ptr, ptr %2, align 8, !tbaa !5
  %4063 = getelementptr inbounds %struct.PDP6, ptr %4062, i32 0, i32 34
  store i32 %4061, ptr %4063, align 8, !tbaa !33
  %4064 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4064)
  br label %4065

4065:                                             ; preds = %4056, %4004
  %4066 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4066, ptr noundef @.str.121)
  %4067 = load i64, ptr @simtime, align 8, !tbaa !15
  %4068 = add i64 %4067, 200
  store i64 %4068, ptr @simtime, align 8, !tbaa !15
  br label %17859

4069:                                             ; preds = %17
  %4070 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4070, ptr noundef @.str.41)
  %4071 = load i64, ptr @simtime, align 8, !tbaa !15
  %4072 = add i64 %4071, 100
  store i64 %4072, ptr @simtime, align 8, !tbaa !15
  %4073 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4073, ptr noundef @.str.42)
  %4074 = load i64, ptr @simtime, align 8, !tbaa !15
  %4075 = add i64 %4074, 100
  store i64 %4075, ptr @simtime, align 8, !tbaa !15
  %4076 = load ptr, ptr %2, align 8, !tbaa !5
  %4077 = getelementptr inbounds %struct.PDP6, ptr %4076, i32 0, i32 58
  store i8 1, ptr %4077, align 1, !tbaa !76
  %4078 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %4078)
  %4079 = load ptr, ptr %2, align 8, !tbaa !5
  %4080 = getelementptr inbounds %struct.PDP6, ptr %4079, i32 0, i32 58
  store i8 0, ptr %4080, align 1, !tbaa !76
  %4081 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4081, ptr noundef @.str.43)
  %4082 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4082, ptr noundef @.str.65)
  %4083 = load i64, ptr @simtime, align 8, !tbaa !15
  %4084 = add i64 %4083, 100
  store i64 %4084, ptr @simtime, align 8, !tbaa !15
  %4085 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4085, ptr noundef @.str.122)
  %4086 = load i64, ptr @simtime, align 8, !tbaa !15
  %4087 = add i64 %4086, 100
  store i64 %4087, ptr @simtime, align 8, !tbaa !15
  %4088 = load ptr, ptr %2, align 8, !tbaa !5
  %4089 = getelementptr inbounds %struct.PDP6, ptr %4088, i32 0, i32 28
  %4090 = load i64, ptr %4089, align 8, !tbaa !34
  %4091 = icmp eq i64 %4090, 0
  %4092 = zext i1 %4091 to i32
  store i32 %4092, ptr %3, align 4, !tbaa !102
  %4093 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4093, ptr noundef @.str.125)
  %4094 = load i64, ptr @simtime, align 8, !tbaa !15
  %4095 = add i64 %4094, 100
  store i64 %4095, ptr @simtime, align 8, !tbaa !15
  %4096 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4096, ptr noundef @.str.126)
  %4097 = load i64, ptr @simtime, align 8, !tbaa !15
  %4098 = add i64 %4097, 100
  store i64 %4098, ptr @simtime, align 8, !tbaa !15
  %4099 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4099, ptr noundef @.str.127)
  %4100 = load i64, ptr @simtime, align 8, !tbaa !15
  %4101 = add i64 %4100, 200
  store i64 %4101, ptr @simtime, align 8, !tbaa !15
  %4102 = load i32, ptr %3, align 4, !tbaa !102
  %4103 = icmp ne i32 %4102, 0
  br i1 %4103, label %4104, label %4113

4104:                                             ; preds = %4069
  %4105 = load ptr, ptr %2, align 8, !tbaa !5
  %4106 = getelementptr inbounds %struct.PDP6, ptr %4105, i32 0, i32 34
  %4107 = load i32, ptr %4106, align 8, !tbaa !33
  %4108 = add i32 %4107, 1
  %4109 = and i32 %4108, 262143
  %4110 = load ptr, ptr %2, align 8, !tbaa !5
  %4111 = getelementptr inbounds %struct.PDP6, ptr %4110, i32 0, i32 34
  store i32 %4109, ptr %4111, align 8, !tbaa !33
  %4112 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4112)
  br label %4113

4113:                                             ; preds = %4104, %4069
  %4114 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4114, ptr noundef @.str.121)
  %4115 = load i64, ptr @simtime, align 8, !tbaa !15
  %4116 = add i64 %4115, 200
  store i64 %4116, ptr @simtime, align 8, !tbaa !15
  br label %17859

4117:                                             ; preds = %17
  %4118 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4118, ptr noundef @.str.41)
  %4119 = load i64, ptr @simtime, align 8, !tbaa !15
  %4120 = add i64 %4119, 100
  store i64 %4120, ptr @simtime, align 8, !tbaa !15
  %4121 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4121, ptr noundef @.str.42)
  %4122 = load i64, ptr @simtime, align 8, !tbaa !15
  %4123 = add i64 %4122, 100
  store i64 %4123, ptr @simtime, align 8, !tbaa !15
  %4124 = load ptr, ptr %2, align 8, !tbaa !5
  %4125 = getelementptr inbounds %struct.PDP6, ptr %4124, i32 0, i32 58
  store i8 1, ptr %4125, align 1, !tbaa !76
  %4126 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %4126)
  %4127 = load ptr, ptr %2, align 8, !tbaa !5
  %4128 = getelementptr inbounds %struct.PDP6, ptr %4127, i32 0, i32 58
  store i8 0, ptr %4128, align 1, !tbaa !76
  %4129 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4129, ptr noundef @.str.43)
  %4130 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4130, ptr noundef @.str.65)
  %4131 = load i64, ptr @simtime, align 8, !tbaa !15
  %4132 = add i64 %4131, 100
  store i64 %4132, ptr @simtime, align 8, !tbaa !15
  %4133 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4133, ptr noundef @.str.122)
  %4134 = load i64, ptr @simtime, align 8, !tbaa !15
  %4135 = add i64 %4134, 100
  store i64 %4135, ptr @simtime, align 8, !tbaa !15
  %4136 = load ptr, ptr %2, align 8, !tbaa !5
  %4137 = getelementptr inbounds %struct.PDP6, ptr %4136, i32 0, i32 28
  %4138 = load i64, ptr %4137, align 8, !tbaa !34
  %4139 = and i64 %4138, 34359738368
  %4140 = icmp ne i64 %4139, 0
  %4141 = xor i1 %4140, true
  %4142 = xor i1 %4141, true
  %4143 = zext i1 %4142 to i32
  %4144 = load ptr, ptr %2, align 8, !tbaa !5
  %4145 = getelementptr inbounds %struct.PDP6, ptr %4144, i32 0, i32 126
  %4146 = load i8, ptr %4145, align 1, !tbaa !66, !range !20, !noundef !21
  %4147 = trunc i8 %4146 to i1
  %4148 = zext i1 %4147 to i32
  %4149 = load ptr, ptr %2, align 8, !tbaa !5
  %4150 = getelementptr inbounds %struct.PDP6, ptr %4149, i32 0, i32 127
  %4151 = load i8, ptr %4150, align 2, !tbaa !67, !range !20, !noundef !21
  %4152 = trunc i8 %4151 to i1
  %4153 = zext i1 %4152 to i32
  %4154 = icmp ne i32 %4148, %4153
  %4155 = zext i1 %4154 to i32
  %4156 = icmp ne i32 %4143, %4155
  br i1 %4156, label %4162, label %4157

4157:                                             ; preds = %4117
  %4158 = load ptr, ptr %2, align 8, !tbaa !5
  %4159 = getelementptr inbounds %struct.PDP6, ptr %4158, i32 0, i32 28
  %4160 = load i64, ptr %4159, align 8, !tbaa !34
  %4161 = icmp eq i64 %4160, 0
  br label %4162

4162:                                             ; preds = %4157, %4117
  %4163 = phi i1 [ true, %4117 ], [ %4161, %4157 ]
  %4164 = zext i1 %4163 to i32
  store i32 %4164, ptr %3, align 4, !tbaa !102
  %4165 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4165, ptr noundef @.str.125)
  %4166 = load i64, ptr @simtime, align 8, !tbaa !15
  %4167 = add i64 %4166, 100
  store i64 %4167, ptr @simtime, align 8, !tbaa !15
  %4168 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4168, ptr noundef @.str.126)
  %4169 = load i64, ptr @simtime, align 8, !tbaa !15
  %4170 = add i64 %4169, 100
  store i64 %4170, ptr @simtime, align 8, !tbaa !15
  %4171 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4171, ptr noundef @.str.127)
  %4172 = load i64, ptr @simtime, align 8, !tbaa !15
  %4173 = add i64 %4172, 200
  store i64 %4173, ptr @simtime, align 8, !tbaa !15
  %4174 = load i32, ptr %3, align 4, !tbaa !102
  %4175 = icmp ne i32 %4174, 0
  br i1 %4175, label %4176, label %4185

4176:                                             ; preds = %4162
  %4177 = load ptr, ptr %2, align 8, !tbaa !5
  %4178 = getelementptr inbounds %struct.PDP6, ptr %4177, i32 0, i32 34
  %4179 = load i32, ptr %4178, align 8, !tbaa !33
  %4180 = add i32 %4179, 1
  %4181 = and i32 %4180, 262143
  %4182 = load ptr, ptr %2, align 8, !tbaa !5
  %4183 = getelementptr inbounds %struct.PDP6, ptr %4182, i32 0, i32 34
  store i32 %4181, ptr %4183, align 8, !tbaa !33
  %4184 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4184)
  br label %4185

4185:                                             ; preds = %4176, %4162
  %4186 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4186, ptr noundef @.str.121)
  %4187 = load i64, ptr @simtime, align 8, !tbaa !15
  %4188 = add i64 %4187, 200
  store i64 %4188, ptr @simtime, align 8, !tbaa !15
  br label %17859

4189:                                             ; preds = %17
  %4190 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4190, ptr noundef @.str.41)
  %4191 = load i64, ptr @simtime, align 8, !tbaa !15
  %4192 = add i64 %4191, 100
  store i64 %4192, ptr @simtime, align 8, !tbaa !15
  %4193 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4193, ptr noundef @.str.42)
  %4194 = load i64, ptr @simtime, align 8, !tbaa !15
  %4195 = add i64 %4194, 100
  store i64 %4195, ptr @simtime, align 8, !tbaa !15
  %4196 = load ptr, ptr %2, align 8, !tbaa !5
  %4197 = getelementptr inbounds %struct.PDP6, ptr %4196, i32 0, i32 58
  store i8 1, ptr %4197, align 1, !tbaa !76
  %4198 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %4198)
  %4199 = load ptr, ptr %2, align 8, !tbaa !5
  %4200 = getelementptr inbounds %struct.PDP6, ptr %4199, i32 0, i32 58
  store i8 0, ptr %4200, align 1, !tbaa !76
  %4201 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4201, ptr noundef @.str.43)
  %4202 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4202, ptr noundef @.str.65)
  %4203 = load i64, ptr @simtime, align 8, !tbaa !15
  %4204 = add i64 %4203, 100
  store i64 %4204, ptr @simtime, align 8, !tbaa !15
  %4205 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4205, ptr noundef @.str.122)
  %4206 = load i64, ptr @simtime, align 8, !tbaa !15
  %4207 = add i64 %4206, 100
  store i64 %4207, ptr @simtime, align 8, !tbaa !15
  %4208 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4208, ptr noundef @.str.125)
  %4209 = load i64, ptr @simtime, align 8, !tbaa !15
  %4210 = add i64 %4209, 100
  store i64 %4210, ptr @simtime, align 8, !tbaa !15
  %4211 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4211, ptr noundef @.str.126)
  %4212 = load i64, ptr @simtime, align 8, !tbaa !15
  %4213 = add i64 %4212, 100
  store i64 %4213, ptr @simtime, align 8, !tbaa !15
  %4214 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4214, ptr noundef @.str.127)
  %4215 = load i64, ptr @simtime, align 8, !tbaa !15
  %4216 = add i64 %4215, 200
  store i64 %4216, ptr @simtime, align 8, !tbaa !15
  %4217 = load ptr, ptr %2, align 8, !tbaa !5
  %4218 = getelementptr inbounds %struct.PDP6, ptr %4217, i32 0, i32 34
  %4219 = load i32, ptr %4218, align 8, !tbaa !33
  %4220 = add i32 %4219, 1
  %4221 = and i32 %4220, 262143
  %4222 = load ptr, ptr %2, align 8, !tbaa !5
  %4223 = getelementptr inbounds %struct.PDP6, ptr %4222, i32 0, i32 34
  store i32 %4221, ptr %4223, align 8, !tbaa !33
  %4224 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4224)
  %4225 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4225, ptr noundef @.str.121)
  %4226 = load i64, ptr @simtime, align 8, !tbaa !15
  %4227 = add i64 %4226, 200
  store i64 %4227, ptr @simtime, align 8, !tbaa !15
  br label %17859

4228:                                             ; preds = %17
  %4229 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4229, ptr noundef @.str.41)
  %4230 = load i64, ptr @simtime, align 8, !tbaa !15
  %4231 = add i64 %4230, 100
  store i64 %4231, ptr @simtime, align 8, !tbaa !15
  %4232 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4232, ptr noundef @.str.42)
  %4233 = load i64, ptr @simtime, align 8, !tbaa !15
  %4234 = add i64 %4233, 100
  store i64 %4234, ptr @simtime, align 8, !tbaa !15
  %4235 = load ptr, ptr %2, align 8, !tbaa !5
  %4236 = getelementptr inbounds %struct.PDP6, ptr %4235, i32 0, i32 58
  store i8 1, ptr %4236, align 1, !tbaa !76
  %4237 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %4237)
  %4238 = load ptr, ptr %2, align 8, !tbaa !5
  %4239 = getelementptr inbounds %struct.PDP6, ptr %4238, i32 0, i32 58
  store i8 0, ptr %4239, align 1, !tbaa !76
  %4240 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4240, ptr noundef @.str.43)
  %4241 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4241, ptr noundef @.str.65)
  %4242 = load i64, ptr @simtime, align 8, !tbaa !15
  %4243 = add i64 %4242, 100
  store i64 %4243, ptr @simtime, align 8, !tbaa !15
  %4244 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4244, ptr noundef @.str.122)
  %4245 = load i64, ptr @simtime, align 8, !tbaa !15
  %4246 = add i64 %4245, 100
  store i64 %4246, ptr @simtime, align 8, !tbaa !15
  %4247 = load ptr, ptr %2, align 8, !tbaa !5
  %4248 = getelementptr inbounds %struct.PDP6, ptr %4247, i32 0, i32 28
  %4249 = load i64, ptr %4248, align 8, !tbaa !34
  %4250 = and i64 %4249, 34359738368
  %4251 = icmp ne i64 %4250, 0
  %4252 = xor i1 %4251, true
  %4253 = xor i1 %4252, true
  %4254 = zext i1 %4253 to i32
  %4255 = load ptr, ptr %2, align 8, !tbaa !5
  %4256 = getelementptr inbounds %struct.PDP6, ptr %4255, i32 0, i32 126
  %4257 = load i8, ptr %4256, align 1, !tbaa !66, !range !20, !noundef !21
  %4258 = trunc i8 %4257 to i1
  %4259 = zext i1 %4258 to i32
  %4260 = load ptr, ptr %2, align 8, !tbaa !5
  %4261 = getelementptr inbounds %struct.PDP6, ptr %4260, i32 0, i32 127
  %4262 = load i8, ptr %4261, align 2, !tbaa !67, !range !20, !noundef !21
  %4263 = trunc i8 %4262 to i1
  %4264 = zext i1 %4263 to i32
  %4265 = icmp ne i32 %4259, %4264
  %4266 = zext i1 %4265 to i32
  %4267 = icmp ne i32 %4254, %4266
  %4268 = xor i1 %4267, true
  %4269 = zext i1 %4268 to i32
  store i32 %4269, ptr %3, align 4, !tbaa !102
  %4270 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4270, ptr noundef @.str.125)
  %4271 = load i64, ptr @simtime, align 8, !tbaa !15
  %4272 = add i64 %4271, 100
  store i64 %4272, ptr @simtime, align 8, !tbaa !15
  %4273 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4273, ptr noundef @.str.126)
  %4274 = load i64, ptr @simtime, align 8, !tbaa !15
  %4275 = add i64 %4274, 100
  store i64 %4275, ptr @simtime, align 8, !tbaa !15
  %4276 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4276, ptr noundef @.str.127)
  %4277 = load i64, ptr @simtime, align 8, !tbaa !15
  %4278 = add i64 %4277, 200
  store i64 %4278, ptr @simtime, align 8, !tbaa !15
  %4279 = load i32, ptr %3, align 4, !tbaa !102
  %4280 = icmp ne i32 %4279, 0
  br i1 %4280, label %4281, label %4290

4281:                                             ; preds = %4228
  %4282 = load ptr, ptr %2, align 8, !tbaa !5
  %4283 = getelementptr inbounds %struct.PDP6, ptr %4282, i32 0, i32 34
  %4284 = load i32, ptr %4283, align 8, !tbaa !33
  %4285 = add i32 %4284, 1
  %4286 = and i32 %4285, 262143
  %4287 = load ptr, ptr %2, align 8, !tbaa !5
  %4288 = getelementptr inbounds %struct.PDP6, ptr %4287, i32 0, i32 34
  store i32 %4286, ptr %4288, align 8, !tbaa !33
  %4289 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4289)
  br label %4290

4290:                                             ; preds = %4281, %4228
  %4291 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4291, ptr noundef @.str.121)
  %4292 = load i64, ptr @simtime, align 8, !tbaa !15
  %4293 = add i64 %4292, 200
  store i64 %4293, ptr @simtime, align 8, !tbaa !15
  br label %17859

4294:                                             ; preds = %17
  %4295 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4295, ptr noundef @.str.41)
  %4296 = load i64, ptr @simtime, align 8, !tbaa !15
  %4297 = add i64 %4296, 100
  store i64 %4297, ptr @simtime, align 8, !tbaa !15
  %4298 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4298, ptr noundef @.str.42)
  %4299 = load i64, ptr @simtime, align 8, !tbaa !15
  %4300 = add i64 %4299, 100
  store i64 %4300, ptr @simtime, align 8, !tbaa !15
  %4301 = load ptr, ptr %2, align 8, !tbaa !5
  %4302 = getelementptr inbounds %struct.PDP6, ptr %4301, i32 0, i32 58
  store i8 1, ptr %4302, align 1, !tbaa !76
  %4303 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %4303)
  %4304 = load ptr, ptr %2, align 8, !tbaa !5
  %4305 = getelementptr inbounds %struct.PDP6, ptr %4304, i32 0, i32 58
  store i8 0, ptr %4305, align 1, !tbaa !76
  %4306 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4306, ptr noundef @.str.43)
  %4307 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4307, ptr noundef @.str.65)
  %4308 = load i64, ptr @simtime, align 8, !tbaa !15
  %4309 = add i64 %4308, 100
  store i64 %4309, ptr @simtime, align 8, !tbaa !15
  %4310 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4310, ptr noundef @.str.122)
  %4311 = load i64, ptr @simtime, align 8, !tbaa !15
  %4312 = add i64 %4311, 100
  store i64 %4312, ptr @simtime, align 8, !tbaa !15
  %4313 = load ptr, ptr %2, align 8, !tbaa !5
  %4314 = getelementptr inbounds %struct.PDP6, ptr %4313, i32 0, i32 28
  %4315 = load i64, ptr %4314, align 8, !tbaa !34
  %4316 = icmp eq i64 %4315, 0
  %4317 = xor i1 %4316, true
  %4318 = zext i1 %4317 to i32
  store i32 %4318, ptr %3, align 4, !tbaa !102
  %4319 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4319, ptr noundef @.str.125)
  %4320 = load i64, ptr @simtime, align 8, !tbaa !15
  %4321 = add i64 %4320, 100
  store i64 %4321, ptr @simtime, align 8, !tbaa !15
  %4322 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4322, ptr noundef @.str.126)
  %4323 = load i64, ptr @simtime, align 8, !tbaa !15
  %4324 = add i64 %4323, 100
  store i64 %4324, ptr @simtime, align 8, !tbaa !15
  %4325 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4325, ptr noundef @.str.127)
  %4326 = load i64, ptr @simtime, align 8, !tbaa !15
  %4327 = add i64 %4326, 200
  store i64 %4327, ptr @simtime, align 8, !tbaa !15
  %4328 = load i32, ptr %3, align 4, !tbaa !102
  %4329 = icmp ne i32 %4328, 0
  br i1 %4329, label %4330, label %4339

4330:                                             ; preds = %4294
  %4331 = load ptr, ptr %2, align 8, !tbaa !5
  %4332 = getelementptr inbounds %struct.PDP6, ptr %4331, i32 0, i32 34
  %4333 = load i32, ptr %4332, align 8, !tbaa !33
  %4334 = add i32 %4333, 1
  %4335 = and i32 %4334, 262143
  %4336 = load ptr, ptr %2, align 8, !tbaa !5
  %4337 = getelementptr inbounds %struct.PDP6, ptr %4336, i32 0, i32 34
  store i32 %4335, ptr %4337, align 8, !tbaa !33
  %4338 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4338)
  br label %4339

4339:                                             ; preds = %4330, %4294
  %4340 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4340, ptr noundef @.str.121)
  %4341 = load i64, ptr @simtime, align 8, !tbaa !15
  %4342 = add i64 %4341, 200
  store i64 %4342, ptr @simtime, align 8, !tbaa !15
  br label %17859

4343:                                             ; preds = %17
  %4344 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4344, ptr noundef @.str.41)
  %4345 = load i64, ptr @simtime, align 8, !tbaa !15
  %4346 = add i64 %4345, 100
  store i64 %4346, ptr @simtime, align 8, !tbaa !15
  %4347 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4347, ptr noundef @.str.42)
  %4348 = load i64, ptr @simtime, align 8, !tbaa !15
  %4349 = add i64 %4348, 100
  store i64 %4349, ptr @simtime, align 8, !tbaa !15
  %4350 = load ptr, ptr %2, align 8, !tbaa !5
  %4351 = getelementptr inbounds %struct.PDP6, ptr %4350, i32 0, i32 58
  store i8 1, ptr %4351, align 1, !tbaa !76
  %4352 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %4352)
  %4353 = load ptr, ptr %2, align 8, !tbaa !5
  %4354 = getelementptr inbounds %struct.PDP6, ptr %4353, i32 0, i32 58
  store i8 0, ptr %4354, align 1, !tbaa !76
  %4355 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4355, ptr noundef @.str.43)
  %4356 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4356, ptr noundef @.str.65)
  %4357 = load i64, ptr @simtime, align 8, !tbaa !15
  %4358 = add i64 %4357, 100
  store i64 %4358, ptr @simtime, align 8, !tbaa !15
  %4359 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4359, ptr noundef @.str.122)
  %4360 = load i64, ptr @simtime, align 8, !tbaa !15
  %4361 = add i64 %4360, 100
  store i64 %4361, ptr @simtime, align 8, !tbaa !15
  %4362 = load ptr, ptr %2, align 8, !tbaa !5
  %4363 = getelementptr inbounds %struct.PDP6, ptr %4362, i32 0, i32 28
  %4364 = load i64, ptr %4363, align 8, !tbaa !34
  %4365 = and i64 %4364, 34359738368
  %4366 = icmp ne i64 %4365, 0
  %4367 = xor i1 %4366, true
  %4368 = xor i1 %4367, true
  %4369 = zext i1 %4368 to i32
  %4370 = load ptr, ptr %2, align 8, !tbaa !5
  %4371 = getelementptr inbounds %struct.PDP6, ptr %4370, i32 0, i32 126
  %4372 = load i8, ptr %4371, align 1, !tbaa !66, !range !20, !noundef !21
  %4373 = trunc i8 %4372 to i1
  %4374 = zext i1 %4373 to i32
  %4375 = load ptr, ptr %2, align 8, !tbaa !5
  %4376 = getelementptr inbounds %struct.PDP6, ptr %4375, i32 0, i32 127
  %4377 = load i8, ptr %4376, align 2, !tbaa !67, !range !20, !noundef !21
  %4378 = trunc i8 %4377 to i1
  %4379 = zext i1 %4378 to i32
  %4380 = icmp ne i32 %4374, %4379
  %4381 = zext i1 %4380 to i32
  %4382 = icmp ne i32 %4369, %4381
  br i1 %4382, label %4388, label %4383

4383:                                             ; preds = %4343
  %4384 = load ptr, ptr %2, align 8, !tbaa !5
  %4385 = getelementptr inbounds %struct.PDP6, ptr %4384, i32 0, i32 28
  %4386 = load i64, ptr %4385, align 8, !tbaa !34
  %4387 = icmp eq i64 %4386, 0
  br label %4388

4388:                                             ; preds = %4383, %4343
  %4389 = phi i1 [ true, %4343 ], [ %4387, %4383 ]
  %4390 = xor i1 %4389, true
  %4391 = zext i1 %4390 to i32
  store i32 %4391, ptr %3, align 4, !tbaa !102
  %4392 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4392, ptr noundef @.str.125)
  %4393 = load i64, ptr @simtime, align 8, !tbaa !15
  %4394 = add i64 %4393, 100
  store i64 %4394, ptr @simtime, align 8, !tbaa !15
  %4395 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4395, ptr noundef @.str.126)
  %4396 = load i64, ptr @simtime, align 8, !tbaa !15
  %4397 = add i64 %4396, 100
  store i64 %4397, ptr @simtime, align 8, !tbaa !15
  %4398 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4398, ptr noundef @.str.127)
  %4399 = load i64, ptr @simtime, align 8, !tbaa !15
  %4400 = add i64 %4399, 200
  store i64 %4400, ptr @simtime, align 8, !tbaa !15
  %4401 = load i32, ptr %3, align 4, !tbaa !102
  %4402 = icmp ne i32 %4401, 0
  br i1 %4402, label %4403, label %4412

4403:                                             ; preds = %4388
  %4404 = load ptr, ptr %2, align 8, !tbaa !5
  %4405 = getelementptr inbounds %struct.PDP6, ptr %4404, i32 0, i32 34
  %4406 = load i32, ptr %4405, align 8, !tbaa !33
  %4407 = add i32 %4406, 1
  %4408 = and i32 %4407, 262143
  %4409 = load ptr, ptr %2, align 8, !tbaa !5
  %4410 = getelementptr inbounds %struct.PDP6, ptr %4409, i32 0, i32 34
  store i32 %4408, ptr %4410, align 8, !tbaa !33
  %4411 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4411)
  br label %4412

4412:                                             ; preds = %4403, %4388
  %4413 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4413, ptr noundef @.str.121)
  %4414 = load i64, ptr @simtime, align 8, !tbaa !15
  %4415 = add i64 %4414, 200
  store i64 %4415, ptr @simtime, align 8, !tbaa !15
  br label %17859

4416:                                             ; preds = %17
  %4417 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4417, ptr noundef @.str.41)
  %4418 = load i64, ptr @simtime, align 8, !tbaa !15
  %4419 = add i64 %4418, 100
  store i64 %4419, ptr @simtime, align 8, !tbaa !15
  %4420 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4420, ptr noundef @.str.42)
  %4421 = load i64, ptr @simtime, align 8, !tbaa !15
  %4422 = add i64 %4421, 100
  store i64 %4422, ptr @simtime, align 8, !tbaa !15
  %4423 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4423, ptr noundef @.str.43)
  %4424 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4424, ptr noundef @.str.65)
  %4425 = load i64, ptr @simtime, align 8, !tbaa !15
  %4426 = add i64 %4425, 100
  store i64 %4426, ptr @simtime, align 8, !tbaa !15
  %4427 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4427, ptr noundef @.str.122)
  %4428 = load i64, ptr @simtime, align 8, !tbaa !15
  %4429 = add i64 %4428, 100
  store i64 %4429, ptr @simtime, align 8, !tbaa !15
  %4430 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4430, ptr noundef @.str.125)
  %4431 = load i64, ptr @simtime, align 8, !tbaa !15
  %4432 = add i64 %4431, 100
  store i64 %4432, ptr @simtime, align 8, !tbaa !15
  %4433 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4433, ptr noundef @.str.126)
  %4434 = load i64, ptr @simtime, align 8, !tbaa !15
  %4435 = add i64 %4434, 100
  store i64 %4435, ptr @simtime, align 8, !tbaa !15
  %4436 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4436, ptr noundef @.str.127)
  %4437 = load i64, ptr @simtime, align 8, !tbaa !15
  %4438 = add i64 %4437, 200
  store i64 %4438, ptr @simtime, align 8, !tbaa !15
  %4439 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4439, ptr noundef @.str.121)
  %4440 = load i64, ptr @simtime, align 8, !tbaa !15
  %4441 = add i64 %4440, 200
  store i64 %4441, ptr @simtime, align 8, !tbaa !15
  %4442 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4442)
  br label %17859

4443:                                             ; preds = %17
  %4444 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4444, ptr noundef @.str.41)
  %4445 = load i64, ptr @simtime, align 8, !tbaa !15
  %4446 = add i64 %4445, 100
  store i64 %4446, ptr @simtime, align 8, !tbaa !15
  %4447 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4447, ptr noundef @.str.42)
  %4448 = load i64, ptr @simtime, align 8, !tbaa !15
  %4449 = add i64 %4448, 100
  store i64 %4449, ptr @simtime, align 8, !tbaa !15
  %4450 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4450, ptr noundef @.str.43)
  %4451 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4451, ptr noundef @.str.65)
  %4452 = load i64, ptr @simtime, align 8, !tbaa !15
  %4453 = add i64 %4452, 100
  store i64 %4453, ptr @simtime, align 8, !tbaa !15
  %4454 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4454, ptr noundef @.str.122)
  %4455 = load i64, ptr @simtime, align 8, !tbaa !15
  %4456 = add i64 %4455, 100
  store i64 %4456, ptr @simtime, align 8, !tbaa !15
  %4457 = load ptr, ptr %2, align 8, !tbaa !5
  %4458 = getelementptr inbounds %struct.PDP6, ptr %4457, i32 0, i32 28
  %4459 = load i64, ptr %4458, align 8, !tbaa !34
  %4460 = and i64 %4459, 34359738368
  %4461 = icmp ne i64 %4460, 0
  %4462 = xor i1 %4461, true
  %4463 = xor i1 %4462, true
  %4464 = zext i1 %4463 to i32
  store i32 %4464, ptr %3, align 4, !tbaa !102
  %4465 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4465, ptr noundef @.str.125)
  %4466 = load i64, ptr @simtime, align 8, !tbaa !15
  %4467 = add i64 %4466, 100
  store i64 %4467, ptr @simtime, align 8, !tbaa !15
  %4468 = load i32, ptr %3, align 4, !tbaa !102
  %4469 = icmp ne i32 %4468, 0
  br i1 %4469, label %4470, label %4473

4470:                                             ; preds = %4443
  %4471 = load ptr, ptr %2, align 8, !tbaa !5
  %4472 = getelementptr inbounds %struct.PDP6, ptr %4471, i32 0, i32 34
  store i32 0, ptr %4472, align 8, !tbaa !33
  br label %4473

4473:                                             ; preds = %4470, %4443
  %4474 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4474, ptr noundef @.str.126)
  %4475 = load i64, ptr @simtime, align 8, !tbaa !15
  %4476 = add i64 %4475, 100
  store i64 %4476, ptr @simtime, align 8, !tbaa !15
  %4477 = load i32, ptr %3, align 4, !tbaa !102
  %4478 = icmp ne i32 %4477, 0
  br i1 %4478, label %4479, label %4487

4479:                                             ; preds = %4473
  %4480 = load ptr, ptr %2, align 8, !tbaa !5
  %4481 = getelementptr inbounds %struct.PDP6, ptr %4480, i32 0, i32 35
  %4482 = load i32, ptr %4481, align 4, !tbaa !32
  %4483 = load ptr, ptr %2, align 8, !tbaa !5
  %4484 = getelementptr inbounds %struct.PDP6, ptr %4483, i32 0, i32 34
  %4485 = load i32, ptr %4484, align 8, !tbaa !33
  %4486 = or i32 %4485, %4482
  store i32 %4486, ptr %4484, align 8, !tbaa !33
  br label %4487

4487:                                             ; preds = %4479, %4473
  %4488 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4488, ptr noundef @.str.127)
  %4489 = load i64, ptr @simtime, align 8, !tbaa !15
  %4490 = add i64 %4489, 200
  store i64 %4490, ptr @simtime, align 8, !tbaa !15
  %4491 = load i32, ptr %3, align 4, !tbaa !102
  %4492 = icmp ne i32 %4491, 0
  br i1 %4492, label %4493, label %4495

4493:                                             ; preds = %4487
  %4494 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4494)
  br label %4495

4495:                                             ; preds = %4493, %4487
  %4496 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4496, ptr noundef @.str.121)
  %4497 = load i64, ptr @simtime, align 8, !tbaa !15
  %4498 = add i64 %4497, 200
  store i64 %4498, ptr @simtime, align 8, !tbaa !15
  %4499 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4499)
  br label %17859

4500:                                             ; preds = %17
  %4501 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4501, ptr noundef @.str.41)
  %4502 = load i64, ptr @simtime, align 8, !tbaa !15
  %4503 = add i64 %4502, 100
  store i64 %4503, ptr @simtime, align 8, !tbaa !15
  %4504 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4504, ptr noundef @.str.42)
  %4505 = load i64, ptr @simtime, align 8, !tbaa !15
  %4506 = add i64 %4505, 100
  store i64 %4506, ptr @simtime, align 8, !tbaa !15
  %4507 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4507, ptr noundef @.str.43)
  %4508 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4508, ptr noundef @.str.65)
  %4509 = load i64, ptr @simtime, align 8, !tbaa !15
  %4510 = add i64 %4509, 100
  store i64 %4510, ptr @simtime, align 8, !tbaa !15
  %4511 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4511, ptr noundef @.str.122)
  %4512 = load i64, ptr @simtime, align 8, !tbaa !15
  %4513 = add i64 %4512, 100
  store i64 %4513, ptr @simtime, align 8, !tbaa !15
  %4514 = load ptr, ptr %2, align 8, !tbaa !5
  %4515 = getelementptr inbounds %struct.PDP6, ptr %4514, i32 0, i32 28
  %4516 = load i64, ptr %4515, align 8, !tbaa !34
  %4517 = icmp eq i64 %4516, 0
  %4518 = zext i1 %4517 to i32
  store i32 %4518, ptr %3, align 4, !tbaa !102
  %4519 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4519, ptr noundef @.str.125)
  %4520 = load i64, ptr @simtime, align 8, !tbaa !15
  %4521 = add i64 %4520, 100
  store i64 %4521, ptr @simtime, align 8, !tbaa !15
  %4522 = load i32, ptr %3, align 4, !tbaa !102
  %4523 = icmp ne i32 %4522, 0
  br i1 %4523, label %4524, label %4527

4524:                                             ; preds = %4500
  %4525 = load ptr, ptr %2, align 8, !tbaa !5
  %4526 = getelementptr inbounds %struct.PDP6, ptr %4525, i32 0, i32 34
  store i32 0, ptr %4526, align 8, !tbaa !33
  br label %4527

4527:                                             ; preds = %4524, %4500
  %4528 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4528, ptr noundef @.str.126)
  %4529 = load i64, ptr @simtime, align 8, !tbaa !15
  %4530 = add i64 %4529, 100
  store i64 %4530, ptr @simtime, align 8, !tbaa !15
  %4531 = load i32, ptr %3, align 4, !tbaa !102
  %4532 = icmp ne i32 %4531, 0
  br i1 %4532, label %4533, label %4541

4533:                                             ; preds = %4527
  %4534 = load ptr, ptr %2, align 8, !tbaa !5
  %4535 = getelementptr inbounds %struct.PDP6, ptr %4534, i32 0, i32 35
  %4536 = load i32, ptr %4535, align 4, !tbaa !32
  %4537 = load ptr, ptr %2, align 8, !tbaa !5
  %4538 = getelementptr inbounds %struct.PDP6, ptr %4537, i32 0, i32 34
  %4539 = load i32, ptr %4538, align 8, !tbaa !33
  %4540 = or i32 %4539, %4536
  store i32 %4540, ptr %4538, align 8, !tbaa !33
  br label %4541

4541:                                             ; preds = %4533, %4527
  %4542 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4542, ptr noundef @.str.127)
  %4543 = load i64, ptr @simtime, align 8, !tbaa !15
  %4544 = add i64 %4543, 200
  store i64 %4544, ptr @simtime, align 8, !tbaa !15
  %4545 = load i32, ptr %3, align 4, !tbaa !102
  %4546 = icmp ne i32 %4545, 0
  br i1 %4546, label %4547, label %4549

4547:                                             ; preds = %4541
  %4548 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4548)
  br label %4549

4549:                                             ; preds = %4547, %4541
  %4550 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4550, ptr noundef @.str.121)
  %4551 = load i64, ptr @simtime, align 8, !tbaa !15
  %4552 = add i64 %4551, 200
  store i64 %4552, ptr @simtime, align 8, !tbaa !15
  %4553 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4553)
  br label %17859

4554:                                             ; preds = %17
  %4555 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4555, ptr noundef @.str.41)
  %4556 = load i64, ptr @simtime, align 8, !tbaa !15
  %4557 = add i64 %4556, 100
  store i64 %4557, ptr @simtime, align 8, !tbaa !15
  %4558 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4558, ptr noundef @.str.42)
  %4559 = load i64, ptr @simtime, align 8, !tbaa !15
  %4560 = add i64 %4559, 100
  store i64 %4560, ptr @simtime, align 8, !tbaa !15
  %4561 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4561, ptr noundef @.str.43)
  %4562 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4562, ptr noundef @.str.65)
  %4563 = load i64, ptr @simtime, align 8, !tbaa !15
  %4564 = add i64 %4563, 100
  store i64 %4564, ptr @simtime, align 8, !tbaa !15
  %4565 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4565, ptr noundef @.str.122)
  %4566 = load i64, ptr @simtime, align 8, !tbaa !15
  %4567 = add i64 %4566, 100
  store i64 %4567, ptr @simtime, align 8, !tbaa !15
  %4568 = load ptr, ptr %2, align 8, !tbaa !5
  %4569 = getelementptr inbounds %struct.PDP6, ptr %4568, i32 0, i32 28
  %4570 = load i64, ptr %4569, align 8, !tbaa !34
  %4571 = and i64 %4570, 34359738368
  %4572 = icmp ne i64 %4571, 0
  br i1 %4572, label %4578, label %4573

4573:                                             ; preds = %4554
  %4574 = load ptr, ptr %2, align 8, !tbaa !5
  %4575 = getelementptr inbounds %struct.PDP6, ptr %4574, i32 0, i32 28
  %4576 = load i64, ptr %4575, align 8, !tbaa !34
  %4577 = icmp eq i64 %4576, 0
  br label %4578

4578:                                             ; preds = %4573, %4554
  %4579 = phi i1 [ true, %4554 ], [ %4577, %4573 ]
  %4580 = zext i1 %4579 to i32
  store i32 %4580, ptr %3, align 4, !tbaa !102
  %4581 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4581, ptr noundef @.str.125)
  %4582 = load i64, ptr @simtime, align 8, !tbaa !15
  %4583 = add i64 %4582, 100
  store i64 %4583, ptr @simtime, align 8, !tbaa !15
  %4584 = load i32, ptr %3, align 4, !tbaa !102
  %4585 = icmp ne i32 %4584, 0
  br i1 %4585, label %4586, label %4589

4586:                                             ; preds = %4578
  %4587 = load ptr, ptr %2, align 8, !tbaa !5
  %4588 = getelementptr inbounds %struct.PDP6, ptr %4587, i32 0, i32 34
  store i32 0, ptr %4588, align 8, !tbaa !33
  br label %4589

4589:                                             ; preds = %4586, %4578
  %4590 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4590, ptr noundef @.str.126)
  %4591 = load i64, ptr @simtime, align 8, !tbaa !15
  %4592 = add i64 %4591, 100
  store i64 %4592, ptr @simtime, align 8, !tbaa !15
  %4593 = load i32, ptr %3, align 4, !tbaa !102
  %4594 = icmp ne i32 %4593, 0
  br i1 %4594, label %4595, label %4603

4595:                                             ; preds = %4589
  %4596 = load ptr, ptr %2, align 8, !tbaa !5
  %4597 = getelementptr inbounds %struct.PDP6, ptr %4596, i32 0, i32 35
  %4598 = load i32, ptr %4597, align 4, !tbaa !32
  %4599 = load ptr, ptr %2, align 8, !tbaa !5
  %4600 = getelementptr inbounds %struct.PDP6, ptr %4599, i32 0, i32 34
  %4601 = load i32, ptr %4600, align 8, !tbaa !33
  %4602 = or i32 %4601, %4598
  store i32 %4602, ptr %4600, align 8, !tbaa !33
  br label %4603

4603:                                             ; preds = %4595, %4589
  %4604 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4604, ptr noundef @.str.127)
  %4605 = load i64, ptr @simtime, align 8, !tbaa !15
  %4606 = add i64 %4605, 200
  store i64 %4606, ptr @simtime, align 8, !tbaa !15
  %4607 = load i32, ptr %3, align 4, !tbaa !102
  %4608 = icmp ne i32 %4607, 0
  br i1 %4608, label %4609, label %4611

4609:                                             ; preds = %4603
  %4610 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4610)
  br label %4611

4611:                                             ; preds = %4609, %4603
  %4612 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4612, ptr noundef @.str.121)
  %4613 = load i64, ptr @simtime, align 8, !tbaa !15
  %4614 = add i64 %4613, 200
  store i64 %4614, ptr @simtime, align 8, !tbaa !15
  %4615 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4615)
  br label %17859

4616:                                             ; preds = %17
  %4617 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4617, ptr noundef @.str.41)
  %4618 = load i64, ptr @simtime, align 8, !tbaa !15
  %4619 = add i64 %4618, 100
  store i64 %4619, ptr @simtime, align 8, !tbaa !15
  %4620 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4620, ptr noundef @.str.42)
  %4621 = load i64, ptr @simtime, align 8, !tbaa !15
  %4622 = add i64 %4621, 100
  store i64 %4622, ptr @simtime, align 8, !tbaa !15
  %4623 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4623, ptr noundef @.str.43)
  %4624 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4624, ptr noundef @.str.65)
  %4625 = load i64, ptr @simtime, align 8, !tbaa !15
  %4626 = add i64 %4625, 100
  store i64 %4626, ptr @simtime, align 8, !tbaa !15
  %4627 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4627, ptr noundef @.str.122)
  %4628 = load i64, ptr @simtime, align 8, !tbaa !15
  %4629 = add i64 %4628, 100
  store i64 %4629, ptr @simtime, align 8, !tbaa !15
  %4630 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4630, ptr noundef @.str.125)
  %4631 = load i64, ptr @simtime, align 8, !tbaa !15
  %4632 = add i64 %4631, 100
  store i64 %4632, ptr @simtime, align 8, !tbaa !15
  %4633 = load ptr, ptr %2, align 8, !tbaa !5
  %4634 = getelementptr inbounds %struct.PDP6, ptr %4633, i32 0, i32 34
  store i32 0, ptr %4634, align 8, !tbaa !33
  %4635 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4635, ptr noundef @.str.126)
  %4636 = load i64, ptr @simtime, align 8, !tbaa !15
  %4637 = add i64 %4636, 100
  store i64 %4637, ptr @simtime, align 8, !tbaa !15
  %4638 = load ptr, ptr %2, align 8, !tbaa !5
  %4639 = getelementptr inbounds %struct.PDP6, ptr %4638, i32 0, i32 35
  %4640 = load i32, ptr %4639, align 4, !tbaa !32
  %4641 = load ptr, ptr %2, align 8, !tbaa !5
  %4642 = getelementptr inbounds %struct.PDP6, ptr %4641, i32 0, i32 34
  %4643 = load i32, ptr %4642, align 8, !tbaa !33
  %4644 = or i32 %4643, %4640
  store i32 %4644, ptr %4642, align 8, !tbaa !33
  %4645 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4645, ptr noundef @.str.127)
  %4646 = load i64, ptr @simtime, align 8, !tbaa !15
  %4647 = add i64 %4646, 200
  store i64 %4647, ptr @simtime, align 8, !tbaa !15
  %4648 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4648)
  %4649 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4649, ptr noundef @.str.121)
  %4650 = load i64, ptr @simtime, align 8, !tbaa !15
  %4651 = add i64 %4650, 200
  store i64 %4651, ptr @simtime, align 8, !tbaa !15
  %4652 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4652)
  br label %17859

4653:                                             ; preds = %17
  %4654 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4654, ptr noundef @.str.41)
  %4655 = load i64, ptr @simtime, align 8, !tbaa !15
  %4656 = add i64 %4655, 100
  store i64 %4656, ptr @simtime, align 8, !tbaa !15
  %4657 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4657, ptr noundef @.str.42)
  %4658 = load i64, ptr @simtime, align 8, !tbaa !15
  %4659 = add i64 %4658, 100
  store i64 %4659, ptr @simtime, align 8, !tbaa !15
  %4660 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4660, ptr noundef @.str.43)
  %4661 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4661, ptr noundef @.str.65)
  %4662 = load i64, ptr @simtime, align 8, !tbaa !15
  %4663 = add i64 %4662, 100
  store i64 %4663, ptr @simtime, align 8, !tbaa !15
  %4664 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4664, ptr noundef @.str.122)
  %4665 = load i64, ptr @simtime, align 8, !tbaa !15
  %4666 = add i64 %4665, 100
  store i64 %4666, ptr @simtime, align 8, !tbaa !15
  %4667 = load ptr, ptr %2, align 8, !tbaa !5
  %4668 = getelementptr inbounds %struct.PDP6, ptr %4667, i32 0, i32 28
  %4669 = load i64, ptr %4668, align 8, !tbaa !34
  %4670 = and i64 %4669, 34359738368
  %4671 = icmp ne i64 %4670, 0
  %4672 = xor i1 %4671, true
  %4673 = xor i1 %4672, true
  %4674 = xor i1 %4673, true
  %4675 = zext i1 %4674 to i32
  store i32 %4675, ptr %3, align 4, !tbaa !102
  %4676 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4676, ptr noundef @.str.125)
  %4677 = load i64, ptr @simtime, align 8, !tbaa !15
  %4678 = add i64 %4677, 100
  store i64 %4678, ptr @simtime, align 8, !tbaa !15
  %4679 = load i32, ptr %3, align 4, !tbaa !102
  %4680 = icmp ne i32 %4679, 0
  br i1 %4680, label %4681, label %4684

4681:                                             ; preds = %4653
  %4682 = load ptr, ptr %2, align 8, !tbaa !5
  %4683 = getelementptr inbounds %struct.PDP6, ptr %4682, i32 0, i32 34
  store i32 0, ptr %4683, align 8, !tbaa !33
  br label %4684

4684:                                             ; preds = %4681, %4653
  %4685 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4685, ptr noundef @.str.126)
  %4686 = load i64, ptr @simtime, align 8, !tbaa !15
  %4687 = add i64 %4686, 100
  store i64 %4687, ptr @simtime, align 8, !tbaa !15
  %4688 = load i32, ptr %3, align 4, !tbaa !102
  %4689 = icmp ne i32 %4688, 0
  br i1 %4689, label %4690, label %4698

4690:                                             ; preds = %4684
  %4691 = load ptr, ptr %2, align 8, !tbaa !5
  %4692 = getelementptr inbounds %struct.PDP6, ptr %4691, i32 0, i32 35
  %4693 = load i32, ptr %4692, align 4, !tbaa !32
  %4694 = load ptr, ptr %2, align 8, !tbaa !5
  %4695 = getelementptr inbounds %struct.PDP6, ptr %4694, i32 0, i32 34
  %4696 = load i32, ptr %4695, align 8, !tbaa !33
  %4697 = or i32 %4696, %4693
  store i32 %4697, ptr %4695, align 8, !tbaa !33
  br label %4698

4698:                                             ; preds = %4690, %4684
  %4699 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4699, ptr noundef @.str.127)
  %4700 = load i64, ptr @simtime, align 8, !tbaa !15
  %4701 = add i64 %4700, 200
  store i64 %4701, ptr @simtime, align 8, !tbaa !15
  %4702 = load i32, ptr %3, align 4, !tbaa !102
  %4703 = icmp ne i32 %4702, 0
  br i1 %4703, label %4704, label %4706

4704:                                             ; preds = %4698
  %4705 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4705)
  br label %4706

4706:                                             ; preds = %4704, %4698
  %4707 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4707, ptr noundef @.str.121)
  %4708 = load i64, ptr @simtime, align 8, !tbaa !15
  %4709 = add i64 %4708, 200
  store i64 %4709, ptr @simtime, align 8, !tbaa !15
  %4710 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4710)
  br label %17859

4711:                                             ; preds = %17
  %4712 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4712, ptr noundef @.str.41)
  %4713 = load i64, ptr @simtime, align 8, !tbaa !15
  %4714 = add i64 %4713, 100
  store i64 %4714, ptr @simtime, align 8, !tbaa !15
  %4715 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4715, ptr noundef @.str.42)
  %4716 = load i64, ptr @simtime, align 8, !tbaa !15
  %4717 = add i64 %4716, 100
  store i64 %4717, ptr @simtime, align 8, !tbaa !15
  %4718 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4718, ptr noundef @.str.43)
  %4719 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4719, ptr noundef @.str.65)
  %4720 = load i64, ptr @simtime, align 8, !tbaa !15
  %4721 = add i64 %4720, 100
  store i64 %4721, ptr @simtime, align 8, !tbaa !15
  %4722 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4722, ptr noundef @.str.122)
  %4723 = load i64, ptr @simtime, align 8, !tbaa !15
  %4724 = add i64 %4723, 100
  store i64 %4724, ptr @simtime, align 8, !tbaa !15
  %4725 = load ptr, ptr %2, align 8, !tbaa !5
  %4726 = getelementptr inbounds %struct.PDP6, ptr %4725, i32 0, i32 28
  %4727 = load i64, ptr %4726, align 8, !tbaa !34
  %4728 = icmp eq i64 %4727, 0
  %4729 = xor i1 %4728, true
  %4730 = zext i1 %4729 to i32
  store i32 %4730, ptr %3, align 4, !tbaa !102
  %4731 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4731, ptr noundef @.str.125)
  %4732 = load i64, ptr @simtime, align 8, !tbaa !15
  %4733 = add i64 %4732, 100
  store i64 %4733, ptr @simtime, align 8, !tbaa !15
  %4734 = load i32, ptr %3, align 4, !tbaa !102
  %4735 = icmp ne i32 %4734, 0
  br i1 %4735, label %4736, label %4739

4736:                                             ; preds = %4711
  %4737 = load ptr, ptr %2, align 8, !tbaa !5
  %4738 = getelementptr inbounds %struct.PDP6, ptr %4737, i32 0, i32 34
  store i32 0, ptr %4738, align 8, !tbaa !33
  br label %4739

4739:                                             ; preds = %4736, %4711
  %4740 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4740, ptr noundef @.str.126)
  %4741 = load i64, ptr @simtime, align 8, !tbaa !15
  %4742 = add i64 %4741, 100
  store i64 %4742, ptr @simtime, align 8, !tbaa !15
  %4743 = load i32, ptr %3, align 4, !tbaa !102
  %4744 = icmp ne i32 %4743, 0
  br i1 %4744, label %4745, label %4753

4745:                                             ; preds = %4739
  %4746 = load ptr, ptr %2, align 8, !tbaa !5
  %4747 = getelementptr inbounds %struct.PDP6, ptr %4746, i32 0, i32 35
  %4748 = load i32, ptr %4747, align 4, !tbaa !32
  %4749 = load ptr, ptr %2, align 8, !tbaa !5
  %4750 = getelementptr inbounds %struct.PDP6, ptr %4749, i32 0, i32 34
  %4751 = load i32, ptr %4750, align 8, !tbaa !33
  %4752 = or i32 %4751, %4748
  store i32 %4752, ptr %4750, align 8, !tbaa !33
  br label %4753

4753:                                             ; preds = %4745, %4739
  %4754 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4754, ptr noundef @.str.127)
  %4755 = load i64, ptr @simtime, align 8, !tbaa !15
  %4756 = add i64 %4755, 200
  store i64 %4756, ptr @simtime, align 8, !tbaa !15
  %4757 = load i32, ptr %3, align 4, !tbaa !102
  %4758 = icmp ne i32 %4757, 0
  br i1 %4758, label %4759, label %4761

4759:                                             ; preds = %4753
  %4760 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4760)
  br label %4761

4761:                                             ; preds = %4759, %4753
  %4762 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4762, ptr noundef @.str.121)
  %4763 = load i64, ptr @simtime, align 8, !tbaa !15
  %4764 = add i64 %4763, 200
  store i64 %4764, ptr @simtime, align 8, !tbaa !15
  %4765 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4765)
  br label %17859

4766:                                             ; preds = %17
  %4767 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4767, ptr noundef @.str.41)
  %4768 = load i64, ptr @simtime, align 8, !tbaa !15
  %4769 = add i64 %4768, 100
  store i64 %4769, ptr @simtime, align 8, !tbaa !15
  %4770 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4770, ptr noundef @.str.42)
  %4771 = load i64, ptr @simtime, align 8, !tbaa !15
  %4772 = add i64 %4771, 100
  store i64 %4772, ptr @simtime, align 8, !tbaa !15
  %4773 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4773, ptr noundef @.str.43)
  %4774 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4774, ptr noundef @.str.65)
  %4775 = load i64, ptr @simtime, align 8, !tbaa !15
  %4776 = add i64 %4775, 100
  store i64 %4776, ptr @simtime, align 8, !tbaa !15
  %4777 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4777, ptr noundef @.str.122)
  %4778 = load i64, ptr @simtime, align 8, !tbaa !15
  %4779 = add i64 %4778, 100
  store i64 %4779, ptr @simtime, align 8, !tbaa !15
  %4780 = load ptr, ptr %2, align 8, !tbaa !5
  %4781 = getelementptr inbounds %struct.PDP6, ptr %4780, i32 0, i32 28
  %4782 = load i64, ptr %4781, align 8, !tbaa !34
  %4783 = and i64 %4782, 34359738368
  %4784 = icmp ne i64 %4783, 0
  br i1 %4784, label %4790, label %4785

4785:                                             ; preds = %4766
  %4786 = load ptr, ptr %2, align 8, !tbaa !5
  %4787 = getelementptr inbounds %struct.PDP6, ptr %4786, i32 0, i32 28
  %4788 = load i64, ptr %4787, align 8, !tbaa !34
  %4789 = icmp eq i64 %4788, 0
  br label %4790

4790:                                             ; preds = %4785, %4766
  %4791 = phi i1 [ true, %4766 ], [ %4789, %4785 ]
  %4792 = xor i1 %4791, true
  %4793 = zext i1 %4792 to i32
  store i32 %4793, ptr %3, align 4, !tbaa !102
  %4794 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4794, ptr noundef @.str.125)
  %4795 = load i64, ptr @simtime, align 8, !tbaa !15
  %4796 = add i64 %4795, 100
  store i64 %4796, ptr @simtime, align 8, !tbaa !15
  %4797 = load i32, ptr %3, align 4, !tbaa !102
  %4798 = icmp ne i32 %4797, 0
  br i1 %4798, label %4799, label %4802

4799:                                             ; preds = %4790
  %4800 = load ptr, ptr %2, align 8, !tbaa !5
  %4801 = getelementptr inbounds %struct.PDP6, ptr %4800, i32 0, i32 34
  store i32 0, ptr %4801, align 8, !tbaa !33
  br label %4802

4802:                                             ; preds = %4799, %4790
  %4803 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4803, ptr noundef @.str.126)
  %4804 = load i64, ptr @simtime, align 8, !tbaa !15
  %4805 = add i64 %4804, 100
  store i64 %4805, ptr @simtime, align 8, !tbaa !15
  %4806 = load i32, ptr %3, align 4, !tbaa !102
  %4807 = icmp ne i32 %4806, 0
  br i1 %4807, label %4808, label %4816

4808:                                             ; preds = %4802
  %4809 = load ptr, ptr %2, align 8, !tbaa !5
  %4810 = getelementptr inbounds %struct.PDP6, ptr %4809, i32 0, i32 35
  %4811 = load i32, ptr %4810, align 4, !tbaa !32
  %4812 = load ptr, ptr %2, align 8, !tbaa !5
  %4813 = getelementptr inbounds %struct.PDP6, ptr %4812, i32 0, i32 34
  %4814 = load i32, ptr %4813, align 8, !tbaa !33
  %4815 = or i32 %4814, %4811
  store i32 %4815, ptr %4813, align 8, !tbaa !33
  br label %4816

4816:                                             ; preds = %4808, %4802
  %4817 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4817, ptr noundef @.str.127)
  %4818 = load i64, ptr @simtime, align 8, !tbaa !15
  %4819 = add i64 %4818, 200
  store i64 %4819, ptr @simtime, align 8, !tbaa !15
  %4820 = load i32, ptr %3, align 4, !tbaa !102
  %4821 = icmp ne i32 %4820, 0
  br i1 %4821, label %4822, label %4824

4822:                                             ; preds = %4816
  %4823 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4823)
  br label %4824

4824:                                             ; preds = %4822, %4816
  %4825 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4825, ptr noundef @.str.121)
  %4826 = load i64, ptr @simtime, align 8, !tbaa !15
  %4827 = add i64 %4826, 200
  store i64 %4827, ptr @simtime, align 8, !tbaa !15
  %4828 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4828)
  br label %17859

4829:                                             ; preds = %17
  %4830 = load ptr, ptr %2, align 8, !tbaa !5
  %4831 = getelementptr inbounds %struct.PDP6, ptr %4830, i32 0, i32 31
  %4832 = load i64, ptr %4831, align 8, !tbaa !39
  %4833 = load ptr, ptr %2, align 8, !tbaa !5
  %4834 = getelementptr inbounds %struct.PDP6, ptr %4833, i32 0, i32 28
  store i64 %4832, ptr %4834, align 8, !tbaa !34
  %4835 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4835, ptr noundef @.str.41)
  %4836 = load i64, ptr @simtime, align 8, !tbaa !15
  %4837 = add i64 %4836, 100
  store i64 %4837, ptr @simtime, align 8, !tbaa !15
  %4838 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4838, ptr noundef @.str.42)
  %4839 = load i64, ptr @simtime, align 8, !tbaa !15
  %4840 = add i64 %4839, 100
  store i64 %4840, ptr @simtime, align 8, !tbaa !15
  %4841 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4841, ptr noundef @.str.43)
  %4842 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4842, ptr noundef @.str.65)
  %4843 = load i64, ptr @simtime, align 8, !tbaa !15
  %4844 = add i64 %4843, 100
  store i64 %4844, ptr @simtime, align 8, !tbaa !15
  %4845 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4845, ptr noundef @.str.122)
  %4846 = load i64, ptr @simtime, align 8, !tbaa !15
  %4847 = add i64 %4846, 100
  store i64 %4847, ptr @simtime, align 8, !tbaa !15
  %4848 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4848, ptr noundef @.str.125)
  %4849 = load i64, ptr @simtime, align 8, !tbaa !15
  %4850 = add i64 %4849, 100
  store i64 %4850, ptr @simtime, align 8, !tbaa !15
  %4851 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4851, ptr noundef @.str.126)
  %4852 = load i64, ptr @simtime, align 8, !tbaa !15
  %4853 = add i64 %4852, 100
  store i64 %4853, ptr @simtime, align 8, !tbaa !15
  %4854 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4854, ptr noundef @.str.127)
  %4855 = load i64, ptr @simtime, align 8, !tbaa !15
  %4856 = add i64 %4855, 200
  store i64 %4856, ptr @simtime, align 8, !tbaa !15
  %4857 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4857, ptr noundef @.str.121)
  %4858 = load i64, ptr @simtime, align 8, !tbaa !15
  %4859 = add i64 %4858, 200
  store i64 %4859, ptr @simtime, align 8, !tbaa !15
  %4860 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4860)
  %4861 = load ptr, ptr %2, align 8, !tbaa !5
  %4862 = getelementptr inbounds %struct.PDP6, ptr %4861, i32 0, i32 28
  %4863 = load i64, ptr %4862, align 8, !tbaa !34
  %4864 = load ptr, ptr %2, align 8, !tbaa !5
  %4865 = getelementptr inbounds %struct.PDP6, ptr %4864, i32 0, i32 31
  store i64 %4863, ptr %4865, align 8, !tbaa !39
  br label %17859

4866:                                             ; preds = %17
  %4867 = load ptr, ptr %2, align 8, !tbaa !5
  %4868 = getelementptr inbounds %struct.PDP6, ptr %4867, i32 0, i32 31
  %4869 = load i64, ptr %4868, align 8, !tbaa !39
  %4870 = load ptr, ptr %2, align 8, !tbaa !5
  %4871 = getelementptr inbounds %struct.PDP6, ptr %4870, i32 0, i32 28
  store i64 %4869, ptr %4871, align 8, !tbaa !34
  %4872 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4872, ptr noundef @.str.41)
  %4873 = load i64, ptr @simtime, align 8, !tbaa !15
  %4874 = add i64 %4873, 100
  store i64 %4874, ptr @simtime, align 8, !tbaa !15
  %4875 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4875, ptr noundef @.str.42)
  %4876 = load i64, ptr @simtime, align 8, !tbaa !15
  %4877 = add i64 %4876, 100
  store i64 %4877, ptr @simtime, align 8, !tbaa !15
  %4878 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4878, ptr noundef @.str.43)
  %4879 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4879, ptr noundef @.str.65)
  %4880 = load i64, ptr @simtime, align 8, !tbaa !15
  %4881 = add i64 %4880, 100
  store i64 %4881, ptr @simtime, align 8, !tbaa !15
  %4882 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4882, ptr noundef @.str.122)
  %4883 = load i64, ptr @simtime, align 8, !tbaa !15
  %4884 = add i64 %4883, 100
  store i64 %4884, ptr @simtime, align 8, !tbaa !15
  %4885 = load ptr, ptr %2, align 8, !tbaa !5
  %4886 = getelementptr inbounds %struct.PDP6, ptr %4885, i32 0, i32 28
  %4887 = load i64, ptr %4886, align 8, !tbaa !34
  %4888 = and i64 %4887, 34359738368
  %4889 = icmp ne i64 %4888, 0
  %4890 = xor i1 %4889, true
  %4891 = xor i1 %4890, true
  %4892 = zext i1 %4891 to i32
  store i32 %4892, ptr %3, align 4, !tbaa !102
  %4893 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4893, ptr noundef @.str.125)
  %4894 = load i64, ptr @simtime, align 8, !tbaa !15
  %4895 = add i64 %4894, 100
  store i64 %4895, ptr @simtime, align 8, !tbaa !15
  %4896 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4896, ptr noundef @.str.126)
  %4897 = load i64, ptr @simtime, align 8, !tbaa !15
  %4898 = add i64 %4897, 100
  store i64 %4898, ptr @simtime, align 8, !tbaa !15
  %4899 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4899, ptr noundef @.str.127)
  %4900 = load i64, ptr @simtime, align 8, !tbaa !15
  %4901 = add i64 %4900, 200
  store i64 %4901, ptr @simtime, align 8, !tbaa !15
  %4902 = load i32, ptr %3, align 4, !tbaa !102
  %4903 = icmp ne i32 %4902, 0
  br i1 %4903, label %4904, label %4913

4904:                                             ; preds = %4866
  %4905 = load ptr, ptr %2, align 8, !tbaa !5
  %4906 = getelementptr inbounds %struct.PDP6, ptr %4905, i32 0, i32 34
  %4907 = load i32, ptr %4906, align 8, !tbaa !33
  %4908 = add i32 %4907, 1
  %4909 = and i32 %4908, 262143
  %4910 = load ptr, ptr %2, align 8, !tbaa !5
  %4911 = getelementptr inbounds %struct.PDP6, ptr %4910, i32 0, i32 34
  store i32 %4909, ptr %4911, align 8, !tbaa !33
  %4912 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4912)
  br label %4913

4913:                                             ; preds = %4904, %4866
  %4914 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4914, ptr noundef @.str.121)
  %4915 = load i64, ptr @simtime, align 8, !tbaa !15
  %4916 = add i64 %4915, 200
  store i64 %4916, ptr @simtime, align 8, !tbaa !15
  %4917 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4917)
  %4918 = load ptr, ptr %2, align 8, !tbaa !5
  %4919 = getelementptr inbounds %struct.PDP6, ptr %4918, i32 0, i32 28
  %4920 = load i64, ptr %4919, align 8, !tbaa !34
  %4921 = load ptr, ptr %2, align 8, !tbaa !5
  %4922 = getelementptr inbounds %struct.PDP6, ptr %4921, i32 0, i32 31
  store i64 %4920, ptr %4922, align 8, !tbaa !39
  br label %17859

4923:                                             ; preds = %17
  %4924 = load ptr, ptr %2, align 8, !tbaa !5
  %4925 = getelementptr inbounds %struct.PDP6, ptr %4924, i32 0, i32 31
  %4926 = load i64, ptr %4925, align 8, !tbaa !39
  %4927 = load ptr, ptr %2, align 8, !tbaa !5
  %4928 = getelementptr inbounds %struct.PDP6, ptr %4927, i32 0, i32 28
  store i64 %4926, ptr %4928, align 8, !tbaa !34
  %4929 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4929, ptr noundef @.str.41)
  %4930 = load i64, ptr @simtime, align 8, !tbaa !15
  %4931 = add i64 %4930, 100
  store i64 %4931, ptr @simtime, align 8, !tbaa !15
  %4932 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4932, ptr noundef @.str.42)
  %4933 = load i64, ptr @simtime, align 8, !tbaa !15
  %4934 = add i64 %4933, 100
  store i64 %4934, ptr @simtime, align 8, !tbaa !15
  %4935 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4935, ptr noundef @.str.43)
  %4936 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4936, ptr noundef @.str.65)
  %4937 = load i64, ptr @simtime, align 8, !tbaa !15
  %4938 = add i64 %4937, 100
  store i64 %4938, ptr @simtime, align 8, !tbaa !15
  %4939 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4939, ptr noundef @.str.122)
  %4940 = load i64, ptr @simtime, align 8, !tbaa !15
  %4941 = add i64 %4940, 100
  store i64 %4941, ptr @simtime, align 8, !tbaa !15
  %4942 = load ptr, ptr %2, align 8, !tbaa !5
  %4943 = getelementptr inbounds %struct.PDP6, ptr %4942, i32 0, i32 28
  %4944 = load i64, ptr %4943, align 8, !tbaa !34
  %4945 = icmp eq i64 %4944, 0
  %4946 = zext i1 %4945 to i32
  store i32 %4946, ptr %3, align 4, !tbaa !102
  %4947 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4947, ptr noundef @.str.125)
  %4948 = load i64, ptr @simtime, align 8, !tbaa !15
  %4949 = add i64 %4948, 100
  store i64 %4949, ptr @simtime, align 8, !tbaa !15
  %4950 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4950, ptr noundef @.str.126)
  %4951 = load i64, ptr @simtime, align 8, !tbaa !15
  %4952 = add i64 %4951, 100
  store i64 %4952, ptr @simtime, align 8, !tbaa !15
  %4953 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4953, ptr noundef @.str.127)
  %4954 = load i64, ptr @simtime, align 8, !tbaa !15
  %4955 = add i64 %4954, 200
  store i64 %4955, ptr @simtime, align 8, !tbaa !15
  %4956 = load i32, ptr %3, align 4, !tbaa !102
  %4957 = icmp ne i32 %4956, 0
  br i1 %4957, label %4958, label %4967

4958:                                             ; preds = %4923
  %4959 = load ptr, ptr %2, align 8, !tbaa !5
  %4960 = getelementptr inbounds %struct.PDP6, ptr %4959, i32 0, i32 34
  %4961 = load i32, ptr %4960, align 8, !tbaa !33
  %4962 = add i32 %4961, 1
  %4963 = and i32 %4962, 262143
  %4964 = load ptr, ptr %2, align 8, !tbaa !5
  %4965 = getelementptr inbounds %struct.PDP6, ptr %4964, i32 0, i32 34
  store i32 %4963, ptr %4965, align 8, !tbaa !33
  %4966 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %4966)
  br label %4967

4967:                                             ; preds = %4958, %4923
  %4968 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4968, ptr noundef @.str.121)
  %4969 = load i64, ptr @simtime, align 8, !tbaa !15
  %4970 = add i64 %4969, 200
  store i64 %4970, ptr @simtime, align 8, !tbaa !15
  %4971 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %4971)
  %4972 = load ptr, ptr %2, align 8, !tbaa !5
  %4973 = getelementptr inbounds %struct.PDP6, ptr %4972, i32 0, i32 28
  %4974 = load i64, ptr %4973, align 8, !tbaa !34
  %4975 = load ptr, ptr %2, align 8, !tbaa !5
  %4976 = getelementptr inbounds %struct.PDP6, ptr %4975, i32 0, i32 31
  store i64 %4974, ptr %4976, align 8, !tbaa !39
  br label %17859

4977:                                             ; preds = %17
  %4978 = load ptr, ptr %2, align 8, !tbaa !5
  %4979 = getelementptr inbounds %struct.PDP6, ptr %4978, i32 0, i32 31
  %4980 = load i64, ptr %4979, align 8, !tbaa !39
  %4981 = load ptr, ptr %2, align 8, !tbaa !5
  %4982 = getelementptr inbounds %struct.PDP6, ptr %4981, i32 0, i32 28
  store i64 %4980, ptr %4982, align 8, !tbaa !34
  %4983 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4983, ptr noundef @.str.41)
  %4984 = load i64, ptr @simtime, align 8, !tbaa !15
  %4985 = add i64 %4984, 100
  store i64 %4985, ptr @simtime, align 8, !tbaa !15
  %4986 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4986, ptr noundef @.str.42)
  %4987 = load i64, ptr @simtime, align 8, !tbaa !15
  %4988 = add i64 %4987, 100
  store i64 %4988, ptr @simtime, align 8, !tbaa !15
  %4989 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4989, ptr noundef @.str.43)
  %4990 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4990, ptr noundef @.str.65)
  %4991 = load i64, ptr @simtime, align 8, !tbaa !15
  %4992 = add i64 %4991, 100
  store i64 %4992, ptr @simtime, align 8, !tbaa !15
  %4993 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %4993, ptr noundef @.str.122)
  %4994 = load i64, ptr @simtime, align 8, !tbaa !15
  %4995 = add i64 %4994, 100
  store i64 %4995, ptr @simtime, align 8, !tbaa !15
  %4996 = load ptr, ptr %2, align 8, !tbaa !5
  %4997 = getelementptr inbounds %struct.PDP6, ptr %4996, i32 0, i32 28
  %4998 = load i64, ptr %4997, align 8, !tbaa !34
  %4999 = and i64 %4998, 34359738368
  %5000 = icmp ne i64 %4999, 0
  br i1 %5000, label %5006, label %5001

5001:                                             ; preds = %4977
  %5002 = load ptr, ptr %2, align 8, !tbaa !5
  %5003 = getelementptr inbounds %struct.PDP6, ptr %5002, i32 0, i32 28
  %5004 = load i64, ptr %5003, align 8, !tbaa !34
  %5005 = icmp eq i64 %5004, 0
  br label %5006

5006:                                             ; preds = %5001, %4977
  %5007 = phi i1 [ true, %4977 ], [ %5005, %5001 ]
  %5008 = zext i1 %5007 to i32
  store i32 %5008, ptr %3, align 4, !tbaa !102
  %5009 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5009, ptr noundef @.str.125)
  %5010 = load i64, ptr @simtime, align 8, !tbaa !15
  %5011 = add i64 %5010, 100
  store i64 %5011, ptr @simtime, align 8, !tbaa !15
  %5012 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5012, ptr noundef @.str.126)
  %5013 = load i64, ptr @simtime, align 8, !tbaa !15
  %5014 = add i64 %5013, 100
  store i64 %5014, ptr @simtime, align 8, !tbaa !15
  %5015 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5015, ptr noundef @.str.127)
  %5016 = load i64, ptr @simtime, align 8, !tbaa !15
  %5017 = add i64 %5016, 200
  store i64 %5017, ptr @simtime, align 8, !tbaa !15
  %5018 = load i32, ptr %3, align 4, !tbaa !102
  %5019 = icmp ne i32 %5018, 0
  br i1 %5019, label %5020, label %5029

5020:                                             ; preds = %5006
  %5021 = load ptr, ptr %2, align 8, !tbaa !5
  %5022 = getelementptr inbounds %struct.PDP6, ptr %5021, i32 0, i32 34
  %5023 = load i32, ptr %5022, align 8, !tbaa !33
  %5024 = add i32 %5023, 1
  %5025 = and i32 %5024, 262143
  %5026 = load ptr, ptr %2, align 8, !tbaa !5
  %5027 = getelementptr inbounds %struct.PDP6, ptr %5026, i32 0, i32 34
  store i32 %5025, ptr %5027, align 8, !tbaa !33
  %5028 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5028)
  br label %5029

5029:                                             ; preds = %5020, %5006
  %5030 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5030, ptr noundef @.str.121)
  %5031 = load i64, ptr @simtime, align 8, !tbaa !15
  %5032 = add i64 %5031, 200
  store i64 %5032, ptr @simtime, align 8, !tbaa !15
  %5033 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5033)
  %5034 = load ptr, ptr %2, align 8, !tbaa !5
  %5035 = getelementptr inbounds %struct.PDP6, ptr %5034, i32 0, i32 28
  %5036 = load i64, ptr %5035, align 8, !tbaa !34
  %5037 = load ptr, ptr %2, align 8, !tbaa !5
  %5038 = getelementptr inbounds %struct.PDP6, ptr %5037, i32 0, i32 31
  store i64 %5036, ptr %5038, align 8, !tbaa !39
  br label %17859

5039:                                             ; preds = %17
  %5040 = load ptr, ptr %2, align 8, !tbaa !5
  %5041 = getelementptr inbounds %struct.PDP6, ptr %5040, i32 0, i32 31
  %5042 = load i64, ptr %5041, align 8, !tbaa !39
  %5043 = load ptr, ptr %2, align 8, !tbaa !5
  %5044 = getelementptr inbounds %struct.PDP6, ptr %5043, i32 0, i32 28
  store i64 %5042, ptr %5044, align 8, !tbaa !34
  %5045 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5045, ptr noundef @.str.41)
  %5046 = load i64, ptr @simtime, align 8, !tbaa !15
  %5047 = add i64 %5046, 100
  store i64 %5047, ptr @simtime, align 8, !tbaa !15
  %5048 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5048, ptr noundef @.str.42)
  %5049 = load i64, ptr @simtime, align 8, !tbaa !15
  %5050 = add i64 %5049, 100
  store i64 %5050, ptr @simtime, align 8, !tbaa !15
  %5051 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5051, ptr noundef @.str.43)
  %5052 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5052, ptr noundef @.str.65)
  %5053 = load i64, ptr @simtime, align 8, !tbaa !15
  %5054 = add i64 %5053, 100
  store i64 %5054, ptr @simtime, align 8, !tbaa !15
  %5055 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5055, ptr noundef @.str.122)
  %5056 = load i64, ptr @simtime, align 8, !tbaa !15
  %5057 = add i64 %5056, 100
  store i64 %5057, ptr @simtime, align 8, !tbaa !15
  %5058 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5058, ptr noundef @.str.125)
  %5059 = load i64, ptr @simtime, align 8, !tbaa !15
  %5060 = add i64 %5059, 100
  store i64 %5060, ptr @simtime, align 8, !tbaa !15
  %5061 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5061, ptr noundef @.str.126)
  %5062 = load i64, ptr @simtime, align 8, !tbaa !15
  %5063 = add i64 %5062, 100
  store i64 %5063, ptr @simtime, align 8, !tbaa !15
  %5064 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5064, ptr noundef @.str.127)
  %5065 = load i64, ptr @simtime, align 8, !tbaa !15
  %5066 = add i64 %5065, 200
  store i64 %5066, ptr @simtime, align 8, !tbaa !15
  %5067 = load ptr, ptr %2, align 8, !tbaa !5
  %5068 = getelementptr inbounds %struct.PDP6, ptr %5067, i32 0, i32 34
  %5069 = load i32, ptr %5068, align 8, !tbaa !33
  %5070 = add i32 %5069, 1
  %5071 = and i32 %5070, 262143
  %5072 = load ptr, ptr %2, align 8, !tbaa !5
  %5073 = getelementptr inbounds %struct.PDP6, ptr %5072, i32 0, i32 34
  store i32 %5071, ptr %5073, align 8, !tbaa !33
  %5074 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5074)
  %5075 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5075, ptr noundef @.str.121)
  %5076 = load i64, ptr @simtime, align 8, !tbaa !15
  %5077 = add i64 %5076, 200
  store i64 %5077, ptr @simtime, align 8, !tbaa !15
  %5078 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5078)
  %5079 = load ptr, ptr %2, align 8, !tbaa !5
  %5080 = getelementptr inbounds %struct.PDP6, ptr %5079, i32 0, i32 28
  %5081 = load i64, ptr %5080, align 8, !tbaa !34
  %5082 = load ptr, ptr %2, align 8, !tbaa !5
  %5083 = getelementptr inbounds %struct.PDP6, ptr %5082, i32 0, i32 31
  store i64 %5081, ptr %5083, align 8, !tbaa !39
  br label %17859

5084:                                             ; preds = %17
  %5085 = load ptr, ptr %2, align 8, !tbaa !5
  %5086 = getelementptr inbounds %struct.PDP6, ptr %5085, i32 0, i32 31
  %5087 = load i64, ptr %5086, align 8, !tbaa !39
  %5088 = load ptr, ptr %2, align 8, !tbaa !5
  %5089 = getelementptr inbounds %struct.PDP6, ptr %5088, i32 0, i32 28
  store i64 %5087, ptr %5089, align 8, !tbaa !34
  %5090 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5090, ptr noundef @.str.41)
  %5091 = load i64, ptr @simtime, align 8, !tbaa !15
  %5092 = add i64 %5091, 100
  store i64 %5092, ptr @simtime, align 8, !tbaa !15
  %5093 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5093, ptr noundef @.str.42)
  %5094 = load i64, ptr @simtime, align 8, !tbaa !15
  %5095 = add i64 %5094, 100
  store i64 %5095, ptr @simtime, align 8, !tbaa !15
  %5096 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5096, ptr noundef @.str.43)
  %5097 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5097, ptr noundef @.str.65)
  %5098 = load i64, ptr @simtime, align 8, !tbaa !15
  %5099 = add i64 %5098, 100
  store i64 %5099, ptr @simtime, align 8, !tbaa !15
  %5100 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5100, ptr noundef @.str.122)
  %5101 = load i64, ptr @simtime, align 8, !tbaa !15
  %5102 = add i64 %5101, 100
  store i64 %5102, ptr @simtime, align 8, !tbaa !15
  %5103 = load ptr, ptr %2, align 8, !tbaa !5
  %5104 = getelementptr inbounds %struct.PDP6, ptr %5103, i32 0, i32 28
  %5105 = load i64, ptr %5104, align 8, !tbaa !34
  %5106 = and i64 %5105, 34359738368
  %5107 = icmp ne i64 %5106, 0
  %5108 = xor i1 %5107, true
  %5109 = xor i1 %5108, true
  %5110 = xor i1 %5109, true
  %5111 = zext i1 %5110 to i32
  store i32 %5111, ptr %3, align 4, !tbaa !102
  %5112 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5112, ptr noundef @.str.125)
  %5113 = load i64, ptr @simtime, align 8, !tbaa !15
  %5114 = add i64 %5113, 100
  store i64 %5114, ptr @simtime, align 8, !tbaa !15
  %5115 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5115, ptr noundef @.str.126)
  %5116 = load i64, ptr @simtime, align 8, !tbaa !15
  %5117 = add i64 %5116, 100
  store i64 %5117, ptr @simtime, align 8, !tbaa !15
  %5118 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5118, ptr noundef @.str.127)
  %5119 = load i64, ptr @simtime, align 8, !tbaa !15
  %5120 = add i64 %5119, 200
  store i64 %5120, ptr @simtime, align 8, !tbaa !15
  %5121 = load i32, ptr %3, align 4, !tbaa !102
  %5122 = icmp ne i32 %5121, 0
  br i1 %5122, label %5123, label %5132

5123:                                             ; preds = %5084
  %5124 = load ptr, ptr %2, align 8, !tbaa !5
  %5125 = getelementptr inbounds %struct.PDP6, ptr %5124, i32 0, i32 34
  %5126 = load i32, ptr %5125, align 8, !tbaa !33
  %5127 = add i32 %5126, 1
  %5128 = and i32 %5127, 262143
  %5129 = load ptr, ptr %2, align 8, !tbaa !5
  %5130 = getelementptr inbounds %struct.PDP6, ptr %5129, i32 0, i32 34
  store i32 %5128, ptr %5130, align 8, !tbaa !33
  %5131 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5131)
  br label %5132

5132:                                             ; preds = %5123, %5084
  %5133 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5133, ptr noundef @.str.121)
  %5134 = load i64, ptr @simtime, align 8, !tbaa !15
  %5135 = add i64 %5134, 200
  store i64 %5135, ptr @simtime, align 8, !tbaa !15
  %5136 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5136)
  %5137 = load ptr, ptr %2, align 8, !tbaa !5
  %5138 = getelementptr inbounds %struct.PDP6, ptr %5137, i32 0, i32 28
  %5139 = load i64, ptr %5138, align 8, !tbaa !34
  %5140 = load ptr, ptr %2, align 8, !tbaa !5
  %5141 = getelementptr inbounds %struct.PDP6, ptr %5140, i32 0, i32 31
  store i64 %5139, ptr %5141, align 8, !tbaa !39
  br label %17859

5142:                                             ; preds = %17
  %5143 = load ptr, ptr %2, align 8, !tbaa !5
  %5144 = getelementptr inbounds %struct.PDP6, ptr %5143, i32 0, i32 31
  %5145 = load i64, ptr %5144, align 8, !tbaa !39
  %5146 = load ptr, ptr %2, align 8, !tbaa !5
  %5147 = getelementptr inbounds %struct.PDP6, ptr %5146, i32 0, i32 28
  store i64 %5145, ptr %5147, align 8, !tbaa !34
  %5148 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5148, ptr noundef @.str.41)
  %5149 = load i64, ptr @simtime, align 8, !tbaa !15
  %5150 = add i64 %5149, 100
  store i64 %5150, ptr @simtime, align 8, !tbaa !15
  %5151 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5151, ptr noundef @.str.42)
  %5152 = load i64, ptr @simtime, align 8, !tbaa !15
  %5153 = add i64 %5152, 100
  store i64 %5153, ptr @simtime, align 8, !tbaa !15
  %5154 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5154, ptr noundef @.str.43)
  %5155 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5155, ptr noundef @.str.65)
  %5156 = load i64, ptr @simtime, align 8, !tbaa !15
  %5157 = add i64 %5156, 100
  store i64 %5157, ptr @simtime, align 8, !tbaa !15
  %5158 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5158, ptr noundef @.str.122)
  %5159 = load i64, ptr @simtime, align 8, !tbaa !15
  %5160 = add i64 %5159, 100
  store i64 %5160, ptr @simtime, align 8, !tbaa !15
  %5161 = load ptr, ptr %2, align 8, !tbaa !5
  %5162 = getelementptr inbounds %struct.PDP6, ptr %5161, i32 0, i32 28
  %5163 = load i64, ptr %5162, align 8, !tbaa !34
  %5164 = icmp eq i64 %5163, 0
  %5165 = xor i1 %5164, true
  %5166 = zext i1 %5165 to i32
  store i32 %5166, ptr %3, align 4, !tbaa !102
  %5167 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5167, ptr noundef @.str.125)
  %5168 = load i64, ptr @simtime, align 8, !tbaa !15
  %5169 = add i64 %5168, 100
  store i64 %5169, ptr @simtime, align 8, !tbaa !15
  %5170 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5170, ptr noundef @.str.126)
  %5171 = load i64, ptr @simtime, align 8, !tbaa !15
  %5172 = add i64 %5171, 100
  store i64 %5172, ptr @simtime, align 8, !tbaa !15
  %5173 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5173, ptr noundef @.str.127)
  %5174 = load i64, ptr @simtime, align 8, !tbaa !15
  %5175 = add i64 %5174, 200
  store i64 %5175, ptr @simtime, align 8, !tbaa !15
  %5176 = load i32, ptr %3, align 4, !tbaa !102
  %5177 = icmp ne i32 %5176, 0
  br i1 %5177, label %5178, label %5187

5178:                                             ; preds = %5142
  %5179 = load ptr, ptr %2, align 8, !tbaa !5
  %5180 = getelementptr inbounds %struct.PDP6, ptr %5179, i32 0, i32 34
  %5181 = load i32, ptr %5180, align 8, !tbaa !33
  %5182 = add i32 %5181, 1
  %5183 = and i32 %5182, 262143
  %5184 = load ptr, ptr %2, align 8, !tbaa !5
  %5185 = getelementptr inbounds %struct.PDP6, ptr %5184, i32 0, i32 34
  store i32 %5183, ptr %5185, align 8, !tbaa !33
  %5186 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5186)
  br label %5187

5187:                                             ; preds = %5178, %5142
  %5188 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5188, ptr noundef @.str.121)
  %5189 = load i64, ptr @simtime, align 8, !tbaa !15
  %5190 = add i64 %5189, 200
  store i64 %5190, ptr @simtime, align 8, !tbaa !15
  %5191 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5191)
  %5192 = load ptr, ptr %2, align 8, !tbaa !5
  %5193 = getelementptr inbounds %struct.PDP6, ptr %5192, i32 0, i32 28
  %5194 = load i64, ptr %5193, align 8, !tbaa !34
  %5195 = load ptr, ptr %2, align 8, !tbaa !5
  %5196 = getelementptr inbounds %struct.PDP6, ptr %5195, i32 0, i32 31
  store i64 %5194, ptr %5196, align 8, !tbaa !39
  br label %17859

5197:                                             ; preds = %17
  %5198 = load ptr, ptr %2, align 8, !tbaa !5
  %5199 = getelementptr inbounds %struct.PDP6, ptr %5198, i32 0, i32 31
  %5200 = load i64, ptr %5199, align 8, !tbaa !39
  %5201 = load ptr, ptr %2, align 8, !tbaa !5
  %5202 = getelementptr inbounds %struct.PDP6, ptr %5201, i32 0, i32 28
  store i64 %5200, ptr %5202, align 8, !tbaa !34
  %5203 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5203, ptr noundef @.str.41)
  %5204 = load i64, ptr @simtime, align 8, !tbaa !15
  %5205 = add i64 %5204, 100
  store i64 %5205, ptr @simtime, align 8, !tbaa !15
  %5206 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5206, ptr noundef @.str.42)
  %5207 = load i64, ptr @simtime, align 8, !tbaa !15
  %5208 = add i64 %5207, 100
  store i64 %5208, ptr @simtime, align 8, !tbaa !15
  %5209 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5209, ptr noundef @.str.43)
  %5210 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5210, ptr noundef @.str.65)
  %5211 = load i64, ptr @simtime, align 8, !tbaa !15
  %5212 = add i64 %5211, 100
  store i64 %5212, ptr @simtime, align 8, !tbaa !15
  %5213 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5213, ptr noundef @.str.122)
  %5214 = load i64, ptr @simtime, align 8, !tbaa !15
  %5215 = add i64 %5214, 100
  store i64 %5215, ptr @simtime, align 8, !tbaa !15
  %5216 = load ptr, ptr %2, align 8, !tbaa !5
  %5217 = getelementptr inbounds %struct.PDP6, ptr %5216, i32 0, i32 28
  %5218 = load i64, ptr %5217, align 8, !tbaa !34
  %5219 = and i64 %5218, 34359738368
  %5220 = icmp ne i64 %5219, 0
  br i1 %5220, label %5226, label %5221

5221:                                             ; preds = %5197
  %5222 = load ptr, ptr %2, align 8, !tbaa !5
  %5223 = getelementptr inbounds %struct.PDP6, ptr %5222, i32 0, i32 28
  %5224 = load i64, ptr %5223, align 8, !tbaa !34
  %5225 = icmp eq i64 %5224, 0
  br label %5226

5226:                                             ; preds = %5221, %5197
  %5227 = phi i1 [ true, %5197 ], [ %5225, %5221 ]
  %5228 = xor i1 %5227, true
  %5229 = zext i1 %5228 to i32
  store i32 %5229, ptr %3, align 4, !tbaa !102
  %5230 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5230, ptr noundef @.str.125)
  %5231 = load i64, ptr @simtime, align 8, !tbaa !15
  %5232 = add i64 %5231, 100
  store i64 %5232, ptr @simtime, align 8, !tbaa !15
  %5233 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5233, ptr noundef @.str.126)
  %5234 = load i64, ptr @simtime, align 8, !tbaa !15
  %5235 = add i64 %5234, 100
  store i64 %5235, ptr @simtime, align 8, !tbaa !15
  %5236 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5236, ptr noundef @.str.127)
  %5237 = load i64, ptr @simtime, align 8, !tbaa !15
  %5238 = add i64 %5237, 200
  store i64 %5238, ptr @simtime, align 8, !tbaa !15
  %5239 = load i32, ptr %3, align 4, !tbaa !102
  %5240 = icmp ne i32 %5239, 0
  br i1 %5240, label %5241, label %5250

5241:                                             ; preds = %5226
  %5242 = load ptr, ptr %2, align 8, !tbaa !5
  %5243 = getelementptr inbounds %struct.PDP6, ptr %5242, i32 0, i32 34
  %5244 = load i32, ptr %5243, align 8, !tbaa !33
  %5245 = add i32 %5244, 1
  %5246 = and i32 %5245, 262143
  %5247 = load ptr, ptr %2, align 8, !tbaa !5
  %5248 = getelementptr inbounds %struct.PDP6, ptr %5247, i32 0, i32 34
  store i32 %5246, ptr %5248, align 8, !tbaa !33
  %5249 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5249)
  br label %5250

5250:                                             ; preds = %5241, %5226
  %5251 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5251, ptr noundef @.str.121)
  %5252 = load i64, ptr @simtime, align 8, !tbaa !15
  %5253 = add i64 %5252, 200
  store i64 %5253, ptr @simtime, align 8, !tbaa !15
  %5254 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5254)
  %5255 = load ptr, ptr %2, align 8, !tbaa !5
  %5256 = getelementptr inbounds %struct.PDP6, ptr %5255, i32 0, i32 28
  %5257 = load i64, ptr %5256, align 8, !tbaa !34
  %5258 = load ptr, ptr %2, align 8, !tbaa !5
  %5259 = getelementptr inbounds %struct.PDP6, ptr %5258, i32 0, i32 31
  store i64 %5257, ptr %5259, align 8, !tbaa !39
  br label %17859

5260:                                             ; preds = %17
  %5261 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5261, ptr noundef @.str.41)
  %5262 = load i64, ptr @simtime, align 8, !tbaa !15
  %5263 = add i64 %5262, 100
  store i64 %5263, ptr @simtime, align 8, !tbaa !15
  %5264 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5264, ptr noundef @.str.42)
  %5265 = load i64, ptr @simtime, align 8, !tbaa !15
  %5266 = add i64 %5265, 100
  store i64 %5266, ptr @simtime, align 8, !tbaa !15
  %5267 = load ptr, ptr %2, align 8, !tbaa !5
  %5268 = getelementptr inbounds %struct.PDP6, ptr %5267, i32 0, i32 58
  store i8 1, ptr %5268, align 1, !tbaa !76
  %5269 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5269)
  %5270 = load ptr, ptr %2, align 8, !tbaa !5
  %5271 = getelementptr inbounds %struct.PDP6, ptr %5270, i32 0, i32 58
  store i8 0, ptr %5271, align 1, !tbaa !76
  %5272 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5272, ptr noundef @.str.43)
  %5273 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5273, ptr noundef @.str.65)
  %5274 = load i64, ptr @simtime, align 8, !tbaa !15
  %5275 = add i64 %5274, 100
  store i64 %5275, ptr @simtime, align 8, !tbaa !15
  %5276 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5276, ptr noundef @.str.122)
  %5277 = load i64, ptr @simtime, align 8, !tbaa !15
  %5278 = add i64 %5277, 100
  store i64 %5278, ptr @simtime, align 8, !tbaa !15
  %5279 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5279, ptr noundef @.str.125)
  %5280 = load i64, ptr @simtime, align 8, !tbaa !15
  %5281 = add i64 %5280, 100
  store i64 %5281, ptr @simtime, align 8, !tbaa !15
  %5282 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5282, ptr noundef @.str.126)
  %5283 = load i64, ptr @simtime, align 8, !tbaa !15
  %5284 = add i64 %5283, 100
  store i64 %5284, ptr @simtime, align 8, !tbaa !15
  %5285 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5285, ptr noundef @.str.127)
  %5286 = load i64, ptr @simtime, align 8, !tbaa !15
  %5287 = add i64 %5286, 200
  store i64 %5287, ptr @simtime, align 8, !tbaa !15
  %5288 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5288, ptr noundef @.str.121)
  %5289 = load i64, ptr @simtime, align 8, !tbaa !15
  %5290 = add i64 %5289, 200
  store i64 %5290, ptr @simtime, align 8, !tbaa !15
  %5291 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5291)
  br label %17859

5292:                                             ; preds = %17
  %5293 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5293, ptr noundef @.str.41)
  %5294 = load i64, ptr @simtime, align 8, !tbaa !15
  %5295 = add i64 %5294, 100
  store i64 %5295, ptr @simtime, align 8, !tbaa !15
  %5296 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5296, ptr noundef @.str.42)
  %5297 = load i64, ptr @simtime, align 8, !tbaa !15
  %5298 = add i64 %5297, 100
  store i64 %5298, ptr @simtime, align 8, !tbaa !15
  %5299 = load ptr, ptr %2, align 8, !tbaa !5
  %5300 = getelementptr inbounds %struct.PDP6, ptr %5299, i32 0, i32 58
  store i8 1, ptr %5300, align 1, !tbaa !76
  %5301 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5301)
  %5302 = load ptr, ptr %2, align 8, !tbaa !5
  %5303 = getelementptr inbounds %struct.PDP6, ptr %5302, i32 0, i32 58
  store i8 0, ptr %5303, align 1, !tbaa !76
  %5304 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5304, ptr noundef @.str.43)
  %5305 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5305, ptr noundef @.str.65)
  %5306 = load i64, ptr @simtime, align 8, !tbaa !15
  %5307 = add i64 %5306, 100
  store i64 %5307, ptr @simtime, align 8, !tbaa !15
  %5308 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5308, ptr noundef @.str.122)
  %5309 = load i64, ptr @simtime, align 8, !tbaa !15
  %5310 = add i64 %5309, 100
  store i64 %5310, ptr @simtime, align 8, !tbaa !15
  %5311 = load ptr, ptr %2, align 8, !tbaa !5
  %5312 = getelementptr inbounds %struct.PDP6, ptr %5311, i32 0, i32 28
  %5313 = load i64, ptr %5312, align 8, !tbaa !34
  %5314 = and i64 %5313, 34359738368
  %5315 = icmp ne i64 %5314, 0
  %5316 = xor i1 %5315, true
  %5317 = xor i1 %5316, true
  %5318 = zext i1 %5317 to i32
  store i32 %5318, ptr %3, align 4, !tbaa !102
  %5319 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5319, ptr noundef @.str.125)
  %5320 = load i64, ptr @simtime, align 8, !tbaa !15
  %5321 = add i64 %5320, 100
  store i64 %5321, ptr @simtime, align 8, !tbaa !15
  %5322 = load i32, ptr %3, align 4, !tbaa !102
  %5323 = icmp ne i32 %5322, 0
  br i1 %5323, label %5324, label %5327

5324:                                             ; preds = %5292
  %5325 = load ptr, ptr %2, align 8, !tbaa !5
  %5326 = getelementptr inbounds %struct.PDP6, ptr %5325, i32 0, i32 34
  store i32 0, ptr %5326, align 8, !tbaa !33
  br label %5327

5327:                                             ; preds = %5324, %5292
  %5328 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5328, ptr noundef @.str.126)
  %5329 = load i64, ptr @simtime, align 8, !tbaa !15
  %5330 = add i64 %5329, 100
  store i64 %5330, ptr @simtime, align 8, !tbaa !15
  %5331 = load i32, ptr %3, align 4, !tbaa !102
  %5332 = icmp ne i32 %5331, 0
  br i1 %5332, label %5333, label %5341

5333:                                             ; preds = %5327
  %5334 = load ptr, ptr %2, align 8, !tbaa !5
  %5335 = getelementptr inbounds %struct.PDP6, ptr %5334, i32 0, i32 35
  %5336 = load i32, ptr %5335, align 4, !tbaa !32
  %5337 = load ptr, ptr %2, align 8, !tbaa !5
  %5338 = getelementptr inbounds %struct.PDP6, ptr %5337, i32 0, i32 34
  %5339 = load i32, ptr %5338, align 8, !tbaa !33
  %5340 = or i32 %5339, %5336
  store i32 %5340, ptr %5338, align 8, !tbaa !33
  br label %5341

5341:                                             ; preds = %5333, %5327
  %5342 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5342, ptr noundef @.str.127)
  %5343 = load i64, ptr @simtime, align 8, !tbaa !15
  %5344 = add i64 %5343, 200
  store i64 %5344, ptr @simtime, align 8, !tbaa !15
  %5345 = load i32, ptr %3, align 4, !tbaa !102
  %5346 = icmp ne i32 %5345, 0
  br i1 %5346, label %5347, label %5349

5347:                                             ; preds = %5341
  %5348 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5348)
  br label %5349

5349:                                             ; preds = %5347, %5341
  %5350 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5350, ptr noundef @.str.121)
  %5351 = load i64, ptr @simtime, align 8, !tbaa !15
  %5352 = add i64 %5351, 200
  store i64 %5352, ptr @simtime, align 8, !tbaa !15
  %5353 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5353)
  br label %17859

5354:                                             ; preds = %17
  %5355 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5355, ptr noundef @.str.41)
  %5356 = load i64, ptr @simtime, align 8, !tbaa !15
  %5357 = add i64 %5356, 100
  store i64 %5357, ptr @simtime, align 8, !tbaa !15
  %5358 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5358, ptr noundef @.str.42)
  %5359 = load i64, ptr @simtime, align 8, !tbaa !15
  %5360 = add i64 %5359, 100
  store i64 %5360, ptr @simtime, align 8, !tbaa !15
  %5361 = load ptr, ptr %2, align 8, !tbaa !5
  %5362 = getelementptr inbounds %struct.PDP6, ptr %5361, i32 0, i32 58
  store i8 1, ptr %5362, align 1, !tbaa !76
  %5363 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5363)
  %5364 = load ptr, ptr %2, align 8, !tbaa !5
  %5365 = getelementptr inbounds %struct.PDP6, ptr %5364, i32 0, i32 58
  store i8 0, ptr %5365, align 1, !tbaa !76
  %5366 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5366, ptr noundef @.str.43)
  %5367 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5367, ptr noundef @.str.65)
  %5368 = load i64, ptr @simtime, align 8, !tbaa !15
  %5369 = add i64 %5368, 100
  store i64 %5369, ptr @simtime, align 8, !tbaa !15
  %5370 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5370, ptr noundef @.str.122)
  %5371 = load i64, ptr @simtime, align 8, !tbaa !15
  %5372 = add i64 %5371, 100
  store i64 %5372, ptr @simtime, align 8, !tbaa !15
  %5373 = load ptr, ptr %2, align 8, !tbaa !5
  %5374 = getelementptr inbounds %struct.PDP6, ptr %5373, i32 0, i32 28
  %5375 = load i64, ptr %5374, align 8, !tbaa !34
  %5376 = icmp eq i64 %5375, 0
  %5377 = zext i1 %5376 to i32
  store i32 %5377, ptr %3, align 4, !tbaa !102
  %5378 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5378, ptr noundef @.str.125)
  %5379 = load i64, ptr @simtime, align 8, !tbaa !15
  %5380 = add i64 %5379, 100
  store i64 %5380, ptr @simtime, align 8, !tbaa !15
  %5381 = load i32, ptr %3, align 4, !tbaa !102
  %5382 = icmp ne i32 %5381, 0
  br i1 %5382, label %5383, label %5386

5383:                                             ; preds = %5354
  %5384 = load ptr, ptr %2, align 8, !tbaa !5
  %5385 = getelementptr inbounds %struct.PDP6, ptr %5384, i32 0, i32 34
  store i32 0, ptr %5385, align 8, !tbaa !33
  br label %5386

5386:                                             ; preds = %5383, %5354
  %5387 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5387, ptr noundef @.str.126)
  %5388 = load i64, ptr @simtime, align 8, !tbaa !15
  %5389 = add i64 %5388, 100
  store i64 %5389, ptr @simtime, align 8, !tbaa !15
  %5390 = load i32, ptr %3, align 4, !tbaa !102
  %5391 = icmp ne i32 %5390, 0
  br i1 %5391, label %5392, label %5400

5392:                                             ; preds = %5386
  %5393 = load ptr, ptr %2, align 8, !tbaa !5
  %5394 = getelementptr inbounds %struct.PDP6, ptr %5393, i32 0, i32 35
  %5395 = load i32, ptr %5394, align 4, !tbaa !32
  %5396 = load ptr, ptr %2, align 8, !tbaa !5
  %5397 = getelementptr inbounds %struct.PDP6, ptr %5396, i32 0, i32 34
  %5398 = load i32, ptr %5397, align 8, !tbaa !33
  %5399 = or i32 %5398, %5395
  store i32 %5399, ptr %5397, align 8, !tbaa !33
  br label %5400

5400:                                             ; preds = %5392, %5386
  %5401 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5401, ptr noundef @.str.127)
  %5402 = load i64, ptr @simtime, align 8, !tbaa !15
  %5403 = add i64 %5402, 200
  store i64 %5403, ptr @simtime, align 8, !tbaa !15
  %5404 = load i32, ptr %3, align 4, !tbaa !102
  %5405 = icmp ne i32 %5404, 0
  br i1 %5405, label %5406, label %5408

5406:                                             ; preds = %5400
  %5407 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5407)
  br label %5408

5408:                                             ; preds = %5406, %5400
  %5409 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5409, ptr noundef @.str.121)
  %5410 = load i64, ptr @simtime, align 8, !tbaa !15
  %5411 = add i64 %5410, 200
  store i64 %5411, ptr @simtime, align 8, !tbaa !15
  %5412 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5412)
  br label %17859

5413:                                             ; preds = %17
  %5414 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5414, ptr noundef @.str.41)
  %5415 = load i64, ptr @simtime, align 8, !tbaa !15
  %5416 = add i64 %5415, 100
  store i64 %5416, ptr @simtime, align 8, !tbaa !15
  %5417 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5417, ptr noundef @.str.42)
  %5418 = load i64, ptr @simtime, align 8, !tbaa !15
  %5419 = add i64 %5418, 100
  store i64 %5419, ptr @simtime, align 8, !tbaa !15
  %5420 = load ptr, ptr %2, align 8, !tbaa !5
  %5421 = getelementptr inbounds %struct.PDP6, ptr %5420, i32 0, i32 58
  store i8 1, ptr %5421, align 1, !tbaa !76
  %5422 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5422)
  %5423 = load ptr, ptr %2, align 8, !tbaa !5
  %5424 = getelementptr inbounds %struct.PDP6, ptr %5423, i32 0, i32 58
  store i8 0, ptr %5424, align 1, !tbaa !76
  %5425 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5425, ptr noundef @.str.43)
  %5426 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5426, ptr noundef @.str.65)
  %5427 = load i64, ptr @simtime, align 8, !tbaa !15
  %5428 = add i64 %5427, 100
  store i64 %5428, ptr @simtime, align 8, !tbaa !15
  %5429 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5429, ptr noundef @.str.122)
  %5430 = load i64, ptr @simtime, align 8, !tbaa !15
  %5431 = add i64 %5430, 100
  store i64 %5431, ptr @simtime, align 8, !tbaa !15
  %5432 = load ptr, ptr %2, align 8, !tbaa !5
  %5433 = getelementptr inbounds %struct.PDP6, ptr %5432, i32 0, i32 28
  %5434 = load i64, ptr %5433, align 8, !tbaa !34
  %5435 = and i64 %5434, 34359738368
  %5436 = icmp ne i64 %5435, 0
  br i1 %5436, label %5442, label %5437

5437:                                             ; preds = %5413
  %5438 = load ptr, ptr %2, align 8, !tbaa !5
  %5439 = getelementptr inbounds %struct.PDP6, ptr %5438, i32 0, i32 28
  %5440 = load i64, ptr %5439, align 8, !tbaa !34
  %5441 = icmp eq i64 %5440, 0
  br label %5442

5442:                                             ; preds = %5437, %5413
  %5443 = phi i1 [ true, %5413 ], [ %5441, %5437 ]
  %5444 = zext i1 %5443 to i32
  store i32 %5444, ptr %3, align 4, !tbaa !102
  %5445 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5445, ptr noundef @.str.125)
  %5446 = load i64, ptr @simtime, align 8, !tbaa !15
  %5447 = add i64 %5446, 100
  store i64 %5447, ptr @simtime, align 8, !tbaa !15
  %5448 = load i32, ptr %3, align 4, !tbaa !102
  %5449 = icmp ne i32 %5448, 0
  br i1 %5449, label %5450, label %5453

5450:                                             ; preds = %5442
  %5451 = load ptr, ptr %2, align 8, !tbaa !5
  %5452 = getelementptr inbounds %struct.PDP6, ptr %5451, i32 0, i32 34
  store i32 0, ptr %5452, align 8, !tbaa !33
  br label %5453

5453:                                             ; preds = %5450, %5442
  %5454 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5454, ptr noundef @.str.126)
  %5455 = load i64, ptr @simtime, align 8, !tbaa !15
  %5456 = add i64 %5455, 100
  store i64 %5456, ptr @simtime, align 8, !tbaa !15
  %5457 = load i32, ptr %3, align 4, !tbaa !102
  %5458 = icmp ne i32 %5457, 0
  br i1 %5458, label %5459, label %5467

5459:                                             ; preds = %5453
  %5460 = load ptr, ptr %2, align 8, !tbaa !5
  %5461 = getelementptr inbounds %struct.PDP6, ptr %5460, i32 0, i32 35
  %5462 = load i32, ptr %5461, align 4, !tbaa !32
  %5463 = load ptr, ptr %2, align 8, !tbaa !5
  %5464 = getelementptr inbounds %struct.PDP6, ptr %5463, i32 0, i32 34
  %5465 = load i32, ptr %5464, align 8, !tbaa !33
  %5466 = or i32 %5465, %5462
  store i32 %5466, ptr %5464, align 8, !tbaa !33
  br label %5467

5467:                                             ; preds = %5459, %5453
  %5468 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5468, ptr noundef @.str.127)
  %5469 = load i64, ptr @simtime, align 8, !tbaa !15
  %5470 = add i64 %5469, 200
  store i64 %5470, ptr @simtime, align 8, !tbaa !15
  %5471 = load i32, ptr %3, align 4, !tbaa !102
  %5472 = icmp ne i32 %5471, 0
  br i1 %5472, label %5473, label %5475

5473:                                             ; preds = %5467
  %5474 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5474)
  br label %5475

5475:                                             ; preds = %5473, %5467
  %5476 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5476, ptr noundef @.str.121)
  %5477 = load i64, ptr @simtime, align 8, !tbaa !15
  %5478 = add i64 %5477, 200
  store i64 %5478, ptr @simtime, align 8, !tbaa !15
  %5479 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5479)
  br label %17859

5480:                                             ; preds = %17
  %5481 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5481, ptr noundef @.str.41)
  %5482 = load i64, ptr @simtime, align 8, !tbaa !15
  %5483 = add i64 %5482, 100
  store i64 %5483, ptr @simtime, align 8, !tbaa !15
  %5484 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5484, ptr noundef @.str.42)
  %5485 = load i64, ptr @simtime, align 8, !tbaa !15
  %5486 = add i64 %5485, 100
  store i64 %5486, ptr @simtime, align 8, !tbaa !15
  %5487 = load ptr, ptr %2, align 8, !tbaa !5
  %5488 = getelementptr inbounds %struct.PDP6, ptr %5487, i32 0, i32 58
  store i8 1, ptr %5488, align 1, !tbaa !76
  %5489 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5489)
  %5490 = load ptr, ptr %2, align 8, !tbaa !5
  %5491 = getelementptr inbounds %struct.PDP6, ptr %5490, i32 0, i32 58
  store i8 0, ptr %5491, align 1, !tbaa !76
  %5492 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5492, ptr noundef @.str.43)
  %5493 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5493, ptr noundef @.str.65)
  %5494 = load i64, ptr @simtime, align 8, !tbaa !15
  %5495 = add i64 %5494, 100
  store i64 %5495, ptr @simtime, align 8, !tbaa !15
  %5496 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5496, ptr noundef @.str.122)
  %5497 = load i64, ptr @simtime, align 8, !tbaa !15
  %5498 = add i64 %5497, 100
  store i64 %5498, ptr @simtime, align 8, !tbaa !15
  %5499 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5499, ptr noundef @.str.125)
  %5500 = load i64, ptr @simtime, align 8, !tbaa !15
  %5501 = add i64 %5500, 100
  store i64 %5501, ptr @simtime, align 8, !tbaa !15
  %5502 = load ptr, ptr %2, align 8, !tbaa !5
  %5503 = getelementptr inbounds %struct.PDP6, ptr %5502, i32 0, i32 34
  store i32 0, ptr %5503, align 8, !tbaa !33
  %5504 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5504, ptr noundef @.str.126)
  %5505 = load i64, ptr @simtime, align 8, !tbaa !15
  %5506 = add i64 %5505, 100
  store i64 %5506, ptr @simtime, align 8, !tbaa !15
  %5507 = load ptr, ptr %2, align 8, !tbaa !5
  %5508 = getelementptr inbounds %struct.PDP6, ptr %5507, i32 0, i32 35
  %5509 = load i32, ptr %5508, align 4, !tbaa !32
  %5510 = load ptr, ptr %2, align 8, !tbaa !5
  %5511 = getelementptr inbounds %struct.PDP6, ptr %5510, i32 0, i32 34
  %5512 = load i32, ptr %5511, align 8, !tbaa !33
  %5513 = or i32 %5512, %5509
  store i32 %5513, ptr %5511, align 8, !tbaa !33
  %5514 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5514, ptr noundef @.str.127)
  %5515 = load i64, ptr @simtime, align 8, !tbaa !15
  %5516 = add i64 %5515, 200
  store i64 %5516, ptr @simtime, align 8, !tbaa !15
  %5517 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5517)
  %5518 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5518, ptr noundef @.str.121)
  %5519 = load i64, ptr @simtime, align 8, !tbaa !15
  %5520 = add i64 %5519, 200
  store i64 %5520, ptr @simtime, align 8, !tbaa !15
  %5521 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5521)
  br label %17859

5522:                                             ; preds = %17
  %5523 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5523, ptr noundef @.str.41)
  %5524 = load i64, ptr @simtime, align 8, !tbaa !15
  %5525 = add i64 %5524, 100
  store i64 %5525, ptr @simtime, align 8, !tbaa !15
  %5526 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5526, ptr noundef @.str.42)
  %5527 = load i64, ptr @simtime, align 8, !tbaa !15
  %5528 = add i64 %5527, 100
  store i64 %5528, ptr @simtime, align 8, !tbaa !15
  %5529 = load ptr, ptr %2, align 8, !tbaa !5
  %5530 = getelementptr inbounds %struct.PDP6, ptr %5529, i32 0, i32 58
  store i8 1, ptr %5530, align 1, !tbaa !76
  %5531 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5531)
  %5532 = load ptr, ptr %2, align 8, !tbaa !5
  %5533 = getelementptr inbounds %struct.PDP6, ptr %5532, i32 0, i32 58
  store i8 0, ptr %5533, align 1, !tbaa !76
  %5534 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5534, ptr noundef @.str.43)
  %5535 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5535, ptr noundef @.str.65)
  %5536 = load i64, ptr @simtime, align 8, !tbaa !15
  %5537 = add i64 %5536, 100
  store i64 %5537, ptr @simtime, align 8, !tbaa !15
  %5538 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5538, ptr noundef @.str.122)
  %5539 = load i64, ptr @simtime, align 8, !tbaa !15
  %5540 = add i64 %5539, 100
  store i64 %5540, ptr @simtime, align 8, !tbaa !15
  %5541 = load ptr, ptr %2, align 8, !tbaa !5
  %5542 = getelementptr inbounds %struct.PDP6, ptr %5541, i32 0, i32 28
  %5543 = load i64, ptr %5542, align 8, !tbaa !34
  %5544 = and i64 %5543, 34359738368
  %5545 = icmp ne i64 %5544, 0
  %5546 = xor i1 %5545, true
  %5547 = xor i1 %5546, true
  %5548 = xor i1 %5547, true
  %5549 = zext i1 %5548 to i32
  store i32 %5549, ptr %3, align 4, !tbaa !102
  %5550 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5550, ptr noundef @.str.125)
  %5551 = load i64, ptr @simtime, align 8, !tbaa !15
  %5552 = add i64 %5551, 100
  store i64 %5552, ptr @simtime, align 8, !tbaa !15
  %5553 = load i32, ptr %3, align 4, !tbaa !102
  %5554 = icmp ne i32 %5553, 0
  br i1 %5554, label %5555, label %5558

5555:                                             ; preds = %5522
  %5556 = load ptr, ptr %2, align 8, !tbaa !5
  %5557 = getelementptr inbounds %struct.PDP6, ptr %5556, i32 0, i32 34
  store i32 0, ptr %5557, align 8, !tbaa !33
  br label %5558

5558:                                             ; preds = %5555, %5522
  %5559 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5559, ptr noundef @.str.126)
  %5560 = load i64, ptr @simtime, align 8, !tbaa !15
  %5561 = add i64 %5560, 100
  store i64 %5561, ptr @simtime, align 8, !tbaa !15
  %5562 = load i32, ptr %3, align 4, !tbaa !102
  %5563 = icmp ne i32 %5562, 0
  br i1 %5563, label %5564, label %5572

5564:                                             ; preds = %5558
  %5565 = load ptr, ptr %2, align 8, !tbaa !5
  %5566 = getelementptr inbounds %struct.PDP6, ptr %5565, i32 0, i32 35
  %5567 = load i32, ptr %5566, align 4, !tbaa !32
  %5568 = load ptr, ptr %2, align 8, !tbaa !5
  %5569 = getelementptr inbounds %struct.PDP6, ptr %5568, i32 0, i32 34
  %5570 = load i32, ptr %5569, align 8, !tbaa !33
  %5571 = or i32 %5570, %5567
  store i32 %5571, ptr %5569, align 8, !tbaa !33
  br label %5572

5572:                                             ; preds = %5564, %5558
  %5573 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5573, ptr noundef @.str.127)
  %5574 = load i64, ptr @simtime, align 8, !tbaa !15
  %5575 = add i64 %5574, 200
  store i64 %5575, ptr @simtime, align 8, !tbaa !15
  %5576 = load i32, ptr %3, align 4, !tbaa !102
  %5577 = icmp ne i32 %5576, 0
  br i1 %5577, label %5578, label %5580

5578:                                             ; preds = %5572
  %5579 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5579)
  br label %5580

5580:                                             ; preds = %5578, %5572
  %5581 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5581, ptr noundef @.str.121)
  %5582 = load i64, ptr @simtime, align 8, !tbaa !15
  %5583 = add i64 %5582, 200
  store i64 %5583, ptr @simtime, align 8, !tbaa !15
  %5584 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5584)
  br label %17859

5585:                                             ; preds = %17
  %5586 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5586, ptr noundef @.str.41)
  %5587 = load i64, ptr @simtime, align 8, !tbaa !15
  %5588 = add i64 %5587, 100
  store i64 %5588, ptr @simtime, align 8, !tbaa !15
  %5589 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5589, ptr noundef @.str.42)
  %5590 = load i64, ptr @simtime, align 8, !tbaa !15
  %5591 = add i64 %5590, 100
  store i64 %5591, ptr @simtime, align 8, !tbaa !15
  %5592 = load ptr, ptr %2, align 8, !tbaa !5
  %5593 = getelementptr inbounds %struct.PDP6, ptr %5592, i32 0, i32 58
  store i8 1, ptr %5593, align 1, !tbaa !76
  %5594 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5594)
  %5595 = load ptr, ptr %2, align 8, !tbaa !5
  %5596 = getelementptr inbounds %struct.PDP6, ptr %5595, i32 0, i32 58
  store i8 0, ptr %5596, align 1, !tbaa !76
  %5597 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5597, ptr noundef @.str.43)
  %5598 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5598, ptr noundef @.str.65)
  %5599 = load i64, ptr @simtime, align 8, !tbaa !15
  %5600 = add i64 %5599, 100
  store i64 %5600, ptr @simtime, align 8, !tbaa !15
  %5601 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5601, ptr noundef @.str.122)
  %5602 = load i64, ptr @simtime, align 8, !tbaa !15
  %5603 = add i64 %5602, 100
  store i64 %5603, ptr @simtime, align 8, !tbaa !15
  %5604 = load ptr, ptr %2, align 8, !tbaa !5
  %5605 = getelementptr inbounds %struct.PDP6, ptr %5604, i32 0, i32 28
  %5606 = load i64, ptr %5605, align 8, !tbaa !34
  %5607 = icmp eq i64 %5606, 0
  %5608 = xor i1 %5607, true
  %5609 = zext i1 %5608 to i32
  store i32 %5609, ptr %3, align 4, !tbaa !102
  %5610 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5610, ptr noundef @.str.125)
  %5611 = load i64, ptr @simtime, align 8, !tbaa !15
  %5612 = add i64 %5611, 100
  store i64 %5612, ptr @simtime, align 8, !tbaa !15
  %5613 = load i32, ptr %3, align 4, !tbaa !102
  %5614 = icmp ne i32 %5613, 0
  br i1 %5614, label %5615, label %5618

5615:                                             ; preds = %5585
  %5616 = load ptr, ptr %2, align 8, !tbaa !5
  %5617 = getelementptr inbounds %struct.PDP6, ptr %5616, i32 0, i32 34
  store i32 0, ptr %5617, align 8, !tbaa !33
  br label %5618

5618:                                             ; preds = %5615, %5585
  %5619 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5619, ptr noundef @.str.126)
  %5620 = load i64, ptr @simtime, align 8, !tbaa !15
  %5621 = add i64 %5620, 100
  store i64 %5621, ptr @simtime, align 8, !tbaa !15
  %5622 = load i32, ptr %3, align 4, !tbaa !102
  %5623 = icmp ne i32 %5622, 0
  br i1 %5623, label %5624, label %5632

5624:                                             ; preds = %5618
  %5625 = load ptr, ptr %2, align 8, !tbaa !5
  %5626 = getelementptr inbounds %struct.PDP6, ptr %5625, i32 0, i32 35
  %5627 = load i32, ptr %5626, align 4, !tbaa !32
  %5628 = load ptr, ptr %2, align 8, !tbaa !5
  %5629 = getelementptr inbounds %struct.PDP6, ptr %5628, i32 0, i32 34
  %5630 = load i32, ptr %5629, align 8, !tbaa !33
  %5631 = or i32 %5630, %5627
  store i32 %5631, ptr %5629, align 8, !tbaa !33
  br label %5632

5632:                                             ; preds = %5624, %5618
  %5633 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5633, ptr noundef @.str.127)
  %5634 = load i64, ptr @simtime, align 8, !tbaa !15
  %5635 = add i64 %5634, 200
  store i64 %5635, ptr @simtime, align 8, !tbaa !15
  %5636 = load i32, ptr %3, align 4, !tbaa !102
  %5637 = icmp ne i32 %5636, 0
  br i1 %5637, label %5638, label %5640

5638:                                             ; preds = %5632
  %5639 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5639)
  br label %5640

5640:                                             ; preds = %5638, %5632
  %5641 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5641, ptr noundef @.str.121)
  %5642 = load i64, ptr @simtime, align 8, !tbaa !15
  %5643 = add i64 %5642, 200
  store i64 %5643, ptr @simtime, align 8, !tbaa !15
  %5644 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5644)
  br label %17859

5645:                                             ; preds = %17
  %5646 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5646, ptr noundef @.str.41)
  %5647 = load i64, ptr @simtime, align 8, !tbaa !15
  %5648 = add i64 %5647, 100
  store i64 %5648, ptr @simtime, align 8, !tbaa !15
  %5649 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5649, ptr noundef @.str.42)
  %5650 = load i64, ptr @simtime, align 8, !tbaa !15
  %5651 = add i64 %5650, 100
  store i64 %5651, ptr @simtime, align 8, !tbaa !15
  %5652 = load ptr, ptr %2, align 8, !tbaa !5
  %5653 = getelementptr inbounds %struct.PDP6, ptr %5652, i32 0, i32 58
  store i8 1, ptr %5653, align 1, !tbaa !76
  %5654 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5654)
  %5655 = load ptr, ptr %2, align 8, !tbaa !5
  %5656 = getelementptr inbounds %struct.PDP6, ptr %5655, i32 0, i32 58
  store i8 0, ptr %5656, align 1, !tbaa !76
  %5657 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5657, ptr noundef @.str.43)
  %5658 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5658, ptr noundef @.str.65)
  %5659 = load i64, ptr @simtime, align 8, !tbaa !15
  %5660 = add i64 %5659, 100
  store i64 %5660, ptr @simtime, align 8, !tbaa !15
  %5661 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5661, ptr noundef @.str.122)
  %5662 = load i64, ptr @simtime, align 8, !tbaa !15
  %5663 = add i64 %5662, 100
  store i64 %5663, ptr @simtime, align 8, !tbaa !15
  %5664 = load ptr, ptr %2, align 8, !tbaa !5
  %5665 = getelementptr inbounds %struct.PDP6, ptr %5664, i32 0, i32 28
  %5666 = load i64, ptr %5665, align 8, !tbaa !34
  %5667 = and i64 %5666, 34359738368
  %5668 = icmp ne i64 %5667, 0
  br i1 %5668, label %5674, label %5669

5669:                                             ; preds = %5645
  %5670 = load ptr, ptr %2, align 8, !tbaa !5
  %5671 = getelementptr inbounds %struct.PDP6, ptr %5670, i32 0, i32 28
  %5672 = load i64, ptr %5671, align 8, !tbaa !34
  %5673 = icmp eq i64 %5672, 0
  br label %5674

5674:                                             ; preds = %5669, %5645
  %5675 = phi i1 [ true, %5645 ], [ %5673, %5669 ]
  %5676 = xor i1 %5675, true
  %5677 = zext i1 %5676 to i32
  store i32 %5677, ptr %3, align 4, !tbaa !102
  %5678 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5678, ptr noundef @.str.125)
  %5679 = load i64, ptr @simtime, align 8, !tbaa !15
  %5680 = add i64 %5679, 100
  store i64 %5680, ptr @simtime, align 8, !tbaa !15
  %5681 = load i32, ptr %3, align 4, !tbaa !102
  %5682 = icmp ne i32 %5681, 0
  br i1 %5682, label %5683, label %5686

5683:                                             ; preds = %5674
  %5684 = load ptr, ptr %2, align 8, !tbaa !5
  %5685 = getelementptr inbounds %struct.PDP6, ptr %5684, i32 0, i32 34
  store i32 0, ptr %5685, align 8, !tbaa !33
  br label %5686

5686:                                             ; preds = %5683, %5674
  %5687 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5687, ptr noundef @.str.126)
  %5688 = load i64, ptr @simtime, align 8, !tbaa !15
  %5689 = add i64 %5688, 100
  store i64 %5689, ptr @simtime, align 8, !tbaa !15
  %5690 = load i32, ptr %3, align 4, !tbaa !102
  %5691 = icmp ne i32 %5690, 0
  br i1 %5691, label %5692, label %5700

5692:                                             ; preds = %5686
  %5693 = load ptr, ptr %2, align 8, !tbaa !5
  %5694 = getelementptr inbounds %struct.PDP6, ptr %5693, i32 0, i32 35
  %5695 = load i32, ptr %5694, align 4, !tbaa !32
  %5696 = load ptr, ptr %2, align 8, !tbaa !5
  %5697 = getelementptr inbounds %struct.PDP6, ptr %5696, i32 0, i32 34
  %5698 = load i32, ptr %5697, align 8, !tbaa !33
  %5699 = or i32 %5698, %5695
  store i32 %5699, ptr %5697, align 8, !tbaa !33
  br label %5700

5700:                                             ; preds = %5692, %5686
  %5701 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5701, ptr noundef @.str.127)
  %5702 = load i64, ptr @simtime, align 8, !tbaa !15
  %5703 = add i64 %5702, 200
  store i64 %5703, ptr @simtime, align 8, !tbaa !15
  %5704 = load i32, ptr %3, align 4, !tbaa !102
  %5705 = icmp ne i32 %5704, 0
  br i1 %5705, label %5706, label %5708

5706:                                             ; preds = %5700
  %5707 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5707)
  br label %5708

5708:                                             ; preds = %5706, %5700
  %5709 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5709, ptr noundef @.str.121)
  %5710 = load i64, ptr @simtime, align 8, !tbaa !15
  %5711 = add i64 %5710, 200
  store i64 %5711, ptr @simtime, align 8, !tbaa !15
  %5712 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5712)
  br label %17859

5713:                                             ; preds = %17
  %5714 = load ptr, ptr %2, align 8, !tbaa !5
  %5715 = getelementptr inbounds %struct.PDP6, ptr %5714, i32 0, i32 31
  %5716 = load i64, ptr %5715, align 8, !tbaa !39
  %5717 = load ptr, ptr %2, align 8, !tbaa !5
  %5718 = getelementptr inbounds %struct.PDP6, ptr %5717, i32 0, i32 28
  store i64 %5716, ptr %5718, align 8, !tbaa !34
  %5719 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5719, ptr noundef @.str.41)
  %5720 = load i64, ptr @simtime, align 8, !tbaa !15
  %5721 = add i64 %5720, 100
  store i64 %5721, ptr @simtime, align 8, !tbaa !15
  %5722 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5722, ptr noundef @.str.42)
  %5723 = load i64, ptr @simtime, align 8, !tbaa !15
  %5724 = add i64 %5723, 100
  store i64 %5724, ptr @simtime, align 8, !tbaa !15
  %5725 = load ptr, ptr %2, align 8, !tbaa !5
  %5726 = getelementptr inbounds %struct.PDP6, ptr %5725, i32 0, i32 58
  store i8 1, ptr %5726, align 1, !tbaa !76
  %5727 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5727)
  %5728 = load ptr, ptr %2, align 8, !tbaa !5
  %5729 = getelementptr inbounds %struct.PDP6, ptr %5728, i32 0, i32 58
  store i8 0, ptr %5729, align 1, !tbaa !76
  %5730 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5730, ptr noundef @.str.43)
  %5731 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5731, ptr noundef @.str.65)
  %5732 = load i64, ptr @simtime, align 8, !tbaa !15
  %5733 = add i64 %5732, 100
  store i64 %5733, ptr @simtime, align 8, !tbaa !15
  %5734 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5734, ptr noundef @.str.122)
  %5735 = load i64, ptr @simtime, align 8, !tbaa !15
  %5736 = add i64 %5735, 100
  store i64 %5736, ptr @simtime, align 8, !tbaa !15
  %5737 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5737, ptr noundef @.str.125)
  %5738 = load i64, ptr @simtime, align 8, !tbaa !15
  %5739 = add i64 %5738, 100
  store i64 %5739, ptr @simtime, align 8, !tbaa !15
  %5740 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5740, ptr noundef @.str.126)
  %5741 = load i64, ptr @simtime, align 8, !tbaa !15
  %5742 = add i64 %5741, 100
  store i64 %5742, ptr @simtime, align 8, !tbaa !15
  %5743 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5743, ptr noundef @.str.127)
  %5744 = load i64, ptr @simtime, align 8, !tbaa !15
  %5745 = add i64 %5744, 200
  store i64 %5745, ptr @simtime, align 8, !tbaa !15
  %5746 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5746, ptr noundef @.str.121)
  %5747 = load i64, ptr @simtime, align 8, !tbaa !15
  %5748 = add i64 %5747, 200
  store i64 %5748, ptr @simtime, align 8, !tbaa !15
  %5749 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5749)
  %5750 = load ptr, ptr %2, align 8, !tbaa !5
  %5751 = getelementptr inbounds %struct.PDP6, ptr %5750, i32 0, i32 28
  %5752 = load i64, ptr %5751, align 8, !tbaa !34
  %5753 = load ptr, ptr %2, align 8, !tbaa !5
  %5754 = getelementptr inbounds %struct.PDP6, ptr %5753, i32 0, i32 31
  store i64 %5752, ptr %5754, align 8, !tbaa !39
  br label %17859

5755:                                             ; preds = %17
  %5756 = load ptr, ptr %2, align 8, !tbaa !5
  %5757 = getelementptr inbounds %struct.PDP6, ptr %5756, i32 0, i32 31
  %5758 = load i64, ptr %5757, align 8, !tbaa !39
  %5759 = load ptr, ptr %2, align 8, !tbaa !5
  %5760 = getelementptr inbounds %struct.PDP6, ptr %5759, i32 0, i32 28
  store i64 %5758, ptr %5760, align 8, !tbaa !34
  %5761 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5761, ptr noundef @.str.41)
  %5762 = load i64, ptr @simtime, align 8, !tbaa !15
  %5763 = add i64 %5762, 100
  store i64 %5763, ptr @simtime, align 8, !tbaa !15
  %5764 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5764, ptr noundef @.str.42)
  %5765 = load i64, ptr @simtime, align 8, !tbaa !15
  %5766 = add i64 %5765, 100
  store i64 %5766, ptr @simtime, align 8, !tbaa !15
  %5767 = load ptr, ptr %2, align 8, !tbaa !5
  %5768 = getelementptr inbounds %struct.PDP6, ptr %5767, i32 0, i32 58
  store i8 1, ptr %5768, align 1, !tbaa !76
  %5769 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5769)
  %5770 = load ptr, ptr %2, align 8, !tbaa !5
  %5771 = getelementptr inbounds %struct.PDP6, ptr %5770, i32 0, i32 58
  store i8 0, ptr %5771, align 1, !tbaa !76
  %5772 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5772, ptr noundef @.str.43)
  %5773 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5773, ptr noundef @.str.65)
  %5774 = load i64, ptr @simtime, align 8, !tbaa !15
  %5775 = add i64 %5774, 100
  store i64 %5775, ptr @simtime, align 8, !tbaa !15
  %5776 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5776, ptr noundef @.str.122)
  %5777 = load i64, ptr @simtime, align 8, !tbaa !15
  %5778 = add i64 %5777, 100
  store i64 %5778, ptr @simtime, align 8, !tbaa !15
  %5779 = load ptr, ptr %2, align 8, !tbaa !5
  %5780 = getelementptr inbounds %struct.PDP6, ptr %5779, i32 0, i32 28
  %5781 = load i64, ptr %5780, align 8, !tbaa !34
  %5782 = and i64 %5781, 34359738368
  %5783 = icmp ne i64 %5782, 0
  %5784 = xor i1 %5783, true
  %5785 = xor i1 %5784, true
  %5786 = zext i1 %5785 to i32
  store i32 %5786, ptr %3, align 4, !tbaa !102
  %5787 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5787, ptr noundef @.str.125)
  %5788 = load i64, ptr @simtime, align 8, !tbaa !15
  %5789 = add i64 %5788, 100
  store i64 %5789, ptr @simtime, align 8, !tbaa !15
  %5790 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5790, ptr noundef @.str.126)
  %5791 = load i64, ptr @simtime, align 8, !tbaa !15
  %5792 = add i64 %5791, 100
  store i64 %5792, ptr @simtime, align 8, !tbaa !15
  %5793 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5793, ptr noundef @.str.127)
  %5794 = load i64, ptr @simtime, align 8, !tbaa !15
  %5795 = add i64 %5794, 200
  store i64 %5795, ptr @simtime, align 8, !tbaa !15
  %5796 = load i32, ptr %3, align 4, !tbaa !102
  %5797 = icmp ne i32 %5796, 0
  br i1 %5797, label %5798, label %5807

5798:                                             ; preds = %5755
  %5799 = load ptr, ptr %2, align 8, !tbaa !5
  %5800 = getelementptr inbounds %struct.PDP6, ptr %5799, i32 0, i32 34
  %5801 = load i32, ptr %5800, align 8, !tbaa !33
  %5802 = add i32 %5801, 1
  %5803 = and i32 %5802, 262143
  %5804 = load ptr, ptr %2, align 8, !tbaa !5
  %5805 = getelementptr inbounds %struct.PDP6, ptr %5804, i32 0, i32 34
  store i32 %5803, ptr %5805, align 8, !tbaa !33
  %5806 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5806)
  br label %5807

5807:                                             ; preds = %5798, %5755
  %5808 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5808, ptr noundef @.str.121)
  %5809 = load i64, ptr @simtime, align 8, !tbaa !15
  %5810 = add i64 %5809, 200
  store i64 %5810, ptr @simtime, align 8, !tbaa !15
  %5811 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5811)
  %5812 = load ptr, ptr %2, align 8, !tbaa !5
  %5813 = getelementptr inbounds %struct.PDP6, ptr %5812, i32 0, i32 28
  %5814 = load i64, ptr %5813, align 8, !tbaa !34
  %5815 = load ptr, ptr %2, align 8, !tbaa !5
  %5816 = getelementptr inbounds %struct.PDP6, ptr %5815, i32 0, i32 31
  store i64 %5814, ptr %5816, align 8, !tbaa !39
  br label %17859

5817:                                             ; preds = %17
  %5818 = load ptr, ptr %2, align 8, !tbaa !5
  %5819 = getelementptr inbounds %struct.PDP6, ptr %5818, i32 0, i32 31
  %5820 = load i64, ptr %5819, align 8, !tbaa !39
  %5821 = load ptr, ptr %2, align 8, !tbaa !5
  %5822 = getelementptr inbounds %struct.PDP6, ptr %5821, i32 0, i32 28
  store i64 %5820, ptr %5822, align 8, !tbaa !34
  %5823 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5823, ptr noundef @.str.41)
  %5824 = load i64, ptr @simtime, align 8, !tbaa !15
  %5825 = add i64 %5824, 100
  store i64 %5825, ptr @simtime, align 8, !tbaa !15
  %5826 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5826, ptr noundef @.str.42)
  %5827 = load i64, ptr @simtime, align 8, !tbaa !15
  %5828 = add i64 %5827, 100
  store i64 %5828, ptr @simtime, align 8, !tbaa !15
  %5829 = load ptr, ptr %2, align 8, !tbaa !5
  %5830 = getelementptr inbounds %struct.PDP6, ptr %5829, i32 0, i32 58
  store i8 1, ptr %5830, align 1, !tbaa !76
  %5831 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5831)
  %5832 = load ptr, ptr %2, align 8, !tbaa !5
  %5833 = getelementptr inbounds %struct.PDP6, ptr %5832, i32 0, i32 58
  store i8 0, ptr %5833, align 1, !tbaa !76
  %5834 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5834, ptr noundef @.str.43)
  %5835 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5835, ptr noundef @.str.65)
  %5836 = load i64, ptr @simtime, align 8, !tbaa !15
  %5837 = add i64 %5836, 100
  store i64 %5837, ptr @simtime, align 8, !tbaa !15
  %5838 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5838, ptr noundef @.str.122)
  %5839 = load i64, ptr @simtime, align 8, !tbaa !15
  %5840 = add i64 %5839, 100
  store i64 %5840, ptr @simtime, align 8, !tbaa !15
  %5841 = load ptr, ptr %2, align 8, !tbaa !5
  %5842 = getelementptr inbounds %struct.PDP6, ptr %5841, i32 0, i32 28
  %5843 = load i64, ptr %5842, align 8, !tbaa !34
  %5844 = icmp eq i64 %5843, 0
  %5845 = zext i1 %5844 to i32
  store i32 %5845, ptr %3, align 4, !tbaa !102
  %5846 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5846, ptr noundef @.str.125)
  %5847 = load i64, ptr @simtime, align 8, !tbaa !15
  %5848 = add i64 %5847, 100
  store i64 %5848, ptr @simtime, align 8, !tbaa !15
  %5849 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5849, ptr noundef @.str.126)
  %5850 = load i64, ptr @simtime, align 8, !tbaa !15
  %5851 = add i64 %5850, 100
  store i64 %5851, ptr @simtime, align 8, !tbaa !15
  %5852 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5852, ptr noundef @.str.127)
  %5853 = load i64, ptr @simtime, align 8, !tbaa !15
  %5854 = add i64 %5853, 200
  store i64 %5854, ptr @simtime, align 8, !tbaa !15
  %5855 = load i32, ptr %3, align 4, !tbaa !102
  %5856 = icmp ne i32 %5855, 0
  br i1 %5856, label %5857, label %5866

5857:                                             ; preds = %5817
  %5858 = load ptr, ptr %2, align 8, !tbaa !5
  %5859 = getelementptr inbounds %struct.PDP6, ptr %5858, i32 0, i32 34
  %5860 = load i32, ptr %5859, align 8, !tbaa !33
  %5861 = add i32 %5860, 1
  %5862 = and i32 %5861, 262143
  %5863 = load ptr, ptr %2, align 8, !tbaa !5
  %5864 = getelementptr inbounds %struct.PDP6, ptr %5863, i32 0, i32 34
  store i32 %5862, ptr %5864, align 8, !tbaa !33
  %5865 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5865)
  br label %5866

5866:                                             ; preds = %5857, %5817
  %5867 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5867, ptr noundef @.str.121)
  %5868 = load i64, ptr @simtime, align 8, !tbaa !15
  %5869 = add i64 %5868, 200
  store i64 %5869, ptr @simtime, align 8, !tbaa !15
  %5870 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5870)
  %5871 = load ptr, ptr %2, align 8, !tbaa !5
  %5872 = getelementptr inbounds %struct.PDP6, ptr %5871, i32 0, i32 28
  %5873 = load i64, ptr %5872, align 8, !tbaa !34
  %5874 = load ptr, ptr %2, align 8, !tbaa !5
  %5875 = getelementptr inbounds %struct.PDP6, ptr %5874, i32 0, i32 31
  store i64 %5873, ptr %5875, align 8, !tbaa !39
  br label %17859

5876:                                             ; preds = %17
  %5877 = load ptr, ptr %2, align 8, !tbaa !5
  %5878 = getelementptr inbounds %struct.PDP6, ptr %5877, i32 0, i32 31
  %5879 = load i64, ptr %5878, align 8, !tbaa !39
  %5880 = load ptr, ptr %2, align 8, !tbaa !5
  %5881 = getelementptr inbounds %struct.PDP6, ptr %5880, i32 0, i32 28
  store i64 %5879, ptr %5881, align 8, !tbaa !34
  %5882 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5882, ptr noundef @.str.41)
  %5883 = load i64, ptr @simtime, align 8, !tbaa !15
  %5884 = add i64 %5883, 100
  store i64 %5884, ptr @simtime, align 8, !tbaa !15
  %5885 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5885, ptr noundef @.str.42)
  %5886 = load i64, ptr @simtime, align 8, !tbaa !15
  %5887 = add i64 %5886, 100
  store i64 %5887, ptr @simtime, align 8, !tbaa !15
  %5888 = load ptr, ptr %2, align 8, !tbaa !5
  %5889 = getelementptr inbounds %struct.PDP6, ptr %5888, i32 0, i32 58
  store i8 1, ptr %5889, align 1, !tbaa !76
  %5890 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5890)
  %5891 = load ptr, ptr %2, align 8, !tbaa !5
  %5892 = getelementptr inbounds %struct.PDP6, ptr %5891, i32 0, i32 58
  store i8 0, ptr %5892, align 1, !tbaa !76
  %5893 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5893, ptr noundef @.str.43)
  %5894 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5894, ptr noundef @.str.65)
  %5895 = load i64, ptr @simtime, align 8, !tbaa !15
  %5896 = add i64 %5895, 100
  store i64 %5896, ptr @simtime, align 8, !tbaa !15
  %5897 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5897, ptr noundef @.str.122)
  %5898 = load i64, ptr @simtime, align 8, !tbaa !15
  %5899 = add i64 %5898, 100
  store i64 %5899, ptr @simtime, align 8, !tbaa !15
  %5900 = load ptr, ptr %2, align 8, !tbaa !5
  %5901 = getelementptr inbounds %struct.PDP6, ptr %5900, i32 0, i32 28
  %5902 = load i64, ptr %5901, align 8, !tbaa !34
  %5903 = and i64 %5902, 34359738368
  %5904 = icmp ne i64 %5903, 0
  br i1 %5904, label %5910, label %5905

5905:                                             ; preds = %5876
  %5906 = load ptr, ptr %2, align 8, !tbaa !5
  %5907 = getelementptr inbounds %struct.PDP6, ptr %5906, i32 0, i32 28
  %5908 = load i64, ptr %5907, align 8, !tbaa !34
  %5909 = icmp eq i64 %5908, 0
  br label %5910

5910:                                             ; preds = %5905, %5876
  %5911 = phi i1 [ true, %5876 ], [ %5909, %5905 ]
  %5912 = zext i1 %5911 to i32
  store i32 %5912, ptr %3, align 4, !tbaa !102
  %5913 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5913, ptr noundef @.str.125)
  %5914 = load i64, ptr @simtime, align 8, !tbaa !15
  %5915 = add i64 %5914, 100
  store i64 %5915, ptr @simtime, align 8, !tbaa !15
  %5916 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5916, ptr noundef @.str.126)
  %5917 = load i64, ptr @simtime, align 8, !tbaa !15
  %5918 = add i64 %5917, 100
  store i64 %5918, ptr @simtime, align 8, !tbaa !15
  %5919 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5919, ptr noundef @.str.127)
  %5920 = load i64, ptr @simtime, align 8, !tbaa !15
  %5921 = add i64 %5920, 200
  store i64 %5921, ptr @simtime, align 8, !tbaa !15
  %5922 = load i32, ptr %3, align 4, !tbaa !102
  %5923 = icmp ne i32 %5922, 0
  br i1 %5923, label %5924, label %5933

5924:                                             ; preds = %5910
  %5925 = load ptr, ptr %2, align 8, !tbaa !5
  %5926 = getelementptr inbounds %struct.PDP6, ptr %5925, i32 0, i32 34
  %5927 = load i32, ptr %5926, align 8, !tbaa !33
  %5928 = add i32 %5927, 1
  %5929 = and i32 %5928, 262143
  %5930 = load ptr, ptr %2, align 8, !tbaa !5
  %5931 = getelementptr inbounds %struct.PDP6, ptr %5930, i32 0, i32 34
  store i32 %5929, ptr %5931, align 8, !tbaa !33
  %5932 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5932)
  br label %5933

5933:                                             ; preds = %5924, %5910
  %5934 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5934, ptr noundef @.str.121)
  %5935 = load i64, ptr @simtime, align 8, !tbaa !15
  %5936 = add i64 %5935, 200
  store i64 %5936, ptr @simtime, align 8, !tbaa !15
  %5937 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5937)
  %5938 = load ptr, ptr %2, align 8, !tbaa !5
  %5939 = getelementptr inbounds %struct.PDP6, ptr %5938, i32 0, i32 28
  %5940 = load i64, ptr %5939, align 8, !tbaa !34
  %5941 = load ptr, ptr %2, align 8, !tbaa !5
  %5942 = getelementptr inbounds %struct.PDP6, ptr %5941, i32 0, i32 31
  store i64 %5940, ptr %5942, align 8, !tbaa !39
  br label %17859

5943:                                             ; preds = %17
  %5944 = load ptr, ptr %2, align 8, !tbaa !5
  %5945 = getelementptr inbounds %struct.PDP6, ptr %5944, i32 0, i32 31
  %5946 = load i64, ptr %5945, align 8, !tbaa !39
  %5947 = load ptr, ptr %2, align 8, !tbaa !5
  %5948 = getelementptr inbounds %struct.PDP6, ptr %5947, i32 0, i32 28
  store i64 %5946, ptr %5948, align 8, !tbaa !34
  %5949 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5949, ptr noundef @.str.41)
  %5950 = load i64, ptr @simtime, align 8, !tbaa !15
  %5951 = add i64 %5950, 100
  store i64 %5951, ptr @simtime, align 8, !tbaa !15
  %5952 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5952, ptr noundef @.str.42)
  %5953 = load i64, ptr @simtime, align 8, !tbaa !15
  %5954 = add i64 %5953, 100
  store i64 %5954, ptr @simtime, align 8, !tbaa !15
  %5955 = load ptr, ptr %2, align 8, !tbaa !5
  %5956 = getelementptr inbounds %struct.PDP6, ptr %5955, i32 0, i32 58
  store i8 1, ptr %5956, align 1, !tbaa !76
  %5957 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %5957)
  %5958 = load ptr, ptr %2, align 8, !tbaa !5
  %5959 = getelementptr inbounds %struct.PDP6, ptr %5958, i32 0, i32 58
  store i8 0, ptr %5959, align 1, !tbaa !76
  %5960 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5960, ptr noundef @.str.43)
  %5961 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5961, ptr noundef @.str.65)
  %5962 = load i64, ptr @simtime, align 8, !tbaa !15
  %5963 = add i64 %5962, 100
  store i64 %5963, ptr @simtime, align 8, !tbaa !15
  %5964 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5964, ptr noundef @.str.122)
  %5965 = load i64, ptr @simtime, align 8, !tbaa !15
  %5966 = add i64 %5965, 100
  store i64 %5966, ptr @simtime, align 8, !tbaa !15
  %5967 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5967, ptr noundef @.str.125)
  %5968 = load i64, ptr @simtime, align 8, !tbaa !15
  %5969 = add i64 %5968, 100
  store i64 %5969, ptr @simtime, align 8, !tbaa !15
  %5970 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5970, ptr noundef @.str.126)
  %5971 = load i64, ptr @simtime, align 8, !tbaa !15
  %5972 = add i64 %5971, 100
  store i64 %5972, ptr @simtime, align 8, !tbaa !15
  %5973 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5973, ptr noundef @.str.127)
  %5974 = load i64, ptr @simtime, align 8, !tbaa !15
  %5975 = add i64 %5974, 200
  store i64 %5975, ptr @simtime, align 8, !tbaa !15
  %5976 = load ptr, ptr %2, align 8, !tbaa !5
  %5977 = getelementptr inbounds %struct.PDP6, ptr %5976, i32 0, i32 34
  %5978 = load i32, ptr %5977, align 8, !tbaa !33
  %5979 = add i32 %5978, 1
  %5980 = and i32 %5979, 262143
  %5981 = load ptr, ptr %2, align 8, !tbaa !5
  %5982 = getelementptr inbounds %struct.PDP6, ptr %5981, i32 0, i32 34
  store i32 %5980, ptr %5982, align 8, !tbaa !33
  %5983 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %5983)
  %5984 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5984, ptr noundef @.str.121)
  %5985 = load i64, ptr @simtime, align 8, !tbaa !15
  %5986 = add i64 %5985, 200
  store i64 %5986, ptr @simtime, align 8, !tbaa !15
  %5987 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %5987)
  %5988 = load ptr, ptr %2, align 8, !tbaa !5
  %5989 = getelementptr inbounds %struct.PDP6, ptr %5988, i32 0, i32 28
  %5990 = load i64, ptr %5989, align 8, !tbaa !34
  %5991 = load ptr, ptr %2, align 8, !tbaa !5
  %5992 = getelementptr inbounds %struct.PDP6, ptr %5991, i32 0, i32 31
  store i64 %5990, ptr %5992, align 8, !tbaa !39
  br label %17859

5993:                                             ; preds = %17
  %5994 = load ptr, ptr %2, align 8, !tbaa !5
  %5995 = getelementptr inbounds %struct.PDP6, ptr %5994, i32 0, i32 31
  %5996 = load i64, ptr %5995, align 8, !tbaa !39
  %5997 = load ptr, ptr %2, align 8, !tbaa !5
  %5998 = getelementptr inbounds %struct.PDP6, ptr %5997, i32 0, i32 28
  store i64 %5996, ptr %5998, align 8, !tbaa !34
  %5999 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %5999, ptr noundef @.str.41)
  %6000 = load i64, ptr @simtime, align 8, !tbaa !15
  %6001 = add i64 %6000, 100
  store i64 %6001, ptr @simtime, align 8, !tbaa !15
  %6002 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6002, ptr noundef @.str.42)
  %6003 = load i64, ptr @simtime, align 8, !tbaa !15
  %6004 = add i64 %6003, 100
  store i64 %6004, ptr @simtime, align 8, !tbaa !15
  %6005 = load ptr, ptr %2, align 8, !tbaa !5
  %6006 = getelementptr inbounds %struct.PDP6, ptr %6005, i32 0, i32 58
  store i8 1, ptr %6006, align 1, !tbaa !76
  %6007 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %6007)
  %6008 = load ptr, ptr %2, align 8, !tbaa !5
  %6009 = getelementptr inbounds %struct.PDP6, ptr %6008, i32 0, i32 58
  store i8 0, ptr %6009, align 1, !tbaa !76
  %6010 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6010, ptr noundef @.str.43)
  %6011 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6011, ptr noundef @.str.65)
  %6012 = load i64, ptr @simtime, align 8, !tbaa !15
  %6013 = add i64 %6012, 100
  store i64 %6013, ptr @simtime, align 8, !tbaa !15
  %6014 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6014, ptr noundef @.str.122)
  %6015 = load i64, ptr @simtime, align 8, !tbaa !15
  %6016 = add i64 %6015, 100
  store i64 %6016, ptr @simtime, align 8, !tbaa !15
  %6017 = load ptr, ptr %2, align 8, !tbaa !5
  %6018 = getelementptr inbounds %struct.PDP6, ptr %6017, i32 0, i32 28
  %6019 = load i64, ptr %6018, align 8, !tbaa !34
  %6020 = and i64 %6019, 34359738368
  %6021 = icmp ne i64 %6020, 0
  %6022 = xor i1 %6021, true
  %6023 = xor i1 %6022, true
  %6024 = xor i1 %6023, true
  %6025 = zext i1 %6024 to i32
  store i32 %6025, ptr %3, align 4, !tbaa !102
  %6026 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6026, ptr noundef @.str.125)
  %6027 = load i64, ptr @simtime, align 8, !tbaa !15
  %6028 = add i64 %6027, 100
  store i64 %6028, ptr @simtime, align 8, !tbaa !15
  %6029 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6029, ptr noundef @.str.126)
  %6030 = load i64, ptr @simtime, align 8, !tbaa !15
  %6031 = add i64 %6030, 100
  store i64 %6031, ptr @simtime, align 8, !tbaa !15
  %6032 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6032, ptr noundef @.str.127)
  %6033 = load i64, ptr @simtime, align 8, !tbaa !15
  %6034 = add i64 %6033, 200
  store i64 %6034, ptr @simtime, align 8, !tbaa !15
  %6035 = load i32, ptr %3, align 4, !tbaa !102
  %6036 = icmp ne i32 %6035, 0
  br i1 %6036, label %6037, label %6046

6037:                                             ; preds = %5993
  %6038 = load ptr, ptr %2, align 8, !tbaa !5
  %6039 = getelementptr inbounds %struct.PDP6, ptr %6038, i32 0, i32 34
  %6040 = load i32, ptr %6039, align 8, !tbaa !33
  %6041 = add i32 %6040, 1
  %6042 = and i32 %6041, 262143
  %6043 = load ptr, ptr %2, align 8, !tbaa !5
  %6044 = getelementptr inbounds %struct.PDP6, ptr %6043, i32 0, i32 34
  store i32 %6042, ptr %6044, align 8, !tbaa !33
  %6045 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6045)
  br label %6046

6046:                                             ; preds = %6037, %5993
  %6047 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6047, ptr noundef @.str.121)
  %6048 = load i64, ptr @simtime, align 8, !tbaa !15
  %6049 = add i64 %6048, 200
  store i64 %6049, ptr @simtime, align 8, !tbaa !15
  %6050 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6050)
  %6051 = load ptr, ptr %2, align 8, !tbaa !5
  %6052 = getelementptr inbounds %struct.PDP6, ptr %6051, i32 0, i32 28
  %6053 = load i64, ptr %6052, align 8, !tbaa !34
  %6054 = load ptr, ptr %2, align 8, !tbaa !5
  %6055 = getelementptr inbounds %struct.PDP6, ptr %6054, i32 0, i32 31
  store i64 %6053, ptr %6055, align 8, !tbaa !39
  br label %17859

6056:                                             ; preds = %17
  %6057 = load ptr, ptr %2, align 8, !tbaa !5
  %6058 = getelementptr inbounds %struct.PDP6, ptr %6057, i32 0, i32 31
  %6059 = load i64, ptr %6058, align 8, !tbaa !39
  %6060 = load ptr, ptr %2, align 8, !tbaa !5
  %6061 = getelementptr inbounds %struct.PDP6, ptr %6060, i32 0, i32 28
  store i64 %6059, ptr %6061, align 8, !tbaa !34
  %6062 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6062, ptr noundef @.str.41)
  %6063 = load i64, ptr @simtime, align 8, !tbaa !15
  %6064 = add i64 %6063, 100
  store i64 %6064, ptr @simtime, align 8, !tbaa !15
  %6065 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6065, ptr noundef @.str.42)
  %6066 = load i64, ptr @simtime, align 8, !tbaa !15
  %6067 = add i64 %6066, 100
  store i64 %6067, ptr @simtime, align 8, !tbaa !15
  %6068 = load ptr, ptr %2, align 8, !tbaa !5
  %6069 = getelementptr inbounds %struct.PDP6, ptr %6068, i32 0, i32 58
  store i8 1, ptr %6069, align 1, !tbaa !76
  %6070 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %6070)
  %6071 = load ptr, ptr %2, align 8, !tbaa !5
  %6072 = getelementptr inbounds %struct.PDP6, ptr %6071, i32 0, i32 58
  store i8 0, ptr %6072, align 1, !tbaa !76
  %6073 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6073, ptr noundef @.str.43)
  %6074 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6074, ptr noundef @.str.65)
  %6075 = load i64, ptr @simtime, align 8, !tbaa !15
  %6076 = add i64 %6075, 100
  store i64 %6076, ptr @simtime, align 8, !tbaa !15
  %6077 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6077, ptr noundef @.str.122)
  %6078 = load i64, ptr @simtime, align 8, !tbaa !15
  %6079 = add i64 %6078, 100
  store i64 %6079, ptr @simtime, align 8, !tbaa !15
  %6080 = load ptr, ptr %2, align 8, !tbaa !5
  %6081 = getelementptr inbounds %struct.PDP6, ptr %6080, i32 0, i32 28
  %6082 = load i64, ptr %6081, align 8, !tbaa !34
  %6083 = icmp eq i64 %6082, 0
  %6084 = xor i1 %6083, true
  %6085 = zext i1 %6084 to i32
  store i32 %6085, ptr %3, align 4, !tbaa !102
  %6086 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6086, ptr noundef @.str.125)
  %6087 = load i64, ptr @simtime, align 8, !tbaa !15
  %6088 = add i64 %6087, 100
  store i64 %6088, ptr @simtime, align 8, !tbaa !15
  %6089 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6089, ptr noundef @.str.126)
  %6090 = load i64, ptr @simtime, align 8, !tbaa !15
  %6091 = add i64 %6090, 100
  store i64 %6091, ptr @simtime, align 8, !tbaa !15
  %6092 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6092, ptr noundef @.str.127)
  %6093 = load i64, ptr @simtime, align 8, !tbaa !15
  %6094 = add i64 %6093, 200
  store i64 %6094, ptr @simtime, align 8, !tbaa !15
  %6095 = load i32, ptr %3, align 4, !tbaa !102
  %6096 = icmp ne i32 %6095, 0
  br i1 %6096, label %6097, label %6106

6097:                                             ; preds = %6056
  %6098 = load ptr, ptr %2, align 8, !tbaa !5
  %6099 = getelementptr inbounds %struct.PDP6, ptr %6098, i32 0, i32 34
  %6100 = load i32, ptr %6099, align 8, !tbaa !33
  %6101 = add i32 %6100, 1
  %6102 = and i32 %6101, 262143
  %6103 = load ptr, ptr %2, align 8, !tbaa !5
  %6104 = getelementptr inbounds %struct.PDP6, ptr %6103, i32 0, i32 34
  store i32 %6102, ptr %6104, align 8, !tbaa !33
  %6105 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6105)
  br label %6106

6106:                                             ; preds = %6097, %6056
  %6107 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6107, ptr noundef @.str.121)
  %6108 = load i64, ptr @simtime, align 8, !tbaa !15
  %6109 = add i64 %6108, 200
  store i64 %6109, ptr @simtime, align 8, !tbaa !15
  %6110 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6110)
  %6111 = load ptr, ptr %2, align 8, !tbaa !5
  %6112 = getelementptr inbounds %struct.PDP6, ptr %6111, i32 0, i32 28
  %6113 = load i64, ptr %6112, align 8, !tbaa !34
  %6114 = load ptr, ptr %2, align 8, !tbaa !5
  %6115 = getelementptr inbounds %struct.PDP6, ptr %6114, i32 0, i32 31
  store i64 %6113, ptr %6115, align 8, !tbaa !39
  br label %17859

6116:                                             ; preds = %17
  %6117 = load ptr, ptr %2, align 8, !tbaa !5
  %6118 = getelementptr inbounds %struct.PDP6, ptr %6117, i32 0, i32 31
  %6119 = load i64, ptr %6118, align 8, !tbaa !39
  %6120 = load ptr, ptr %2, align 8, !tbaa !5
  %6121 = getelementptr inbounds %struct.PDP6, ptr %6120, i32 0, i32 28
  store i64 %6119, ptr %6121, align 8, !tbaa !34
  %6122 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6122, ptr noundef @.str.41)
  %6123 = load i64, ptr @simtime, align 8, !tbaa !15
  %6124 = add i64 %6123, 100
  store i64 %6124, ptr @simtime, align 8, !tbaa !15
  %6125 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6125, ptr noundef @.str.42)
  %6126 = load i64, ptr @simtime, align 8, !tbaa !15
  %6127 = add i64 %6126, 100
  store i64 %6127, ptr @simtime, align 8, !tbaa !15
  %6128 = load ptr, ptr %2, align 8, !tbaa !5
  %6129 = getelementptr inbounds %struct.PDP6, ptr %6128, i32 0, i32 58
  store i8 1, ptr %6129, align 1, !tbaa !76
  %6130 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc(ptr noundef %6130)
  %6131 = load ptr, ptr %2, align 8, !tbaa !5
  %6132 = getelementptr inbounds %struct.PDP6, ptr %6131, i32 0, i32 58
  store i8 0, ptr %6132, align 1, !tbaa !76
  %6133 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6133, ptr noundef @.str.43)
  %6134 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6134, ptr noundef @.str.65)
  %6135 = load i64, ptr @simtime, align 8, !tbaa !15
  %6136 = add i64 %6135, 100
  store i64 %6136, ptr @simtime, align 8, !tbaa !15
  %6137 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6137, ptr noundef @.str.122)
  %6138 = load i64, ptr @simtime, align 8, !tbaa !15
  %6139 = add i64 %6138, 100
  store i64 %6139, ptr @simtime, align 8, !tbaa !15
  %6140 = load ptr, ptr %2, align 8, !tbaa !5
  %6141 = getelementptr inbounds %struct.PDP6, ptr %6140, i32 0, i32 28
  %6142 = load i64, ptr %6141, align 8, !tbaa !34
  %6143 = and i64 %6142, 34359738368
  %6144 = icmp ne i64 %6143, 0
  br i1 %6144, label %6150, label %6145

6145:                                             ; preds = %6116
  %6146 = load ptr, ptr %2, align 8, !tbaa !5
  %6147 = getelementptr inbounds %struct.PDP6, ptr %6146, i32 0, i32 28
  %6148 = load i64, ptr %6147, align 8, !tbaa !34
  %6149 = icmp eq i64 %6148, 0
  br label %6150

6150:                                             ; preds = %6145, %6116
  %6151 = phi i1 [ true, %6116 ], [ %6149, %6145 ]
  %6152 = xor i1 %6151, true
  %6153 = zext i1 %6152 to i32
  store i32 %6153, ptr %3, align 4, !tbaa !102
  %6154 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6154, ptr noundef @.str.125)
  %6155 = load i64, ptr @simtime, align 8, !tbaa !15
  %6156 = add i64 %6155, 100
  store i64 %6156, ptr @simtime, align 8, !tbaa !15
  %6157 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6157, ptr noundef @.str.126)
  %6158 = load i64, ptr @simtime, align 8, !tbaa !15
  %6159 = add i64 %6158, 100
  store i64 %6159, ptr @simtime, align 8, !tbaa !15
  %6160 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6160, ptr noundef @.str.127)
  %6161 = load i64, ptr @simtime, align 8, !tbaa !15
  %6162 = add i64 %6161, 200
  store i64 %6162, ptr @simtime, align 8, !tbaa !15
  %6163 = load i32, ptr %3, align 4, !tbaa !102
  %6164 = icmp ne i32 %6163, 0
  br i1 %6164, label %6165, label %6174

6165:                                             ; preds = %6150
  %6166 = load ptr, ptr %2, align 8, !tbaa !5
  %6167 = getelementptr inbounds %struct.PDP6, ptr %6166, i32 0, i32 34
  %6168 = load i32, ptr %6167, align 8, !tbaa !33
  %6169 = add i32 %6168, 1
  %6170 = and i32 %6169, 262143
  %6171 = load ptr, ptr %2, align 8, !tbaa !5
  %6172 = getelementptr inbounds %struct.PDP6, ptr %6171, i32 0, i32 34
  store i32 %6170, ptr %6172, align 8, !tbaa !33
  %6173 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6173)
  br label %6174

6174:                                             ; preds = %6165, %6150
  %6175 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6175, ptr noundef @.str.121)
  %6176 = load i64, ptr @simtime, align 8, !tbaa !15
  %6177 = add i64 %6176, 200
  store i64 %6177, ptr @simtime, align 8, !tbaa !15
  %6178 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6178)
  %6179 = load ptr, ptr %2, align 8, !tbaa !5
  %6180 = getelementptr inbounds %struct.PDP6, ptr %6179, i32 0, i32 28
  %6181 = load i64, ptr %6180, align 8, !tbaa !34
  %6182 = load ptr, ptr %2, align 8, !tbaa !5
  %6183 = getelementptr inbounds %struct.PDP6, ptr %6182, i32 0, i32 31
  store i64 %6181, ptr %6183, align 8, !tbaa !39
  br label %17859

6184:                                             ; preds = %17
  %6185 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6185, ptr noundef @.str.41)
  %6186 = load i64, ptr @simtime, align 8, !tbaa !15
  %6187 = add i64 %6186, 100
  store i64 %6187, ptr @simtime, align 8, !tbaa !15
  %6188 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6188, ptr noundef @.str.42)
  %6189 = load i64, ptr @simtime, align 8, !tbaa !15
  %6190 = add i64 %6189, 100
  store i64 %6190, ptr @simtime, align 8, !tbaa !15
  %6191 = load ptr, ptr %2, align 8, !tbaa !5
  %6192 = getelementptr inbounds %struct.PDP6, ptr %6191, i32 0, i32 58
  store i8 1, ptr %6192, align 1, !tbaa !76
  %6193 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6193)
  %6194 = load ptr, ptr %2, align 8, !tbaa !5
  %6195 = getelementptr inbounds %struct.PDP6, ptr %6194, i32 0, i32 58
  store i8 0, ptr %6195, align 1, !tbaa !76
  %6196 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6196, ptr noundef @.str.43)
  %6197 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6197, ptr noundef @.str.65)
  %6198 = load i64, ptr @simtime, align 8, !tbaa !15
  %6199 = add i64 %6198, 100
  store i64 %6199, ptr @simtime, align 8, !tbaa !15
  %6200 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6200, ptr noundef @.str.122)
  %6201 = load i64, ptr @simtime, align 8, !tbaa !15
  %6202 = add i64 %6201, 100
  store i64 %6202, ptr @simtime, align 8, !tbaa !15
  %6203 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6203, ptr noundef @.str.125)
  %6204 = load i64, ptr @simtime, align 8, !tbaa !15
  %6205 = add i64 %6204, 100
  store i64 %6205, ptr @simtime, align 8, !tbaa !15
  %6206 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6206, ptr noundef @.str.126)
  %6207 = load i64, ptr @simtime, align 8, !tbaa !15
  %6208 = add i64 %6207, 100
  store i64 %6208, ptr @simtime, align 8, !tbaa !15
  %6209 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6209, ptr noundef @.str.127)
  %6210 = load i64, ptr @simtime, align 8, !tbaa !15
  %6211 = add i64 %6210, 200
  store i64 %6211, ptr @simtime, align 8, !tbaa !15
  %6212 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6212, ptr noundef @.str.121)
  %6213 = load i64, ptr @simtime, align 8, !tbaa !15
  %6214 = add i64 %6213, 200
  store i64 %6214, ptr @simtime, align 8, !tbaa !15
  %6215 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6215)
  br label %17859

6216:                                             ; preds = %17
  %6217 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6217, ptr noundef @.str.41)
  %6218 = load i64, ptr @simtime, align 8, !tbaa !15
  %6219 = add i64 %6218, 100
  store i64 %6219, ptr @simtime, align 8, !tbaa !15
  %6220 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6220, ptr noundef @.str.42)
  %6221 = load i64, ptr @simtime, align 8, !tbaa !15
  %6222 = add i64 %6221, 100
  store i64 %6222, ptr @simtime, align 8, !tbaa !15
  %6223 = load ptr, ptr %2, align 8, !tbaa !5
  %6224 = getelementptr inbounds %struct.PDP6, ptr %6223, i32 0, i32 58
  store i8 1, ptr %6224, align 1, !tbaa !76
  %6225 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6225)
  %6226 = load ptr, ptr %2, align 8, !tbaa !5
  %6227 = getelementptr inbounds %struct.PDP6, ptr %6226, i32 0, i32 58
  store i8 0, ptr %6227, align 1, !tbaa !76
  %6228 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6228, ptr noundef @.str.43)
  %6229 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6229, ptr noundef @.str.65)
  %6230 = load i64, ptr @simtime, align 8, !tbaa !15
  %6231 = add i64 %6230, 100
  store i64 %6231, ptr @simtime, align 8, !tbaa !15
  %6232 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6232, ptr noundef @.str.122)
  %6233 = load i64, ptr @simtime, align 8, !tbaa !15
  %6234 = add i64 %6233, 100
  store i64 %6234, ptr @simtime, align 8, !tbaa !15
  %6235 = load ptr, ptr %2, align 8, !tbaa !5
  %6236 = getelementptr inbounds %struct.PDP6, ptr %6235, i32 0, i32 28
  %6237 = load i64, ptr %6236, align 8, !tbaa !34
  %6238 = and i64 %6237, 34359738368
  %6239 = icmp ne i64 %6238, 0
  %6240 = xor i1 %6239, true
  %6241 = xor i1 %6240, true
  %6242 = zext i1 %6241 to i32
  store i32 %6242, ptr %3, align 4, !tbaa !102
  %6243 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6243, ptr noundef @.str.125)
  %6244 = load i64, ptr @simtime, align 8, !tbaa !15
  %6245 = add i64 %6244, 100
  store i64 %6245, ptr @simtime, align 8, !tbaa !15
  %6246 = load i32, ptr %3, align 4, !tbaa !102
  %6247 = icmp ne i32 %6246, 0
  br i1 %6247, label %6248, label %6251

6248:                                             ; preds = %6216
  %6249 = load ptr, ptr %2, align 8, !tbaa !5
  %6250 = getelementptr inbounds %struct.PDP6, ptr %6249, i32 0, i32 34
  store i32 0, ptr %6250, align 8, !tbaa !33
  br label %6251

6251:                                             ; preds = %6248, %6216
  %6252 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6252, ptr noundef @.str.126)
  %6253 = load i64, ptr @simtime, align 8, !tbaa !15
  %6254 = add i64 %6253, 100
  store i64 %6254, ptr @simtime, align 8, !tbaa !15
  %6255 = load i32, ptr %3, align 4, !tbaa !102
  %6256 = icmp ne i32 %6255, 0
  br i1 %6256, label %6257, label %6265

6257:                                             ; preds = %6251
  %6258 = load ptr, ptr %2, align 8, !tbaa !5
  %6259 = getelementptr inbounds %struct.PDP6, ptr %6258, i32 0, i32 35
  %6260 = load i32, ptr %6259, align 4, !tbaa !32
  %6261 = load ptr, ptr %2, align 8, !tbaa !5
  %6262 = getelementptr inbounds %struct.PDP6, ptr %6261, i32 0, i32 34
  %6263 = load i32, ptr %6262, align 8, !tbaa !33
  %6264 = or i32 %6263, %6260
  store i32 %6264, ptr %6262, align 8, !tbaa !33
  br label %6265

6265:                                             ; preds = %6257, %6251
  %6266 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6266, ptr noundef @.str.127)
  %6267 = load i64, ptr @simtime, align 8, !tbaa !15
  %6268 = add i64 %6267, 200
  store i64 %6268, ptr @simtime, align 8, !tbaa !15
  %6269 = load i32, ptr %3, align 4, !tbaa !102
  %6270 = icmp ne i32 %6269, 0
  br i1 %6270, label %6271, label %6273

6271:                                             ; preds = %6265
  %6272 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6272)
  br label %6273

6273:                                             ; preds = %6271, %6265
  %6274 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6274, ptr noundef @.str.121)
  %6275 = load i64, ptr @simtime, align 8, !tbaa !15
  %6276 = add i64 %6275, 200
  store i64 %6276, ptr @simtime, align 8, !tbaa !15
  %6277 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6277)
  br label %17859

6278:                                             ; preds = %17
  %6279 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6279, ptr noundef @.str.41)
  %6280 = load i64, ptr @simtime, align 8, !tbaa !15
  %6281 = add i64 %6280, 100
  store i64 %6281, ptr @simtime, align 8, !tbaa !15
  %6282 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6282, ptr noundef @.str.42)
  %6283 = load i64, ptr @simtime, align 8, !tbaa !15
  %6284 = add i64 %6283, 100
  store i64 %6284, ptr @simtime, align 8, !tbaa !15
  %6285 = load ptr, ptr %2, align 8, !tbaa !5
  %6286 = getelementptr inbounds %struct.PDP6, ptr %6285, i32 0, i32 58
  store i8 1, ptr %6286, align 1, !tbaa !76
  %6287 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6287)
  %6288 = load ptr, ptr %2, align 8, !tbaa !5
  %6289 = getelementptr inbounds %struct.PDP6, ptr %6288, i32 0, i32 58
  store i8 0, ptr %6289, align 1, !tbaa !76
  %6290 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6290, ptr noundef @.str.43)
  %6291 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6291, ptr noundef @.str.65)
  %6292 = load i64, ptr @simtime, align 8, !tbaa !15
  %6293 = add i64 %6292, 100
  store i64 %6293, ptr @simtime, align 8, !tbaa !15
  %6294 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6294, ptr noundef @.str.122)
  %6295 = load i64, ptr @simtime, align 8, !tbaa !15
  %6296 = add i64 %6295, 100
  store i64 %6296, ptr @simtime, align 8, !tbaa !15
  %6297 = load ptr, ptr %2, align 8, !tbaa !5
  %6298 = getelementptr inbounds %struct.PDP6, ptr %6297, i32 0, i32 28
  %6299 = load i64, ptr %6298, align 8, !tbaa !34
  %6300 = icmp eq i64 %6299, 0
  %6301 = zext i1 %6300 to i32
  store i32 %6301, ptr %3, align 4, !tbaa !102
  %6302 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6302, ptr noundef @.str.125)
  %6303 = load i64, ptr @simtime, align 8, !tbaa !15
  %6304 = add i64 %6303, 100
  store i64 %6304, ptr @simtime, align 8, !tbaa !15
  %6305 = load i32, ptr %3, align 4, !tbaa !102
  %6306 = icmp ne i32 %6305, 0
  br i1 %6306, label %6307, label %6310

6307:                                             ; preds = %6278
  %6308 = load ptr, ptr %2, align 8, !tbaa !5
  %6309 = getelementptr inbounds %struct.PDP6, ptr %6308, i32 0, i32 34
  store i32 0, ptr %6309, align 8, !tbaa !33
  br label %6310

6310:                                             ; preds = %6307, %6278
  %6311 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6311, ptr noundef @.str.126)
  %6312 = load i64, ptr @simtime, align 8, !tbaa !15
  %6313 = add i64 %6312, 100
  store i64 %6313, ptr @simtime, align 8, !tbaa !15
  %6314 = load i32, ptr %3, align 4, !tbaa !102
  %6315 = icmp ne i32 %6314, 0
  br i1 %6315, label %6316, label %6324

6316:                                             ; preds = %6310
  %6317 = load ptr, ptr %2, align 8, !tbaa !5
  %6318 = getelementptr inbounds %struct.PDP6, ptr %6317, i32 0, i32 35
  %6319 = load i32, ptr %6318, align 4, !tbaa !32
  %6320 = load ptr, ptr %2, align 8, !tbaa !5
  %6321 = getelementptr inbounds %struct.PDP6, ptr %6320, i32 0, i32 34
  %6322 = load i32, ptr %6321, align 8, !tbaa !33
  %6323 = or i32 %6322, %6319
  store i32 %6323, ptr %6321, align 8, !tbaa !33
  br label %6324

6324:                                             ; preds = %6316, %6310
  %6325 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6325, ptr noundef @.str.127)
  %6326 = load i64, ptr @simtime, align 8, !tbaa !15
  %6327 = add i64 %6326, 200
  store i64 %6327, ptr @simtime, align 8, !tbaa !15
  %6328 = load i32, ptr %3, align 4, !tbaa !102
  %6329 = icmp ne i32 %6328, 0
  br i1 %6329, label %6330, label %6332

6330:                                             ; preds = %6324
  %6331 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6331)
  br label %6332

6332:                                             ; preds = %6330, %6324
  %6333 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6333, ptr noundef @.str.121)
  %6334 = load i64, ptr @simtime, align 8, !tbaa !15
  %6335 = add i64 %6334, 200
  store i64 %6335, ptr @simtime, align 8, !tbaa !15
  %6336 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6336)
  br label %17859

6337:                                             ; preds = %17
  %6338 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6338, ptr noundef @.str.41)
  %6339 = load i64, ptr @simtime, align 8, !tbaa !15
  %6340 = add i64 %6339, 100
  store i64 %6340, ptr @simtime, align 8, !tbaa !15
  %6341 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6341, ptr noundef @.str.42)
  %6342 = load i64, ptr @simtime, align 8, !tbaa !15
  %6343 = add i64 %6342, 100
  store i64 %6343, ptr @simtime, align 8, !tbaa !15
  %6344 = load ptr, ptr %2, align 8, !tbaa !5
  %6345 = getelementptr inbounds %struct.PDP6, ptr %6344, i32 0, i32 58
  store i8 1, ptr %6345, align 1, !tbaa !76
  %6346 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6346)
  %6347 = load ptr, ptr %2, align 8, !tbaa !5
  %6348 = getelementptr inbounds %struct.PDP6, ptr %6347, i32 0, i32 58
  store i8 0, ptr %6348, align 1, !tbaa !76
  %6349 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6349, ptr noundef @.str.43)
  %6350 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6350, ptr noundef @.str.65)
  %6351 = load i64, ptr @simtime, align 8, !tbaa !15
  %6352 = add i64 %6351, 100
  store i64 %6352, ptr @simtime, align 8, !tbaa !15
  %6353 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6353, ptr noundef @.str.122)
  %6354 = load i64, ptr @simtime, align 8, !tbaa !15
  %6355 = add i64 %6354, 100
  store i64 %6355, ptr @simtime, align 8, !tbaa !15
  %6356 = load ptr, ptr %2, align 8, !tbaa !5
  %6357 = getelementptr inbounds %struct.PDP6, ptr %6356, i32 0, i32 28
  %6358 = load i64, ptr %6357, align 8, !tbaa !34
  %6359 = and i64 %6358, 34359738368
  %6360 = icmp ne i64 %6359, 0
  br i1 %6360, label %6366, label %6361

6361:                                             ; preds = %6337
  %6362 = load ptr, ptr %2, align 8, !tbaa !5
  %6363 = getelementptr inbounds %struct.PDP6, ptr %6362, i32 0, i32 28
  %6364 = load i64, ptr %6363, align 8, !tbaa !34
  %6365 = icmp eq i64 %6364, 0
  br label %6366

6366:                                             ; preds = %6361, %6337
  %6367 = phi i1 [ true, %6337 ], [ %6365, %6361 ]
  %6368 = zext i1 %6367 to i32
  store i32 %6368, ptr %3, align 4, !tbaa !102
  %6369 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6369, ptr noundef @.str.125)
  %6370 = load i64, ptr @simtime, align 8, !tbaa !15
  %6371 = add i64 %6370, 100
  store i64 %6371, ptr @simtime, align 8, !tbaa !15
  %6372 = load i32, ptr %3, align 4, !tbaa !102
  %6373 = icmp ne i32 %6372, 0
  br i1 %6373, label %6374, label %6377

6374:                                             ; preds = %6366
  %6375 = load ptr, ptr %2, align 8, !tbaa !5
  %6376 = getelementptr inbounds %struct.PDP6, ptr %6375, i32 0, i32 34
  store i32 0, ptr %6376, align 8, !tbaa !33
  br label %6377

6377:                                             ; preds = %6374, %6366
  %6378 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6378, ptr noundef @.str.126)
  %6379 = load i64, ptr @simtime, align 8, !tbaa !15
  %6380 = add i64 %6379, 100
  store i64 %6380, ptr @simtime, align 8, !tbaa !15
  %6381 = load i32, ptr %3, align 4, !tbaa !102
  %6382 = icmp ne i32 %6381, 0
  br i1 %6382, label %6383, label %6391

6383:                                             ; preds = %6377
  %6384 = load ptr, ptr %2, align 8, !tbaa !5
  %6385 = getelementptr inbounds %struct.PDP6, ptr %6384, i32 0, i32 35
  %6386 = load i32, ptr %6385, align 4, !tbaa !32
  %6387 = load ptr, ptr %2, align 8, !tbaa !5
  %6388 = getelementptr inbounds %struct.PDP6, ptr %6387, i32 0, i32 34
  %6389 = load i32, ptr %6388, align 8, !tbaa !33
  %6390 = or i32 %6389, %6386
  store i32 %6390, ptr %6388, align 8, !tbaa !33
  br label %6391

6391:                                             ; preds = %6383, %6377
  %6392 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6392, ptr noundef @.str.127)
  %6393 = load i64, ptr @simtime, align 8, !tbaa !15
  %6394 = add i64 %6393, 200
  store i64 %6394, ptr @simtime, align 8, !tbaa !15
  %6395 = load i32, ptr %3, align 4, !tbaa !102
  %6396 = icmp ne i32 %6395, 0
  br i1 %6396, label %6397, label %6399

6397:                                             ; preds = %6391
  %6398 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6398)
  br label %6399

6399:                                             ; preds = %6397, %6391
  %6400 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6400, ptr noundef @.str.121)
  %6401 = load i64, ptr @simtime, align 8, !tbaa !15
  %6402 = add i64 %6401, 200
  store i64 %6402, ptr @simtime, align 8, !tbaa !15
  %6403 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6403)
  br label %17859

6404:                                             ; preds = %17
  %6405 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6405, ptr noundef @.str.41)
  %6406 = load i64, ptr @simtime, align 8, !tbaa !15
  %6407 = add i64 %6406, 100
  store i64 %6407, ptr @simtime, align 8, !tbaa !15
  %6408 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6408, ptr noundef @.str.42)
  %6409 = load i64, ptr @simtime, align 8, !tbaa !15
  %6410 = add i64 %6409, 100
  store i64 %6410, ptr @simtime, align 8, !tbaa !15
  %6411 = load ptr, ptr %2, align 8, !tbaa !5
  %6412 = getelementptr inbounds %struct.PDP6, ptr %6411, i32 0, i32 58
  store i8 1, ptr %6412, align 1, !tbaa !76
  %6413 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6413)
  %6414 = load ptr, ptr %2, align 8, !tbaa !5
  %6415 = getelementptr inbounds %struct.PDP6, ptr %6414, i32 0, i32 58
  store i8 0, ptr %6415, align 1, !tbaa !76
  %6416 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6416, ptr noundef @.str.43)
  %6417 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6417, ptr noundef @.str.65)
  %6418 = load i64, ptr @simtime, align 8, !tbaa !15
  %6419 = add i64 %6418, 100
  store i64 %6419, ptr @simtime, align 8, !tbaa !15
  %6420 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6420, ptr noundef @.str.122)
  %6421 = load i64, ptr @simtime, align 8, !tbaa !15
  %6422 = add i64 %6421, 100
  store i64 %6422, ptr @simtime, align 8, !tbaa !15
  %6423 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6423, ptr noundef @.str.125)
  %6424 = load i64, ptr @simtime, align 8, !tbaa !15
  %6425 = add i64 %6424, 100
  store i64 %6425, ptr @simtime, align 8, !tbaa !15
  %6426 = load ptr, ptr %2, align 8, !tbaa !5
  %6427 = getelementptr inbounds %struct.PDP6, ptr %6426, i32 0, i32 34
  store i32 0, ptr %6427, align 8, !tbaa !33
  %6428 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6428, ptr noundef @.str.126)
  %6429 = load i64, ptr @simtime, align 8, !tbaa !15
  %6430 = add i64 %6429, 100
  store i64 %6430, ptr @simtime, align 8, !tbaa !15
  %6431 = load ptr, ptr %2, align 8, !tbaa !5
  %6432 = getelementptr inbounds %struct.PDP6, ptr %6431, i32 0, i32 35
  %6433 = load i32, ptr %6432, align 4, !tbaa !32
  %6434 = load ptr, ptr %2, align 8, !tbaa !5
  %6435 = getelementptr inbounds %struct.PDP6, ptr %6434, i32 0, i32 34
  %6436 = load i32, ptr %6435, align 8, !tbaa !33
  %6437 = or i32 %6436, %6433
  store i32 %6437, ptr %6435, align 8, !tbaa !33
  %6438 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6438, ptr noundef @.str.127)
  %6439 = load i64, ptr @simtime, align 8, !tbaa !15
  %6440 = add i64 %6439, 200
  store i64 %6440, ptr @simtime, align 8, !tbaa !15
  %6441 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6441)
  %6442 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6442, ptr noundef @.str.121)
  %6443 = load i64, ptr @simtime, align 8, !tbaa !15
  %6444 = add i64 %6443, 200
  store i64 %6444, ptr @simtime, align 8, !tbaa !15
  %6445 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6445)
  br label %17859

6446:                                             ; preds = %17
  %6447 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6447, ptr noundef @.str.41)
  %6448 = load i64, ptr @simtime, align 8, !tbaa !15
  %6449 = add i64 %6448, 100
  store i64 %6449, ptr @simtime, align 8, !tbaa !15
  %6450 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6450, ptr noundef @.str.42)
  %6451 = load i64, ptr @simtime, align 8, !tbaa !15
  %6452 = add i64 %6451, 100
  store i64 %6452, ptr @simtime, align 8, !tbaa !15
  %6453 = load ptr, ptr %2, align 8, !tbaa !5
  %6454 = getelementptr inbounds %struct.PDP6, ptr %6453, i32 0, i32 58
  store i8 1, ptr %6454, align 1, !tbaa !76
  %6455 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6455)
  %6456 = load ptr, ptr %2, align 8, !tbaa !5
  %6457 = getelementptr inbounds %struct.PDP6, ptr %6456, i32 0, i32 58
  store i8 0, ptr %6457, align 1, !tbaa !76
  %6458 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6458, ptr noundef @.str.43)
  %6459 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6459, ptr noundef @.str.65)
  %6460 = load i64, ptr @simtime, align 8, !tbaa !15
  %6461 = add i64 %6460, 100
  store i64 %6461, ptr @simtime, align 8, !tbaa !15
  %6462 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6462, ptr noundef @.str.122)
  %6463 = load i64, ptr @simtime, align 8, !tbaa !15
  %6464 = add i64 %6463, 100
  store i64 %6464, ptr @simtime, align 8, !tbaa !15
  %6465 = load ptr, ptr %2, align 8, !tbaa !5
  %6466 = getelementptr inbounds %struct.PDP6, ptr %6465, i32 0, i32 28
  %6467 = load i64, ptr %6466, align 8, !tbaa !34
  %6468 = and i64 %6467, 34359738368
  %6469 = icmp ne i64 %6468, 0
  %6470 = xor i1 %6469, true
  %6471 = xor i1 %6470, true
  %6472 = xor i1 %6471, true
  %6473 = zext i1 %6472 to i32
  store i32 %6473, ptr %3, align 4, !tbaa !102
  %6474 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6474, ptr noundef @.str.125)
  %6475 = load i64, ptr @simtime, align 8, !tbaa !15
  %6476 = add i64 %6475, 100
  store i64 %6476, ptr @simtime, align 8, !tbaa !15
  %6477 = load i32, ptr %3, align 4, !tbaa !102
  %6478 = icmp ne i32 %6477, 0
  br i1 %6478, label %6479, label %6482

6479:                                             ; preds = %6446
  %6480 = load ptr, ptr %2, align 8, !tbaa !5
  %6481 = getelementptr inbounds %struct.PDP6, ptr %6480, i32 0, i32 34
  store i32 0, ptr %6481, align 8, !tbaa !33
  br label %6482

6482:                                             ; preds = %6479, %6446
  %6483 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6483, ptr noundef @.str.126)
  %6484 = load i64, ptr @simtime, align 8, !tbaa !15
  %6485 = add i64 %6484, 100
  store i64 %6485, ptr @simtime, align 8, !tbaa !15
  %6486 = load i32, ptr %3, align 4, !tbaa !102
  %6487 = icmp ne i32 %6486, 0
  br i1 %6487, label %6488, label %6496

6488:                                             ; preds = %6482
  %6489 = load ptr, ptr %2, align 8, !tbaa !5
  %6490 = getelementptr inbounds %struct.PDP6, ptr %6489, i32 0, i32 35
  %6491 = load i32, ptr %6490, align 4, !tbaa !32
  %6492 = load ptr, ptr %2, align 8, !tbaa !5
  %6493 = getelementptr inbounds %struct.PDP6, ptr %6492, i32 0, i32 34
  %6494 = load i32, ptr %6493, align 8, !tbaa !33
  %6495 = or i32 %6494, %6491
  store i32 %6495, ptr %6493, align 8, !tbaa !33
  br label %6496

6496:                                             ; preds = %6488, %6482
  %6497 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6497, ptr noundef @.str.127)
  %6498 = load i64, ptr @simtime, align 8, !tbaa !15
  %6499 = add i64 %6498, 200
  store i64 %6499, ptr @simtime, align 8, !tbaa !15
  %6500 = load i32, ptr %3, align 4, !tbaa !102
  %6501 = icmp ne i32 %6500, 0
  br i1 %6501, label %6502, label %6504

6502:                                             ; preds = %6496
  %6503 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6503)
  br label %6504

6504:                                             ; preds = %6502, %6496
  %6505 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6505, ptr noundef @.str.121)
  %6506 = load i64, ptr @simtime, align 8, !tbaa !15
  %6507 = add i64 %6506, 200
  store i64 %6507, ptr @simtime, align 8, !tbaa !15
  %6508 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6508)
  br label %17859

6509:                                             ; preds = %17
  %6510 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6510, ptr noundef @.str.41)
  %6511 = load i64, ptr @simtime, align 8, !tbaa !15
  %6512 = add i64 %6511, 100
  store i64 %6512, ptr @simtime, align 8, !tbaa !15
  %6513 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6513, ptr noundef @.str.42)
  %6514 = load i64, ptr @simtime, align 8, !tbaa !15
  %6515 = add i64 %6514, 100
  store i64 %6515, ptr @simtime, align 8, !tbaa !15
  %6516 = load ptr, ptr %2, align 8, !tbaa !5
  %6517 = getelementptr inbounds %struct.PDP6, ptr %6516, i32 0, i32 58
  store i8 1, ptr %6517, align 1, !tbaa !76
  %6518 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6518)
  %6519 = load ptr, ptr %2, align 8, !tbaa !5
  %6520 = getelementptr inbounds %struct.PDP6, ptr %6519, i32 0, i32 58
  store i8 0, ptr %6520, align 1, !tbaa !76
  %6521 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6521, ptr noundef @.str.43)
  %6522 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6522, ptr noundef @.str.65)
  %6523 = load i64, ptr @simtime, align 8, !tbaa !15
  %6524 = add i64 %6523, 100
  store i64 %6524, ptr @simtime, align 8, !tbaa !15
  %6525 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6525, ptr noundef @.str.122)
  %6526 = load i64, ptr @simtime, align 8, !tbaa !15
  %6527 = add i64 %6526, 100
  store i64 %6527, ptr @simtime, align 8, !tbaa !15
  %6528 = load ptr, ptr %2, align 8, !tbaa !5
  %6529 = getelementptr inbounds %struct.PDP6, ptr %6528, i32 0, i32 28
  %6530 = load i64, ptr %6529, align 8, !tbaa !34
  %6531 = icmp eq i64 %6530, 0
  %6532 = xor i1 %6531, true
  %6533 = zext i1 %6532 to i32
  store i32 %6533, ptr %3, align 4, !tbaa !102
  %6534 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6534, ptr noundef @.str.125)
  %6535 = load i64, ptr @simtime, align 8, !tbaa !15
  %6536 = add i64 %6535, 100
  store i64 %6536, ptr @simtime, align 8, !tbaa !15
  %6537 = load i32, ptr %3, align 4, !tbaa !102
  %6538 = icmp ne i32 %6537, 0
  br i1 %6538, label %6539, label %6542

6539:                                             ; preds = %6509
  %6540 = load ptr, ptr %2, align 8, !tbaa !5
  %6541 = getelementptr inbounds %struct.PDP6, ptr %6540, i32 0, i32 34
  store i32 0, ptr %6541, align 8, !tbaa !33
  br label %6542

6542:                                             ; preds = %6539, %6509
  %6543 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6543, ptr noundef @.str.126)
  %6544 = load i64, ptr @simtime, align 8, !tbaa !15
  %6545 = add i64 %6544, 100
  store i64 %6545, ptr @simtime, align 8, !tbaa !15
  %6546 = load i32, ptr %3, align 4, !tbaa !102
  %6547 = icmp ne i32 %6546, 0
  br i1 %6547, label %6548, label %6556

6548:                                             ; preds = %6542
  %6549 = load ptr, ptr %2, align 8, !tbaa !5
  %6550 = getelementptr inbounds %struct.PDP6, ptr %6549, i32 0, i32 35
  %6551 = load i32, ptr %6550, align 4, !tbaa !32
  %6552 = load ptr, ptr %2, align 8, !tbaa !5
  %6553 = getelementptr inbounds %struct.PDP6, ptr %6552, i32 0, i32 34
  %6554 = load i32, ptr %6553, align 8, !tbaa !33
  %6555 = or i32 %6554, %6551
  store i32 %6555, ptr %6553, align 8, !tbaa !33
  br label %6556

6556:                                             ; preds = %6548, %6542
  %6557 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6557, ptr noundef @.str.127)
  %6558 = load i64, ptr @simtime, align 8, !tbaa !15
  %6559 = add i64 %6558, 200
  store i64 %6559, ptr @simtime, align 8, !tbaa !15
  %6560 = load i32, ptr %3, align 4, !tbaa !102
  %6561 = icmp ne i32 %6560, 0
  br i1 %6561, label %6562, label %6564

6562:                                             ; preds = %6556
  %6563 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6563)
  br label %6564

6564:                                             ; preds = %6562, %6556
  %6565 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6565, ptr noundef @.str.121)
  %6566 = load i64, ptr @simtime, align 8, !tbaa !15
  %6567 = add i64 %6566, 200
  store i64 %6567, ptr @simtime, align 8, !tbaa !15
  %6568 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6568)
  br label %17859

6569:                                             ; preds = %17
  %6570 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6570, ptr noundef @.str.41)
  %6571 = load i64, ptr @simtime, align 8, !tbaa !15
  %6572 = add i64 %6571, 100
  store i64 %6572, ptr @simtime, align 8, !tbaa !15
  %6573 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6573, ptr noundef @.str.42)
  %6574 = load i64, ptr @simtime, align 8, !tbaa !15
  %6575 = add i64 %6574, 100
  store i64 %6575, ptr @simtime, align 8, !tbaa !15
  %6576 = load ptr, ptr %2, align 8, !tbaa !5
  %6577 = getelementptr inbounds %struct.PDP6, ptr %6576, i32 0, i32 58
  store i8 1, ptr %6577, align 1, !tbaa !76
  %6578 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6578)
  %6579 = load ptr, ptr %2, align 8, !tbaa !5
  %6580 = getelementptr inbounds %struct.PDP6, ptr %6579, i32 0, i32 58
  store i8 0, ptr %6580, align 1, !tbaa !76
  %6581 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6581, ptr noundef @.str.43)
  %6582 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6582, ptr noundef @.str.65)
  %6583 = load i64, ptr @simtime, align 8, !tbaa !15
  %6584 = add i64 %6583, 100
  store i64 %6584, ptr @simtime, align 8, !tbaa !15
  %6585 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6585, ptr noundef @.str.122)
  %6586 = load i64, ptr @simtime, align 8, !tbaa !15
  %6587 = add i64 %6586, 100
  store i64 %6587, ptr @simtime, align 8, !tbaa !15
  %6588 = load ptr, ptr %2, align 8, !tbaa !5
  %6589 = getelementptr inbounds %struct.PDP6, ptr %6588, i32 0, i32 28
  %6590 = load i64, ptr %6589, align 8, !tbaa !34
  %6591 = and i64 %6590, 34359738368
  %6592 = icmp ne i64 %6591, 0
  br i1 %6592, label %6598, label %6593

6593:                                             ; preds = %6569
  %6594 = load ptr, ptr %2, align 8, !tbaa !5
  %6595 = getelementptr inbounds %struct.PDP6, ptr %6594, i32 0, i32 28
  %6596 = load i64, ptr %6595, align 8, !tbaa !34
  %6597 = icmp eq i64 %6596, 0
  br label %6598

6598:                                             ; preds = %6593, %6569
  %6599 = phi i1 [ true, %6569 ], [ %6597, %6593 ]
  %6600 = xor i1 %6599, true
  %6601 = zext i1 %6600 to i32
  store i32 %6601, ptr %3, align 4, !tbaa !102
  %6602 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6602, ptr noundef @.str.125)
  %6603 = load i64, ptr @simtime, align 8, !tbaa !15
  %6604 = add i64 %6603, 100
  store i64 %6604, ptr @simtime, align 8, !tbaa !15
  %6605 = load i32, ptr %3, align 4, !tbaa !102
  %6606 = icmp ne i32 %6605, 0
  br i1 %6606, label %6607, label %6610

6607:                                             ; preds = %6598
  %6608 = load ptr, ptr %2, align 8, !tbaa !5
  %6609 = getelementptr inbounds %struct.PDP6, ptr %6608, i32 0, i32 34
  store i32 0, ptr %6609, align 8, !tbaa !33
  br label %6610

6610:                                             ; preds = %6607, %6598
  %6611 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6611, ptr noundef @.str.126)
  %6612 = load i64, ptr @simtime, align 8, !tbaa !15
  %6613 = add i64 %6612, 100
  store i64 %6613, ptr @simtime, align 8, !tbaa !15
  %6614 = load i32, ptr %3, align 4, !tbaa !102
  %6615 = icmp ne i32 %6614, 0
  br i1 %6615, label %6616, label %6624

6616:                                             ; preds = %6610
  %6617 = load ptr, ptr %2, align 8, !tbaa !5
  %6618 = getelementptr inbounds %struct.PDP6, ptr %6617, i32 0, i32 35
  %6619 = load i32, ptr %6618, align 4, !tbaa !32
  %6620 = load ptr, ptr %2, align 8, !tbaa !5
  %6621 = getelementptr inbounds %struct.PDP6, ptr %6620, i32 0, i32 34
  %6622 = load i32, ptr %6621, align 8, !tbaa !33
  %6623 = or i32 %6622, %6619
  store i32 %6623, ptr %6621, align 8, !tbaa !33
  br label %6624

6624:                                             ; preds = %6616, %6610
  %6625 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6625, ptr noundef @.str.127)
  %6626 = load i64, ptr @simtime, align 8, !tbaa !15
  %6627 = add i64 %6626, 200
  store i64 %6627, ptr @simtime, align 8, !tbaa !15
  %6628 = load i32, ptr %3, align 4, !tbaa !102
  %6629 = icmp ne i32 %6628, 0
  br i1 %6629, label %6630, label %6632

6630:                                             ; preds = %6624
  %6631 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6631)
  br label %6632

6632:                                             ; preds = %6630, %6624
  %6633 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6633, ptr noundef @.str.121)
  %6634 = load i64, ptr @simtime, align 8, !tbaa !15
  %6635 = add i64 %6634, 200
  store i64 %6635, ptr @simtime, align 8, !tbaa !15
  %6636 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6636)
  br label %17859

6637:                                             ; preds = %17
  %6638 = load ptr, ptr %2, align 8, !tbaa !5
  %6639 = getelementptr inbounds %struct.PDP6, ptr %6638, i32 0, i32 31
  %6640 = load i64, ptr %6639, align 8, !tbaa !39
  %6641 = load ptr, ptr %2, align 8, !tbaa !5
  %6642 = getelementptr inbounds %struct.PDP6, ptr %6641, i32 0, i32 28
  store i64 %6640, ptr %6642, align 8, !tbaa !34
  %6643 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6643, ptr noundef @.str.41)
  %6644 = load i64, ptr @simtime, align 8, !tbaa !15
  %6645 = add i64 %6644, 100
  store i64 %6645, ptr @simtime, align 8, !tbaa !15
  %6646 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6646, ptr noundef @.str.42)
  %6647 = load i64, ptr @simtime, align 8, !tbaa !15
  %6648 = add i64 %6647, 100
  store i64 %6648, ptr @simtime, align 8, !tbaa !15
  %6649 = load ptr, ptr %2, align 8, !tbaa !5
  %6650 = getelementptr inbounds %struct.PDP6, ptr %6649, i32 0, i32 58
  store i8 1, ptr %6650, align 1, !tbaa !76
  %6651 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6651)
  %6652 = load ptr, ptr %2, align 8, !tbaa !5
  %6653 = getelementptr inbounds %struct.PDP6, ptr %6652, i32 0, i32 58
  store i8 0, ptr %6653, align 1, !tbaa !76
  %6654 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6654, ptr noundef @.str.43)
  %6655 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6655, ptr noundef @.str.65)
  %6656 = load i64, ptr @simtime, align 8, !tbaa !15
  %6657 = add i64 %6656, 100
  store i64 %6657, ptr @simtime, align 8, !tbaa !15
  %6658 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6658, ptr noundef @.str.122)
  %6659 = load i64, ptr @simtime, align 8, !tbaa !15
  %6660 = add i64 %6659, 100
  store i64 %6660, ptr @simtime, align 8, !tbaa !15
  %6661 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6661, ptr noundef @.str.125)
  %6662 = load i64, ptr @simtime, align 8, !tbaa !15
  %6663 = add i64 %6662, 100
  store i64 %6663, ptr @simtime, align 8, !tbaa !15
  %6664 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6664, ptr noundef @.str.126)
  %6665 = load i64, ptr @simtime, align 8, !tbaa !15
  %6666 = add i64 %6665, 100
  store i64 %6666, ptr @simtime, align 8, !tbaa !15
  %6667 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6667, ptr noundef @.str.127)
  %6668 = load i64, ptr @simtime, align 8, !tbaa !15
  %6669 = add i64 %6668, 200
  store i64 %6669, ptr @simtime, align 8, !tbaa !15
  %6670 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6670, ptr noundef @.str.121)
  %6671 = load i64, ptr @simtime, align 8, !tbaa !15
  %6672 = add i64 %6671, 200
  store i64 %6672, ptr @simtime, align 8, !tbaa !15
  %6673 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6673)
  %6674 = load ptr, ptr %2, align 8, !tbaa !5
  %6675 = getelementptr inbounds %struct.PDP6, ptr %6674, i32 0, i32 28
  %6676 = load i64, ptr %6675, align 8, !tbaa !34
  %6677 = load ptr, ptr %2, align 8, !tbaa !5
  %6678 = getelementptr inbounds %struct.PDP6, ptr %6677, i32 0, i32 31
  store i64 %6676, ptr %6678, align 8, !tbaa !39
  br label %17859

6679:                                             ; preds = %17
  %6680 = load ptr, ptr %2, align 8, !tbaa !5
  %6681 = getelementptr inbounds %struct.PDP6, ptr %6680, i32 0, i32 31
  %6682 = load i64, ptr %6681, align 8, !tbaa !39
  %6683 = load ptr, ptr %2, align 8, !tbaa !5
  %6684 = getelementptr inbounds %struct.PDP6, ptr %6683, i32 0, i32 28
  store i64 %6682, ptr %6684, align 8, !tbaa !34
  %6685 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6685, ptr noundef @.str.41)
  %6686 = load i64, ptr @simtime, align 8, !tbaa !15
  %6687 = add i64 %6686, 100
  store i64 %6687, ptr @simtime, align 8, !tbaa !15
  %6688 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6688, ptr noundef @.str.42)
  %6689 = load i64, ptr @simtime, align 8, !tbaa !15
  %6690 = add i64 %6689, 100
  store i64 %6690, ptr @simtime, align 8, !tbaa !15
  %6691 = load ptr, ptr %2, align 8, !tbaa !5
  %6692 = getelementptr inbounds %struct.PDP6, ptr %6691, i32 0, i32 58
  store i8 1, ptr %6692, align 1, !tbaa !76
  %6693 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6693)
  %6694 = load ptr, ptr %2, align 8, !tbaa !5
  %6695 = getelementptr inbounds %struct.PDP6, ptr %6694, i32 0, i32 58
  store i8 0, ptr %6695, align 1, !tbaa !76
  %6696 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6696, ptr noundef @.str.43)
  %6697 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6697, ptr noundef @.str.65)
  %6698 = load i64, ptr @simtime, align 8, !tbaa !15
  %6699 = add i64 %6698, 100
  store i64 %6699, ptr @simtime, align 8, !tbaa !15
  %6700 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6700, ptr noundef @.str.122)
  %6701 = load i64, ptr @simtime, align 8, !tbaa !15
  %6702 = add i64 %6701, 100
  store i64 %6702, ptr @simtime, align 8, !tbaa !15
  %6703 = load ptr, ptr %2, align 8, !tbaa !5
  %6704 = getelementptr inbounds %struct.PDP6, ptr %6703, i32 0, i32 28
  %6705 = load i64, ptr %6704, align 8, !tbaa !34
  %6706 = and i64 %6705, 34359738368
  %6707 = icmp ne i64 %6706, 0
  %6708 = xor i1 %6707, true
  %6709 = xor i1 %6708, true
  %6710 = zext i1 %6709 to i32
  store i32 %6710, ptr %3, align 4, !tbaa !102
  %6711 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6711, ptr noundef @.str.125)
  %6712 = load i64, ptr @simtime, align 8, !tbaa !15
  %6713 = add i64 %6712, 100
  store i64 %6713, ptr @simtime, align 8, !tbaa !15
  %6714 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6714, ptr noundef @.str.126)
  %6715 = load i64, ptr @simtime, align 8, !tbaa !15
  %6716 = add i64 %6715, 100
  store i64 %6716, ptr @simtime, align 8, !tbaa !15
  %6717 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6717, ptr noundef @.str.127)
  %6718 = load i64, ptr @simtime, align 8, !tbaa !15
  %6719 = add i64 %6718, 200
  store i64 %6719, ptr @simtime, align 8, !tbaa !15
  %6720 = load i32, ptr %3, align 4, !tbaa !102
  %6721 = icmp ne i32 %6720, 0
  br i1 %6721, label %6722, label %6731

6722:                                             ; preds = %6679
  %6723 = load ptr, ptr %2, align 8, !tbaa !5
  %6724 = getelementptr inbounds %struct.PDP6, ptr %6723, i32 0, i32 34
  %6725 = load i32, ptr %6724, align 8, !tbaa !33
  %6726 = add i32 %6725, 1
  %6727 = and i32 %6726, 262143
  %6728 = load ptr, ptr %2, align 8, !tbaa !5
  %6729 = getelementptr inbounds %struct.PDP6, ptr %6728, i32 0, i32 34
  store i32 %6727, ptr %6729, align 8, !tbaa !33
  %6730 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6730)
  br label %6731

6731:                                             ; preds = %6722, %6679
  %6732 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6732, ptr noundef @.str.121)
  %6733 = load i64, ptr @simtime, align 8, !tbaa !15
  %6734 = add i64 %6733, 200
  store i64 %6734, ptr @simtime, align 8, !tbaa !15
  %6735 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6735)
  %6736 = load ptr, ptr %2, align 8, !tbaa !5
  %6737 = getelementptr inbounds %struct.PDP6, ptr %6736, i32 0, i32 28
  %6738 = load i64, ptr %6737, align 8, !tbaa !34
  %6739 = load ptr, ptr %2, align 8, !tbaa !5
  %6740 = getelementptr inbounds %struct.PDP6, ptr %6739, i32 0, i32 31
  store i64 %6738, ptr %6740, align 8, !tbaa !39
  br label %17859

6741:                                             ; preds = %17
  %6742 = load ptr, ptr %2, align 8, !tbaa !5
  %6743 = getelementptr inbounds %struct.PDP6, ptr %6742, i32 0, i32 31
  %6744 = load i64, ptr %6743, align 8, !tbaa !39
  %6745 = load ptr, ptr %2, align 8, !tbaa !5
  %6746 = getelementptr inbounds %struct.PDP6, ptr %6745, i32 0, i32 28
  store i64 %6744, ptr %6746, align 8, !tbaa !34
  %6747 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6747, ptr noundef @.str.41)
  %6748 = load i64, ptr @simtime, align 8, !tbaa !15
  %6749 = add i64 %6748, 100
  store i64 %6749, ptr @simtime, align 8, !tbaa !15
  %6750 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6750, ptr noundef @.str.42)
  %6751 = load i64, ptr @simtime, align 8, !tbaa !15
  %6752 = add i64 %6751, 100
  store i64 %6752, ptr @simtime, align 8, !tbaa !15
  %6753 = load ptr, ptr %2, align 8, !tbaa !5
  %6754 = getelementptr inbounds %struct.PDP6, ptr %6753, i32 0, i32 58
  store i8 1, ptr %6754, align 1, !tbaa !76
  %6755 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6755)
  %6756 = load ptr, ptr %2, align 8, !tbaa !5
  %6757 = getelementptr inbounds %struct.PDP6, ptr %6756, i32 0, i32 58
  store i8 0, ptr %6757, align 1, !tbaa !76
  %6758 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6758, ptr noundef @.str.43)
  %6759 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6759, ptr noundef @.str.65)
  %6760 = load i64, ptr @simtime, align 8, !tbaa !15
  %6761 = add i64 %6760, 100
  store i64 %6761, ptr @simtime, align 8, !tbaa !15
  %6762 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6762, ptr noundef @.str.122)
  %6763 = load i64, ptr @simtime, align 8, !tbaa !15
  %6764 = add i64 %6763, 100
  store i64 %6764, ptr @simtime, align 8, !tbaa !15
  %6765 = load ptr, ptr %2, align 8, !tbaa !5
  %6766 = getelementptr inbounds %struct.PDP6, ptr %6765, i32 0, i32 28
  %6767 = load i64, ptr %6766, align 8, !tbaa !34
  %6768 = icmp eq i64 %6767, 0
  %6769 = zext i1 %6768 to i32
  store i32 %6769, ptr %3, align 4, !tbaa !102
  %6770 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6770, ptr noundef @.str.125)
  %6771 = load i64, ptr @simtime, align 8, !tbaa !15
  %6772 = add i64 %6771, 100
  store i64 %6772, ptr @simtime, align 8, !tbaa !15
  %6773 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6773, ptr noundef @.str.126)
  %6774 = load i64, ptr @simtime, align 8, !tbaa !15
  %6775 = add i64 %6774, 100
  store i64 %6775, ptr @simtime, align 8, !tbaa !15
  %6776 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6776, ptr noundef @.str.127)
  %6777 = load i64, ptr @simtime, align 8, !tbaa !15
  %6778 = add i64 %6777, 200
  store i64 %6778, ptr @simtime, align 8, !tbaa !15
  %6779 = load i32, ptr %3, align 4, !tbaa !102
  %6780 = icmp ne i32 %6779, 0
  br i1 %6780, label %6781, label %6790

6781:                                             ; preds = %6741
  %6782 = load ptr, ptr %2, align 8, !tbaa !5
  %6783 = getelementptr inbounds %struct.PDP6, ptr %6782, i32 0, i32 34
  %6784 = load i32, ptr %6783, align 8, !tbaa !33
  %6785 = add i32 %6784, 1
  %6786 = and i32 %6785, 262143
  %6787 = load ptr, ptr %2, align 8, !tbaa !5
  %6788 = getelementptr inbounds %struct.PDP6, ptr %6787, i32 0, i32 34
  store i32 %6786, ptr %6788, align 8, !tbaa !33
  %6789 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6789)
  br label %6790

6790:                                             ; preds = %6781, %6741
  %6791 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6791, ptr noundef @.str.121)
  %6792 = load i64, ptr @simtime, align 8, !tbaa !15
  %6793 = add i64 %6792, 200
  store i64 %6793, ptr @simtime, align 8, !tbaa !15
  %6794 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6794)
  %6795 = load ptr, ptr %2, align 8, !tbaa !5
  %6796 = getelementptr inbounds %struct.PDP6, ptr %6795, i32 0, i32 28
  %6797 = load i64, ptr %6796, align 8, !tbaa !34
  %6798 = load ptr, ptr %2, align 8, !tbaa !5
  %6799 = getelementptr inbounds %struct.PDP6, ptr %6798, i32 0, i32 31
  store i64 %6797, ptr %6799, align 8, !tbaa !39
  br label %17859

6800:                                             ; preds = %17
  %6801 = load ptr, ptr %2, align 8, !tbaa !5
  %6802 = getelementptr inbounds %struct.PDP6, ptr %6801, i32 0, i32 31
  %6803 = load i64, ptr %6802, align 8, !tbaa !39
  %6804 = load ptr, ptr %2, align 8, !tbaa !5
  %6805 = getelementptr inbounds %struct.PDP6, ptr %6804, i32 0, i32 28
  store i64 %6803, ptr %6805, align 8, !tbaa !34
  %6806 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6806, ptr noundef @.str.41)
  %6807 = load i64, ptr @simtime, align 8, !tbaa !15
  %6808 = add i64 %6807, 100
  store i64 %6808, ptr @simtime, align 8, !tbaa !15
  %6809 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6809, ptr noundef @.str.42)
  %6810 = load i64, ptr @simtime, align 8, !tbaa !15
  %6811 = add i64 %6810, 100
  store i64 %6811, ptr @simtime, align 8, !tbaa !15
  %6812 = load ptr, ptr %2, align 8, !tbaa !5
  %6813 = getelementptr inbounds %struct.PDP6, ptr %6812, i32 0, i32 58
  store i8 1, ptr %6813, align 1, !tbaa !76
  %6814 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6814)
  %6815 = load ptr, ptr %2, align 8, !tbaa !5
  %6816 = getelementptr inbounds %struct.PDP6, ptr %6815, i32 0, i32 58
  store i8 0, ptr %6816, align 1, !tbaa !76
  %6817 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6817, ptr noundef @.str.43)
  %6818 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6818, ptr noundef @.str.65)
  %6819 = load i64, ptr @simtime, align 8, !tbaa !15
  %6820 = add i64 %6819, 100
  store i64 %6820, ptr @simtime, align 8, !tbaa !15
  %6821 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6821, ptr noundef @.str.122)
  %6822 = load i64, ptr @simtime, align 8, !tbaa !15
  %6823 = add i64 %6822, 100
  store i64 %6823, ptr @simtime, align 8, !tbaa !15
  %6824 = load ptr, ptr %2, align 8, !tbaa !5
  %6825 = getelementptr inbounds %struct.PDP6, ptr %6824, i32 0, i32 28
  %6826 = load i64, ptr %6825, align 8, !tbaa !34
  %6827 = and i64 %6826, 34359738368
  %6828 = icmp ne i64 %6827, 0
  br i1 %6828, label %6834, label %6829

6829:                                             ; preds = %6800
  %6830 = load ptr, ptr %2, align 8, !tbaa !5
  %6831 = getelementptr inbounds %struct.PDP6, ptr %6830, i32 0, i32 28
  %6832 = load i64, ptr %6831, align 8, !tbaa !34
  %6833 = icmp eq i64 %6832, 0
  br label %6834

6834:                                             ; preds = %6829, %6800
  %6835 = phi i1 [ true, %6800 ], [ %6833, %6829 ]
  %6836 = zext i1 %6835 to i32
  store i32 %6836, ptr %3, align 4, !tbaa !102
  %6837 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6837, ptr noundef @.str.125)
  %6838 = load i64, ptr @simtime, align 8, !tbaa !15
  %6839 = add i64 %6838, 100
  store i64 %6839, ptr @simtime, align 8, !tbaa !15
  %6840 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6840, ptr noundef @.str.126)
  %6841 = load i64, ptr @simtime, align 8, !tbaa !15
  %6842 = add i64 %6841, 100
  store i64 %6842, ptr @simtime, align 8, !tbaa !15
  %6843 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6843, ptr noundef @.str.127)
  %6844 = load i64, ptr @simtime, align 8, !tbaa !15
  %6845 = add i64 %6844, 200
  store i64 %6845, ptr @simtime, align 8, !tbaa !15
  %6846 = load i32, ptr %3, align 4, !tbaa !102
  %6847 = icmp ne i32 %6846, 0
  br i1 %6847, label %6848, label %6857

6848:                                             ; preds = %6834
  %6849 = load ptr, ptr %2, align 8, !tbaa !5
  %6850 = getelementptr inbounds %struct.PDP6, ptr %6849, i32 0, i32 34
  %6851 = load i32, ptr %6850, align 8, !tbaa !33
  %6852 = add i32 %6851, 1
  %6853 = and i32 %6852, 262143
  %6854 = load ptr, ptr %2, align 8, !tbaa !5
  %6855 = getelementptr inbounds %struct.PDP6, ptr %6854, i32 0, i32 34
  store i32 %6853, ptr %6855, align 8, !tbaa !33
  %6856 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6856)
  br label %6857

6857:                                             ; preds = %6848, %6834
  %6858 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6858, ptr noundef @.str.121)
  %6859 = load i64, ptr @simtime, align 8, !tbaa !15
  %6860 = add i64 %6859, 200
  store i64 %6860, ptr @simtime, align 8, !tbaa !15
  %6861 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6861)
  %6862 = load ptr, ptr %2, align 8, !tbaa !5
  %6863 = getelementptr inbounds %struct.PDP6, ptr %6862, i32 0, i32 28
  %6864 = load i64, ptr %6863, align 8, !tbaa !34
  %6865 = load ptr, ptr %2, align 8, !tbaa !5
  %6866 = getelementptr inbounds %struct.PDP6, ptr %6865, i32 0, i32 31
  store i64 %6864, ptr %6866, align 8, !tbaa !39
  br label %17859

6867:                                             ; preds = %17
  %6868 = load ptr, ptr %2, align 8, !tbaa !5
  %6869 = getelementptr inbounds %struct.PDP6, ptr %6868, i32 0, i32 31
  %6870 = load i64, ptr %6869, align 8, !tbaa !39
  %6871 = load ptr, ptr %2, align 8, !tbaa !5
  %6872 = getelementptr inbounds %struct.PDP6, ptr %6871, i32 0, i32 28
  store i64 %6870, ptr %6872, align 8, !tbaa !34
  %6873 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6873, ptr noundef @.str.41)
  %6874 = load i64, ptr @simtime, align 8, !tbaa !15
  %6875 = add i64 %6874, 100
  store i64 %6875, ptr @simtime, align 8, !tbaa !15
  %6876 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6876, ptr noundef @.str.42)
  %6877 = load i64, ptr @simtime, align 8, !tbaa !15
  %6878 = add i64 %6877, 100
  store i64 %6878, ptr @simtime, align 8, !tbaa !15
  %6879 = load ptr, ptr %2, align 8, !tbaa !5
  %6880 = getelementptr inbounds %struct.PDP6, ptr %6879, i32 0, i32 58
  store i8 1, ptr %6880, align 1, !tbaa !76
  %6881 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6881)
  %6882 = load ptr, ptr %2, align 8, !tbaa !5
  %6883 = getelementptr inbounds %struct.PDP6, ptr %6882, i32 0, i32 58
  store i8 0, ptr %6883, align 1, !tbaa !76
  %6884 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6884, ptr noundef @.str.43)
  %6885 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6885, ptr noundef @.str.65)
  %6886 = load i64, ptr @simtime, align 8, !tbaa !15
  %6887 = add i64 %6886, 100
  store i64 %6887, ptr @simtime, align 8, !tbaa !15
  %6888 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6888, ptr noundef @.str.122)
  %6889 = load i64, ptr @simtime, align 8, !tbaa !15
  %6890 = add i64 %6889, 100
  store i64 %6890, ptr @simtime, align 8, !tbaa !15
  %6891 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6891, ptr noundef @.str.125)
  %6892 = load i64, ptr @simtime, align 8, !tbaa !15
  %6893 = add i64 %6892, 100
  store i64 %6893, ptr @simtime, align 8, !tbaa !15
  %6894 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6894, ptr noundef @.str.126)
  %6895 = load i64, ptr @simtime, align 8, !tbaa !15
  %6896 = add i64 %6895, 100
  store i64 %6896, ptr @simtime, align 8, !tbaa !15
  %6897 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6897, ptr noundef @.str.127)
  %6898 = load i64, ptr @simtime, align 8, !tbaa !15
  %6899 = add i64 %6898, 200
  store i64 %6899, ptr @simtime, align 8, !tbaa !15
  %6900 = load ptr, ptr %2, align 8, !tbaa !5
  %6901 = getelementptr inbounds %struct.PDP6, ptr %6900, i32 0, i32 34
  %6902 = load i32, ptr %6901, align 8, !tbaa !33
  %6903 = add i32 %6902, 1
  %6904 = and i32 %6903, 262143
  %6905 = load ptr, ptr %2, align 8, !tbaa !5
  %6906 = getelementptr inbounds %struct.PDP6, ptr %6905, i32 0, i32 34
  store i32 %6904, ptr %6906, align 8, !tbaa !33
  %6907 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6907)
  %6908 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6908, ptr noundef @.str.121)
  %6909 = load i64, ptr @simtime, align 8, !tbaa !15
  %6910 = add i64 %6909, 200
  store i64 %6910, ptr @simtime, align 8, !tbaa !15
  %6911 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6911)
  %6912 = load ptr, ptr %2, align 8, !tbaa !5
  %6913 = getelementptr inbounds %struct.PDP6, ptr %6912, i32 0, i32 28
  %6914 = load i64, ptr %6913, align 8, !tbaa !34
  %6915 = load ptr, ptr %2, align 8, !tbaa !5
  %6916 = getelementptr inbounds %struct.PDP6, ptr %6915, i32 0, i32 31
  store i64 %6914, ptr %6916, align 8, !tbaa !39
  br label %17859

6917:                                             ; preds = %17
  %6918 = load ptr, ptr %2, align 8, !tbaa !5
  %6919 = getelementptr inbounds %struct.PDP6, ptr %6918, i32 0, i32 31
  %6920 = load i64, ptr %6919, align 8, !tbaa !39
  %6921 = load ptr, ptr %2, align 8, !tbaa !5
  %6922 = getelementptr inbounds %struct.PDP6, ptr %6921, i32 0, i32 28
  store i64 %6920, ptr %6922, align 8, !tbaa !34
  %6923 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6923, ptr noundef @.str.41)
  %6924 = load i64, ptr @simtime, align 8, !tbaa !15
  %6925 = add i64 %6924, 100
  store i64 %6925, ptr @simtime, align 8, !tbaa !15
  %6926 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6926, ptr noundef @.str.42)
  %6927 = load i64, ptr @simtime, align 8, !tbaa !15
  %6928 = add i64 %6927, 100
  store i64 %6928, ptr @simtime, align 8, !tbaa !15
  %6929 = load ptr, ptr %2, align 8, !tbaa !5
  %6930 = getelementptr inbounds %struct.PDP6, ptr %6929, i32 0, i32 58
  store i8 1, ptr %6930, align 1, !tbaa !76
  %6931 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6931)
  %6932 = load ptr, ptr %2, align 8, !tbaa !5
  %6933 = getelementptr inbounds %struct.PDP6, ptr %6932, i32 0, i32 58
  store i8 0, ptr %6933, align 1, !tbaa !76
  %6934 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6934, ptr noundef @.str.43)
  %6935 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6935, ptr noundef @.str.65)
  %6936 = load i64, ptr @simtime, align 8, !tbaa !15
  %6937 = add i64 %6936, 100
  store i64 %6937, ptr @simtime, align 8, !tbaa !15
  %6938 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6938, ptr noundef @.str.122)
  %6939 = load i64, ptr @simtime, align 8, !tbaa !15
  %6940 = add i64 %6939, 100
  store i64 %6940, ptr @simtime, align 8, !tbaa !15
  %6941 = load ptr, ptr %2, align 8, !tbaa !5
  %6942 = getelementptr inbounds %struct.PDP6, ptr %6941, i32 0, i32 28
  %6943 = load i64, ptr %6942, align 8, !tbaa !34
  %6944 = and i64 %6943, 34359738368
  %6945 = icmp ne i64 %6944, 0
  %6946 = xor i1 %6945, true
  %6947 = xor i1 %6946, true
  %6948 = xor i1 %6947, true
  %6949 = zext i1 %6948 to i32
  store i32 %6949, ptr %3, align 4, !tbaa !102
  %6950 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6950, ptr noundef @.str.125)
  %6951 = load i64, ptr @simtime, align 8, !tbaa !15
  %6952 = add i64 %6951, 100
  store i64 %6952, ptr @simtime, align 8, !tbaa !15
  %6953 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6953, ptr noundef @.str.126)
  %6954 = load i64, ptr @simtime, align 8, !tbaa !15
  %6955 = add i64 %6954, 100
  store i64 %6955, ptr @simtime, align 8, !tbaa !15
  %6956 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6956, ptr noundef @.str.127)
  %6957 = load i64, ptr @simtime, align 8, !tbaa !15
  %6958 = add i64 %6957, 200
  store i64 %6958, ptr @simtime, align 8, !tbaa !15
  %6959 = load i32, ptr %3, align 4, !tbaa !102
  %6960 = icmp ne i32 %6959, 0
  br i1 %6960, label %6961, label %6970

6961:                                             ; preds = %6917
  %6962 = load ptr, ptr %2, align 8, !tbaa !5
  %6963 = getelementptr inbounds %struct.PDP6, ptr %6962, i32 0, i32 34
  %6964 = load i32, ptr %6963, align 8, !tbaa !33
  %6965 = add i32 %6964, 1
  %6966 = and i32 %6965, 262143
  %6967 = load ptr, ptr %2, align 8, !tbaa !5
  %6968 = getelementptr inbounds %struct.PDP6, ptr %6967, i32 0, i32 34
  store i32 %6966, ptr %6968, align 8, !tbaa !33
  %6969 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %6969)
  br label %6970

6970:                                             ; preds = %6961, %6917
  %6971 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6971, ptr noundef @.str.121)
  %6972 = load i64, ptr @simtime, align 8, !tbaa !15
  %6973 = add i64 %6972, 200
  store i64 %6973, ptr @simtime, align 8, !tbaa !15
  %6974 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %6974)
  %6975 = load ptr, ptr %2, align 8, !tbaa !5
  %6976 = getelementptr inbounds %struct.PDP6, ptr %6975, i32 0, i32 28
  %6977 = load i64, ptr %6976, align 8, !tbaa !34
  %6978 = load ptr, ptr %2, align 8, !tbaa !5
  %6979 = getelementptr inbounds %struct.PDP6, ptr %6978, i32 0, i32 31
  store i64 %6977, ptr %6979, align 8, !tbaa !39
  br label %17859

6980:                                             ; preds = %17
  %6981 = load ptr, ptr %2, align 8, !tbaa !5
  %6982 = getelementptr inbounds %struct.PDP6, ptr %6981, i32 0, i32 31
  %6983 = load i64, ptr %6982, align 8, !tbaa !39
  %6984 = load ptr, ptr %2, align 8, !tbaa !5
  %6985 = getelementptr inbounds %struct.PDP6, ptr %6984, i32 0, i32 28
  store i64 %6983, ptr %6985, align 8, !tbaa !34
  %6986 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6986, ptr noundef @.str.41)
  %6987 = load i64, ptr @simtime, align 8, !tbaa !15
  %6988 = add i64 %6987, 100
  store i64 %6988, ptr @simtime, align 8, !tbaa !15
  %6989 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6989, ptr noundef @.str.42)
  %6990 = load i64, ptr @simtime, align 8, !tbaa !15
  %6991 = add i64 %6990, 100
  store i64 %6991, ptr @simtime, align 8, !tbaa !15
  %6992 = load ptr, ptr %2, align 8, !tbaa !5
  %6993 = getelementptr inbounds %struct.PDP6, ptr %6992, i32 0, i32 58
  store i8 1, ptr %6993, align 1, !tbaa !76
  %6994 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %6994)
  %6995 = load ptr, ptr %2, align 8, !tbaa !5
  %6996 = getelementptr inbounds %struct.PDP6, ptr %6995, i32 0, i32 58
  store i8 0, ptr %6996, align 1, !tbaa !76
  %6997 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6997, ptr noundef @.str.43)
  %6998 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %6998, ptr noundef @.str.65)
  %6999 = load i64, ptr @simtime, align 8, !tbaa !15
  %7000 = add i64 %6999, 100
  store i64 %7000, ptr @simtime, align 8, !tbaa !15
  %7001 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7001, ptr noundef @.str.122)
  %7002 = load i64, ptr @simtime, align 8, !tbaa !15
  %7003 = add i64 %7002, 100
  store i64 %7003, ptr @simtime, align 8, !tbaa !15
  %7004 = load ptr, ptr %2, align 8, !tbaa !5
  %7005 = getelementptr inbounds %struct.PDP6, ptr %7004, i32 0, i32 28
  %7006 = load i64, ptr %7005, align 8, !tbaa !34
  %7007 = icmp eq i64 %7006, 0
  %7008 = xor i1 %7007, true
  %7009 = zext i1 %7008 to i32
  store i32 %7009, ptr %3, align 4, !tbaa !102
  %7010 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7010, ptr noundef @.str.125)
  %7011 = load i64, ptr @simtime, align 8, !tbaa !15
  %7012 = add i64 %7011, 100
  store i64 %7012, ptr @simtime, align 8, !tbaa !15
  %7013 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7013, ptr noundef @.str.126)
  %7014 = load i64, ptr @simtime, align 8, !tbaa !15
  %7015 = add i64 %7014, 100
  store i64 %7015, ptr @simtime, align 8, !tbaa !15
  %7016 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7016, ptr noundef @.str.127)
  %7017 = load i64, ptr @simtime, align 8, !tbaa !15
  %7018 = add i64 %7017, 200
  store i64 %7018, ptr @simtime, align 8, !tbaa !15
  %7019 = load i32, ptr %3, align 4, !tbaa !102
  %7020 = icmp ne i32 %7019, 0
  br i1 %7020, label %7021, label %7030

7021:                                             ; preds = %6980
  %7022 = load ptr, ptr %2, align 8, !tbaa !5
  %7023 = getelementptr inbounds %struct.PDP6, ptr %7022, i32 0, i32 34
  %7024 = load i32, ptr %7023, align 8, !tbaa !33
  %7025 = add i32 %7024, 1
  %7026 = and i32 %7025, 262143
  %7027 = load ptr, ptr %2, align 8, !tbaa !5
  %7028 = getelementptr inbounds %struct.PDP6, ptr %7027, i32 0, i32 34
  store i32 %7026, ptr %7028, align 8, !tbaa !33
  %7029 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %7029)
  br label %7030

7030:                                             ; preds = %7021, %6980
  %7031 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7031, ptr noundef @.str.121)
  %7032 = load i64, ptr @simtime, align 8, !tbaa !15
  %7033 = add i64 %7032, 200
  store i64 %7033, ptr @simtime, align 8, !tbaa !15
  %7034 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %7034)
  %7035 = load ptr, ptr %2, align 8, !tbaa !5
  %7036 = getelementptr inbounds %struct.PDP6, ptr %7035, i32 0, i32 28
  %7037 = load i64, ptr %7036, align 8, !tbaa !34
  %7038 = load ptr, ptr %2, align 8, !tbaa !5
  %7039 = getelementptr inbounds %struct.PDP6, ptr %7038, i32 0, i32 31
  store i64 %7037, ptr %7039, align 8, !tbaa !39
  br label %17859

7040:                                             ; preds = %17
  %7041 = load ptr, ptr %2, align 8, !tbaa !5
  %7042 = getelementptr inbounds %struct.PDP6, ptr %7041, i32 0, i32 31
  %7043 = load i64, ptr %7042, align 8, !tbaa !39
  %7044 = load ptr, ptr %2, align 8, !tbaa !5
  %7045 = getelementptr inbounds %struct.PDP6, ptr %7044, i32 0, i32 28
  store i64 %7043, ptr %7045, align 8, !tbaa !34
  %7046 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7046, ptr noundef @.str.41)
  %7047 = load i64, ptr @simtime, align 8, !tbaa !15
  %7048 = add i64 %7047, 100
  store i64 %7048, ptr @simtime, align 8, !tbaa !15
  %7049 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7049, ptr noundef @.str.42)
  %7050 = load i64, ptr @simtime, align 8, !tbaa !15
  %7051 = add i64 %7050, 100
  store i64 %7051, ptr @simtime, align 8, !tbaa !15
  %7052 = load ptr, ptr %2, align 8, !tbaa !5
  %7053 = getelementptr inbounds %struct.PDP6, ptr %7052, i32 0, i32 58
  store i8 1, ptr %7053, align 1, !tbaa !76
  %7054 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec(ptr noundef %7054)
  %7055 = load ptr, ptr %2, align 8, !tbaa !5
  %7056 = getelementptr inbounds %struct.PDP6, ptr %7055, i32 0, i32 58
  store i8 0, ptr %7056, align 1, !tbaa !76
  %7057 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7057, ptr noundef @.str.43)
  %7058 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7058, ptr noundef @.str.65)
  %7059 = load i64, ptr @simtime, align 8, !tbaa !15
  %7060 = add i64 %7059, 100
  store i64 %7060, ptr @simtime, align 8, !tbaa !15
  %7061 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7061, ptr noundef @.str.122)
  %7062 = load i64, ptr @simtime, align 8, !tbaa !15
  %7063 = add i64 %7062, 100
  store i64 %7063, ptr @simtime, align 8, !tbaa !15
  %7064 = load ptr, ptr %2, align 8, !tbaa !5
  %7065 = getelementptr inbounds %struct.PDP6, ptr %7064, i32 0, i32 28
  %7066 = load i64, ptr %7065, align 8, !tbaa !34
  %7067 = and i64 %7066, 34359738368
  %7068 = icmp ne i64 %7067, 0
  br i1 %7068, label %7074, label %7069

7069:                                             ; preds = %7040
  %7070 = load ptr, ptr %2, align 8, !tbaa !5
  %7071 = getelementptr inbounds %struct.PDP6, ptr %7070, i32 0, i32 28
  %7072 = load i64, ptr %7071, align 8, !tbaa !34
  %7073 = icmp eq i64 %7072, 0
  br label %7074

7074:                                             ; preds = %7069, %7040
  %7075 = phi i1 [ true, %7040 ], [ %7073, %7069 ]
  %7076 = xor i1 %7075, true
  %7077 = zext i1 %7076 to i32
  store i32 %7077, ptr %3, align 4, !tbaa !102
  %7078 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7078, ptr noundef @.str.125)
  %7079 = load i64, ptr @simtime, align 8, !tbaa !15
  %7080 = add i64 %7079, 100
  store i64 %7080, ptr @simtime, align 8, !tbaa !15
  %7081 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7081, ptr noundef @.str.126)
  %7082 = load i64, ptr @simtime, align 8, !tbaa !15
  %7083 = add i64 %7082, 100
  store i64 %7083, ptr @simtime, align 8, !tbaa !15
  %7084 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7084, ptr noundef @.str.127)
  %7085 = load i64, ptr @simtime, align 8, !tbaa !15
  %7086 = add i64 %7085, 200
  store i64 %7086, ptr @simtime, align 8, !tbaa !15
  %7087 = load i32, ptr %3, align 4, !tbaa !102
  %7088 = icmp ne i32 %7087, 0
  br i1 %7088, label %7089, label %7098

7089:                                             ; preds = %7074
  %7090 = load ptr, ptr %2, align 8, !tbaa !5
  %7091 = getelementptr inbounds %struct.PDP6, ptr %7090, i32 0, i32 34
  %7092 = load i32, ptr %7091, align 8, !tbaa !33
  %7093 = add i32 %7092, 1
  %7094 = and i32 %7093, 262143
  %7095 = load ptr, ptr %2, align 8, !tbaa !5
  %7096 = getelementptr inbounds %struct.PDP6, ptr %7095, i32 0, i32 34
  store i32 %7094, ptr %7096, align 8, !tbaa !33
  %7097 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %7097)
  br label %7098

7098:                                             ; preds = %7089, %7074
  %7099 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7099, ptr noundef @.str.121)
  %7100 = load i64, ptr @simtime, align 8, !tbaa !15
  %7101 = add i64 %7100, 200
  store i64 %7101, ptr @simtime, align 8, !tbaa !15
  %7102 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_set_ov_cry(ptr noundef %7102)
  %7103 = load ptr, ptr %2, align 8, !tbaa !5
  %7104 = getelementptr inbounds %struct.PDP6, ptr %7103, i32 0, i32 28
  %7105 = load i64, ptr %7104, align 8, !tbaa !34
  %7106 = load ptr, ptr %2, align 8, !tbaa !5
  %7107 = getelementptr inbounds %struct.PDP6, ptr %7106, i32 0, i32 31
  store i64 %7105, ptr %7107, align 8, !tbaa !39
  br label %17859

7108:                                             ; preds = %17
  %7109 = load ptr, ptr %2, align 8, !tbaa !5
  %7110 = getelementptr inbounds %struct.PDP6, ptr %7109, i32 0, i32 28
  store i64 0, ptr %7110, align 8, !tbaa !34
  %7111 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7111, ptr noundef @.str.41)
  %7112 = load i64, ptr @simtime, align 8, !tbaa !15
  %7113 = add i64 %7112, 100
  store i64 %7113, ptr @simtime, align 8, !tbaa !15
  %7114 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7114, ptr noundef @.str.42)
  %7115 = load i64, ptr @simtime, align 8, !tbaa !15
  %7116 = add i64 %7115, 100
  store i64 %7116, ptr @simtime, align 8, !tbaa !15
  %7117 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7117, ptr noundef @.str.43)
  %7118 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7118, ptr noundef @.str.65)
  %7119 = load i64, ptr @simtime, align 8, !tbaa !15
  %7120 = add i64 %7119, 100
  store i64 %7120, ptr @simtime, align 8, !tbaa !15
  %7121 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7121, ptr noundef @.str.122)
  br label %17859

7122:                                             ; preds = %17
  %7123 = load ptr, ptr %2, align 8, !tbaa !5
  %7124 = getelementptr inbounds %struct.PDP6, ptr %7123, i32 0, i32 28
  store i64 0, ptr %7124, align 8, !tbaa !34
  %7125 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7125, ptr noundef @.str.41)
  %7126 = load i64, ptr @simtime, align 8, !tbaa !15
  %7127 = add i64 %7126, 100
  store i64 %7127, ptr @simtime, align 8, !tbaa !15
  %7128 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7128, ptr noundef @.str.42)
  %7129 = load i64, ptr @simtime, align 8, !tbaa !15
  %7130 = add i64 %7129, 100
  store i64 %7130, ptr @simtime, align 8, !tbaa !15
  %7131 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7131, ptr noundef @.str.43)
  %7132 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7132, ptr noundef @.str.65)
  %7133 = load i64, ptr @simtime, align 8, !tbaa !15
  %7134 = add i64 %7133, 100
  store i64 %7134, ptr @simtime, align 8, !tbaa !15
  %7135 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7135, ptr noundef @.str.122)
  br label %17859

7136:                                             ; preds = %17
  %7137 = load ptr, ptr %2, align 8, !tbaa !5
  %7138 = getelementptr inbounds %struct.PDP6, ptr %7137, i32 0, i32 28
  store i64 0, ptr %7138, align 8, !tbaa !34
  %7139 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7139, ptr noundef @.str.41)
  %7140 = load i64, ptr @simtime, align 8, !tbaa !15
  %7141 = add i64 %7140, 100
  store i64 %7141, ptr @simtime, align 8, !tbaa !15
  %7142 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7142, ptr noundef @.str.42)
  %7143 = load i64, ptr @simtime, align 8, !tbaa !15
  %7144 = add i64 %7143, 100
  store i64 %7144, ptr @simtime, align 8, !tbaa !15
  %7145 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7145, ptr noundef @.str.43)
  %7146 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7146, ptr noundef @.str.65)
  %7147 = load i64, ptr @simtime, align 8, !tbaa !15
  %7148 = add i64 %7147, 100
  store i64 %7148, ptr @simtime, align 8, !tbaa !15
  %7149 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7149, ptr noundef @.str.122)
  %7150 = load ptr, ptr %2, align 8, !tbaa !5
  %7151 = getelementptr inbounds %struct.PDP6, ptr %7150, i32 0, i32 28
  %7152 = load i64, ptr %7151, align 8, !tbaa !34
  %7153 = load ptr, ptr %2, align 8, !tbaa !5
  %7154 = getelementptr inbounds %struct.PDP6, ptr %7153, i32 0, i32 31
  store i64 %7152, ptr %7154, align 8, !tbaa !39
  br label %17859

7155:                                             ; preds = %17
  %7156 = load ptr, ptr %2, align 8, !tbaa !5
  %7157 = getelementptr inbounds %struct.PDP6, ptr %7156, i32 0, i32 28
  store i64 0, ptr %7157, align 8, !tbaa !34
  %7158 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7158, ptr noundef @.str.41)
  %7159 = load i64, ptr @simtime, align 8, !tbaa !15
  %7160 = add i64 %7159, 100
  store i64 %7160, ptr @simtime, align 8, !tbaa !15
  %7161 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7161, ptr noundef @.str.42)
  %7162 = load i64, ptr @simtime, align 8, !tbaa !15
  %7163 = add i64 %7162, 100
  store i64 %7163, ptr @simtime, align 8, !tbaa !15
  %7164 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7164, ptr noundef @.str.43)
  %7165 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7165, ptr noundef @.str.65)
  %7166 = load i64, ptr @simtime, align 8, !tbaa !15
  %7167 = add i64 %7166, 100
  store i64 %7167, ptr @simtime, align 8, !tbaa !15
  %7168 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7168, ptr noundef @.str.122)
  %7169 = load ptr, ptr %2, align 8, !tbaa !5
  %7170 = getelementptr inbounds %struct.PDP6, ptr %7169, i32 0, i32 28
  %7171 = load i64, ptr %7170, align 8, !tbaa !34
  %7172 = load ptr, ptr %2, align 8, !tbaa !5
  %7173 = getelementptr inbounds %struct.PDP6, ptr %7172, i32 0, i32 31
  store i64 %7171, ptr %7173, align 8, !tbaa !39
  br label %17859

7174:                                             ; preds = %17
  %7175 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7175, ptr noundef @.str.41)
  %7176 = load i64, ptr @simtime, align 8, !tbaa !15
  %7177 = add i64 %7176, 100
  store i64 %7177, ptr @simtime, align 8, !tbaa !15
  %7178 = load ptr, ptr %2, align 8, !tbaa !5
  %7179 = getelementptr inbounds %struct.PDP6, ptr %7178, i32 0, i32 31
  %7180 = load i64, ptr %7179, align 8, !tbaa !39
  %7181 = load ptr, ptr %2, align 8, !tbaa !5
  %7182 = getelementptr inbounds %struct.PDP6, ptr %7181, i32 0, i32 28
  %7183 = load i64, ptr %7182, align 8, !tbaa !34
  %7184 = and i64 %7183, %7180
  store i64 %7184, ptr %7182, align 8, !tbaa !34
  %7185 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7185, ptr noundef @.str.42)
  %7186 = load i64, ptr @simtime, align 8, !tbaa !15
  %7187 = add i64 %7186, 100
  store i64 %7187, ptr @simtime, align 8, !tbaa !15
  %7188 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7188, ptr noundef @.str.43)
  %7189 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7189, ptr noundef @.str.65)
  %7190 = load i64, ptr @simtime, align 8, !tbaa !15
  %7191 = add i64 %7190, 100
  store i64 %7191, ptr @simtime, align 8, !tbaa !15
  %7192 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7192, ptr noundef @.str.122)
  br label %17859

7193:                                             ; preds = %17
  %7194 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7194, ptr noundef @.str.41)
  %7195 = load i64, ptr @simtime, align 8, !tbaa !15
  %7196 = add i64 %7195, 100
  store i64 %7196, ptr @simtime, align 8, !tbaa !15
  %7197 = load ptr, ptr %2, align 8, !tbaa !5
  %7198 = getelementptr inbounds %struct.PDP6, ptr %7197, i32 0, i32 31
  %7199 = load i64, ptr %7198, align 8, !tbaa !39
  %7200 = load ptr, ptr %2, align 8, !tbaa !5
  %7201 = getelementptr inbounds %struct.PDP6, ptr %7200, i32 0, i32 28
  %7202 = load i64, ptr %7201, align 8, !tbaa !34
  %7203 = and i64 %7202, %7199
  store i64 %7203, ptr %7201, align 8, !tbaa !34
  %7204 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7204, ptr noundef @.str.42)
  %7205 = load i64, ptr @simtime, align 8, !tbaa !15
  %7206 = add i64 %7205, 100
  store i64 %7206, ptr @simtime, align 8, !tbaa !15
  %7207 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7207, ptr noundef @.str.43)
  %7208 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7208, ptr noundef @.str.65)
  %7209 = load i64, ptr @simtime, align 8, !tbaa !15
  %7210 = add i64 %7209, 100
  store i64 %7210, ptr @simtime, align 8, !tbaa !15
  %7211 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7211, ptr noundef @.str.122)
  br label %17859

7212:                                             ; preds = %17
  %7213 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7213, ptr noundef @.str.41)
  %7214 = load i64, ptr @simtime, align 8, !tbaa !15
  %7215 = add i64 %7214, 100
  store i64 %7215, ptr @simtime, align 8, !tbaa !15
  %7216 = load ptr, ptr %2, align 8, !tbaa !5
  %7217 = getelementptr inbounds %struct.PDP6, ptr %7216, i32 0, i32 31
  %7218 = load i64, ptr %7217, align 8, !tbaa !39
  %7219 = load ptr, ptr %2, align 8, !tbaa !5
  %7220 = getelementptr inbounds %struct.PDP6, ptr %7219, i32 0, i32 28
  %7221 = load i64, ptr %7220, align 8, !tbaa !34
  %7222 = and i64 %7221, %7218
  store i64 %7222, ptr %7220, align 8, !tbaa !34
  %7223 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7223, ptr noundef @.str.42)
  %7224 = load i64, ptr @simtime, align 8, !tbaa !15
  %7225 = add i64 %7224, 100
  store i64 %7225, ptr @simtime, align 8, !tbaa !15
  %7226 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7226, ptr noundef @.str.43)
  %7227 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7227, ptr noundef @.str.65)
  %7228 = load i64, ptr @simtime, align 8, !tbaa !15
  %7229 = add i64 %7228, 100
  store i64 %7229, ptr @simtime, align 8, !tbaa !15
  %7230 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7230, ptr noundef @.str.122)
  %7231 = load ptr, ptr %2, align 8, !tbaa !5
  %7232 = getelementptr inbounds %struct.PDP6, ptr %7231, i32 0, i32 28
  %7233 = load i64, ptr %7232, align 8, !tbaa !34
  %7234 = load ptr, ptr %2, align 8, !tbaa !5
  %7235 = getelementptr inbounds %struct.PDP6, ptr %7234, i32 0, i32 31
  store i64 %7233, ptr %7235, align 8, !tbaa !39
  br label %17859

7236:                                             ; preds = %17
  %7237 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7237, ptr noundef @.str.41)
  %7238 = load i64, ptr @simtime, align 8, !tbaa !15
  %7239 = add i64 %7238, 100
  store i64 %7239, ptr @simtime, align 8, !tbaa !15
  %7240 = load ptr, ptr %2, align 8, !tbaa !5
  %7241 = getelementptr inbounds %struct.PDP6, ptr %7240, i32 0, i32 31
  %7242 = load i64, ptr %7241, align 8, !tbaa !39
  %7243 = load ptr, ptr %2, align 8, !tbaa !5
  %7244 = getelementptr inbounds %struct.PDP6, ptr %7243, i32 0, i32 28
  %7245 = load i64, ptr %7244, align 8, !tbaa !34
  %7246 = and i64 %7245, %7242
  store i64 %7246, ptr %7244, align 8, !tbaa !34
  %7247 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7247, ptr noundef @.str.42)
  %7248 = load i64, ptr @simtime, align 8, !tbaa !15
  %7249 = add i64 %7248, 100
  store i64 %7249, ptr @simtime, align 8, !tbaa !15
  %7250 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7250, ptr noundef @.str.43)
  %7251 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7251, ptr noundef @.str.65)
  %7252 = load i64, ptr @simtime, align 8, !tbaa !15
  %7253 = add i64 %7252, 100
  store i64 %7253, ptr @simtime, align 8, !tbaa !15
  %7254 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7254, ptr noundef @.str.122)
  %7255 = load ptr, ptr %2, align 8, !tbaa !5
  %7256 = getelementptr inbounds %struct.PDP6, ptr %7255, i32 0, i32 28
  %7257 = load i64, ptr %7256, align 8, !tbaa !34
  %7258 = load ptr, ptr %2, align 8, !tbaa !5
  %7259 = getelementptr inbounds %struct.PDP6, ptr %7258, i32 0, i32 31
  store i64 %7257, ptr %7259, align 8, !tbaa !39
  br label %17859

7260:                                             ; preds = %17
  %7261 = load ptr, ptr %2, align 8, !tbaa !5
  %7262 = getelementptr inbounds %struct.PDP6, ptr %7261, i32 0, i32 28
  %7263 = load i64, ptr %7262, align 8, !tbaa !34
  %7264 = xor i64 %7263, 68719476735
  store i64 %7264, ptr %7262, align 8, !tbaa !34
  %7265 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7265, ptr noundef @.str.41)
  %7266 = load i64, ptr @simtime, align 8, !tbaa !15
  %7267 = add i64 %7266, 100
  store i64 %7267, ptr @simtime, align 8, !tbaa !15
  %7268 = load ptr, ptr %2, align 8, !tbaa !5
  %7269 = getelementptr inbounds %struct.PDP6, ptr %7268, i32 0, i32 31
  %7270 = load i64, ptr %7269, align 8, !tbaa !39
  %7271 = load ptr, ptr %2, align 8, !tbaa !5
  %7272 = getelementptr inbounds %struct.PDP6, ptr %7271, i32 0, i32 28
  %7273 = load i64, ptr %7272, align 8, !tbaa !34
  %7274 = and i64 %7273, %7270
  store i64 %7274, ptr %7272, align 8, !tbaa !34
  %7275 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7275, ptr noundef @.str.42)
  %7276 = load i64, ptr @simtime, align 8, !tbaa !15
  %7277 = add i64 %7276, 100
  store i64 %7277, ptr @simtime, align 8, !tbaa !15
  %7278 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7278, ptr noundef @.str.43)
  %7279 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7279, ptr noundef @.str.65)
  %7280 = load i64, ptr @simtime, align 8, !tbaa !15
  %7281 = add i64 %7280, 100
  store i64 %7281, ptr @simtime, align 8, !tbaa !15
  %7282 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7282, ptr noundef @.str.122)
  br label %17859

7283:                                             ; preds = %17
  %7284 = load ptr, ptr %2, align 8, !tbaa !5
  %7285 = getelementptr inbounds %struct.PDP6, ptr %7284, i32 0, i32 28
  %7286 = load i64, ptr %7285, align 8, !tbaa !34
  %7287 = xor i64 %7286, 68719476735
  store i64 %7287, ptr %7285, align 8, !tbaa !34
  %7288 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7288, ptr noundef @.str.41)
  %7289 = load i64, ptr @simtime, align 8, !tbaa !15
  %7290 = add i64 %7289, 100
  store i64 %7290, ptr @simtime, align 8, !tbaa !15
  %7291 = load ptr, ptr %2, align 8, !tbaa !5
  %7292 = getelementptr inbounds %struct.PDP6, ptr %7291, i32 0, i32 31
  %7293 = load i64, ptr %7292, align 8, !tbaa !39
  %7294 = load ptr, ptr %2, align 8, !tbaa !5
  %7295 = getelementptr inbounds %struct.PDP6, ptr %7294, i32 0, i32 28
  %7296 = load i64, ptr %7295, align 8, !tbaa !34
  %7297 = and i64 %7296, %7293
  store i64 %7297, ptr %7295, align 8, !tbaa !34
  %7298 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7298, ptr noundef @.str.42)
  %7299 = load i64, ptr @simtime, align 8, !tbaa !15
  %7300 = add i64 %7299, 100
  store i64 %7300, ptr @simtime, align 8, !tbaa !15
  %7301 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7301, ptr noundef @.str.43)
  %7302 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7302, ptr noundef @.str.65)
  %7303 = load i64, ptr @simtime, align 8, !tbaa !15
  %7304 = add i64 %7303, 100
  store i64 %7304, ptr @simtime, align 8, !tbaa !15
  %7305 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7305, ptr noundef @.str.122)
  br label %17859

7306:                                             ; preds = %17
  %7307 = load ptr, ptr %2, align 8, !tbaa !5
  %7308 = getelementptr inbounds %struct.PDP6, ptr %7307, i32 0, i32 28
  %7309 = load i64, ptr %7308, align 8, !tbaa !34
  %7310 = xor i64 %7309, 68719476735
  store i64 %7310, ptr %7308, align 8, !tbaa !34
  %7311 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7311, ptr noundef @.str.41)
  %7312 = load i64, ptr @simtime, align 8, !tbaa !15
  %7313 = add i64 %7312, 100
  store i64 %7313, ptr @simtime, align 8, !tbaa !15
  %7314 = load ptr, ptr %2, align 8, !tbaa !5
  %7315 = getelementptr inbounds %struct.PDP6, ptr %7314, i32 0, i32 31
  %7316 = load i64, ptr %7315, align 8, !tbaa !39
  %7317 = load ptr, ptr %2, align 8, !tbaa !5
  %7318 = getelementptr inbounds %struct.PDP6, ptr %7317, i32 0, i32 28
  %7319 = load i64, ptr %7318, align 8, !tbaa !34
  %7320 = and i64 %7319, %7316
  store i64 %7320, ptr %7318, align 8, !tbaa !34
  %7321 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7321, ptr noundef @.str.42)
  %7322 = load i64, ptr @simtime, align 8, !tbaa !15
  %7323 = add i64 %7322, 100
  store i64 %7323, ptr @simtime, align 8, !tbaa !15
  %7324 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7324, ptr noundef @.str.43)
  %7325 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7325, ptr noundef @.str.65)
  %7326 = load i64, ptr @simtime, align 8, !tbaa !15
  %7327 = add i64 %7326, 100
  store i64 %7327, ptr @simtime, align 8, !tbaa !15
  %7328 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7328, ptr noundef @.str.122)
  %7329 = load ptr, ptr %2, align 8, !tbaa !5
  %7330 = getelementptr inbounds %struct.PDP6, ptr %7329, i32 0, i32 28
  %7331 = load i64, ptr %7330, align 8, !tbaa !34
  %7332 = load ptr, ptr %2, align 8, !tbaa !5
  %7333 = getelementptr inbounds %struct.PDP6, ptr %7332, i32 0, i32 31
  store i64 %7331, ptr %7333, align 8, !tbaa !39
  br label %17859

7334:                                             ; preds = %17
  %7335 = load ptr, ptr %2, align 8, !tbaa !5
  %7336 = getelementptr inbounds %struct.PDP6, ptr %7335, i32 0, i32 28
  %7337 = load i64, ptr %7336, align 8, !tbaa !34
  %7338 = xor i64 %7337, 68719476735
  store i64 %7338, ptr %7336, align 8, !tbaa !34
  %7339 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7339, ptr noundef @.str.41)
  %7340 = load i64, ptr @simtime, align 8, !tbaa !15
  %7341 = add i64 %7340, 100
  store i64 %7341, ptr @simtime, align 8, !tbaa !15
  %7342 = load ptr, ptr %2, align 8, !tbaa !5
  %7343 = getelementptr inbounds %struct.PDP6, ptr %7342, i32 0, i32 31
  %7344 = load i64, ptr %7343, align 8, !tbaa !39
  %7345 = load ptr, ptr %2, align 8, !tbaa !5
  %7346 = getelementptr inbounds %struct.PDP6, ptr %7345, i32 0, i32 28
  %7347 = load i64, ptr %7346, align 8, !tbaa !34
  %7348 = and i64 %7347, %7344
  store i64 %7348, ptr %7346, align 8, !tbaa !34
  %7349 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7349, ptr noundef @.str.42)
  %7350 = load i64, ptr @simtime, align 8, !tbaa !15
  %7351 = add i64 %7350, 100
  store i64 %7351, ptr @simtime, align 8, !tbaa !15
  %7352 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7352, ptr noundef @.str.43)
  %7353 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7353, ptr noundef @.str.65)
  %7354 = load i64, ptr @simtime, align 8, !tbaa !15
  %7355 = add i64 %7354, 100
  store i64 %7355, ptr @simtime, align 8, !tbaa !15
  %7356 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7356, ptr noundef @.str.122)
  %7357 = load ptr, ptr %2, align 8, !tbaa !5
  %7358 = getelementptr inbounds %struct.PDP6, ptr %7357, i32 0, i32 28
  %7359 = load i64, ptr %7358, align 8, !tbaa !34
  %7360 = load ptr, ptr %2, align 8, !tbaa !5
  %7361 = getelementptr inbounds %struct.PDP6, ptr %7360, i32 0, i32 31
  store i64 %7359, ptr %7361, align 8, !tbaa !39
  br label %17859

7362:                                             ; preds = %17
  %7363 = load ptr, ptr %2, align 8, !tbaa !5
  %7364 = getelementptr inbounds %struct.PDP6, ptr %7363, i32 0, i32 28
  store i64 0, ptr %7364, align 8, !tbaa !34
  %7365 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7365, ptr noundef @.str.41)
  %7366 = load i64, ptr @simtime, align 8, !tbaa !15
  %7367 = add i64 %7366, 100
  store i64 %7367, ptr @simtime, align 8, !tbaa !15
  %7368 = load ptr, ptr %2, align 8, !tbaa !5
  %7369 = getelementptr inbounds %struct.PDP6, ptr %7368, i32 0, i32 31
  %7370 = load i64, ptr %7369, align 8, !tbaa !39
  %7371 = load ptr, ptr %2, align 8, !tbaa !5
  %7372 = getelementptr inbounds %struct.PDP6, ptr %7371, i32 0, i32 28
  %7373 = load i64, ptr %7372, align 8, !tbaa !34
  %7374 = or i64 %7373, %7370
  store i64 %7374, ptr %7372, align 8, !tbaa !34
  %7375 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7375, ptr noundef @.str.42)
  %7376 = load i64, ptr @simtime, align 8, !tbaa !15
  %7377 = add i64 %7376, 100
  store i64 %7377, ptr @simtime, align 8, !tbaa !15
  %7378 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7378, ptr noundef @.str.43)
  %7379 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7379, ptr noundef @.str.65)
  %7380 = load i64, ptr @simtime, align 8, !tbaa !15
  %7381 = add i64 %7380, 100
  store i64 %7381, ptr @simtime, align 8, !tbaa !15
  %7382 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7382, ptr noundef @.str.122)
  br label %17859

7383:                                             ; preds = %17
  %7384 = load ptr, ptr %2, align 8, !tbaa !5
  %7385 = getelementptr inbounds %struct.PDP6, ptr %7384, i32 0, i32 28
  store i64 0, ptr %7385, align 8, !tbaa !34
  %7386 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7386, ptr noundef @.str.41)
  %7387 = load i64, ptr @simtime, align 8, !tbaa !15
  %7388 = add i64 %7387, 100
  store i64 %7388, ptr @simtime, align 8, !tbaa !15
  %7389 = load ptr, ptr %2, align 8, !tbaa !5
  %7390 = getelementptr inbounds %struct.PDP6, ptr %7389, i32 0, i32 31
  %7391 = load i64, ptr %7390, align 8, !tbaa !39
  %7392 = load ptr, ptr %2, align 8, !tbaa !5
  %7393 = getelementptr inbounds %struct.PDP6, ptr %7392, i32 0, i32 28
  %7394 = load i64, ptr %7393, align 8, !tbaa !34
  %7395 = or i64 %7394, %7391
  store i64 %7395, ptr %7393, align 8, !tbaa !34
  %7396 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7396, ptr noundef @.str.42)
  %7397 = load i64, ptr @simtime, align 8, !tbaa !15
  %7398 = add i64 %7397, 100
  store i64 %7398, ptr @simtime, align 8, !tbaa !15
  %7399 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7399, ptr noundef @.str.43)
  %7400 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7400, ptr noundef @.str.65)
  %7401 = load i64, ptr @simtime, align 8, !tbaa !15
  %7402 = add i64 %7401, 100
  store i64 %7402, ptr @simtime, align 8, !tbaa !15
  %7403 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7403, ptr noundef @.str.122)
  br label %17859

7404:                                             ; preds = %17
  %7405 = load ptr, ptr %2, align 8, !tbaa !5
  %7406 = getelementptr inbounds %struct.PDP6, ptr %7405, i32 0, i32 28
  store i64 0, ptr %7406, align 8, !tbaa !34
  %7407 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7407, ptr noundef @.str.41)
  %7408 = load i64, ptr @simtime, align 8, !tbaa !15
  %7409 = add i64 %7408, 100
  store i64 %7409, ptr @simtime, align 8, !tbaa !15
  %7410 = load ptr, ptr %2, align 8, !tbaa !5
  %7411 = getelementptr inbounds %struct.PDP6, ptr %7410, i32 0, i32 31
  %7412 = load i64, ptr %7411, align 8, !tbaa !39
  %7413 = load ptr, ptr %2, align 8, !tbaa !5
  %7414 = getelementptr inbounds %struct.PDP6, ptr %7413, i32 0, i32 28
  %7415 = load i64, ptr %7414, align 8, !tbaa !34
  %7416 = or i64 %7415, %7412
  store i64 %7416, ptr %7414, align 8, !tbaa !34
  %7417 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7417, ptr noundef @.str.42)
  %7418 = load i64, ptr @simtime, align 8, !tbaa !15
  %7419 = add i64 %7418, 100
  store i64 %7419, ptr @simtime, align 8, !tbaa !15
  %7420 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7420, ptr noundef @.str.43)
  %7421 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7421, ptr noundef @.str.65)
  %7422 = load i64, ptr @simtime, align 8, !tbaa !15
  %7423 = add i64 %7422, 100
  store i64 %7423, ptr @simtime, align 8, !tbaa !15
  %7424 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7424, ptr noundef @.str.122)
  %7425 = load ptr, ptr %2, align 8, !tbaa !5
  %7426 = getelementptr inbounds %struct.PDP6, ptr %7425, i32 0, i32 28
  %7427 = load i64, ptr %7426, align 8, !tbaa !34
  %7428 = load ptr, ptr %2, align 8, !tbaa !5
  %7429 = getelementptr inbounds %struct.PDP6, ptr %7428, i32 0, i32 31
  store i64 %7427, ptr %7429, align 8, !tbaa !39
  br label %17859

7430:                                             ; preds = %17
  %7431 = load ptr, ptr %2, align 8, !tbaa !5
  %7432 = getelementptr inbounds %struct.PDP6, ptr %7431, i32 0, i32 28
  store i64 0, ptr %7432, align 8, !tbaa !34
  %7433 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7433, ptr noundef @.str.41)
  %7434 = load i64, ptr @simtime, align 8, !tbaa !15
  %7435 = add i64 %7434, 100
  store i64 %7435, ptr @simtime, align 8, !tbaa !15
  %7436 = load ptr, ptr %2, align 8, !tbaa !5
  %7437 = getelementptr inbounds %struct.PDP6, ptr %7436, i32 0, i32 31
  %7438 = load i64, ptr %7437, align 8, !tbaa !39
  %7439 = load ptr, ptr %2, align 8, !tbaa !5
  %7440 = getelementptr inbounds %struct.PDP6, ptr %7439, i32 0, i32 28
  %7441 = load i64, ptr %7440, align 8, !tbaa !34
  %7442 = or i64 %7441, %7438
  store i64 %7442, ptr %7440, align 8, !tbaa !34
  %7443 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7443, ptr noundef @.str.42)
  %7444 = load i64, ptr @simtime, align 8, !tbaa !15
  %7445 = add i64 %7444, 100
  store i64 %7445, ptr @simtime, align 8, !tbaa !15
  %7446 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7446, ptr noundef @.str.43)
  %7447 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7447, ptr noundef @.str.65)
  %7448 = load i64, ptr @simtime, align 8, !tbaa !15
  %7449 = add i64 %7448, 100
  store i64 %7449, ptr @simtime, align 8, !tbaa !15
  %7450 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7450, ptr noundef @.str.122)
  %7451 = load ptr, ptr %2, align 8, !tbaa !5
  %7452 = getelementptr inbounds %struct.PDP6, ptr %7451, i32 0, i32 28
  %7453 = load i64, ptr %7452, align 8, !tbaa !34
  %7454 = load ptr, ptr %2, align 8, !tbaa !5
  %7455 = getelementptr inbounds %struct.PDP6, ptr %7454, i32 0, i32 31
  store i64 %7453, ptr %7455, align 8, !tbaa !39
  br label %17859

7456:                                             ; preds = %17
  %7457 = load ptr, ptr %2, align 8, !tbaa !5
  %7458 = getelementptr inbounds %struct.PDP6, ptr %7457, i32 0, i32 28
  %7459 = load i64, ptr %7458, align 8, !tbaa !34
  %7460 = xor i64 %7459, 68719476735
  store i64 %7460, ptr %7458, align 8, !tbaa !34
  %7461 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7461, ptr noundef @.str.41)
  %7462 = load i64, ptr @simtime, align 8, !tbaa !15
  %7463 = add i64 %7462, 100
  store i64 %7463, ptr @simtime, align 8, !tbaa !15
  %7464 = load ptr, ptr %2, align 8, !tbaa !5
  %7465 = getelementptr inbounds %struct.PDP6, ptr %7464, i32 0, i32 31
  %7466 = load i64, ptr %7465, align 8, !tbaa !39
  %7467 = load ptr, ptr %2, align 8, !tbaa !5
  %7468 = getelementptr inbounds %struct.PDP6, ptr %7467, i32 0, i32 28
  %7469 = load i64, ptr %7468, align 8, !tbaa !34
  %7470 = or i64 %7469, %7466
  store i64 %7470, ptr %7468, align 8, !tbaa !34
  %7471 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7471, ptr noundef @.str.42)
  %7472 = load i64, ptr @simtime, align 8, !tbaa !15
  %7473 = add i64 %7472, 100
  store i64 %7473, ptr @simtime, align 8, !tbaa !15
  %7474 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7474, ptr noundef @.str.43)
  %7475 = load ptr, ptr %2, align 8, !tbaa !5
  %7476 = getelementptr inbounds %struct.PDP6, ptr %7475, i32 0, i32 28
  %7477 = load i64, ptr %7476, align 8, !tbaa !34
  %7478 = xor i64 %7477, 68719476735
  store i64 %7478, ptr %7476, align 8, !tbaa !34
  %7479 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7479, ptr noundef @.str.65)
  %7480 = load i64, ptr @simtime, align 8, !tbaa !15
  %7481 = add i64 %7480, 100
  store i64 %7481, ptr @simtime, align 8, !tbaa !15
  %7482 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7482, ptr noundef @.str.122)
  br label %17859

7483:                                             ; preds = %17
  %7484 = load ptr, ptr %2, align 8, !tbaa !5
  %7485 = getelementptr inbounds %struct.PDP6, ptr %7484, i32 0, i32 28
  %7486 = load i64, ptr %7485, align 8, !tbaa !34
  %7487 = xor i64 %7486, 68719476735
  store i64 %7487, ptr %7485, align 8, !tbaa !34
  %7488 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7488, ptr noundef @.str.41)
  %7489 = load i64, ptr @simtime, align 8, !tbaa !15
  %7490 = add i64 %7489, 100
  store i64 %7490, ptr @simtime, align 8, !tbaa !15
  %7491 = load ptr, ptr %2, align 8, !tbaa !5
  %7492 = getelementptr inbounds %struct.PDP6, ptr %7491, i32 0, i32 31
  %7493 = load i64, ptr %7492, align 8, !tbaa !39
  %7494 = load ptr, ptr %2, align 8, !tbaa !5
  %7495 = getelementptr inbounds %struct.PDP6, ptr %7494, i32 0, i32 28
  %7496 = load i64, ptr %7495, align 8, !tbaa !34
  %7497 = or i64 %7496, %7493
  store i64 %7497, ptr %7495, align 8, !tbaa !34
  %7498 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7498, ptr noundef @.str.42)
  %7499 = load i64, ptr @simtime, align 8, !tbaa !15
  %7500 = add i64 %7499, 100
  store i64 %7500, ptr @simtime, align 8, !tbaa !15
  %7501 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7501, ptr noundef @.str.43)
  %7502 = load ptr, ptr %2, align 8, !tbaa !5
  %7503 = getelementptr inbounds %struct.PDP6, ptr %7502, i32 0, i32 28
  %7504 = load i64, ptr %7503, align 8, !tbaa !34
  %7505 = xor i64 %7504, 68719476735
  store i64 %7505, ptr %7503, align 8, !tbaa !34
  %7506 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7506, ptr noundef @.str.65)
  %7507 = load i64, ptr @simtime, align 8, !tbaa !15
  %7508 = add i64 %7507, 100
  store i64 %7508, ptr @simtime, align 8, !tbaa !15
  %7509 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7509, ptr noundef @.str.122)
  br label %17859

7510:                                             ; preds = %17
  %7511 = load ptr, ptr %2, align 8, !tbaa !5
  %7512 = getelementptr inbounds %struct.PDP6, ptr %7511, i32 0, i32 28
  %7513 = load i64, ptr %7512, align 8, !tbaa !34
  %7514 = xor i64 %7513, 68719476735
  store i64 %7514, ptr %7512, align 8, !tbaa !34
  %7515 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7515, ptr noundef @.str.41)
  %7516 = load i64, ptr @simtime, align 8, !tbaa !15
  %7517 = add i64 %7516, 100
  store i64 %7517, ptr @simtime, align 8, !tbaa !15
  %7518 = load ptr, ptr %2, align 8, !tbaa !5
  %7519 = getelementptr inbounds %struct.PDP6, ptr %7518, i32 0, i32 31
  %7520 = load i64, ptr %7519, align 8, !tbaa !39
  %7521 = load ptr, ptr %2, align 8, !tbaa !5
  %7522 = getelementptr inbounds %struct.PDP6, ptr %7521, i32 0, i32 28
  %7523 = load i64, ptr %7522, align 8, !tbaa !34
  %7524 = or i64 %7523, %7520
  store i64 %7524, ptr %7522, align 8, !tbaa !34
  %7525 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7525, ptr noundef @.str.42)
  %7526 = load i64, ptr @simtime, align 8, !tbaa !15
  %7527 = add i64 %7526, 100
  store i64 %7527, ptr @simtime, align 8, !tbaa !15
  %7528 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7528, ptr noundef @.str.43)
  %7529 = load ptr, ptr %2, align 8, !tbaa !5
  %7530 = getelementptr inbounds %struct.PDP6, ptr %7529, i32 0, i32 28
  %7531 = load i64, ptr %7530, align 8, !tbaa !34
  %7532 = xor i64 %7531, 68719476735
  store i64 %7532, ptr %7530, align 8, !tbaa !34
  %7533 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7533, ptr noundef @.str.65)
  %7534 = load i64, ptr @simtime, align 8, !tbaa !15
  %7535 = add i64 %7534, 100
  store i64 %7535, ptr @simtime, align 8, !tbaa !15
  %7536 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7536, ptr noundef @.str.122)
  %7537 = load ptr, ptr %2, align 8, !tbaa !5
  %7538 = getelementptr inbounds %struct.PDP6, ptr %7537, i32 0, i32 28
  %7539 = load i64, ptr %7538, align 8, !tbaa !34
  %7540 = load ptr, ptr %2, align 8, !tbaa !5
  %7541 = getelementptr inbounds %struct.PDP6, ptr %7540, i32 0, i32 31
  store i64 %7539, ptr %7541, align 8, !tbaa !39
  br label %17859

7542:                                             ; preds = %17
  %7543 = load ptr, ptr %2, align 8, !tbaa !5
  %7544 = getelementptr inbounds %struct.PDP6, ptr %7543, i32 0, i32 28
  %7545 = load i64, ptr %7544, align 8, !tbaa !34
  %7546 = xor i64 %7545, 68719476735
  store i64 %7546, ptr %7544, align 8, !tbaa !34
  %7547 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7547, ptr noundef @.str.41)
  %7548 = load i64, ptr @simtime, align 8, !tbaa !15
  %7549 = add i64 %7548, 100
  store i64 %7549, ptr @simtime, align 8, !tbaa !15
  %7550 = load ptr, ptr %2, align 8, !tbaa !5
  %7551 = getelementptr inbounds %struct.PDP6, ptr %7550, i32 0, i32 31
  %7552 = load i64, ptr %7551, align 8, !tbaa !39
  %7553 = load ptr, ptr %2, align 8, !tbaa !5
  %7554 = getelementptr inbounds %struct.PDP6, ptr %7553, i32 0, i32 28
  %7555 = load i64, ptr %7554, align 8, !tbaa !34
  %7556 = or i64 %7555, %7552
  store i64 %7556, ptr %7554, align 8, !tbaa !34
  %7557 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7557, ptr noundef @.str.42)
  %7558 = load i64, ptr @simtime, align 8, !tbaa !15
  %7559 = add i64 %7558, 100
  store i64 %7559, ptr @simtime, align 8, !tbaa !15
  %7560 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7560, ptr noundef @.str.43)
  %7561 = load ptr, ptr %2, align 8, !tbaa !5
  %7562 = getelementptr inbounds %struct.PDP6, ptr %7561, i32 0, i32 28
  %7563 = load i64, ptr %7562, align 8, !tbaa !34
  %7564 = xor i64 %7563, 68719476735
  store i64 %7564, ptr %7562, align 8, !tbaa !34
  %7565 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7565, ptr noundef @.str.65)
  %7566 = load i64, ptr @simtime, align 8, !tbaa !15
  %7567 = add i64 %7566, 100
  store i64 %7567, ptr @simtime, align 8, !tbaa !15
  %7568 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7568, ptr noundef @.str.122)
  %7569 = load ptr, ptr %2, align 8, !tbaa !5
  %7570 = getelementptr inbounds %struct.PDP6, ptr %7569, i32 0, i32 28
  %7571 = load i64, ptr %7570, align 8, !tbaa !34
  %7572 = load ptr, ptr %2, align 8, !tbaa !5
  %7573 = getelementptr inbounds %struct.PDP6, ptr %7572, i32 0, i32 31
  store i64 %7571, ptr %7573, align 8, !tbaa !39
  br label %17859

7574:                                             ; preds = %17
  %7575 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7575, ptr noundef @.str.41)
  %7576 = load i64, ptr @simtime, align 8, !tbaa !15
  %7577 = add i64 %7576, 100
  store i64 %7577, ptr @simtime, align 8, !tbaa !15
  %7578 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7578, ptr noundef @.str.42)
  %7579 = load i64, ptr @simtime, align 8, !tbaa !15
  %7580 = add i64 %7579, 100
  store i64 %7580, ptr @simtime, align 8, !tbaa !15
  %7581 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7581, ptr noundef @.str.43)
  %7582 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7582, ptr noundef @.str.65)
  %7583 = load i64, ptr @simtime, align 8, !tbaa !15
  %7584 = add i64 %7583, 100
  store i64 %7584, ptr @simtime, align 8, !tbaa !15
  %7585 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7585, ptr noundef @.str.122)
  br label %17859

7586:                                             ; preds = %17
  %7587 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7587, ptr noundef @.str.41)
  %7588 = load i64, ptr @simtime, align 8, !tbaa !15
  %7589 = add i64 %7588, 100
  store i64 %7589, ptr @simtime, align 8, !tbaa !15
  %7590 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7590, ptr noundef @.str.42)
  %7591 = load i64, ptr @simtime, align 8, !tbaa !15
  %7592 = add i64 %7591, 100
  store i64 %7592, ptr @simtime, align 8, !tbaa !15
  %7593 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7593, ptr noundef @.str.43)
  %7594 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7594, ptr noundef @.str.65)
  %7595 = load i64, ptr @simtime, align 8, !tbaa !15
  %7596 = add i64 %7595, 100
  store i64 %7596, ptr @simtime, align 8, !tbaa !15
  %7597 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7597, ptr noundef @.str.122)
  br label %17859

7598:                                             ; preds = %17
  %7599 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7599, ptr noundef @.str.41)
  %7600 = load i64, ptr @simtime, align 8, !tbaa !15
  %7601 = add i64 %7600, 100
  store i64 %7601, ptr @simtime, align 8, !tbaa !15
  %7602 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7602, ptr noundef @.str.42)
  %7603 = load i64, ptr @simtime, align 8, !tbaa !15
  %7604 = add i64 %7603, 100
  store i64 %7604, ptr @simtime, align 8, !tbaa !15
  %7605 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7605, ptr noundef @.str.43)
  %7606 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7606, ptr noundef @.str.65)
  %7607 = load i64, ptr @simtime, align 8, !tbaa !15
  %7608 = add i64 %7607, 100
  store i64 %7608, ptr @simtime, align 8, !tbaa !15
  %7609 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7609, ptr noundef @.str.122)
  %7610 = load ptr, ptr %2, align 8, !tbaa !5
  %7611 = getelementptr inbounds %struct.PDP6, ptr %7610, i32 0, i32 28
  %7612 = load i64, ptr %7611, align 8, !tbaa !34
  %7613 = load ptr, ptr %2, align 8, !tbaa !5
  %7614 = getelementptr inbounds %struct.PDP6, ptr %7613, i32 0, i32 31
  store i64 %7612, ptr %7614, align 8, !tbaa !39
  br label %17859

7615:                                             ; preds = %17
  %7616 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7616, ptr noundef @.str.41)
  %7617 = load i64, ptr @simtime, align 8, !tbaa !15
  %7618 = add i64 %7617, 100
  store i64 %7618, ptr @simtime, align 8, !tbaa !15
  %7619 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7619, ptr noundef @.str.42)
  %7620 = load i64, ptr @simtime, align 8, !tbaa !15
  %7621 = add i64 %7620, 100
  store i64 %7621, ptr @simtime, align 8, !tbaa !15
  %7622 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7622, ptr noundef @.str.43)
  %7623 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7623, ptr noundef @.str.65)
  %7624 = load i64, ptr @simtime, align 8, !tbaa !15
  %7625 = add i64 %7624, 100
  store i64 %7625, ptr @simtime, align 8, !tbaa !15
  %7626 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7626, ptr noundef @.str.122)
  %7627 = load ptr, ptr %2, align 8, !tbaa !5
  %7628 = getelementptr inbounds %struct.PDP6, ptr %7627, i32 0, i32 28
  %7629 = load i64, ptr %7628, align 8, !tbaa !34
  %7630 = load ptr, ptr %2, align 8, !tbaa !5
  %7631 = getelementptr inbounds %struct.PDP6, ptr %7630, i32 0, i32 31
  store i64 %7629, ptr %7631, align 8, !tbaa !39
  br label %17859

7632:                                             ; preds = %17
  %7633 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7633, ptr noundef @.str.41)
  %7634 = load i64, ptr @simtime, align 8, !tbaa !15
  %7635 = add i64 %7634, 100
  store i64 %7635, ptr @simtime, align 8, !tbaa !15
  %7636 = load ptr, ptr %2, align 8, !tbaa !5
  %7637 = getelementptr inbounds %struct.PDP6, ptr %7636, i32 0, i32 31
  %7638 = load i64, ptr %7637, align 8, !tbaa !39
  %7639 = load ptr, ptr %2, align 8, !tbaa !5
  %7640 = getelementptr inbounds %struct.PDP6, ptr %7639, i32 0, i32 28
  %7641 = load i64, ptr %7640, align 8, !tbaa !34
  %7642 = xor i64 %7641, %7638
  store i64 %7642, ptr %7640, align 8, !tbaa !34
  %7643 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7643, ptr noundef @.str.42)
  %7644 = load i64, ptr @simtime, align 8, !tbaa !15
  %7645 = add i64 %7644, 100
  store i64 %7645, ptr @simtime, align 8, !tbaa !15
  %7646 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7646, ptr noundef @.str.43)
  %7647 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7647, ptr noundef @.str.65)
  %7648 = load i64, ptr @simtime, align 8, !tbaa !15
  %7649 = add i64 %7648, 100
  store i64 %7649, ptr @simtime, align 8, !tbaa !15
  %7650 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7650, ptr noundef @.str.122)
  br label %17859

7651:                                             ; preds = %17
  %7652 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7652, ptr noundef @.str.41)
  %7653 = load i64, ptr @simtime, align 8, !tbaa !15
  %7654 = add i64 %7653, 100
  store i64 %7654, ptr @simtime, align 8, !tbaa !15
  %7655 = load ptr, ptr %2, align 8, !tbaa !5
  %7656 = getelementptr inbounds %struct.PDP6, ptr %7655, i32 0, i32 31
  %7657 = load i64, ptr %7656, align 8, !tbaa !39
  %7658 = load ptr, ptr %2, align 8, !tbaa !5
  %7659 = getelementptr inbounds %struct.PDP6, ptr %7658, i32 0, i32 28
  %7660 = load i64, ptr %7659, align 8, !tbaa !34
  %7661 = xor i64 %7660, %7657
  store i64 %7661, ptr %7659, align 8, !tbaa !34
  %7662 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7662, ptr noundef @.str.42)
  %7663 = load i64, ptr @simtime, align 8, !tbaa !15
  %7664 = add i64 %7663, 100
  store i64 %7664, ptr @simtime, align 8, !tbaa !15
  %7665 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7665, ptr noundef @.str.43)
  %7666 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7666, ptr noundef @.str.65)
  %7667 = load i64, ptr @simtime, align 8, !tbaa !15
  %7668 = add i64 %7667, 100
  store i64 %7668, ptr @simtime, align 8, !tbaa !15
  %7669 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7669, ptr noundef @.str.122)
  br label %17859

7670:                                             ; preds = %17
  %7671 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7671, ptr noundef @.str.41)
  %7672 = load i64, ptr @simtime, align 8, !tbaa !15
  %7673 = add i64 %7672, 100
  store i64 %7673, ptr @simtime, align 8, !tbaa !15
  %7674 = load ptr, ptr %2, align 8, !tbaa !5
  %7675 = getelementptr inbounds %struct.PDP6, ptr %7674, i32 0, i32 31
  %7676 = load i64, ptr %7675, align 8, !tbaa !39
  %7677 = load ptr, ptr %2, align 8, !tbaa !5
  %7678 = getelementptr inbounds %struct.PDP6, ptr %7677, i32 0, i32 28
  %7679 = load i64, ptr %7678, align 8, !tbaa !34
  %7680 = xor i64 %7679, %7676
  store i64 %7680, ptr %7678, align 8, !tbaa !34
  %7681 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7681, ptr noundef @.str.42)
  %7682 = load i64, ptr @simtime, align 8, !tbaa !15
  %7683 = add i64 %7682, 100
  store i64 %7683, ptr @simtime, align 8, !tbaa !15
  %7684 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7684, ptr noundef @.str.43)
  %7685 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7685, ptr noundef @.str.65)
  %7686 = load i64, ptr @simtime, align 8, !tbaa !15
  %7687 = add i64 %7686, 100
  store i64 %7687, ptr @simtime, align 8, !tbaa !15
  %7688 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7688, ptr noundef @.str.122)
  %7689 = load ptr, ptr %2, align 8, !tbaa !5
  %7690 = getelementptr inbounds %struct.PDP6, ptr %7689, i32 0, i32 28
  %7691 = load i64, ptr %7690, align 8, !tbaa !34
  %7692 = load ptr, ptr %2, align 8, !tbaa !5
  %7693 = getelementptr inbounds %struct.PDP6, ptr %7692, i32 0, i32 31
  store i64 %7691, ptr %7693, align 8, !tbaa !39
  br label %17859

7694:                                             ; preds = %17
  %7695 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7695, ptr noundef @.str.41)
  %7696 = load i64, ptr @simtime, align 8, !tbaa !15
  %7697 = add i64 %7696, 100
  store i64 %7697, ptr @simtime, align 8, !tbaa !15
  %7698 = load ptr, ptr %2, align 8, !tbaa !5
  %7699 = getelementptr inbounds %struct.PDP6, ptr %7698, i32 0, i32 31
  %7700 = load i64, ptr %7699, align 8, !tbaa !39
  %7701 = load ptr, ptr %2, align 8, !tbaa !5
  %7702 = getelementptr inbounds %struct.PDP6, ptr %7701, i32 0, i32 28
  %7703 = load i64, ptr %7702, align 8, !tbaa !34
  %7704 = xor i64 %7703, %7700
  store i64 %7704, ptr %7702, align 8, !tbaa !34
  %7705 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7705, ptr noundef @.str.42)
  %7706 = load i64, ptr @simtime, align 8, !tbaa !15
  %7707 = add i64 %7706, 100
  store i64 %7707, ptr @simtime, align 8, !tbaa !15
  %7708 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7708, ptr noundef @.str.43)
  %7709 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7709, ptr noundef @.str.65)
  %7710 = load i64, ptr @simtime, align 8, !tbaa !15
  %7711 = add i64 %7710, 100
  store i64 %7711, ptr @simtime, align 8, !tbaa !15
  %7712 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7712, ptr noundef @.str.122)
  %7713 = load ptr, ptr %2, align 8, !tbaa !5
  %7714 = getelementptr inbounds %struct.PDP6, ptr %7713, i32 0, i32 28
  %7715 = load i64, ptr %7714, align 8, !tbaa !34
  %7716 = load ptr, ptr %2, align 8, !tbaa !5
  %7717 = getelementptr inbounds %struct.PDP6, ptr %7716, i32 0, i32 31
  store i64 %7715, ptr %7717, align 8, !tbaa !39
  br label %17859

7718:                                             ; preds = %17
  %7719 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7719, ptr noundef @.str.41)
  %7720 = load i64, ptr @simtime, align 8, !tbaa !15
  %7721 = add i64 %7720, 100
  store i64 %7721, ptr @simtime, align 8, !tbaa !15
  %7722 = load ptr, ptr %2, align 8, !tbaa !5
  %7723 = getelementptr inbounds %struct.PDP6, ptr %7722, i32 0, i32 31
  %7724 = load i64, ptr %7723, align 8, !tbaa !39
  %7725 = load ptr, ptr %2, align 8, !tbaa !5
  %7726 = getelementptr inbounds %struct.PDP6, ptr %7725, i32 0, i32 28
  %7727 = load i64, ptr %7726, align 8, !tbaa !34
  %7728 = or i64 %7727, %7724
  store i64 %7728, ptr %7726, align 8, !tbaa !34
  %7729 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7729, ptr noundef @.str.42)
  %7730 = load i64, ptr @simtime, align 8, !tbaa !15
  %7731 = add i64 %7730, 100
  store i64 %7731, ptr @simtime, align 8, !tbaa !15
  %7732 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7732, ptr noundef @.str.43)
  %7733 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7733, ptr noundef @.str.65)
  %7734 = load i64, ptr @simtime, align 8, !tbaa !15
  %7735 = add i64 %7734, 100
  store i64 %7735, ptr @simtime, align 8, !tbaa !15
  %7736 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7736, ptr noundef @.str.122)
  br label %17859

7737:                                             ; preds = %17
  %7738 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7738, ptr noundef @.str.41)
  %7739 = load i64, ptr @simtime, align 8, !tbaa !15
  %7740 = add i64 %7739, 100
  store i64 %7740, ptr @simtime, align 8, !tbaa !15
  %7741 = load ptr, ptr %2, align 8, !tbaa !5
  %7742 = getelementptr inbounds %struct.PDP6, ptr %7741, i32 0, i32 31
  %7743 = load i64, ptr %7742, align 8, !tbaa !39
  %7744 = load ptr, ptr %2, align 8, !tbaa !5
  %7745 = getelementptr inbounds %struct.PDP6, ptr %7744, i32 0, i32 28
  %7746 = load i64, ptr %7745, align 8, !tbaa !34
  %7747 = or i64 %7746, %7743
  store i64 %7747, ptr %7745, align 8, !tbaa !34
  %7748 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7748, ptr noundef @.str.42)
  %7749 = load i64, ptr @simtime, align 8, !tbaa !15
  %7750 = add i64 %7749, 100
  store i64 %7750, ptr @simtime, align 8, !tbaa !15
  %7751 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7751, ptr noundef @.str.43)
  %7752 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7752, ptr noundef @.str.65)
  %7753 = load i64, ptr @simtime, align 8, !tbaa !15
  %7754 = add i64 %7753, 100
  store i64 %7754, ptr @simtime, align 8, !tbaa !15
  %7755 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7755, ptr noundef @.str.122)
  br label %17859

7756:                                             ; preds = %17
  %7757 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7757, ptr noundef @.str.41)
  %7758 = load i64, ptr @simtime, align 8, !tbaa !15
  %7759 = add i64 %7758, 100
  store i64 %7759, ptr @simtime, align 8, !tbaa !15
  %7760 = load ptr, ptr %2, align 8, !tbaa !5
  %7761 = getelementptr inbounds %struct.PDP6, ptr %7760, i32 0, i32 31
  %7762 = load i64, ptr %7761, align 8, !tbaa !39
  %7763 = load ptr, ptr %2, align 8, !tbaa !5
  %7764 = getelementptr inbounds %struct.PDP6, ptr %7763, i32 0, i32 28
  %7765 = load i64, ptr %7764, align 8, !tbaa !34
  %7766 = or i64 %7765, %7762
  store i64 %7766, ptr %7764, align 8, !tbaa !34
  %7767 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7767, ptr noundef @.str.42)
  %7768 = load i64, ptr @simtime, align 8, !tbaa !15
  %7769 = add i64 %7768, 100
  store i64 %7769, ptr @simtime, align 8, !tbaa !15
  %7770 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7770, ptr noundef @.str.43)
  %7771 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7771, ptr noundef @.str.65)
  %7772 = load i64, ptr @simtime, align 8, !tbaa !15
  %7773 = add i64 %7772, 100
  store i64 %7773, ptr @simtime, align 8, !tbaa !15
  %7774 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7774, ptr noundef @.str.122)
  %7775 = load ptr, ptr %2, align 8, !tbaa !5
  %7776 = getelementptr inbounds %struct.PDP6, ptr %7775, i32 0, i32 28
  %7777 = load i64, ptr %7776, align 8, !tbaa !34
  %7778 = load ptr, ptr %2, align 8, !tbaa !5
  %7779 = getelementptr inbounds %struct.PDP6, ptr %7778, i32 0, i32 31
  store i64 %7777, ptr %7779, align 8, !tbaa !39
  br label %17859

7780:                                             ; preds = %17
  %7781 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7781, ptr noundef @.str.41)
  %7782 = load i64, ptr @simtime, align 8, !tbaa !15
  %7783 = add i64 %7782, 100
  store i64 %7783, ptr @simtime, align 8, !tbaa !15
  %7784 = load ptr, ptr %2, align 8, !tbaa !5
  %7785 = getelementptr inbounds %struct.PDP6, ptr %7784, i32 0, i32 31
  %7786 = load i64, ptr %7785, align 8, !tbaa !39
  %7787 = load ptr, ptr %2, align 8, !tbaa !5
  %7788 = getelementptr inbounds %struct.PDP6, ptr %7787, i32 0, i32 28
  %7789 = load i64, ptr %7788, align 8, !tbaa !34
  %7790 = or i64 %7789, %7786
  store i64 %7790, ptr %7788, align 8, !tbaa !34
  %7791 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7791, ptr noundef @.str.42)
  %7792 = load i64, ptr @simtime, align 8, !tbaa !15
  %7793 = add i64 %7792, 100
  store i64 %7793, ptr @simtime, align 8, !tbaa !15
  %7794 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7794, ptr noundef @.str.43)
  %7795 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7795, ptr noundef @.str.65)
  %7796 = load i64, ptr @simtime, align 8, !tbaa !15
  %7797 = add i64 %7796, 100
  store i64 %7797, ptr @simtime, align 8, !tbaa !15
  %7798 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7798, ptr noundef @.str.122)
  %7799 = load ptr, ptr %2, align 8, !tbaa !5
  %7800 = getelementptr inbounds %struct.PDP6, ptr %7799, i32 0, i32 28
  %7801 = load i64, ptr %7800, align 8, !tbaa !34
  %7802 = load ptr, ptr %2, align 8, !tbaa !5
  %7803 = getelementptr inbounds %struct.PDP6, ptr %7802, i32 0, i32 31
  store i64 %7801, ptr %7803, align 8, !tbaa !39
  br label %17859

7804:                                             ; preds = %17
  %7805 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7805, ptr noundef @.str.41)
  %7806 = load i64, ptr @simtime, align 8, !tbaa !15
  %7807 = add i64 %7806, 100
  store i64 %7807, ptr @simtime, align 8, !tbaa !15
  %7808 = load ptr, ptr %2, align 8, !tbaa !5
  %7809 = getelementptr inbounds %struct.PDP6, ptr %7808, i32 0, i32 31
  %7810 = load i64, ptr %7809, align 8, !tbaa !39
  %7811 = load ptr, ptr %2, align 8, !tbaa !5
  %7812 = getelementptr inbounds %struct.PDP6, ptr %7811, i32 0, i32 28
  %7813 = load i64, ptr %7812, align 8, !tbaa !34
  %7814 = or i64 %7813, %7810
  store i64 %7814, ptr %7812, align 8, !tbaa !34
  %7815 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7815, ptr noundef @.str.42)
  %7816 = load i64, ptr @simtime, align 8, !tbaa !15
  %7817 = add i64 %7816, 100
  store i64 %7817, ptr @simtime, align 8, !tbaa !15
  %7818 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7818, ptr noundef @.str.43)
  %7819 = load ptr, ptr %2, align 8, !tbaa !5
  %7820 = getelementptr inbounds %struct.PDP6, ptr %7819, i32 0, i32 28
  %7821 = load i64, ptr %7820, align 8, !tbaa !34
  %7822 = xor i64 %7821, 68719476735
  store i64 %7822, ptr %7820, align 8, !tbaa !34
  %7823 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7823, ptr noundef @.str.65)
  %7824 = load i64, ptr @simtime, align 8, !tbaa !15
  %7825 = add i64 %7824, 100
  store i64 %7825, ptr @simtime, align 8, !tbaa !15
  %7826 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7826, ptr noundef @.str.122)
  br label %17859

7827:                                             ; preds = %17
  %7828 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7828, ptr noundef @.str.41)
  %7829 = load i64, ptr @simtime, align 8, !tbaa !15
  %7830 = add i64 %7829, 100
  store i64 %7830, ptr @simtime, align 8, !tbaa !15
  %7831 = load ptr, ptr %2, align 8, !tbaa !5
  %7832 = getelementptr inbounds %struct.PDP6, ptr %7831, i32 0, i32 31
  %7833 = load i64, ptr %7832, align 8, !tbaa !39
  %7834 = load ptr, ptr %2, align 8, !tbaa !5
  %7835 = getelementptr inbounds %struct.PDP6, ptr %7834, i32 0, i32 28
  %7836 = load i64, ptr %7835, align 8, !tbaa !34
  %7837 = or i64 %7836, %7833
  store i64 %7837, ptr %7835, align 8, !tbaa !34
  %7838 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7838, ptr noundef @.str.42)
  %7839 = load i64, ptr @simtime, align 8, !tbaa !15
  %7840 = add i64 %7839, 100
  store i64 %7840, ptr @simtime, align 8, !tbaa !15
  %7841 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7841, ptr noundef @.str.43)
  %7842 = load ptr, ptr %2, align 8, !tbaa !5
  %7843 = getelementptr inbounds %struct.PDP6, ptr %7842, i32 0, i32 28
  %7844 = load i64, ptr %7843, align 8, !tbaa !34
  %7845 = xor i64 %7844, 68719476735
  store i64 %7845, ptr %7843, align 8, !tbaa !34
  %7846 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7846, ptr noundef @.str.65)
  %7847 = load i64, ptr @simtime, align 8, !tbaa !15
  %7848 = add i64 %7847, 100
  store i64 %7848, ptr @simtime, align 8, !tbaa !15
  %7849 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7849, ptr noundef @.str.122)
  br label %17859

7850:                                             ; preds = %17
  %7851 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7851, ptr noundef @.str.41)
  %7852 = load i64, ptr @simtime, align 8, !tbaa !15
  %7853 = add i64 %7852, 100
  store i64 %7853, ptr @simtime, align 8, !tbaa !15
  %7854 = load ptr, ptr %2, align 8, !tbaa !5
  %7855 = getelementptr inbounds %struct.PDP6, ptr %7854, i32 0, i32 31
  %7856 = load i64, ptr %7855, align 8, !tbaa !39
  %7857 = load ptr, ptr %2, align 8, !tbaa !5
  %7858 = getelementptr inbounds %struct.PDP6, ptr %7857, i32 0, i32 28
  %7859 = load i64, ptr %7858, align 8, !tbaa !34
  %7860 = or i64 %7859, %7856
  store i64 %7860, ptr %7858, align 8, !tbaa !34
  %7861 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7861, ptr noundef @.str.42)
  %7862 = load i64, ptr @simtime, align 8, !tbaa !15
  %7863 = add i64 %7862, 100
  store i64 %7863, ptr @simtime, align 8, !tbaa !15
  %7864 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7864, ptr noundef @.str.43)
  %7865 = load ptr, ptr %2, align 8, !tbaa !5
  %7866 = getelementptr inbounds %struct.PDP6, ptr %7865, i32 0, i32 28
  %7867 = load i64, ptr %7866, align 8, !tbaa !34
  %7868 = xor i64 %7867, 68719476735
  store i64 %7868, ptr %7866, align 8, !tbaa !34
  %7869 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7869, ptr noundef @.str.65)
  %7870 = load i64, ptr @simtime, align 8, !tbaa !15
  %7871 = add i64 %7870, 100
  store i64 %7871, ptr @simtime, align 8, !tbaa !15
  %7872 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7872, ptr noundef @.str.122)
  %7873 = load ptr, ptr %2, align 8, !tbaa !5
  %7874 = getelementptr inbounds %struct.PDP6, ptr %7873, i32 0, i32 28
  %7875 = load i64, ptr %7874, align 8, !tbaa !34
  %7876 = load ptr, ptr %2, align 8, !tbaa !5
  %7877 = getelementptr inbounds %struct.PDP6, ptr %7876, i32 0, i32 31
  store i64 %7875, ptr %7877, align 8, !tbaa !39
  br label %17859

7878:                                             ; preds = %17
  %7879 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7879, ptr noundef @.str.41)
  %7880 = load i64, ptr @simtime, align 8, !tbaa !15
  %7881 = add i64 %7880, 100
  store i64 %7881, ptr @simtime, align 8, !tbaa !15
  %7882 = load ptr, ptr %2, align 8, !tbaa !5
  %7883 = getelementptr inbounds %struct.PDP6, ptr %7882, i32 0, i32 31
  %7884 = load i64, ptr %7883, align 8, !tbaa !39
  %7885 = load ptr, ptr %2, align 8, !tbaa !5
  %7886 = getelementptr inbounds %struct.PDP6, ptr %7885, i32 0, i32 28
  %7887 = load i64, ptr %7886, align 8, !tbaa !34
  %7888 = or i64 %7887, %7884
  store i64 %7888, ptr %7886, align 8, !tbaa !34
  %7889 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7889, ptr noundef @.str.42)
  %7890 = load i64, ptr @simtime, align 8, !tbaa !15
  %7891 = add i64 %7890, 100
  store i64 %7891, ptr @simtime, align 8, !tbaa !15
  %7892 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7892, ptr noundef @.str.43)
  %7893 = load ptr, ptr %2, align 8, !tbaa !5
  %7894 = getelementptr inbounds %struct.PDP6, ptr %7893, i32 0, i32 28
  %7895 = load i64, ptr %7894, align 8, !tbaa !34
  %7896 = xor i64 %7895, 68719476735
  store i64 %7896, ptr %7894, align 8, !tbaa !34
  %7897 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7897, ptr noundef @.str.65)
  %7898 = load i64, ptr @simtime, align 8, !tbaa !15
  %7899 = add i64 %7898, 100
  store i64 %7899, ptr @simtime, align 8, !tbaa !15
  %7900 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7900, ptr noundef @.str.122)
  %7901 = load ptr, ptr %2, align 8, !tbaa !5
  %7902 = getelementptr inbounds %struct.PDP6, ptr %7901, i32 0, i32 28
  %7903 = load i64, ptr %7902, align 8, !tbaa !34
  %7904 = load ptr, ptr %2, align 8, !tbaa !5
  %7905 = getelementptr inbounds %struct.PDP6, ptr %7904, i32 0, i32 31
  store i64 %7903, ptr %7905, align 8, !tbaa !39
  br label %17859

7906:                                             ; preds = %17
  %7907 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7907, ptr noundef @.str.41)
  %7908 = load i64, ptr @simtime, align 8, !tbaa !15
  %7909 = add i64 %7908, 100
  store i64 %7909, ptr @simtime, align 8, !tbaa !15
  %7910 = load ptr, ptr %2, align 8, !tbaa !5
  %7911 = getelementptr inbounds %struct.PDP6, ptr %7910, i32 0, i32 31
  %7912 = load i64, ptr %7911, align 8, !tbaa !39
  %7913 = load ptr, ptr %2, align 8, !tbaa !5
  %7914 = getelementptr inbounds %struct.PDP6, ptr %7913, i32 0, i32 28
  %7915 = load i64, ptr %7914, align 8, !tbaa !34
  %7916 = xor i64 %7915, %7912
  store i64 %7916, ptr %7914, align 8, !tbaa !34
  %7917 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7917, ptr noundef @.str.42)
  %7918 = load i64, ptr @simtime, align 8, !tbaa !15
  %7919 = add i64 %7918, 100
  store i64 %7919, ptr @simtime, align 8, !tbaa !15
  %7920 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7920, ptr noundef @.str.43)
  %7921 = load ptr, ptr %2, align 8, !tbaa !5
  %7922 = getelementptr inbounds %struct.PDP6, ptr %7921, i32 0, i32 28
  %7923 = load i64, ptr %7922, align 8, !tbaa !34
  %7924 = xor i64 %7923, 68719476735
  store i64 %7924, ptr %7922, align 8, !tbaa !34
  %7925 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7925, ptr noundef @.str.65)
  %7926 = load i64, ptr @simtime, align 8, !tbaa !15
  %7927 = add i64 %7926, 100
  store i64 %7927, ptr @simtime, align 8, !tbaa !15
  %7928 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7928, ptr noundef @.str.122)
  br label %17859

7929:                                             ; preds = %17
  %7930 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7930, ptr noundef @.str.41)
  %7931 = load i64, ptr @simtime, align 8, !tbaa !15
  %7932 = add i64 %7931, 100
  store i64 %7932, ptr @simtime, align 8, !tbaa !15
  %7933 = load ptr, ptr %2, align 8, !tbaa !5
  %7934 = getelementptr inbounds %struct.PDP6, ptr %7933, i32 0, i32 31
  %7935 = load i64, ptr %7934, align 8, !tbaa !39
  %7936 = load ptr, ptr %2, align 8, !tbaa !5
  %7937 = getelementptr inbounds %struct.PDP6, ptr %7936, i32 0, i32 28
  %7938 = load i64, ptr %7937, align 8, !tbaa !34
  %7939 = xor i64 %7938, %7935
  store i64 %7939, ptr %7937, align 8, !tbaa !34
  %7940 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7940, ptr noundef @.str.42)
  %7941 = load i64, ptr @simtime, align 8, !tbaa !15
  %7942 = add i64 %7941, 100
  store i64 %7942, ptr @simtime, align 8, !tbaa !15
  %7943 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7943, ptr noundef @.str.43)
  %7944 = load ptr, ptr %2, align 8, !tbaa !5
  %7945 = getelementptr inbounds %struct.PDP6, ptr %7944, i32 0, i32 28
  %7946 = load i64, ptr %7945, align 8, !tbaa !34
  %7947 = xor i64 %7946, 68719476735
  store i64 %7947, ptr %7945, align 8, !tbaa !34
  %7948 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7948, ptr noundef @.str.65)
  %7949 = load i64, ptr @simtime, align 8, !tbaa !15
  %7950 = add i64 %7949, 100
  store i64 %7950, ptr @simtime, align 8, !tbaa !15
  %7951 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7951, ptr noundef @.str.122)
  br label %17859

7952:                                             ; preds = %17
  %7953 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7953, ptr noundef @.str.41)
  %7954 = load i64, ptr @simtime, align 8, !tbaa !15
  %7955 = add i64 %7954, 100
  store i64 %7955, ptr @simtime, align 8, !tbaa !15
  %7956 = load ptr, ptr %2, align 8, !tbaa !5
  %7957 = getelementptr inbounds %struct.PDP6, ptr %7956, i32 0, i32 31
  %7958 = load i64, ptr %7957, align 8, !tbaa !39
  %7959 = load ptr, ptr %2, align 8, !tbaa !5
  %7960 = getelementptr inbounds %struct.PDP6, ptr %7959, i32 0, i32 28
  %7961 = load i64, ptr %7960, align 8, !tbaa !34
  %7962 = xor i64 %7961, %7958
  store i64 %7962, ptr %7960, align 8, !tbaa !34
  %7963 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7963, ptr noundef @.str.42)
  %7964 = load i64, ptr @simtime, align 8, !tbaa !15
  %7965 = add i64 %7964, 100
  store i64 %7965, ptr @simtime, align 8, !tbaa !15
  %7966 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7966, ptr noundef @.str.43)
  %7967 = load ptr, ptr %2, align 8, !tbaa !5
  %7968 = getelementptr inbounds %struct.PDP6, ptr %7967, i32 0, i32 28
  %7969 = load i64, ptr %7968, align 8, !tbaa !34
  %7970 = xor i64 %7969, 68719476735
  store i64 %7970, ptr %7968, align 8, !tbaa !34
  %7971 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7971, ptr noundef @.str.65)
  %7972 = load i64, ptr @simtime, align 8, !tbaa !15
  %7973 = add i64 %7972, 100
  store i64 %7973, ptr @simtime, align 8, !tbaa !15
  %7974 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7974, ptr noundef @.str.122)
  %7975 = load ptr, ptr %2, align 8, !tbaa !5
  %7976 = getelementptr inbounds %struct.PDP6, ptr %7975, i32 0, i32 28
  %7977 = load i64, ptr %7976, align 8, !tbaa !34
  %7978 = load ptr, ptr %2, align 8, !tbaa !5
  %7979 = getelementptr inbounds %struct.PDP6, ptr %7978, i32 0, i32 31
  store i64 %7977, ptr %7979, align 8, !tbaa !39
  br label %17859

7980:                                             ; preds = %17
  %7981 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7981, ptr noundef @.str.41)
  %7982 = load i64, ptr @simtime, align 8, !tbaa !15
  %7983 = add i64 %7982, 100
  store i64 %7983, ptr @simtime, align 8, !tbaa !15
  %7984 = load ptr, ptr %2, align 8, !tbaa !5
  %7985 = getelementptr inbounds %struct.PDP6, ptr %7984, i32 0, i32 31
  %7986 = load i64, ptr %7985, align 8, !tbaa !39
  %7987 = load ptr, ptr %2, align 8, !tbaa !5
  %7988 = getelementptr inbounds %struct.PDP6, ptr %7987, i32 0, i32 28
  %7989 = load i64, ptr %7988, align 8, !tbaa !34
  %7990 = xor i64 %7989, %7986
  store i64 %7990, ptr %7988, align 8, !tbaa !34
  %7991 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7991, ptr noundef @.str.42)
  %7992 = load i64, ptr @simtime, align 8, !tbaa !15
  %7993 = add i64 %7992, 100
  store i64 %7993, ptr @simtime, align 8, !tbaa !15
  %7994 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7994, ptr noundef @.str.43)
  %7995 = load ptr, ptr %2, align 8, !tbaa !5
  %7996 = getelementptr inbounds %struct.PDP6, ptr %7995, i32 0, i32 28
  %7997 = load i64, ptr %7996, align 8, !tbaa !34
  %7998 = xor i64 %7997, 68719476735
  store i64 %7998, ptr %7996, align 8, !tbaa !34
  %7999 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %7999, ptr noundef @.str.65)
  %8000 = load i64, ptr @simtime, align 8, !tbaa !15
  %8001 = add i64 %8000, 100
  store i64 %8001, ptr @simtime, align 8, !tbaa !15
  %8002 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8002, ptr noundef @.str.122)
  %8003 = load ptr, ptr %2, align 8, !tbaa !5
  %8004 = getelementptr inbounds %struct.PDP6, ptr %8003, i32 0, i32 28
  %8005 = load i64, ptr %8004, align 8, !tbaa !34
  %8006 = load ptr, ptr %2, align 8, !tbaa !5
  %8007 = getelementptr inbounds %struct.PDP6, ptr %8006, i32 0, i32 31
  store i64 %8005, ptr %8007, align 8, !tbaa !39
  br label %17859

8008:                                             ; preds = %17
  %8009 = load ptr, ptr %2, align 8, !tbaa !5
  %8010 = getelementptr inbounds %struct.PDP6, ptr %8009, i32 0, i32 28
  %8011 = load i64, ptr %8010, align 8, !tbaa !34
  %8012 = xor i64 %8011, 68719476735
  store i64 %8012, ptr %8010, align 8, !tbaa !34
  %8013 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8013, ptr noundef @.str.41)
  %8014 = load i64, ptr @simtime, align 8, !tbaa !15
  %8015 = add i64 %8014, 100
  store i64 %8015, ptr @simtime, align 8, !tbaa !15
  %8016 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8016, ptr noundef @.str.42)
  %8017 = load i64, ptr @simtime, align 8, !tbaa !15
  %8018 = add i64 %8017, 100
  store i64 %8018, ptr @simtime, align 8, !tbaa !15
  %8019 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8019, ptr noundef @.str.43)
  %8020 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8020, ptr noundef @.str.65)
  %8021 = load i64, ptr @simtime, align 8, !tbaa !15
  %8022 = add i64 %8021, 100
  store i64 %8022, ptr @simtime, align 8, !tbaa !15
  %8023 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8023, ptr noundef @.str.122)
  br label %17859

8024:                                             ; preds = %17
  %8025 = load ptr, ptr %2, align 8, !tbaa !5
  %8026 = getelementptr inbounds %struct.PDP6, ptr %8025, i32 0, i32 28
  %8027 = load i64, ptr %8026, align 8, !tbaa !34
  %8028 = xor i64 %8027, 68719476735
  store i64 %8028, ptr %8026, align 8, !tbaa !34
  %8029 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8029, ptr noundef @.str.41)
  %8030 = load i64, ptr @simtime, align 8, !tbaa !15
  %8031 = add i64 %8030, 100
  store i64 %8031, ptr @simtime, align 8, !tbaa !15
  %8032 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8032, ptr noundef @.str.42)
  %8033 = load i64, ptr @simtime, align 8, !tbaa !15
  %8034 = add i64 %8033, 100
  store i64 %8034, ptr @simtime, align 8, !tbaa !15
  %8035 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8035, ptr noundef @.str.43)
  %8036 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8036, ptr noundef @.str.65)
  %8037 = load i64, ptr @simtime, align 8, !tbaa !15
  %8038 = add i64 %8037, 100
  store i64 %8038, ptr @simtime, align 8, !tbaa !15
  %8039 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8039, ptr noundef @.str.122)
  br label %17859

8040:                                             ; preds = %17
  %8041 = load ptr, ptr %2, align 8, !tbaa !5
  %8042 = getelementptr inbounds %struct.PDP6, ptr %8041, i32 0, i32 28
  %8043 = load i64, ptr %8042, align 8, !tbaa !34
  %8044 = xor i64 %8043, 68719476735
  store i64 %8044, ptr %8042, align 8, !tbaa !34
  %8045 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8045, ptr noundef @.str.41)
  %8046 = load i64, ptr @simtime, align 8, !tbaa !15
  %8047 = add i64 %8046, 100
  store i64 %8047, ptr @simtime, align 8, !tbaa !15
  %8048 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8048, ptr noundef @.str.42)
  %8049 = load i64, ptr @simtime, align 8, !tbaa !15
  %8050 = add i64 %8049, 100
  store i64 %8050, ptr @simtime, align 8, !tbaa !15
  %8051 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8051, ptr noundef @.str.43)
  %8052 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8052, ptr noundef @.str.65)
  %8053 = load i64, ptr @simtime, align 8, !tbaa !15
  %8054 = add i64 %8053, 100
  store i64 %8054, ptr @simtime, align 8, !tbaa !15
  %8055 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8055, ptr noundef @.str.122)
  %8056 = load ptr, ptr %2, align 8, !tbaa !5
  %8057 = getelementptr inbounds %struct.PDP6, ptr %8056, i32 0, i32 28
  %8058 = load i64, ptr %8057, align 8, !tbaa !34
  %8059 = load ptr, ptr %2, align 8, !tbaa !5
  %8060 = getelementptr inbounds %struct.PDP6, ptr %8059, i32 0, i32 31
  store i64 %8058, ptr %8060, align 8, !tbaa !39
  br label %17859

8061:                                             ; preds = %17
  %8062 = load ptr, ptr %2, align 8, !tbaa !5
  %8063 = getelementptr inbounds %struct.PDP6, ptr %8062, i32 0, i32 28
  %8064 = load i64, ptr %8063, align 8, !tbaa !34
  %8065 = xor i64 %8064, 68719476735
  store i64 %8065, ptr %8063, align 8, !tbaa !34
  %8066 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8066, ptr noundef @.str.41)
  %8067 = load i64, ptr @simtime, align 8, !tbaa !15
  %8068 = add i64 %8067, 100
  store i64 %8068, ptr @simtime, align 8, !tbaa !15
  %8069 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8069, ptr noundef @.str.42)
  %8070 = load i64, ptr @simtime, align 8, !tbaa !15
  %8071 = add i64 %8070, 100
  store i64 %8071, ptr @simtime, align 8, !tbaa !15
  %8072 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8072, ptr noundef @.str.43)
  %8073 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8073, ptr noundef @.str.65)
  %8074 = load i64, ptr @simtime, align 8, !tbaa !15
  %8075 = add i64 %8074, 100
  store i64 %8075, ptr @simtime, align 8, !tbaa !15
  %8076 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8076, ptr noundef @.str.122)
  %8077 = load ptr, ptr %2, align 8, !tbaa !5
  %8078 = getelementptr inbounds %struct.PDP6, ptr %8077, i32 0, i32 28
  %8079 = load i64, ptr %8078, align 8, !tbaa !34
  %8080 = load ptr, ptr %2, align 8, !tbaa !5
  %8081 = getelementptr inbounds %struct.PDP6, ptr %8080, i32 0, i32 31
  store i64 %8079, ptr %8081, align 8, !tbaa !39
  br label %17859

8082:                                             ; preds = %17
  %8083 = load ptr, ptr %2, align 8, !tbaa !5
  %8084 = getelementptr inbounds %struct.PDP6, ptr %8083, i32 0, i32 28
  %8085 = load i64, ptr %8084, align 8, !tbaa !34
  %8086 = xor i64 %8085, 68719476735
  store i64 %8086, ptr %8084, align 8, !tbaa !34
  %8087 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8087, ptr noundef @.str.41)
  %8088 = load i64, ptr @simtime, align 8, !tbaa !15
  %8089 = add i64 %8088, 100
  store i64 %8089, ptr @simtime, align 8, !tbaa !15
  %8090 = load ptr, ptr %2, align 8, !tbaa !5
  %8091 = getelementptr inbounds %struct.PDP6, ptr %8090, i32 0, i32 31
  %8092 = load i64, ptr %8091, align 8, !tbaa !39
  %8093 = load ptr, ptr %2, align 8, !tbaa !5
  %8094 = getelementptr inbounds %struct.PDP6, ptr %8093, i32 0, i32 28
  %8095 = load i64, ptr %8094, align 8, !tbaa !34
  %8096 = or i64 %8095, %8092
  store i64 %8096, ptr %8094, align 8, !tbaa !34
  %8097 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8097, ptr noundef @.str.42)
  %8098 = load i64, ptr @simtime, align 8, !tbaa !15
  %8099 = add i64 %8098, 100
  store i64 %8099, ptr @simtime, align 8, !tbaa !15
  %8100 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8100, ptr noundef @.str.43)
  %8101 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8101, ptr noundef @.str.65)
  %8102 = load i64, ptr @simtime, align 8, !tbaa !15
  %8103 = add i64 %8102, 100
  store i64 %8103, ptr @simtime, align 8, !tbaa !15
  %8104 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8104, ptr noundef @.str.122)
  br label %17859

8105:                                             ; preds = %17
  %8106 = load ptr, ptr %2, align 8, !tbaa !5
  %8107 = getelementptr inbounds %struct.PDP6, ptr %8106, i32 0, i32 28
  %8108 = load i64, ptr %8107, align 8, !tbaa !34
  %8109 = xor i64 %8108, 68719476735
  store i64 %8109, ptr %8107, align 8, !tbaa !34
  %8110 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8110, ptr noundef @.str.41)
  %8111 = load i64, ptr @simtime, align 8, !tbaa !15
  %8112 = add i64 %8111, 100
  store i64 %8112, ptr @simtime, align 8, !tbaa !15
  %8113 = load ptr, ptr %2, align 8, !tbaa !5
  %8114 = getelementptr inbounds %struct.PDP6, ptr %8113, i32 0, i32 31
  %8115 = load i64, ptr %8114, align 8, !tbaa !39
  %8116 = load ptr, ptr %2, align 8, !tbaa !5
  %8117 = getelementptr inbounds %struct.PDP6, ptr %8116, i32 0, i32 28
  %8118 = load i64, ptr %8117, align 8, !tbaa !34
  %8119 = or i64 %8118, %8115
  store i64 %8119, ptr %8117, align 8, !tbaa !34
  %8120 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8120, ptr noundef @.str.42)
  %8121 = load i64, ptr @simtime, align 8, !tbaa !15
  %8122 = add i64 %8121, 100
  store i64 %8122, ptr @simtime, align 8, !tbaa !15
  %8123 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8123, ptr noundef @.str.43)
  %8124 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8124, ptr noundef @.str.65)
  %8125 = load i64, ptr @simtime, align 8, !tbaa !15
  %8126 = add i64 %8125, 100
  store i64 %8126, ptr @simtime, align 8, !tbaa !15
  %8127 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8127, ptr noundef @.str.122)
  br label %17859

8128:                                             ; preds = %17
  %8129 = load ptr, ptr %2, align 8, !tbaa !5
  %8130 = getelementptr inbounds %struct.PDP6, ptr %8129, i32 0, i32 28
  %8131 = load i64, ptr %8130, align 8, !tbaa !34
  %8132 = xor i64 %8131, 68719476735
  store i64 %8132, ptr %8130, align 8, !tbaa !34
  %8133 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8133, ptr noundef @.str.41)
  %8134 = load i64, ptr @simtime, align 8, !tbaa !15
  %8135 = add i64 %8134, 100
  store i64 %8135, ptr @simtime, align 8, !tbaa !15
  %8136 = load ptr, ptr %2, align 8, !tbaa !5
  %8137 = getelementptr inbounds %struct.PDP6, ptr %8136, i32 0, i32 31
  %8138 = load i64, ptr %8137, align 8, !tbaa !39
  %8139 = load ptr, ptr %2, align 8, !tbaa !5
  %8140 = getelementptr inbounds %struct.PDP6, ptr %8139, i32 0, i32 28
  %8141 = load i64, ptr %8140, align 8, !tbaa !34
  %8142 = or i64 %8141, %8138
  store i64 %8142, ptr %8140, align 8, !tbaa !34
  %8143 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8143, ptr noundef @.str.42)
  %8144 = load i64, ptr @simtime, align 8, !tbaa !15
  %8145 = add i64 %8144, 100
  store i64 %8145, ptr @simtime, align 8, !tbaa !15
  %8146 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8146, ptr noundef @.str.43)
  %8147 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8147, ptr noundef @.str.65)
  %8148 = load i64, ptr @simtime, align 8, !tbaa !15
  %8149 = add i64 %8148, 100
  store i64 %8149, ptr @simtime, align 8, !tbaa !15
  %8150 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8150, ptr noundef @.str.122)
  %8151 = load ptr, ptr %2, align 8, !tbaa !5
  %8152 = getelementptr inbounds %struct.PDP6, ptr %8151, i32 0, i32 28
  %8153 = load i64, ptr %8152, align 8, !tbaa !34
  %8154 = load ptr, ptr %2, align 8, !tbaa !5
  %8155 = getelementptr inbounds %struct.PDP6, ptr %8154, i32 0, i32 31
  store i64 %8153, ptr %8155, align 8, !tbaa !39
  br label %17859

8156:                                             ; preds = %17
  %8157 = load ptr, ptr %2, align 8, !tbaa !5
  %8158 = getelementptr inbounds %struct.PDP6, ptr %8157, i32 0, i32 28
  %8159 = load i64, ptr %8158, align 8, !tbaa !34
  %8160 = xor i64 %8159, 68719476735
  store i64 %8160, ptr %8158, align 8, !tbaa !34
  %8161 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8161, ptr noundef @.str.41)
  %8162 = load i64, ptr @simtime, align 8, !tbaa !15
  %8163 = add i64 %8162, 100
  store i64 %8163, ptr @simtime, align 8, !tbaa !15
  %8164 = load ptr, ptr %2, align 8, !tbaa !5
  %8165 = getelementptr inbounds %struct.PDP6, ptr %8164, i32 0, i32 31
  %8166 = load i64, ptr %8165, align 8, !tbaa !39
  %8167 = load ptr, ptr %2, align 8, !tbaa !5
  %8168 = getelementptr inbounds %struct.PDP6, ptr %8167, i32 0, i32 28
  %8169 = load i64, ptr %8168, align 8, !tbaa !34
  %8170 = or i64 %8169, %8166
  store i64 %8170, ptr %8168, align 8, !tbaa !34
  %8171 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8171, ptr noundef @.str.42)
  %8172 = load i64, ptr @simtime, align 8, !tbaa !15
  %8173 = add i64 %8172, 100
  store i64 %8173, ptr @simtime, align 8, !tbaa !15
  %8174 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8174, ptr noundef @.str.43)
  %8175 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8175, ptr noundef @.str.65)
  %8176 = load i64, ptr @simtime, align 8, !tbaa !15
  %8177 = add i64 %8176, 100
  store i64 %8177, ptr @simtime, align 8, !tbaa !15
  %8178 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8178, ptr noundef @.str.122)
  %8179 = load ptr, ptr %2, align 8, !tbaa !5
  %8180 = getelementptr inbounds %struct.PDP6, ptr %8179, i32 0, i32 28
  %8181 = load i64, ptr %8180, align 8, !tbaa !34
  %8182 = load ptr, ptr %2, align 8, !tbaa !5
  %8183 = getelementptr inbounds %struct.PDP6, ptr %8182, i32 0, i32 31
  store i64 %8181, ptr %8183, align 8, !tbaa !39
  br label %17859

8184:                                             ; preds = %17
  %8185 = load ptr, ptr %2, align 8, !tbaa !5
  %8186 = getelementptr inbounds %struct.PDP6, ptr %8185, i32 0, i32 28
  store i64 0, ptr %8186, align 8, !tbaa !34
  %8187 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8187, ptr noundef @.str.41)
  %8188 = load i64, ptr @simtime, align 8, !tbaa !15
  %8189 = add i64 %8188, 100
  store i64 %8189, ptr @simtime, align 8, !tbaa !15
  %8190 = load ptr, ptr %2, align 8, !tbaa !5
  %8191 = getelementptr inbounds %struct.PDP6, ptr %8190, i32 0, i32 31
  %8192 = load i64, ptr %8191, align 8, !tbaa !39
  %8193 = load ptr, ptr %2, align 8, !tbaa !5
  %8194 = getelementptr inbounds %struct.PDP6, ptr %8193, i32 0, i32 28
  %8195 = load i64, ptr %8194, align 8, !tbaa !34
  %8196 = xor i64 %8195, %8192
  store i64 %8196, ptr %8194, align 8, !tbaa !34
  %8197 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8197, ptr noundef @.str.42)
  %8198 = load i64, ptr @simtime, align 8, !tbaa !15
  %8199 = add i64 %8198, 100
  store i64 %8199, ptr @simtime, align 8, !tbaa !15
  %8200 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8200, ptr noundef @.str.43)
  %8201 = load ptr, ptr %2, align 8, !tbaa !5
  %8202 = getelementptr inbounds %struct.PDP6, ptr %8201, i32 0, i32 28
  %8203 = load i64, ptr %8202, align 8, !tbaa !34
  %8204 = xor i64 %8203, 68719476735
  store i64 %8204, ptr %8202, align 8, !tbaa !34
  %8205 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8205, ptr noundef @.str.65)
  %8206 = load i64, ptr @simtime, align 8, !tbaa !15
  %8207 = add i64 %8206, 100
  store i64 %8207, ptr @simtime, align 8, !tbaa !15
  %8208 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8208, ptr noundef @.str.122)
  br label %17859

8209:                                             ; preds = %17
  %8210 = load ptr, ptr %2, align 8, !tbaa !5
  %8211 = getelementptr inbounds %struct.PDP6, ptr %8210, i32 0, i32 28
  store i64 0, ptr %8211, align 8, !tbaa !34
  %8212 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8212, ptr noundef @.str.41)
  %8213 = load i64, ptr @simtime, align 8, !tbaa !15
  %8214 = add i64 %8213, 100
  store i64 %8214, ptr @simtime, align 8, !tbaa !15
  %8215 = load ptr, ptr %2, align 8, !tbaa !5
  %8216 = getelementptr inbounds %struct.PDP6, ptr %8215, i32 0, i32 31
  %8217 = load i64, ptr %8216, align 8, !tbaa !39
  %8218 = load ptr, ptr %2, align 8, !tbaa !5
  %8219 = getelementptr inbounds %struct.PDP6, ptr %8218, i32 0, i32 28
  %8220 = load i64, ptr %8219, align 8, !tbaa !34
  %8221 = xor i64 %8220, %8217
  store i64 %8221, ptr %8219, align 8, !tbaa !34
  %8222 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8222, ptr noundef @.str.42)
  %8223 = load i64, ptr @simtime, align 8, !tbaa !15
  %8224 = add i64 %8223, 100
  store i64 %8224, ptr @simtime, align 8, !tbaa !15
  %8225 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8225, ptr noundef @.str.43)
  %8226 = load ptr, ptr %2, align 8, !tbaa !5
  %8227 = getelementptr inbounds %struct.PDP6, ptr %8226, i32 0, i32 28
  %8228 = load i64, ptr %8227, align 8, !tbaa !34
  %8229 = xor i64 %8228, 68719476735
  store i64 %8229, ptr %8227, align 8, !tbaa !34
  %8230 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8230, ptr noundef @.str.65)
  %8231 = load i64, ptr @simtime, align 8, !tbaa !15
  %8232 = add i64 %8231, 100
  store i64 %8232, ptr @simtime, align 8, !tbaa !15
  %8233 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8233, ptr noundef @.str.122)
  br label %17859

8234:                                             ; preds = %17
  %8235 = load ptr, ptr %2, align 8, !tbaa !5
  %8236 = getelementptr inbounds %struct.PDP6, ptr %8235, i32 0, i32 28
  store i64 0, ptr %8236, align 8, !tbaa !34
  %8237 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8237, ptr noundef @.str.41)
  %8238 = load i64, ptr @simtime, align 8, !tbaa !15
  %8239 = add i64 %8238, 100
  store i64 %8239, ptr @simtime, align 8, !tbaa !15
  %8240 = load ptr, ptr %2, align 8, !tbaa !5
  %8241 = getelementptr inbounds %struct.PDP6, ptr %8240, i32 0, i32 31
  %8242 = load i64, ptr %8241, align 8, !tbaa !39
  %8243 = load ptr, ptr %2, align 8, !tbaa !5
  %8244 = getelementptr inbounds %struct.PDP6, ptr %8243, i32 0, i32 28
  %8245 = load i64, ptr %8244, align 8, !tbaa !34
  %8246 = xor i64 %8245, %8242
  store i64 %8246, ptr %8244, align 8, !tbaa !34
  %8247 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8247, ptr noundef @.str.42)
  %8248 = load i64, ptr @simtime, align 8, !tbaa !15
  %8249 = add i64 %8248, 100
  store i64 %8249, ptr @simtime, align 8, !tbaa !15
  %8250 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8250, ptr noundef @.str.43)
  %8251 = load ptr, ptr %2, align 8, !tbaa !5
  %8252 = getelementptr inbounds %struct.PDP6, ptr %8251, i32 0, i32 28
  %8253 = load i64, ptr %8252, align 8, !tbaa !34
  %8254 = xor i64 %8253, 68719476735
  store i64 %8254, ptr %8252, align 8, !tbaa !34
  %8255 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8255, ptr noundef @.str.65)
  %8256 = load i64, ptr @simtime, align 8, !tbaa !15
  %8257 = add i64 %8256, 100
  store i64 %8257, ptr @simtime, align 8, !tbaa !15
  %8258 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8258, ptr noundef @.str.122)
  %8259 = load ptr, ptr %2, align 8, !tbaa !5
  %8260 = getelementptr inbounds %struct.PDP6, ptr %8259, i32 0, i32 28
  %8261 = load i64, ptr %8260, align 8, !tbaa !34
  %8262 = load ptr, ptr %2, align 8, !tbaa !5
  %8263 = getelementptr inbounds %struct.PDP6, ptr %8262, i32 0, i32 31
  store i64 %8261, ptr %8263, align 8, !tbaa !39
  br label %17859

8264:                                             ; preds = %17
  %8265 = load ptr, ptr %2, align 8, !tbaa !5
  %8266 = getelementptr inbounds %struct.PDP6, ptr %8265, i32 0, i32 28
  store i64 0, ptr %8266, align 8, !tbaa !34
  %8267 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8267, ptr noundef @.str.41)
  %8268 = load i64, ptr @simtime, align 8, !tbaa !15
  %8269 = add i64 %8268, 100
  store i64 %8269, ptr @simtime, align 8, !tbaa !15
  %8270 = load ptr, ptr %2, align 8, !tbaa !5
  %8271 = getelementptr inbounds %struct.PDP6, ptr %8270, i32 0, i32 31
  %8272 = load i64, ptr %8271, align 8, !tbaa !39
  %8273 = load ptr, ptr %2, align 8, !tbaa !5
  %8274 = getelementptr inbounds %struct.PDP6, ptr %8273, i32 0, i32 28
  %8275 = load i64, ptr %8274, align 8, !tbaa !34
  %8276 = xor i64 %8275, %8272
  store i64 %8276, ptr %8274, align 8, !tbaa !34
  %8277 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8277, ptr noundef @.str.42)
  %8278 = load i64, ptr @simtime, align 8, !tbaa !15
  %8279 = add i64 %8278, 100
  store i64 %8279, ptr @simtime, align 8, !tbaa !15
  %8280 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8280, ptr noundef @.str.43)
  %8281 = load ptr, ptr %2, align 8, !tbaa !5
  %8282 = getelementptr inbounds %struct.PDP6, ptr %8281, i32 0, i32 28
  %8283 = load i64, ptr %8282, align 8, !tbaa !34
  %8284 = xor i64 %8283, 68719476735
  store i64 %8284, ptr %8282, align 8, !tbaa !34
  %8285 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8285, ptr noundef @.str.65)
  %8286 = load i64, ptr @simtime, align 8, !tbaa !15
  %8287 = add i64 %8286, 100
  store i64 %8287, ptr @simtime, align 8, !tbaa !15
  %8288 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8288, ptr noundef @.str.122)
  %8289 = load ptr, ptr %2, align 8, !tbaa !5
  %8290 = getelementptr inbounds %struct.PDP6, ptr %8289, i32 0, i32 28
  %8291 = load i64, ptr %8290, align 8, !tbaa !34
  %8292 = load ptr, ptr %2, align 8, !tbaa !5
  %8293 = getelementptr inbounds %struct.PDP6, ptr %8292, i32 0, i32 31
  store i64 %8291, ptr %8293, align 8, !tbaa !39
  br label %17859

8294:                                             ; preds = %17
  %8295 = load ptr, ptr %2, align 8, !tbaa !5
  %8296 = getelementptr inbounds %struct.PDP6, ptr %8295, i32 0, i32 28
  %8297 = load i64, ptr %8296, align 8, !tbaa !34
  %8298 = xor i64 %8297, 68719476735
  store i64 %8298, ptr %8296, align 8, !tbaa !34
  %8299 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8299, ptr noundef @.str.41)
  %8300 = load i64, ptr @simtime, align 8, !tbaa !15
  %8301 = add i64 %8300, 100
  store i64 %8301, ptr @simtime, align 8, !tbaa !15
  %8302 = load ptr, ptr %2, align 8, !tbaa !5
  %8303 = getelementptr inbounds %struct.PDP6, ptr %8302, i32 0, i32 31
  %8304 = load i64, ptr %8303, align 8, !tbaa !39
  %8305 = load ptr, ptr %2, align 8, !tbaa !5
  %8306 = getelementptr inbounds %struct.PDP6, ptr %8305, i32 0, i32 28
  %8307 = load i64, ptr %8306, align 8, !tbaa !34
  %8308 = and i64 %8307, %8304
  store i64 %8308, ptr %8306, align 8, !tbaa !34
  %8309 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8309, ptr noundef @.str.42)
  %8310 = load i64, ptr @simtime, align 8, !tbaa !15
  %8311 = add i64 %8310, 100
  store i64 %8311, ptr @simtime, align 8, !tbaa !15
  %8312 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8312, ptr noundef @.str.43)
  %8313 = load ptr, ptr %2, align 8, !tbaa !5
  %8314 = getelementptr inbounds %struct.PDP6, ptr %8313, i32 0, i32 28
  %8315 = load i64, ptr %8314, align 8, !tbaa !34
  %8316 = xor i64 %8315, 68719476735
  store i64 %8316, ptr %8314, align 8, !tbaa !34
  %8317 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8317, ptr noundef @.str.65)
  %8318 = load i64, ptr @simtime, align 8, !tbaa !15
  %8319 = add i64 %8318, 100
  store i64 %8319, ptr @simtime, align 8, !tbaa !15
  %8320 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8320, ptr noundef @.str.122)
  br label %17859

8321:                                             ; preds = %17
  %8322 = load ptr, ptr %2, align 8, !tbaa !5
  %8323 = getelementptr inbounds %struct.PDP6, ptr %8322, i32 0, i32 28
  %8324 = load i64, ptr %8323, align 8, !tbaa !34
  %8325 = xor i64 %8324, 68719476735
  store i64 %8325, ptr %8323, align 8, !tbaa !34
  %8326 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8326, ptr noundef @.str.41)
  %8327 = load i64, ptr @simtime, align 8, !tbaa !15
  %8328 = add i64 %8327, 100
  store i64 %8328, ptr @simtime, align 8, !tbaa !15
  %8329 = load ptr, ptr %2, align 8, !tbaa !5
  %8330 = getelementptr inbounds %struct.PDP6, ptr %8329, i32 0, i32 31
  %8331 = load i64, ptr %8330, align 8, !tbaa !39
  %8332 = load ptr, ptr %2, align 8, !tbaa !5
  %8333 = getelementptr inbounds %struct.PDP6, ptr %8332, i32 0, i32 28
  %8334 = load i64, ptr %8333, align 8, !tbaa !34
  %8335 = and i64 %8334, %8331
  store i64 %8335, ptr %8333, align 8, !tbaa !34
  %8336 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8336, ptr noundef @.str.42)
  %8337 = load i64, ptr @simtime, align 8, !tbaa !15
  %8338 = add i64 %8337, 100
  store i64 %8338, ptr @simtime, align 8, !tbaa !15
  %8339 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8339, ptr noundef @.str.43)
  %8340 = load ptr, ptr %2, align 8, !tbaa !5
  %8341 = getelementptr inbounds %struct.PDP6, ptr %8340, i32 0, i32 28
  %8342 = load i64, ptr %8341, align 8, !tbaa !34
  %8343 = xor i64 %8342, 68719476735
  store i64 %8343, ptr %8341, align 8, !tbaa !34
  %8344 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8344, ptr noundef @.str.65)
  %8345 = load i64, ptr @simtime, align 8, !tbaa !15
  %8346 = add i64 %8345, 100
  store i64 %8346, ptr @simtime, align 8, !tbaa !15
  %8347 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8347, ptr noundef @.str.122)
  br label %17859

8348:                                             ; preds = %17
  %8349 = load ptr, ptr %2, align 8, !tbaa !5
  %8350 = getelementptr inbounds %struct.PDP6, ptr %8349, i32 0, i32 28
  %8351 = load i64, ptr %8350, align 8, !tbaa !34
  %8352 = xor i64 %8351, 68719476735
  store i64 %8352, ptr %8350, align 8, !tbaa !34
  %8353 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8353, ptr noundef @.str.41)
  %8354 = load i64, ptr @simtime, align 8, !tbaa !15
  %8355 = add i64 %8354, 100
  store i64 %8355, ptr @simtime, align 8, !tbaa !15
  %8356 = load ptr, ptr %2, align 8, !tbaa !5
  %8357 = getelementptr inbounds %struct.PDP6, ptr %8356, i32 0, i32 31
  %8358 = load i64, ptr %8357, align 8, !tbaa !39
  %8359 = load ptr, ptr %2, align 8, !tbaa !5
  %8360 = getelementptr inbounds %struct.PDP6, ptr %8359, i32 0, i32 28
  %8361 = load i64, ptr %8360, align 8, !tbaa !34
  %8362 = and i64 %8361, %8358
  store i64 %8362, ptr %8360, align 8, !tbaa !34
  %8363 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8363, ptr noundef @.str.42)
  %8364 = load i64, ptr @simtime, align 8, !tbaa !15
  %8365 = add i64 %8364, 100
  store i64 %8365, ptr @simtime, align 8, !tbaa !15
  %8366 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8366, ptr noundef @.str.43)
  %8367 = load ptr, ptr %2, align 8, !tbaa !5
  %8368 = getelementptr inbounds %struct.PDP6, ptr %8367, i32 0, i32 28
  %8369 = load i64, ptr %8368, align 8, !tbaa !34
  %8370 = xor i64 %8369, 68719476735
  store i64 %8370, ptr %8368, align 8, !tbaa !34
  %8371 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8371, ptr noundef @.str.65)
  %8372 = load i64, ptr @simtime, align 8, !tbaa !15
  %8373 = add i64 %8372, 100
  store i64 %8373, ptr @simtime, align 8, !tbaa !15
  %8374 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8374, ptr noundef @.str.122)
  %8375 = load ptr, ptr %2, align 8, !tbaa !5
  %8376 = getelementptr inbounds %struct.PDP6, ptr %8375, i32 0, i32 28
  %8377 = load i64, ptr %8376, align 8, !tbaa !34
  %8378 = load ptr, ptr %2, align 8, !tbaa !5
  %8379 = getelementptr inbounds %struct.PDP6, ptr %8378, i32 0, i32 31
  store i64 %8377, ptr %8379, align 8, !tbaa !39
  br label %17859

8380:                                             ; preds = %17
  %8381 = load ptr, ptr %2, align 8, !tbaa !5
  %8382 = getelementptr inbounds %struct.PDP6, ptr %8381, i32 0, i32 28
  %8383 = load i64, ptr %8382, align 8, !tbaa !34
  %8384 = xor i64 %8383, 68719476735
  store i64 %8384, ptr %8382, align 8, !tbaa !34
  %8385 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8385, ptr noundef @.str.41)
  %8386 = load i64, ptr @simtime, align 8, !tbaa !15
  %8387 = add i64 %8386, 100
  store i64 %8387, ptr @simtime, align 8, !tbaa !15
  %8388 = load ptr, ptr %2, align 8, !tbaa !5
  %8389 = getelementptr inbounds %struct.PDP6, ptr %8388, i32 0, i32 31
  %8390 = load i64, ptr %8389, align 8, !tbaa !39
  %8391 = load ptr, ptr %2, align 8, !tbaa !5
  %8392 = getelementptr inbounds %struct.PDP6, ptr %8391, i32 0, i32 28
  %8393 = load i64, ptr %8392, align 8, !tbaa !34
  %8394 = and i64 %8393, %8390
  store i64 %8394, ptr %8392, align 8, !tbaa !34
  %8395 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8395, ptr noundef @.str.42)
  %8396 = load i64, ptr @simtime, align 8, !tbaa !15
  %8397 = add i64 %8396, 100
  store i64 %8397, ptr @simtime, align 8, !tbaa !15
  %8398 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8398, ptr noundef @.str.43)
  %8399 = load ptr, ptr %2, align 8, !tbaa !5
  %8400 = getelementptr inbounds %struct.PDP6, ptr %8399, i32 0, i32 28
  %8401 = load i64, ptr %8400, align 8, !tbaa !34
  %8402 = xor i64 %8401, 68719476735
  store i64 %8402, ptr %8400, align 8, !tbaa !34
  %8403 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8403, ptr noundef @.str.65)
  %8404 = load i64, ptr @simtime, align 8, !tbaa !15
  %8405 = add i64 %8404, 100
  store i64 %8405, ptr @simtime, align 8, !tbaa !15
  %8406 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8406, ptr noundef @.str.122)
  %8407 = load ptr, ptr %2, align 8, !tbaa !5
  %8408 = getelementptr inbounds %struct.PDP6, ptr %8407, i32 0, i32 28
  %8409 = load i64, ptr %8408, align 8, !tbaa !34
  %8410 = load ptr, ptr %2, align 8, !tbaa !5
  %8411 = getelementptr inbounds %struct.PDP6, ptr %8410, i32 0, i32 31
  store i64 %8409, ptr %8411, align 8, !tbaa !39
  br label %17859

8412:                                             ; preds = %17
  %8413 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8413, ptr noundef @.str.41)
  %8414 = load i64, ptr @simtime, align 8, !tbaa !15
  %8415 = add i64 %8414, 100
  store i64 %8415, ptr @simtime, align 8, !tbaa !15
  %8416 = load ptr, ptr %2, align 8, !tbaa !5
  %8417 = getelementptr inbounds %struct.PDP6, ptr %8416, i32 0, i32 31
  %8418 = load i64, ptr %8417, align 8, !tbaa !39
  %8419 = load ptr, ptr %2, align 8, !tbaa !5
  %8420 = getelementptr inbounds %struct.PDP6, ptr %8419, i32 0, i32 28
  %8421 = load i64, ptr %8420, align 8, !tbaa !34
  %8422 = and i64 %8421, %8418
  store i64 %8422, ptr %8420, align 8, !tbaa !34
  %8423 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8423, ptr noundef @.str.42)
  %8424 = load i64, ptr @simtime, align 8, !tbaa !15
  %8425 = add i64 %8424, 100
  store i64 %8425, ptr @simtime, align 8, !tbaa !15
  %8426 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8426, ptr noundef @.str.43)
  %8427 = load ptr, ptr %2, align 8, !tbaa !5
  %8428 = getelementptr inbounds %struct.PDP6, ptr %8427, i32 0, i32 28
  %8429 = load i64, ptr %8428, align 8, !tbaa !34
  %8430 = xor i64 %8429, 68719476735
  store i64 %8430, ptr %8428, align 8, !tbaa !34
  %8431 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8431, ptr noundef @.str.65)
  %8432 = load i64, ptr @simtime, align 8, !tbaa !15
  %8433 = add i64 %8432, 100
  store i64 %8433, ptr @simtime, align 8, !tbaa !15
  %8434 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8434, ptr noundef @.str.122)
  br label %17859

8435:                                             ; preds = %17
  %8436 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8436, ptr noundef @.str.41)
  %8437 = load i64, ptr @simtime, align 8, !tbaa !15
  %8438 = add i64 %8437, 100
  store i64 %8438, ptr @simtime, align 8, !tbaa !15
  %8439 = load ptr, ptr %2, align 8, !tbaa !5
  %8440 = getelementptr inbounds %struct.PDP6, ptr %8439, i32 0, i32 31
  %8441 = load i64, ptr %8440, align 8, !tbaa !39
  %8442 = load ptr, ptr %2, align 8, !tbaa !5
  %8443 = getelementptr inbounds %struct.PDP6, ptr %8442, i32 0, i32 28
  %8444 = load i64, ptr %8443, align 8, !tbaa !34
  %8445 = and i64 %8444, %8441
  store i64 %8445, ptr %8443, align 8, !tbaa !34
  %8446 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8446, ptr noundef @.str.42)
  %8447 = load i64, ptr @simtime, align 8, !tbaa !15
  %8448 = add i64 %8447, 100
  store i64 %8448, ptr @simtime, align 8, !tbaa !15
  %8449 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8449, ptr noundef @.str.43)
  %8450 = load ptr, ptr %2, align 8, !tbaa !5
  %8451 = getelementptr inbounds %struct.PDP6, ptr %8450, i32 0, i32 28
  %8452 = load i64, ptr %8451, align 8, !tbaa !34
  %8453 = xor i64 %8452, 68719476735
  store i64 %8453, ptr %8451, align 8, !tbaa !34
  %8454 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8454, ptr noundef @.str.65)
  %8455 = load i64, ptr @simtime, align 8, !tbaa !15
  %8456 = add i64 %8455, 100
  store i64 %8456, ptr @simtime, align 8, !tbaa !15
  %8457 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8457, ptr noundef @.str.122)
  br label %17859

8458:                                             ; preds = %17
  %8459 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8459, ptr noundef @.str.41)
  %8460 = load i64, ptr @simtime, align 8, !tbaa !15
  %8461 = add i64 %8460, 100
  store i64 %8461, ptr @simtime, align 8, !tbaa !15
  %8462 = load ptr, ptr %2, align 8, !tbaa !5
  %8463 = getelementptr inbounds %struct.PDP6, ptr %8462, i32 0, i32 31
  %8464 = load i64, ptr %8463, align 8, !tbaa !39
  %8465 = load ptr, ptr %2, align 8, !tbaa !5
  %8466 = getelementptr inbounds %struct.PDP6, ptr %8465, i32 0, i32 28
  %8467 = load i64, ptr %8466, align 8, !tbaa !34
  %8468 = and i64 %8467, %8464
  store i64 %8468, ptr %8466, align 8, !tbaa !34
  %8469 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8469, ptr noundef @.str.42)
  %8470 = load i64, ptr @simtime, align 8, !tbaa !15
  %8471 = add i64 %8470, 100
  store i64 %8471, ptr @simtime, align 8, !tbaa !15
  %8472 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8472, ptr noundef @.str.43)
  %8473 = load ptr, ptr %2, align 8, !tbaa !5
  %8474 = getelementptr inbounds %struct.PDP6, ptr %8473, i32 0, i32 28
  %8475 = load i64, ptr %8474, align 8, !tbaa !34
  %8476 = xor i64 %8475, 68719476735
  store i64 %8476, ptr %8474, align 8, !tbaa !34
  %8477 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8477, ptr noundef @.str.65)
  %8478 = load i64, ptr @simtime, align 8, !tbaa !15
  %8479 = add i64 %8478, 100
  store i64 %8479, ptr @simtime, align 8, !tbaa !15
  %8480 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8480, ptr noundef @.str.122)
  %8481 = load ptr, ptr %2, align 8, !tbaa !5
  %8482 = getelementptr inbounds %struct.PDP6, ptr %8481, i32 0, i32 28
  %8483 = load i64, ptr %8482, align 8, !tbaa !34
  %8484 = load ptr, ptr %2, align 8, !tbaa !5
  %8485 = getelementptr inbounds %struct.PDP6, ptr %8484, i32 0, i32 31
  store i64 %8483, ptr %8485, align 8, !tbaa !39
  br label %17859

8486:                                             ; preds = %17
  %8487 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8487, ptr noundef @.str.41)
  %8488 = load i64, ptr @simtime, align 8, !tbaa !15
  %8489 = add i64 %8488, 100
  store i64 %8489, ptr @simtime, align 8, !tbaa !15
  %8490 = load ptr, ptr %2, align 8, !tbaa !5
  %8491 = getelementptr inbounds %struct.PDP6, ptr %8490, i32 0, i32 31
  %8492 = load i64, ptr %8491, align 8, !tbaa !39
  %8493 = load ptr, ptr %2, align 8, !tbaa !5
  %8494 = getelementptr inbounds %struct.PDP6, ptr %8493, i32 0, i32 28
  %8495 = load i64, ptr %8494, align 8, !tbaa !34
  %8496 = and i64 %8495, %8492
  store i64 %8496, ptr %8494, align 8, !tbaa !34
  %8497 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8497, ptr noundef @.str.42)
  %8498 = load i64, ptr @simtime, align 8, !tbaa !15
  %8499 = add i64 %8498, 100
  store i64 %8499, ptr @simtime, align 8, !tbaa !15
  %8500 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8500, ptr noundef @.str.43)
  %8501 = load ptr, ptr %2, align 8, !tbaa !5
  %8502 = getelementptr inbounds %struct.PDP6, ptr %8501, i32 0, i32 28
  %8503 = load i64, ptr %8502, align 8, !tbaa !34
  %8504 = xor i64 %8503, 68719476735
  store i64 %8504, ptr %8502, align 8, !tbaa !34
  %8505 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8505, ptr noundef @.str.65)
  %8506 = load i64, ptr @simtime, align 8, !tbaa !15
  %8507 = add i64 %8506, 100
  store i64 %8507, ptr @simtime, align 8, !tbaa !15
  %8508 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8508, ptr noundef @.str.122)
  %8509 = load ptr, ptr %2, align 8, !tbaa !5
  %8510 = getelementptr inbounds %struct.PDP6, ptr %8509, i32 0, i32 28
  %8511 = load i64, ptr %8510, align 8, !tbaa !34
  %8512 = load ptr, ptr %2, align 8, !tbaa !5
  %8513 = getelementptr inbounds %struct.PDP6, ptr %8512, i32 0, i32 31
  store i64 %8511, ptr %8513, align 8, !tbaa !39
  br label %17859

8514:                                             ; preds = %17
  %8515 = load ptr, ptr %2, align 8, !tbaa !5
  %8516 = getelementptr inbounds %struct.PDP6, ptr %8515, i32 0, i32 28
  store i64 0, ptr %8516, align 8, !tbaa !34
  %8517 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8517, ptr noundef @.str.41)
  %8518 = load i64, ptr @simtime, align 8, !tbaa !15
  %8519 = add i64 %8518, 100
  store i64 %8519, ptr @simtime, align 8, !tbaa !15
  %8520 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8520, ptr noundef @.str.42)
  %8521 = load i64, ptr @simtime, align 8, !tbaa !15
  %8522 = add i64 %8521, 100
  store i64 %8522, ptr @simtime, align 8, !tbaa !15
  %8523 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8523, ptr noundef @.str.43)
  %8524 = load ptr, ptr %2, align 8, !tbaa !5
  %8525 = getelementptr inbounds %struct.PDP6, ptr %8524, i32 0, i32 28
  %8526 = load i64, ptr %8525, align 8, !tbaa !34
  %8527 = xor i64 %8526, 68719476735
  store i64 %8527, ptr %8525, align 8, !tbaa !34
  %8528 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8528, ptr noundef @.str.65)
  %8529 = load i64, ptr @simtime, align 8, !tbaa !15
  %8530 = add i64 %8529, 100
  store i64 %8530, ptr @simtime, align 8, !tbaa !15
  %8531 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8531, ptr noundef @.str.122)
  br label %17859

8532:                                             ; preds = %17
  %8533 = load ptr, ptr %2, align 8, !tbaa !5
  %8534 = getelementptr inbounds %struct.PDP6, ptr %8533, i32 0, i32 28
  store i64 0, ptr %8534, align 8, !tbaa !34
  %8535 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8535, ptr noundef @.str.41)
  %8536 = load i64, ptr @simtime, align 8, !tbaa !15
  %8537 = add i64 %8536, 100
  store i64 %8537, ptr @simtime, align 8, !tbaa !15
  %8538 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8538, ptr noundef @.str.42)
  %8539 = load i64, ptr @simtime, align 8, !tbaa !15
  %8540 = add i64 %8539, 100
  store i64 %8540, ptr @simtime, align 8, !tbaa !15
  %8541 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8541, ptr noundef @.str.43)
  %8542 = load ptr, ptr %2, align 8, !tbaa !5
  %8543 = getelementptr inbounds %struct.PDP6, ptr %8542, i32 0, i32 28
  %8544 = load i64, ptr %8543, align 8, !tbaa !34
  %8545 = xor i64 %8544, 68719476735
  store i64 %8545, ptr %8543, align 8, !tbaa !34
  %8546 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8546, ptr noundef @.str.65)
  %8547 = load i64, ptr @simtime, align 8, !tbaa !15
  %8548 = add i64 %8547, 100
  store i64 %8548, ptr @simtime, align 8, !tbaa !15
  %8549 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8549, ptr noundef @.str.122)
  br label %17859

8550:                                             ; preds = %17
  %8551 = load ptr, ptr %2, align 8, !tbaa !5
  %8552 = getelementptr inbounds %struct.PDP6, ptr %8551, i32 0, i32 28
  store i64 0, ptr %8552, align 8, !tbaa !34
  %8553 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8553, ptr noundef @.str.41)
  %8554 = load i64, ptr @simtime, align 8, !tbaa !15
  %8555 = add i64 %8554, 100
  store i64 %8555, ptr @simtime, align 8, !tbaa !15
  %8556 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8556, ptr noundef @.str.42)
  %8557 = load i64, ptr @simtime, align 8, !tbaa !15
  %8558 = add i64 %8557, 100
  store i64 %8558, ptr @simtime, align 8, !tbaa !15
  %8559 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8559, ptr noundef @.str.43)
  %8560 = load ptr, ptr %2, align 8, !tbaa !5
  %8561 = getelementptr inbounds %struct.PDP6, ptr %8560, i32 0, i32 28
  %8562 = load i64, ptr %8561, align 8, !tbaa !34
  %8563 = xor i64 %8562, 68719476735
  store i64 %8563, ptr %8561, align 8, !tbaa !34
  %8564 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8564, ptr noundef @.str.65)
  %8565 = load i64, ptr @simtime, align 8, !tbaa !15
  %8566 = add i64 %8565, 100
  store i64 %8566, ptr @simtime, align 8, !tbaa !15
  %8567 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8567, ptr noundef @.str.122)
  %8568 = load ptr, ptr %2, align 8, !tbaa !5
  %8569 = getelementptr inbounds %struct.PDP6, ptr %8568, i32 0, i32 28
  %8570 = load i64, ptr %8569, align 8, !tbaa !34
  %8571 = load ptr, ptr %2, align 8, !tbaa !5
  %8572 = getelementptr inbounds %struct.PDP6, ptr %8571, i32 0, i32 31
  store i64 %8570, ptr %8572, align 8, !tbaa !39
  br label %17859

8573:                                             ; preds = %17
  %8574 = load ptr, ptr %2, align 8, !tbaa !5
  %8575 = getelementptr inbounds %struct.PDP6, ptr %8574, i32 0, i32 28
  store i64 0, ptr %8575, align 8, !tbaa !34
  %8576 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8576, ptr noundef @.str.41)
  %8577 = load i64, ptr @simtime, align 8, !tbaa !15
  %8578 = add i64 %8577, 100
  store i64 %8578, ptr @simtime, align 8, !tbaa !15
  %8579 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8579, ptr noundef @.str.42)
  %8580 = load i64, ptr @simtime, align 8, !tbaa !15
  %8581 = add i64 %8580, 100
  store i64 %8581, ptr @simtime, align 8, !tbaa !15
  %8582 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8582, ptr noundef @.str.43)
  %8583 = load ptr, ptr %2, align 8, !tbaa !5
  %8584 = getelementptr inbounds %struct.PDP6, ptr %8583, i32 0, i32 28
  %8585 = load i64, ptr %8584, align 8, !tbaa !34
  %8586 = xor i64 %8585, 68719476735
  store i64 %8586, ptr %8584, align 8, !tbaa !34
  %8587 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8587, ptr noundef @.str.65)
  %8588 = load i64, ptr @simtime, align 8, !tbaa !15
  %8589 = add i64 %8588, 100
  store i64 %8589, ptr @simtime, align 8, !tbaa !15
  %8590 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8590, ptr noundef @.str.122)
  %8591 = load ptr, ptr %2, align 8, !tbaa !5
  %8592 = getelementptr inbounds %struct.PDP6, ptr %8591, i32 0, i32 28
  %8593 = load i64, ptr %8592, align 8, !tbaa !34
  %8594 = load ptr, ptr %2, align 8, !tbaa !5
  %8595 = getelementptr inbounds %struct.PDP6, ptr %8594, i32 0, i32 31
  store i64 %8593, ptr %8595, align 8, !tbaa !39
  br label %17859

8596:                                             ; preds = %17
  %8597 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8597, ptr noundef @.str.41)
  %8598 = load i64, ptr @simtime, align 8, !tbaa !15
  %8599 = add i64 %8598, 100
  store i64 %8599, ptr @simtime, align 8, !tbaa !15
  %8600 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8600, ptr noundef @.str.42)
  %8601 = load i64, ptr @simtime, align 8, !tbaa !15
  %8602 = add i64 %8601, 100
  store i64 %8602, ptr @simtime, align 8, !tbaa !15
  %8603 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8603, ptr noundef @.str.43)
  %8604 = load ptr, ptr %2, align 8, !tbaa !5
  %8605 = getelementptr inbounds %struct.PDP6, ptr %8604, i32 0, i32 31
  %8606 = load i64, ptr %8605, align 8, !tbaa !39
  %8607 = and i64 %8606, 68719214592
  %8608 = load ptr, ptr %2, align 8, !tbaa !5
  %8609 = getelementptr inbounds %struct.PDP6, ptr %8608, i32 0, i32 28
  %8610 = load i64, ptr %8609, align 8, !tbaa !34
  %8611 = and i64 %8610, 262143
  %8612 = or i64 %8607, %8611
  %8613 = load ptr, ptr %2, align 8, !tbaa !5
  %8614 = getelementptr inbounds %struct.PDP6, ptr %8613, i32 0, i32 28
  store i64 %8612, ptr %8614, align 8, !tbaa !34
  %8615 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8615, ptr noundef @.str.65)
  %8616 = load i64, ptr @simtime, align 8, !tbaa !15
  %8617 = add i64 %8616, 100
  store i64 %8617, ptr @simtime, align 8, !tbaa !15
  %8618 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8618, ptr noundef @.str.122)
  br label %17859

8619:                                             ; preds = %17
  %8620 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8620, ptr noundef @.str.41)
  %8621 = load i64, ptr @simtime, align 8, !tbaa !15
  %8622 = add i64 %8621, 100
  store i64 %8622, ptr @simtime, align 8, !tbaa !15
  %8623 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8623, ptr noundef @.str.42)
  %8624 = load i64, ptr @simtime, align 8, !tbaa !15
  %8625 = add i64 %8624, 100
  store i64 %8625, ptr @simtime, align 8, !tbaa !15
  %8626 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8626, ptr noundef @.str.43)
  %8627 = load ptr, ptr %2, align 8, !tbaa !5
  %8628 = getelementptr inbounds %struct.PDP6, ptr %8627, i32 0, i32 31
  %8629 = load i64, ptr %8628, align 8, !tbaa !39
  %8630 = and i64 %8629, 68719214592
  %8631 = load ptr, ptr %2, align 8, !tbaa !5
  %8632 = getelementptr inbounds %struct.PDP6, ptr %8631, i32 0, i32 28
  %8633 = load i64, ptr %8632, align 8, !tbaa !34
  %8634 = and i64 %8633, 262143
  %8635 = or i64 %8630, %8634
  %8636 = load ptr, ptr %2, align 8, !tbaa !5
  %8637 = getelementptr inbounds %struct.PDP6, ptr %8636, i32 0, i32 28
  store i64 %8635, ptr %8637, align 8, !tbaa !34
  %8638 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8638, ptr noundef @.str.65)
  %8639 = load i64, ptr @simtime, align 8, !tbaa !15
  %8640 = add i64 %8639, 100
  store i64 %8640, ptr @simtime, align 8, !tbaa !15
  %8641 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8641, ptr noundef @.str.122)
  br label %17859

8642:                                             ; preds = %17
  %8643 = load ptr, ptr %2, align 8, !tbaa !5
  %8644 = getelementptr inbounds %struct.PDP6, ptr %8643, i32 0, i32 31
  %8645 = load i64, ptr %8644, align 8, !tbaa !39
  store i64 %8645, ptr %4, align 8, !tbaa !15
  %8646 = load ptr, ptr %2, align 8, !tbaa !5
  %8647 = getelementptr inbounds %struct.PDP6, ptr %8646, i32 0, i32 28
  %8648 = load i64, ptr %8647, align 8, !tbaa !34
  %8649 = load ptr, ptr %2, align 8, !tbaa !5
  %8650 = getelementptr inbounds %struct.PDP6, ptr %8649, i32 0, i32 31
  store i64 %8648, ptr %8650, align 8, !tbaa !39
  %8651 = load i64, ptr %4, align 8, !tbaa !15
  %8652 = load ptr, ptr %2, align 8, !tbaa !5
  %8653 = getelementptr inbounds %struct.PDP6, ptr %8652, i32 0, i32 28
  store i64 %8651, ptr %8653, align 8, !tbaa !34
  %8654 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8654, ptr noundef @.str.41)
  %8655 = load i64, ptr @simtime, align 8, !tbaa !15
  %8656 = add i64 %8655, 100
  store i64 %8656, ptr @simtime, align 8, !tbaa !15
  %8657 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8657, ptr noundef @.str.42)
  %8658 = load i64, ptr @simtime, align 8, !tbaa !15
  %8659 = add i64 %8658, 100
  store i64 %8659, ptr @simtime, align 8, !tbaa !15
  %8660 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8660, ptr noundef @.str.43)
  %8661 = load ptr, ptr %2, align 8, !tbaa !5
  %8662 = getelementptr inbounds %struct.PDP6, ptr %8661, i32 0, i32 31
  %8663 = load i64, ptr %8662, align 8, !tbaa !39
  %8664 = and i64 %8663, 68719214592
  %8665 = load ptr, ptr %2, align 8, !tbaa !5
  %8666 = getelementptr inbounds %struct.PDP6, ptr %8665, i32 0, i32 28
  %8667 = load i64, ptr %8666, align 8, !tbaa !34
  %8668 = and i64 %8667, 262143
  %8669 = or i64 %8664, %8668
  %8670 = load ptr, ptr %2, align 8, !tbaa !5
  %8671 = getelementptr inbounds %struct.PDP6, ptr %8670, i32 0, i32 28
  store i64 %8669, ptr %8671, align 8, !tbaa !34
  %8672 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8672, ptr noundef @.str.65)
  %8673 = load i64, ptr @simtime, align 8, !tbaa !15
  %8674 = add i64 %8673, 100
  store i64 %8674, ptr @simtime, align 8, !tbaa !15
  %8675 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8675, ptr noundef @.str.122)
  %8676 = load ptr, ptr %2, align 8, !tbaa !5
  %8677 = getelementptr inbounds %struct.PDP6, ptr %8676, i32 0, i32 28
  %8678 = load i64, ptr %8677, align 8, !tbaa !34
  %8679 = load ptr, ptr %2, align 8, !tbaa !5
  %8680 = getelementptr inbounds %struct.PDP6, ptr %8679, i32 0, i32 31
  store i64 %8678, ptr %8680, align 8, !tbaa !39
  br label %17859

8681:                                             ; preds = %17
  %8682 = load ptr, ptr %2, align 8, !tbaa !5
  %8683 = getelementptr inbounds %struct.PDP6, ptr %8682, i32 0, i32 31
  %8684 = load i64, ptr %8683, align 8, !tbaa !39
  %8685 = load ptr, ptr %2, align 8, !tbaa !5
  %8686 = getelementptr inbounds %struct.PDP6, ptr %8685, i32 0, i32 28
  store i64 %8684, ptr %8686, align 8, !tbaa !34
  %8687 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8687, ptr noundef @.str.41)
  %8688 = load i64, ptr @simtime, align 8, !tbaa !15
  %8689 = add i64 %8688, 100
  store i64 %8689, ptr @simtime, align 8, !tbaa !15
  %8690 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8690, ptr noundef @.str.42)
  %8691 = load i64, ptr @simtime, align 8, !tbaa !15
  %8692 = add i64 %8691, 100
  store i64 %8692, ptr @simtime, align 8, !tbaa !15
  %8693 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8693, ptr noundef @.str.43)
  %8694 = load ptr, ptr %2, align 8, !tbaa !5
  %8695 = getelementptr inbounds %struct.PDP6, ptr %8694, i32 0, i32 31
  %8696 = load i64, ptr %8695, align 8, !tbaa !39
  %8697 = and i64 %8696, 68719214592
  %8698 = load ptr, ptr %2, align 8, !tbaa !5
  %8699 = getelementptr inbounds %struct.PDP6, ptr %8698, i32 0, i32 28
  %8700 = load i64, ptr %8699, align 8, !tbaa !34
  %8701 = and i64 %8700, 262143
  %8702 = or i64 %8697, %8701
  %8703 = load ptr, ptr %2, align 8, !tbaa !5
  %8704 = getelementptr inbounds %struct.PDP6, ptr %8703, i32 0, i32 28
  store i64 %8702, ptr %8704, align 8, !tbaa !34
  %8705 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8705, ptr noundef @.str.65)
  %8706 = load i64, ptr @simtime, align 8, !tbaa !15
  %8707 = add i64 %8706, 100
  store i64 %8707, ptr @simtime, align 8, !tbaa !15
  %8708 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8708, ptr noundef @.str.122)
  %8709 = load ptr, ptr %2, align 8, !tbaa !5
  %8710 = getelementptr inbounds %struct.PDP6, ptr %8709, i32 0, i32 28
  %8711 = load i64, ptr %8710, align 8, !tbaa !34
  %8712 = load ptr, ptr %2, align 8, !tbaa !5
  %8713 = getelementptr inbounds %struct.PDP6, ptr %8712, i32 0, i32 31
  store i64 %8711, ptr %8713, align 8, !tbaa !39
  br label %17859

8714:                                             ; preds = %17
  %8715 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8715, ptr noundef @.str.41)
  %8716 = load i64, ptr @simtime, align 8, !tbaa !15
  %8717 = add i64 %8716, 100
  store i64 %8717, ptr @simtime, align 8, !tbaa !15
  %8718 = load ptr, ptr %2, align 8, !tbaa !5
  %8719 = getelementptr inbounds %struct.PDP6, ptr %8718, i32 0, i32 31
  %8720 = load i64, ptr %8719, align 8, !tbaa !39
  %8721 = shl i64 %8720, 18
  %8722 = load ptr, ptr %2, align 8, !tbaa !5
  %8723 = getelementptr inbounds %struct.PDP6, ptr %8722, i32 0, i32 31
  %8724 = load i64, ptr %8723, align 8, !tbaa !39
  %8725 = lshr i64 %8724, 18
  %8726 = or i64 %8721, %8725
  %8727 = and i64 %8726, 68719476735
  %8728 = load ptr, ptr %2, align 8, !tbaa !5
  %8729 = getelementptr inbounds %struct.PDP6, ptr %8728, i32 0, i32 31
  store i64 %8727, ptr %8729, align 8, !tbaa !39
  %8730 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8730, ptr noundef @.str.42)
  %8731 = load i64, ptr @simtime, align 8, !tbaa !15
  %8732 = add i64 %8731, 100
  store i64 %8732, ptr @simtime, align 8, !tbaa !15
  %8733 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8733, ptr noundef @.str.43)
  %8734 = load ptr, ptr %2, align 8, !tbaa !5
  %8735 = getelementptr inbounds %struct.PDP6, ptr %8734, i32 0, i32 31
  %8736 = load i64, ptr %8735, align 8, !tbaa !39
  %8737 = and i64 %8736, 68719214592
  %8738 = load ptr, ptr %2, align 8, !tbaa !5
  %8739 = getelementptr inbounds %struct.PDP6, ptr %8738, i32 0, i32 28
  %8740 = load i64, ptr %8739, align 8, !tbaa !34
  %8741 = and i64 %8740, 262143
  %8742 = or i64 %8737, %8741
  %8743 = load ptr, ptr %2, align 8, !tbaa !5
  %8744 = getelementptr inbounds %struct.PDP6, ptr %8743, i32 0, i32 28
  store i64 %8742, ptr %8744, align 8, !tbaa !34
  %8745 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8745, ptr noundef @.str.65)
  %8746 = load i64, ptr @simtime, align 8, !tbaa !15
  %8747 = add i64 %8746, 100
  store i64 %8747, ptr @simtime, align 8, !tbaa !15
  %8748 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8748, ptr noundef @.str.122)
  br label %17859

8749:                                             ; preds = %17
  %8750 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8750, ptr noundef @.str.41)
  %8751 = load i64, ptr @simtime, align 8, !tbaa !15
  %8752 = add i64 %8751, 100
  store i64 %8752, ptr @simtime, align 8, !tbaa !15
  %8753 = load ptr, ptr %2, align 8, !tbaa !5
  %8754 = getelementptr inbounds %struct.PDP6, ptr %8753, i32 0, i32 31
  %8755 = load i64, ptr %8754, align 8, !tbaa !39
  %8756 = shl i64 %8755, 18
  %8757 = load ptr, ptr %2, align 8, !tbaa !5
  %8758 = getelementptr inbounds %struct.PDP6, ptr %8757, i32 0, i32 31
  %8759 = load i64, ptr %8758, align 8, !tbaa !39
  %8760 = lshr i64 %8759, 18
  %8761 = or i64 %8756, %8760
  %8762 = and i64 %8761, 68719476735
  %8763 = load ptr, ptr %2, align 8, !tbaa !5
  %8764 = getelementptr inbounds %struct.PDP6, ptr %8763, i32 0, i32 31
  store i64 %8762, ptr %8764, align 8, !tbaa !39
  %8765 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8765, ptr noundef @.str.42)
  %8766 = load i64, ptr @simtime, align 8, !tbaa !15
  %8767 = add i64 %8766, 100
  store i64 %8767, ptr @simtime, align 8, !tbaa !15
  %8768 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8768, ptr noundef @.str.43)
  %8769 = load ptr, ptr %2, align 8, !tbaa !5
  %8770 = getelementptr inbounds %struct.PDP6, ptr %8769, i32 0, i32 31
  %8771 = load i64, ptr %8770, align 8, !tbaa !39
  %8772 = and i64 %8771, 68719214592
  %8773 = load ptr, ptr %2, align 8, !tbaa !5
  %8774 = getelementptr inbounds %struct.PDP6, ptr %8773, i32 0, i32 28
  %8775 = load i64, ptr %8774, align 8, !tbaa !34
  %8776 = and i64 %8775, 262143
  %8777 = or i64 %8772, %8776
  %8778 = load ptr, ptr %2, align 8, !tbaa !5
  %8779 = getelementptr inbounds %struct.PDP6, ptr %8778, i32 0, i32 28
  store i64 %8777, ptr %8779, align 8, !tbaa !34
  %8780 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8780, ptr noundef @.str.65)
  %8781 = load i64, ptr @simtime, align 8, !tbaa !15
  %8782 = add i64 %8781, 100
  store i64 %8782, ptr @simtime, align 8, !tbaa !15
  %8783 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8783, ptr noundef @.str.122)
  br label %17859

8784:                                             ; preds = %17
  %8785 = load ptr, ptr %2, align 8, !tbaa !5
  %8786 = getelementptr inbounds %struct.PDP6, ptr %8785, i32 0, i32 31
  %8787 = load i64, ptr %8786, align 8, !tbaa !39
  store i64 %8787, ptr %4, align 8, !tbaa !15
  %8788 = load ptr, ptr %2, align 8, !tbaa !5
  %8789 = getelementptr inbounds %struct.PDP6, ptr %8788, i32 0, i32 28
  %8790 = load i64, ptr %8789, align 8, !tbaa !34
  %8791 = load ptr, ptr %2, align 8, !tbaa !5
  %8792 = getelementptr inbounds %struct.PDP6, ptr %8791, i32 0, i32 31
  store i64 %8790, ptr %8792, align 8, !tbaa !39
  %8793 = load i64, ptr %4, align 8, !tbaa !15
  %8794 = load ptr, ptr %2, align 8, !tbaa !5
  %8795 = getelementptr inbounds %struct.PDP6, ptr %8794, i32 0, i32 28
  store i64 %8793, ptr %8795, align 8, !tbaa !34
  %8796 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8796, ptr noundef @.str.41)
  %8797 = load i64, ptr @simtime, align 8, !tbaa !15
  %8798 = add i64 %8797, 100
  store i64 %8798, ptr @simtime, align 8, !tbaa !15
  %8799 = load ptr, ptr %2, align 8, !tbaa !5
  %8800 = getelementptr inbounds %struct.PDP6, ptr %8799, i32 0, i32 31
  %8801 = load i64, ptr %8800, align 8, !tbaa !39
  %8802 = shl i64 %8801, 18
  %8803 = load ptr, ptr %2, align 8, !tbaa !5
  %8804 = getelementptr inbounds %struct.PDP6, ptr %8803, i32 0, i32 31
  %8805 = load i64, ptr %8804, align 8, !tbaa !39
  %8806 = lshr i64 %8805, 18
  %8807 = or i64 %8802, %8806
  %8808 = and i64 %8807, 68719476735
  %8809 = load ptr, ptr %2, align 8, !tbaa !5
  %8810 = getelementptr inbounds %struct.PDP6, ptr %8809, i32 0, i32 31
  store i64 %8808, ptr %8810, align 8, !tbaa !39
  %8811 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8811, ptr noundef @.str.42)
  %8812 = load i64, ptr @simtime, align 8, !tbaa !15
  %8813 = add i64 %8812, 100
  store i64 %8813, ptr @simtime, align 8, !tbaa !15
  %8814 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8814, ptr noundef @.str.43)
  %8815 = load ptr, ptr %2, align 8, !tbaa !5
  %8816 = getelementptr inbounds %struct.PDP6, ptr %8815, i32 0, i32 31
  %8817 = load i64, ptr %8816, align 8, !tbaa !39
  %8818 = and i64 %8817, 68719214592
  %8819 = load ptr, ptr %2, align 8, !tbaa !5
  %8820 = getelementptr inbounds %struct.PDP6, ptr %8819, i32 0, i32 28
  %8821 = load i64, ptr %8820, align 8, !tbaa !34
  %8822 = and i64 %8821, 262143
  %8823 = or i64 %8818, %8822
  %8824 = load ptr, ptr %2, align 8, !tbaa !5
  %8825 = getelementptr inbounds %struct.PDP6, ptr %8824, i32 0, i32 28
  store i64 %8823, ptr %8825, align 8, !tbaa !34
  %8826 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8826, ptr noundef @.str.65)
  %8827 = load i64, ptr @simtime, align 8, !tbaa !15
  %8828 = add i64 %8827, 100
  store i64 %8828, ptr @simtime, align 8, !tbaa !15
  %8829 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8829, ptr noundef @.str.122)
  %8830 = load ptr, ptr %2, align 8, !tbaa !5
  %8831 = getelementptr inbounds %struct.PDP6, ptr %8830, i32 0, i32 28
  %8832 = load i64, ptr %8831, align 8, !tbaa !34
  %8833 = load ptr, ptr %2, align 8, !tbaa !5
  %8834 = getelementptr inbounds %struct.PDP6, ptr %8833, i32 0, i32 31
  store i64 %8832, ptr %8834, align 8, !tbaa !39
  br label %17859

8835:                                             ; preds = %17
  %8836 = load ptr, ptr %2, align 8, !tbaa !5
  %8837 = getelementptr inbounds %struct.PDP6, ptr %8836, i32 0, i32 31
  %8838 = load i64, ptr %8837, align 8, !tbaa !39
  %8839 = load ptr, ptr %2, align 8, !tbaa !5
  %8840 = getelementptr inbounds %struct.PDP6, ptr %8839, i32 0, i32 28
  store i64 %8838, ptr %8840, align 8, !tbaa !34
  %8841 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8841, ptr noundef @.str.41)
  %8842 = load i64, ptr @simtime, align 8, !tbaa !15
  %8843 = add i64 %8842, 100
  store i64 %8843, ptr @simtime, align 8, !tbaa !15
  %8844 = load ptr, ptr %2, align 8, !tbaa !5
  %8845 = getelementptr inbounds %struct.PDP6, ptr %8844, i32 0, i32 31
  %8846 = load i64, ptr %8845, align 8, !tbaa !39
  %8847 = shl i64 %8846, 18
  %8848 = load ptr, ptr %2, align 8, !tbaa !5
  %8849 = getelementptr inbounds %struct.PDP6, ptr %8848, i32 0, i32 31
  %8850 = load i64, ptr %8849, align 8, !tbaa !39
  %8851 = lshr i64 %8850, 18
  %8852 = or i64 %8847, %8851
  %8853 = and i64 %8852, 68719476735
  %8854 = load ptr, ptr %2, align 8, !tbaa !5
  %8855 = getelementptr inbounds %struct.PDP6, ptr %8854, i32 0, i32 31
  store i64 %8853, ptr %8855, align 8, !tbaa !39
  %8856 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8856, ptr noundef @.str.42)
  %8857 = load i64, ptr @simtime, align 8, !tbaa !15
  %8858 = add i64 %8857, 100
  store i64 %8858, ptr @simtime, align 8, !tbaa !15
  %8859 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8859, ptr noundef @.str.43)
  %8860 = load ptr, ptr %2, align 8, !tbaa !5
  %8861 = getelementptr inbounds %struct.PDP6, ptr %8860, i32 0, i32 31
  %8862 = load i64, ptr %8861, align 8, !tbaa !39
  %8863 = and i64 %8862, 68719214592
  %8864 = load ptr, ptr %2, align 8, !tbaa !5
  %8865 = getelementptr inbounds %struct.PDP6, ptr %8864, i32 0, i32 28
  %8866 = load i64, ptr %8865, align 8, !tbaa !34
  %8867 = and i64 %8866, 262143
  %8868 = or i64 %8863, %8867
  %8869 = load ptr, ptr %2, align 8, !tbaa !5
  %8870 = getelementptr inbounds %struct.PDP6, ptr %8869, i32 0, i32 28
  store i64 %8868, ptr %8870, align 8, !tbaa !34
  %8871 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8871, ptr noundef @.str.65)
  %8872 = load i64, ptr @simtime, align 8, !tbaa !15
  %8873 = add i64 %8872, 100
  store i64 %8873, ptr @simtime, align 8, !tbaa !15
  %8874 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8874, ptr noundef @.str.122)
  %8875 = load ptr, ptr %2, align 8, !tbaa !5
  %8876 = getelementptr inbounds %struct.PDP6, ptr %8875, i32 0, i32 28
  %8877 = load i64, ptr %8876, align 8, !tbaa !34
  %8878 = load ptr, ptr %2, align 8, !tbaa !5
  %8879 = getelementptr inbounds %struct.PDP6, ptr %8878, i32 0, i32 31
  store i64 %8877, ptr %8879, align 8, !tbaa !39
  br label %17859

8880:                                             ; preds = %17
  %8881 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8881, ptr noundef @.str.41)
  %8882 = load i64, ptr @simtime, align 8, !tbaa !15
  %8883 = add i64 %8882, 100
  store i64 %8883, ptr @simtime, align 8, !tbaa !15
  %8884 = load ptr, ptr %2, align 8, !tbaa !5
  %8885 = getelementptr inbounds %struct.PDP6, ptr %8884, i32 0, i32 28
  store i64 0, ptr %8885, align 8, !tbaa !34
  %8886 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8886, ptr noundef @.str.42)
  %8887 = load i64, ptr @simtime, align 8, !tbaa !15
  %8888 = add i64 %8887, 100
  store i64 %8888, ptr @simtime, align 8, !tbaa !15
  %8889 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8889, ptr noundef @.str.43)
  %8890 = load ptr, ptr %2, align 8, !tbaa !5
  %8891 = getelementptr inbounds %struct.PDP6, ptr %8890, i32 0, i32 31
  %8892 = load i64, ptr %8891, align 8, !tbaa !39
  %8893 = and i64 %8892, 68719214592
  %8894 = load ptr, ptr %2, align 8, !tbaa !5
  %8895 = getelementptr inbounds %struct.PDP6, ptr %8894, i32 0, i32 28
  %8896 = load i64, ptr %8895, align 8, !tbaa !34
  %8897 = and i64 %8896, 262143
  %8898 = or i64 %8893, %8897
  %8899 = load ptr, ptr %2, align 8, !tbaa !5
  %8900 = getelementptr inbounds %struct.PDP6, ptr %8899, i32 0, i32 28
  store i64 %8898, ptr %8900, align 8, !tbaa !34
  %8901 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8901, ptr noundef @.str.65)
  %8902 = load i64, ptr @simtime, align 8, !tbaa !15
  %8903 = add i64 %8902, 100
  store i64 %8903, ptr @simtime, align 8, !tbaa !15
  %8904 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8904, ptr noundef @.str.122)
  br label %17859

8905:                                             ; preds = %17
  %8906 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8906, ptr noundef @.str.41)
  %8907 = load i64, ptr @simtime, align 8, !tbaa !15
  %8908 = add i64 %8907, 100
  store i64 %8908, ptr @simtime, align 8, !tbaa !15
  %8909 = load ptr, ptr %2, align 8, !tbaa !5
  %8910 = getelementptr inbounds %struct.PDP6, ptr %8909, i32 0, i32 28
  store i64 0, ptr %8910, align 8, !tbaa !34
  %8911 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8911, ptr noundef @.str.42)
  %8912 = load i64, ptr @simtime, align 8, !tbaa !15
  %8913 = add i64 %8912, 100
  store i64 %8913, ptr @simtime, align 8, !tbaa !15
  %8914 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8914, ptr noundef @.str.43)
  %8915 = load ptr, ptr %2, align 8, !tbaa !5
  %8916 = getelementptr inbounds %struct.PDP6, ptr %8915, i32 0, i32 31
  %8917 = load i64, ptr %8916, align 8, !tbaa !39
  %8918 = and i64 %8917, 68719214592
  %8919 = load ptr, ptr %2, align 8, !tbaa !5
  %8920 = getelementptr inbounds %struct.PDP6, ptr %8919, i32 0, i32 28
  %8921 = load i64, ptr %8920, align 8, !tbaa !34
  %8922 = and i64 %8921, 262143
  %8923 = or i64 %8918, %8922
  %8924 = load ptr, ptr %2, align 8, !tbaa !5
  %8925 = getelementptr inbounds %struct.PDP6, ptr %8924, i32 0, i32 28
  store i64 %8923, ptr %8925, align 8, !tbaa !34
  %8926 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8926, ptr noundef @.str.65)
  %8927 = load i64, ptr @simtime, align 8, !tbaa !15
  %8928 = add i64 %8927, 100
  store i64 %8928, ptr @simtime, align 8, !tbaa !15
  %8929 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8929, ptr noundef @.str.122)
  br label %17859

8930:                                             ; preds = %17
  %8931 = load ptr, ptr %2, align 8, !tbaa !5
  %8932 = getelementptr inbounds %struct.PDP6, ptr %8931, i32 0, i32 31
  %8933 = load i64, ptr %8932, align 8, !tbaa !39
  store i64 %8933, ptr %4, align 8, !tbaa !15
  %8934 = load ptr, ptr %2, align 8, !tbaa !5
  %8935 = getelementptr inbounds %struct.PDP6, ptr %8934, i32 0, i32 28
  %8936 = load i64, ptr %8935, align 8, !tbaa !34
  %8937 = load ptr, ptr %2, align 8, !tbaa !5
  %8938 = getelementptr inbounds %struct.PDP6, ptr %8937, i32 0, i32 31
  store i64 %8936, ptr %8938, align 8, !tbaa !39
  %8939 = load i64, ptr %4, align 8, !tbaa !15
  %8940 = load ptr, ptr %2, align 8, !tbaa !5
  %8941 = getelementptr inbounds %struct.PDP6, ptr %8940, i32 0, i32 28
  store i64 %8939, ptr %8941, align 8, !tbaa !34
  %8942 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8942, ptr noundef @.str.41)
  %8943 = load i64, ptr @simtime, align 8, !tbaa !15
  %8944 = add i64 %8943, 100
  store i64 %8944, ptr @simtime, align 8, !tbaa !15
  %8945 = load ptr, ptr %2, align 8, !tbaa !5
  %8946 = getelementptr inbounds %struct.PDP6, ptr %8945, i32 0, i32 28
  store i64 0, ptr %8946, align 8, !tbaa !34
  %8947 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8947, ptr noundef @.str.42)
  %8948 = load i64, ptr @simtime, align 8, !tbaa !15
  %8949 = add i64 %8948, 100
  store i64 %8949, ptr @simtime, align 8, !tbaa !15
  %8950 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8950, ptr noundef @.str.43)
  %8951 = load ptr, ptr %2, align 8, !tbaa !5
  %8952 = getelementptr inbounds %struct.PDP6, ptr %8951, i32 0, i32 31
  %8953 = load i64, ptr %8952, align 8, !tbaa !39
  %8954 = and i64 %8953, 68719214592
  %8955 = load ptr, ptr %2, align 8, !tbaa !5
  %8956 = getelementptr inbounds %struct.PDP6, ptr %8955, i32 0, i32 28
  %8957 = load i64, ptr %8956, align 8, !tbaa !34
  %8958 = and i64 %8957, 262143
  %8959 = or i64 %8954, %8958
  %8960 = load ptr, ptr %2, align 8, !tbaa !5
  %8961 = getelementptr inbounds %struct.PDP6, ptr %8960, i32 0, i32 28
  store i64 %8959, ptr %8961, align 8, !tbaa !34
  %8962 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8962, ptr noundef @.str.65)
  %8963 = load i64, ptr @simtime, align 8, !tbaa !15
  %8964 = add i64 %8963, 100
  store i64 %8964, ptr @simtime, align 8, !tbaa !15
  %8965 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8965, ptr noundef @.str.122)
  %8966 = load ptr, ptr %2, align 8, !tbaa !5
  %8967 = getelementptr inbounds %struct.PDP6, ptr %8966, i32 0, i32 28
  %8968 = load i64, ptr %8967, align 8, !tbaa !34
  %8969 = load ptr, ptr %2, align 8, !tbaa !5
  %8970 = getelementptr inbounds %struct.PDP6, ptr %8969, i32 0, i32 31
  store i64 %8968, ptr %8970, align 8, !tbaa !39
  br label %17859

8971:                                             ; preds = %17
  %8972 = load ptr, ptr %2, align 8, !tbaa !5
  %8973 = getelementptr inbounds %struct.PDP6, ptr %8972, i32 0, i32 31
  %8974 = load i64, ptr %8973, align 8, !tbaa !39
  %8975 = load ptr, ptr %2, align 8, !tbaa !5
  %8976 = getelementptr inbounds %struct.PDP6, ptr %8975, i32 0, i32 28
  store i64 %8974, ptr %8976, align 8, !tbaa !34
  %8977 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8977, ptr noundef @.str.41)
  %8978 = load i64, ptr @simtime, align 8, !tbaa !15
  %8979 = add i64 %8978, 100
  store i64 %8979, ptr @simtime, align 8, !tbaa !15
  %8980 = load ptr, ptr %2, align 8, !tbaa !5
  %8981 = getelementptr inbounds %struct.PDP6, ptr %8980, i32 0, i32 28
  store i64 0, ptr %8981, align 8, !tbaa !34
  %8982 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8982, ptr noundef @.str.42)
  %8983 = load i64, ptr @simtime, align 8, !tbaa !15
  %8984 = add i64 %8983, 100
  store i64 %8984, ptr @simtime, align 8, !tbaa !15
  %8985 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8985, ptr noundef @.str.43)
  %8986 = load ptr, ptr %2, align 8, !tbaa !5
  %8987 = getelementptr inbounds %struct.PDP6, ptr %8986, i32 0, i32 31
  %8988 = load i64, ptr %8987, align 8, !tbaa !39
  %8989 = and i64 %8988, 68719214592
  %8990 = load ptr, ptr %2, align 8, !tbaa !5
  %8991 = getelementptr inbounds %struct.PDP6, ptr %8990, i32 0, i32 28
  %8992 = load i64, ptr %8991, align 8, !tbaa !34
  %8993 = and i64 %8992, 262143
  %8994 = or i64 %8989, %8993
  %8995 = load ptr, ptr %2, align 8, !tbaa !5
  %8996 = getelementptr inbounds %struct.PDP6, ptr %8995, i32 0, i32 28
  store i64 %8994, ptr %8996, align 8, !tbaa !34
  %8997 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %8997, ptr noundef @.str.65)
  %8998 = load i64, ptr @simtime, align 8, !tbaa !15
  %8999 = add i64 %8998, 100
  store i64 %8999, ptr @simtime, align 8, !tbaa !15
  %9000 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9000, ptr noundef @.str.122)
  %9001 = load ptr, ptr %2, align 8, !tbaa !5
  %9002 = getelementptr inbounds %struct.PDP6, ptr %9001, i32 0, i32 28
  %9003 = load i64, ptr %9002, align 8, !tbaa !34
  %9004 = load ptr, ptr %2, align 8, !tbaa !5
  %9005 = getelementptr inbounds %struct.PDP6, ptr %9004, i32 0, i32 31
  store i64 %9003, ptr %9005, align 8, !tbaa !39
  br label %17859

9006:                                             ; preds = %17
  %9007 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9007, ptr noundef @.str.41)
  %9008 = load i64, ptr @simtime, align 8, !tbaa !15
  %9009 = add i64 %9008, 100
  store i64 %9009, ptr @simtime, align 8, !tbaa !15
  %9010 = load ptr, ptr %2, align 8, !tbaa !5
  %9011 = getelementptr inbounds %struct.PDP6, ptr %9010, i32 0, i32 31
  %9012 = load i64, ptr %9011, align 8, !tbaa !39
  %9013 = shl i64 %9012, 18
  %9014 = load ptr, ptr %2, align 8, !tbaa !5
  %9015 = getelementptr inbounds %struct.PDP6, ptr %9014, i32 0, i32 31
  %9016 = load i64, ptr %9015, align 8, !tbaa !39
  %9017 = lshr i64 %9016, 18
  %9018 = or i64 %9013, %9017
  %9019 = and i64 %9018, 68719476735
  %9020 = load ptr, ptr %2, align 8, !tbaa !5
  %9021 = getelementptr inbounds %struct.PDP6, ptr %9020, i32 0, i32 31
  store i64 %9019, ptr %9021, align 8, !tbaa !39
  %9022 = load ptr, ptr %2, align 8, !tbaa !5
  %9023 = getelementptr inbounds %struct.PDP6, ptr %9022, i32 0, i32 28
  store i64 0, ptr %9023, align 8, !tbaa !34
  %9024 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9024, ptr noundef @.str.42)
  %9025 = load i64, ptr @simtime, align 8, !tbaa !15
  %9026 = add i64 %9025, 100
  store i64 %9026, ptr @simtime, align 8, !tbaa !15
  %9027 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9027, ptr noundef @.str.43)
  %9028 = load ptr, ptr %2, align 8, !tbaa !5
  %9029 = getelementptr inbounds %struct.PDP6, ptr %9028, i32 0, i32 31
  %9030 = load i64, ptr %9029, align 8, !tbaa !39
  %9031 = and i64 %9030, 68719214592
  %9032 = load ptr, ptr %2, align 8, !tbaa !5
  %9033 = getelementptr inbounds %struct.PDP6, ptr %9032, i32 0, i32 28
  %9034 = load i64, ptr %9033, align 8, !tbaa !34
  %9035 = and i64 %9034, 262143
  %9036 = or i64 %9031, %9035
  %9037 = load ptr, ptr %2, align 8, !tbaa !5
  %9038 = getelementptr inbounds %struct.PDP6, ptr %9037, i32 0, i32 28
  store i64 %9036, ptr %9038, align 8, !tbaa !34
  %9039 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9039, ptr noundef @.str.65)
  %9040 = load i64, ptr @simtime, align 8, !tbaa !15
  %9041 = add i64 %9040, 100
  store i64 %9041, ptr @simtime, align 8, !tbaa !15
  %9042 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9042, ptr noundef @.str.122)
  br label %17859

9043:                                             ; preds = %17
  %9044 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9044, ptr noundef @.str.41)
  %9045 = load i64, ptr @simtime, align 8, !tbaa !15
  %9046 = add i64 %9045, 100
  store i64 %9046, ptr @simtime, align 8, !tbaa !15
  %9047 = load ptr, ptr %2, align 8, !tbaa !5
  %9048 = getelementptr inbounds %struct.PDP6, ptr %9047, i32 0, i32 31
  %9049 = load i64, ptr %9048, align 8, !tbaa !39
  %9050 = shl i64 %9049, 18
  %9051 = load ptr, ptr %2, align 8, !tbaa !5
  %9052 = getelementptr inbounds %struct.PDP6, ptr %9051, i32 0, i32 31
  %9053 = load i64, ptr %9052, align 8, !tbaa !39
  %9054 = lshr i64 %9053, 18
  %9055 = or i64 %9050, %9054
  %9056 = and i64 %9055, 68719476735
  %9057 = load ptr, ptr %2, align 8, !tbaa !5
  %9058 = getelementptr inbounds %struct.PDP6, ptr %9057, i32 0, i32 31
  store i64 %9056, ptr %9058, align 8, !tbaa !39
  %9059 = load ptr, ptr %2, align 8, !tbaa !5
  %9060 = getelementptr inbounds %struct.PDP6, ptr %9059, i32 0, i32 28
  store i64 0, ptr %9060, align 8, !tbaa !34
  %9061 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9061, ptr noundef @.str.42)
  %9062 = load i64, ptr @simtime, align 8, !tbaa !15
  %9063 = add i64 %9062, 100
  store i64 %9063, ptr @simtime, align 8, !tbaa !15
  %9064 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9064, ptr noundef @.str.43)
  %9065 = load ptr, ptr %2, align 8, !tbaa !5
  %9066 = getelementptr inbounds %struct.PDP6, ptr %9065, i32 0, i32 31
  %9067 = load i64, ptr %9066, align 8, !tbaa !39
  %9068 = and i64 %9067, 68719214592
  %9069 = load ptr, ptr %2, align 8, !tbaa !5
  %9070 = getelementptr inbounds %struct.PDP6, ptr %9069, i32 0, i32 28
  %9071 = load i64, ptr %9070, align 8, !tbaa !34
  %9072 = and i64 %9071, 262143
  %9073 = or i64 %9068, %9072
  %9074 = load ptr, ptr %2, align 8, !tbaa !5
  %9075 = getelementptr inbounds %struct.PDP6, ptr %9074, i32 0, i32 28
  store i64 %9073, ptr %9075, align 8, !tbaa !34
  %9076 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9076, ptr noundef @.str.65)
  %9077 = load i64, ptr @simtime, align 8, !tbaa !15
  %9078 = add i64 %9077, 100
  store i64 %9078, ptr @simtime, align 8, !tbaa !15
  %9079 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9079, ptr noundef @.str.122)
  br label %17859

9080:                                             ; preds = %17
  %9081 = load ptr, ptr %2, align 8, !tbaa !5
  %9082 = getelementptr inbounds %struct.PDP6, ptr %9081, i32 0, i32 31
  %9083 = load i64, ptr %9082, align 8, !tbaa !39
  store i64 %9083, ptr %4, align 8, !tbaa !15
  %9084 = load ptr, ptr %2, align 8, !tbaa !5
  %9085 = getelementptr inbounds %struct.PDP6, ptr %9084, i32 0, i32 28
  %9086 = load i64, ptr %9085, align 8, !tbaa !34
  %9087 = load ptr, ptr %2, align 8, !tbaa !5
  %9088 = getelementptr inbounds %struct.PDP6, ptr %9087, i32 0, i32 31
  store i64 %9086, ptr %9088, align 8, !tbaa !39
  %9089 = load i64, ptr %4, align 8, !tbaa !15
  %9090 = load ptr, ptr %2, align 8, !tbaa !5
  %9091 = getelementptr inbounds %struct.PDP6, ptr %9090, i32 0, i32 28
  store i64 %9089, ptr %9091, align 8, !tbaa !34
  %9092 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9092, ptr noundef @.str.41)
  %9093 = load i64, ptr @simtime, align 8, !tbaa !15
  %9094 = add i64 %9093, 100
  store i64 %9094, ptr @simtime, align 8, !tbaa !15
  %9095 = load ptr, ptr %2, align 8, !tbaa !5
  %9096 = getelementptr inbounds %struct.PDP6, ptr %9095, i32 0, i32 31
  %9097 = load i64, ptr %9096, align 8, !tbaa !39
  %9098 = shl i64 %9097, 18
  %9099 = load ptr, ptr %2, align 8, !tbaa !5
  %9100 = getelementptr inbounds %struct.PDP6, ptr %9099, i32 0, i32 31
  %9101 = load i64, ptr %9100, align 8, !tbaa !39
  %9102 = lshr i64 %9101, 18
  %9103 = or i64 %9098, %9102
  %9104 = and i64 %9103, 68719476735
  %9105 = load ptr, ptr %2, align 8, !tbaa !5
  %9106 = getelementptr inbounds %struct.PDP6, ptr %9105, i32 0, i32 31
  store i64 %9104, ptr %9106, align 8, !tbaa !39
  %9107 = load ptr, ptr %2, align 8, !tbaa !5
  %9108 = getelementptr inbounds %struct.PDP6, ptr %9107, i32 0, i32 28
  store i64 0, ptr %9108, align 8, !tbaa !34
  %9109 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9109, ptr noundef @.str.42)
  %9110 = load i64, ptr @simtime, align 8, !tbaa !15
  %9111 = add i64 %9110, 100
  store i64 %9111, ptr @simtime, align 8, !tbaa !15
  %9112 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9112, ptr noundef @.str.43)
  %9113 = load ptr, ptr %2, align 8, !tbaa !5
  %9114 = getelementptr inbounds %struct.PDP6, ptr %9113, i32 0, i32 31
  %9115 = load i64, ptr %9114, align 8, !tbaa !39
  %9116 = and i64 %9115, 68719214592
  %9117 = load ptr, ptr %2, align 8, !tbaa !5
  %9118 = getelementptr inbounds %struct.PDP6, ptr %9117, i32 0, i32 28
  %9119 = load i64, ptr %9118, align 8, !tbaa !34
  %9120 = and i64 %9119, 262143
  %9121 = or i64 %9116, %9120
  %9122 = load ptr, ptr %2, align 8, !tbaa !5
  %9123 = getelementptr inbounds %struct.PDP6, ptr %9122, i32 0, i32 28
  store i64 %9121, ptr %9123, align 8, !tbaa !34
  %9124 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9124, ptr noundef @.str.65)
  %9125 = load i64, ptr @simtime, align 8, !tbaa !15
  %9126 = add i64 %9125, 100
  store i64 %9126, ptr @simtime, align 8, !tbaa !15
  %9127 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9127, ptr noundef @.str.122)
  %9128 = load ptr, ptr %2, align 8, !tbaa !5
  %9129 = getelementptr inbounds %struct.PDP6, ptr %9128, i32 0, i32 28
  %9130 = load i64, ptr %9129, align 8, !tbaa !34
  %9131 = load ptr, ptr %2, align 8, !tbaa !5
  %9132 = getelementptr inbounds %struct.PDP6, ptr %9131, i32 0, i32 31
  store i64 %9130, ptr %9132, align 8, !tbaa !39
  br label %17859

9133:                                             ; preds = %17
  %9134 = load ptr, ptr %2, align 8, !tbaa !5
  %9135 = getelementptr inbounds %struct.PDP6, ptr %9134, i32 0, i32 31
  %9136 = load i64, ptr %9135, align 8, !tbaa !39
  %9137 = load ptr, ptr %2, align 8, !tbaa !5
  %9138 = getelementptr inbounds %struct.PDP6, ptr %9137, i32 0, i32 28
  store i64 %9136, ptr %9138, align 8, !tbaa !34
  %9139 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9139, ptr noundef @.str.41)
  %9140 = load i64, ptr @simtime, align 8, !tbaa !15
  %9141 = add i64 %9140, 100
  store i64 %9141, ptr @simtime, align 8, !tbaa !15
  %9142 = load ptr, ptr %2, align 8, !tbaa !5
  %9143 = getelementptr inbounds %struct.PDP6, ptr %9142, i32 0, i32 31
  %9144 = load i64, ptr %9143, align 8, !tbaa !39
  %9145 = shl i64 %9144, 18
  %9146 = load ptr, ptr %2, align 8, !tbaa !5
  %9147 = getelementptr inbounds %struct.PDP6, ptr %9146, i32 0, i32 31
  %9148 = load i64, ptr %9147, align 8, !tbaa !39
  %9149 = lshr i64 %9148, 18
  %9150 = or i64 %9145, %9149
  %9151 = and i64 %9150, 68719476735
  %9152 = load ptr, ptr %2, align 8, !tbaa !5
  %9153 = getelementptr inbounds %struct.PDP6, ptr %9152, i32 0, i32 31
  store i64 %9151, ptr %9153, align 8, !tbaa !39
  %9154 = load ptr, ptr %2, align 8, !tbaa !5
  %9155 = getelementptr inbounds %struct.PDP6, ptr %9154, i32 0, i32 28
  store i64 0, ptr %9155, align 8, !tbaa !34
  %9156 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9156, ptr noundef @.str.42)
  %9157 = load i64, ptr @simtime, align 8, !tbaa !15
  %9158 = add i64 %9157, 100
  store i64 %9158, ptr @simtime, align 8, !tbaa !15
  %9159 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9159, ptr noundef @.str.43)
  %9160 = load ptr, ptr %2, align 8, !tbaa !5
  %9161 = getelementptr inbounds %struct.PDP6, ptr %9160, i32 0, i32 31
  %9162 = load i64, ptr %9161, align 8, !tbaa !39
  %9163 = and i64 %9162, 68719214592
  %9164 = load ptr, ptr %2, align 8, !tbaa !5
  %9165 = getelementptr inbounds %struct.PDP6, ptr %9164, i32 0, i32 28
  %9166 = load i64, ptr %9165, align 8, !tbaa !34
  %9167 = and i64 %9166, 262143
  %9168 = or i64 %9163, %9167
  %9169 = load ptr, ptr %2, align 8, !tbaa !5
  %9170 = getelementptr inbounds %struct.PDP6, ptr %9169, i32 0, i32 28
  store i64 %9168, ptr %9170, align 8, !tbaa !34
  %9171 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9171, ptr noundef @.str.65)
  %9172 = load i64, ptr @simtime, align 8, !tbaa !15
  %9173 = add i64 %9172, 100
  store i64 %9173, ptr @simtime, align 8, !tbaa !15
  %9174 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9174, ptr noundef @.str.122)
  %9175 = load ptr, ptr %2, align 8, !tbaa !5
  %9176 = getelementptr inbounds %struct.PDP6, ptr %9175, i32 0, i32 28
  %9177 = load i64, ptr %9176, align 8, !tbaa !34
  %9178 = load ptr, ptr %2, align 8, !tbaa !5
  %9179 = getelementptr inbounds %struct.PDP6, ptr %9178, i32 0, i32 31
  store i64 %9177, ptr %9179, align 8, !tbaa !39
  br label %17859

9180:                                             ; preds = %17
  %9181 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9181, ptr noundef @.str.41)
  %9182 = load i64, ptr @simtime, align 8, !tbaa !15
  %9183 = add i64 %9182, 100
  store i64 %9183, ptr @simtime, align 8, !tbaa !15
  %9184 = load ptr, ptr %2, align 8, !tbaa !5
  %9185 = getelementptr inbounds %struct.PDP6, ptr %9184, i32 0, i32 28
  store i64 0, ptr %9185, align 8, !tbaa !34
  %9186 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9186, ptr noundef @.str.42)
  %9187 = load i64, ptr @simtime, align 8, !tbaa !15
  %9188 = add i64 %9187, 100
  store i64 %9188, ptr @simtime, align 8, !tbaa !15
  %9189 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9189, ptr noundef @.str.43)
  %9190 = load ptr, ptr %2, align 8, !tbaa !5
  %9191 = getelementptr inbounds %struct.PDP6, ptr %9190, i32 0, i32 31
  %9192 = load i64, ptr %9191, align 8, !tbaa !39
  %9193 = and i64 %9192, 68719214592
  %9194 = load ptr, ptr %2, align 8, !tbaa !5
  %9195 = getelementptr inbounds %struct.PDP6, ptr %9194, i32 0, i32 28
  %9196 = load i64, ptr %9195, align 8, !tbaa !34
  %9197 = and i64 %9196, 262143
  %9198 = or i64 %9193, %9197
  %9199 = load ptr, ptr %2, align 8, !tbaa !5
  %9200 = getelementptr inbounds %struct.PDP6, ptr %9199, i32 0, i32 28
  store i64 %9198, ptr %9200, align 8, !tbaa !34
  %9201 = load ptr, ptr %2, align 8, !tbaa !5
  %9202 = getelementptr inbounds %struct.PDP6, ptr %9201, i32 0, i32 28
  %9203 = load i64, ptr %9202, align 8, !tbaa !34
  %9204 = xor i64 %9203, 262143
  store i64 %9204, ptr %9202, align 8, !tbaa !34
  %9205 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9205, ptr noundef @.str.65)
  %9206 = load i64, ptr @simtime, align 8, !tbaa !15
  %9207 = add i64 %9206, 100
  store i64 %9207, ptr @simtime, align 8, !tbaa !15
  %9208 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9208, ptr noundef @.str.122)
  br label %17859

9209:                                             ; preds = %17
  %9210 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9210, ptr noundef @.str.41)
  %9211 = load i64, ptr @simtime, align 8, !tbaa !15
  %9212 = add i64 %9211, 100
  store i64 %9212, ptr @simtime, align 8, !tbaa !15
  %9213 = load ptr, ptr %2, align 8, !tbaa !5
  %9214 = getelementptr inbounds %struct.PDP6, ptr %9213, i32 0, i32 28
  store i64 0, ptr %9214, align 8, !tbaa !34
  %9215 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9215, ptr noundef @.str.42)
  %9216 = load i64, ptr @simtime, align 8, !tbaa !15
  %9217 = add i64 %9216, 100
  store i64 %9217, ptr @simtime, align 8, !tbaa !15
  %9218 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9218, ptr noundef @.str.43)
  %9219 = load ptr, ptr %2, align 8, !tbaa !5
  %9220 = getelementptr inbounds %struct.PDP6, ptr %9219, i32 0, i32 31
  %9221 = load i64, ptr %9220, align 8, !tbaa !39
  %9222 = and i64 %9221, 68719214592
  %9223 = load ptr, ptr %2, align 8, !tbaa !5
  %9224 = getelementptr inbounds %struct.PDP6, ptr %9223, i32 0, i32 28
  %9225 = load i64, ptr %9224, align 8, !tbaa !34
  %9226 = and i64 %9225, 262143
  %9227 = or i64 %9222, %9226
  %9228 = load ptr, ptr %2, align 8, !tbaa !5
  %9229 = getelementptr inbounds %struct.PDP6, ptr %9228, i32 0, i32 28
  store i64 %9227, ptr %9229, align 8, !tbaa !34
  %9230 = load ptr, ptr %2, align 8, !tbaa !5
  %9231 = getelementptr inbounds %struct.PDP6, ptr %9230, i32 0, i32 28
  %9232 = load i64, ptr %9231, align 8, !tbaa !34
  %9233 = xor i64 %9232, 262143
  store i64 %9233, ptr %9231, align 8, !tbaa !34
  %9234 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9234, ptr noundef @.str.65)
  %9235 = load i64, ptr @simtime, align 8, !tbaa !15
  %9236 = add i64 %9235, 100
  store i64 %9236, ptr @simtime, align 8, !tbaa !15
  %9237 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9237, ptr noundef @.str.122)
  br label %17859

9238:                                             ; preds = %17
  %9239 = load ptr, ptr %2, align 8, !tbaa !5
  %9240 = getelementptr inbounds %struct.PDP6, ptr %9239, i32 0, i32 31
  %9241 = load i64, ptr %9240, align 8, !tbaa !39
  store i64 %9241, ptr %4, align 8, !tbaa !15
  %9242 = load ptr, ptr %2, align 8, !tbaa !5
  %9243 = getelementptr inbounds %struct.PDP6, ptr %9242, i32 0, i32 28
  %9244 = load i64, ptr %9243, align 8, !tbaa !34
  %9245 = load ptr, ptr %2, align 8, !tbaa !5
  %9246 = getelementptr inbounds %struct.PDP6, ptr %9245, i32 0, i32 31
  store i64 %9244, ptr %9246, align 8, !tbaa !39
  %9247 = load i64, ptr %4, align 8, !tbaa !15
  %9248 = load ptr, ptr %2, align 8, !tbaa !5
  %9249 = getelementptr inbounds %struct.PDP6, ptr %9248, i32 0, i32 28
  store i64 %9247, ptr %9249, align 8, !tbaa !34
  %9250 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9250, ptr noundef @.str.41)
  %9251 = load i64, ptr @simtime, align 8, !tbaa !15
  %9252 = add i64 %9251, 100
  store i64 %9252, ptr @simtime, align 8, !tbaa !15
  %9253 = load ptr, ptr %2, align 8, !tbaa !5
  %9254 = getelementptr inbounds %struct.PDP6, ptr %9253, i32 0, i32 28
  store i64 0, ptr %9254, align 8, !tbaa !34
  %9255 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9255, ptr noundef @.str.42)
  %9256 = load i64, ptr @simtime, align 8, !tbaa !15
  %9257 = add i64 %9256, 100
  store i64 %9257, ptr @simtime, align 8, !tbaa !15
  %9258 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9258, ptr noundef @.str.43)
  %9259 = load ptr, ptr %2, align 8, !tbaa !5
  %9260 = getelementptr inbounds %struct.PDP6, ptr %9259, i32 0, i32 31
  %9261 = load i64, ptr %9260, align 8, !tbaa !39
  %9262 = and i64 %9261, 68719214592
  %9263 = load ptr, ptr %2, align 8, !tbaa !5
  %9264 = getelementptr inbounds %struct.PDP6, ptr %9263, i32 0, i32 28
  %9265 = load i64, ptr %9264, align 8, !tbaa !34
  %9266 = and i64 %9265, 262143
  %9267 = or i64 %9262, %9266
  %9268 = load ptr, ptr %2, align 8, !tbaa !5
  %9269 = getelementptr inbounds %struct.PDP6, ptr %9268, i32 0, i32 28
  store i64 %9267, ptr %9269, align 8, !tbaa !34
  %9270 = load ptr, ptr %2, align 8, !tbaa !5
  %9271 = getelementptr inbounds %struct.PDP6, ptr %9270, i32 0, i32 28
  %9272 = load i64, ptr %9271, align 8, !tbaa !34
  %9273 = xor i64 %9272, 262143
  store i64 %9273, ptr %9271, align 8, !tbaa !34
  %9274 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9274, ptr noundef @.str.65)
  %9275 = load i64, ptr @simtime, align 8, !tbaa !15
  %9276 = add i64 %9275, 100
  store i64 %9276, ptr @simtime, align 8, !tbaa !15
  %9277 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9277, ptr noundef @.str.122)
  %9278 = load ptr, ptr %2, align 8, !tbaa !5
  %9279 = getelementptr inbounds %struct.PDP6, ptr %9278, i32 0, i32 28
  %9280 = load i64, ptr %9279, align 8, !tbaa !34
  %9281 = load ptr, ptr %2, align 8, !tbaa !5
  %9282 = getelementptr inbounds %struct.PDP6, ptr %9281, i32 0, i32 31
  store i64 %9280, ptr %9282, align 8, !tbaa !39
  br label %17859

9283:                                             ; preds = %17
  %9284 = load ptr, ptr %2, align 8, !tbaa !5
  %9285 = getelementptr inbounds %struct.PDP6, ptr %9284, i32 0, i32 31
  %9286 = load i64, ptr %9285, align 8, !tbaa !39
  %9287 = load ptr, ptr %2, align 8, !tbaa !5
  %9288 = getelementptr inbounds %struct.PDP6, ptr %9287, i32 0, i32 28
  store i64 %9286, ptr %9288, align 8, !tbaa !34
  %9289 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9289, ptr noundef @.str.41)
  %9290 = load i64, ptr @simtime, align 8, !tbaa !15
  %9291 = add i64 %9290, 100
  store i64 %9291, ptr @simtime, align 8, !tbaa !15
  %9292 = load ptr, ptr %2, align 8, !tbaa !5
  %9293 = getelementptr inbounds %struct.PDP6, ptr %9292, i32 0, i32 28
  store i64 0, ptr %9293, align 8, !tbaa !34
  %9294 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9294, ptr noundef @.str.42)
  %9295 = load i64, ptr @simtime, align 8, !tbaa !15
  %9296 = add i64 %9295, 100
  store i64 %9296, ptr @simtime, align 8, !tbaa !15
  %9297 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9297, ptr noundef @.str.43)
  %9298 = load ptr, ptr %2, align 8, !tbaa !5
  %9299 = getelementptr inbounds %struct.PDP6, ptr %9298, i32 0, i32 31
  %9300 = load i64, ptr %9299, align 8, !tbaa !39
  %9301 = and i64 %9300, 68719214592
  %9302 = load ptr, ptr %2, align 8, !tbaa !5
  %9303 = getelementptr inbounds %struct.PDP6, ptr %9302, i32 0, i32 28
  %9304 = load i64, ptr %9303, align 8, !tbaa !34
  %9305 = and i64 %9304, 262143
  %9306 = or i64 %9301, %9305
  %9307 = load ptr, ptr %2, align 8, !tbaa !5
  %9308 = getelementptr inbounds %struct.PDP6, ptr %9307, i32 0, i32 28
  store i64 %9306, ptr %9308, align 8, !tbaa !34
  %9309 = load ptr, ptr %2, align 8, !tbaa !5
  %9310 = getelementptr inbounds %struct.PDP6, ptr %9309, i32 0, i32 28
  %9311 = load i64, ptr %9310, align 8, !tbaa !34
  %9312 = xor i64 %9311, 262143
  store i64 %9312, ptr %9310, align 8, !tbaa !34
  %9313 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9313, ptr noundef @.str.65)
  %9314 = load i64, ptr @simtime, align 8, !tbaa !15
  %9315 = add i64 %9314, 100
  store i64 %9315, ptr @simtime, align 8, !tbaa !15
  %9316 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9316, ptr noundef @.str.122)
  %9317 = load ptr, ptr %2, align 8, !tbaa !5
  %9318 = getelementptr inbounds %struct.PDP6, ptr %9317, i32 0, i32 28
  %9319 = load i64, ptr %9318, align 8, !tbaa !34
  %9320 = load ptr, ptr %2, align 8, !tbaa !5
  %9321 = getelementptr inbounds %struct.PDP6, ptr %9320, i32 0, i32 31
  store i64 %9319, ptr %9321, align 8, !tbaa !39
  br label %17859

9322:                                             ; preds = %17
  %9323 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9323, ptr noundef @.str.41)
  %9324 = load i64, ptr @simtime, align 8, !tbaa !15
  %9325 = add i64 %9324, 100
  store i64 %9325, ptr @simtime, align 8, !tbaa !15
  %9326 = load ptr, ptr %2, align 8, !tbaa !5
  %9327 = getelementptr inbounds %struct.PDP6, ptr %9326, i32 0, i32 31
  %9328 = load i64, ptr %9327, align 8, !tbaa !39
  %9329 = shl i64 %9328, 18
  %9330 = load ptr, ptr %2, align 8, !tbaa !5
  %9331 = getelementptr inbounds %struct.PDP6, ptr %9330, i32 0, i32 31
  %9332 = load i64, ptr %9331, align 8, !tbaa !39
  %9333 = lshr i64 %9332, 18
  %9334 = or i64 %9329, %9333
  %9335 = and i64 %9334, 68719476735
  %9336 = load ptr, ptr %2, align 8, !tbaa !5
  %9337 = getelementptr inbounds %struct.PDP6, ptr %9336, i32 0, i32 31
  store i64 %9335, ptr %9337, align 8, !tbaa !39
  %9338 = load ptr, ptr %2, align 8, !tbaa !5
  %9339 = getelementptr inbounds %struct.PDP6, ptr %9338, i32 0, i32 28
  store i64 0, ptr %9339, align 8, !tbaa !34
  %9340 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9340, ptr noundef @.str.42)
  %9341 = load i64, ptr @simtime, align 8, !tbaa !15
  %9342 = add i64 %9341, 100
  store i64 %9342, ptr @simtime, align 8, !tbaa !15
  %9343 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9343, ptr noundef @.str.43)
  %9344 = load ptr, ptr %2, align 8, !tbaa !5
  %9345 = getelementptr inbounds %struct.PDP6, ptr %9344, i32 0, i32 31
  %9346 = load i64, ptr %9345, align 8, !tbaa !39
  %9347 = and i64 %9346, 68719214592
  %9348 = load ptr, ptr %2, align 8, !tbaa !5
  %9349 = getelementptr inbounds %struct.PDP6, ptr %9348, i32 0, i32 28
  %9350 = load i64, ptr %9349, align 8, !tbaa !34
  %9351 = and i64 %9350, 262143
  %9352 = or i64 %9347, %9351
  %9353 = load ptr, ptr %2, align 8, !tbaa !5
  %9354 = getelementptr inbounds %struct.PDP6, ptr %9353, i32 0, i32 28
  store i64 %9352, ptr %9354, align 8, !tbaa !34
  %9355 = load ptr, ptr %2, align 8, !tbaa !5
  %9356 = getelementptr inbounds %struct.PDP6, ptr %9355, i32 0, i32 28
  %9357 = load i64, ptr %9356, align 8, !tbaa !34
  %9358 = xor i64 %9357, 262143
  store i64 %9358, ptr %9356, align 8, !tbaa !34
  %9359 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9359, ptr noundef @.str.65)
  %9360 = load i64, ptr @simtime, align 8, !tbaa !15
  %9361 = add i64 %9360, 100
  store i64 %9361, ptr @simtime, align 8, !tbaa !15
  %9362 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9362, ptr noundef @.str.122)
  br label %17859

9363:                                             ; preds = %17
  %9364 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9364, ptr noundef @.str.41)
  %9365 = load i64, ptr @simtime, align 8, !tbaa !15
  %9366 = add i64 %9365, 100
  store i64 %9366, ptr @simtime, align 8, !tbaa !15
  %9367 = load ptr, ptr %2, align 8, !tbaa !5
  %9368 = getelementptr inbounds %struct.PDP6, ptr %9367, i32 0, i32 31
  %9369 = load i64, ptr %9368, align 8, !tbaa !39
  %9370 = shl i64 %9369, 18
  %9371 = load ptr, ptr %2, align 8, !tbaa !5
  %9372 = getelementptr inbounds %struct.PDP6, ptr %9371, i32 0, i32 31
  %9373 = load i64, ptr %9372, align 8, !tbaa !39
  %9374 = lshr i64 %9373, 18
  %9375 = or i64 %9370, %9374
  %9376 = and i64 %9375, 68719476735
  %9377 = load ptr, ptr %2, align 8, !tbaa !5
  %9378 = getelementptr inbounds %struct.PDP6, ptr %9377, i32 0, i32 31
  store i64 %9376, ptr %9378, align 8, !tbaa !39
  %9379 = load ptr, ptr %2, align 8, !tbaa !5
  %9380 = getelementptr inbounds %struct.PDP6, ptr %9379, i32 0, i32 28
  store i64 0, ptr %9380, align 8, !tbaa !34
  %9381 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9381, ptr noundef @.str.42)
  %9382 = load i64, ptr @simtime, align 8, !tbaa !15
  %9383 = add i64 %9382, 100
  store i64 %9383, ptr @simtime, align 8, !tbaa !15
  %9384 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9384, ptr noundef @.str.43)
  %9385 = load ptr, ptr %2, align 8, !tbaa !5
  %9386 = getelementptr inbounds %struct.PDP6, ptr %9385, i32 0, i32 31
  %9387 = load i64, ptr %9386, align 8, !tbaa !39
  %9388 = and i64 %9387, 68719214592
  %9389 = load ptr, ptr %2, align 8, !tbaa !5
  %9390 = getelementptr inbounds %struct.PDP6, ptr %9389, i32 0, i32 28
  %9391 = load i64, ptr %9390, align 8, !tbaa !34
  %9392 = and i64 %9391, 262143
  %9393 = or i64 %9388, %9392
  %9394 = load ptr, ptr %2, align 8, !tbaa !5
  %9395 = getelementptr inbounds %struct.PDP6, ptr %9394, i32 0, i32 28
  store i64 %9393, ptr %9395, align 8, !tbaa !34
  %9396 = load ptr, ptr %2, align 8, !tbaa !5
  %9397 = getelementptr inbounds %struct.PDP6, ptr %9396, i32 0, i32 28
  %9398 = load i64, ptr %9397, align 8, !tbaa !34
  %9399 = xor i64 %9398, 262143
  store i64 %9399, ptr %9397, align 8, !tbaa !34
  %9400 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9400, ptr noundef @.str.65)
  %9401 = load i64, ptr @simtime, align 8, !tbaa !15
  %9402 = add i64 %9401, 100
  store i64 %9402, ptr @simtime, align 8, !tbaa !15
  %9403 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9403, ptr noundef @.str.122)
  br label %17859

9404:                                             ; preds = %17
  %9405 = load ptr, ptr %2, align 8, !tbaa !5
  %9406 = getelementptr inbounds %struct.PDP6, ptr %9405, i32 0, i32 31
  %9407 = load i64, ptr %9406, align 8, !tbaa !39
  store i64 %9407, ptr %4, align 8, !tbaa !15
  %9408 = load ptr, ptr %2, align 8, !tbaa !5
  %9409 = getelementptr inbounds %struct.PDP6, ptr %9408, i32 0, i32 28
  %9410 = load i64, ptr %9409, align 8, !tbaa !34
  %9411 = load ptr, ptr %2, align 8, !tbaa !5
  %9412 = getelementptr inbounds %struct.PDP6, ptr %9411, i32 0, i32 31
  store i64 %9410, ptr %9412, align 8, !tbaa !39
  %9413 = load i64, ptr %4, align 8, !tbaa !15
  %9414 = load ptr, ptr %2, align 8, !tbaa !5
  %9415 = getelementptr inbounds %struct.PDP6, ptr %9414, i32 0, i32 28
  store i64 %9413, ptr %9415, align 8, !tbaa !34
  %9416 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9416, ptr noundef @.str.41)
  %9417 = load i64, ptr @simtime, align 8, !tbaa !15
  %9418 = add i64 %9417, 100
  store i64 %9418, ptr @simtime, align 8, !tbaa !15
  %9419 = load ptr, ptr %2, align 8, !tbaa !5
  %9420 = getelementptr inbounds %struct.PDP6, ptr %9419, i32 0, i32 31
  %9421 = load i64, ptr %9420, align 8, !tbaa !39
  %9422 = shl i64 %9421, 18
  %9423 = load ptr, ptr %2, align 8, !tbaa !5
  %9424 = getelementptr inbounds %struct.PDP6, ptr %9423, i32 0, i32 31
  %9425 = load i64, ptr %9424, align 8, !tbaa !39
  %9426 = lshr i64 %9425, 18
  %9427 = or i64 %9422, %9426
  %9428 = and i64 %9427, 68719476735
  %9429 = load ptr, ptr %2, align 8, !tbaa !5
  %9430 = getelementptr inbounds %struct.PDP6, ptr %9429, i32 0, i32 31
  store i64 %9428, ptr %9430, align 8, !tbaa !39
  %9431 = load ptr, ptr %2, align 8, !tbaa !5
  %9432 = getelementptr inbounds %struct.PDP6, ptr %9431, i32 0, i32 28
  store i64 0, ptr %9432, align 8, !tbaa !34
  %9433 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9433, ptr noundef @.str.42)
  %9434 = load i64, ptr @simtime, align 8, !tbaa !15
  %9435 = add i64 %9434, 100
  store i64 %9435, ptr @simtime, align 8, !tbaa !15
  %9436 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9436, ptr noundef @.str.43)
  %9437 = load ptr, ptr %2, align 8, !tbaa !5
  %9438 = getelementptr inbounds %struct.PDP6, ptr %9437, i32 0, i32 31
  %9439 = load i64, ptr %9438, align 8, !tbaa !39
  %9440 = and i64 %9439, 68719214592
  %9441 = load ptr, ptr %2, align 8, !tbaa !5
  %9442 = getelementptr inbounds %struct.PDP6, ptr %9441, i32 0, i32 28
  %9443 = load i64, ptr %9442, align 8, !tbaa !34
  %9444 = and i64 %9443, 262143
  %9445 = or i64 %9440, %9444
  %9446 = load ptr, ptr %2, align 8, !tbaa !5
  %9447 = getelementptr inbounds %struct.PDP6, ptr %9446, i32 0, i32 28
  store i64 %9445, ptr %9447, align 8, !tbaa !34
  %9448 = load ptr, ptr %2, align 8, !tbaa !5
  %9449 = getelementptr inbounds %struct.PDP6, ptr %9448, i32 0, i32 28
  %9450 = load i64, ptr %9449, align 8, !tbaa !34
  %9451 = xor i64 %9450, 262143
  store i64 %9451, ptr %9449, align 8, !tbaa !34
  %9452 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9452, ptr noundef @.str.65)
  %9453 = load i64, ptr @simtime, align 8, !tbaa !15
  %9454 = add i64 %9453, 100
  store i64 %9454, ptr @simtime, align 8, !tbaa !15
  %9455 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9455, ptr noundef @.str.122)
  %9456 = load ptr, ptr %2, align 8, !tbaa !5
  %9457 = getelementptr inbounds %struct.PDP6, ptr %9456, i32 0, i32 28
  %9458 = load i64, ptr %9457, align 8, !tbaa !34
  %9459 = load ptr, ptr %2, align 8, !tbaa !5
  %9460 = getelementptr inbounds %struct.PDP6, ptr %9459, i32 0, i32 31
  store i64 %9458, ptr %9460, align 8, !tbaa !39
  br label %17859

9461:                                             ; preds = %17
  %9462 = load ptr, ptr %2, align 8, !tbaa !5
  %9463 = getelementptr inbounds %struct.PDP6, ptr %9462, i32 0, i32 31
  %9464 = load i64, ptr %9463, align 8, !tbaa !39
  %9465 = load ptr, ptr %2, align 8, !tbaa !5
  %9466 = getelementptr inbounds %struct.PDP6, ptr %9465, i32 0, i32 28
  store i64 %9464, ptr %9466, align 8, !tbaa !34
  %9467 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9467, ptr noundef @.str.41)
  %9468 = load i64, ptr @simtime, align 8, !tbaa !15
  %9469 = add i64 %9468, 100
  store i64 %9469, ptr @simtime, align 8, !tbaa !15
  %9470 = load ptr, ptr %2, align 8, !tbaa !5
  %9471 = getelementptr inbounds %struct.PDP6, ptr %9470, i32 0, i32 31
  %9472 = load i64, ptr %9471, align 8, !tbaa !39
  %9473 = shl i64 %9472, 18
  %9474 = load ptr, ptr %2, align 8, !tbaa !5
  %9475 = getelementptr inbounds %struct.PDP6, ptr %9474, i32 0, i32 31
  %9476 = load i64, ptr %9475, align 8, !tbaa !39
  %9477 = lshr i64 %9476, 18
  %9478 = or i64 %9473, %9477
  %9479 = and i64 %9478, 68719476735
  %9480 = load ptr, ptr %2, align 8, !tbaa !5
  %9481 = getelementptr inbounds %struct.PDP6, ptr %9480, i32 0, i32 31
  store i64 %9479, ptr %9481, align 8, !tbaa !39
  %9482 = load ptr, ptr %2, align 8, !tbaa !5
  %9483 = getelementptr inbounds %struct.PDP6, ptr %9482, i32 0, i32 28
  store i64 0, ptr %9483, align 8, !tbaa !34
  %9484 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9484, ptr noundef @.str.42)
  %9485 = load i64, ptr @simtime, align 8, !tbaa !15
  %9486 = add i64 %9485, 100
  store i64 %9486, ptr @simtime, align 8, !tbaa !15
  %9487 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9487, ptr noundef @.str.43)
  %9488 = load ptr, ptr %2, align 8, !tbaa !5
  %9489 = getelementptr inbounds %struct.PDP6, ptr %9488, i32 0, i32 31
  %9490 = load i64, ptr %9489, align 8, !tbaa !39
  %9491 = and i64 %9490, 68719214592
  %9492 = load ptr, ptr %2, align 8, !tbaa !5
  %9493 = getelementptr inbounds %struct.PDP6, ptr %9492, i32 0, i32 28
  %9494 = load i64, ptr %9493, align 8, !tbaa !34
  %9495 = and i64 %9494, 262143
  %9496 = or i64 %9491, %9495
  %9497 = load ptr, ptr %2, align 8, !tbaa !5
  %9498 = getelementptr inbounds %struct.PDP6, ptr %9497, i32 0, i32 28
  store i64 %9496, ptr %9498, align 8, !tbaa !34
  %9499 = load ptr, ptr %2, align 8, !tbaa !5
  %9500 = getelementptr inbounds %struct.PDP6, ptr %9499, i32 0, i32 28
  %9501 = load i64, ptr %9500, align 8, !tbaa !34
  %9502 = xor i64 %9501, 262143
  store i64 %9502, ptr %9500, align 8, !tbaa !34
  %9503 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9503, ptr noundef @.str.65)
  %9504 = load i64, ptr @simtime, align 8, !tbaa !15
  %9505 = add i64 %9504, 100
  store i64 %9505, ptr @simtime, align 8, !tbaa !15
  %9506 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9506, ptr noundef @.str.122)
  %9507 = load ptr, ptr %2, align 8, !tbaa !5
  %9508 = getelementptr inbounds %struct.PDP6, ptr %9507, i32 0, i32 28
  %9509 = load i64, ptr %9508, align 8, !tbaa !34
  %9510 = load ptr, ptr %2, align 8, !tbaa !5
  %9511 = getelementptr inbounds %struct.PDP6, ptr %9510, i32 0, i32 31
  store i64 %9509, ptr %9511, align 8, !tbaa !39
  br label %17859

9512:                                             ; preds = %17
  %9513 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9513, ptr noundef @.str.41)
  %9514 = load i64, ptr @simtime, align 8, !tbaa !15
  %9515 = add i64 %9514, 100
  store i64 %9515, ptr @simtime, align 8, !tbaa !15
  %9516 = load ptr, ptr %2, align 8, !tbaa !5
  %9517 = getelementptr inbounds %struct.PDP6, ptr %9516, i32 0, i32 28
  store i64 0, ptr %9517, align 8, !tbaa !34
  %9518 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9518, ptr noundef @.str.42)
  %9519 = load i64, ptr @simtime, align 8, !tbaa !15
  %9520 = add i64 %9519, 100
  store i64 %9520, ptr @simtime, align 8, !tbaa !15
  %9521 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9521, ptr noundef @.str.43)
  %9522 = load ptr, ptr %2, align 8, !tbaa !5
  %9523 = getelementptr inbounds %struct.PDP6, ptr %9522, i32 0, i32 31
  %9524 = load i64, ptr %9523, align 8, !tbaa !39
  %9525 = and i64 %9524, 68719214592
  %9526 = load ptr, ptr %2, align 8, !tbaa !5
  %9527 = getelementptr inbounds %struct.PDP6, ptr %9526, i32 0, i32 28
  %9528 = load i64, ptr %9527, align 8, !tbaa !34
  %9529 = and i64 %9528, 262143
  %9530 = or i64 %9525, %9529
  %9531 = load ptr, ptr %2, align 8, !tbaa !5
  %9532 = getelementptr inbounds %struct.PDP6, ptr %9531, i32 0, i32 28
  store i64 %9530, ptr %9532, align 8, !tbaa !34
  %9533 = load ptr, ptr %2, align 8, !tbaa !5
  %9534 = getelementptr inbounds %struct.PDP6, ptr %9533, i32 0, i32 31
  %9535 = load i64, ptr %9534, align 8, !tbaa !39
  %9536 = and i64 %9535, 34359738368
  %9537 = icmp ne i64 %9536, 0
  br i1 %9537, label %9538, label %9543

9538:                                             ; preds = %9512
  %9539 = load ptr, ptr %2, align 8, !tbaa !5
  %9540 = getelementptr inbounds %struct.PDP6, ptr %9539, i32 0, i32 28
  %9541 = load i64, ptr %9540, align 8, !tbaa !34
  %9542 = xor i64 %9541, 262143
  store i64 %9542, ptr %9540, align 8, !tbaa !34
  br label %9543

9543:                                             ; preds = %9538, %9512
  %9544 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9544, ptr noundef @.str.65)
  %9545 = load i64, ptr @simtime, align 8, !tbaa !15
  %9546 = add i64 %9545, 100
  store i64 %9546, ptr @simtime, align 8, !tbaa !15
  %9547 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9547, ptr noundef @.str.122)
  br label %17859

9548:                                             ; preds = %17
  %9549 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9549, ptr noundef @.str.41)
  %9550 = load i64, ptr @simtime, align 8, !tbaa !15
  %9551 = add i64 %9550, 100
  store i64 %9551, ptr @simtime, align 8, !tbaa !15
  %9552 = load ptr, ptr %2, align 8, !tbaa !5
  %9553 = getelementptr inbounds %struct.PDP6, ptr %9552, i32 0, i32 28
  store i64 0, ptr %9553, align 8, !tbaa !34
  %9554 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9554, ptr noundef @.str.42)
  %9555 = load i64, ptr @simtime, align 8, !tbaa !15
  %9556 = add i64 %9555, 100
  store i64 %9556, ptr @simtime, align 8, !tbaa !15
  %9557 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9557, ptr noundef @.str.43)
  %9558 = load ptr, ptr %2, align 8, !tbaa !5
  %9559 = getelementptr inbounds %struct.PDP6, ptr %9558, i32 0, i32 31
  %9560 = load i64, ptr %9559, align 8, !tbaa !39
  %9561 = and i64 %9560, 68719214592
  %9562 = load ptr, ptr %2, align 8, !tbaa !5
  %9563 = getelementptr inbounds %struct.PDP6, ptr %9562, i32 0, i32 28
  %9564 = load i64, ptr %9563, align 8, !tbaa !34
  %9565 = and i64 %9564, 262143
  %9566 = or i64 %9561, %9565
  %9567 = load ptr, ptr %2, align 8, !tbaa !5
  %9568 = getelementptr inbounds %struct.PDP6, ptr %9567, i32 0, i32 28
  store i64 %9566, ptr %9568, align 8, !tbaa !34
  %9569 = load ptr, ptr %2, align 8, !tbaa !5
  %9570 = getelementptr inbounds %struct.PDP6, ptr %9569, i32 0, i32 31
  %9571 = load i64, ptr %9570, align 8, !tbaa !39
  %9572 = and i64 %9571, 34359738368
  %9573 = icmp ne i64 %9572, 0
  br i1 %9573, label %9574, label %9579

9574:                                             ; preds = %9548
  %9575 = load ptr, ptr %2, align 8, !tbaa !5
  %9576 = getelementptr inbounds %struct.PDP6, ptr %9575, i32 0, i32 28
  %9577 = load i64, ptr %9576, align 8, !tbaa !34
  %9578 = xor i64 %9577, 262143
  store i64 %9578, ptr %9576, align 8, !tbaa !34
  br label %9579

9579:                                             ; preds = %9574, %9548
  %9580 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9580, ptr noundef @.str.65)
  %9581 = load i64, ptr @simtime, align 8, !tbaa !15
  %9582 = add i64 %9581, 100
  store i64 %9582, ptr @simtime, align 8, !tbaa !15
  %9583 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9583, ptr noundef @.str.122)
  br label %17859

9584:                                             ; preds = %17
  %9585 = load ptr, ptr %2, align 8, !tbaa !5
  %9586 = getelementptr inbounds %struct.PDP6, ptr %9585, i32 0, i32 31
  %9587 = load i64, ptr %9586, align 8, !tbaa !39
  store i64 %9587, ptr %4, align 8, !tbaa !15
  %9588 = load ptr, ptr %2, align 8, !tbaa !5
  %9589 = getelementptr inbounds %struct.PDP6, ptr %9588, i32 0, i32 28
  %9590 = load i64, ptr %9589, align 8, !tbaa !34
  %9591 = load ptr, ptr %2, align 8, !tbaa !5
  %9592 = getelementptr inbounds %struct.PDP6, ptr %9591, i32 0, i32 31
  store i64 %9590, ptr %9592, align 8, !tbaa !39
  %9593 = load i64, ptr %4, align 8, !tbaa !15
  %9594 = load ptr, ptr %2, align 8, !tbaa !5
  %9595 = getelementptr inbounds %struct.PDP6, ptr %9594, i32 0, i32 28
  store i64 %9593, ptr %9595, align 8, !tbaa !34
  %9596 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9596, ptr noundef @.str.41)
  %9597 = load i64, ptr @simtime, align 8, !tbaa !15
  %9598 = add i64 %9597, 100
  store i64 %9598, ptr @simtime, align 8, !tbaa !15
  %9599 = load ptr, ptr %2, align 8, !tbaa !5
  %9600 = getelementptr inbounds %struct.PDP6, ptr %9599, i32 0, i32 28
  store i64 0, ptr %9600, align 8, !tbaa !34
  %9601 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9601, ptr noundef @.str.42)
  %9602 = load i64, ptr @simtime, align 8, !tbaa !15
  %9603 = add i64 %9602, 100
  store i64 %9603, ptr @simtime, align 8, !tbaa !15
  %9604 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9604, ptr noundef @.str.43)
  %9605 = load ptr, ptr %2, align 8, !tbaa !5
  %9606 = getelementptr inbounds %struct.PDP6, ptr %9605, i32 0, i32 31
  %9607 = load i64, ptr %9606, align 8, !tbaa !39
  %9608 = and i64 %9607, 68719214592
  %9609 = load ptr, ptr %2, align 8, !tbaa !5
  %9610 = getelementptr inbounds %struct.PDP6, ptr %9609, i32 0, i32 28
  %9611 = load i64, ptr %9610, align 8, !tbaa !34
  %9612 = and i64 %9611, 262143
  %9613 = or i64 %9608, %9612
  %9614 = load ptr, ptr %2, align 8, !tbaa !5
  %9615 = getelementptr inbounds %struct.PDP6, ptr %9614, i32 0, i32 28
  store i64 %9613, ptr %9615, align 8, !tbaa !34
  %9616 = load ptr, ptr %2, align 8, !tbaa !5
  %9617 = getelementptr inbounds %struct.PDP6, ptr %9616, i32 0, i32 31
  %9618 = load i64, ptr %9617, align 8, !tbaa !39
  %9619 = and i64 %9618, 34359738368
  %9620 = icmp ne i64 %9619, 0
  br i1 %9620, label %9621, label %9626

9621:                                             ; preds = %9584
  %9622 = load ptr, ptr %2, align 8, !tbaa !5
  %9623 = getelementptr inbounds %struct.PDP6, ptr %9622, i32 0, i32 28
  %9624 = load i64, ptr %9623, align 8, !tbaa !34
  %9625 = xor i64 %9624, 262143
  store i64 %9625, ptr %9623, align 8, !tbaa !34
  br label %9626

9626:                                             ; preds = %9621, %9584
  %9627 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9627, ptr noundef @.str.65)
  %9628 = load i64, ptr @simtime, align 8, !tbaa !15
  %9629 = add i64 %9628, 100
  store i64 %9629, ptr @simtime, align 8, !tbaa !15
  %9630 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9630, ptr noundef @.str.122)
  %9631 = load ptr, ptr %2, align 8, !tbaa !5
  %9632 = getelementptr inbounds %struct.PDP6, ptr %9631, i32 0, i32 28
  %9633 = load i64, ptr %9632, align 8, !tbaa !34
  %9634 = load ptr, ptr %2, align 8, !tbaa !5
  %9635 = getelementptr inbounds %struct.PDP6, ptr %9634, i32 0, i32 31
  store i64 %9633, ptr %9635, align 8, !tbaa !39
  br label %17859

9636:                                             ; preds = %17
  %9637 = load ptr, ptr %2, align 8, !tbaa !5
  %9638 = getelementptr inbounds %struct.PDP6, ptr %9637, i32 0, i32 31
  %9639 = load i64, ptr %9638, align 8, !tbaa !39
  %9640 = load ptr, ptr %2, align 8, !tbaa !5
  %9641 = getelementptr inbounds %struct.PDP6, ptr %9640, i32 0, i32 28
  store i64 %9639, ptr %9641, align 8, !tbaa !34
  %9642 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9642, ptr noundef @.str.41)
  %9643 = load i64, ptr @simtime, align 8, !tbaa !15
  %9644 = add i64 %9643, 100
  store i64 %9644, ptr @simtime, align 8, !tbaa !15
  %9645 = load ptr, ptr %2, align 8, !tbaa !5
  %9646 = getelementptr inbounds %struct.PDP6, ptr %9645, i32 0, i32 28
  store i64 0, ptr %9646, align 8, !tbaa !34
  %9647 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9647, ptr noundef @.str.42)
  %9648 = load i64, ptr @simtime, align 8, !tbaa !15
  %9649 = add i64 %9648, 100
  store i64 %9649, ptr @simtime, align 8, !tbaa !15
  %9650 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9650, ptr noundef @.str.43)
  %9651 = load ptr, ptr %2, align 8, !tbaa !5
  %9652 = getelementptr inbounds %struct.PDP6, ptr %9651, i32 0, i32 31
  %9653 = load i64, ptr %9652, align 8, !tbaa !39
  %9654 = and i64 %9653, 68719214592
  %9655 = load ptr, ptr %2, align 8, !tbaa !5
  %9656 = getelementptr inbounds %struct.PDP6, ptr %9655, i32 0, i32 28
  %9657 = load i64, ptr %9656, align 8, !tbaa !34
  %9658 = and i64 %9657, 262143
  %9659 = or i64 %9654, %9658
  %9660 = load ptr, ptr %2, align 8, !tbaa !5
  %9661 = getelementptr inbounds %struct.PDP6, ptr %9660, i32 0, i32 28
  store i64 %9659, ptr %9661, align 8, !tbaa !34
  %9662 = load ptr, ptr %2, align 8, !tbaa !5
  %9663 = getelementptr inbounds %struct.PDP6, ptr %9662, i32 0, i32 31
  %9664 = load i64, ptr %9663, align 8, !tbaa !39
  %9665 = and i64 %9664, 34359738368
  %9666 = icmp ne i64 %9665, 0
  br i1 %9666, label %9667, label %9672

9667:                                             ; preds = %9636
  %9668 = load ptr, ptr %2, align 8, !tbaa !5
  %9669 = getelementptr inbounds %struct.PDP6, ptr %9668, i32 0, i32 28
  %9670 = load i64, ptr %9669, align 8, !tbaa !34
  %9671 = xor i64 %9670, 262143
  store i64 %9671, ptr %9669, align 8, !tbaa !34
  br label %9672

9672:                                             ; preds = %9667, %9636
  %9673 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9673, ptr noundef @.str.65)
  %9674 = load i64, ptr @simtime, align 8, !tbaa !15
  %9675 = add i64 %9674, 100
  store i64 %9675, ptr @simtime, align 8, !tbaa !15
  %9676 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9676, ptr noundef @.str.122)
  %9677 = load ptr, ptr %2, align 8, !tbaa !5
  %9678 = getelementptr inbounds %struct.PDP6, ptr %9677, i32 0, i32 28
  %9679 = load i64, ptr %9678, align 8, !tbaa !34
  %9680 = load ptr, ptr %2, align 8, !tbaa !5
  %9681 = getelementptr inbounds %struct.PDP6, ptr %9680, i32 0, i32 31
  store i64 %9679, ptr %9681, align 8, !tbaa !39
  br label %17859

9682:                                             ; preds = %17
  %9683 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9683, ptr noundef @.str.41)
  %9684 = load i64, ptr @simtime, align 8, !tbaa !15
  %9685 = add i64 %9684, 100
  store i64 %9685, ptr @simtime, align 8, !tbaa !15
  %9686 = load ptr, ptr %2, align 8, !tbaa !5
  %9687 = getelementptr inbounds %struct.PDP6, ptr %9686, i32 0, i32 31
  %9688 = load i64, ptr %9687, align 8, !tbaa !39
  %9689 = shl i64 %9688, 18
  %9690 = load ptr, ptr %2, align 8, !tbaa !5
  %9691 = getelementptr inbounds %struct.PDP6, ptr %9690, i32 0, i32 31
  %9692 = load i64, ptr %9691, align 8, !tbaa !39
  %9693 = lshr i64 %9692, 18
  %9694 = or i64 %9689, %9693
  %9695 = and i64 %9694, 68719476735
  %9696 = load ptr, ptr %2, align 8, !tbaa !5
  %9697 = getelementptr inbounds %struct.PDP6, ptr %9696, i32 0, i32 31
  store i64 %9695, ptr %9697, align 8, !tbaa !39
  %9698 = load ptr, ptr %2, align 8, !tbaa !5
  %9699 = getelementptr inbounds %struct.PDP6, ptr %9698, i32 0, i32 28
  store i64 0, ptr %9699, align 8, !tbaa !34
  %9700 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9700, ptr noundef @.str.42)
  %9701 = load i64, ptr @simtime, align 8, !tbaa !15
  %9702 = add i64 %9701, 100
  store i64 %9702, ptr @simtime, align 8, !tbaa !15
  %9703 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9703, ptr noundef @.str.43)
  %9704 = load ptr, ptr %2, align 8, !tbaa !5
  %9705 = getelementptr inbounds %struct.PDP6, ptr %9704, i32 0, i32 31
  %9706 = load i64, ptr %9705, align 8, !tbaa !39
  %9707 = and i64 %9706, 68719214592
  %9708 = load ptr, ptr %2, align 8, !tbaa !5
  %9709 = getelementptr inbounds %struct.PDP6, ptr %9708, i32 0, i32 28
  %9710 = load i64, ptr %9709, align 8, !tbaa !34
  %9711 = and i64 %9710, 262143
  %9712 = or i64 %9707, %9711
  %9713 = load ptr, ptr %2, align 8, !tbaa !5
  %9714 = getelementptr inbounds %struct.PDP6, ptr %9713, i32 0, i32 28
  store i64 %9712, ptr %9714, align 8, !tbaa !34
  %9715 = load ptr, ptr %2, align 8, !tbaa !5
  %9716 = getelementptr inbounds %struct.PDP6, ptr %9715, i32 0, i32 31
  %9717 = load i64, ptr %9716, align 8, !tbaa !39
  %9718 = and i64 %9717, 34359738368
  %9719 = icmp ne i64 %9718, 0
  br i1 %9719, label %9720, label %9725

9720:                                             ; preds = %9682
  %9721 = load ptr, ptr %2, align 8, !tbaa !5
  %9722 = getelementptr inbounds %struct.PDP6, ptr %9721, i32 0, i32 28
  %9723 = load i64, ptr %9722, align 8, !tbaa !34
  %9724 = xor i64 %9723, 262143
  store i64 %9724, ptr %9722, align 8, !tbaa !34
  br label %9725

9725:                                             ; preds = %9720, %9682
  %9726 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9726, ptr noundef @.str.65)
  %9727 = load i64, ptr @simtime, align 8, !tbaa !15
  %9728 = add i64 %9727, 100
  store i64 %9728, ptr @simtime, align 8, !tbaa !15
  %9729 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9729, ptr noundef @.str.122)
  br label %17859

9730:                                             ; preds = %17
  %9731 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9731, ptr noundef @.str.41)
  %9732 = load i64, ptr @simtime, align 8, !tbaa !15
  %9733 = add i64 %9732, 100
  store i64 %9733, ptr @simtime, align 8, !tbaa !15
  %9734 = load ptr, ptr %2, align 8, !tbaa !5
  %9735 = getelementptr inbounds %struct.PDP6, ptr %9734, i32 0, i32 31
  %9736 = load i64, ptr %9735, align 8, !tbaa !39
  %9737 = shl i64 %9736, 18
  %9738 = load ptr, ptr %2, align 8, !tbaa !5
  %9739 = getelementptr inbounds %struct.PDP6, ptr %9738, i32 0, i32 31
  %9740 = load i64, ptr %9739, align 8, !tbaa !39
  %9741 = lshr i64 %9740, 18
  %9742 = or i64 %9737, %9741
  %9743 = and i64 %9742, 68719476735
  %9744 = load ptr, ptr %2, align 8, !tbaa !5
  %9745 = getelementptr inbounds %struct.PDP6, ptr %9744, i32 0, i32 31
  store i64 %9743, ptr %9745, align 8, !tbaa !39
  %9746 = load ptr, ptr %2, align 8, !tbaa !5
  %9747 = getelementptr inbounds %struct.PDP6, ptr %9746, i32 0, i32 28
  store i64 0, ptr %9747, align 8, !tbaa !34
  %9748 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9748, ptr noundef @.str.42)
  %9749 = load i64, ptr @simtime, align 8, !tbaa !15
  %9750 = add i64 %9749, 100
  store i64 %9750, ptr @simtime, align 8, !tbaa !15
  %9751 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9751, ptr noundef @.str.43)
  %9752 = load ptr, ptr %2, align 8, !tbaa !5
  %9753 = getelementptr inbounds %struct.PDP6, ptr %9752, i32 0, i32 31
  %9754 = load i64, ptr %9753, align 8, !tbaa !39
  %9755 = and i64 %9754, 68719214592
  %9756 = load ptr, ptr %2, align 8, !tbaa !5
  %9757 = getelementptr inbounds %struct.PDP6, ptr %9756, i32 0, i32 28
  %9758 = load i64, ptr %9757, align 8, !tbaa !34
  %9759 = and i64 %9758, 262143
  %9760 = or i64 %9755, %9759
  %9761 = load ptr, ptr %2, align 8, !tbaa !5
  %9762 = getelementptr inbounds %struct.PDP6, ptr %9761, i32 0, i32 28
  store i64 %9760, ptr %9762, align 8, !tbaa !34
  %9763 = load ptr, ptr %2, align 8, !tbaa !5
  %9764 = getelementptr inbounds %struct.PDP6, ptr %9763, i32 0, i32 31
  %9765 = load i64, ptr %9764, align 8, !tbaa !39
  %9766 = and i64 %9765, 34359738368
  %9767 = icmp ne i64 %9766, 0
  br i1 %9767, label %9768, label %9773

9768:                                             ; preds = %9730
  %9769 = load ptr, ptr %2, align 8, !tbaa !5
  %9770 = getelementptr inbounds %struct.PDP6, ptr %9769, i32 0, i32 28
  %9771 = load i64, ptr %9770, align 8, !tbaa !34
  %9772 = xor i64 %9771, 262143
  store i64 %9772, ptr %9770, align 8, !tbaa !34
  br label %9773

9773:                                             ; preds = %9768, %9730
  %9774 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9774, ptr noundef @.str.65)
  %9775 = load i64, ptr @simtime, align 8, !tbaa !15
  %9776 = add i64 %9775, 100
  store i64 %9776, ptr @simtime, align 8, !tbaa !15
  %9777 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9777, ptr noundef @.str.122)
  br label %17859

9778:                                             ; preds = %17
  %9779 = load ptr, ptr %2, align 8, !tbaa !5
  %9780 = getelementptr inbounds %struct.PDP6, ptr %9779, i32 0, i32 31
  %9781 = load i64, ptr %9780, align 8, !tbaa !39
  store i64 %9781, ptr %4, align 8, !tbaa !15
  %9782 = load ptr, ptr %2, align 8, !tbaa !5
  %9783 = getelementptr inbounds %struct.PDP6, ptr %9782, i32 0, i32 28
  %9784 = load i64, ptr %9783, align 8, !tbaa !34
  %9785 = load ptr, ptr %2, align 8, !tbaa !5
  %9786 = getelementptr inbounds %struct.PDP6, ptr %9785, i32 0, i32 31
  store i64 %9784, ptr %9786, align 8, !tbaa !39
  %9787 = load i64, ptr %4, align 8, !tbaa !15
  %9788 = load ptr, ptr %2, align 8, !tbaa !5
  %9789 = getelementptr inbounds %struct.PDP6, ptr %9788, i32 0, i32 28
  store i64 %9787, ptr %9789, align 8, !tbaa !34
  %9790 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9790, ptr noundef @.str.41)
  %9791 = load i64, ptr @simtime, align 8, !tbaa !15
  %9792 = add i64 %9791, 100
  store i64 %9792, ptr @simtime, align 8, !tbaa !15
  %9793 = load ptr, ptr %2, align 8, !tbaa !5
  %9794 = getelementptr inbounds %struct.PDP6, ptr %9793, i32 0, i32 31
  %9795 = load i64, ptr %9794, align 8, !tbaa !39
  %9796 = shl i64 %9795, 18
  %9797 = load ptr, ptr %2, align 8, !tbaa !5
  %9798 = getelementptr inbounds %struct.PDP6, ptr %9797, i32 0, i32 31
  %9799 = load i64, ptr %9798, align 8, !tbaa !39
  %9800 = lshr i64 %9799, 18
  %9801 = or i64 %9796, %9800
  %9802 = and i64 %9801, 68719476735
  %9803 = load ptr, ptr %2, align 8, !tbaa !5
  %9804 = getelementptr inbounds %struct.PDP6, ptr %9803, i32 0, i32 31
  store i64 %9802, ptr %9804, align 8, !tbaa !39
  %9805 = load ptr, ptr %2, align 8, !tbaa !5
  %9806 = getelementptr inbounds %struct.PDP6, ptr %9805, i32 0, i32 28
  store i64 0, ptr %9806, align 8, !tbaa !34
  %9807 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9807, ptr noundef @.str.42)
  %9808 = load i64, ptr @simtime, align 8, !tbaa !15
  %9809 = add i64 %9808, 100
  store i64 %9809, ptr @simtime, align 8, !tbaa !15
  %9810 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9810, ptr noundef @.str.43)
  %9811 = load ptr, ptr %2, align 8, !tbaa !5
  %9812 = getelementptr inbounds %struct.PDP6, ptr %9811, i32 0, i32 31
  %9813 = load i64, ptr %9812, align 8, !tbaa !39
  %9814 = and i64 %9813, 68719214592
  %9815 = load ptr, ptr %2, align 8, !tbaa !5
  %9816 = getelementptr inbounds %struct.PDP6, ptr %9815, i32 0, i32 28
  %9817 = load i64, ptr %9816, align 8, !tbaa !34
  %9818 = and i64 %9817, 262143
  %9819 = or i64 %9814, %9818
  %9820 = load ptr, ptr %2, align 8, !tbaa !5
  %9821 = getelementptr inbounds %struct.PDP6, ptr %9820, i32 0, i32 28
  store i64 %9819, ptr %9821, align 8, !tbaa !34
  %9822 = load ptr, ptr %2, align 8, !tbaa !5
  %9823 = getelementptr inbounds %struct.PDP6, ptr %9822, i32 0, i32 31
  %9824 = load i64, ptr %9823, align 8, !tbaa !39
  %9825 = and i64 %9824, 34359738368
  %9826 = icmp ne i64 %9825, 0
  br i1 %9826, label %9827, label %9832

9827:                                             ; preds = %9778
  %9828 = load ptr, ptr %2, align 8, !tbaa !5
  %9829 = getelementptr inbounds %struct.PDP6, ptr %9828, i32 0, i32 28
  %9830 = load i64, ptr %9829, align 8, !tbaa !34
  %9831 = xor i64 %9830, 262143
  store i64 %9831, ptr %9829, align 8, !tbaa !34
  br label %9832

9832:                                             ; preds = %9827, %9778
  %9833 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9833, ptr noundef @.str.65)
  %9834 = load i64, ptr @simtime, align 8, !tbaa !15
  %9835 = add i64 %9834, 100
  store i64 %9835, ptr @simtime, align 8, !tbaa !15
  %9836 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9836, ptr noundef @.str.122)
  %9837 = load ptr, ptr %2, align 8, !tbaa !5
  %9838 = getelementptr inbounds %struct.PDP6, ptr %9837, i32 0, i32 28
  %9839 = load i64, ptr %9838, align 8, !tbaa !34
  %9840 = load ptr, ptr %2, align 8, !tbaa !5
  %9841 = getelementptr inbounds %struct.PDP6, ptr %9840, i32 0, i32 31
  store i64 %9839, ptr %9841, align 8, !tbaa !39
  br label %17859

9842:                                             ; preds = %17
  %9843 = load ptr, ptr %2, align 8, !tbaa !5
  %9844 = getelementptr inbounds %struct.PDP6, ptr %9843, i32 0, i32 31
  %9845 = load i64, ptr %9844, align 8, !tbaa !39
  %9846 = load ptr, ptr %2, align 8, !tbaa !5
  %9847 = getelementptr inbounds %struct.PDP6, ptr %9846, i32 0, i32 28
  store i64 %9845, ptr %9847, align 8, !tbaa !34
  %9848 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9848, ptr noundef @.str.41)
  %9849 = load i64, ptr @simtime, align 8, !tbaa !15
  %9850 = add i64 %9849, 100
  store i64 %9850, ptr @simtime, align 8, !tbaa !15
  %9851 = load ptr, ptr %2, align 8, !tbaa !5
  %9852 = getelementptr inbounds %struct.PDP6, ptr %9851, i32 0, i32 31
  %9853 = load i64, ptr %9852, align 8, !tbaa !39
  %9854 = shl i64 %9853, 18
  %9855 = load ptr, ptr %2, align 8, !tbaa !5
  %9856 = getelementptr inbounds %struct.PDP6, ptr %9855, i32 0, i32 31
  %9857 = load i64, ptr %9856, align 8, !tbaa !39
  %9858 = lshr i64 %9857, 18
  %9859 = or i64 %9854, %9858
  %9860 = and i64 %9859, 68719476735
  %9861 = load ptr, ptr %2, align 8, !tbaa !5
  %9862 = getelementptr inbounds %struct.PDP6, ptr %9861, i32 0, i32 31
  store i64 %9860, ptr %9862, align 8, !tbaa !39
  %9863 = load ptr, ptr %2, align 8, !tbaa !5
  %9864 = getelementptr inbounds %struct.PDP6, ptr %9863, i32 0, i32 28
  store i64 0, ptr %9864, align 8, !tbaa !34
  %9865 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9865, ptr noundef @.str.42)
  %9866 = load i64, ptr @simtime, align 8, !tbaa !15
  %9867 = add i64 %9866, 100
  store i64 %9867, ptr @simtime, align 8, !tbaa !15
  %9868 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9868, ptr noundef @.str.43)
  %9869 = load ptr, ptr %2, align 8, !tbaa !5
  %9870 = getelementptr inbounds %struct.PDP6, ptr %9869, i32 0, i32 31
  %9871 = load i64, ptr %9870, align 8, !tbaa !39
  %9872 = and i64 %9871, 68719214592
  %9873 = load ptr, ptr %2, align 8, !tbaa !5
  %9874 = getelementptr inbounds %struct.PDP6, ptr %9873, i32 0, i32 28
  %9875 = load i64, ptr %9874, align 8, !tbaa !34
  %9876 = and i64 %9875, 262143
  %9877 = or i64 %9872, %9876
  %9878 = load ptr, ptr %2, align 8, !tbaa !5
  %9879 = getelementptr inbounds %struct.PDP6, ptr %9878, i32 0, i32 28
  store i64 %9877, ptr %9879, align 8, !tbaa !34
  %9880 = load ptr, ptr %2, align 8, !tbaa !5
  %9881 = getelementptr inbounds %struct.PDP6, ptr %9880, i32 0, i32 31
  %9882 = load i64, ptr %9881, align 8, !tbaa !39
  %9883 = and i64 %9882, 34359738368
  %9884 = icmp ne i64 %9883, 0
  br i1 %9884, label %9885, label %9890

9885:                                             ; preds = %9842
  %9886 = load ptr, ptr %2, align 8, !tbaa !5
  %9887 = getelementptr inbounds %struct.PDP6, ptr %9886, i32 0, i32 28
  %9888 = load i64, ptr %9887, align 8, !tbaa !34
  %9889 = xor i64 %9888, 262143
  store i64 %9889, ptr %9887, align 8, !tbaa !34
  br label %9890

9890:                                             ; preds = %9885, %9842
  %9891 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9891, ptr noundef @.str.65)
  %9892 = load i64, ptr @simtime, align 8, !tbaa !15
  %9893 = add i64 %9892, 100
  store i64 %9893, ptr @simtime, align 8, !tbaa !15
  %9894 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9894, ptr noundef @.str.122)
  %9895 = load ptr, ptr %2, align 8, !tbaa !5
  %9896 = getelementptr inbounds %struct.PDP6, ptr %9895, i32 0, i32 28
  %9897 = load i64, ptr %9896, align 8, !tbaa !34
  %9898 = load ptr, ptr %2, align 8, !tbaa !5
  %9899 = getelementptr inbounds %struct.PDP6, ptr %9898, i32 0, i32 31
  store i64 %9897, ptr %9899, align 8, !tbaa !39
  br label %17859

9900:                                             ; preds = %17
  %9901 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9901, ptr noundef @.str.41)
  %9902 = load i64, ptr @simtime, align 8, !tbaa !15
  %9903 = add i64 %9902, 100
  store i64 %9903, ptr @simtime, align 8, !tbaa !15
  %9904 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9904, ptr noundef @.str.42)
  %9905 = load i64, ptr @simtime, align 8, !tbaa !15
  %9906 = add i64 %9905, 100
  store i64 %9906, ptr @simtime, align 8, !tbaa !15
  %9907 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9907, ptr noundef @.str.43)
  %9908 = load ptr, ptr %2, align 8, !tbaa !5
  %9909 = getelementptr inbounds %struct.PDP6, ptr %9908, i32 0, i32 28
  %9910 = load i64, ptr %9909, align 8, !tbaa !34
  %9911 = and i64 %9910, 68719214592
  %9912 = load ptr, ptr %2, align 8, !tbaa !5
  %9913 = getelementptr inbounds %struct.PDP6, ptr %9912, i32 0, i32 31
  %9914 = load i64, ptr %9913, align 8, !tbaa !39
  %9915 = and i64 %9914, 262143
  %9916 = or i64 %9911, %9915
  %9917 = load ptr, ptr %2, align 8, !tbaa !5
  %9918 = getelementptr inbounds %struct.PDP6, ptr %9917, i32 0, i32 28
  store i64 %9916, ptr %9918, align 8, !tbaa !34
  %9919 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9919, ptr noundef @.str.65)
  %9920 = load i64, ptr @simtime, align 8, !tbaa !15
  %9921 = add i64 %9920, 100
  store i64 %9921, ptr @simtime, align 8, !tbaa !15
  %9922 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9922, ptr noundef @.str.122)
  br label %17859

9923:                                             ; preds = %17
  %9924 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9924, ptr noundef @.str.41)
  %9925 = load i64, ptr @simtime, align 8, !tbaa !15
  %9926 = add i64 %9925, 100
  store i64 %9926, ptr @simtime, align 8, !tbaa !15
  %9927 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9927, ptr noundef @.str.42)
  %9928 = load i64, ptr @simtime, align 8, !tbaa !15
  %9929 = add i64 %9928, 100
  store i64 %9929, ptr @simtime, align 8, !tbaa !15
  %9930 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9930, ptr noundef @.str.43)
  %9931 = load ptr, ptr %2, align 8, !tbaa !5
  %9932 = getelementptr inbounds %struct.PDP6, ptr %9931, i32 0, i32 28
  %9933 = load i64, ptr %9932, align 8, !tbaa !34
  %9934 = and i64 %9933, 68719214592
  %9935 = load ptr, ptr %2, align 8, !tbaa !5
  %9936 = getelementptr inbounds %struct.PDP6, ptr %9935, i32 0, i32 31
  %9937 = load i64, ptr %9936, align 8, !tbaa !39
  %9938 = and i64 %9937, 262143
  %9939 = or i64 %9934, %9938
  %9940 = load ptr, ptr %2, align 8, !tbaa !5
  %9941 = getelementptr inbounds %struct.PDP6, ptr %9940, i32 0, i32 28
  store i64 %9939, ptr %9941, align 8, !tbaa !34
  %9942 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9942, ptr noundef @.str.65)
  %9943 = load i64, ptr @simtime, align 8, !tbaa !15
  %9944 = add i64 %9943, 100
  store i64 %9944, ptr @simtime, align 8, !tbaa !15
  %9945 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9945, ptr noundef @.str.122)
  br label %17859

9946:                                             ; preds = %17
  %9947 = load ptr, ptr %2, align 8, !tbaa !5
  %9948 = getelementptr inbounds %struct.PDP6, ptr %9947, i32 0, i32 31
  %9949 = load i64, ptr %9948, align 8, !tbaa !39
  store i64 %9949, ptr %4, align 8, !tbaa !15
  %9950 = load ptr, ptr %2, align 8, !tbaa !5
  %9951 = getelementptr inbounds %struct.PDP6, ptr %9950, i32 0, i32 28
  %9952 = load i64, ptr %9951, align 8, !tbaa !34
  %9953 = load ptr, ptr %2, align 8, !tbaa !5
  %9954 = getelementptr inbounds %struct.PDP6, ptr %9953, i32 0, i32 31
  store i64 %9952, ptr %9954, align 8, !tbaa !39
  %9955 = load i64, ptr %4, align 8, !tbaa !15
  %9956 = load ptr, ptr %2, align 8, !tbaa !5
  %9957 = getelementptr inbounds %struct.PDP6, ptr %9956, i32 0, i32 28
  store i64 %9955, ptr %9957, align 8, !tbaa !34
  %9958 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9958, ptr noundef @.str.41)
  %9959 = load i64, ptr @simtime, align 8, !tbaa !15
  %9960 = add i64 %9959, 100
  store i64 %9960, ptr @simtime, align 8, !tbaa !15
  %9961 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9961, ptr noundef @.str.42)
  %9962 = load i64, ptr @simtime, align 8, !tbaa !15
  %9963 = add i64 %9962, 100
  store i64 %9963, ptr @simtime, align 8, !tbaa !15
  %9964 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9964, ptr noundef @.str.43)
  %9965 = load ptr, ptr %2, align 8, !tbaa !5
  %9966 = getelementptr inbounds %struct.PDP6, ptr %9965, i32 0, i32 28
  %9967 = load i64, ptr %9966, align 8, !tbaa !34
  %9968 = and i64 %9967, 68719214592
  %9969 = load ptr, ptr %2, align 8, !tbaa !5
  %9970 = getelementptr inbounds %struct.PDP6, ptr %9969, i32 0, i32 31
  %9971 = load i64, ptr %9970, align 8, !tbaa !39
  %9972 = and i64 %9971, 262143
  %9973 = or i64 %9968, %9972
  %9974 = load ptr, ptr %2, align 8, !tbaa !5
  %9975 = getelementptr inbounds %struct.PDP6, ptr %9974, i32 0, i32 28
  store i64 %9973, ptr %9975, align 8, !tbaa !34
  %9976 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9976, ptr noundef @.str.65)
  %9977 = load i64, ptr @simtime, align 8, !tbaa !15
  %9978 = add i64 %9977, 100
  store i64 %9978, ptr @simtime, align 8, !tbaa !15
  %9979 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9979, ptr noundef @.str.122)
  %9980 = load ptr, ptr %2, align 8, !tbaa !5
  %9981 = getelementptr inbounds %struct.PDP6, ptr %9980, i32 0, i32 28
  %9982 = load i64, ptr %9981, align 8, !tbaa !34
  %9983 = load ptr, ptr %2, align 8, !tbaa !5
  %9984 = getelementptr inbounds %struct.PDP6, ptr %9983, i32 0, i32 31
  store i64 %9982, ptr %9984, align 8, !tbaa !39
  br label %17859

9985:                                             ; preds = %17
  %9986 = load ptr, ptr %2, align 8, !tbaa !5
  %9987 = getelementptr inbounds %struct.PDP6, ptr %9986, i32 0, i32 31
  %9988 = load i64, ptr %9987, align 8, !tbaa !39
  %9989 = load ptr, ptr %2, align 8, !tbaa !5
  %9990 = getelementptr inbounds %struct.PDP6, ptr %9989, i32 0, i32 28
  store i64 %9988, ptr %9990, align 8, !tbaa !34
  %9991 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9991, ptr noundef @.str.41)
  %9992 = load i64, ptr @simtime, align 8, !tbaa !15
  %9993 = add i64 %9992, 100
  store i64 %9993, ptr @simtime, align 8, !tbaa !15
  %9994 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9994, ptr noundef @.str.42)
  %9995 = load i64, ptr @simtime, align 8, !tbaa !15
  %9996 = add i64 %9995, 100
  store i64 %9996, ptr @simtime, align 8, !tbaa !15
  %9997 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %9997, ptr noundef @.str.43)
  %9998 = load ptr, ptr %2, align 8, !tbaa !5
  %9999 = getelementptr inbounds %struct.PDP6, ptr %9998, i32 0, i32 28
  %10000 = load i64, ptr %9999, align 8, !tbaa !34
  %10001 = and i64 %10000, 68719214592
  %10002 = load ptr, ptr %2, align 8, !tbaa !5
  %10003 = getelementptr inbounds %struct.PDP6, ptr %10002, i32 0, i32 31
  %10004 = load i64, ptr %10003, align 8, !tbaa !39
  %10005 = and i64 %10004, 262143
  %10006 = or i64 %10001, %10005
  %10007 = load ptr, ptr %2, align 8, !tbaa !5
  %10008 = getelementptr inbounds %struct.PDP6, ptr %10007, i32 0, i32 28
  store i64 %10006, ptr %10008, align 8, !tbaa !34
  %10009 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10009, ptr noundef @.str.65)
  %10010 = load i64, ptr @simtime, align 8, !tbaa !15
  %10011 = add i64 %10010, 100
  store i64 %10011, ptr @simtime, align 8, !tbaa !15
  %10012 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10012, ptr noundef @.str.122)
  %10013 = load ptr, ptr %2, align 8, !tbaa !5
  %10014 = getelementptr inbounds %struct.PDP6, ptr %10013, i32 0, i32 28
  %10015 = load i64, ptr %10014, align 8, !tbaa !34
  %10016 = load ptr, ptr %2, align 8, !tbaa !5
  %10017 = getelementptr inbounds %struct.PDP6, ptr %10016, i32 0, i32 31
  store i64 %10015, ptr %10017, align 8, !tbaa !39
  br label %17859

10018:                                            ; preds = %17
  %10019 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10019, ptr noundef @.str.41)
  %10020 = load i64, ptr @simtime, align 8, !tbaa !15
  %10021 = add i64 %10020, 100
  store i64 %10021, ptr @simtime, align 8, !tbaa !15
  %10022 = load ptr, ptr %2, align 8, !tbaa !5
  %10023 = getelementptr inbounds %struct.PDP6, ptr %10022, i32 0, i32 31
  %10024 = load i64, ptr %10023, align 8, !tbaa !39
  %10025 = shl i64 %10024, 18
  %10026 = load ptr, ptr %2, align 8, !tbaa !5
  %10027 = getelementptr inbounds %struct.PDP6, ptr %10026, i32 0, i32 31
  %10028 = load i64, ptr %10027, align 8, !tbaa !39
  %10029 = lshr i64 %10028, 18
  %10030 = or i64 %10025, %10029
  %10031 = and i64 %10030, 68719476735
  %10032 = load ptr, ptr %2, align 8, !tbaa !5
  %10033 = getelementptr inbounds %struct.PDP6, ptr %10032, i32 0, i32 31
  store i64 %10031, ptr %10033, align 8, !tbaa !39
  %10034 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10034, ptr noundef @.str.42)
  %10035 = load i64, ptr @simtime, align 8, !tbaa !15
  %10036 = add i64 %10035, 100
  store i64 %10036, ptr @simtime, align 8, !tbaa !15
  %10037 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10037, ptr noundef @.str.43)
  %10038 = load ptr, ptr %2, align 8, !tbaa !5
  %10039 = getelementptr inbounds %struct.PDP6, ptr %10038, i32 0, i32 28
  %10040 = load i64, ptr %10039, align 8, !tbaa !34
  %10041 = and i64 %10040, 68719214592
  %10042 = load ptr, ptr %2, align 8, !tbaa !5
  %10043 = getelementptr inbounds %struct.PDP6, ptr %10042, i32 0, i32 31
  %10044 = load i64, ptr %10043, align 8, !tbaa !39
  %10045 = and i64 %10044, 262143
  %10046 = or i64 %10041, %10045
  %10047 = load ptr, ptr %2, align 8, !tbaa !5
  %10048 = getelementptr inbounds %struct.PDP6, ptr %10047, i32 0, i32 28
  store i64 %10046, ptr %10048, align 8, !tbaa !34
  %10049 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10049, ptr noundef @.str.65)
  %10050 = load i64, ptr @simtime, align 8, !tbaa !15
  %10051 = add i64 %10050, 100
  store i64 %10051, ptr @simtime, align 8, !tbaa !15
  %10052 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10052, ptr noundef @.str.122)
  br label %17859

10053:                                            ; preds = %17
  %10054 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10054, ptr noundef @.str.41)
  %10055 = load i64, ptr @simtime, align 8, !tbaa !15
  %10056 = add i64 %10055, 100
  store i64 %10056, ptr @simtime, align 8, !tbaa !15
  %10057 = load ptr, ptr %2, align 8, !tbaa !5
  %10058 = getelementptr inbounds %struct.PDP6, ptr %10057, i32 0, i32 31
  %10059 = load i64, ptr %10058, align 8, !tbaa !39
  %10060 = shl i64 %10059, 18
  %10061 = load ptr, ptr %2, align 8, !tbaa !5
  %10062 = getelementptr inbounds %struct.PDP6, ptr %10061, i32 0, i32 31
  %10063 = load i64, ptr %10062, align 8, !tbaa !39
  %10064 = lshr i64 %10063, 18
  %10065 = or i64 %10060, %10064
  %10066 = and i64 %10065, 68719476735
  %10067 = load ptr, ptr %2, align 8, !tbaa !5
  %10068 = getelementptr inbounds %struct.PDP6, ptr %10067, i32 0, i32 31
  store i64 %10066, ptr %10068, align 8, !tbaa !39
  %10069 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10069, ptr noundef @.str.42)
  %10070 = load i64, ptr @simtime, align 8, !tbaa !15
  %10071 = add i64 %10070, 100
  store i64 %10071, ptr @simtime, align 8, !tbaa !15
  %10072 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10072, ptr noundef @.str.43)
  %10073 = load ptr, ptr %2, align 8, !tbaa !5
  %10074 = getelementptr inbounds %struct.PDP6, ptr %10073, i32 0, i32 28
  %10075 = load i64, ptr %10074, align 8, !tbaa !34
  %10076 = and i64 %10075, 68719214592
  %10077 = load ptr, ptr %2, align 8, !tbaa !5
  %10078 = getelementptr inbounds %struct.PDP6, ptr %10077, i32 0, i32 31
  %10079 = load i64, ptr %10078, align 8, !tbaa !39
  %10080 = and i64 %10079, 262143
  %10081 = or i64 %10076, %10080
  %10082 = load ptr, ptr %2, align 8, !tbaa !5
  %10083 = getelementptr inbounds %struct.PDP6, ptr %10082, i32 0, i32 28
  store i64 %10081, ptr %10083, align 8, !tbaa !34
  %10084 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10084, ptr noundef @.str.65)
  %10085 = load i64, ptr @simtime, align 8, !tbaa !15
  %10086 = add i64 %10085, 100
  store i64 %10086, ptr @simtime, align 8, !tbaa !15
  %10087 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10087, ptr noundef @.str.122)
  br label %17859

10088:                                            ; preds = %17
  %10089 = load ptr, ptr %2, align 8, !tbaa !5
  %10090 = getelementptr inbounds %struct.PDP6, ptr %10089, i32 0, i32 31
  %10091 = load i64, ptr %10090, align 8, !tbaa !39
  store i64 %10091, ptr %4, align 8, !tbaa !15
  %10092 = load ptr, ptr %2, align 8, !tbaa !5
  %10093 = getelementptr inbounds %struct.PDP6, ptr %10092, i32 0, i32 28
  %10094 = load i64, ptr %10093, align 8, !tbaa !34
  %10095 = load ptr, ptr %2, align 8, !tbaa !5
  %10096 = getelementptr inbounds %struct.PDP6, ptr %10095, i32 0, i32 31
  store i64 %10094, ptr %10096, align 8, !tbaa !39
  %10097 = load i64, ptr %4, align 8, !tbaa !15
  %10098 = load ptr, ptr %2, align 8, !tbaa !5
  %10099 = getelementptr inbounds %struct.PDP6, ptr %10098, i32 0, i32 28
  store i64 %10097, ptr %10099, align 8, !tbaa !34
  %10100 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10100, ptr noundef @.str.41)
  %10101 = load i64, ptr @simtime, align 8, !tbaa !15
  %10102 = add i64 %10101, 100
  store i64 %10102, ptr @simtime, align 8, !tbaa !15
  %10103 = load ptr, ptr %2, align 8, !tbaa !5
  %10104 = getelementptr inbounds %struct.PDP6, ptr %10103, i32 0, i32 31
  %10105 = load i64, ptr %10104, align 8, !tbaa !39
  %10106 = shl i64 %10105, 18
  %10107 = load ptr, ptr %2, align 8, !tbaa !5
  %10108 = getelementptr inbounds %struct.PDP6, ptr %10107, i32 0, i32 31
  %10109 = load i64, ptr %10108, align 8, !tbaa !39
  %10110 = lshr i64 %10109, 18
  %10111 = or i64 %10106, %10110
  %10112 = and i64 %10111, 68719476735
  %10113 = load ptr, ptr %2, align 8, !tbaa !5
  %10114 = getelementptr inbounds %struct.PDP6, ptr %10113, i32 0, i32 31
  store i64 %10112, ptr %10114, align 8, !tbaa !39
  %10115 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10115, ptr noundef @.str.42)
  %10116 = load i64, ptr @simtime, align 8, !tbaa !15
  %10117 = add i64 %10116, 100
  store i64 %10117, ptr @simtime, align 8, !tbaa !15
  %10118 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10118, ptr noundef @.str.43)
  %10119 = load ptr, ptr %2, align 8, !tbaa !5
  %10120 = getelementptr inbounds %struct.PDP6, ptr %10119, i32 0, i32 28
  %10121 = load i64, ptr %10120, align 8, !tbaa !34
  %10122 = and i64 %10121, 68719214592
  %10123 = load ptr, ptr %2, align 8, !tbaa !5
  %10124 = getelementptr inbounds %struct.PDP6, ptr %10123, i32 0, i32 31
  %10125 = load i64, ptr %10124, align 8, !tbaa !39
  %10126 = and i64 %10125, 262143
  %10127 = or i64 %10122, %10126
  %10128 = load ptr, ptr %2, align 8, !tbaa !5
  %10129 = getelementptr inbounds %struct.PDP6, ptr %10128, i32 0, i32 28
  store i64 %10127, ptr %10129, align 8, !tbaa !34
  %10130 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10130, ptr noundef @.str.65)
  %10131 = load i64, ptr @simtime, align 8, !tbaa !15
  %10132 = add i64 %10131, 100
  store i64 %10132, ptr @simtime, align 8, !tbaa !15
  %10133 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10133, ptr noundef @.str.122)
  %10134 = load ptr, ptr %2, align 8, !tbaa !5
  %10135 = getelementptr inbounds %struct.PDP6, ptr %10134, i32 0, i32 28
  %10136 = load i64, ptr %10135, align 8, !tbaa !34
  %10137 = load ptr, ptr %2, align 8, !tbaa !5
  %10138 = getelementptr inbounds %struct.PDP6, ptr %10137, i32 0, i32 31
  store i64 %10136, ptr %10138, align 8, !tbaa !39
  br label %17859

10139:                                            ; preds = %17
  %10140 = load ptr, ptr %2, align 8, !tbaa !5
  %10141 = getelementptr inbounds %struct.PDP6, ptr %10140, i32 0, i32 31
  %10142 = load i64, ptr %10141, align 8, !tbaa !39
  %10143 = load ptr, ptr %2, align 8, !tbaa !5
  %10144 = getelementptr inbounds %struct.PDP6, ptr %10143, i32 0, i32 28
  store i64 %10142, ptr %10144, align 8, !tbaa !34
  %10145 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10145, ptr noundef @.str.41)
  %10146 = load i64, ptr @simtime, align 8, !tbaa !15
  %10147 = add i64 %10146, 100
  store i64 %10147, ptr @simtime, align 8, !tbaa !15
  %10148 = load ptr, ptr %2, align 8, !tbaa !5
  %10149 = getelementptr inbounds %struct.PDP6, ptr %10148, i32 0, i32 31
  %10150 = load i64, ptr %10149, align 8, !tbaa !39
  %10151 = shl i64 %10150, 18
  %10152 = load ptr, ptr %2, align 8, !tbaa !5
  %10153 = getelementptr inbounds %struct.PDP6, ptr %10152, i32 0, i32 31
  %10154 = load i64, ptr %10153, align 8, !tbaa !39
  %10155 = lshr i64 %10154, 18
  %10156 = or i64 %10151, %10155
  %10157 = and i64 %10156, 68719476735
  %10158 = load ptr, ptr %2, align 8, !tbaa !5
  %10159 = getelementptr inbounds %struct.PDP6, ptr %10158, i32 0, i32 31
  store i64 %10157, ptr %10159, align 8, !tbaa !39
  %10160 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10160, ptr noundef @.str.42)
  %10161 = load i64, ptr @simtime, align 8, !tbaa !15
  %10162 = add i64 %10161, 100
  store i64 %10162, ptr @simtime, align 8, !tbaa !15
  %10163 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10163, ptr noundef @.str.43)
  %10164 = load ptr, ptr %2, align 8, !tbaa !5
  %10165 = getelementptr inbounds %struct.PDP6, ptr %10164, i32 0, i32 28
  %10166 = load i64, ptr %10165, align 8, !tbaa !34
  %10167 = and i64 %10166, 68719214592
  %10168 = load ptr, ptr %2, align 8, !tbaa !5
  %10169 = getelementptr inbounds %struct.PDP6, ptr %10168, i32 0, i32 31
  %10170 = load i64, ptr %10169, align 8, !tbaa !39
  %10171 = and i64 %10170, 262143
  %10172 = or i64 %10167, %10171
  %10173 = load ptr, ptr %2, align 8, !tbaa !5
  %10174 = getelementptr inbounds %struct.PDP6, ptr %10173, i32 0, i32 28
  store i64 %10172, ptr %10174, align 8, !tbaa !34
  %10175 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10175, ptr noundef @.str.65)
  %10176 = load i64, ptr @simtime, align 8, !tbaa !15
  %10177 = add i64 %10176, 100
  store i64 %10177, ptr @simtime, align 8, !tbaa !15
  %10178 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10178, ptr noundef @.str.122)
  %10179 = load ptr, ptr %2, align 8, !tbaa !5
  %10180 = getelementptr inbounds %struct.PDP6, ptr %10179, i32 0, i32 28
  %10181 = load i64, ptr %10180, align 8, !tbaa !34
  %10182 = load ptr, ptr %2, align 8, !tbaa !5
  %10183 = getelementptr inbounds %struct.PDP6, ptr %10182, i32 0, i32 31
  store i64 %10181, ptr %10183, align 8, !tbaa !39
  br label %17859

10184:                                            ; preds = %17
  %10185 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10185, ptr noundef @.str.41)
  %10186 = load i64, ptr @simtime, align 8, !tbaa !15
  %10187 = add i64 %10186, 100
  store i64 %10187, ptr @simtime, align 8, !tbaa !15
  %10188 = load ptr, ptr %2, align 8, !tbaa !5
  %10189 = getelementptr inbounds %struct.PDP6, ptr %10188, i32 0, i32 28
  store i64 0, ptr %10189, align 8, !tbaa !34
  %10190 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10190, ptr noundef @.str.42)
  %10191 = load i64, ptr @simtime, align 8, !tbaa !15
  %10192 = add i64 %10191, 100
  store i64 %10192, ptr @simtime, align 8, !tbaa !15
  %10193 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10193, ptr noundef @.str.43)
  %10194 = load ptr, ptr %2, align 8, !tbaa !5
  %10195 = getelementptr inbounds %struct.PDP6, ptr %10194, i32 0, i32 28
  %10196 = load i64, ptr %10195, align 8, !tbaa !34
  %10197 = and i64 %10196, 68719214592
  %10198 = load ptr, ptr %2, align 8, !tbaa !5
  %10199 = getelementptr inbounds %struct.PDP6, ptr %10198, i32 0, i32 31
  %10200 = load i64, ptr %10199, align 8, !tbaa !39
  %10201 = and i64 %10200, 262143
  %10202 = or i64 %10197, %10201
  %10203 = load ptr, ptr %2, align 8, !tbaa !5
  %10204 = getelementptr inbounds %struct.PDP6, ptr %10203, i32 0, i32 28
  store i64 %10202, ptr %10204, align 8, !tbaa !34
  %10205 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10205, ptr noundef @.str.65)
  %10206 = load i64, ptr @simtime, align 8, !tbaa !15
  %10207 = add i64 %10206, 100
  store i64 %10207, ptr @simtime, align 8, !tbaa !15
  %10208 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10208, ptr noundef @.str.122)
  br label %17859

10209:                                            ; preds = %17
  %10210 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10210, ptr noundef @.str.41)
  %10211 = load i64, ptr @simtime, align 8, !tbaa !15
  %10212 = add i64 %10211, 100
  store i64 %10212, ptr @simtime, align 8, !tbaa !15
  %10213 = load ptr, ptr %2, align 8, !tbaa !5
  %10214 = getelementptr inbounds %struct.PDP6, ptr %10213, i32 0, i32 28
  store i64 0, ptr %10214, align 8, !tbaa !34
  %10215 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10215, ptr noundef @.str.42)
  %10216 = load i64, ptr @simtime, align 8, !tbaa !15
  %10217 = add i64 %10216, 100
  store i64 %10217, ptr @simtime, align 8, !tbaa !15
  %10218 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10218, ptr noundef @.str.43)
  %10219 = load ptr, ptr %2, align 8, !tbaa !5
  %10220 = getelementptr inbounds %struct.PDP6, ptr %10219, i32 0, i32 28
  %10221 = load i64, ptr %10220, align 8, !tbaa !34
  %10222 = and i64 %10221, 68719214592
  %10223 = load ptr, ptr %2, align 8, !tbaa !5
  %10224 = getelementptr inbounds %struct.PDP6, ptr %10223, i32 0, i32 31
  %10225 = load i64, ptr %10224, align 8, !tbaa !39
  %10226 = and i64 %10225, 262143
  %10227 = or i64 %10222, %10226
  %10228 = load ptr, ptr %2, align 8, !tbaa !5
  %10229 = getelementptr inbounds %struct.PDP6, ptr %10228, i32 0, i32 28
  store i64 %10227, ptr %10229, align 8, !tbaa !34
  %10230 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10230, ptr noundef @.str.65)
  %10231 = load i64, ptr @simtime, align 8, !tbaa !15
  %10232 = add i64 %10231, 100
  store i64 %10232, ptr @simtime, align 8, !tbaa !15
  %10233 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10233, ptr noundef @.str.122)
  br label %17859

10234:                                            ; preds = %17
  %10235 = load ptr, ptr %2, align 8, !tbaa !5
  %10236 = getelementptr inbounds %struct.PDP6, ptr %10235, i32 0, i32 31
  %10237 = load i64, ptr %10236, align 8, !tbaa !39
  store i64 %10237, ptr %4, align 8, !tbaa !15
  %10238 = load ptr, ptr %2, align 8, !tbaa !5
  %10239 = getelementptr inbounds %struct.PDP6, ptr %10238, i32 0, i32 28
  %10240 = load i64, ptr %10239, align 8, !tbaa !34
  %10241 = load ptr, ptr %2, align 8, !tbaa !5
  %10242 = getelementptr inbounds %struct.PDP6, ptr %10241, i32 0, i32 31
  store i64 %10240, ptr %10242, align 8, !tbaa !39
  %10243 = load i64, ptr %4, align 8, !tbaa !15
  %10244 = load ptr, ptr %2, align 8, !tbaa !5
  %10245 = getelementptr inbounds %struct.PDP6, ptr %10244, i32 0, i32 28
  store i64 %10243, ptr %10245, align 8, !tbaa !34
  %10246 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10246, ptr noundef @.str.41)
  %10247 = load i64, ptr @simtime, align 8, !tbaa !15
  %10248 = add i64 %10247, 100
  store i64 %10248, ptr @simtime, align 8, !tbaa !15
  %10249 = load ptr, ptr %2, align 8, !tbaa !5
  %10250 = getelementptr inbounds %struct.PDP6, ptr %10249, i32 0, i32 28
  store i64 0, ptr %10250, align 8, !tbaa !34
  %10251 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10251, ptr noundef @.str.42)
  %10252 = load i64, ptr @simtime, align 8, !tbaa !15
  %10253 = add i64 %10252, 100
  store i64 %10253, ptr @simtime, align 8, !tbaa !15
  %10254 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10254, ptr noundef @.str.43)
  %10255 = load ptr, ptr %2, align 8, !tbaa !5
  %10256 = getelementptr inbounds %struct.PDP6, ptr %10255, i32 0, i32 28
  %10257 = load i64, ptr %10256, align 8, !tbaa !34
  %10258 = and i64 %10257, 68719214592
  %10259 = load ptr, ptr %2, align 8, !tbaa !5
  %10260 = getelementptr inbounds %struct.PDP6, ptr %10259, i32 0, i32 31
  %10261 = load i64, ptr %10260, align 8, !tbaa !39
  %10262 = and i64 %10261, 262143
  %10263 = or i64 %10258, %10262
  %10264 = load ptr, ptr %2, align 8, !tbaa !5
  %10265 = getelementptr inbounds %struct.PDP6, ptr %10264, i32 0, i32 28
  store i64 %10263, ptr %10265, align 8, !tbaa !34
  %10266 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10266, ptr noundef @.str.65)
  %10267 = load i64, ptr @simtime, align 8, !tbaa !15
  %10268 = add i64 %10267, 100
  store i64 %10268, ptr @simtime, align 8, !tbaa !15
  %10269 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10269, ptr noundef @.str.122)
  %10270 = load ptr, ptr %2, align 8, !tbaa !5
  %10271 = getelementptr inbounds %struct.PDP6, ptr %10270, i32 0, i32 28
  %10272 = load i64, ptr %10271, align 8, !tbaa !34
  %10273 = load ptr, ptr %2, align 8, !tbaa !5
  %10274 = getelementptr inbounds %struct.PDP6, ptr %10273, i32 0, i32 31
  store i64 %10272, ptr %10274, align 8, !tbaa !39
  br label %17859

10275:                                            ; preds = %17
  %10276 = load ptr, ptr %2, align 8, !tbaa !5
  %10277 = getelementptr inbounds %struct.PDP6, ptr %10276, i32 0, i32 31
  %10278 = load i64, ptr %10277, align 8, !tbaa !39
  %10279 = load ptr, ptr %2, align 8, !tbaa !5
  %10280 = getelementptr inbounds %struct.PDP6, ptr %10279, i32 0, i32 28
  store i64 %10278, ptr %10280, align 8, !tbaa !34
  %10281 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10281, ptr noundef @.str.41)
  %10282 = load i64, ptr @simtime, align 8, !tbaa !15
  %10283 = add i64 %10282, 100
  store i64 %10283, ptr @simtime, align 8, !tbaa !15
  %10284 = load ptr, ptr %2, align 8, !tbaa !5
  %10285 = getelementptr inbounds %struct.PDP6, ptr %10284, i32 0, i32 28
  store i64 0, ptr %10285, align 8, !tbaa !34
  %10286 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10286, ptr noundef @.str.42)
  %10287 = load i64, ptr @simtime, align 8, !tbaa !15
  %10288 = add i64 %10287, 100
  store i64 %10288, ptr @simtime, align 8, !tbaa !15
  %10289 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10289, ptr noundef @.str.43)
  %10290 = load ptr, ptr %2, align 8, !tbaa !5
  %10291 = getelementptr inbounds %struct.PDP6, ptr %10290, i32 0, i32 28
  %10292 = load i64, ptr %10291, align 8, !tbaa !34
  %10293 = and i64 %10292, 68719214592
  %10294 = load ptr, ptr %2, align 8, !tbaa !5
  %10295 = getelementptr inbounds %struct.PDP6, ptr %10294, i32 0, i32 31
  %10296 = load i64, ptr %10295, align 8, !tbaa !39
  %10297 = and i64 %10296, 262143
  %10298 = or i64 %10293, %10297
  %10299 = load ptr, ptr %2, align 8, !tbaa !5
  %10300 = getelementptr inbounds %struct.PDP6, ptr %10299, i32 0, i32 28
  store i64 %10298, ptr %10300, align 8, !tbaa !34
  %10301 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10301, ptr noundef @.str.65)
  %10302 = load i64, ptr @simtime, align 8, !tbaa !15
  %10303 = add i64 %10302, 100
  store i64 %10303, ptr @simtime, align 8, !tbaa !15
  %10304 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10304, ptr noundef @.str.122)
  %10305 = load ptr, ptr %2, align 8, !tbaa !5
  %10306 = getelementptr inbounds %struct.PDP6, ptr %10305, i32 0, i32 28
  %10307 = load i64, ptr %10306, align 8, !tbaa !34
  %10308 = load ptr, ptr %2, align 8, !tbaa !5
  %10309 = getelementptr inbounds %struct.PDP6, ptr %10308, i32 0, i32 31
  store i64 %10307, ptr %10309, align 8, !tbaa !39
  br label %17859

10310:                                            ; preds = %17
  %10311 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10311, ptr noundef @.str.41)
  %10312 = load i64, ptr @simtime, align 8, !tbaa !15
  %10313 = add i64 %10312, 100
  store i64 %10313, ptr @simtime, align 8, !tbaa !15
  %10314 = load ptr, ptr %2, align 8, !tbaa !5
  %10315 = getelementptr inbounds %struct.PDP6, ptr %10314, i32 0, i32 31
  %10316 = load i64, ptr %10315, align 8, !tbaa !39
  %10317 = shl i64 %10316, 18
  %10318 = load ptr, ptr %2, align 8, !tbaa !5
  %10319 = getelementptr inbounds %struct.PDP6, ptr %10318, i32 0, i32 31
  %10320 = load i64, ptr %10319, align 8, !tbaa !39
  %10321 = lshr i64 %10320, 18
  %10322 = or i64 %10317, %10321
  %10323 = and i64 %10322, 68719476735
  %10324 = load ptr, ptr %2, align 8, !tbaa !5
  %10325 = getelementptr inbounds %struct.PDP6, ptr %10324, i32 0, i32 31
  store i64 %10323, ptr %10325, align 8, !tbaa !39
  %10326 = load ptr, ptr %2, align 8, !tbaa !5
  %10327 = getelementptr inbounds %struct.PDP6, ptr %10326, i32 0, i32 28
  store i64 0, ptr %10327, align 8, !tbaa !34
  %10328 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10328, ptr noundef @.str.42)
  %10329 = load i64, ptr @simtime, align 8, !tbaa !15
  %10330 = add i64 %10329, 100
  store i64 %10330, ptr @simtime, align 8, !tbaa !15
  %10331 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10331, ptr noundef @.str.43)
  %10332 = load ptr, ptr %2, align 8, !tbaa !5
  %10333 = getelementptr inbounds %struct.PDP6, ptr %10332, i32 0, i32 28
  %10334 = load i64, ptr %10333, align 8, !tbaa !34
  %10335 = and i64 %10334, 68719214592
  %10336 = load ptr, ptr %2, align 8, !tbaa !5
  %10337 = getelementptr inbounds %struct.PDP6, ptr %10336, i32 0, i32 31
  %10338 = load i64, ptr %10337, align 8, !tbaa !39
  %10339 = and i64 %10338, 262143
  %10340 = or i64 %10335, %10339
  %10341 = load ptr, ptr %2, align 8, !tbaa !5
  %10342 = getelementptr inbounds %struct.PDP6, ptr %10341, i32 0, i32 28
  store i64 %10340, ptr %10342, align 8, !tbaa !34
  %10343 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10343, ptr noundef @.str.65)
  %10344 = load i64, ptr @simtime, align 8, !tbaa !15
  %10345 = add i64 %10344, 100
  store i64 %10345, ptr @simtime, align 8, !tbaa !15
  %10346 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10346, ptr noundef @.str.122)
  br label %17859

10347:                                            ; preds = %17
  %10348 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10348, ptr noundef @.str.41)
  %10349 = load i64, ptr @simtime, align 8, !tbaa !15
  %10350 = add i64 %10349, 100
  store i64 %10350, ptr @simtime, align 8, !tbaa !15
  %10351 = load ptr, ptr %2, align 8, !tbaa !5
  %10352 = getelementptr inbounds %struct.PDP6, ptr %10351, i32 0, i32 31
  %10353 = load i64, ptr %10352, align 8, !tbaa !39
  %10354 = shl i64 %10353, 18
  %10355 = load ptr, ptr %2, align 8, !tbaa !5
  %10356 = getelementptr inbounds %struct.PDP6, ptr %10355, i32 0, i32 31
  %10357 = load i64, ptr %10356, align 8, !tbaa !39
  %10358 = lshr i64 %10357, 18
  %10359 = or i64 %10354, %10358
  %10360 = and i64 %10359, 68719476735
  %10361 = load ptr, ptr %2, align 8, !tbaa !5
  %10362 = getelementptr inbounds %struct.PDP6, ptr %10361, i32 0, i32 31
  store i64 %10360, ptr %10362, align 8, !tbaa !39
  %10363 = load ptr, ptr %2, align 8, !tbaa !5
  %10364 = getelementptr inbounds %struct.PDP6, ptr %10363, i32 0, i32 28
  store i64 0, ptr %10364, align 8, !tbaa !34
  %10365 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10365, ptr noundef @.str.42)
  %10366 = load i64, ptr @simtime, align 8, !tbaa !15
  %10367 = add i64 %10366, 100
  store i64 %10367, ptr @simtime, align 8, !tbaa !15
  %10368 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10368, ptr noundef @.str.43)
  %10369 = load ptr, ptr %2, align 8, !tbaa !5
  %10370 = getelementptr inbounds %struct.PDP6, ptr %10369, i32 0, i32 28
  %10371 = load i64, ptr %10370, align 8, !tbaa !34
  %10372 = and i64 %10371, 68719214592
  %10373 = load ptr, ptr %2, align 8, !tbaa !5
  %10374 = getelementptr inbounds %struct.PDP6, ptr %10373, i32 0, i32 31
  %10375 = load i64, ptr %10374, align 8, !tbaa !39
  %10376 = and i64 %10375, 262143
  %10377 = or i64 %10372, %10376
  %10378 = load ptr, ptr %2, align 8, !tbaa !5
  %10379 = getelementptr inbounds %struct.PDP6, ptr %10378, i32 0, i32 28
  store i64 %10377, ptr %10379, align 8, !tbaa !34
  %10380 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10380, ptr noundef @.str.65)
  %10381 = load i64, ptr @simtime, align 8, !tbaa !15
  %10382 = add i64 %10381, 100
  store i64 %10382, ptr @simtime, align 8, !tbaa !15
  %10383 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10383, ptr noundef @.str.122)
  br label %17859

10384:                                            ; preds = %17
  %10385 = load ptr, ptr %2, align 8, !tbaa !5
  %10386 = getelementptr inbounds %struct.PDP6, ptr %10385, i32 0, i32 31
  %10387 = load i64, ptr %10386, align 8, !tbaa !39
  store i64 %10387, ptr %4, align 8, !tbaa !15
  %10388 = load ptr, ptr %2, align 8, !tbaa !5
  %10389 = getelementptr inbounds %struct.PDP6, ptr %10388, i32 0, i32 28
  %10390 = load i64, ptr %10389, align 8, !tbaa !34
  %10391 = load ptr, ptr %2, align 8, !tbaa !5
  %10392 = getelementptr inbounds %struct.PDP6, ptr %10391, i32 0, i32 31
  store i64 %10390, ptr %10392, align 8, !tbaa !39
  %10393 = load i64, ptr %4, align 8, !tbaa !15
  %10394 = load ptr, ptr %2, align 8, !tbaa !5
  %10395 = getelementptr inbounds %struct.PDP6, ptr %10394, i32 0, i32 28
  store i64 %10393, ptr %10395, align 8, !tbaa !34
  %10396 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10396, ptr noundef @.str.41)
  %10397 = load i64, ptr @simtime, align 8, !tbaa !15
  %10398 = add i64 %10397, 100
  store i64 %10398, ptr @simtime, align 8, !tbaa !15
  %10399 = load ptr, ptr %2, align 8, !tbaa !5
  %10400 = getelementptr inbounds %struct.PDP6, ptr %10399, i32 0, i32 31
  %10401 = load i64, ptr %10400, align 8, !tbaa !39
  %10402 = shl i64 %10401, 18
  %10403 = load ptr, ptr %2, align 8, !tbaa !5
  %10404 = getelementptr inbounds %struct.PDP6, ptr %10403, i32 0, i32 31
  %10405 = load i64, ptr %10404, align 8, !tbaa !39
  %10406 = lshr i64 %10405, 18
  %10407 = or i64 %10402, %10406
  %10408 = and i64 %10407, 68719476735
  %10409 = load ptr, ptr %2, align 8, !tbaa !5
  %10410 = getelementptr inbounds %struct.PDP6, ptr %10409, i32 0, i32 31
  store i64 %10408, ptr %10410, align 8, !tbaa !39
  %10411 = load ptr, ptr %2, align 8, !tbaa !5
  %10412 = getelementptr inbounds %struct.PDP6, ptr %10411, i32 0, i32 28
  store i64 0, ptr %10412, align 8, !tbaa !34
  %10413 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10413, ptr noundef @.str.42)
  %10414 = load i64, ptr @simtime, align 8, !tbaa !15
  %10415 = add i64 %10414, 100
  store i64 %10415, ptr @simtime, align 8, !tbaa !15
  %10416 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10416, ptr noundef @.str.43)
  %10417 = load ptr, ptr %2, align 8, !tbaa !5
  %10418 = getelementptr inbounds %struct.PDP6, ptr %10417, i32 0, i32 28
  %10419 = load i64, ptr %10418, align 8, !tbaa !34
  %10420 = and i64 %10419, 68719214592
  %10421 = load ptr, ptr %2, align 8, !tbaa !5
  %10422 = getelementptr inbounds %struct.PDP6, ptr %10421, i32 0, i32 31
  %10423 = load i64, ptr %10422, align 8, !tbaa !39
  %10424 = and i64 %10423, 262143
  %10425 = or i64 %10420, %10424
  %10426 = load ptr, ptr %2, align 8, !tbaa !5
  %10427 = getelementptr inbounds %struct.PDP6, ptr %10426, i32 0, i32 28
  store i64 %10425, ptr %10427, align 8, !tbaa !34
  %10428 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10428, ptr noundef @.str.65)
  %10429 = load i64, ptr @simtime, align 8, !tbaa !15
  %10430 = add i64 %10429, 100
  store i64 %10430, ptr @simtime, align 8, !tbaa !15
  %10431 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10431, ptr noundef @.str.122)
  %10432 = load ptr, ptr %2, align 8, !tbaa !5
  %10433 = getelementptr inbounds %struct.PDP6, ptr %10432, i32 0, i32 28
  %10434 = load i64, ptr %10433, align 8, !tbaa !34
  %10435 = load ptr, ptr %2, align 8, !tbaa !5
  %10436 = getelementptr inbounds %struct.PDP6, ptr %10435, i32 0, i32 31
  store i64 %10434, ptr %10436, align 8, !tbaa !39
  br label %17859

10437:                                            ; preds = %17
  %10438 = load ptr, ptr %2, align 8, !tbaa !5
  %10439 = getelementptr inbounds %struct.PDP6, ptr %10438, i32 0, i32 31
  %10440 = load i64, ptr %10439, align 8, !tbaa !39
  %10441 = load ptr, ptr %2, align 8, !tbaa !5
  %10442 = getelementptr inbounds %struct.PDP6, ptr %10441, i32 0, i32 28
  store i64 %10440, ptr %10442, align 8, !tbaa !34
  %10443 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10443, ptr noundef @.str.41)
  %10444 = load i64, ptr @simtime, align 8, !tbaa !15
  %10445 = add i64 %10444, 100
  store i64 %10445, ptr @simtime, align 8, !tbaa !15
  %10446 = load ptr, ptr %2, align 8, !tbaa !5
  %10447 = getelementptr inbounds %struct.PDP6, ptr %10446, i32 0, i32 31
  %10448 = load i64, ptr %10447, align 8, !tbaa !39
  %10449 = shl i64 %10448, 18
  %10450 = load ptr, ptr %2, align 8, !tbaa !5
  %10451 = getelementptr inbounds %struct.PDP6, ptr %10450, i32 0, i32 31
  %10452 = load i64, ptr %10451, align 8, !tbaa !39
  %10453 = lshr i64 %10452, 18
  %10454 = or i64 %10449, %10453
  %10455 = and i64 %10454, 68719476735
  %10456 = load ptr, ptr %2, align 8, !tbaa !5
  %10457 = getelementptr inbounds %struct.PDP6, ptr %10456, i32 0, i32 31
  store i64 %10455, ptr %10457, align 8, !tbaa !39
  %10458 = load ptr, ptr %2, align 8, !tbaa !5
  %10459 = getelementptr inbounds %struct.PDP6, ptr %10458, i32 0, i32 28
  store i64 0, ptr %10459, align 8, !tbaa !34
  %10460 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10460, ptr noundef @.str.42)
  %10461 = load i64, ptr @simtime, align 8, !tbaa !15
  %10462 = add i64 %10461, 100
  store i64 %10462, ptr @simtime, align 8, !tbaa !15
  %10463 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10463, ptr noundef @.str.43)
  %10464 = load ptr, ptr %2, align 8, !tbaa !5
  %10465 = getelementptr inbounds %struct.PDP6, ptr %10464, i32 0, i32 28
  %10466 = load i64, ptr %10465, align 8, !tbaa !34
  %10467 = and i64 %10466, 68719214592
  %10468 = load ptr, ptr %2, align 8, !tbaa !5
  %10469 = getelementptr inbounds %struct.PDP6, ptr %10468, i32 0, i32 31
  %10470 = load i64, ptr %10469, align 8, !tbaa !39
  %10471 = and i64 %10470, 262143
  %10472 = or i64 %10467, %10471
  %10473 = load ptr, ptr %2, align 8, !tbaa !5
  %10474 = getelementptr inbounds %struct.PDP6, ptr %10473, i32 0, i32 28
  store i64 %10472, ptr %10474, align 8, !tbaa !34
  %10475 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10475, ptr noundef @.str.65)
  %10476 = load i64, ptr @simtime, align 8, !tbaa !15
  %10477 = add i64 %10476, 100
  store i64 %10477, ptr @simtime, align 8, !tbaa !15
  %10478 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10478, ptr noundef @.str.122)
  %10479 = load ptr, ptr %2, align 8, !tbaa !5
  %10480 = getelementptr inbounds %struct.PDP6, ptr %10479, i32 0, i32 28
  %10481 = load i64, ptr %10480, align 8, !tbaa !34
  %10482 = load ptr, ptr %2, align 8, !tbaa !5
  %10483 = getelementptr inbounds %struct.PDP6, ptr %10482, i32 0, i32 31
  store i64 %10481, ptr %10483, align 8, !tbaa !39
  br label %17859

10484:                                            ; preds = %17
  %10485 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10485, ptr noundef @.str.41)
  %10486 = load i64, ptr @simtime, align 8, !tbaa !15
  %10487 = add i64 %10486, 100
  store i64 %10487, ptr @simtime, align 8, !tbaa !15
  %10488 = load ptr, ptr %2, align 8, !tbaa !5
  %10489 = getelementptr inbounds %struct.PDP6, ptr %10488, i32 0, i32 28
  store i64 0, ptr %10489, align 8, !tbaa !34
  %10490 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10490, ptr noundef @.str.42)
  %10491 = load i64, ptr @simtime, align 8, !tbaa !15
  %10492 = add i64 %10491, 100
  store i64 %10492, ptr @simtime, align 8, !tbaa !15
  %10493 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10493, ptr noundef @.str.43)
  %10494 = load ptr, ptr %2, align 8, !tbaa !5
  %10495 = getelementptr inbounds %struct.PDP6, ptr %10494, i32 0, i32 28
  %10496 = load i64, ptr %10495, align 8, !tbaa !34
  %10497 = and i64 %10496, 68719214592
  %10498 = load ptr, ptr %2, align 8, !tbaa !5
  %10499 = getelementptr inbounds %struct.PDP6, ptr %10498, i32 0, i32 31
  %10500 = load i64, ptr %10499, align 8, !tbaa !39
  %10501 = and i64 %10500, 262143
  %10502 = or i64 %10497, %10501
  %10503 = load ptr, ptr %2, align 8, !tbaa !5
  %10504 = getelementptr inbounds %struct.PDP6, ptr %10503, i32 0, i32 28
  store i64 %10502, ptr %10504, align 8, !tbaa !34
  %10505 = load ptr, ptr %2, align 8, !tbaa !5
  %10506 = getelementptr inbounds %struct.PDP6, ptr %10505, i32 0, i32 28
  %10507 = load i64, ptr %10506, align 8, !tbaa !34
  %10508 = xor i64 %10507, 68719214592
  store i64 %10508, ptr %10506, align 8, !tbaa !34
  %10509 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10509, ptr noundef @.str.65)
  %10510 = load i64, ptr @simtime, align 8, !tbaa !15
  %10511 = add i64 %10510, 100
  store i64 %10511, ptr @simtime, align 8, !tbaa !15
  %10512 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10512, ptr noundef @.str.122)
  br label %17859

10513:                                            ; preds = %17
  %10514 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10514, ptr noundef @.str.41)
  %10515 = load i64, ptr @simtime, align 8, !tbaa !15
  %10516 = add i64 %10515, 100
  store i64 %10516, ptr @simtime, align 8, !tbaa !15
  %10517 = load ptr, ptr %2, align 8, !tbaa !5
  %10518 = getelementptr inbounds %struct.PDP6, ptr %10517, i32 0, i32 28
  store i64 0, ptr %10518, align 8, !tbaa !34
  %10519 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10519, ptr noundef @.str.42)
  %10520 = load i64, ptr @simtime, align 8, !tbaa !15
  %10521 = add i64 %10520, 100
  store i64 %10521, ptr @simtime, align 8, !tbaa !15
  %10522 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10522, ptr noundef @.str.43)
  %10523 = load ptr, ptr %2, align 8, !tbaa !5
  %10524 = getelementptr inbounds %struct.PDP6, ptr %10523, i32 0, i32 28
  %10525 = load i64, ptr %10524, align 8, !tbaa !34
  %10526 = and i64 %10525, 68719214592
  %10527 = load ptr, ptr %2, align 8, !tbaa !5
  %10528 = getelementptr inbounds %struct.PDP6, ptr %10527, i32 0, i32 31
  %10529 = load i64, ptr %10528, align 8, !tbaa !39
  %10530 = and i64 %10529, 262143
  %10531 = or i64 %10526, %10530
  %10532 = load ptr, ptr %2, align 8, !tbaa !5
  %10533 = getelementptr inbounds %struct.PDP6, ptr %10532, i32 0, i32 28
  store i64 %10531, ptr %10533, align 8, !tbaa !34
  %10534 = load ptr, ptr %2, align 8, !tbaa !5
  %10535 = getelementptr inbounds %struct.PDP6, ptr %10534, i32 0, i32 28
  %10536 = load i64, ptr %10535, align 8, !tbaa !34
  %10537 = xor i64 %10536, 68719214592
  store i64 %10537, ptr %10535, align 8, !tbaa !34
  %10538 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10538, ptr noundef @.str.65)
  %10539 = load i64, ptr @simtime, align 8, !tbaa !15
  %10540 = add i64 %10539, 100
  store i64 %10540, ptr @simtime, align 8, !tbaa !15
  %10541 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10541, ptr noundef @.str.122)
  br label %17859

10542:                                            ; preds = %17
  %10543 = load ptr, ptr %2, align 8, !tbaa !5
  %10544 = getelementptr inbounds %struct.PDP6, ptr %10543, i32 0, i32 31
  %10545 = load i64, ptr %10544, align 8, !tbaa !39
  store i64 %10545, ptr %4, align 8, !tbaa !15
  %10546 = load ptr, ptr %2, align 8, !tbaa !5
  %10547 = getelementptr inbounds %struct.PDP6, ptr %10546, i32 0, i32 28
  %10548 = load i64, ptr %10547, align 8, !tbaa !34
  %10549 = load ptr, ptr %2, align 8, !tbaa !5
  %10550 = getelementptr inbounds %struct.PDP6, ptr %10549, i32 0, i32 31
  store i64 %10548, ptr %10550, align 8, !tbaa !39
  %10551 = load i64, ptr %4, align 8, !tbaa !15
  %10552 = load ptr, ptr %2, align 8, !tbaa !5
  %10553 = getelementptr inbounds %struct.PDP6, ptr %10552, i32 0, i32 28
  store i64 %10551, ptr %10553, align 8, !tbaa !34
  %10554 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10554, ptr noundef @.str.41)
  %10555 = load i64, ptr @simtime, align 8, !tbaa !15
  %10556 = add i64 %10555, 100
  store i64 %10556, ptr @simtime, align 8, !tbaa !15
  %10557 = load ptr, ptr %2, align 8, !tbaa !5
  %10558 = getelementptr inbounds %struct.PDP6, ptr %10557, i32 0, i32 28
  store i64 0, ptr %10558, align 8, !tbaa !34
  %10559 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10559, ptr noundef @.str.42)
  %10560 = load i64, ptr @simtime, align 8, !tbaa !15
  %10561 = add i64 %10560, 100
  store i64 %10561, ptr @simtime, align 8, !tbaa !15
  %10562 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10562, ptr noundef @.str.43)
  %10563 = load ptr, ptr %2, align 8, !tbaa !5
  %10564 = getelementptr inbounds %struct.PDP6, ptr %10563, i32 0, i32 28
  %10565 = load i64, ptr %10564, align 8, !tbaa !34
  %10566 = and i64 %10565, 68719214592
  %10567 = load ptr, ptr %2, align 8, !tbaa !5
  %10568 = getelementptr inbounds %struct.PDP6, ptr %10567, i32 0, i32 31
  %10569 = load i64, ptr %10568, align 8, !tbaa !39
  %10570 = and i64 %10569, 262143
  %10571 = or i64 %10566, %10570
  %10572 = load ptr, ptr %2, align 8, !tbaa !5
  %10573 = getelementptr inbounds %struct.PDP6, ptr %10572, i32 0, i32 28
  store i64 %10571, ptr %10573, align 8, !tbaa !34
  %10574 = load ptr, ptr %2, align 8, !tbaa !5
  %10575 = getelementptr inbounds %struct.PDP6, ptr %10574, i32 0, i32 28
  %10576 = load i64, ptr %10575, align 8, !tbaa !34
  %10577 = xor i64 %10576, 68719214592
  store i64 %10577, ptr %10575, align 8, !tbaa !34
  %10578 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10578, ptr noundef @.str.65)
  %10579 = load i64, ptr @simtime, align 8, !tbaa !15
  %10580 = add i64 %10579, 100
  store i64 %10580, ptr @simtime, align 8, !tbaa !15
  %10581 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10581, ptr noundef @.str.122)
  %10582 = load ptr, ptr %2, align 8, !tbaa !5
  %10583 = getelementptr inbounds %struct.PDP6, ptr %10582, i32 0, i32 28
  %10584 = load i64, ptr %10583, align 8, !tbaa !34
  %10585 = load ptr, ptr %2, align 8, !tbaa !5
  %10586 = getelementptr inbounds %struct.PDP6, ptr %10585, i32 0, i32 31
  store i64 %10584, ptr %10586, align 8, !tbaa !39
  br label %17859

10587:                                            ; preds = %17
  %10588 = load ptr, ptr %2, align 8, !tbaa !5
  %10589 = getelementptr inbounds %struct.PDP6, ptr %10588, i32 0, i32 31
  %10590 = load i64, ptr %10589, align 8, !tbaa !39
  %10591 = load ptr, ptr %2, align 8, !tbaa !5
  %10592 = getelementptr inbounds %struct.PDP6, ptr %10591, i32 0, i32 28
  store i64 %10590, ptr %10592, align 8, !tbaa !34
  %10593 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10593, ptr noundef @.str.41)
  %10594 = load i64, ptr @simtime, align 8, !tbaa !15
  %10595 = add i64 %10594, 100
  store i64 %10595, ptr @simtime, align 8, !tbaa !15
  %10596 = load ptr, ptr %2, align 8, !tbaa !5
  %10597 = getelementptr inbounds %struct.PDP6, ptr %10596, i32 0, i32 28
  store i64 0, ptr %10597, align 8, !tbaa !34
  %10598 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10598, ptr noundef @.str.42)
  %10599 = load i64, ptr @simtime, align 8, !tbaa !15
  %10600 = add i64 %10599, 100
  store i64 %10600, ptr @simtime, align 8, !tbaa !15
  %10601 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10601, ptr noundef @.str.43)
  %10602 = load ptr, ptr %2, align 8, !tbaa !5
  %10603 = getelementptr inbounds %struct.PDP6, ptr %10602, i32 0, i32 28
  %10604 = load i64, ptr %10603, align 8, !tbaa !34
  %10605 = and i64 %10604, 68719214592
  %10606 = load ptr, ptr %2, align 8, !tbaa !5
  %10607 = getelementptr inbounds %struct.PDP6, ptr %10606, i32 0, i32 31
  %10608 = load i64, ptr %10607, align 8, !tbaa !39
  %10609 = and i64 %10608, 262143
  %10610 = or i64 %10605, %10609
  %10611 = load ptr, ptr %2, align 8, !tbaa !5
  %10612 = getelementptr inbounds %struct.PDP6, ptr %10611, i32 0, i32 28
  store i64 %10610, ptr %10612, align 8, !tbaa !34
  %10613 = load ptr, ptr %2, align 8, !tbaa !5
  %10614 = getelementptr inbounds %struct.PDP6, ptr %10613, i32 0, i32 28
  %10615 = load i64, ptr %10614, align 8, !tbaa !34
  %10616 = xor i64 %10615, 68719214592
  store i64 %10616, ptr %10614, align 8, !tbaa !34
  %10617 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10617, ptr noundef @.str.65)
  %10618 = load i64, ptr @simtime, align 8, !tbaa !15
  %10619 = add i64 %10618, 100
  store i64 %10619, ptr @simtime, align 8, !tbaa !15
  %10620 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10620, ptr noundef @.str.122)
  %10621 = load ptr, ptr %2, align 8, !tbaa !5
  %10622 = getelementptr inbounds %struct.PDP6, ptr %10621, i32 0, i32 28
  %10623 = load i64, ptr %10622, align 8, !tbaa !34
  %10624 = load ptr, ptr %2, align 8, !tbaa !5
  %10625 = getelementptr inbounds %struct.PDP6, ptr %10624, i32 0, i32 31
  store i64 %10623, ptr %10625, align 8, !tbaa !39
  br label %17859

10626:                                            ; preds = %17
  %10627 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10627, ptr noundef @.str.41)
  %10628 = load i64, ptr @simtime, align 8, !tbaa !15
  %10629 = add i64 %10628, 100
  store i64 %10629, ptr @simtime, align 8, !tbaa !15
  %10630 = load ptr, ptr %2, align 8, !tbaa !5
  %10631 = getelementptr inbounds %struct.PDP6, ptr %10630, i32 0, i32 31
  %10632 = load i64, ptr %10631, align 8, !tbaa !39
  %10633 = shl i64 %10632, 18
  %10634 = load ptr, ptr %2, align 8, !tbaa !5
  %10635 = getelementptr inbounds %struct.PDP6, ptr %10634, i32 0, i32 31
  %10636 = load i64, ptr %10635, align 8, !tbaa !39
  %10637 = lshr i64 %10636, 18
  %10638 = or i64 %10633, %10637
  %10639 = and i64 %10638, 68719476735
  %10640 = load ptr, ptr %2, align 8, !tbaa !5
  %10641 = getelementptr inbounds %struct.PDP6, ptr %10640, i32 0, i32 31
  store i64 %10639, ptr %10641, align 8, !tbaa !39
  %10642 = load ptr, ptr %2, align 8, !tbaa !5
  %10643 = getelementptr inbounds %struct.PDP6, ptr %10642, i32 0, i32 28
  store i64 0, ptr %10643, align 8, !tbaa !34
  %10644 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10644, ptr noundef @.str.42)
  %10645 = load i64, ptr @simtime, align 8, !tbaa !15
  %10646 = add i64 %10645, 100
  store i64 %10646, ptr @simtime, align 8, !tbaa !15
  %10647 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10647, ptr noundef @.str.43)
  %10648 = load ptr, ptr %2, align 8, !tbaa !5
  %10649 = getelementptr inbounds %struct.PDP6, ptr %10648, i32 0, i32 28
  %10650 = load i64, ptr %10649, align 8, !tbaa !34
  %10651 = and i64 %10650, 68719214592
  %10652 = load ptr, ptr %2, align 8, !tbaa !5
  %10653 = getelementptr inbounds %struct.PDP6, ptr %10652, i32 0, i32 31
  %10654 = load i64, ptr %10653, align 8, !tbaa !39
  %10655 = and i64 %10654, 262143
  %10656 = or i64 %10651, %10655
  %10657 = load ptr, ptr %2, align 8, !tbaa !5
  %10658 = getelementptr inbounds %struct.PDP6, ptr %10657, i32 0, i32 28
  store i64 %10656, ptr %10658, align 8, !tbaa !34
  %10659 = load ptr, ptr %2, align 8, !tbaa !5
  %10660 = getelementptr inbounds %struct.PDP6, ptr %10659, i32 0, i32 28
  %10661 = load i64, ptr %10660, align 8, !tbaa !34
  %10662 = xor i64 %10661, 68719214592
  store i64 %10662, ptr %10660, align 8, !tbaa !34
  %10663 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10663, ptr noundef @.str.65)
  %10664 = load i64, ptr @simtime, align 8, !tbaa !15
  %10665 = add i64 %10664, 100
  store i64 %10665, ptr @simtime, align 8, !tbaa !15
  %10666 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10666, ptr noundef @.str.122)
  br label %17859

10667:                                            ; preds = %17
  %10668 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10668, ptr noundef @.str.41)
  %10669 = load i64, ptr @simtime, align 8, !tbaa !15
  %10670 = add i64 %10669, 100
  store i64 %10670, ptr @simtime, align 8, !tbaa !15
  %10671 = load ptr, ptr %2, align 8, !tbaa !5
  %10672 = getelementptr inbounds %struct.PDP6, ptr %10671, i32 0, i32 31
  %10673 = load i64, ptr %10672, align 8, !tbaa !39
  %10674 = shl i64 %10673, 18
  %10675 = load ptr, ptr %2, align 8, !tbaa !5
  %10676 = getelementptr inbounds %struct.PDP6, ptr %10675, i32 0, i32 31
  %10677 = load i64, ptr %10676, align 8, !tbaa !39
  %10678 = lshr i64 %10677, 18
  %10679 = or i64 %10674, %10678
  %10680 = and i64 %10679, 68719476735
  %10681 = load ptr, ptr %2, align 8, !tbaa !5
  %10682 = getelementptr inbounds %struct.PDP6, ptr %10681, i32 0, i32 31
  store i64 %10680, ptr %10682, align 8, !tbaa !39
  %10683 = load ptr, ptr %2, align 8, !tbaa !5
  %10684 = getelementptr inbounds %struct.PDP6, ptr %10683, i32 0, i32 28
  store i64 0, ptr %10684, align 8, !tbaa !34
  %10685 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10685, ptr noundef @.str.42)
  %10686 = load i64, ptr @simtime, align 8, !tbaa !15
  %10687 = add i64 %10686, 100
  store i64 %10687, ptr @simtime, align 8, !tbaa !15
  %10688 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10688, ptr noundef @.str.43)
  %10689 = load ptr, ptr %2, align 8, !tbaa !5
  %10690 = getelementptr inbounds %struct.PDP6, ptr %10689, i32 0, i32 28
  %10691 = load i64, ptr %10690, align 8, !tbaa !34
  %10692 = and i64 %10691, 68719214592
  %10693 = load ptr, ptr %2, align 8, !tbaa !5
  %10694 = getelementptr inbounds %struct.PDP6, ptr %10693, i32 0, i32 31
  %10695 = load i64, ptr %10694, align 8, !tbaa !39
  %10696 = and i64 %10695, 262143
  %10697 = or i64 %10692, %10696
  %10698 = load ptr, ptr %2, align 8, !tbaa !5
  %10699 = getelementptr inbounds %struct.PDP6, ptr %10698, i32 0, i32 28
  store i64 %10697, ptr %10699, align 8, !tbaa !34
  %10700 = load ptr, ptr %2, align 8, !tbaa !5
  %10701 = getelementptr inbounds %struct.PDP6, ptr %10700, i32 0, i32 28
  %10702 = load i64, ptr %10701, align 8, !tbaa !34
  %10703 = xor i64 %10702, 68719214592
  store i64 %10703, ptr %10701, align 8, !tbaa !34
  %10704 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10704, ptr noundef @.str.65)
  %10705 = load i64, ptr @simtime, align 8, !tbaa !15
  %10706 = add i64 %10705, 100
  store i64 %10706, ptr @simtime, align 8, !tbaa !15
  %10707 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10707, ptr noundef @.str.122)
  br label %17859

10708:                                            ; preds = %17
  %10709 = load ptr, ptr %2, align 8, !tbaa !5
  %10710 = getelementptr inbounds %struct.PDP6, ptr %10709, i32 0, i32 31
  %10711 = load i64, ptr %10710, align 8, !tbaa !39
  store i64 %10711, ptr %4, align 8, !tbaa !15
  %10712 = load ptr, ptr %2, align 8, !tbaa !5
  %10713 = getelementptr inbounds %struct.PDP6, ptr %10712, i32 0, i32 28
  %10714 = load i64, ptr %10713, align 8, !tbaa !34
  %10715 = load ptr, ptr %2, align 8, !tbaa !5
  %10716 = getelementptr inbounds %struct.PDP6, ptr %10715, i32 0, i32 31
  store i64 %10714, ptr %10716, align 8, !tbaa !39
  %10717 = load i64, ptr %4, align 8, !tbaa !15
  %10718 = load ptr, ptr %2, align 8, !tbaa !5
  %10719 = getelementptr inbounds %struct.PDP6, ptr %10718, i32 0, i32 28
  store i64 %10717, ptr %10719, align 8, !tbaa !34
  %10720 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10720, ptr noundef @.str.41)
  %10721 = load i64, ptr @simtime, align 8, !tbaa !15
  %10722 = add i64 %10721, 100
  store i64 %10722, ptr @simtime, align 8, !tbaa !15
  %10723 = load ptr, ptr %2, align 8, !tbaa !5
  %10724 = getelementptr inbounds %struct.PDP6, ptr %10723, i32 0, i32 31
  %10725 = load i64, ptr %10724, align 8, !tbaa !39
  %10726 = shl i64 %10725, 18
  %10727 = load ptr, ptr %2, align 8, !tbaa !5
  %10728 = getelementptr inbounds %struct.PDP6, ptr %10727, i32 0, i32 31
  %10729 = load i64, ptr %10728, align 8, !tbaa !39
  %10730 = lshr i64 %10729, 18
  %10731 = or i64 %10726, %10730
  %10732 = and i64 %10731, 68719476735
  %10733 = load ptr, ptr %2, align 8, !tbaa !5
  %10734 = getelementptr inbounds %struct.PDP6, ptr %10733, i32 0, i32 31
  store i64 %10732, ptr %10734, align 8, !tbaa !39
  %10735 = load ptr, ptr %2, align 8, !tbaa !5
  %10736 = getelementptr inbounds %struct.PDP6, ptr %10735, i32 0, i32 28
  store i64 0, ptr %10736, align 8, !tbaa !34
  %10737 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10737, ptr noundef @.str.42)
  %10738 = load i64, ptr @simtime, align 8, !tbaa !15
  %10739 = add i64 %10738, 100
  store i64 %10739, ptr @simtime, align 8, !tbaa !15
  %10740 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10740, ptr noundef @.str.43)
  %10741 = load ptr, ptr %2, align 8, !tbaa !5
  %10742 = getelementptr inbounds %struct.PDP6, ptr %10741, i32 0, i32 28
  %10743 = load i64, ptr %10742, align 8, !tbaa !34
  %10744 = and i64 %10743, 68719214592
  %10745 = load ptr, ptr %2, align 8, !tbaa !5
  %10746 = getelementptr inbounds %struct.PDP6, ptr %10745, i32 0, i32 31
  %10747 = load i64, ptr %10746, align 8, !tbaa !39
  %10748 = and i64 %10747, 262143
  %10749 = or i64 %10744, %10748
  %10750 = load ptr, ptr %2, align 8, !tbaa !5
  %10751 = getelementptr inbounds %struct.PDP6, ptr %10750, i32 0, i32 28
  store i64 %10749, ptr %10751, align 8, !tbaa !34
  %10752 = load ptr, ptr %2, align 8, !tbaa !5
  %10753 = getelementptr inbounds %struct.PDP6, ptr %10752, i32 0, i32 28
  %10754 = load i64, ptr %10753, align 8, !tbaa !34
  %10755 = xor i64 %10754, 68719214592
  store i64 %10755, ptr %10753, align 8, !tbaa !34
  %10756 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10756, ptr noundef @.str.65)
  %10757 = load i64, ptr @simtime, align 8, !tbaa !15
  %10758 = add i64 %10757, 100
  store i64 %10758, ptr @simtime, align 8, !tbaa !15
  %10759 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10759, ptr noundef @.str.122)
  %10760 = load ptr, ptr %2, align 8, !tbaa !5
  %10761 = getelementptr inbounds %struct.PDP6, ptr %10760, i32 0, i32 28
  %10762 = load i64, ptr %10761, align 8, !tbaa !34
  %10763 = load ptr, ptr %2, align 8, !tbaa !5
  %10764 = getelementptr inbounds %struct.PDP6, ptr %10763, i32 0, i32 31
  store i64 %10762, ptr %10764, align 8, !tbaa !39
  br label %17859

10765:                                            ; preds = %17
  %10766 = load ptr, ptr %2, align 8, !tbaa !5
  %10767 = getelementptr inbounds %struct.PDP6, ptr %10766, i32 0, i32 31
  %10768 = load i64, ptr %10767, align 8, !tbaa !39
  %10769 = load ptr, ptr %2, align 8, !tbaa !5
  %10770 = getelementptr inbounds %struct.PDP6, ptr %10769, i32 0, i32 28
  store i64 %10768, ptr %10770, align 8, !tbaa !34
  %10771 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10771, ptr noundef @.str.41)
  %10772 = load i64, ptr @simtime, align 8, !tbaa !15
  %10773 = add i64 %10772, 100
  store i64 %10773, ptr @simtime, align 8, !tbaa !15
  %10774 = load ptr, ptr %2, align 8, !tbaa !5
  %10775 = getelementptr inbounds %struct.PDP6, ptr %10774, i32 0, i32 31
  %10776 = load i64, ptr %10775, align 8, !tbaa !39
  %10777 = shl i64 %10776, 18
  %10778 = load ptr, ptr %2, align 8, !tbaa !5
  %10779 = getelementptr inbounds %struct.PDP6, ptr %10778, i32 0, i32 31
  %10780 = load i64, ptr %10779, align 8, !tbaa !39
  %10781 = lshr i64 %10780, 18
  %10782 = or i64 %10777, %10781
  %10783 = and i64 %10782, 68719476735
  %10784 = load ptr, ptr %2, align 8, !tbaa !5
  %10785 = getelementptr inbounds %struct.PDP6, ptr %10784, i32 0, i32 31
  store i64 %10783, ptr %10785, align 8, !tbaa !39
  %10786 = load ptr, ptr %2, align 8, !tbaa !5
  %10787 = getelementptr inbounds %struct.PDP6, ptr %10786, i32 0, i32 28
  store i64 0, ptr %10787, align 8, !tbaa !34
  %10788 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10788, ptr noundef @.str.42)
  %10789 = load i64, ptr @simtime, align 8, !tbaa !15
  %10790 = add i64 %10789, 100
  store i64 %10790, ptr @simtime, align 8, !tbaa !15
  %10791 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10791, ptr noundef @.str.43)
  %10792 = load ptr, ptr %2, align 8, !tbaa !5
  %10793 = getelementptr inbounds %struct.PDP6, ptr %10792, i32 0, i32 28
  %10794 = load i64, ptr %10793, align 8, !tbaa !34
  %10795 = and i64 %10794, 68719214592
  %10796 = load ptr, ptr %2, align 8, !tbaa !5
  %10797 = getelementptr inbounds %struct.PDP6, ptr %10796, i32 0, i32 31
  %10798 = load i64, ptr %10797, align 8, !tbaa !39
  %10799 = and i64 %10798, 262143
  %10800 = or i64 %10795, %10799
  %10801 = load ptr, ptr %2, align 8, !tbaa !5
  %10802 = getelementptr inbounds %struct.PDP6, ptr %10801, i32 0, i32 28
  store i64 %10800, ptr %10802, align 8, !tbaa !34
  %10803 = load ptr, ptr %2, align 8, !tbaa !5
  %10804 = getelementptr inbounds %struct.PDP6, ptr %10803, i32 0, i32 28
  %10805 = load i64, ptr %10804, align 8, !tbaa !34
  %10806 = xor i64 %10805, 68719214592
  store i64 %10806, ptr %10804, align 8, !tbaa !34
  %10807 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10807, ptr noundef @.str.65)
  %10808 = load i64, ptr @simtime, align 8, !tbaa !15
  %10809 = add i64 %10808, 100
  store i64 %10809, ptr @simtime, align 8, !tbaa !15
  %10810 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10810, ptr noundef @.str.122)
  %10811 = load ptr, ptr %2, align 8, !tbaa !5
  %10812 = getelementptr inbounds %struct.PDP6, ptr %10811, i32 0, i32 28
  %10813 = load i64, ptr %10812, align 8, !tbaa !34
  %10814 = load ptr, ptr %2, align 8, !tbaa !5
  %10815 = getelementptr inbounds %struct.PDP6, ptr %10814, i32 0, i32 31
  store i64 %10813, ptr %10815, align 8, !tbaa !39
  br label %17859

10816:                                            ; preds = %17
  %10817 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10817, ptr noundef @.str.41)
  %10818 = load i64, ptr @simtime, align 8, !tbaa !15
  %10819 = add i64 %10818, 100
  store i64 %10819, ptr @simtime, align 8, !tbaa !15
  %10820 = load ptr, ptr %2, align 8, !tbaa !5
  %10821 = getelementptr inbounds %struct.PDP6, ptr %10820, i32 0, i32 28
  store i64 0, ptr %10821, align 8, !tbaa !34
  %10822 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10822, ptr noundef @.str.42)
  %10823 = load i64, ptr @simtime, align 8, !tbaa !15
  %10824 = add i64 %10823, 100
  store i64 %10824, ptr @simtime, align 8, !tbaa !15
  %10825 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10825, ptr noundef @.str.43)
  %10826 = load ptr, ptr %2, align 8, !tbaa !5
  %10827 = getelementptr inbounds %struct.PDP6, ptr %10826, i32 0, i32 28
  %10828 = load i64, ptr %10827, align 8, !tbaa !34
  %10829 = and i64 %10828, 68719214592
  %10830 = load ptr, ptr %2, align 8, !tbaa !5
  %10831 = getelementptr inbounds %struct.PDP6, ptr %10830, i32 0, i32 31
  %10832 = load i64, ptr %10831, align 8, !tbaa !39
  %10833 = and i64 %10832, 262143
  %10834 = or i64 %10829, %10833
  %10835 = load ptr, ptr %2, align 8, !tbaa !5
  %10836 = getelementptr inbounds %struct.PDP6, ptr %10835, i32 0, i32 28
  store i64 %10834, ptr %10836, align 8, !tbaa !34
  %10837 = load ptr, ptr %2, align 8, !tbaa !5
  %10838 = getelementptr inbounds %struct.PDP6, ptr %10837, i32 0, i32 31
  %10839 = load i64, ptr %10838, align 8, !tbaa !39
  %10840 = and i64 %10839, 131072
  %10841 = icmp ne i64 %10840, 0
  br i1 %10841, label %10842, label %10847

10842:                                            ; preds = %10816
  %10843 = load ptr, ptr %2, align 8, !tbaa !5
  %10844 = getelementptr inbounds %struct.PDP6, ptr %10843, i32 0, i32 28
  %10845 = load i64, ptr %10844, align 8, !tbaa !34
  %10846 = xor i64 %10845, 68719214592
  store i64 %10846, ptr %10844, align 8, !tbaa !34
  br label %10847

10847:                                            ; preds = %10842, %10816
  %10848 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10848, ptr noundef @.str.65)
  %10849 = load i64, ptr @simtime, align 8, !tbaa !15
  %10850 = add i64 %10849, 100
  store i64 %10850, ptr @simtime, align 8, !tbaa !15
  %10851 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10851, ptr noundef @.str.122)
  br label %17859

10852:                                            ; preds = %17
  %10853 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10853, ptr noundef @.str.41)
  %10854 = load i64, ptr @simtime, align 8, !tbaa !15
  %10855 = add i64 %10854, 100
  store i64 %10855, ptr @simtime, align 8, !tbaa !15
  %10856 = load ptr, ptr %2, align 8, !tbaa !5
  %10857 = getelementptr inbounds %struct.PDP6, ptr %10856, i32 0, i32 28
  store i64 0, ptr %10857, align 8, !tbaa !34
  %10858 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10858, ptr noundef @.str.42)
  %10859 = load i64, ptr @simtime, align 8, !tbaa !15
  %10860 = add i64 %10859, 100
  store i64 %10860, ptr @simtime, align 8, !tbaa !15
  %10861 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10861, ptr noundef @.str.43)
  %10862 = load ptr, ptr %2, align 8, !tbaa !5
  %10863 = getelementptr inbounds %struct.PDP6, ptr %10862, i32 0, i32 28
  %10864 = load i64, ptr %10863, align 8, !tbaa !34
  %10865 = and i64 %10864, 68719214592
  %10866 = load ptr, ptr %2, align 8, !tbaa !5
  %10867 = getelementptr inbounds %struct.PDP6, ptr %10866, i32 0, i32 31
  %10868 = load i64, ptr %10867, align 8, !tbaa !39
  %10869 = and i64 %10868, 262143
  %10870 = or i64 %10865, %10869
  %10871 = load ptr, ptr %2, align 8, !tbaa !5
  %10872 = getelementptr inbounds %struct.PDP6, ptr %10871, i32 0, i32 28
  store i64 %10870, ptr %10872, align 8, !tbaa !34
  %10873 = load ptr, ptr %2, align 8, !tbaa !5
  %10874 = getelementptr inbounds %struct.PDP6, ptr %10873, i32 0, i32 31
  %10875 = load i64, ptr %10874, align 8, !tbaa !39
  %10876 = and i64 %10875, 131072
  %10877 = icmp ne i64 %10876, 0
  br i1 %10877, label %10878, label %10883

10878:                                            ; preds = %10852
  %10879 = load ptr, ptr %2, align 8, !tbaa !5
  %10880 = getelementptr inbounds %struct.PDP6, ptr %10879, i32 0, i32 28
  %10881 = load i64, ptr %10880, align 8, !tbaa !34
  %10882 = xor i64 %10881, 68719214592
  store i64 %10882, ptr %10880, align 8, !tbaa !34
  br label %10883

10883:                                            ; preds = %10878, %10852
  %10884 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10884, ptr noundef @.str.65)
  %10885 = load i64, ptr @simtime, align 8, !tbaa !15
  %10886 = add i64 %10885, 100
  store i64 %10886, ptr @simtime, align 8, !tbaa !15
  %10887 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10887, ptr noundef @.str.122)
  br label %17859

10888:                                            ; preds = %17
  %10889 = load ptr, ptr %2, align 8, !tbaa !5
  %10890 = getelementptr inbounds %struct.PDP6, ptr %10889, i32 0, i32 31
  %10891 = load i64, ptr %10890, align 8, !tbaa !39
  store i64 %10891, ptr %4, align 8, !tbaa !15
  %10892 = load ptr, ptr %2, align 8, !tbaa !5
  %10893 = getelementptr inbounds %struct.PDP6, ptr %10892, i32 0, i32 28
  %10894 = load i64, ptr %10893, align 8, !tbaa !34
  %10895 = load ptr, ptr %2, align 8, !tbaa !5
  %10896 = getelementptr inbounds %struct.PDP6, ptr %10895, i32 0, i32 31
  store i64 %10894, ptr %10896, align 8, !tbaa !39
  %10897 = load i64, ptr %4, align 8, !tbaa !15
  %10898 = load ptr, ptr %2, align 8, !tbaa !5
  %10899 = getelementptr inbounds %struct.PDP6, ptr %10898, i32 0, i32 28
  store i64 %10897, ptr %10899, align 8, !tbaa !34
  %10900 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10900, ptr noundef @.str.41)
  %10901 = load i64, ptr @simtime, align 8, !tbaa !15
  %10902 = add i64 %10901, 100
  store i64 %10902, ptr @simtime, align 8, !tbaa !15
  %10903 = load ptr, ptr %2, align 8, !tbaa !5
  %10904 = getelementptr inbounds %struct.PDP6, ptr %10903, i32 0, i32 28
  store i64 0, ptr %10904, align 8, !tbaa !34
  %10905 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10905, ptr noundef @.str.42)
  %10906 = load i64, ptr @simtime, align 8, !tbaa !15
  %10907 = add i64 %10906, 100
  store i64 %10907, ptr @simtime, align 8, !tbaa !15
  %10908 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10908, ptr noundef @.str.43)
  %10909 = load ptr, ptr %2, align 8, !tbaa !5
  %10910 = getelementptr inbounds %struct.PDP6, ptr %10909, i32 0, i32 28
  %10911 = load i64, ptr %10910, align 8, !tbaa !34
  %10912 = and i64 %10911, 68719214592
  %10913 = load ptr, ptr %2, align 8, !tbaa !5
  %10914 = getelementptr inbounds %struct.PDP6, ptr %10913, i32 0, i32 31
  %10915 = load i64, ptr %10914, align 8, !tbaa !39
  %10916 = and i64 %10915, 262143
  %10917 = or i64 %10912, %10916
  %10918 = load ptr, ptr %2, align 8, !tbaa !5
  %10919 = getelementptr inbounds %struct.PDP6, ptr %10918, i32 0, i32 28
  store i64 %10917, ptr %10919, align 8, !tbaa !34
  %10920 = load ptr, ptr %2, align 8, !tbaa !5
  %10921 = getelementptr inbounds %struct.PDP6, ptr %10920, i32 0, i32 31
  %10922 = load i64, ptr %10921, align 8, !tbaa !39
  %10923 = and i64 %10922, 131072
  %10924 = icmp ne i64 %10923, 0
  br i1 %10924, label %10925, label %10930

10925:                                            ; preds = %10888
  %10926 = load ptr, ptr %2, align 8, !tbaa !5
  %10927 = getelementptr inbounds %struct.PDP6, ptr %10926, i32 0, i32 28
  %10928 = load i64, ptr %10927, align 8, !tbaa !34
  %10929 = xor i64 %10928, 68719214592
  store i64 %10929, ptr %10927, align 8, !tbaa !34
  br label %10930

10930:                                            ; preds = %10925, %10888
  %10931 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10931, ptr noundef @.str.65)
  %10932 = load i64, ptr @simtime, align 8, !tbaa !15
  %10933 = add i64 %10932, 100
  store i64 %10933, ptr @simtime, align 8, !tbaa !15
  %10934 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10934, ptr noundef @.str.122)
  %10935 = load ptr, ptr %2, align 8, !tbaa !5
  %10936 = getelementptr inbounds %struct.PDP6, ptr %10935, i32 0, i32 28
  %10937 = load i64, ptr %10936, align 8, !tbaa !34
  %10938 = load ptr, ptr %2, align 8, !tbaa !5
  %10939 = getelementptr inbounds %struct.PDP6, ptr %10938, i32 0, i32 31
  store i64 %10937, ptr %10939, align 8, !tbaa !39
  br label %17859

10940:                                            ; preds = %17
  %10941 = load ptr, ptr %2, align 8, !tbaa !5
  %10942 = getelementptr inbounds %struct.PDP6, ptr %10941, i32 0, i32 31
  %10943 = load i64, ptr %10942, align 8, !tbaa !39
  %10944 = load ptr, ptr %2, align 8, !tbaa !5
  %10945 = getelementptr inbounds %struct.PDP6, ptr %10944, i32 0, i32 28
  store i64 %10943, ptr %10945, align 8, !tbaa !34
  %10946 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10946, ptr noundef @.str.41)
  %10947 = load i64, ptr @simtime, align 8, !tbaa !15
  %10948 = add i64 %10947, 100
  store i64 %10948, ptr @simtime, align 8, !tbaa !15
  %10949 = load ptr, ptr %2, align 8, !tbaa !5
  %10950 = getelementptr inbounds %struct.PDP6, ptr %10949, i32 0, i32 28
  store i64 0, ptr %10950, align 8, !tbaa !34
  %10951 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10951, ptr noundef @.str.42)
  %10952 = load i64, ptr @simtime, align 8, !tbaa !15
  %10953 = add i64 %10952, 100
  store i64 %10953, ptr @simtime, align 8, !tbaa !15
  %10954 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10954, ptr noundef @.str.43)
  %10955 = load ptr, ptr %2, align 8, !tbaa !5
  %10956 = getelementptr inbounds %struct.PDP6, ptr %10955, i32 0, i32 28
  %10957 = load i64, ptr %10956, align 8, !tbaa !34
  %10958 = and i64 %10957, 68719214592
  %10959 = load ptr, ptr %2, align 8, !tbaa !5
  %10960 = getelementptr inbounds %struct.PDP6, ptr %10959, i32 0, i32 31
  %10961 = load i64, ptr %10960, align 8, !tbaa !39
  %10962 = and i64 %10961, 262143
  %10963 = or i64 %10958, %10962
  %10964 = load ptr, ptr %2, align 8, !tbaa !5
  %10965 = getelementptr inbounds %struct.PDP6, ptr %10964, i32 0, i32 28
  store i64 %10963, ptr %10965, align 8, !tbaa !34
  %10966 = load ptr, ptr %2, align 8, !tbaa !5
  %10967 = getelementptr inbounds %struct.PDP6, ptr %10966, i32 0, i32 31
  %10968 = load i64, ptr %10967, align 8, !tbaa !39
  %10969 = and i64 %10968, 131072
  %10970 = icmp ne i64 %10969, 0
  br i1 %10970, label %10971, label %10976

10971:                                            ; preds = %10940
  %10972 = load ptr, ptr %2, align 8, !tbaa !5
  %10973 = getelementptr inbounds %struct.PDP6, ptr %10972, i32 0, i32 28
  %10974 = load i64, ptr %10973, align 8, !tbaa !34
  %10975 = xor i64 %10974, 68719214592
  store i64 %10975, ptr %10973, align 8, !tbaa !34
  br label %10976

10976:                                            ; preds = %10971, %10940
  %10977 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10977, ptr noundef @.str.65)
  %10978 = load i64, ptr @simtime, align 8, !tbaa !15
  %10979 = add i64 %10978, 100
  store i64 %10979, ptr @simtime, align 8, !tbaa !15
  %10980 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10980, ptr noundef @.str.122)
  %10981 = load ptr, ptr %2, align 8, !tbaa !5
  %10982 = getelementptr inbounds %struct.PDP6, ptr %10981, i32 0, i32 28
  %10983 = load i64, ptr %10982, align 8, !tbaa !34
  %10984 = load ptr, ptr %2, align 8, !tbaa !5
  %10985 = getelementptr inbounds %struct.PDP6, ptr %10984, i32 0, i32 31
  store i64 %10983, ptr %10985, align 8, !tbaa !39
  br label %17859

10986:                                            ; preds = %17
  %10987 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %10987, ptr noundef @.str.41)
  %10988 = load i64, ptr @simtime, align 8, !tbaa !15
  %10989 = add i64 %10988, 100
  store i64 %10989, ptr @simtime, align 8, !tbaa !15
  %10990 = load ptr, ptr %2, align 8, !tbaa !5
  %10991 = getelementptr inbounds %struct.PDP6, ptr %10990, i32 0, i32 31
  %10992 = load i64, ptr %10991, align 8, !tbaa !39
  %10993 = shl i64 %10992, 18
  %10994 = load ptr, ptr %2, align 8, !tbaa !5
  %10995 = getelementptr inbounds %struct.PDP6, ptr %10994, i32 0, i32 31
  %10996 = load i64, ptr %10995, align 8, !tbaa !39
  %10997 = lshr i64 %10996, 18
  %10998 = or i64 %10993, %10997
  %10999 = and i64 %10998, 68719476735
  %11000 = load ptr, ptr %2, align 8, !tbaa !5
  %11001 = getelementptr inbounds %struct.PDP6, ptr %11000, i32 0, i32 31
  store i64 %10999, ptr %11001, align 8, !tbaa !39
  %11002 = load ptr, ptr %2, align 8, !tbaa !5
  %11003 = getelementptr inbounds %struct.PDP6, ptr %11002, i32 0, i32 28
  store i64 0, ptr %11003, align 8, !tbaa !34
  %11004 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11004, ptr noundef @.str.42)
  %11005 = load i64, ptr @simtime, align 8, !tbaa !15
  %11006 = add i64 %11005, 100
  store i64 %11006, ptr @simtime, align 8, !tbaa !15
  %11007 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11007, ptr noundef @.str.43)
  %11008 = load ptr, ptr %2, align 8, !tbaa !5
  %11009 = getelementptr inbounds %struct.PDP6, ptr %11008, i32 0, i32 28
  %11010 = load i64, ptr %11009, align 8, !tbaa !34
  %11011 = and i64 %11010, 68719214592
  %11012 = load ptr, ptr %2, align 8, !tbaa !5
  %11013 = getelementptr inbounds %struct.PDP6, ptr %11012, i32 0, i32 31
  %11014 = load i64, ptr %11013, align 8, !tbaa !39
  %11015 = and i64 %11014, 262143
  %11016 = or i64 %11011, %11015
  %11017 = load ptr, ptr %2, align 8, !tbaa !5
  %11018 = getelementptr inbounds %struct.PDP6, ptr %11017, i32 0, i32 28
  store i64 %11016, ptr %11018, align 8, !tbaa !34
  %11019 = load ptr, ptr %2, align 8, !tbaa !5
  %11020 = getelementptr inbounds %struct.PDP6, ptr %11019, i32 0, i32 31
  %11021 = load i64, ptr %11020, align 8, !tbaa !39
  %11022 = and i64 %11021, 131072
  %11023 = icmp ne i64 %11022, 0
  br i1 %11023, label %11024, label %11029

11024:                                            ; preds = %10986
  %11025 = load ptr, ptr %2, align 8, !tbaa !5
  %11026 = getelementptr inbounds %struct.PDP6, ptr %11025, i32 0, i32 28
  %11027 = load i64, ptr %11026, align 8, !tbaa !34
  %11028 = xor i64 %11027, 68719214592
  store i64 %11028, ptr %11026, align 8, !tbaa !34
  br label %11029

11029:                                            ; preds = %11024, %10986
  %11030 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11030, ptr noundef @.str.65)
  %11031 = load i64, ptr @simtime, align 8, !tbaa !15
  %11032 = add i64 %11031, 100
  store i64 %11032, ptr @simtime, align 8, !tbaa !15
  %11033 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11033, ptr noundef @.str.122)
  br label %17859

11034:                                            ; preds = %17
  %11035 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11035, ptr noundef @.str.41)
  %11036 = load i64, ptr @simtime, align 8, !tbaa !15
  %11037 = add i64 %11036, 100
  store i64 %11037, ptr @simtime, align 8, !tbaa !15
  %11038 = load ptr, ptr %2, align 8, !tbaa !5
  %11039 = getelementptr inbounds %struct.PDP6, ptr %11038, i32 0, i32 31
  %11040 = load i64, ptr %11039, align 8, !tbaa !39
  %11041 = shl i64 %11040, 18
  %11042 = load ptr, ptr %2, align 8, !tbaa !5
  %11043 = getelementptr inbounds %struct.PDP6, ptr %11042, i32 0, i32 31
  %11044 = load i64, ptr %11043, align 8, !tbaa !39
  %11045 = lshr i64 %11044, 18
  %11046 = or i64 %11041, %11045
  %11047 = and i64 %11046, 68719476735
  %11048 = load ptr, ptr %2, align 8, !tbaa !5
  %11049 = getelementptr inbounds %struct.PDP6, ptr %11048, i32 0, i32 31
  store i64 %11047, ptr %11049, align 8, !tbaa !39
  %11050 = load ptr, ptr %2, align 8, !tbaa !5
  %11051 = getelementptr inbounds %struct.PDP6, ptr %11050, i32 0, i32 28
  store i64 0, ptr %11051, align 8, !tbaa !34
  %11052 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11052, ptr noundef @.str.42)
  %11053 = load i64, ptr @simtime, align 8, !tbaa !15
  %11054 = add i64 %11053, 100
  store i64 %11054, ptr @simtime, align 8, !tbaa !15
  %11055 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11055, ptr noundef @.str.43)
  %11056 = load ptr, ptr %2, align 8, !tbaa !5
  %11057 = getelementptr inbounds %struct.PDP6, ptr %11056, i32 0, i32 28
  %11058 = load i64, ptr %11057, align 8, !tbaa !34
  %11059 = and i64 %11058, 68719214592
  %11060 = load ptr, ptr %2, align 8, !tbaa !5
  %11061 = getelementptr inbounds %struct.PDP6, ptr %11060, i32 0, i32 31
  %11062 = load i64, ptr %11061, align 8, !tbaa !39
  %11063 = and i64 %11062, 262143
  %11064 = or i64 %11059, %11063
  %11065 = load ptr, ptr %2, align 8, !tbaa !5
  %11066 = getelementptr inbounds %struct.PDP6, ptr %11065, i32 0, i32 28
  store i64 %11064, ptr %11066, align 8, !tbaa !34
  %11067 = load ptr, ptr %2, align 8, !tbaa !5
  %11068 = getelementptr inbounds %struct.PDP6, ptr %11067, i32 0, i32 31
  %11069 = load i64, ptr %11068, align 8, !tbaa !39
  %11070 = and i64 %11069, 131072
  %11071 = icmp ne i64 %11070, 0
  br i1 %11071, label %11072, label %11077

11072:                                            ; preds = %11034
  %11073 = load ptr, ptr %2, align 8, !tbaa !5
  %11074 = getelementptr inbounds %struct.PDP6, ptr %11073, i32 0, i32 28
  %11075 = load i64, ptr %11074, align 8, !tbaa !34
  %11076 = xor i64 %11075, 68719214592
  store i64 %11076, ptr %11074, align 8, !tbaa !34
  br label %11077

11077:                                            ; preds = %11072, %11034
  %11078 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11078, ptr noundef @.str.65)
  %11079 = load i64, ptr @simtime, align 8, !tbaa !15
  %11080 = add i64 %11079, 100
  store i64 %11080, ptr @simtime, align 8, !tbaa !15
  %11081 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11081, ptr noundef @.str.122)
  br label %17859

11082:                                            ; preds = %17
  %11083 = load ptr, ptr %2, align 8, !tbaa !5
  %11084 = getelementptr inbounds %struct.PDP6, ptr %11083, i32 0, i32 31
  %11085 = load i64, ptr %11084, align 8, !tbaa !39
  store i64 %11085, ptr %4, align 8, !tbaa !15
  %11086 = load ptr, ptr %2, align 8, !tbaa !5
  %11087 = getelementptr inbounds %struct.PDP6, ptr %11086, i32 0, i32 28
  %11088 = load i64, ptr %11087, align 8, !tbaa !34
  %11089 = load ptr, ptr %2, align 8, !tbaa !5
  %11090 = getelementptr inbounds %struct.PDP6, ptr %11089, i32 0, i32 31
  store i64 %11088, ptr %11090, align 8, !tbaa !39
  %11091 = load i64, ptr %4, align 8, !tbaa !15
  %11092 = load ptr, ptr %2, align 8, !tbaa !5
  %11093 = getelementptr inbounds %struct.PDP6, ptr %11092, i32 0, i32 28
  store i64 %11091, ptr %11093, align 8, !tbaa !34
  %11094 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11094, ptr noundef @.str.41)
  %11095 = load i64, ptr @simtime, align 8, !tbaa !15
  %11096 = add i64 %11095, 100
  store i64 %11096, ptr @simtime, align 8, !tbaa !15
  %11097 = load ptr, ptr %2, align 8, !tbaa !5
  %11098 = getelementptr inbounds %struct.PDP6, ptr %11097, i32 0, i32 31
  %11099 = load i64, ptr %11098, align 8, !tbaa !39
  %11100 = shl i64 %11099, 18
  %11101 = load ptr, ptr %2, align 8, !tbaa !5
  %11102 = getelementptr inbounds %struct.PDP6, ptr %11101, i32 0, i32 31
  %11103 = load i64, ptr %11102, align 8, !tbaa !39
  %11104 = lshr i64 %11103, 18
  %11105 = or i64 %11100, %11104
  %11106 = and i64 %11105, 68719476735
  %11107 = load ptr, ptr %2, align 8, !tbaa !5
  %11108 = getelementptr inbounds %struct.PDP6, ptr %11107, i32 0, i32 31
  store i64 %11106, ptr %11108, align 8, !tbaa !39
  %11109 = load ptr, ptr %2, align 8, !tbaa !5
  %11110 = getelementptr inbounds %struct.PDP6, ptr %11109, i32 0, i32 28
  store i64 0, ptr %11110, align 8, !tbaa !34
  %11111 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11111, ptr noundef @.str.42)
  %11112 = load i64, ptr @simtime, align 8, !tbaa !15
  %11113 = add i64 %11112, 100
  store i64 %11113, ptr @simtime, align 8, !tbaa !15
  %11114 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11114, ptr noundef @.str.43)
  %11115 = load ptr, ptr %2, align 8, !tbaa !5
  %11116 = getelementptr inbounds %struct.PDP6, ptr %11115, i32 0, i32 28
  %11117 = load i64, ptr %11116, align 8, !tbaa !34
  %11118 = and i64 %11117, 68719214592
  %11119 = load ptr, ptr %2, align 8, !tbaa !5
  %11120 = getelementptr inbounds %struct.PDP6, ptr %11119, i32 0, i32 31
  %11121 = load i64, ptr %11120, align 8, !tbaa !39
  %11122 = and i64 %11121, 262143
  %11123 = or i64 %11118, %11122
  %11124 = load ptr, ptr %2, align 8, !tbaa !5
  %11125 = getelementptr inbounds %struct.PDP6, ptr %11124, i32 0, i32 28
  store i64 %11123, ptr %11125, align 8, !tbaa !34
  %11126 = load ptr, ptr %2, align 8, !tbaa !5
  %11127 = getelementptr inbounds %struct.PDP6, ptr %11126, i32 0, i32 31
  %11128 = load i64, ptr %11127, align 8, !tbaa !39
  %11129 = and i64 %11128, 131072
  %11130 = icmp ne i64 %11129, 0
  br i1 %11130, label %11131, label %11136

11131:                                            ; preds = %11082
  %11132 = load ptr, ptr %2, align 8, !tbaa !5
  %11133 = getelementptr inbounds %struct.PDP6, ptr %11132, i32 0, i32 28
  %11134 = load i64, ptr %11133, align 8, !tbaa !34
  %11135 = xor i64 %11134, 68719214592
  store i64 %11135, ptr %11133, align 8, !tbaa !34
  br label %11136

11136:                                            ; preds = %11131, %11082
  %11137 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11137, ptr noundef @.str.65)
  %11138 = load i64, ptr @simtime, align 8, !tbaa !15
  %11139 = add i64 %11138, 100
  store i64 %11139, ptr @simtime, align 8, !tbaa !15
  %11140 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11140, ptr noundef @.str.122)
  %11141 = load ptr, ptr %2, align 8, !tbaa !5
  %11142 = getelementptr inbounds %struct.PDP6, ptr %11141, i32 0, i32 28
  %11143 = load i64, ptr %11142, align 8, !tbaa !34
  %11144 = load ptr, ptr %2, align 8, !tbaa !5
  %11145 = getelementptr inbounds %struct.PDP6, ptr %11144, i32 0, i32 31
  store i64 %11143, ptr %11145, align 8, !tbaa !39
  br label %17859

11146:                                            ; preds = %17
  %11147 = load ptr, ptr %2, align 8, !tbaa !5
  %11148 = getelementptr inbounds %struct.PDP6, ptr %11147, i32 0, i32 31
  %11149 = load i64, ptr %11148, align 8, !tbaa !39
  %11150 = load ptr, ptr %2, align 8, !tbaa !5
  %11151 = getelementptr inbounds %struct.PDP6, ptr %11150, i32 0, i32 28
  store i64 %11149, ptr %11151, align 8, !tbaa !34
  %11152 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11152, ptr noundef @.str.41)
  %11153 = load i64, ptr @simtime, align 8, !tbaa !15
  %11154 = add i64 %11153, 100
  store i64 %11154, ptr @simtime, align 8, !tbaa !15
  %11155 = load ptr, ptr %2, align 8, !tbaa !5
  %11156 = getelementptr inbounds %struct.PDP6, ptr %11155, i32 0, i32 31
  %11157 = load i64, ptr %11156, align 8, !tbaa !39
  %11158 = shl i64 %11157, 18
  %11159 = load ptr, ptr %2, align 8, !tbaa !5
  %11160 = getelementptr inbounds %struct.PDP6, ptr %11159, i32 0, i32 31
  %11161 = load i64, ptr %11160, align 8, !tbaa !39
  %11162 = lshr i64 %11161, 18
  %11163 = or i64 %11158, %11162
  %11164 = and i64 %11163, 68719476735
  %11165 = load ptr, ptr %2, align 8, !tbaa !5
  %11166 = getelementptr inbounds %struct.PDP6, ptr %11165, i32 0, i32 31
  store i64 %11164, ptr %11166, align 8, !tbaa !39
  %11167 = load ptr, ptr %2, align 8, !tbaa !5
  %11168 = getelementptr inbounds %struct.PDP6, ptr %11167, i32 0, i32 28
  store i64 0, ptr %11168, align 8, !tbaa !34
  %11169 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11169, ptr noundef @.str.42)
  %11170 = load i64, ptr @simtime, align 8, !tbaa !15
  %11171 = add i64 %11170, 100
  store i64 %11171, ptr @simtime, align 8, !tbaa !15
  %11172 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11172, ptr noundef @.str.43)
  %11173 = load ptr, ptr %2, align 8, !tbaa !5
  %11174 = getelementptr inbounds %struct.PDP6, ptr %11173, i32 0, i32 28
  %11175 = load i64, ptr %11174, align 8, !tbaa !34
  %11176 = and i64 %11175, 68719214592
  %11177 = load ptr, ptr %2, align 8, !tbaa !5
  %11178 = getelementptr inbounds %struct.PDP6, ptr %11177, i32 0, i32 31
  %11179 = load i64, ptr %11178, align 8, !tbaa !39
  %11180 = and i64 %11179, 262143
  %11181 = or i64 %11176, %11180
  %11182 = load ptr, ptr %2, align 8, !tbaa !5
  %11183 = getelementptr inbounds %struct.PDP6, ptr %11182, i32 0, i32 28
  store i64 %11181, ptr %11183, align 8, !tbaa !34
  %11184 = load ptr, ptr %2, align 8, !tbaa !5
  %11185 = getelementptr inbounds %struct.PDP6, ptr %11184, i32 0, i32 31
  %11186 = load i64, ptr %11185, align 8, !tbaa !39
  %11187 = and i64 %11186, 131072
  %11188 = icmp ne i64 %11187, 0
  br i1 %11188, label %11189, label %11194

11189:                                            ; preds = %11146
  %11190 = load ptr, ptr %2, align 8, !tbaa !5
  %11191 = getelementptr inbounds %struct.PDP6, ptr %11190, i32 0, i32 28
  %11192 = load i64, ptr %11191, align 8, !tbaa !34
  %11193 = xor i64 %11192, 68719214592
  store i64 %11193, ptr %11191, align 8, !tbaa !34
  br label %11194

11194:                                            ; preds = %11189, %11146
  %11195 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11195, ptr noundef @.str.65)
  %11196 = load i64, ptr @simtime, align 8, !tbaa !15
  %11197 = add i64 %11196, 100
  store i64 %11197, ptr @simtime, align 8, !tbaa !15
  %11198 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11198, ptr noundef @.str.122)
  %11199 = load ptr, ptr %2, align 8, !tbaa !5
  %11200 = getelementptr inbounds %struct.PDP6, ptr %11199, i32 0, i32 28
  %11201 = load i64, ptr %11200, align 8, !tbaa !34
  %11202 = load ptr, ptr %2, align 8, !tbaa !5
  %11203 = getelementptr inbounds %struct.PDP6, ptr %11202, i32 0, i32 31
  store i64 %11201, ptr %11203, align 8, !tbaa !39
  br label %17859

11204:                                            ; preds = %17
  %11205 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11205, ptr noundef @.str.41)
  %11206 = load i64, ptr @simtime, align 8, !tbaa !15
  %11207 = add i64 %11206, 100
  store i64 %11207, ptr @simtime, align 8, !tbaa !15
  %11208 = load ptr, ptr %2, align 8, !tbaa !5
  %11209 = getelementptr inbounds %struct.PDP6, ptr %11208, i32 0, i32 28
  %11210 = load i64, ptr %11209, align 8, !tbaa !34
  %11211 = load ptr, ptr %2, align 8, !tbaa !5
  %11212 = getelementptr inbounds %struct.PDP6, ptr %11211, i32 0, i32 31
  %11213 = load i64, ptr %11212, align 8, !tbaa !39
  %11214 = and i64 %11213, %11210
  store i64 %11214, ptr %11212, align 8, !tbaa !39
  %11215 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11215, ptr noundef @.str.42)
  %11216 = load i64, ptr @simtime, align 8, !tbaa !15
  %11217 = add i64 %11216, 100
  store i64 %11217, ptr @simtime, align 8, !tbaa !15
  %11218 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11218, ptr noundef @.str.43)
  %11219 = load ptr, ptr %2, align 8, !tbaa !5
  %11220 = getelementptr inbounds %struct.PDP6, ptr %11219, i32 0, i32 31
  %11221 = load i64, ptr %11220, align 8, !tbaa !39
  store i64 %11221, ptr %4, align 8, !tbaa !15
  %11222 = load ptr, ptr %2, align 8, !tbaa !5
  %11223 = getelementptr inbounds %struct.PDP6, ptr %11222, i32 0, i32 28
  %11224 = load i64, ptr %11223, align 8, !tbaa !34
  %11225 = load ptr, ptr %2, align 8, !tbaa !5
  %11226 = getelementptr inbounds %struct.PDP6, ptr %11225, i32 0, i32 31
  store i64 %11224, ptr %11226, align 8, !tbaa !39
  %11227 = load i64, ptr %4, align 8, !tbaa !15
  %11228 = load ptr, ptr %2, align 8, !tbaa !5
  %11229 = getelementptr inbounds %struct.PDP6, ptr %11228, i32 0, i32 28
  store i64 %11227, ptr %11229, align 8, !tbaa !34
  %11230 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11230, ptr noundef @.str.65)
  %11231 = load i64, ptr @simtime, align 8, !tbaa !15
  %11232 = add i64 %11231, 100
  store i64 %11232, ptr @simtime, align 8, !tbaa !15
  %11233 = load ptr, ptr %2, align 8, !tbaa !5
  %11234 = getelementptr inbounds %struct.PDP6, ptr %11233, i32 0, i32 28
  %11235 = load i64, ptr %11234, align 8, !tbaa !34
  %11236 = xor i64 %11235, 68719476735
  store i64 %11236, ptr %11234, align 8, !tbaa !34
  %11237 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11237, ptr noundef @.str.122)
  %11238 = load i64, ptr @simtime, align 8, !tbaa !15
  %11239 = add i64 %11238, 100
  store i64 %11239, ptr @simtime, align 8, !tbaa !15
  %11240 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11240, ptr noundef @.str.125)
  %11241 = load i64, ptr @simtime, align 8, !tbaa !15
  %11242 = add i64 %11241, 100
  store i64 %11242, ptr @simtime, align 8, !tbaa !15
  %11243 = load ptr, ptr %2, align 8, !tbaa !5
  %11244 = getelementptr inbounds %struct.PDP6, ptr %11243, i32 0, i32 28
  %11245 = load i64, ptr %11244, align 8, !tbaa !34
  %11246 = xor i64 %11245, 68719476735
  store i64 %11246, ptr %11244, align 8, !tbaa !34
  %11247 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11247, ptr noundef @.str.126)
  %11248 = load i64, ptr @simtime, align 8, !tbaa !15
  %11249 = add i64 %11248, 100
  store i64 %11249, ptr @simtime, align 8, !tbaa !15
  %11250 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11250, ptr noundef @.str.127)
  %11251 = load i64, ptr @simtime, align 8, !tbaa !15
  %11252 = add i64 %11251, 200
  store i64 %11252, ptr @simtime, align 8, !tbaa !15
  %11253 = load ptr, ptr %2, align 8, !tbaa !5
  %11254 = getelementptr inbounds %struct.PDP6, ptr %11253, i32 0, i32 31
  %11255 = load i64, ptr %11254, align 8, !tbaa !39
  store i64 %11255, ptr %4, align 8, !tbaa !15
  %11256 = load ptr, ptr %2, align 8, !tbaa !5
  %11257 = getelementptr inbounds %struct.PDP6, ptr %11256, i32 0, i32 28
  %11258 = load i64, ptr %11257, align 8, !tbaa !34
  %11259 = load ptr, ptr %2, align 8, !tbaa !5
  %11260 = getelementptr inbounds %struct.PDP6, ptr %11259, i32 0, i32 31
  store i64 %11258, ptr %11260, align 8, !tbaa !39
  %11261 = load i64, ptr %4, align 8, !tbaa !15
  %11262 = load ptr, ptr %2, align 8, !tbaa !5
  %11263 = getelementptr inbounds %struct.PDP6, ptr %11262, i32 0, i32 28
  store i64 %11261, ptr %11263, align 8, !tbaa !34
  %11264 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11264, ptr noundef @.str.121)
  %11265 = load i64, ptr @simtime, align 8, !tbaa !15
  %11266 = add i64 %11265, 200
  store i64 %11266, ptr @simtime, align 8, !tbaa !15
  br label %17859

11267:                                            ; preds = %17
  %11268 = load ptr, ptr %2, align 8, !tbaa !5
  %11269 = getelementptr inbounds %struct.PDP6, ptr %11268, i32 0, i32 31
  %11270 = load i64, ptr %11269, align 8, !tbaa !39
  %11271 = shl i64 %11270, 18
  %11272 = load ptr, ptr %2, align 8, !tbaa !5
  %11273 = getelementptr inbounds %struct.PDP6, ptr %11272, i32 0, i32 31
  %11274 = load i64, ptr %11273, align 8, !tbaa !39
  %11275 = lshr i64 %11274, 18
  %11276 = or i64 %11271, %11275
  %11277 = and i64 %11276, 68719476735
  %11278 = load ptr, ptr %2, align 8, !tbaa !5
  %11279 = getelementptr inbounds %struct.PDP6, ptr %11278, i32 0, i32 31
  store i64 %11277, ptr %11279, align 8, !tbaa !39
  %11280 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11280, ptr noundef @.str.41)
  %11281 = load i64, ptr @simtime, align 8, !tbaa !15
  %11282 = add i64 %11281, 100
  store i64 %11282, ptr @simtime, align 8, !tbaa !15
  %11283 = load ptr, ptr %2, align 8, !tbaa !5
  %11284 = getelementptr inbounds %struct.PDP6, ptr %11283, i32 0, i32 28
  %11285 = load i64, ptr %11284, align 8, !tbaa !34
  %11286 = load ptr, ptr %2, align 8, !tbaa !5
  %11287 = getelementptr inbounds %struct.PDP6, ptr %11286, i32 0, i32 31
  %11288 = load i64, ptr %11287, align 8, !tbaa !39
  %11289 = and i64 %11288, %11285
  store i64 %11289, ptr %11287, align 8, !tbaa !39
  %11290 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11290, ptr noundef @.str.42)
  %11291 = load i64, ptr @simtime, align 8, !tbaa !15
  %11292 = add i64 %11291, 100
  store i64 %11292, ptr @simtime, align 8, !tbaa !15
  %11293 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11293, ptr noundef @.str.43)
  %11294 = load ptr, ptr %2, align 8, !tbaa !5
  %11295 = getelementptr inbounds %struct.PDP6, ptr %11294, i32 0, i32 31
  %11296 = load i64, ptr %11295, align 8, !tbaa !39
  store i64 %11296, ptr %4, align 8, !tbaa !15
  %11297 = load ptr, ptr %2, align 8, !tbaa !5
  %11298 = getelementptr inbounds %struct.PDP6, ptr %11297, i32 0, i32 28
  %11299 = load i64, ptr %11298, align 8, !tbaa !34
  %11300 = load ptr, ptr %2, align 8, !tbaa !5
  %11301 = getelementptr inbounds %struct.PDP6, ptr %11300, i32 0, i32 31
  store i64 %11299, ptr %11301, align 8, !tbaa !39
  %11302 = load i64, ptr %4, align 8, !tbaa !15
  %11303 = load ptr, ptr %2, align 8, !tbaa !5
  %11304 = getelementptr inbounds %struct.PDP6, ptr %11303, i32 0, i32 28
  store i64 %11302, ptr %11304, align 8, !tbaa !34
  %11305 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11305, ptr noundef @.str.65)
  %11306 = load i64, ptr @simtime, align 8, !tbaa !15
  %11307 = add i64 %11306, 100
  store i64 %11307, ptr @simtime, align 8, !tbaa !15
  %11308 = load ptr, ptr %2, align 8, !tbaa !5
  %11309 = getelementptr inbounds %struct.PDP6, ptr %11308, i32 0, i32 28
  %11310 = load i64, ptr %11309, align 8, !tbaa !34
  %11311 = xor i64 %11310, 68719476735
  store i64 %11311, ptr %11309, align 8, !tbaa !34
  %11312 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11312, ptr noundef @.str.122)
  %11313 = load i64, ptr @simtime, align 8, !tbaa !15
  %11314 = add i64 %11313, 100
  store i64 %11314, ptr @simtime, align 8, !tbaa !15
  %11315 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11315, ptr noundef @.str.125)
  %11316 = load i64, ptr @simtime, align 8, !tbaa !15
  %11317 = add i64 %11316, 100
  store i64 %11317, ptr @simtime, align 8, !tbaa !15
  %11318 = load ptr, ptr %2, align 8, !tbaa !5
  %11319 = getelementptr inbounds %struct.PDP6, ptr %11318, i32 0, i32 28
  %11320 = load i64, ptr %11319, align 8, !tbaa !34
  %11321 = xor i64 %11320, 68719476735
  store i64 %11321, ptr %11319, align 8, !tbaa !34
  %11322 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11322, ptr noundef @.str.126)
  %11323 = load i64, ptr @simtime, align 8, !tbaa !15
  %11324 = add i64 %11323, 100
  store i64 %11324, ptr @simtime, align 8, !tbaa !15
  %11325 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11325, ptr noundef @.str.127)
  %11326 = load i64, ptr @simtime, align 8, !tbaa !15
  %11327 = add i64 %11326, 200
  store i64 %11327, ptr @simtime, align 8, !tbaa !15
  %11328 = load ptr, ptr %2, align 8, !tbaa !5
  %11329 = getelementptr inbounds %struct.PDP6, ptr %11328, i32 0, i32 31
  %11330 = load i64, ptr %11329, align 8, !tbaa !39
  store i64 %11330, ptr %4, align 8, !tbaa !15
  %11331 = load ptr, ptr %2, align 8, !tbaa !5
  %11332 = getelementptr inbounds %struct.PDP6, ptr %11331, i32 0, i32 28
  %11333 = load i64, ptr %11332, align 8, !tbaa !34
  %11334 = load ptr, ptr %2, align 8, !tbaa !5
  %11335 = getelementptr inbounds %struct.PDP6, ptr %11334, i32 0, i32 31
  store i64 %11333, ptr %11335, align 8, !tbaa !39
  %11336 = load i64, ptr %4, align 8, !tbaa !15
  %11337 = load ptr, ptr %2, align 8, !tbaa !5
  %11338 = getelementptr inbounds %struct.PDP6, ptr %11337, i32 0, i32 28
  store i64 %11336, ptr %11338, align 8, !tbaa !34
  %11339 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11339, ptr noundef @.str.121)
  %11340 = load i64, ptr @simtime, align 8, !tbaa !15
  %11341 = add i64 %11340, 200
  store i64 %11341, ptr @simtime, align 8, !tbaa !15
  br label %17859

11342:                                            ; preds = %17
  %11343 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11343, ptr noundef @.str.41)
  %11344 = load i64, ptr @simtime, align 8, !tbaa !15
  %11345 = add i64 %11344, 100
  store i64 %11345, ptr @simtime, align 8, !tbaa !15
  %11346 = load ptr, ptr %2, align 8, !tbaa !5
  %11347 = getelementptr inbounds %struct.PDP6, ptr %11346, i32 0, i32 28
  %11348 = load i64, ptr %11347, align 8, !tbaa !34
  %11349 = load ptr, ptr %2, align 8, !tbaa !5
  %11350 = getelementptr inbounds %struct.PDP6, ptr %11349, i32 0, i32 31
  %11351 = load i64, ptr %11350, align 8, !tbaa !39
  %11352 = and i64 %11351, %11348
  store i64 %11352, ptr %11350, align 8, !tbaa !39
  %11353 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11353, ptr noundef @.str.42)
  %11354 = load i64, ptr @simtime, align 8, !tbaa !15
  %11355 = add i64 %11354, 100
  store i64 %11355, ptr @simtime, align 8, !tbaa !15
  %11356 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11356, ptr noundef @.str.43)
  %11357 = load ptr, ptr %2, align 8, !tbaa !5
  %11358 = getelementptr inbounds %struct.PDP6, ptr %11357, i32 0, i32 31
  %11359 = load i64, ptr %11358, align 8, !tbaa !39
  store i64 %11359, ptr %4, align 8, !tbaa !15
  %11360 = load ptr, ptr %2, align 8, !tbaa !5
  %11361 = getelementptr inbounds %struct.PDP6, ptr %11360, i32 0, i32 28
  %11362 = load i64, ptr %11361, align 8, !tbaa !34
  %11363 = load ptr, ptr %2, align 8, !tbaa !5
  %11364 = getelementptr inbounds %struct.PDP6, ptr %11363, i32 0, i32 31
  store i64 %11362, ptr %11364, align 8, !tbaa !39
  %11365 = load i64, ptr %4, align 8, !tbaa !15
  %11366 = load ptr, ptr %2, align 8, !tbaa !5
  %11367 = getelementptr inbounds %struct.PDP6, ptr %11366, i32 0, i32 28
  store i64 %11365, ptr %11367, align 8, !tbaa !34
  %11368 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11368, ptr noundef @.str.65)
  %11369 = load i64, ptr @simtime, align 8, !tbaa !15
  %11370 = add i64 %11369, 100
  store i64 %11370, ptr @simtime, align 8, !tbaa !15
  %11371 = load ptr, ptr %2, align 8, !tbaa !5
  %11372 = getelementptr inbounds %struct.PDP6, ptr %11371, i32 0, i32 28
  %11373 = load i64, ptr %11372, align 8, !tbaa !34
  %11374 = xor i64 %11373, 68719476735
  store i64 %11374, ptr %11372, align 8, !tbaa !34
  %11375 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11375, ptr noundef @.str.122)
  %11376 = load i64, ptr @simtime, align 8, !tbaa !15
  %11377 = add i64 %11376, 100
  store i64 %11377, ptr @simtime, align 8, !tbaa !15
  %11378 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11378, ptr noundef @.str.125)
  %11379 = load i64, ptr @simtime, align 8, !tbaa !15
  %11380 = add i64 %11379, 100
  store i64 %11380, ptr @simtime, align 8, !tbaa !15
  %11381 = load ptr, ptr %2, align 8, !tbaa !5
  %11382 = getelementptr inbounds %struct.PDP6, ptr %11381, i32 0, i32 28
  %11383 = load i64, ptr %11382, align 8, !tbaa !34
  %11384 = xor i64 %11383, 68719476735
  store i64 %11384, ptr %11382, align 8, !tbaa !34
  %11385 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11385, ptr noundef @.str.126)
  %11386 = load i64, ptr @simtime, align 8, !tbaa !15
  %11387 = add i64 %11386, 100
  store i64 %11387, ptr @simtime, align 8, !tbaa !15
  %11388 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11388, ptr noundef @.str.127)
  %11389 = load i64, ptr @simtime, align 8, !tbaa !15
  %11390 = add i64 %11389, 200
  store i64 %11390, ptr @simtime, align 8, !tbaa !15
  %11391 = load ptr, ptr %2, align 8, !tbaa !5
  %11392 = getelementptr inbounds %struct.PDP6, ptr %11391, i32 0, i32 28
  %11393 = load i64, ptr %11392, align 8, !tbaa !34
  %11394 = icmp eq i64 %11393, 0
  br i1 %11394, label %11395, label %11404

11395:                                            ; preds = %11342
  %11396 = load ptr, ptr %2, align 8, !tbaa !5
  %11397 = getelementptr inbounds %struct.PDP6, ptr %11396, i32 0, i32 34
  %11398 = load i32, ptr %11397, align 8, !tbaa !33
  %11399 = add i32 %11398, 1
  %11400 = and i32 %11399, 262143
  %11401 = load ptr, ptr %2, align 8, !tbaa !5
  %11402 = getelementptr inbounds %struct.PDP6, ptr %11401, i32 0, i32 34
  store i32 %11400, ptr %11402, align 8, !tbaa !33
  %11403 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %11403)
  br label %11404

11404:                                            ; preds = %11395, %11342
  %11405 = load ptr, ptr %2, align 8, !tbaa !5
  %11406 = getelementptr inbounds %struct.PDP6, ptr %11405, i32 0, i32 31
  %11407 = load i64, ptr %11406, align 8, !tbaa !39
  store i64 %11407, ptr %4, align 8, !tbaa !15
  %11408 = load ptr, ptr %2, align 8, !tbaa !5
  %11409 = getelementptr inbounds %struct.PDP6, ptr %11408, i32 0, i32 28
  %11410 = load i64, ptr %11409, align 8, !tbaa !34
  %11411 = load ptr, ptr %2, align 8, !tbaa !5
  %11412 = getelementptr inbounds %struct.PDP6, ptr %11411, i32 0, i32 31
  store i64 %11410, ptr %11412, align 8, !tbaa !39
  %11413 = load i64, ptr %4, align 8, !tbaa !15
  %11414 = load ptr, ptr %2, align 8, !tbaa !5
  %11415 = getelementptr inbounds %struct.PDP6, ptr %11414, i32 0, i32 28
  store i64 %11413, ptr %11415, align 8, !tbaa !34
  %11416 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11416, ptr noundef @.str.121)
  %11417 = load i64, ptr @simtime, align 8, !tbaa !15
  %11418 = add i64 %11417, 200
  store i64 %11418, ptr @simtime, align 8, !tbaa !15
  %11419 = load ptr, ptr %2, align 8, !tbaa !5
  %11420 = getelementptr inbounds %struct.PDP6, ptr %11419, i32 0, i32 28
  %11421 = load i64, ptr %11420, align 8, !tbaa !34
  %11422 = load ptr, ptr %2, align 8, !tbaa !5
  %11423 = getelementptr inbounds %struct.PDP6, ptr %11422, i32 0, i32 31
  store i64 %11421, ptr %11423, align 8, !tbaa !39
  br label %17859

11424:                                            ; preds = %17
  %11425 = load ptr, ptr %2, align 8, !tbaa !5
  %11426 = getelementptr inbounds %struct.PDP6, ptr %11425, i32 0, i32 31
  %11427 = load i64, ptr %11426, align 8, !tbaa !39
  %11428 = shl i64 %11427, 18
  %11429 = load ptr, ptr %2, align 8, !tbaa !5
  %11430 = getelementptr inbounds %struct.PDP6, ptr %11429, i32 0, i32 31
  %11431 = load i64, ptr %11430, align 8, !tbaa !39
  %11432 = lshr i64 %11431, 18
  %11433 = or i64 %11428, %11432
  %11434 = and i64 %11433, 68719476735
  %11435 = load ptr, ptr %2, align 8, !tbaa !5
  %11436 = getelementptr inbounds %struct.PDP6, ptr %11435, i32 0, i32 31
  store i64 %11434, ptr %11436, align 8, !tbaa !39
  %11437 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11437, ptr noundef @.str.41)
  %11438 = load i64, ptr @simtime, align 8, !tbaa !15
  %11439 = add i64 %11438, 100
  store i64 %11439, ptr @simtime, align 8, !tbaa !15
  %11440 = load ptr, ptr %2, align 8, !tbaa !5
  %11441 = getelementptr inbounds %struct.PDP6, ptr %11440, i32 0, i32 28
  %11442 = load i64, ptr %11441, align 8, !tbaa !34
  %11443 = load ptr, ptr %2, align 8, !tbaa !5
  %11444 = getelementptr inbounds %struct.PDP6, ptr %11443, i32 0, i32 31
  %11445 = load i64, ptr %11444, align 8, !tbaa !39
  %11446 = and i64 %11445, %11442
  store i64 %11446, ptr %11444, align 8, !tbaa !39
  %11447 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11447, ptr noundef @.str.42)
  %11448 = load i64, ptr @simtime, align 8, !tbaa !15
  %11449 = add i64 %11448, 100
  store i64 %11449, ptr @simtime, align 8, !tbaa !15
  %11450 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11450, ptr noundef @.str.43)
  %11451 = load ptr, ptr %2, align 8, !tbaa !5
  %11452 = getelementptr inbounds %struct.PDP6, ptr %11451, i32 0, i32 31
  %11453 = load i64, ptr %11452, align 8, !tbaa !39
  store i64 %11453, ptr %4, align 8, !tbaa !15
  %11454 = load ptr, ptr %2, align 8, !tbaa !5
  %11455 = getelementptr inbounds %struct.PDP6, ptr %11454, i32 0, i32 28
  %11456 = load i64, ptr %11455, align 8, !tbaa !34
  %11457 = load ptr, ptr %2, align 8, !tbaa !5
  %11458 = getelementptr inbounds %struct.PDP6, ptr %11457, i32 0, i32 31
  store i64 %11456, ptr %11458, align 8, !tbaa !39
  %11459 = load i64, ptr %4, align 8, !tbaa !15
  %11460 = load ptr, ptr %2, align 8, !tbaa !5
  %11461 = getelementptr inbounds %struct.PDP6, ptr %11460, i32 0, i32 28
  store i64 %11459, ptr %11461, align 8, !tbaa !34
  %11462 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11462, ptr noundef @.str.65)
  %11463 = load i64, ptr @simtime, align 8, !tbaa !15
  %11464 = add i64 %11463, 100
  store i64 %11464, ptr @simtime, align 8, !tbaa !15
  %11465 = load ptr, ptr %2, align 8, !tbaa !5
  %11466 = getelementptr inbounds %struct.PDP6, ptr %11465, i32 0, i32 28
  %11467 = load i64, ptr %11466, align 8, !tbaa !34
  %11468 = xor i64 %11467, 68719476735
  store i64 %11468, ptr %11466, align 8, !tbaa !34
  %11469 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11469, ptr noundef @.str.122)
  %11470 = load i64, ptr @simtime, align 8, !tbaa !15
  %11471 = add i64 %11470, 100
  store i64 %11471, ptr @simtime, align 8, !tbaa !15
  %11472 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11472, ptr noundef @.str.125)
  %11473 = load i64, ptr @simtime, align 8, !tbaa !15
  %11474 = add i64 %11473, 100
  store i64 %11474, ptr @simtime, align 8, !tbaa !15
  %11475 = load ptr, ptr %2, align 8, !tbaa !5
  %11476 = getelementptr inbounds %struct.PDP6, ptr %11475, i32 0, i32 28
  %11477 = load i64, ptr %11476, align 8, !tbaa !34
  %11478 = xor i64 %11477, 68719476735
  store i64 %11478, ptr %11476, align 8, !tbaa !34
  %11479 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11479, ptr noundef @.str.126)
  %11480 = load i64, ptr @simtime, align 8, !tbaa !15
  %11481 = add i64 %11480, 100
  store i64 %11481, ptr @simtime, align 8, !tbaa !15
  %11482 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11482, ptr noundef @.str.127)
  %11483 = load i64, ptr @simtime, align 8, !tbaa !15
  %11484 = add i64 %11483, 200
  store i64 %11484, ptr @simtime, align 8, !tbaa !15
  %11485 = load ptr, ptr %2, align 8, !tbaa !5
  %11486 = getelementptr inbounds %struct.PDP6, ptr %11485, i32 0, i32 28
  %11487 = load i64, ptr %11486, align 8, !tbaa !34
  %11488 = icmp eq i64 %11487, 0
  br i1 %11488, label %11489, label %11498

11489:                                            ; preds = %11424
  %11490 = load ptr, ptr %2, align 8, !tbaa !5
  %11491 = getelementptr inbounds %struct.PDP6, ptr %11490, i32 0, i32 34
  %11492 = load i32, ptr %11491, align 8, !tbaa !33
  %11493 = add i32 %11492, 1
  %11494 = and i32 %11493, 262143
  %11495 = load ptr, ptr %2, align 8, !tbaa !5
  %11496 = getelementptr inbounds %struct.PDP6, ptr %11495, i32 0, i32 34
  store i32 %11494, ptr %11496, align 8, !tbaa !33
  %11497 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %11497)
  br label %11498

11498:                                            ; preds = %11489, %11424
  %11499 = load ptr, ptr %2, align 8, !tbaa !5
  %11500 = getelementptr inbounds %struct.PDP6, ptr %11499, i32 0, i32 31
  %11501 = load i64, ptr %11500, align 8, !tbaa !39
  store i64 %11501, ptr %4, align 8, !tbaa !15
  %11502 = load ptr, ptr %2, align 8, !tbaa !5
  %11503 = getelementptr inbounds %struct.PDP6, ptr %11502, i32 0, i32 28
  %11504 = load i64, ptr %11503, align 8, !tbaa !34
  %11505 = load ptr, ptr %2, align 8, !tbaa !5
  %11506 = getelementptr inbounds %struct.PDP6, ptr %11505, i32 0, i32 31
  store i64 %11504, ptr %11506, align 8, !tbaa !39
  %11507 = load i64, ptr %4, align 8, !tbaa !15
  %11508 = load ptr, ptr %2, align 8, !tbaa !5
  %11509 = getelementptr inbounds %struct.PDP6, ptr %11508, i32 0, i32 28
  store i64 %11507, ptr %11509, align 8, !tbaa !34
  %11510 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11510, ptr noundef @.str.121)
  %11511 = load i64, ptr @simtime, align 8, !tbaa !15
  %11512 = add i64 %11511, 200
  store i64 %11512, ptr @simtime, align 8, !tbaa !15
  %11513 = load ptr, ptr %2, align 8, !tbaa !5
  %11514 = getelementptr inbounds %struct.PDP6, ptr %11513, i32 0, i32 28
  %11515 = load i64, ptr %11514, align 8, !tbaa !34
  %11516 = load ptr, ptr %2, align 8, !tbaa !5
  %11517 = getelementptr inbounds %struct.PDP6, ptr %11516, i32 0, i32 31
  store i64 %11515, ptr %11517, align 8, !tbaa !39
  br label %17859

11518:                                            ; preds = %17
  %11519 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11519, ptr noundef @.str.41)
  %11520 = load i64, ptr @simtime, align 8, !tbaa !15
  %11521 = add i64 %11520, 100
  store i64 %11521, ptr @simtime, align 8, !tbaa !15
  %11522 = load ptr, ptr %2, align 8, !tbaa !5
  %11523 = getelementptr inbounds %struct.PDP6, ptr %11522, i32 0, i32 28
  %11524 = load i64, ptr %11523, align 8, !tbaa !34
  %11525 = load ptr, ptr %2, align 8, !tbaa !5
  %11526 = getelementptr inbounds %struct.PDP6, ptr %11525, i32 0, i32 31
  %11527 = load i64, ptr %11526, align 8, !tbaa !39
  %11528 = and i64 %11527, %11524
  store i64 %11528, ptr %11526, align 8, !tbaa !39
  %11529 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11529, ptr noundef @.str.42)
  %11530 = load i64, ptr @simtime, align 8, !tbaa !15
  %11531 = add i64 %11530, 100
  store i64 %11531, ptr @simtime, align 8, !tbaa !15
  %11532 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11532, ptr noundef @.str.43)
  %11533 = load ptr, ptr %2, align 8, !tbaa !5
  %11534 = getelementptr inbounds %struct.PDP6, ptr %11533, i32 0, i32 31
  %11535 = load i64, ptr %11534, align 8, !tbaa !39
  store i64 %11535, ptr %4, align 8, !tbaa !15
  %11536 = load ptr, ptr %2, align 8, !tbaa !5
  %11537 = getelementptr inbounds %struct.PDP6, ptr %11536, i32 0, i32 28
  %11538 = load i64, ptr %11537, align 8, !tbaa !34
  %11539 = load ptr, ptr %2, align 8, !tbaa !5
  %11540 = getelementptr inbounds %struct.PDP6, ptr %11539, i32 0, i32 31
  store i64 %11538, ptr %11540, align 8, !tbaa !39
  %11541 = load i64, ptr %4, align 8, !tbaa !15
  %11542 = load ptr, ptr %2, align 8, !tbaa !5
  %11543 = getelementptr inbounds %struct.PDP6, ptr %11542, i32 0, i32 28
  store i64 %11541, ptr %11543, align 8, !tbaa !34
  %11544 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11544, ptr noundef @.str.65)
  %11545 = load i64, ptr @simtime, align 8, !tbaa !15
  %11546 = add i64 %11545, 100
  store i64 %11546, ptr @simtime, align 8, !tbaa !15
  %11547 = load ptr, ptr %2, align 8, !tbaa !5
  %11548 = getelementptr inbounds %struct.PDP6, ptr %11547, i32 0, i32 28
  %11549 = load i64, ptr %11548, align 8, !tbaa !34
  %11550 = xor i64 %11549, 68719476735
  store i64 %11550, ptr %11548, align 8, !tbaa !34
  %11551 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11551, ptr noundef @.str.122)
  %11552 = load i64, ptr @simtime, align 8, !tbaa !15
  %11553 = add i64 %11552, 100
  store i64 %11553, ptr @simtime, align 8, !tbaa !15
  %11554 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11554, ptr noundef @.str.125)
  %11555 = load i64, ptr @simtime, align 8, !tbaa !15
  %11556 = add i64 %11555, 100
  store i64 %11556, ptr @simtime, align 8, !tbaa !15
  %11557 = load ptr, ptr %2, align 8, !tbaa !5
  %11558 = getelementptr inbounds %struct.PDP6, ptr %11557, i32 0, i32 28
  %11559 = load i64, ptr %11558, align 8, !tbaa !34
  %11560 = xor i64 %11559, 68719476735
  store i64 %11560, ptr %11558, align 8, !tbaa !34
  %11561 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11561, ptr noundef @.str.126)
  %11562 = load i64, ptr @simtime, align 8, !tbaa !15
  %11563 = add i64 %11562, 100
  store i64 %11563, ptr @simtime, align 8, !tbaa !15
  %11564 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11564, ptr noundef @.str.127)
  %11565 = load i64, ptr @simtime, align 8, !tbaa !15
  %11566 = add i64 %11565, 200
  store i64 %11566, ptr @simtime, align 8, !tbaa !15
  %11567 = load ptr, ptr %2, align 8, !tbaa !5
  %11568 = getelementptr inbounds %struct.PDP6, ptr %11567, i32 0, i32 34
  %11569 = load i32, ptr %11568, align 8, !tbaa !33
  %11570 = add i32 %11569, 1
  %11571 = and i32 %11570, 262143
  %11572 = load ptr, ptr %2, align 8, !tbaa !5
  %11573 = getelementptr inbounds %struct.PDP6, ptr %11572, i32 0, i32 34
  store i32 %11571, ptr %11573, align 8, !tbaa !33
  %11574 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %11574)
  %11575 = load ptr, ptr %2, align 8, !tbaa !5
  %11576 = getelementptr inbounds %struct.PDP6, ptr %11575, i32 0, i32 31
  %11577 = load i64, ptr %11576, align 8, !tbaa !39
  store i64 %11577, ptr %4, align 8, !tbaa !15
  %11578 = load ptr, ptr %2, align 8, !tbaa !5
  %11579 = getelementptr inbounds %struct.PDP6, ptr %11578, i32 0, i32 28
  %11580 = load i64, ptr %11579, align 8, !tbaa !34
  %11581 = load ptr, ptr %2, align 8, !tbaa !5
  %11582 = getelementptr inbounds %struct.PDP6, ptr %11581, i32 0, i32 31
  store i64 %11580, ptr %11582, align 8, !tbaa !39
  %11583 = load i64, ptr %4, align 8, !tbaa !15
  %11584 = load ptr, ptr %2, align 8, !tbaa !5
  %11585 = getelementptr inbounds %struct.PDP6, ptr %11584, i32 0, i32 28
  store i64 %11583, ptr %11585, align 8, !tbaa !34
  %11586 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11586, ptr noundef @.str.121)
  %11587 = load i64, ptr @simtime, align 8, !tbaa !15
  %11588 = add i64 %11587, 200
  store i64 %11588, ptr @simtime, align 8, !tbaa !15
  br label %17859

11589:                                            ; preds = %17
  %11590 = load ptr, ptr %2, align 8, !tbaa !5
  %11591 = getelementptr inbounds %struct.PDP6, ptr %11590, i32 0, i32 31
  %11592 = load i64, ptr %11591, align 8, !tbaa !39
  %11593 = shl i64 %11592, 18
  %11594 = load ptr, ptr %2, align 8, !tbaa !5
  %11595 = getelementptr inbounds %struct.PDP6, ptr %11594, i32 0, i32 31
  %11596 = load i64, ptr %11595, align 8, !tbaa !39
  %11597 = lshr i64 %11596, 18
  %11598 = or i64 %11593, %11597
  %11599 = and i64 %11598, 68719476735
  %11600 = load ptr, ptr %2, align 8, !tbaa !5
  %11601 = getelementptr inbounds %struct.PDP6, ptr %11600, i32 0, i32 31
  store i64 %11599, ptr %11601, align 8, !tbaa !39
  %11602 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11602, ptr noundef @.str.41)
  %11603 = load i64, ptr @simtime, align 8, !tbaa !15
  %11604 = add i64 %11603, 100
  store i64 %11604, ptr @simtime, align 8, !tbaa !15
  %11605 = load ptr, ptr %2, align 8, !tbaa !5
  %11606 = getelementptr inbounds %struct.PDP6, ptr %11605, i32 0, i32 28
  %11607 = load i64, ptr %11606, align 8, !tbaa !34
  %11608 = load ptr, ptr %2, align 8, !tbaa !5
  %11609 = getelementptr inbounds %struct.PDP6, ptr %11608, i32 0, i32 31
  %11610 = load i64, ptr %11609, align 8, !tbaa !39
  %11611 = and i64 %11610, %11607
  store i64 %11611, ptr %11609, align 8, !tbaa !39
  %11612 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11612, ptr noundef @.str.42)
  %11613 = load i64, ptr @simtime, align 8, !tbaa !15
  %11614 = add i64 %11613, 100
  store i64 %11614, ptr @simtime, align 8, !tbaa !15
  %11615 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11615, ptr noundef @.str.43)
  %11616 = load ptr, ptr %2, align 8, !tbaa !5
  %11617 = getelementptr inbounds %struct.PDP6, ptr %11616, i32 0, i32 31
  %11618 = load i64, ptr %11617, align 8, !tbaa !39
  store i64 %11618, ptr %4, align 8, !tbaa !15
  %11619 = load ptr, ptr %2, align 8, !tbaa !5
  %11620 = getelementptr inbounds %struct.PDP6, ptr %11619, i32 0, i32 28
  %11621 = load i64, ptr %11620, align 8, !tbaa !34
  %11622 = load ptr, ptr %2, align 8, !tbaa !5
  %11623 = getelementptr inbounds %struct.PDP6, ptr %11622, i32 0, i32 31
  store i64 %11621, ptr %11623, align 8, !tbaa !39
  %11624 = load i64, ptr %4, align 8, !tbaa !15
  %11625 = load ptr, ptr %2, align 8, !tbaa !5
  %11626 = getelementptr inbounds %struct.PDP6, ptr %11625, i32 0, i32 28
  store i64 %11624, ptr %11626, align 8, !tbaa !34
  %11627 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11627, ptr noundef @.str.65)
  %11628 = load i64, ptr @simtime, align 8, !tbaa !15
  %11629 = add i64 %11628, 100
  store i64 %11629, ptr @simtime, align 8, !tbaa !15
  %11630 = load ptr, ptr %2, align 8, !tbaa !5
  %11631 = getelementptr inbounds %struct.PDP6, ptr %11630, i32 0, i32 28
  %11632 = load i64, ptr %11631, align 8, !tbaa !34
  %11633 = xor i64 %11632, 68719476735
  store i64 %11633, ptr %11631, align 8, !tbaa !34
  %11634 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11634, ptr noundef @.str.122)
  %11635 = load i64, ptr @simtime, align 8, !tbaa !15
  %11636 = add i64 %11635, 100
  store i64 %11636, ptr @simtime, align 8, !tbaa !15
  %11637 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11637, ptr noundef @.str.125)
  %11638 = load i64, ptr @simtime, align 8, !tbaa !15
  %11639 = add i64 %11638, 100
  store i64 %11639, ptr @simtime, align 8, !tbaa !15
  %11640 = load ptr, ptr %2, align 8, !tbaa !5
  %11641 = getelementptr inbounds %struct.PDP6, ptr %11640, i32 0, i32 28
  %11642 = load i64, ptr %11641, align 8, !tbaa !34
  %11643 = xor i64 %11642, 68719476735
  store i64 %11643, ptr %11641, align 8, !tbaa !34
  %11644 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11644, ptr noundef @.str.126)
  %11645 = load i64, ptr @simtime, align 8, !tbaa !15
  %11646 = add i64 %11645, 100
  store i64 %11646, ptr @simtime, align 8, !tbaa !15
  %11647 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11647, ptr noundef @.str.127)
  %11648 = load i64, ptr @simtime, align 8, !tbaa !15
  %11649 = add i64 %11648, 200
  store i64 %11649, ptr @simtime, align 8, !tbaa !15
  %11650 = load ptr, ptr %2, align 8, !tbaa !5
  %11651 = getelementptr inbounds %struct.PDP6, ptr %11650, i32 0, i32 34
  %11652 = load i32, ptr %11651, align 8, !tbaa !33
  %11653 = add i32 %11652, 1
  %11654 = and i32 %11653, 262143
  %11655 = load ptr, ptr %2, align 8, !tbaa !5
  %11656 = getelementptr inbounds %struct.PDP6, ptr %11655, i32 0, i32 34
  store i32 %11654, ptr %11656, align 8, !tbaa !33
  %11657 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %11657)
  %11658 = load ptr, ptr %2, align 8, !tbaa !5
  %11659 = getelementptr inbounds %struct.PDP6, ptr %11658, i32 0, i32 31
  %11660 = load i64, ptr %11659, align 8, !tbaa !39
  store i64 %11660, ptr %4, align 8, !tbaa !15
  %11661 = load ptr, ptr %2, align 8, !tbaa !5
  %11662 = getelementptr inbounds %struct.PDP6, ptr %11661, i32 0, i32 28
  %11663 = load i64, ptr %11662, align 8, !tbaa !34
  %11664 = load ptr, ptr %2, align 8, !tbaa !5
  %11665 = getelementptr inbounds %struct.PDP6, ptr %11664, i32 0, i32 31
  store i64 %11663, ptr %11665, align 8, !tbaa !39
  %11666 = load i64, ptr %4, align 8, !tbaa !15
  %11667 = load ptr, ptr %2, align 8, !tbaa !5
  %11668 = getelementptr inbounds %struct.PDP6, ptr %11667, i32 0, i32 28
  store i64 %11666, ptr %11668, align 8, !tbaa !34
  %11669 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11669, ptr noundef @.str.121)
  %11670 = load i64, ptr @simtime, align 8, !tbaa !15
  %11671 = add i64 %11670, 200
  store i64 %11671, ptr @simtime, align 8, !tbaa !15
  br label %17859

11672:                                            ; preds = %17
  %11673 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11673, ptr noundef @.str.41)
  %11674 = load i64, ptr @simtime, align 8, !tbaa !15
  %11675 = add i64 %11674, 100
  store i64 %11675, ptr @simtime, align 8, !tbaa !15
  %11676 = load ptr, ptr %2, align 8, !tbaa !5
  %11677 = getelementptr inbounds %struct.PDP6, ptr %11676, i32 0, i32 28
  %11678 = load i64, ptr %11677, align 8, !tbaa !34
  %11679 = load ptr, ptr %2, align 8, !tbaa !5
  %11680 = getelementptr inbounds %struct.PDP6, ptr %11679, i32 0, i32 31
  %11681 = load i64, ptr %11680, align 8, !tbaa !39
  %11682 = and i64 %11681, %11678
  store i64 %11682, ptr %11680, align 8, !tbaa !39
  %11683 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11683, ptr noundef @.str.42)
  %11684 = load i64, ptr @simtime, align 8, !tbaa !15
  %11685 = add i64 %11684, 100
  store i64 %11685, ptr @simtime, align 8, !tbaa !15
  %11686 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11686, ptr noundef @.str.43)
  %11687 = load ptr, ptr %2, align 8, !tbaa !5
  %11688 = getelementptr inbounds %struct.PDP6, ptr %11687, i32 0, i32 31
  %11689 = load i64, ptr %11688, align 8, !tbaa !39
  store i64 %11689, ptr %4, align 8, !tbaa !15
  %11690 = load ptr, ptr %2, align 8, !tbaa !5
  %11691 = getelementptr inbounds %struct.PDP6, ptr %11690, i32 0, i32 28
  %11692 = load i64, ptr %11691, align 8, !tbaa !34
  %11693 = load ptr, ptr %2, align 8, !tbaa !5
  %11694 = getelementptr inbounds %struct.PDP6, ptr %11693, i32 0, i32 31
  store i64 %11692, ptr %11694, align 8, !tbaa !39
  %11695 = load i64, ptr %4, align 8, !tbaa !15
  %11696 = load ptr, ptr %2, align 8, !tbaa !5
  %11697 = getelementptr inbounds %struct.PDP6, ptr %11696, i32 0, i32 28
  store i64 %11695, ptr %11697, align 8, !tbaa !34
  %11698 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11698, ptr noundef @.str.65)
  %11699 = load i64, ptr @simtime, align 8, !tbaa !15
  %11700 = add i64 %11699, 100
  store i64 %11700, ptr @simtime, align 8, !tbaa !15
  %11701 = load ptr, ptr %2, align 8, !tbaa !5
  %11702 = getelementptr inbounds %struct.PDP6, ptr %11701, i32 0, i32 28
  %11703 = load i64, ptr %11702, align 8, !tbaa !34
  %11704 = xor i64 %11703, 68719476735
  store i64 %11704, ptr %11702, align 8, !tbaa !34
  %11705 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11705, ptr noundef @.str.122)
  %11706 = load i64, ptr @simtime, align 8, !tbaa !15
  %11707 = add i64 %11706, 100
  store i64 %11707, ptr @simtime, align 8, !tbaa !15
  %11708 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11708, ptr noundef @.str.125)
  %11709 = load i64, ptr @simtime, align 8, !tbaa !15
  %11710 = add i64 %11709, 100
  store i64 %11710, ptr @simtime, align 8, !tbaa !15
  %11711 = load ptr, ptr %2, align 8, !tbaa !5
  %11712 = getelementptr inbounds %struct.PDP6, ptr %11711, i32 0, i32 28
  %11713 = load i64, ptr %11712, align 8, !tbaa !34
  %11714 = xor i64 %11713, 68719476735
  store i64 %11714, ptr %11712, align 8, !tbaa !34
  %11715 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11715, ptr noundef @.str.126)
  %11716 = load i64, ptr @simtime, align 8, !tbaa !15
  %11717 = add i64 %11716, 100
  store i64 %11717, ptr @simtime, align 8, !tbaa !15
  %11718 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11718, ptr noundef @.str.127)
  %11719 = load i64, ptr @simtime, align 8, !tbaa !15
  %11720 = add i64 %11719, 200
  store i64 %11720, ptr @simtime, align 8, !tbaa !15
  %11721 = load ptr, ptr %2, align 8, !tbaa !5
  %11722 = getelementptr inbounds %struct.PDP6, ptr %11721, i32 0, i32 28
  %11723 = load i64, ptr %11722, align 8, !tbaa !34
  %11724 = icmp eq i64 %11723, 0
  br i1 %11724, label %11734, label %11725

11725:                                            ; preds = %11672
  %11726 = load ptr, ptr %2, align 8, !tbaa !5
  %11727 = getelementptr inbounds %struct.PDP6, ptr %11726, i32 0, i32 34
  %11728 = load i32, ptr %11727, align 8, !tbaa !33
  %11729 = add i32 %11728, 1
  %11730 = and i32 %11729, 262143
  %11731 = load ptr, ptr %2, align 8, !tbaa !5
  %11732 = getelementptr inbounds %struct.PDP6, ptr %11731, i32 0, i32 34
  store i32 %11730, ptr %11732, align 8, !tbaa !33
  %11733 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %11733)
  br label %11734

11734:                                            ; preds = %11725, %11672
  %11735 = load ptr, ptr %2, align 8, !tbaa !5
  %11736 = getelementptr inbounds %struct.PDP6, ptr %11735, i32 0, i32 31
  %11737 = load i64, ptr %11736, align 8, !tbaa !39
  store i64 %11737, ptr %4, align 8, !tbaa !15
  %11738 = load ptr, ptr %2, align 8, !tbaa !5
  %11739 = getelementptr inbounds %struct.PDP6, ptr %11738, i32 0, i32 28
  %11740 = load i64, ptr %11739, align 8, !tbaa !34
  %11741 = load ptr, ptr %2, align 8, !tbaa !5
  %11742 = getelementptr inbounds %struct.PDP6, ptr %11741, i32 0, i32 31
  store i64 %11740, ptr %11742, align 8, !tbaa !39
  %11743 = load i64, ptr %4, align 8, !tbaa !15
  %11744 = load ptr, ptr %2, align 8, !tbaa !5
  %11745 = getelementptr inbounds %struct.PDP6, ptr %11744, i32 0, i32 28
  store i64 %11743, ptr %11745, align 8, !tbaa !34
  %11746 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11746, ptr noundef @.str.121)
  %11747 = load i64, ptr @simtime, align 8, !tbaa !15
  %11748 = add i64 %11747, 200
  store i64 %11748, ptr @simtime, align 8, !tbaa !15
  %11749 = load ptr, ptr %2, align 8, !tbaa !5
  %11750 = getelementptr inbounds %struct.PDP6, ptr %11749, i32 0, i32 28
  %11751 = load i64, ptr %11750, align 8, !tbaa !34
  %11752 = load ptr, ptr %2, align 8, !tbaa !5
  %11753 = getelementptr inbounds %struct.PDP6, ptr %11752, i32 0, i32 31
  store i64 %11751, ptr %11753, align 8, !tbaa !39
  br label %17859

11754:                                            ; preds = %17
  %11755 = load ptr, ptr %2, align 8, !tbaa !5
  %11756 = getelementptr inbounds %struct.PDP6, ptr %11755, i32 0, i32 31
  %11757 = load i64, ptr %11756, align 8, !tbaa !39
  %11758 = shl i64 %11757, 18
  %11759 = load ptr, ptr %2, align 8, !tbaa !5
  %11760 = getelementptr inbounds %struct.PDP6, ptr %11759, i32 0, i32 31
  %11761 = load i64, ptr %11760, align 8, !tbaa !39
  %11762 = lshr i64 %11761, 18
  %11763 = or i64 %11758, %11762
  %11764 = and i64 %11763, 68719476735
  %11765 = load ptr, ptr %2, align 8, !tbaa !5
  %11766 = getelementptr inbounds %struct.PDP6, ptr %11765, i32 0, i32 31
  store i64 %11764, ptr %11766, align 8, !tbaa !39
  %11767 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11767, ptr noundef @.str.41)
  %11768 = load i64, ptr @simtime, align 8, !tbaa !15
  %11769 = add i64 %11768, 100
  store i64 %11769, ptr @simtime, align 8, !tbaa !15
  %11770 = load ptr, ptr %2, align 8, !tbaa !5
  %11771 = getelementptr inbounds %struct.PDP6, ptr %11770, i32 0, i32 28
  %11772 = load i64, ptr %11771, align 8, !tbaa !34
  %11773 = load ptr, ptr %2, align 8, !tbaa !5
  %11774 = getelementptr inbounds %struct.PDP6, ptr %11773, i32 0, i32 31
  %11775 = load i64, ptr %11774, align 8, !tbaa !39
  %11776 = and i64 %11775, %11772
  store i64 %11776, ptr %11774, align 8, !tbaa !39
  %11777 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11777, ptr noundef @.str.42)
  %11778 = load i64, ptr @simtime, align 8, !tbaa !15
  %11779 = add i64 %11778, 100
  store i64 %11779, ptr @simtime, align 8, !tbaa !15
  %11780 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11780, ptr noundef @.str.43)
  %11781 = load ptr, ptr %2, align 8, !tbaa !5
  %11782 = getelementptr inbounds %struct.PDP6, ptr %11781, i32 0, i32 31
  %11783 = load i64, ptr %11782, align 8, !tbaa !39
  store i64 %11783, ptr %4, align 8, !tbaa !15
  %11784 = load ptr, ptr %2, align 8, !tbaa !5
  %11785 = getelementptr inbounds %struct.PDP6, ptr %11784, i32 0, i32 28
  %11786 = load i64, ptr %11785, align 8, !tbaa !34
  %11787 = load ptr, ptr %2, align 8, !tbaa !5
  %11788 = getelementptr inbounds %struct.PDP6, ptr %11787, i32 0, i32 31
  store i64 %11786, ptr %11788, align 8, !tbaa !39
  %11789 = load i64, ptr %4, align 8, !tbaa !15
  %11790 = load ptr, ptr %2, align 8, !tbaa !5
  %11791 = getelementptr inbounds %struct.PDP6, ptr %11790, i32 0, i32 28
  store i64 %11789, ptr %11791, align 8, !tbaa !34
  %11792 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11792, ptr noundef @.str.65)
  %11793 = load i64, ptr @simtime, align 8, !tbaa !15
  %11794 = add i64 %11793, 100
  store i64 %11794, ptr @simtime, align 8, !tbaa !15
  %11795 = load ptr, ptr %2, align 8, !tbaa !5
  %11796 = getelementptr inbounds %struct.PDP6, ptr %11795, i32 0, i32 28
  %11797 = load i64, ptr %11796, align 8, !tbaa !34
  %11798 = xor i64 %11797, 68719476735
  store i64 %11798, ptr %11796, align 8, !tbaa !34
  %11799 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11799, ptr noundef @.str.122)
  %11800 = load i64, ptr @simtime, align 8, !tbaa !15
  %11801 = add i64 %11800, 100
  store i64 %11801, ptr @simtime, align 8, !tbaa !15
  %11802 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11802, ptr noundef @.str.125)
  %11803 = load i64, ptr @simtime, align 8, !tbaa !15
  %11804 = add i64 %11803, 100
  store i64 %11804, ptr @simtime, align 8, !tbaa !15
  %11805 = load ptr, ptr %2, align 8, !tbaa !5
  %11806 = getelementptr inbounds %struct.PDP6, ptr %11805, i32 0, i32 28
  %11807 = load i64, ptr %11806, align 8, !tbaa !34
  %11808 = xor i64 %11807, 68719476735
  store i64 %11808, ptr %11806, align 8, !tbaa !34
  %11809 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11809, ptr noundef @.str.126)
  %11810 = load i64, ptr @simtime, align 8, !tbaa !15
  %11811 = add i64 %11810, 100
  store i64 %11811, ptr @simtime, align 8, !tbaa !15
  %11812 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11812, ptr noundef @.str.127)
  %11813 = load i64, ptr @simtime, align 8, !tbaa !15
  %11814 = add i64 %11813, 200
  store i64 %11814, ptr @simtime, align 8, !tbaa !15
  %11815 = load ptr, ptr %2, align 8, !tbaa !5
  %11816 = getelementptr inbounds %struct.PDP6, ptr %11815, i32 0, i32 28
  %11817 = load i64, ptr %11816, align 8, !tbaa !34
  %11818 = icmp eq i64 %11817, 0
  br i1 %11818, label %11828, label %11819

11819:                                            ; preds = %11754
  %11820 = load ptr, ptr %2, align 8, !tbaa !5
  %11821 = getelementptr inbounds %struct.PDP6, ptr %11820, i32 0, i32 34
  %11822 = load i32, ptr %11821, align 8, !tbaa !33
  %11823 = add i32 %11822, 1
  %11824 = and i32 %11823, 262143
  %11825 = load ptr, ptr %2, align 8, !tbaa !5
  %11826 = getelementptr inbounds %struct.PDP6, ptr %11825, i32 0, i32 34
  store i32 %11824, ptr %11826, align 8, !tbaa !33
  %11827 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %11827)
  br label %11828

11828:                                            ; preds = %11819, %11754
  %11829 = load ptr, ptr %2, align 8, !tbaa !5
  %11830 = getelementptr inbounds %struct.PDP6, ptr %11829, i32 0, i32 31
  %11831 = load i64, ptr %11830, align 8, !tbaa !39
  store i64 %11831, ptr %4, align 8, !tbaa !15
  %11832 = load ptr, ptr %2, align 8, !tbaa !5
  %11833 = getelementptr inbounds %struct.PDP6, ptr %11832, i32 0, i32 28
  %11834 = load i64, ptr %11833, align 8, !tbaa !34
  %11835 = load ptr, ptr %2, align 8, !tbaa !5
  %11836 = getelementptr inbounds %struct.PDP6, ptr %11835, i32 0, i32 31
  store i64 %11834, ptr %11836, align 8, !tbaa !39
  %11837 = load i64, ptr %4, align 8, !tbaa !15
  %11838 = load ptr, ptr %2, align 8, !tbaa !5
  %11839 = getelementptr inbounds %struct.PDP6, ptr %11838, i32 0, i32 28
  store i64 %11837, ptr %11839, align 8, !tbaa !34
  %11840 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11840, ptr noundef @.str.121)
  %11841 = load i64, ptr @simtime, align 8, !tbaa !15
  %11842 = add i64 %11841, 200
  store i64 %11842, ptr @simtime, align 8, !tbaa !15
  %11843 = load ptr, ptr %2, align 8, !tbaa !5
  %11844 = getelementptr inbounds %struct.PDP6, ptr %11843, i32 0, i32 28
  %11845 = load i64, ptr %11844, align 8, !tbaa !34
  %11846 = load ptr, ptr %2, align 8, !tbaa !5
  %11847 = getelementptr inbounds %struct.PDP6, ptr %11846, i32 0, i32 31
  store i64 %11845, ptr %11847, align 8, !tbaa !39
  br label %17859

11848:                                            ; preds = %17
  %11849 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11849, ptr noundef @.str.41)
  %11850 = load i64, ptr @simtime, align 8, !tbaa !15
  %11851 = add i64 %11850, 100
  store i64 %11851, ptr @simtime, align 8, !tbaa !15
  %11852 = load ptr, ptr %2, align 8, !tbaa !5
  %11853 = getelementptr inbounds %struct.PDP6, ptr %11852, i32 0, i32 28
  %11854 = load i64, ptr %11853, align 8, !tbaa !34
  %11855 = load ptr, ptr %2, align 8, !tbaa !5
  %11856 = getelementptr inbounds %struct.PDP6, ptr %11855, i32 0, i32 31
  %11857 = load i64, ptr %11856, align 8, !tbaa !39
  %11858 = and i64 %11857, %11854
  store i64 %11858, ptr %11856, align 8, !tbaa !39
  %11859 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11859, ptr noundef @.str.42)
  %11860 = load i64, ptr @simtime, align 8, !tbaa !15
  %11861 = add i64 %11860, 100
  store i64 %11861, ptr @simtime, align 8, !tbaa !15
  %11862 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11862, ptr noundef @.str.43)
  %11863 = load ptr, ptr %2, align 8, !tbaa !5
  %11864 = getelementptr inbounds %struct.PDP6, ptr %11863, i32 0, i32 31
  %11865 = load i64, ptr %11864, align 8, !tbaa !39
  store i64 %11865, ptr %4, align 8, !tbaa !15
  %11866 = load ptr, ptr %2, align 8, !tbaa !5
  %11867 = getelementptr inbounds %struct.PDP6, ptr %11866, i32 0, i32 28
  %11868 = load i64, ptr %11867, align 8, !tbaa !34
  %11869 = load ptr, ptr %2, align 8, !tbaa !5
  %11870 = getelementptr inbounds %struct.PDP6, ptr %11869, i32 0, i32 31
  store i64 %11868, ptr %11870, align 8, !tbaa !39
  %11871 = load i64, ptr %4, align 8, !tbaa !15
  %11872 = load ptr, ptr %2, align 8, !tbaa !5
  %11873 = getelementptr inbounds %struct.PDP6, ptr %11872, i32 0, i32 28
  store i64 %11871, ptr %11873, align 8, !tbaa !34
  %11874 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11874, ptr noundef @.str.65)
  %11875 = load i64, ptr @simtime, align 8, !tbaa !15
  %11876 = add i64 %11875, 100
  store i64 %11876, ptr @simtime, align 8, !tbaa !15
  %11877 = load ptr, ptr %2, align 8, !tbaa !5
  %11878 = getelementptr inbounds %struct.PDP6, ptr %11877, i32 0, i32 28
  %11879 = load i64, ptr %11878, align 8, !tbaa !34
  %11880 = xor i64 %11879, 68719476735
  store i64 %11880, ptr %11878, align 8, !tbaa !34
  %11881 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11881, ptr noundef @.str.122)
  %11882 = load i64, ptr @simtime, align 8, !tbaa !15
  %11883 = add i64 %11882, 100
  store i64 %11883, ptr @simtime, align 8, !tbaa !15
  %11884 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11884, ptr noundef @.str.125)
  %11885 = load i64, ptr @simtime, align 8, !tbaa !15
  %11886 = add i64 %11885, 100
  store i64 %11886, ptr @simtime, align 8, !tbaa !15
  %11887 = load ptr, ptr %2, align 8, !tbaa !5
  %11888 = getelementptr inbounds %struct.PDP6, ptr %11887, i32 0, i32 28
  %11889 = load i64, ptr %11888, align 8, !tbaa !34
  %11890 = xor i64 %11889, 68719476735
  store i64 %11890, ptr %11888, align 8, !tbaa !34
  %11891 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11891, ptr noundef @.str.126)
  %11892 = load i64, ptr @simtime, align 8, !tbaa !15
  %11893 = add i64 %11892, 100
  store i64 %11893, ptr @simtime, align 8, !tbaa !15
  %11894 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11894, ptr noundef @.str.127)
  %11895 = load i64, ptr @simtime, align 8, !tbaa !15
  %11896 = add i64 %11895, 200
  store i64 %11896, ptr @simtime, align 8, !tbaa !15
  %11897 = load ptr, ptr %2, align 8, !tbaa !5
  %11898 = getelementptr inbounds %struct.PDP6, ptr %11897, i32 0, i32 31
  %11899 = load i64, ptr %11898, align 8, !tbaa !39
  store i64 %11899, ptr %4, align 8, !tbaa !15
  %11900 = load ptr, ptr %2, align 8, !tbaa !5
  %11901 = getelementptr inbounds %struct.PDP6, ptr %11900, i32 0, i32 28
  %11902 = load i64, ptr %11901, align 8, !tbaa !34
  %11903 = load ptr, ptr %2, align 8, !tbaa !5
  %11904 = getelementptr inbounds %struct.PDP6, ptr %11903, i32 0, i32 31
  store i64 %11902, ptr %11904, align 8, !tbaa !39
  %11905 = load i64, ptr %4, align 8, !tbaa !15
  %11906 = load ptr, ptr %2, align 8, !tbaa !5
  %11907 = getelementptr inbounds %struct.PDP6, ptr %11906, i32 0, i32 28
  store i64 %11905, ptr %11907, align 8, !tbaa !34
  %11908 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11908, ptr noundef @.str.121)
  %11909 = load i64, ptr @simtime, align 8, !tbaa !15
  %11910 = add i64 %11909, 200
  store i64 %11910, ptr @simtime, align 8, !tbaa !15
  br label %17859

11911:                                            ; preds = %17
  %11912 = load ptr, ptr %2, align 8, !tbaa !5
  %11913 = getelementptr inbounds %struct.PDP6, ptr %11912, i32 0, i32 31
  %11914 = load i64, ptr %11913, align 8, !tbaa !39
  %11915 = shl i64 %11914, 18
  %11916 = load ptr, ptr %2, align 8, !tbaa !5
  %11917 = getelementptr inbounds %struct.PDP6, ptr %11916, i32 0, i32 31
  %11918 = load i64, ptr %11917, align 8, !tbaa !39
  %11919 = lshr i64 %11918, 18
  %11920 = or i64 %11915, %11919
  %11921 = and i64 %11920, 68719476735
  %11922 = load ptr, ptr %2, align 8, !tbaa !5
  %11923 = getelementptr inbounds %struct.PDP6, ptr %11922, i32 0, i32 31
  store i64 %11921, ptr %11923, align 8, !tbaa !39
  %11924 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11924, ptr noundef @.str.41)
  %11925 = load i64, ptr @simtime, align 8, !tbaa !15
  %11926 = add i64 %11925, 100
  store i64 %11926, ptr @simtime, align 8, !tbaa !15
  %11927 = load ptr, ptr %2, align 8, !tbaa !5
  %11928 = getelementptr inbounds %struct.PDP6, ptr %11927, i32 0, i32 28
  %11929 = load i64, ptr %11928, align 8, !tbaa !34
  %11930 = load ptr, ptr %2, align 8, !tbaa !5
  %11931 = getelementptr inbounds %struct.PDP6, ptr %11930, i32 0, i32 31
  %11932 = load i64, ptr %11931, align 8, !tbaa !39
  %11933 = and i64 %11932, %11929
  store i64 %11933, ptr %11931, align 8, !tbaa !39
  %11934 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11934, ptr noundef @.str.42)
  %11935 = load i64, ptr @simtime, align 8, !tbaa !15
  %11936 = add i64 %11935, 100
  store i64 %11936, ptr @simtime, align 8, !tbaa !15
  %11937 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11937, ptr noundef @.str.43)
  %11938 = load ptr, ptr %2, align 8, !tbaa !5
  %11939 = getelementptr inbounds %struct.PDP6, ptr %11938, i32 0, i32 31
  %11940 = load i64, ptr %11939, align 8, !tbaa !39
  store i64 %11940, ptr %4, align 8, !tbaa !15
  %11941 = load ptr, ptr %2, align 8, !tbaa !5
  %11942 = getelementptr inbounds %struct.PDP6, ptr %11941, i32 0, i32 28
  %11943 = load i64, ptr %11942, align 8, !tbaa !34
  %11944 = load ptr, ptr %2, align 8, !tbaa !5
  %11945 = getelementptr inbounds %struct.PDP6, ptr %11944, i32 0, i32 31
  store i64 %11943, ptr %11945, align 8, !tbaa !39
  %11946 = load i64, ptr %4, align 8, !tbaa !15
  %11947 = load ptr, ptr %2, align 8, !tbaa !5
  %11948 = getelementptr inbounds %struct.PDP6, ptr %11947, i32 0, i32 28
  store i64 %11946, ptr %11948, align 8, !tbaa !34
  %11949 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11949, ptr noundef @.str.65)
  %11950 = load i64, ptr @simtime, align 8, !tbaa !15
  %11951 = add i64 %11950, 100
  store i64 %11951, ptr @simtime, align 8, !tbaa !15
  %11952 = load ptr, ptr %2, align 8, !tbaa !5
  %11953 = getelementptr inbounds %struct.PDP6, ptr %11952, i32 0, i32 28
  %11954 = load i64, ptr %11953, align 8, !tbaa !34
  %11955 = xor i64 %11954, 68719476735
  store i64 %11955, ptr %11953, align 8, !tbaa !34
  %11956 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11956, ptr noundef @.str.122)
  %11957 = load i64, ptr @simtime, align 8, !tbaa !15
  %11958 = add i64 %11957, 100
  store i64 %11958, ptr @simtime, align 8, !tbaa !15
  %11959 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11959, ptr noundef @.str.125)
  %11960 = load i64, ptr @simtime, align 8, !tbaa !15
  %11961 = add i64 %11960, 100
  store i64 %11961, ptr @simtime, align 8, !tbaa !15
  %11962 = load ptr, ptr %2, align 8, !tbaa !5
  %11963 = getelementptr inbounds %struct.PDP6, ptr %11962, i32 0, i32 28
  %11964 = load i64, ptr %11963, align 8, !tbaa !34
  %11965 = xor i64 %11964, 68719476735
  store i64 %11965, ptr %11963, align 8, !tbaa !34
  %11966 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11966, ptr noundef @.str.126)
  %11967 = load i64, ptr @simtime, align 8, !tbaa !15
  %11968 = add i64 %11967, 100
  store i64 %11968, ptr @simtime, align 8, !tbaa !15
  %11969 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11969, ptr noundef @.str.127)
  %11970 = load i64, ptr @simtime, align 8, !tbaa !15
  %11971 = add i64 %11970, 200
  store i64 %11971, ptr @simtime, align 8, !tbaa !15
  %11972 = load ptr, ptr %2, align 8, !tbaa !5
  %11973 = getelementptr inbounds %struct.PDP6, ptr %11972, i32 0, i32 31
  %11974 = load i64, ptr %11973, align 8, !tbaa !39
  store i64 %11974, ptr %4, align 8, !tbaa !15
  %11975 = load ptr, ptr %2, align 8, !tbaa !5
  %11976 = getelementptr inbounds %struct.PDP6, ptr %11975, i32 0, i32 28
  %11977 = load i64, ptr %11976, align 8, !tbaa !34
  %11978 = load ptr, ptr %2, align 8, !tbaa !5
  %11979 = getelementptr inbounds %struct.PDP6, ptr %11978, i32 0, i32 31
  store i64 %11977, ptr %11979, align 8, !tbaa !39
  %11980 = load i64, ptr %4, align 8, !tbaa !15
  %11981 = load ptr, ptr %2, align 8, !tbaa !5
  %11982 = getelementptr inbounds %struct.PDP6, ptr %11981, i32 0, i32 28
  store i64 %11980, ptr %11982, align 8, !tbaa !34
  %11983 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11983, ptr noundef @.str.121)
  %11984 = load i64, ptr @simtime, align 8, !tbaa !15
  %11985 = add i64 %11984, 200
  store i64 %11985, ptr @simtime, align 8, !tbaa !15
  br label %17859

11986:                                            ; preds = %17
  %11987 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11987, ptr noundef @.str.41)
  %11988 = load i64, ptr @simtime, align 8, !tbaa !15
  %11989 = add i64 %11988, 100
  store i64 %11989, ptr @simtime, align 8, !tbaa !15
  %11990 = load ptr, ptr %2, align 8, !tbaa !5
  %11991 = getelementptr inbounds %struct.PDP6, ptr %11990, i32 0, i32 28
  %11992 = load i64, ptr %11991, align 8, !tbaa !34
  %11993 = load ptr, ptr %2, align 8, !tbaa !5
  %11994 = getelementptr inbounds %struct.PDP6, ptr %11993, i32 0, i32 31
  %11995 = load i64, ptr %11994, align 8, !tbaa !39
  %11996 = and i64 %11995, %11992
  store i64 %11996, ptr %11994, align 8, !tbaa !39
  %11997 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %11997, ptr noundef @.str.42)
  %11998 = load i64, ptr @simtime, align 8, !tbaa !15
  %11999 = add i64 %11998, 100
  store i64 %11999, ptr @simtime, align 8, !tbaa !15
  %12000 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12000, ptr noundef @.str.43)
  %12001 = load ptr, ptr %2, align 8, !tbaa !5
  %12002 = getelementptr inbounds %struct.PDP6, ptr %12001, i32 0, i32 31
  %12003 = load i64, ptr %12002, align 8, !tbaa !39
  store i64 %12003, ptr %4, align 8, !tbaa !15
  %12004 = load ptr, ptr %2, align 8, !tbaa !5
  %12005 = getelementptr inbounds %struct.PDP6, ptr %12004, i32 0, i32 28
  %12006 = load i64, ptr %12005, align 8, !tbaa !34
  %12007 = load ptr, ptr %2, align 8, !tbaa !5
  %12008 = getelementptr inbounds %struct.PDP6, ptr %12007, i32 0, i32 31
  store i64 %12006, ptr %12008, align 8, !tbaa !39
  %12009 = load i64, ptr %4, align 8, !tbaa !15
  %12010 = load ptr, ptr %2, align 8, !tbaa !5
  %12011 = getelementptr inbounds %struct.PDP6, ptr %12010, i32 0, i32 28
  store i64 %12009, ptr %12011, align 8, !tbaa !34
  %12012 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12012, ptr noundef @.str.65)
  %12013 = load i64, ptr @simtime, align 8, !tbaa !15
  %12014 = add i64 %12013, 100
  store i64 %12014, ptr @simtime, align 8, !tbaa !15
  %12015 = load ptr, ptr %2, align 8, !tbaa !5
  %12016 = getelementptr inbounds %struct.PDP6, ptr %12015, i32 0, i32 28
  %12017 = load i64, ptr %12016, align 8, !tbaa !34
  %12018 = xor i64 %12017, 68719476735
  store i64 %12018, ptr %12016, align 8, !tbaa !34
  %12019 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12019, ptr noundef @.str.122)
  %12020 = load i64, ptr @simtime, align 8, !tbaa !15
  %12021 = add i64 %12020, 100
  store i64 %12021, ptr @simtime, align 8, !tbaa !15
  %12022 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12022, ptr noundef @.str.125)
  %12023 = load i64, ptr @simtime, align 8, !tbaa !15
  %12024 = add i64 %12023, 100
  store i64 %12024, ptr @simtime, align 8, !tbaa !15
  %12025 = load ptr, ptr %2, align 8, !tbaa !5
  %12026 = getelementptr inbounds %struct.PDP6, ptr %12025, i32 0, i32 28
  %12027 = load i64, ptr %12026, align 8, !tbaa !34
  %12028 = xor i64 %12027, 68719476735
  store i64 %12028, ptr %12026, align 8, !tbaa !34
  %12029 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12029, ptr noundef @.str.126)
  %12030 = load i64, ptr @simtime, align 8, !tbaa !15
  %12031 = add i64 %12030, 100
  store i64 %12031, ptr @simtime, align 8, !tbaa !15
  %12032 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12032, ptr noundef @.str.127)
  %12033 = load i64, ptr @simtime, align 8, !tbaa !15
  %12034 = add i64 %12033, 200
  store i64 %12034, ptr @simtime, align 8, !tbaa !15
  %12035 = load ptr, ptr %2, align 8, !tbaa !5
  %12036 = getelementptr inbounds %struct.PDP6, ptr %12035, i32 0, i32 28
  %12037 = load i64, ptr %12036, align 8, !tbaa !34
  %12038 = icmp eq i64 %12037, 0
  br i1 %12038, label %12039, label %12048

12039:                                            ; preds = %11986
  %12040 = load ptr, ptr %2, align 8, !tbaa !5
  %12041 = getelementptr inbounds %struct.PDP6, ptr %12040, i32 0, i32 34
  %12042 = load i32, ptr %12041, align 8, !tbaa !33
  %12043 = add i32 %12042, 1
  %12044 = and i32 %12043, 262143
  %12045 = load ptr, ptr %2, align 8, !tbaa !5
  %12046 = getelementptr inbounds %struct.PDP6, ptr %12045, i32 0, i32 34
  store i32 %12044, ptr %12046, align 8, !tbaa !33
  %12047 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12047)
  br label %12048

12048:                                            ; preds = %12039, %11986
  %12049 = load ptr, ptr %2, align 8, !tbaa !5
  %12050 = getelementptr inbounds %struct.PDP6, ptr %12049, i32 0, i32 31
  %12051 = load i64, ptr %12050, align 8, !tbaa !39
  store i64 %12051, ptr %4, align 8, !tbaa !15
  %12052 = load ptr, ptr %2, align 8, !tbaa !5
  %12053 = getelementptr inbounds %struct.PDP6, ptr %12052, i32 0, i32 28
  %12054 = load i64, ptr %12053, align 8, !tbaa !34
  %12055 = load ptr, ptr %2, align 8, !tbaa !5
  %12056 = getelementptr inbounds %struct.PDP6, ptr %12055, i32 0, i32 31
  store i64 %12054, ptr %12056, align 8, !tbaa !39
  %12057 = load i64, ptr %4, align 8, !tbaa !15
  %12058 = load ptr, ptr %2, align 8, !tbaa !5
  %12059 = getelementptr inbounds %struct.PDP6, ptr %12058, i32 0, i32 28
  store i64 %12057, ptr %12059, align 8, !tbaa !34
  %12060 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12060, ptr noundef @.str.121)
  %12061 = load i64, ptr @simtime, align 8, !tbaa !15
  %12062 = add i64 %12061, 200
  store i64 %12062, ptr @simtime, align 8, !tbaa !15
  %12063 = load ptr, ptr %2, align 8, !tbaa !5
  %12064 = getelementptr inbounds %struct.PDP6, ptr %12063, i32 0, i32 28
  %12065 = load i64, ptr %12064, align 8, !tbaa !34
  %12066 = load ptr, ptr %2, align 8, !tbaa !5
  %12067 = getelementptr inbounds %struct.PDP6, ptr %12066, i32 0, i32 31
  store i64 %12065, ptr %12067, align 8, !tbaa !39
  br label %17859

12068:                                            ; preds = %17
  %12069 = load ptr, ptr %2, align 8, !tbaa !5
  %12070 = getelementptr inbounds %struct.PDP6, ptr %12069, i32 0, i32 31
  %12071 = load i64, ptr %12070, align 8, !tbaa !39
  %12072 = shl i64 %12071, 18
  %12073 = load ptr, ptr %2, align 8, !tbaa !5
  %12074 = getelementptr inbounds %struct.PDP6, ptr %12073, i32 0, i32 31
  %12075 = load i64, ptr %12074, align 8, !tbaa !39
  %12076 = lshr i64 %12075, 18
  %12077 = or i64 %12072, %12076
  %12078 = and i64 %12077, 68719476735
  %12079 = load ptr, ptr %2, align 8, !tbaa !5
  %12080 = getelementptr inbounds %struct.PDP6, ptr %12079, i32 0, i32 31
  store i64 %12078, ptr %12080, align 8, !tbaa !39
  %12081 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12081, ptr noundef @.str.41)
  %12082 = load i64, ptr @simtime, align 8, !tbaa !15
  %12083 = add i64 %12082, 100
  store i64 %12083, ptr @simtime, align 8, !tbaa !15
  %12084 = load ptr, ptr %2, align 8, !tbaa !5
  %12085 = getelementptr inbounds %struct.PDP6, ptr %12084, i32 0, i32 28
  %12086 = load i64, ptr %12085, align 8, !tbaa !34
  %12087 = load ptr, ptr %2, align 8, !tbaa !5
  %12088 = getelementptr inbounds %struct.PDP6, ptr %12087, i32 0, i32 31
  %12089 = load i64, ptr %12088, align 8, !tbaa !39
  %12090 = and i64 %12089, %12086
  store i64 %12090, ptr %12088, align 8, !tbaa !39
  %12091 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12091, ptr noundef @.str.42)
  %12092 = load i64, ptr @simtime, align 8, !tbaa !15
  %12093 = add i64 %12092, 100
  store i64 %12093, ptr @simtime, align 8, !tbaa !15
  %12094 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12094, ptr noundef @.str.43)
  %12095 = load ptr, ptr %2, align 8, !tbaa !5
  %12096 = getelementptr inbounds %struct.PDP6, ptr %12095, i32 0, i32 31
  %12097 = load i64, ptr %12096, align 8, !tbaa !39
  store i64 %12097, ptr %4, align 8, !tbaa !15
  %12098 = load ptr, ptr %2, align 8, !tbaa !5
  %12099 = getelementptr inbounds %struct.PDP6, ptr %12098, i32 0, i32 28
  %12100 = load i64, ptr %12099, align 8, !tbaa !34
  %12101 = load ptr, ptr %2, align 8, !tbaa !5
  %12102 = getelementptr inbounds %struct.PDP6, ptr %12101, i32 0, i32 31
  store i64 %12100, ptr %12102, align 8, !tbaa !39
  %12103 = load i64, ptr %4, align 8, !tbaa !15
  %12104 = load ptr, ptr %2, align 8, !tbaa !5
  %12105 = getelementptr inbounds %struct.PDP6, ptr %12104, i32 0, i32 28
  store i64 %12103, ptr %12105, align 8, !tbaa !34
  %12106 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12106, ptr noundef @.str.65)
  %12107 = load i64, ptr @simtime, align 8, !tbaa !15
  %12108 = add i64 %12107, 100
  store i64 %12108, ptr @simtime, align 8, !tbaa !15
  %12109 = load ptr, ptr %2, align 8, !tbaa !5
  %12110 = getelementptr inbounds %struct.PDP6, ptr %12109, i32 0, i32 28
  %12111 = load i64, ptr %12110, align 8, !tbaa !34
  %12112 = xor i64 %12111, 68719476735
  store i64 %12112, ptr %12110, align 8, !tbaa !34
  %12113 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12113, ptr noundef @.str.122)
  %12114 = load i64, ptr @simtime, align 8, !tbaa !15
  %12115 = add i64 %12114, 100
  store i64 %12115, ptr @simtime, align 8, !tbaa !15
  %12116 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12116, ptr noundef @.str.125)
  %12117 = load i64, ptr @simtime, align 8, !tbaa !15
  %12118 = add i64 %12117, 100
  store i64 %12118, ptr @simtime, align 8, !tbaa !15
  %12119 = load ptr, ptr %2, align 8, !tbaa !5
  %12120 = getelementptr inbounds %struct.PDP6, ptr %12119, i32 0, i32 28
  %12121 = load i64, ptr %12120, align 8, !tbaa !34
  %12122 = xor i64 %12121, 68719476735
  store i64 %12122, ptr %12120, align 8, !tbaa !34
  %12123 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12123, ptr noundef @.str.126)
  %12124 = load i64, ptr @simtime, align 8, !tbaa !15
  %12125 = add i64 %12124, 100
  store i64 %12125, ptr @simtime, align 8, !tbaa !15
  %12126 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12126, ptr noundef @.str.127)
  %12127 = load i64, ptr @simtime, align 8, !tbaa !15
  %12128 = add i64 %12127, 200
  store i64 %12128, ptr @simtime, align 8, !tbaa !15
  %12129 = load ptr, ptr %2, align 8, !tbaa !5
  %12130 = getelementptr inbounds %struct.PDP6, ptr %12129, i32 0, i32 28
  %12131 = load i64, ptr %12130, align 8, !tbaa !34
  %12132 = icmp eq i64 %12131, 0
  br i1 %12132, label %12133, label %12142

12133:                                            ; preds = %12068
  %12134 = load ptr, ptr %2, align 8, !tbaa !5
  %12135 = getelementptr inbounds %struct.PDP6, ptr %12134, i32 0, i32 34
  %12136 = load i32, ptr %12135, align 8, !tbaa !33
  %12137 = add i32 %12136, 1
  %12138 = and i32 %12137, 262143
  %12139 = load ptr, ptr %2, align 8, !tbaa !5
  %12140 = getelementptr inbounds %struct.PDP6, ptr %12139, i32 0, i32 34
  store i32 %12138, ptr %12140, align 8, !tbaa !33
  %12141 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12141)
  br label %12142

12142:                                            ; preds = %12133, %12068
  %12143 = load ptr, ptr %2, align 8, !tbaa !5
  %12144 = getelementptr inbounds %struct.PDP6, ptr %12143, i32 0, i32 31
  %12145 = load i64, ptr %12144, align 8, !tbaa !39
  store i64 %12145, ptr %4, align 8, !tbaa !15
  %12146 = load ptr, ptr %2, align 8, !tbaa !5
  %12147 = getelementptr inbounds %struct.PDP6, ptr %12146, i32 0, i32 28
  %12148 = load i64, ptr %12147, align 8, !tbaa !34
  %12149 = load ptr, ptr %2, align 8, !tbaa !5
  %12150 = getelementptr inbounds %struct.PDP6, ptr %12149, i32 0, i32 31
  store i64 %12148, ptr %12150, align 8, !tbaa !39
  %12151 = load i64, ptr %4, align 8, !tbaa !15
  %12152 = load ptr, ptr %2, align 8, !tbaa !5
  %12153 = getelementptr inbounds %struct.PDP6, ptr %12152, i32 0, i32 28
  store i64 %12151, ptr %12153, align 8, !tbaa !34
  %12154 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12154, ptr noundef @.str.121)
  %12155 = load i64, ptr @simtime, align 8, !tbaa !15
  %12156 = add i64 %12155, 200
  store i64 %12156, ptr @simtime, align 8, !tbaa !15
  %12157 = load ptr, ptr %2, align 8, !tbaa !5
  %12158 = getelementptr inbounds %struct.PDP6, ptr %12157, i32 0, i32 28
  %12159 = load i64, ptr %12158, align 8, !tbaa !34
  %12160 = load ptr, ptr %2, align 8, !tbaa !5
  %12161 = getelementptr inbounds %struct.PDP6, ptr %12160, i32 0, i32 31
  store i64 %12159, ptr %12161, align 8, !tbaa !39
  br label %17859

12162:                                            ; preds = %17
  %12163 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12163, ptr noundef @.str.41)
  %12164 = load i64, ptr @simtime, align 8, !tbaa !15
  %12165 = add i64 %12164, 100
  store i64 %12165, ptr @simtime, align 8, !tbaa !15
  %12166 = load ptr, ptr %2, align 8, !tbaa !5
  %12167 = getelementptr inbounds %struct.PDP6, ptr %12166, i32 0, i32 28
  %12168 = load i64, ptr %12167, align 8, !tbaa !34
  %12169 = load ptr, ptr %2, align 8, !tbaa !5
  %12170 = getelementptr inbounds %struct.PDP6, ptr %12169, i32 0, i32 31
  %12171 = load i64, ptr %12170, align 8, !tbaa !39
  %12172 = and i64 %12171, %12168
  store i64 %12172, ptr %12170, align 8, !tbaa !39
  %12173 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12173, ptr noundef @.str.42)
  %12174 = load i64, ptr @simtime, align 8, !tbaa !15
  %12175 = add i64 %12174, 100
  store i64 %12175, ptr @simtime, align 8, !tbaa !15
  %12176 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12176, ptr noundef @.str.43)
  %12177 = load ptr, ptr %2, align 8, !tbaa !5
  %12178 = getelementptr inbounds %struct.PDP6, ptr %12177, i32 0, i32 31
  %12179 = load i64, ptr %12178, align 8, !tbaa !39
  store i64 %12179, ptr %4, align 8, !tbaa !15
  %12180 = load ptr, ptr %2, align 8, !tbaa !5
  %12181 = getelementptr inbounds %struct.PDP6, ptr %12180, i32 0, i32 28
  %12182 = load i64, ptr %12181, align 8, !tbaa !34
  %12183 = load ptr, ptr %2, align 8, !tbaa !5
  %12184 = getelementptr inbounds %struct.PDP6, ptr %12183, i32 0, i32 31
  store i64 %12182, ptr %12184, align 8, !tbaa !39
  %12185 = load i64, ptr %4, align 8, !tbaa !15
  %12186 = load ptr, ptr %2, align 8, !tbaa !5
  %12187 = getelementptr inbounds %struct.PDP6, ptr %12186, i32 0, i32 28
  store i64 %12185, ptr %12187, align 8, !tbaa !34
  %12188 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12188, ptr noundef @.str.65)
  %12189 = load i64, ptr @simtime, align 8, !tbaa !15
  %12190 = add i64 %12189, 100
  store i64 %12190, ptr @simtime, align 8, !tbaa !15
  %12191 = load ptr, ptr %2, align 8, !tbaa !5
  %12192 = getelementptr inbounds %struct.PDP6, ptr %12191, i32 0, i32 28
  %12193 = load i64, ptr %12192, align 8, !tbaa !34
  %12194 = xor i64 %12193, 68719476735
  store i64 %12194, ptr %12192, align 8, !tbaa !34
  %12195 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12195, ptr noundef @.str.122)
  %12196 = load i64, ptr @simtime, align 8, !tbaa !15
  %12197 = add i64 %12196, 100
  store i64 %12197, ptr @simtime, align 8, !tbaa !15
  %12198 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12198, ptr noundef @.str.125)
  %12199 = load i64, ptr @simtime, align 8, !tbaa !15
  %12200 = add i64 %12199, 100
  store i64 %12200, ptr @simtime, align 8, !tbaa !15
  %12201 = load ptr, ptr %2, align 8, !tbaa !5
  %12202 = getelementptr inbounds %struct.PDP6, ptr %12201, i32 0, i32 28
  %12203 = load i64, ptr %12202, align 8, !tbaa !34
  %12204 = xor i64 %12203, 68719476735
  store i64 %12204, ptr %12202, align 8, !tbaa !34
  %12205 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12205, ptr noundef @.str.126)
  %12206 = load i64, ptr @simtime, align 8, !tbaa !15
  %12207 = add i64 %12206, 100
  store i64 %12207, ptr @simtime, align 8, !tbaa !15
  %12208 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12208, ptr noundef @.str.127)
  %12209 = load i64, ptr @simtime, align 8, !tbaa !15
  %12210 = add i64 %12209, 200
  store i64 %12210, ptr @simtime, align 8, !tbaa !15
  %12211 = load ptr, ptr %2, align 8, !tbaa !5
  %12212 = getelementptr inbounds %struct.PDP6, ptr %12211, i32 0, i32 34
  %12213 = load i32, ptr %12212, align 8, !tbaa !33
  %12214 = add i32 %12213, 1
  %12215 = and i32 %12214, 262143
  %12216 = load ptr, ptr %2, align 8, !tbaa !5
  %12217 = getelementptr inbounds %struct.PDP6, ptr %12216, i32 0, i32 34
  store i32 %12215, ptr %12217, align 8, !tbaa !33
  %12218 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12218)
  %12219 = load ptr, ptr %2, align 8, !tbaa !5
  %12220 = getelementptr inbounds %struct.PDP6, ptr %12219, i32 0, i32 31
  %12221 = load i64, ptr %12220, align 8, !tbaa !39
  store i64 %12221, ptr %4, align 8, !tbaa !15
  %12222 = load ptr, ptr %2, align 8, !tbaa !5
  %12223 = getelementptr inbounds %struct.PDP6, ptr %12222, i32 0, i32 28
  %12224 = load i64, ptr %12223, align 8, !tbaa !34
  %12225 = load ptr, ptr %2, align 8, !tbaa !5
  %12226 = getelementptr inbounds %struct.PDP6, ptr %12225, i32 0, i32 31
  store i64 %12224, ptr %12226, align 8, !tbaa !39
  %12227 = load i64, ptr %4, align 8, !tbaa !15
  %12228 = load ptr, ptr %2, align 8, !tbaa !5
  %12229 = getelementptr inbounds %struct.PDP6, ptr %12228, i32 0, i32 28
  store i64 %12227, ptr %12229, align 8, !tbaa !34
  %12230 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12230, ptr noundef @.str.121)
  %12231 = load i64, ptr @simtime, align 8, !tbaa !15
  %12232 = add i64 %12231, 200
  store i64 %12232, ptr @simtime, align 8, !tbaa !15
  br label %17859

12233:                                            ; preds = %17
  %12234 = load ptr, ptr %2, align 8, !tbaa !5
  %12235 = getelementptr inbounds %struct.PDP6, ptr %12234, i32 0, i32 31
  %12236 = load i64, ptr %12235, align 8, !tbaa !39
  %12237 = shl i64 %12236, 18
  %12238 = load ptr, ptr %2, align 8, !tbaa !5
  %12239 = getelementptr inbounds %struct.PDP6, ptr %12238, i32 0, i32 31
  %12240 = load i64, ptr %12239, align 8, !tbaa !39
  %12241 = lshr i64 %12240, 18
  %12242 = or i64 %12237, %12241
  %12243 = and i64 %12242, 68719476735
  %12244 = load ptr, ptr %2, align 8, !tbaa !5
  %12245 = getelementptr inbounds %struct.PDP6, ptr %12244, i32 0, i32 31
  store i64 %12243, ptr %12245, align 8, !tbaa !39
  %12246 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12246, ptr noundef @.str.41)
  %12247 = load i64, ptr @simtime, align 8, !tbaa !15
  %12248 = add i64 %12247, 100
  store i64 %12248, ptr @simtime, align 8, !tbaa !15
  %12249 = load ptr, ptr %2, align 8, !tbaa !5
  %12250 = getelementptr inbounds %struct.PDP6, ptr %12249, i32 0, i32 28
  %12251 = load i64, ptr %12250, align 8, !tbaa !34
  %12252 = load ptr, ptr %2, align 8, !tbaa !5
  %12253 = getelementptr inbounds %struct.PDP6, ptr %12252, i32 0, i32 31
  %12254 = load i64, ptr %12253, align 8, !tbaa !39
  %12255 = and i64 %12254, %12251
  store i64 %12255, ptr %12253, align 8, !tbaa !39
  %12256 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12256, ptr noundef @.str.42)
  %12257 = load i64, ptr @simtime, align 8, !tbaa !15
  %12258 = add i64 %12257, 100
  store i64 %12258, ptr @simtime, align 8, !tbaa !15
  %12259 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12259, ptr noundef @.str.43)
  %12260 = load ptr, ptr %2, align 8, !tbaa !5
  %12261 = getelementptr inbounds %struct.PDP6, ptr %12260, i32 0, i32 31
  %12262 = load i64, ptr %12261, align 8, !tbaa !39
  store i64 %12262, ptr %4, align 8, !tbaa !15
  %12263 = load ptr, ptr %2, align 8, !tbaa !5
  %12264 = getelementptr inbounds %struct.PDP6, ptr %12263, i32 0, i32 28
  %12265 = load i64, ptr %12264, align 8, !tbaa !34
  %12266 = load ptr, ptr %2, align 8, !tbaa !5
  %12267 = getelementptr inbounds %struct.PDP6, ptr %12266, i32 0, i32 31
  store i64 %12265, ptr %12267, align 8, !tbaa !39
  %12268 = load i64, ptr %4, align 8, !tbaa !15
  %12269 = load ptr, ptr %2, align 8, !tbaa !5
  %12270 = getelementptr inbounds %struct.PDP6, ptr %12269, i32 0, i32 28
  store i64 %12268, ptr %12270, align 8, !tbaa !34
  %12271 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12271, ptr noundef @.str.65)
  %12272 = load i64, ptr @simtime, align 8, !tbaa !15
  %12273 = add i64 %12272, 100
  store i64 %12273, ptr @simtime, align 8, !tbaa !15
  %12274 = load ptr, ptr %2, align 8, !tbaa !5
  %12275 = getelementptr inbounds %struct.PDP6, ptr %12274, i32 0, i32 28
  %12276 = load i64, ptr %12275, align 8, !tbaa !34
  %12277 = xor i64 %12276, 68719476735
  store i64 %12277, ptr %12275, align 8, !tbaa !34
  %12278 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12278, ptr noundef @.str.122)
  %12279 = load i64, ptr @simtime, align 8, !tbaa !15
  %12280 = add i64 %12279, 100
  store i64 %12280, ptr @simtime, align 8, !tbaa !15
  %12281 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12281, ptr noundef @.str.125)
  %12282 = load i64, ptr @simtime, align 8, !tbaa !15
  %12283 = add i64 %12282, 100
  store i64 %12283, ptr @simtime, align 8, !tbaa !15
  %12284 = load ptr, ptr %2, align 8, !tbaa !5
  %12285 = getelementptr inbounds %struct.PDP6, ptr %12284, i32 0, i32 28
  %12286 = load i64, ptr %12285, align 8, !tbaa !34
  %12287 = xor i64 %12286, 68719476735
  store i64 %12287, ptr %12285, align 8, !tbaa !34
  %12288 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12288, ptr noundef @.str.126)
  %12289 = load i64, ptr @simtime, align 8, !tbaa !15
  %12290 = add i64 %12289, 100
  store i64 %12290, ptr @simtime, align 8, !tbaa !15
  %12291 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12291, ptr noundef @.str.127)
  %12292 = load i64, ptr @simtime, align 8, !tbaa !15
  %12293 = add i64 %12292, 200
  store i64 %12293, ptr @simtime, align 8, !tbaa !15
  %12294 = load ptr, ptr %2, align 8, !tbaa !5
  %12295 = getelementptr inbounds %struct.PDP6, ptr %12294, i32 0, i32 34
  %12296 = load i32, ptr %12295, align 8, !tbaa !33
  %12297 = add i32 %12296, 1
  %12298 = and i32 %12297, 262143
  %12299 = load ptr, ptr %2, align 8, !tbaa !5
  %12300 = getelementptr inbounds %struct.PDP6, ptr %12299, i32 0, i32 34
  store i32 %12298, ptr %12300, align 8, !tbaa !33
  %12301 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12301)
  %12302 = load ptr, ptr %2, align 8, !tbaa !5
  %12303 = getelementptr inbounds %struct.PDP6, ptr %12302, i32 0, i32 31
  %12304 = load i64, ptr %12303, align 8, !tbaa !39
  store i64 %12304, ptr %4, align 8, !tbaa !15
  %12305 = load ptr, ptr %2, align 8, !tbaa !5
  %12306 = getelementptr inbounds %struct.PDP6, ptr %12305, i32 0, i32 28
  %12307 = load i64, ptr %12306, align 8, !tbaa !34
  %12308 = load ptr, ptr %2, align 8, !tbaa !5
  %12309 = getelementptr inbounds %struct.PDP6, ptr %12308, i32 0, i32 31
  store i64 %12307, ptr %12309, align 8, !tbaa !39
  %12310 = load i64, ptr %4, align 8, !tbaa !15
  %12311 = load ptr, ptr %2, align 8, !tbaa !5
  %12312 = getelementptr inbounds %struct.PDP6, ptr %12311, i32 0, i32 28
  store i64 %12310, ptr %12312, align 8, !tbaa !34
  %12313 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12313, ptr noundef @.str.121)
  %12314 = load i64, ptr @simtime, align 8, !tbaa !15
  %12315 = add i64 %12314, 200
  store i64 %12315, ptr @simtime, align 8, !tbaa !15
  br label %17859

12316:                                            ; preds = %17
  %12317 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12317, ptr noundef @.str.41)
  %12318 = load i64, ptr @simtime, align 8, !tbaa !15
  %12319 = add i64 %12318, 100
  store i64 %12319, ptr @simtime, align 8, !tbaa !15
  %12320 = load ptr, ptr %2, align 8, !tbaa !5
  %12321 = getelementptr inbounds %struct.PDP6, ptr %12320, i32 0, i32 28
  %12322 = load i64, ptr %12321, align 8, !tbaa !34
  %12323 = load ptr, ptr %2, align 8, !tbaa !5
  %12324 = getelementptr inbounds %struct.PDP6, ptr %12323, i32 0, i32 31
  %12325 = load i64, ptr %12324, align 8, !tbaa !39
  %12326 = and i64 %12325, %12322
  store i64 %12326, ptr %12324, align 8, !tbaa !39
  %12327 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12327, ptr noundef @.str.42)
  %12328 = load i64, ptr @simtime, align 8, !tbaa !15
  %12329 = add i64 %12328, 100
  store i64 %12329, ptr @simtime, align 8, !tbaa !15
  %12330 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12330, ptr noundef @.str.43)
  %12331 = load ptr, ptr %2, align 8, !tbaa !5
  %12332 = getelementptr inbounds %struct.PDP6, ptr %12331, i32 0, i32 31
  %12333 = load i64, ptr %12332, align 8, !tbaa !39
  store i64 %12333, ptr %4, align 8, !tbaa !15
  %12334 = load ptr, ptr %2, align 8, !tbaa !5
  %12335 = getelementptr inbounds %struct.PDP6, ptr %12334, i32 0, i32 28
  %12336 = load i64, ptr %12335, align 8, !tbaa !34
  %12337 = load ptr, ptr %2, align 8, !tbaa !5
  %12338 = getelementptr inbounds %struct.PDP6, ptr %12337, i32 0, i32 31
  store i64 %12336, ptr %12338, align 8, !tbaa !39
  %12339 = load i64, ptr %4, align 8, !tbaa !15
  %12340 = load ptr, ptr %2, align 8, !tbaa !5
  %12341 = getelementptr inbounds %struct.PDP6, ptr %12340, i32 0, i32 28
  store i64 %12339, ptr %12341, align 8, !tbaa !34
  %12342 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12342, ptr noundef @.str.65)
  %12343 = load i64, ptr @simtime, align 8, !tbaa !15
  %12344 = add i64 %12343, 100
  store i64 %12344, ptr @simtime, align 8, !tbaa !15
  %12345 = load ptr, ptr %2, align 8, !tbaa !5
  %12346 = getelementptr inbounds %struct.PDP6, ptr %12345, i32 0, i32 28
  %12347 = load i64, ptr %12346, align 8, !tbaa !34
  %12348 = xor i64 %12347, 68719476735
  store i64 %12348, ptr %12346, align 8, !tbaa !34
  %12349 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12349, ptr noundef @.str.122)
  %12350 = load i64, ptr @simtime, align 8, !tbaa !15
  %12351 = add i64 %12350, 100
  store i64 %12351, ptr @simtime, align 8, !tbaa !15
  %12352 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12352, ptr noundef @.str.125)
  %12353 = load i64, ptr @simtime, align 8, !tbaa !15
  %12354 = add i64 %12353, 100
  store i64 %12354, ptr @simtime, align 8, !tbaa !15
  %12355 = load ptr, ptr %2, align 8, !tbaa !5
  %12356 = getelementptr inbounds %struct.PDP6, ptr %12355, i32 0, i32 28
  %12357 = load i64, ptr %12356, align 8, !tbaa !34
  %12358 = xor i64 %12357, 68719476735
  store i64 %12358, ptr %12356, align 8, !tbaa !34
  %12359 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12359, ptr noundef @.str.126)
  %12360 = load i64, ptr @simtime, align 8, !tbaa !15
  %12361 = add i64 %12360, 100
  store i64 %12361, ptr @simtime, align 8, !tbaa !15
  %12362 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12362, ptr noundef @.str.127)
  %12363 = load i64, ptr @simtime, align 8, !tbaa !15
  %12364 = add i64 %12363, 200
  store i64 %12364, ptr @simtime, align 8, !tbaa !15
  %12365 = load ptr, ptr %2, align 8, !tbaa !5
  %12366 = getelementptr inbounds %struct.PDP6, ptr %12365, i32 0, i32 28
  %12367 = load i64, ptr %12366, align 8, !tbaa !34
  %12368 = icmp eq i64 %12367, 0
  br i1 %12368, label %12378, label %12369

12369:                                            ; preds = %12316
  %12370 = load ptr, ptr %2, align 8, !tbaa !5
  %12371 = getelementptr inbounds %struct.PDP6, ptr %12370, i32 0, i32 34
  %12372 = load i32, ptr %12371, align 8, !tbaa !33
  %12373 = add i32 %12372, 1
  %12374 = and i32 %12373, 262143
  %12375 = load ptr, ptr %2, align 8, !tbaa !5
  %12376 = getelementptr inbounds %struct.PDP6, ptr %12375, i32 0, i32 34
  store i32 %12374, ptr %12376, align 8, !tbaa !33
  %12377 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12377)
  br label %12378

12378:                                            ; preds = %12369, %12316
  %12379 = load ptr, ptr %2, align 8, !tbaa !5
  %12380 = getelementptr inbounds %struct.PDP6, ptr %12379, i32 0, i32 31
  %12381 = load i64, ptr %12380, align 8, !tbaa !39
  store i64 %12381, ptr %4, align 8, !tbaa !15
  %12382 = load ptr, ptr %2, align 8, !tbaa !5
  %12383 = getelementptr inbounds %struct.PDP6, ptr %12382, i32 0, i32 28
  %12384 = load i64, ptr %12383, align 8, !tbaa !34
  %12385 = load ptr, ptr %2, align 8, !tbaa !5
  %12386 = getelementptr inbounds %struct.PDP6, ptr %12385, i32 0, i32 31
  store i64 %12384, ptr %12386, align 8, !tbaa !39
  %12387 = load i64, ptr %4, align 8, !tbaa !15
  %12388 = load ptr, ptr %2, align 8, !tbaa !5
  %12389 = getelementptr inbounds %struct.PDP6, ptr %12388, i32 0, i32 28
  store i64 %12387, ptr %12389, align 8, !tbaa !34
  %12390 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12390, ptr noundef @.str.121)
  %12391 = load i64, ptr @simtime, align 8, !tbaa !15
  %12392 = add i64 %12391, 200
  store i64 %12392, ptr @simtime, align 8, !tbaa !15
  %12393 = load ptr, ptr %2, align 8, !tbaa !5
  %12394 = getelementptr inbounds %struct.PDP6, ptr %12393, i32 0, i32 28
  %12395 = load i64, ptr %12394, align 8, !tbaa !34
  %12396 = load ptr, ptr %2, align 8, !tbaa !5
  %12397 = getelementptr inbounds %struct.PDP6, ptr %12396, i32 0, i32 31
  store i64 %12395, ptr %12397, align 8, !tbaa !39
  br label %17859

12398:                                            ; preds = %17
  %12399 = load ptr, ptr %2, align 8, !tbaa !5
  %12400 = getelementptr inbounds %struct.PDP6, ptr %12399, i32 0, i32 31
  %12401 = load i64, ptr %12400, align 8, !tbaa !39
  %12402 = shl i64 %12401, 18
  %12403 = load ptr, ptr %2, align 8, !tbaa !5
  %12404 = getelementptr inbounds %struct.PDP6, ptr %12403, i32 0, i32 31
  %12405 = load i64, ptr %12404, align 8, !tbaa !39
  %12406 = lshr i64 %12405, 18
  %12407 = or i64 %12402, %12406
  %12408 = and i64 %12407, 68719476735
  %12409 = load ptr, ptr %2, align 8, !tbaa !5
  %12410 = getelementptr inbounds %struct.PDP6, ptr %12409, i32 0, i32 31
  store i64 %12408, ptr %12410, align 8, !tbaa !39
  %12411 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12411, ptr noundef @.str.41)
  %12412 = load i64, ptr @simtime, align 8, !tbaa !15
  %12413 = add i64 %12412, 100
  store i64 %12413, ptr @simtime, align 8, !tbaa !15
  %12414 = load ptr, ptr %2, align 8, !tbaa !5
  %12415 = getelementptr inbounds %struct.PDP6, ptr %12414, i32 0, i32 28
  %12416 = load i64, ptr %12415, align 8, !tbaa !34
  %12417 = load ptr, ptr %2, align 8, !tbaa !5
  %12418 = getelementptr inbounds %struct.PDP6, ptr %12417, i32 0, i32 31
  %12419 = load i64, ptr %12418, align 8, !tbaa !39
  %12420 = and i64 %12419, %12416
  store i64 %12420, ptr %12418, align 8, !tbaa !39
  %12421 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12421, ptr noundef @.str.42)
  %12422 = load i64, ptr @simtime, align 8, !tbaa !15
  %12423 = add i64 %12422, 100
  store i64 %12423, ptr @simtime, align 8, !tbaa !15
  %12424 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12424, ptr noundef @.str.43)
  %12425 = load ptr, ptr %2, align 8, !tbaa !5
  %12426 = getelementptr inbounds %struct.PDP6, ptr %12425, i32 0, i32 31
  %12427 = load i64, ptr %12426, align 8, !tbaa !39
  store i64 %12427, ptr %4, align 8, !tbaa !15
  %12428 = load ptr, ptr %2, align 8, !tbaa !5
  %12429 = getelementptr inbounds %struct.PDP6, ptr %12428, i32 0, i32 28
  %12430 = load i64, ptr %12429, align 8, !tbaa !34
  %12431 = load ptr, ptr %2, align 8, !tbaa !5
  %12432 = getelementptr inbounds %struct.PDP6, ptr %12431, i32 0, i32 31
  store i64 %12430, ptr %12432, align 8, !tbaa !39
  %12433 = load i64, ptr %4, align 8, !tbaa !15
  %12434 = load ptr, ptr %2, align 8, !tbaa !5
  %12435 = getelementptr inbounds %struct.PDP6, ptr %12434, i32 0, i32 28
  store i64 %12433, ptr %12435, align 8, !tbaa !34
  %12436 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12436, ptr noundef @.str.65)
  %12437 = load i64, ptr @simtime, align 8, !tbaa !15
  %12438 = add i64 %12437, 100
  store i64 %12438, ptr @simtime, align 8, !tbaa !15
  %12439 = load ptr, ptr %2, align 8, !tbaa !5
  %12440 = getelementptr inbounds %struct.PDP6, ptr %12439, i32 0, i32 28
  %12441 = load i64, ptr %12440, align 8, !tbaa !34
  %12442 = xor i64 %12441, 68719476735
  store i64 %12442, ptr %12440, align 8, !tbaa !34
  %12443 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12443, ptr noundef @.str.122)
  %12444 = load i64, ptr @simtime, align 8, !tbaa !15
  %12445 = add i64 %12444, 100
  store i64 %12445, ptr @simtime, align 8, !tbaa !15
  %12446 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12446, ptr noundef @.str.125)
  %12447 = load i64, ptr @simtime, align 8, !tbaa !15
  %12448 = add i64 %12447, 100
  store i64 %12448, ptr @simtime, align 8, !tbaa !15
  %12449 = load ptr, ptr %2, align 8, !tbaa !5
  %12450 = getelementptr inbounds %struct.PDP6, ptr %12449, i32 0, i32 28
  %12451 = load i64, ptr %12450, align 8, !tbaa !34
  %12452 = xor i64 %12451, 68719476735
  store i64 %12452, ptr %12450, align 8, !tbaa !34
  %12453 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12453, ptr noundef @.str.126)
  %12454 = load i64, ptr @simtime, align 8, !tbaa !15
  %12455 = add i64 %12454, 100
  store i64 %12455, ptr @simtime, align 8, !tbaa !15
  %12456 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12456, ptr noundef @.str.127)
  %12457 = load i64, ptr @simtime, align 8, !tbaa !15
  %12458 = add i64 %12457, 200
  store i64 %12458, ptr @simtime, align 8, !tbaa !15
  %12459 = load ptr, ptr %2, align 8, !tbaa !5
  %12460 = getelementptr inbounds %struct.PDP6, ptr %12459, i32 0, i32 28
  %12461 = load i64, ptr %12460, align 8, !tbaa !34
  %12462 = icmp eq i64 %12461, 0
  br i1 %12462, label %12472, label %12463

12463:                                            ; preds = %12398
  %12464 = load ptr, ptr %2, align 8, !tbaa !5
  %12465 = getelementptr inbounds %struct.PDP6, ptr %12464, i32 0, i32 34
  %12466 = load i32, ptr %12465, align 8, !tbaa !33
  %12467 = add i32 %12466, 1
  %12468 = and i32 %12467, 262143
  %12469 = load ptr, ptr %2, align 8, !tbaa !5
  %12470 = getelementptr inbounds %struct.PDP6, ptr %12469, i32 0, i32 34
  store i32 %12468, ptr %12470, align 8, !tbaa !33
  %12471 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12471)
  br label %12472

12472:                                            ; preds = %12463, %12398
  %12473 = load ptr, ptr %2, align 8, !tbaa !5
  %12474 = getelementptr inbounds %struct.PDP6, ptr %12473, i32 0, i32 31
  %12475 = load i64, ptr %12474, align 8, !tbaa !39
  store i64 %12475, ptr %4, align 8, !tbaa !15
  %12476 = load ptr, ptr %2, align 8, !tbaa !5
  %12477 = getelementptr inbounds %struct.PDP6, ptr %12476, i32 0, i32 28
  %12478 = load i64, ptr %12477, align 8, !tbaa !34
  %12479 = load ptr, ptr %2, align 8, !tbaa !5
  %12480 = getelementptr inbounds %struct.PDP6, ptr %12479, i32 0, i32 31
  store i64 %12478, ptr %12480, align 8, !tbaa !39
  %12481 = load i64, ptr %4, align 8, !tbaa !15
  %12482 = load ptr, ptr %2, align 8, !tbaa !5
  %12483 = getelementptr inbounds %struct.PDP6, ptr %12482, i32 0, i32 28
  store i64 %12481, ptr %12483, align 8, !tbaa !34
  %12484 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12484, ptr noundef @.str.121)
  %12485 = load i64, ptr @simtime, align 8, !tbaa !15
  %12486 = add i64 %12485, 200
  store i64 %12486, ptr @simtime, align 8, !tbaa !15
  %12487 = load ptr, ptr %2, align 8, !tbaa !5
  %12488 = getelementptr inbounds %struct.PDP6, ptr %12487, i32 0, i32 28
  %12489 = load i64, ptr %12488, align 8, !tbaa !34
  %12490 = load ptr, ptr %2, align 8, !tbaa !5
  %12491 = getelementptr inbounds %struct.PDP6, ptr %12490, i32 0, i32 31
  store i64 %12489, ptr %12491, align 8, !tbaa !39
  br label %17859

12492:                                            ; preds = %17
  %12493 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12493, ptr noundef @.str.41)
  %12494 = load i64, ptr @simtime, align 8, !tbaa !15
  %12495 = add i64 %12494, 100
  store i64 %12495, ptr @simtime, align 8, !tbaa !15
  %12496 = load ptr, ptr %2, align 8, !tbaa !5
  %12497 = getelementptr inbounds %struct.PDP6, ptr %12496, i32 0, i32 28
  %12498 = load i64, ptr %12497, align 8, !tbaa !34
  %12499 = load ptr, ptr %2, align 8, !tbaa !5
  %12500 = getelementptr inbounds %struct.PDP6, ptr %12499, i32 0, i32 31
  %12501 = load i64, ptr %12500, align 8, !tbaa !39
  %12502 = and i64 %12501, %12498
  store i64 %12502, ptr %12500, align 8, !tbaa !39
  %12503 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12503, ptr noundef @.str.42)
  %12504 = load i64, ptr @simtime, align 8, !tbaa !15
  %12505 = add i64 %12504, 100
  store i64 %12505, ptr @simtime, align 8, !tbaa !15
  %12506 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12506, ptr noundef @.str.43)
  %12507 = load ptr, ptr %2, align 8, !tbaa !5
  %12508 = getelementptr inbounds %struct.PDP6, ptr %12507, i32 0, i32 31
  %12509 = load i64, ptr %12508, align 8, !tbaa !39
  store i64 %12509, ptr %4, align 8, !tbaa !15
  %12510 = load ptr, ptr %2, align 8, !tbaa !5
  %12511 = getelementptr inbounds %struct.PDP6, ptr %12510, i32 0, i32 28
  %12512 = load i64, ptr %12511, align 8, !tbaa !34
  %12513 = load ptr, ptr %2, align 8, !tbaa !5
  %12514 = getelementptr inbounds %struct.PDP6, ptr %12513, i32 0, i32 31
  store i64 %12512, ptr %12514, align 8, !tbaa !39
  %12515 = load i64, ptr %4, align 8, !tbaa !15
  %12516 = load ptr, ptr %2, align 8, !tbaa !5
  %12517 = getelementptr inbounds %struct.PDP6, ptr %12516, i32 0, i32 28
  store i64 %12515, ptr %12517, align 8, !tbaa !34
  %12518 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12518, ptr noundef @.str.65)
  %12519 = load i64, ptr @simtime, align 8, !tbaa !15
  %12520 = add i64 %12519, 100
  store i64 %12520, ptr @simtime, align 8, !tbaa !15
  %12521 = load ptr, ptr %2, align 8, !tbaa !5
  %12522 = getelementptr inbounds %struct.PDP6, ptr %12521, i32 0, i32 28
  %12523 = load i64, ptr %12522, align 8, !tbaa !34
  %12524 = xor i64 %12523, 68719476735
  store i64 %12524, ptr %12522, align 8, !tbaa !34
  %12525 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12525, ptr noundef @.str.122)
  %12526 = load i64, ptr @simtime, align 8, !tbaa !15
  %12527 = add i64 %12526, 100
  store i64 %12527, ptr @simtime, align 8, !tbaa !15
  %12528 = load ptr, ptr %2, align 8, !tbaa !5
  %12529 = getelementptr inbounds %struct.PDP6, ptr %12528, i32 0, i32 28
  %12530 = load i64, ptr %12529, align 8, !tbaa !34
  %12531 = load ptr, ptr %2, align 8, !tbaa !5
  %12532 = getelementptr inbounds %struct.PDP6, ptr %12531, i32 0, i32 31
  %12533 = load i64, ptr %12532, align 8, !tbaa !39
  %12534 = and i64 %12533, %12530
  store i64 %12534, ptr %12532, align 8, !tbaa !39
  %12535 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12535, ptr noundef @.str.125)
  %12536 = load i64, ptr @simtime, align 8, !tbaa !15
  %12537 = add i64 %12536, 100
  store i64 %12537, ptr @simtime, align 8, !tbaa !15
  %12538 = load ptr, ptr %2, align 8, !tbaa !5
  %12539 = getelementptr inbounds %struct.PDP6, ptr %12538, i32 0, i32 28
  %12540 = load i64, ptr %12539, align 8, !tbaa !34
  %12541 = xor i64 %12540, 68719476735
  store i64 %12541, ptr %12539, align 8, !tbaa !34
  %12542 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12542, ptr noundef @.str.126)
  %12543 = load i64, ptr @simtime, align 8, !tbaa !15
  %12544 = add i64 %12543, 100
  store i64 %12544, ptr @simtime, align 8, !tbaa !15
  %12545 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12545, ptr noundef @.str.127)
  %12546 = load i64, ptr @simtime, align 8, !tbaa !15
  %12547 = add i64 %12546, 200
  store i64 %12547, ptr @simtime, align 8, !tbaa !15
  %12548 = load ptr, ptr %2, align 8, !tbaa !5
  %12549 = getelementptr inbounds %struct.PDP6, ptr %12548, i32 0, i32 31
  %12550 = load i64, ptr %12549, align 8, !tbaa !39
  store i64 %12550, ptr %4, align 8, !tbaa !15
  %12551 = load ptr, ptr %2, align 8, !tbaa !5
  %12552 = getelementptr inbounds %struct.PDP6, ptr %12551, i32 0, i32 28
  %12553 = load i64, ptr %12552, align 8, !tbaa !34
  %12554 = load ptr, ptr %2, align 8, !tbaa !5
  %12555 = getelementptr inbounds %struct.PDP6, ptr %12554, i32 0, i32 31
  store i64 %12553, ptr %12555, align 8, !tbaa !39
  %12556 = load i64, ptr %4, align 8, !tbaa !15
  %12557 = load ptr, ptr %2, align 8, !tbaa !5
  %12558 = getelementptr inbounds %struct.PDP6, ptr %12557, i32 0, i32 28
  store i64 %12556, ptr %12558, align 8, !tbaa !34
  %12559 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12559, ptr noundef @.str.121)
  %12560 = load i64, ptr @simtime, align 8, !tbaa !15
  %12561 = add i64 %12560, 200
  store i64 %12561, ptr @simtime, align 8, !tbaa !15
  br label %17859

12562:                                            ; preds = %17
  %12563 = load ptr, ptr %2, align 8, !tbaa !5
  %12564 = getelementptr inbounds %struct.PDP6, ptr %12563, i32 0, i32 31
  %12565 = load i64, ptr %12564, align 8, !tbaa !39
  %12566 = shl i64 %12565, 18
  %12567 = load ptr, ptr %2, align 8, !tbaa !5
  %12568 = getelementptr inbounds %struct.PDP6, ptr %12567, i32 0, i32 31
  %12569 = load i64, ptr %12568, align 8, !tbaa !39
  %12570 = lshr i64 %12569, 18
  %12571 = or i64 %12566, %12570
  %12572 = and i64 %12571, 68719476735
  %12573 = load ptr, ptr %2, align 8, !tbaa !5
  %12574 = getelementptr inbounds %struct.PDP6, ptr %12573, i32 0, i32 31
  store i64 %12572, ptr %12574, align 8, !tbaa !39
  %12575 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12575, ptr noundef @.str.41)
  %12576 = load i64, ptr @simtime, align 8, !tbaa !15
  %12577 = add i64 %12576, 100
  store i64 %12577, ptr @simtime, align 8, !tbaa !15
  %12578 = load ptr, ptr %2, align 8, !tbaa !5
  %12579 = getelementptr inbounds %struct.PDP6, ptr %12578, i32 0, i32 28
  %12580 = load i64, ptr %12579, align 8, !tbaa !34
  %12581 = load ptr, ptr %2, align 8, !tbaa !5
  %12582 = getelementptr inbounds %struct.PDP6, ptr %12581, i32 0, i32 31
  %12583 = load i64, ptr %12582, align 8, !tbaa !39
  %12584 = and i64 %12583, %12580
  store i64 %12584, ptr %12582, align 8, !tbaa !39
  %12585 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12585, ptr noundef @.str.42)
  %12586 = load i64, ptr @simtime, align 8, !tbaa !15
  %12587 = add i64 %12586, 100
  store i64 %12587, ptr @simtime, align 8, !tbaa !15
  %12588 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12588, ptr noundef @.str.43)
  %12589 = load ptr, ptr %2, align 8, !tbaa !5
  %12590 = getelementptr inbounds %struct.PDP6, ptr %12589, i32 0, i32 31
  %12591 = load i64, ptr %12590, align 8, !tbaa !39
  store i64 %12591, ptr %4, align 8, !tbaa !15
  %12592 = load ptr, ptr %2, align 8, !tbaa !5
  %12593 = getelementptr inbounds %struct.PDP6, ptr %12592, i32 0, i32 28
  %12594 = load i64, ptr %12593, align 8, !tbaa !34
  %12595 = load ptr, ptr %2, align 8, !tbaa !5
  %12596 = getelementptr inbounds %struct.PDP6, ptr %12595, i32 0, i32 31
  store i64 %12594, ptr %12596, align 8, !tbaa !39
  %12597 = load i64, ptr %4, align 8, !tbaa !15
  %12598 = load ptr, ptr %2, align 8, !tbaa !5
  %12599 = getelementptr inbounds %struct.PDP6, ptr %12598, i32 0, i32 28
  store i64 %12597, ptr %12599, align 8, !tbaa !34
  %12600 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12600, ptr noundef @.str.65)
  %12601 = load i64, ptr @simtime, align 8, !tbaa !15
  %12602 = add i64 %12601, 100
  store i64 %12602, ptr @simtime, align 8, !tbaa !15
  %12603 = load ptr, ptr %2, align 8, !tbaa !5
  %12604 = getelementptr inbounds %struct.PDP6, ptr %12603, i32 0, i32 28
  %12605 = load i64, ptr %12604, align 8, !tbaa !34
  %12606 = xor i64 %12605, 68719476735
  store i64 %12606, ptr %12604, align 8, !tbaa !34
  %12607 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12607, ptr noundef @.str.122)
  %12608 = load i64, ptr @simtime, align 8, !tbaa !15
  %12609 = add i64 %12608, 100
  store i64 %12609, ptr @simtime, align 8, !tbaa !15
  %12610 = load ptr, ptr %2, align 8, !tbaa !5
  %12611 = getelementptr inbounds %struct.PDP6, ptr %12610, i32 0, i32 28
  %12612 = load i64, ptr %12611, align 8, !tbaa !34
  %12613 = load ptr, ptr %2, align 8, !tbaa !5
  %12614 = getelementptr inbounds %struct.PDP6, ptr %12613, i32 0, i32 31
  %12615 = load i64, ptr %12614, align 8, !tbaa !39
  %12616 = and i64 %12615, %12612
  store i64 %12616, ptr %12614, align 8, !tbaa !39
  %12617 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12617, ptr noundef @.str.125)
  %12618 = load i64, ptr @simtime, align 8, !tbaa !15
  %12619 = add i64 %12618, 100
  store i64 %12619, ptr @simtime, align 8, !tbaa !15
  %12620 = load ptr, ptr %2, align 8, !tbaa !5
  %12621 = getelementptr inbounds %struct.PDP6, ptr %12620, i32 0, i32 28
  %12622 = load i64, ptr %12621, align 8, !tbaa !34
  %12623 = xor i64 %12622, 68719476735
  store i64 %12623, ptr %12621, align 8, !tbaa !34
  %12624 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12624, ptr noundef @.str.126)
  %12625 = load i64, ptr @simtime, align 8, !tbaa !15
  %12626 = add i64 %12625, 100
  store i64 %12626, ptr @simtime, align 8, !tbaa !15
  %12627 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12627, ptr noundef @.str.127)
  %12628 = load i64, ptr @simtime, align 8, !tbaa !15
  %12629 = add i64 %12628, 200
  store i64 %12629, ptr @simtime, align 8, !tbaa !15
  %12630 = load ptr, ptr %2, align 8, !tbaa !5
  %12631 = getelementptr inbounds %struct.PDP6, ptr %12630, i32 0, i32 31
  %12632 = load i64, ptr %12631, align 8, !tbaa !39
  store i64 %12632, ptr %4, align 8, !tbaa !15
  %12633 = load ptr, ptr %2, align 8, !tbaa !5
  %12634 = getelementptr inbounds %struct.PDP6, ptr %12633, i32 0, i32 28
  %12635 = load i64, ptr %12634, align 8, !tbaa !34
  %12636 = load ptr, ptr %2, align 8, !tbaa !5
  %12637 = getelementptr inbounds %struct.PDP6, ptr %12636, i32 0, i32 31
  store i64 %12635, ptr %12637, align 8, !tbaa !39
  %12638 = load i64, ptr %4, align 8, !tbaa !15
  %12639 = load ptr, ptr %2, align 8, !tbaa !5
  %12640 = getelementptr inbounds %struct.PDP6, ptr %12639, i32 0, i32 28
  store i64 %12638, ptr %12640, align 8, !tbaa !34
  %12641 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12641, ptr noundef @.str.121)
  %12642 = load i64, ptr @simtime, align 8, !tbaa !15
  %12643 = add i64 %12642, 200
  store i64 %12643, ptr @simtime, align 8, !tbaa !15
  br label %17859

12644:                                            ; preds = %17
  %12645 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12645, ptr noundef @.str.41)
  %12646 = load i64, ptr @simtime, align 8, !tbaa !15
  %12647 = add i64 %12646, 100
  store i64 %12647, ptr @simtime, align 8, !tbaa !15
  %12648 = load ptr, ptr %2, align 8, !tbaa !5
  %12649 = getelementptr inbounds %struct.PDP6, ptr %12648, i32 0, i32 28
  %12650 = load i64, ptr %12649, align 8, !tbaa !34
  %12651 = load ptr, ptr %2, align 8, !tbaa !5
  %12652 = getelementptr inbounds %struct.PDP6, ptr %12651, i32 0, i32 31
  %12653 = load i64, ptr %12652, align 8, !tbaa !39
  %12654 = and i64 %12653, %12650
  store i64 %12654, ptr %12652, align 8, !tbaa !39
  %12655 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12655, ptr noundef @.str.42)
  %12656 = load i64, ptr @simtime, align 8, !tbaa !15
  %12657 = add i64 %12656, 100
  store i64 %12657, ptr @simtime, align 8, !tbaa !15
  %12658 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12658, ptr noundef @.str.43)
  %12659 = load ptr, ptr %2, align 8, !tbaa !5
  %12660 = getelementptr inbounds %struct.PDP6, ptr %12659, i32 0, i32 31
  %12661 = load i64, ptr %12660, align 8, !tbaa !39
  store i64 %12661, ptr %4, align 8, !tbaa !15
  %12662 = load ptr, ptr %2, align 8, !tbaa !5
  %12663 = getelementptr inbounds %struct.PDP6, ptr %12662, i32 0, i32 28
  %12664 = load i64, ptr %12663, align 8, !tbaa !34
  %12665 = load ptr, ptr %2, align 8, !tbaa !5
  %12666 = getelementptr inbounds %struct.PDP6, ptr %12665, i32 0, i32 31
  store i64 %12664, ptr %12666, align 8, !tbaa !39
  %12667 = load i64, ptr %4, align 8, !tbaa !15
  %12668 = load ptr, ptr %2, align 8, !tbaa !5
  %12669 = getelementptr inbounds %struct.PDP6, ptr %12668, i32 0, i32 28
  store i64 %12667, ptr %12669, align 8, !tbaa !34
  %12670 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12670, ptr noundef @.str.65)
  %12671 = load i64, ptr @simtime, align 8, !tbaa !15
  %12672 = add i64 %12671, 100
  store i64 %12672, ptr @simtime, align 8, !tbaa !15
  %12673 = load ptr, ptr %2, align 8, !tbaa !5
  %12674 = getelementptr inbounds %struct.PDP6, ptr %12673, i32 0, i32 28
  %12675 = load i64, ptr %12674, align 8, !tbaa !34
  %12676 = xor i64 %12675, 68719476735
  store i64 %12676, ptr %12674, align 8, !tbaa !34
  %12677 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12677, ptr noundef @.str.122)
  %12678 = load i64, ptr @simtime, align 8, !tbaa !15
  %12679 = add i64 %12678, 100
  store i64 %12679, ptr @simtime, align 8, !tbaa !15
  %12680 = load ptr, ptr %2, align 8, !tbaa !5
  %12681 = getelementptr inbounds %struct.PDP6, ptr %12680, i32 0, i32 28
  %12682 = load i64, ptr %12681, align 8, !tbaa !34
  %12683 = load ptr, ptr %2, align 8, !tbaa !5
  %12684 = getelementptr inbounds %struct.PDP6, ptr %12683, i32 0, i32 31
  %12685 = load i64, ptr %12684, align 8, !tbaa !39
  %12686 = and i64 %12685, %12682
  store i64 %12686, ptr %12684, align 8, !tbaa !39
  %12687 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12687, ptr noundef @.str.125)
  %12688 = load i64, ptr @simtime, align 8, !tbaa !15
  %12689 = add i64 %12688, 100
  store i64 %12689, ptr @simtime, align 8, !tbaa !15
  %12690 = load ptr, ptr %2, align 8, !tbaa !5
  %12691 = getelementptr inbounds %struct.PDP6, ptr %12690, i32 0, i32 28
  %12692 = load i64, ptr %12691, align 8, !tbaa !34
  %12693 = xor i64 %12692, 68719476735
  store i64 %12693, ptr %12691, align 8, !tbaa !34
  %12694 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12694, ptr noundef @.str.126)
  %12695 = load i64, ptr @simtime, align 8, !tbaa !15
  %12696 = add i64 %12695, 100
  store i64 %12696, ptr @simtime, align 8, !tbaa !15
  %12697 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12697, ptr noundef @.str.127)
  %12698 = load i64, ptr @simtime, align 8, !tbaa !15
  %12699 = add i64 %12698, 200
  store i64 %12699, ptr @simtime, align 8, !tbaa !15
  %12700 = load ptr, ptr %2, align 8, !tbaa !5
  %12701 = getelementptr inbounds %struct.PDP6, ptr %12700, i32 0, i32 28
  %12702 = load i64, ptr %12701, align 8, !tbaa !34
  %12703 = icmp eq i64 %12702, 0
  br i1 %12703, label %12704, label %12713

12704:                                            ; preds = %12644
  %12705 = load ptr, ptr %2, align 8, !tbaa !5
  %12706 = getelementptr inbounds %struct.PDP6, ptr %12705, i32 0, i32 34
  %12707 = load i32, ptr %12706, align 8, !tbaa !33
  %12708 = add i32 %12707, 1
  %12709 = and i32 %12708, 262143
  %12710 = load ptr, ptr %2, align 8, !tbaa !5
  %12711 = getelementptr inbounds %struct.PDP6, ptr %12710, i32 0, i32 34
  store i32 %12709, ptr %12711, align 8, !tbaa !33
  %12712 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12712)
  br label %12713

12713:                                            ; preds = %12704, %12644
  %12714 = load ptr, ptr %2, align 8, !tbaa !5
  %12715 = getelementptr inbounds %struct.PDP6, ptr %12714, i32 0, i32 31
  %12716 = load i64, ptr %12715, align 8, !tbaa !39
  store i64 %12716, ptr %4, align 8, !tbaa !15
  %12717 = load ptr, ptr %2, align 8, !tbaa !5
  %12718 = getelementptr inbounds %struct.PDP6, ptr %12717, i32 0, i32 28
  %12719 = load i64, ptr %12718, align 8, !tbaa !34
  %12720 = load ptr, ptr %2, align 8, !tbaa !5
  %12721 = getelementptr inbounds %struct.PDP6, ptr %12720, i32 0, i32 31
  store i64 %12719, ptr %12721, align 8, !tbaa !39
  %12722 = load i64, ptr %4, align 8, !tbaa !15
  %12723 = load ptr, ptr %2, align 8, !tbaa !5
  %12724 = getelementptr inbounds %struct.PDP6, ptr %12723, i32 0, i32 28
  store i64 %12722, ptr %12724, align 8, !tbaa !34
  %12725 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12725, ptr noundef @.str.121)
  %12726 = load i64, ptr @simtime, align 8, !tbaa !15
  %12727 = add i64 %12726, 200
  store i64 %12727, ptr @simtime, align 8, !tbaa !15
  %12728 = load ptr, ptr %2, align 8, !tbaa !5
  %12729 = getelementptr inbounds %struct.PDP6, ptr %12728, i32 0, i32 28
  %12730 = load i64, ptr %12729, align 8, !tbaa !34
  %12731 = load ptr, ptr %2, align 8, !tbaa !5
  %12732 = getelementptr inbounds %struct.PDP6, ptr %12731, i32 0, i32 31
  store i64 %12730, ptr %12732, align 8, !tbaa !39
  br label %17859

12733:                                            ; preds = %17
  %12734 = load ptr, ptr %2, align 8, !tbaa !5
  %12735 = getelementptr inbounds %struct.PDP6, ptr %12734, i32 0, i32 31
  %12736 = load i64, ptr %12735, align 8, !tbaa !39
  %12737 = shl i64 %12736, 18
  %12738 = load ptr, ptr %2, align 8, !tbaa !5
  %12739 = getelementptr inbounds %struct.PDP6, ptr %12738, i32 0, i32 31
  %12740 = load i64, ptr %12739, align 8, !tbaa !39
  %12741 = lshr i64 %12740, 18
  %12742 = or i64 %12737, %12741
  %12743 = and i64 %12742, 68719476735
  %12744 = load ptr, ptr %2, align 8, !tbaa !5
  %12745 = getelementptr inbounds %struct.PDP6, ptr %12744, i32 0, i32 31
  store i64 %12743, ptr %12745, align 8, !tbaa !39
  %12746 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12746, ptr noundef @.str.41)
  %12747 = load i64, ptr @simtime, align 8, !tbaa !15
  %12748 = add i64 %12747, 100
  store i64 %12748, ptr @simtime, align 8, !tbaa !15
  %12749 = load ptr, ptr %2, align 8, !tbaa !5
  %12750 = getelementptr inbounds %struct.PDP6, ptr %12749, i32 0, i32 28
  %12751 = load i64, ptr %12750, align 8, !tbaa !34
  %12752 = load ptr, ptr %2, align 8, !tbaa !5
  %12753 = getelementptr inbounds %struct.PDP6, ptr %12752, i32 0, i32 31
  %12754 = load i64, ptr %12753, align 8, !tbaa !39
  %12755 = and i64 %12754, %12751
  store i64 %12755, ptr %12753, align 8, !tbaa !39
  %12756 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12756, ptr noundef @.str.42)
  %12757 = load i64, ptr @simtime, align 8, !tbaa !15
  %12758 = add i64 %12757, 100
  store i64 %12758, ptr @simtime, align 8, !tbaa !15
  %12759 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12759, ptr noundef @.str.43)
  %12760 = load ptr, ptr %2, align 8, !tbaa !5
  %12761 = getelementptr inbounds %struct.PDP6, ptr %12760, i32 0, i32 31
  %12762 = load i64, ptr %12761, align 8, !tbaa !39
  store i64 %12762, ptr %4, align 8, !tbaa !15
  %12763 = load ptr, ptr %2, align 8, !tbaa !5
  %12764 = getelementptr inbounds %struct.PDP6, ptr %12763, i32 0, i32 28
  %12765 = load i64, ptr %12764, align 8, !tbaa !34
  %12766 = load ptr, ptr %2, align 8, !tbaa !5
  %12767 = getelementptr inbounds %struct.PDP6, ptr %12766, i32 0, i32 31
  store i64 %12765, ptr %12767, align 8, !tbaa !39
  %12768 = load i64, ptr %4, align 8, !tbaa !15
  %12769 = load ptr, ptr %2, align 8, !tbaa !5
  %12770 = getelementptr inbounds %struct.PDP6, ptr %12769, i32 0, i32 28
  store i64 %12768, ptr %12770, align 8, !tbaa !34
  %12771 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12771, ptr noundef @.str.65)
  %12772 = load i64, ptr @simtime, align 8, !tbaa !15
  %12773 = add i64 %12772, 100
  store i64 %12773, ptr @simtime, align 8, !tbaa !15
  %12774 = load ptr, ptr %2, align 8, !tbaa !5
  %12775 = getelementptr inbounds %struct.PDP6, ptr %12774, i32 0, i32 28
  %12776 = load i64, ptr %12775, align 8, !tbaa !34
  %12777 = xor i64 %12776, 68719476735
  store i64 %12777, ptr %12775, align 8, !tbaa !34
  %12778 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12778, ptr noundef @.str.122)
  %12779 = load i64, ptr @simtime, align 8, !tbaa !15
  %12780 = add i64 %12779, 100
  store i64 %12780, ptr @simtime, align 8, !tbaa !15
  %12781 = load ptr, ptr %2, align 8, !tbaa !5
  %12782 = getelementptr inbounds %struct.PDP6, ptr %12781, i32 0, i32 28
  %12783 = load i64, ptr %12782, align 8, !tbaa !34
  %12784 = load ptr, ptr %2, align 8, !tbaa !5
  %12785 = getelementptr inbounds %struct.PDP6, ptr %12784, i32 0, i32 31
  %12786 = load i64, ptr %12785, align 8, !tbaa !39
  %12787 = and i64 %12786, %12783
  store i64 %12787, ptr %12785, align 8, !tbaa !39
  %12788 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12788, ptr noundef @.str.125)
  %12789 = load i64, ptr @simtime, align 8, !tbaa !15
  %12790 = add i64 %12789, 100
  store i64 %12790, ptr @simtime, align 8, !tbaa !15
  %12791 = load ptr, ptr %2, align 8, !tbaa !5
  %12792 = getelementptr inbounds %struct.PDP6, ptr %12791, i32 0, i32 28
  %12793 = load i64, ptr %12792, align 8, !tbaa !34
  %12794 = xor i64 %12793, 68719476735
  store i64 %12794, ptr %12792, align 8, !tbaa !34
  %12795 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12795, ptr noundef @.str.126)
  %12796 = load i64, ptr @simtime, align 8, !tbaa !15
  %12797 = add i64 %12796, 100
  store i64 %12797, ptr @simtime, align 8, !tbaa !15
  %12798 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12798, ptr noundef @.str.127)
  %12799 = load i64, ptr @simtime, align 8, !tbaa !15
  %12800 = add i64 %12799, 200
  store i64 %12800, ptr @simtime, align 8, !tbaa !15
  %12801 = load ptr, ptr %2, align 8, !tbaa !5
  %12802 = getelementptr inbounds %struct.PDP6, ptr %12801, i32 0, i32 28
  %12803 = load i64, ptr %12802, align 8, !tbaa !34
  %12804 = icmp eq i64 %12803, 0
  br i1 %12804, label %12805, label %12814

12805:                                            ; preds = %12733
  %12806 = load ptr, ptr %2, align 8, !tbaa !5
  %12807 = getelementptr inbounds %struct.PDP6, ptr %12806, i32 0, i32 34
  %12808 = load i32, ptr %12807, align 8, !tbaa !33
  %12809 = add i32 %12808, 1
  %12810 = and i32 %12809, 262143
  %12811 = load ptr, ptr %2, align 8, !tbaa !5
  %12812 = getelementptr inbounds %struct.PDP6, ptr %12811, i32 0, i32 34
  store i32 %12810, ptr %12812, align 8, !tbaa !33
  %12813 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12813)
  br label %12814

12814:                                            ; preds = %12805, %12733
  %12815 = load ptr, ptr %2, align 8, !tbaa !5
  %12816 = getelementptr inbounds %struct.PDP6, ptr %12815, i32 0, i32 31
  %12817 = load i64, ptr %12816, align 8, !tbaa !39
  store i64 %12817, ptr %4, align 8, !tbaa !15
  %12818 = load ptr, ptr %2, align 8, !tbaa !5
  %12819 = getelementptr inbounds %struct.PDP6, ptr %12818, i32 0, i32 28
  %12820 = load i64, ptr %12819, align 8, !tbaa !34
  %12821 = load ptr, ptr %2, align 8, !tbaa !5
  %12822 = getelementptr inbounds %struct.PDP6, ptr %12821, i32 0, i32 31
  store i64 %12820, ptr %12822, align 8, !tbaa !39
  %12823 = load i64, ptr %4, align 8, !tbaa !15
  %12824 = load ptr, ptr %2, align 8, !tbaa !5
  %12825 = getelementptr inbounds %struct.PDP6, ptr %12824, i32 0, i32 28
  store i64 %12823, ptr %12825, align 8, !tbaa !34
  %12826 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12826, ptr noundef @.str.121)
  %12827 = load i64, ptr @simtime, align 8, !tbaa !15
  %12828 = add i64 %12827, 200
  store i64 %12828, ptr @simtime, align 8, !tbaa !15
  %12829 = load ptr, ptr %2, align 8, !tbaa !5
  %12830 = getelementptr inbounds %struct.PDP6, ptr %12829, i32 0, i32 28
  %12831 = load i64, ptr %12830, align 8, !tbaa !34
  %12832 = load ptr, ptr %2, align 8, !tbaa !5
  %12833 = getelementptr inbounds %struct.PDP6, ptr %12832, i32 0, i32 31
  store i64 %12831, ptr %12833, align 8, !tbaa !39
  br label %17859

12834:                                            ; preds = %17
  %12835 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12835, ptr noundef @.str.41)
  %12836 = load i64, ptr @simtime, align 8, !tbaa !15
  %12837 = add i64 %12836, 100
  store i64 %12837, ptr @simtime, align 8, !tbaa !15
  %12838 = load ptr, ptr %2, align 8, !tbaa !5
  %12839 = getelementptr inbounds %struct.PDP6, ptr %12838, i32 0, i32 28
  %12840 = load i64, ptr %12839, align 8, !tbaa !34
  %12841 = load ptr, ptr %2, align 8, !tbaa !5
  %12842 = getelementptr inbounds %struct.PDP6, ptr %12841, i32 0, i32 31
  %12843 = load i64, ptr %12842, align 8, !tbaa !39
  %12844 = and i64 %12843, %12840
  store i64 %12844, ptr %12842, align 8, !tbaa !39
  %12845 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12845, ptr noundef @.str.42)
  %12846 = load i64, ptr @simtime, align 8, !tbaa !15
  %12847 = add i64 %12846, 100
  store i64 %12847, ptr @simtime, align 8, !tbaa !15
  %12848 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12848, ptr noundef @.str.43)
  %12849 = load ptr, ptr %2, align 8, !tbaa !5
  %12850 = getelementptr inbounds %struct.PDP6, ptr %12849, i32 0, i32 31
  %12851 = load i64, ptr %12850, align 8, !tbaa !39
  store i64 %12851, ptr %4, align 8, !tbaa !15
  %12852 = load ptr, ptr %2, align 8, !tbaa !5
  %12853 = getelementptr inbounds %struct.PDP6, ptr %12852, i32 0, i32 28
  %12854 = load i64, ptr %12853, align 8, !tbaa !34
  %12855 = load ptr, ptr %2, align 8, !tbaa !5
  %12856 = getelementptr inbounds %struct.PDP6, ptr %12855, i32 0, i32 31
  store i64 %12854, ptr %12856, align 8, !tbaa !39
  %12857 = load i64, ptr %4, align 8, !tbaa !15
  %12858 = load ptr, ptr %2, align 8, !tbaa !5
  %12859 = getelementptr inbounds %struct.PDP6, ptr %12858, i32 0, i32 28
  store i64 %12857, ptr %12859, align 8, !tbaa !34
  %12860 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12860, ptr noundef @.str.65)
  %12861 = load i64, ptr @simtime, align 8, !tbaa !15
  %12862 = add i64 %12861, 100
  store i64 %12862, ptr @simtime, align 8, !tbaa !15
  %12863 = load ptr, ptr %2, align 8, !tbaa !5
  %12864 = getelementptr inbounds %struct.PDP6, ptr %12863, i32 0, i32 28
  %12865 = load i64, ptr %12864, align 8, !tbaa !34
  %12866 = xor i64 %12865, 68719476735
  store i64 %12866, ptr %12864, align 8, !tbaa !34
  %12867 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12867, ptr noundef @.str.122)
  %12868 = load i64, ptr @simtime, align 8, !tbaa !15
  %12869 = add i64 %12868, 100
  store i64 %12869, ptr @simtime, align 8, !tbaa !15
  %12870 = load ptr, ptr %2, align 8, !tbaa !5
  %12871 = getelementptr inbounds %struct.PDP6, ptr %12870, i32 0, i32 28
  %12872 = load i64, ptr %12871, align 8, !tbaa !34
  %12873 = load ptr, ptr %2, align 8, !tbaa !5
  %12874 = getelementptr inbounds %struct.PDP6, ptr %12873, i32 0, i32 31
  %12875 = load i64, ptr %12874, align 8, !tbaa !39
  %12876 = and i64 %12875, %12872
  store i64 %12876, ptr %12874, align 8, !tbaa !39
  %12877 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12877, ptr noundef @.str.125)
  %12878 = load i64, ptr @simtime, align 8, !tbaa !15
  %12879 = add i64 %12878, 100
  store i64 %12879, ptr @simtime, align 8, !tbaa !15
  %12880 = load ptr, ptr %2, align 8, !tbaa !5
  %12881 = getelementptr inbounds %struct.PDP6, ptr %12880, i32 0, i32 28
  %12882 = load i64, ptr %12881, align 8, !tbaa !34
  %12883 = xor i64 %12882, 68719476735
  store i64 %12883, ptr %12881, align 8, !tbaa !34
  %12884 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12884, ptr noundef @.str.126)
  %12885 = load i64, ptr @simtime, align 8, !tbaa !15
  %12886 = add i64 %12885, 100
  store i64 %12886, ptr @simtime, align 8, !tbaa !15
  %12887 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12887, ptr noundef @.str.127)
  %12888 = load i64, ptr @simtime, align 8, !tbaa !15
  %12889 = add i64 %12888, 200
  store i64 %12889, ptr @simtime, align 8, !tbaa !15
  %12890 = load ptr, ptr %2, align 8, !tbaa !5
  %12891 = getelementptr inbounds %struct.PDP6, ptr %12890, i32 0, i32 34
  %12892 = load i32, ptr %12891, align 8, !tbaa !33
  %12893 = add i32 %12892, 1
  %12894 = and i32 %12893, 262143
  %12895 = load ptr, ptr %2, align 8, !tbaa !5
  %12896 = getelementptr inbounds %struct.PDP6, ptr %12895, i32 0, i32 34
  store i32 %12894, ptr %12896, align 8, !tbaa !33
  %12897 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12897)
  %12898 = load ptr, ptr %2, align 8, !tbaa !5
  %12899 = getelementptr inbounds %struct.PDP6, ptr %12898, i32 0, i32 31
  %12900 = load i64, ptr %12899, align 8, !tbaa !39
  store i64 %12900, ptr %4, align 8, !tbaa !15
  %12901 = load ptr, ptr %2, align 8, !tbaa !5
  %12902 = getelementptr inbounds %struct.PDP6, ptr %12901, i32 0, i32 28
  %12903 = load i64, ptr %12902, align 8, !tbaa !34
  %12904 = load ptr, ptr %2, align 8, !tbaa !5
  %12905 = getelementptr inbounds %struct.PDP6, ptr %12904, i32 0, i32 31
  store i64 %12903, ptr %12905, align 8, !tbaa !39
  %12906 = load i64, ptr %4, align 8, !tbaa !15
  %12907 = load ptr, ptr %2, align 8, !tbaa !5
  %12908 = getelementptr inbounds %struct.PDP6, ptr %12907, i32 0, i32 28
  store i64 %12906, ptr %12908, align 8, !tbaa !34
  %12909 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12909, ptr noundef @.str.121)
  %12910 = load i64, ptr @simtime, align 8, !tbaa !15
  %12911 = add i64 %12910, 200
  store i64 %12911, ptr @simtime, align 8, !tbaa !15
  br label %17859

12912:                                            ; preds = %17
  %12913 = load ptr, ptr %2, align 8, !tbaa !5
  %12914 = getelementptr inbounds %struct.PDP6, ptr %12913, i32 0, i32 31
  %12915 = load i64, ptr %12914, align 8, !tbaa !39
  %12916 = shl i64 %12915, 18
  %12917 = load ptr, ptr %2, align 8, !tbaa !5
  %12918 = getelementptr inbounds %struct.PDP6, ptr %12917, i32 0, i32 31
  %12919 = load i64, ptr %12918, align 8, !tbaa !39
  %12920 = lshr i64 %12919, 18
  %12921 = or i64 %12916, %12920
  %12922 = and i64 %12921, 68719476735
  %12923 = load ptr, ptr %2, align 8, !tbaa !5
  %12924 = getelementptr inbounds %struct.PDP6, ptr %12923, i32 0, i32 31
  store i64 %12922, ptr %12924, align 8, !tbaa !39
  %12925 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12925, ptr noundef @.str.41)
  %12926 = load i64, ptr @simtime, align 8, !tbaa !15
  %12927 = add i64 %12926, 100
  store i64 %12927, ptr @simtime, align 8, !tbaa !15
  %12928 = load ptr, ptr %2, align 8, !tbaa !5
  %12929 = getelementptr inbounds %struct.PDP6, ptr %12928, i32 0, i32 28
  %12930 = load i64, ptr %12929, align 8, !tbaa !34
  %12931 = load ptr, ptr %2, align 8, !tbaa !5
  %12932 = getelementptr inbounds %struct.PDP6, ptr %12931, i32 0, i32 31
  %12933 = load i64, ptr %12932, align 8, !tbaa !39
  %12934 = and i64 %12933, %12930
  store i64 %12934, ptr %12932, align 8, !tbaa !39
  %12935 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12935, ptr noundef @.str.42)
  %12936 = load i64, ptr @simtime, align 8, !tbaa !15
  %12937 = add i64 %12936, 100
  store i64 %12937, ptr @simtime, align 8, !tbaa !15
  %12938 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12938, ptr noundef @.str.43)
  %12939 = load ptr, ptr %2, align 8, !tbaa !5
  %12940 = getelementptr inbounds %struct.PDP6, ptr %12939, i32 0, i32 31
  %12941 = load i64, ptr %12940, align 8, !tbaa !39
  store i64 %12941, ptr %4, align 8, !tbaa !15
  %12942 = load ptr, ptr %2, align 8, !tbaa !5
  %12943 = getelementptr inbounds %struct.PDP6, ptr %12942, i32 0, i32 28
  %12944 = load i64, ptr %12943, align 8, !tbaa !34
  %12945 = load ptr, ptr %2, align 8, !tbaa !5
  %12946 = getelementptr inbounds %struct.PDP6, ptr %12945, i32 0, i32 31
  store i64 %12944, ptr %12946, align 8, !tbaa !39
  %12947 = load i64, ptr %4, align 8, !tbaa !15
  %12948 = load ptr, ptr %2, align 8, !tbaa !5
  %12949 = getelementptr inbounds %struct.PDP6, ptr %12948, i32 0, i32 28
  store i64 %12947, ptr %12949, align 8, !tbaa !34
  %12950 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12950, ptr noundef @.str.65)
  %12951 = load i64, ptr @simtime, align 8, !tbaa !15
  %12952 = add i64 %12951, 100
  store i64 %12952, ptr @simtime, align 8, !tbaa !15
  %12953 = load ptr, ptr %2, align 8, !tbaa !5
  %12954 = getelementptr inbounds %struct.PDP6, ptr %12953, i32 0, i32 28
  %12955 = load i64, ptr %12954, align 8, !tbaa !34
  %12956 = xor i64 %12955, 68719476735
  store i64 %12956, ptr %12954, align 8, !tbaa !34
  %12957 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12957, ptr noundef @.str.122)
  %12958 = load i64, ptr @simtime, align 8, !tbaa !15
  %12959 = add i64 %12958, 100
  store i64 %12959, ptr @simtime, align 8, !tbaa !15
  %12960 = load ptr, ptr %2, align 8, !tbaa !5
  %12961 = getelementptr inbounds %struct.PDP6, ptr %12960, i32 0, i32 28
  %12962 = load i64, ptr %12961, align 8, !tbaa !34
  %12963 = load ptr, ptr %2, align 8, !tbaa !5
  %12964 = getelementptr inbounds %struct.PDP6, ptr %12963, i32 0, i32 31
  %12965 = load i64, ptr %12964, align 8, !tbaa !39
  %12966 = and i64 %12965, %12962
  store i64 %12966, ptr %12964, align 8, !tbaa !39
  %12967 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12967, ptr noundef @.str.125)
  %12968 = load i64, ptr @simtime, align 8, !tbaa !15
  %12969 = add i64 %12968, 100
  store i64 %12969, ptr @simtime, align 8, !tbaa !15
  %12970 = load ptr, ptr %2, align 8, !tbaa !5
  %12971 = getelementptr inbounds %struct.PDP6, ptr %12970, i32 0, i32 28
  %12972 = load i64, ptr %12971, align 8, !tbaa !34
  %12973 = xor i64 %12972, 68719476735
  store i64 %12973, ptr %12971, align 8, !tbaa !34
  %12974 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12974, ptr noundef @.str.126)
  %12975 = load i64, ptr @simtime, align 8, !tbaa !15
  %12976 = add i64 %12975, 100
  store i64 %12976, ptr @simtime, align 8, !tbaa !15
  %12977 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12977, ptr noundef @.str.127)
  %12978 = load i64, ptr @simtime, align 8, !tbaa !15
  %12979 = add i64 %12978, 200
  store i64 %12979, ptr @simtime, align 8, !tbaa !15
  %12980 = load ptr, ptr %2, align 8, !tbaa !5
  %12981 = getelementptr inbounds %struct.PDP6, ptr %12980, i32 0, i32 34
  %12982 = load i32, ptr %12981, align 8, !tbaa !33
  %12983 = add i32 %12982, 1
  %12984 = and i32 %12983, 262143
  %12985 = load ptr, ptr %2, align 8, !tbaa !5
  %12986 = getelementptr inbounds %struct.PDP6, ptr %12985, i32 0, i32 34
  store i32 %12984, ptr %12986, align 8, !tbaa !33
  %12987 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %12987)
  %12988 = load ptr, ptr %2, align 8, !tbaa !5
  %12989 = getelementptr inbounds %struct.PDP6, ptr %12988, i32 0, i32 31
  %12990 = load i64, ptr %12989, align 8, !tbaa !39
  store i64 %12990, ptr %4, align 8, !tbaa !15
  %12991 = load ptr, ptr %2, align 8, !tbaa !5
  %12992 = getelementptr inbounds %struct.PDP6, ptr %12991, i32 0, i32 28
  %12993 = load i64, ptr %12992, align 8, !tbaa !34
  %12994 = load ptr, ptr %2, align 8, !tbaa !5
  %12995 = getelementptr inbounds %struct.PDP6, ptr %12994, i32 0, i32 31
  store i64 %12993, ptr %12995, align 8, !tbaa !39
  %12996 = load i64, ptr %4, align 8, !tbaa !15
  %12997 = load ptr, ptr %2, align 8, !tbaa !5
  %12998 = getelementptr inbounds %struct.PDP6, ptr %12997, i32 0, i32 28
  store i64 %12996, ptr %12998, align 8, !tbaa !34
  %12999 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %12999, ptr noundef @.str.121)
  %13000 = load i64, ptr @simtime, align 8, !tbaa !15
  %13001 = add i64 %13000, 200
  store i64 %13001, ptr @simtime, align 8, !tbaa !15
  br label %17859

13002:                                            ; preds = %17
  %13003 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13003, ptr noundef @.str.41)
  %13004 = load i64, ptr @simtime, align 8, !tbaa !15
  %13005 = add i64 %13004, 100
  store i64 %13005, ptr @simtime, align 8, !tbaa !15
  %13006 = load ptr, ptr %2, align 8, !tbaa !5
  %13007 = getelementptr inbounds %struct.PDP6, ptr %13006, i32 0, i32 28
  %13008 = load i64, ptr %13007, align 8, !tbaa !34
  %13009 = load ptr, ptr %2, align 8, !tbaa !5
  %13010 = getelementptr inbounds %struct.PDP6, ptr %13009, i32 0, i32 31
  %13011 = load i64, ptr %13010, align 8, !tbaa !39
  %13012 = and i64 %13011, %13008
  store i64 %13012, ptr %13010, align 8, !tbaa !39
  %13013 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13013, ptr noundef @.str.42)
  %13014 = load i64, ptr @simtime, align 8, !tbaa !15
  %13015 = add i64 %13014, 100
  store i64 %13015, ptr @simtime, align 8, !tbaa !15
  %13016 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13016, ptr noundef @.str.43)
  %13017 = load ptr, ptr %2, align 8, !tbaa !5
  %13018 = getelementptr inbounds %struct.PDP6, ptr %13017, i32 0, i32 31
  %13019 = load i64, ptr %13018, align 8, !tbaa !39
  store i64 %13019, ptr %4, align 8, !tbaa !15
  %13020 = load ptr, ptr %2, align 8, !tbaa !5
  %13021 = getelementptr inbounds %struct.PDP6, ptr %13020, i32 0, i32 28
  %13022 = load i64, ptr %13021, align 8, !tbaa !34
  %13023 = load ptr, ptr %2, align 8, !tbaa !5
  %13024 = getelementptr inbounds %struct.PDP6, ptr %13023, i32 0, i32 31
  store i64 %13022, ptr %13024, align 8, !tbaa !39
  %13025 = load i64, ptr %4, align 8, !tbaa !15
  %13026 = load ptr, ptr %2, align 8, !tbaa !5
  %13027 = getelementptr inbounds %struct.PDP6, ptr %13026, i32 0, i32 28
  store i64 %13025, ptr %13027, align 8, !tbaa !34
  %13028 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13028, ptr noundef @.str.65)
  %13029 = load i64, ptr @simtime, align 8, !tbaa !15
  %13030 = add i64 %13029, 100
  store i64 %13030, ptr @simtime, align 8, !tbaa !15
  %13031 = load ptr, ptr %2, align 8, !tbaa !5
  %13032 = getelementptr inbounds %struct.PDP6, ptr %13031, i32 0, i32 28
  %13033 = load i64, ptr %13032, align 8, !tbaa !34
  %13034 = xor i64 %13033, 68719476735
  store i64 %13034, ptr %13032, align 8, !tbaa !34
  %13035 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13035, ptr noundef @.str.122)
  %13036 = load i64, ptr @simtime, align 8, !tbaa !15
  %13037 = add i64 %13036, 100
  store i64 %13037, ptr @simtime, align 8, !tbaa !15
  %13038 = load ptr, ptr %2, align 8, !tbaa !5
  %13039 = getelementptr inbounds %struct.PDP6, ptr %13038, i32 0, i32 28
  %13040 = load i64, ptr %13039, align 8, !tbaa !34
  %13041 = load ptr, ptr %2, align 8, !tbaa !5
  %13042 = getelementptr inbounds %struct.PDP6, ptr %13041, i32 0, i32 31
  %13043 = load i64, ptr %13042, align 8, !tbaa !39
  %13044 = and i64 %13043, %13040
  store i64 %13044, ptr %13042, align 8, !tbaa !39
  %13045 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13045, ptr noundef @.str.125)
  %13046 = load i64, ptr @simtime, align 8, !tbaa !15
  %13047 = add i64 %13046, 100
  store i64 %13047, ptr @simtime, align 8, !tbaa !15
  %13048 = load ptr, ptr %2, align 8, !tbaa !5
  %13049 = getelementptr inbounds %struct.PDP6, ptr %13048, i32 0, i32 28
  %13050 = load i64, ptr %13049, align 8, !tbaa !34
  %13051 = xor i64 %13050, 68719476735
  store i64 %13051, ptr %13049, align 8, !tbaa !34
  %13052 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13052, ptr noundef @.str.126)
  %13053 = load i64, ptr @simtime, align 8, !tbaa !15
  %13054 = add i64 %13053, 100
  store i64 %13054, ptr @simtime, align 8, !tbaa !15
  %13055 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13055, ptr noundef @.str.127)
  %13056 = load i64, ptr @simtime, align 8, !tbaa !15
  %13057 = add i64 %13056, 200
  store i64 %13057, ptr @simtime, align 8, !tbaa !15
  %13058 = load ptr, ptr %2, align 8, !tbaa !5
  %13059 = getelementptr inbounds %struct.PDP6, ptr %13058, i32 0, i32 28
  %13060 = load i64, ptr %13059, align 8, !tbaa !34
  %13061 = icmp eq i64 %13060, 0
  br i1 %13061, label %13071, label %13062

13062:                                            ; preds = %13002
  %13063 = load ptr, ptr %2, align 8, !tbaa !5
  %13064 = getelementptr inbounds %struct.PDP6, ptr %13063, i32 0, i32 34
  %13065 = load i32, ptr %13064, align 8, !tbaa !33
  %13066 = add i32 %13065, 1
  %13067 = and i32 %13066, 262143
  %13068 = load ptr, ptr %2, align 8, !tbaa !5
  %13069 = getelementptr inbounds %struct.PDP6, ptr %13068, i32 0, i32 34
  store i32 %13067, ptr %13069, align 8, !tbaa !33
  %13070 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %13070)
  br label %13071

13071:                                            ; preds = %13062, %13002
  %13072 = load ptr, ptr %2, align 8, !tbaa !5
  %13073 = getelementptr inbounds %struct.PDP6, ptr %13072, i32 0, i32 31
  %13074 = load i64, ptr %13073, align 8, !tbaa !39
  store i64 %13074, ptr %4, align 8, !tbaa !15
  %13075 = load ptr, ptr %2, align 8, !tbaa !5
  %13076 = getelementptr inbounds %struct.PDP6, ptr %13075, i32 0, i32 28
  %13077 = load i64, ptr %13076, align 8, !tbaa !34
  %13078 = load ptr, ptr %2, align 8, !tbaa !5
  %13079 = getelementptr inbounds %struct.PDP6, ptr %13078, i32 0, i32 31
  store i64 %13077, ptr %13079, align 8, !tbaa !39
  %13080 = load i64, ptr %4, align 8, !tbaa !15
  %13081 = load ptr, ptr %2, align 8, !tbaa !5
  %13082 = getelementptr inbounds %struct.PDP6, ptr %13081, i32 0, i32 28
  store i64 %13080, ptr %13082, align 8, !tbaa !34
  %13083 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13083, ptr noundef @.str.121)
  %13084 = load i64, ptr @simtime, align 8, !tbaa !15
  %13085 = add i64 %13084, 200
  store i64 %13085, ptr @simtime, align 8, !tbaa !15
  %13086 = load ptr, ptr %2, align 8, !tbaa !5
  %13087 = getelementptr inbounds %struct.PDP6, ptr %13086, i32 0, i32 28
  %13088 = load i64, ptr %13087, align 8, !tbaa !34
  %13089 = load ptr, ptr %2, align 8, !tbaa !5
  %13090 = getelementptr inbounds %struct.PDP6, ptr %13089, i32 0, i32 31
  store i64 %13088, ptr %13090, align 8, !tbaa !39
  br label %17859

13091:                                            ; preds = %17
  %13092 = load ptr, ptr %2, align 8, !tbaa !5
  %13093 = getelementptr inbounds %struct.PDP6, ptr %13092, i32 0, i32 31
  %13094 = load i64, ptr %13093, align 8, !tbaa !39
  %13095 = shl i64 %13094, 18
  %13096 = load ptr, ptr %2, align 8, !tbaa !5
  %13097 = getelementptr inbounds %struct.PDP6, ptr %13096, i32 0, i32 31
  %13098 = load i64, ptr %13097, align 8, !tbaa !39
  %13099 = lshr i64 %13098, 18
  %13100 = or i64 %13095, %13099
  %13101 = and i64 %13100, 68719476735
  %13102 = load ptr, ptr %2, align 8, !tbaa !5
  %13103 = getelementptr inbounds %struct.PDP6, ptr %13102, i32 0, i32 31
  store i64 %13101, ptr %13103, align 8, !tbaa !39
  %13104 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13104, ptr noundef @.str.41)
  %13105 = load i64, ptr @simtime, align 8, !tbaa !15
  %13106 = add i64 %13105, 100
  store i64 %13106, ptr @simtime, align 8, !tbaa !15
  %13107 = load ptr, ptr %2, align 8, !tbaa !5
  %13108 = getelementptr inbounds %struct.PDP6, ptr %13107, i32 0, i32 28
  %13109 = load i64, ptr %13108, align 8, !tbaa !34
  %13110 = load ptr, ptr %2, align 8, !tbaa !5
  %13111 = getelementptr inbounds %struct.PDP6, ptr %13110, i32 0, i32 31
  %13112 = load i64, ptr %13111, align 8, !tbaa !39
  %13113 = and i64 %13112, %13109
  store i64 %13113, ptr %13111, align 8, !tbaa !39
  %13114 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13114, ptr noundef @.str.42)
  %13115 = load i64, ptr @simtime, align 8, !tbaa !15
  %13116 = add i64 %13115, 100
  store i64 %13116, ptr @simtime, align 8, !tbaa !15
  %13117 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13117, ptr noundef @.str.43)
  %13118 = load ptr, ptr %2, align 8, !tbaa !5
  %13119 = getelementptr inbounds %struct.PDP6, ptr %13118, i32 0, i32 31
  %13120 = load i64, ptr %13119, align 8, !tbaa !39
  store i64 %13120, ptr %4, align 8, !tbaa !15
  %13121 = load ptr, ptr %2, align 8, !tbaa !5
  %13122 = getelementptr inbounds %struct.PDP6, ptr %13121, i32 0, i32 28
  %13123 = load i64, ptr %13122, align 8, !tbaa !34
  %13124 = load ptr, ptr %2, align 8, !tbaa !5
  %13125 = getelementptr inbounds %struct.PDP6, ptr %13124, i32 0, i32 31
  store i64 %13123, ptr %13125, align 8, !tbaa !39
  %13126 = load i64, ptr %4, align 8, !tbaa !15
  %13127 = load ptr, ptr %2, align 8, !tbaa !5
  %13128 = getelementptr inbounds %struct.PDP6, ptr %13127, i32 0, i32 28
  store i64 %13126, ptr %13128, align 8, !tbaa !34
  %13129 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13129, ptr noundef @.str.65)
  %13130 = load i64, ptr @simtime, align 8, !tbaa !15
  %13131 = add i64 %13130, 100
  store i64 %13131, ptr @simtime, align 8, !tbaa !15
  %13132 = load ptr, ptr %2, align 8, !tbaa !5
  %13133 = getelementptr inbounds %struct.PDP6, ptr %13132, i32 0, i32 28
  %13134 = load i64, ptr %13133, align 8, !tbaa !34
  %13135 = xor i64 %13134, 68719476735
  store i64 %13135, ptr %13133, align 8, !tbaa !34
  %13136 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13136, ptr noundef @.str.122)
  %13137 = load i64, ptr @simtime, align 8, !tbaa !15
  %13138 = add i64 %13137, 100
  store i64 %13138, ptr @simtime, align 8, !tbaa !15
  %13139 = load ptr, ptr %2, align 8, !tbaa !5
  %13140 = getelementptr inbounds %struct.PDP6, ptr %13139, i32 0, i32 28
  %13141 = load i64, ptr %13140, align 8, !tbaa !34
  %13142 = load ptr, ptr %2, align 8, !tbaa !5
  %13143 = getelementptr inbounds %struct.PDP6, ptr %13142, i32 0, i32 31
  %13144 = load i64, ptr %13143, align 8, !tbaa !39
  %13145 = and i64 %13144, %13141
  store i64 %13145, ptr %13143, align 8, !tbaa !39
  %13146 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13146, ptr noundef @.str.125)
  %13147 = load i64, ptr @simtime, align 8, !tbaa !15
  %13148 = add i64 %13147, 100
  store i64 %13148, ptr @simtime, align 8, !tbaa !15
  %13149 = load ptr, ptr %2, align 8, !tbaa !5
  %13150 = getelementptr inbounds %struct.PDP6, ptr %13149, i32 0, i32 28
  %13151 = load i64, ptr %13150, align 8, !tbaa !34
  %13152 = xor i64 %13151, 68719476735
  store i64 %13152, ptr %13150, align 8, !tbaa !34
  %13153 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13153, ptr noundef @.str.126)
  %13154 = load i64, ptr @simtime, align 8, !tbaa !15
  %13155 = add i64 %13154, 100
  store i64 %13155, ptr @simtime, align 8, !tbaa !15
  %13156 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13156, ptr noundef @.str.127)
  %13157 = load i64, ptr @simtime, align 8, !tbaa !15
  %13158 = add i64 %13157, 200
  store i64 %13158, ptr @simtime, align 8, !tbaa !15
  %13159 = load ptr, ptr %2, align 8, !tbaa !5
  %13160 = getelementptr inbounds %struct.PDP6, ptr %13159, i32 0, i32 28
  %13161 = load i64, ptr %13160, align 8, !tbaa !34
  %13162 = icmp eq i64 %13161, 0
  br i1 %13162, label %13172, label %13163

13163:                                            ; preds = %13091
  %13164 = load ptr, ptr %2, align 8, !tbaa !5
  %13165 = getelementptr inbounds %struct.PDP6, ptr %13164, i32 0, i32 34
  %13166 = load i32, ptr %13165, align 8, !tbaa !33
  %13167 = add i32 %13166, 1
  %13168 = and i32 %13167, 262143
  %13169 = load ptr, ptr %2, align 8, !tbaa !5
  %13170 = getelementptr inbounds %struct.PDP6, ptr %13169, i32 0, i32 34
  store i32 %13168, ptr %13170, align 8, !tbaa !33
  %13171 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %13171)
  br label %13172

13172:                                            ; preds = %13163, %13091
  %13173 = load ptr, ptr %2, align 8, !tbaa !5
  %13174 = getelementptr inbounds %struct.PDP6, ptr %13173, i32 0, i32 31
  %13175 = load i64, ptr %13174, align 8, !tbaa !39
  store i64 %13175, ptr %4, align 8, !tbaa !15
  %13176 = load ptr, ptr %2, align 8, !tbaa !5
  %13177 = getelementptr inbounds %struct.PDP6, ptr %13176, i32 0, i32 28
  %13178 = load i64, ptr %13177, align 8, !tbaa !34
  %13179 = load ptr, ptr %2, align 8, !tbaa !5
  %13180 = getelementptr inbounds %struct.PDP6, ptr %13179, i32 0, i32 31
  store i64 %13178, ptr %13180, align 8, !tbaa !39
  %13181 = load i64, ptr %4, align 8, !tbaa !15
  %13182 = load ptr, ptr %2, align 8, !tbaa !5
  %13183 = getelementptr inbounds %struct.PDP6, ptr %13182, i32 0, i32 28
  store i64 %13181, ptr %13183, align 8, !tbaa !34
  %13184 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13184, ptr noundef @.str.121)
  %13185 = load i64, ptr @simtime, align 8, !tbaa !15
  %13186 = add i64 %13185, 200
  store i64 %13186, ptr @simtime, align 8, !tbaa !15
  %13187 = load ptr, ptr %2, align 8, !tbaa !5
  %13188 = getelementptr inbounds %struct.PDP6, ptr %13187, i32 0, i32 28
  %13189 = load i64, ptr %13188, align 8, !tbaa !34
  %13190 = load ptr, ptr %2, align 8, !tbaa !5
  %13191 = getelementptr inbounds %struct.PDP6, ptr %13190, i32 0, i32 31
  store i64 %13189, ptr %13191, align 8, !tbaa !39
  br label %17859

13192:                                            ; preds = %17
  %13193 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13193, ptr noundef @.str.41)
  %13194 = load i64, ptr @simtime, align 8, !tbaa !15
  %13195 = add i64 %13194, 100
  store i64 %13195, ptr @simtime, align 8, !tbaa !15
  %13196 = load ptr, ptr %2, align 8, !tbaa !5
  %13197 = getelementptr inbounds %struct.PDP6, ptr %13196, i32 0, i32 28
  %13198 = load i64, ptr %13197, align 8, !tbaa !34
  %13199 = load ptr, ptr %2, align 8, !tbaa !5
  %13200 = getelementptr inbounds %struct.PDP6, ptr %13199, i32 0, i32 31
  %13201 = load i64, ptr %13200, align 8, !tbaa !39
  %13202 = and i64 %13201, %13198
  store i64 %13202, ptr %13200, align 8, !tbaa !39
  %13203 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13203, ptr noundef @.str.42)
  %13204 = load i64, ptr @simtime, align 8, !tbaa !15
  %13205 = add i64 %13204, 100
  store i64 %13205, ptr @simtime, align 8, !tbaa !15
  %13206 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13206, ptr noundef @.str.43)
  %13207 = load ptr, ptr %2, align 8, !tbaa !5
  %13208 = getelementptr inbounds %struct.PDP6, ptr %13207, i32 0, i32 31
  %13209 = load i64, ptr %13208, align 8, !tbaa !39
  store i64 %13209, ptr %4, align 8, !tbaa !15
  %13210 = load ptr, ptr %2, align 8, !tbaa !5
  %13211 = getelementptr inbounds %struct.PDP6, ptr %13210, i32 0, i32 28
  %13212 = load i64, ptr %13211, align 8, !tbaa !34
  %13213 = load ptr, ptr %2, align 8, !tbaa !5
  %13214 = getelementptr inbounds %struct.PDP6, ptr %13213, i32 0, i32 31
  store i64 %13212, ptr %13214, align 8, !tbaa !39
  %13215 = load i64, ptr %4, align 8, !tbaa !15
  %13216 = load ptr, ptr %2, align 8, !tbaa !5
  %13217 = getelementptr inbounds %struct.PDP6, ptr %13216, i32 0, i32 28
  store i64 %13215, ptr %13217, align 8, !tbaa !34
  %13218 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13218, ptr noundef @.str.65)
  %13219 = load i64, ptr @simtime, align 8, !tbaa !15
  %13220 = add i64 %13219, 100
  store i64 %13220, ptr @simtime, align 8, !tbaa !15
  %13221 = load ptr, ptr %2, align 8, !tbaa !5
  %13222 = getelementptr inbounds %struct.PDP6, ptr %13221, i32 0, i32 28
  %13223 = load i64, ptr %13222, align 8, !tbaa !34
  %13224 = xor i64 %13223, 68719476735
  store i64 %13224, ptr %13222, align 8, !tbaa !34
  %13225 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13225, ptr noundef @.str.122)
  %13226 = load i64, ptr @simtime, align 8, !tbaa !15
  %13227 = add i64 %13226, 100
  store i64 %13227, ptr @simtime, align 8, !tbaa !15
  %13228 = load ptr, ptr %2, align 8, !tbaa !5
  %13229 = getelementptr inbounds %struct.PDP6, ptr %13228, i32 0, i32 28
  %13230 = load i64, ptr %13229, align 8, !tbaa !34
  %13231 = load ptr, ptr %2, align 8, !tbaa !5
  %13232 = getelementptr inbounds %struct.PDP6, ptr %13231, i32 0, i32 31
  %13233 = load i64, ptr %13232, align 8, !tbaa !39
  %13234 = and i64 %13233, %13230
  store i64 %13234, ptr %13232, align 8, !tbaa !39
  %13235 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13235, ptr noundef @.str.125)
  %13236 = load i64, ptr @simtime, align 8, !tbaa !15
  %13237 = add i64 %13236, 100
  store i64 %13237, ptr @simtime, align 8, !tbaa !15
  %13238 = load ptr, ptr %2, align 8, !tbaa !5
  %13239 = getelementptr inbounds %struct.PDP6, ptr %13238, i32 0, i32 28
  %13240 = load i64, ptr %13239, align 8, !tbaa !34
  %13241 = xor i64 %13240, 68719476735
  store i64 %13241, ptr %13239, align 8, !tbaa !34
  %13242 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13242, ptr noundef @.str.126)
  %13243 = load i64, ptr @simtime, align 8, !tbaa !15
  %13244 = add i64 %13243, 100
  store i64 %13244, ptr @simtime, align 8, !tbaa !15
  %13245 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13245, ptr noundef @.str.127)
  %13246 = load i64, ptr @simtime, align 8, !tbaa !15
  %13247 = add i64 %13246, 200
  store i64 %13247, ptr @simtime, align 8, !tbaa !15
  %13248 = load ptr, ptr %2, align 8, !tbaa !5
  %13249 = getelementptr inbounds %struct.PDP6, ptr %13248, i32 0, i32 31
  %13250 = load i64, ptr %13249, align 8, !tbaa !39
  store i64 %13250, ptr %4, align 8, !tbaa !15
  %13251 = load ptr, ptr %2, align 8, !tbaa !5
  %13252 = getelementptr inbounds %struct.PDP6, ptr %13251, i32 0, i32 28
  %13253 = load i64, ptr %13252, align 8, !tbaa !34
  %13254 = load ptr, ptr %2, align 8, !tbaa !5
  %13255 = getelementptr inbounds %struct.PDP6, ptr %13254, i32 0, i32 31
  store i64 %13253, ptr %13255, align 8, !tbaa !39
  %13256 = load i64, ptr %4, align 8, !tbaa !15
  %13257 = load ptr, ptr %2, align 8, !tbaa !5
  %13258 = getelementptr inbounds %struct.PDP6, ptr %13257, i32 0, i32 28
  store i64 %13256, ptr %13258, align 8, !tbaa !34
  %13259 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13259, ptr noundef @.str.121)
  %13260 = load i64, ptr @simtime, align 8, !tbaa !15
  %13261 = add i64 %13260, 200
  store i64 %13261, ptr @simtime, align 8, !tbaa !15
  br label %17859

13262:                                            ; preds = %17
  %13263 = load ptr, ptr %2, align 8, !tbaa !5
  %13264 = getelementptr inbounds %struct.PDP6, ptr %13263, i32 0, i32 31
  %13265 = load i64, ptr %13264, align 8, !tbaa !39
  %13266 = shl i64 %13265, 18
  %13267 = load ptr, ptr %2, align 8, !tbaa !5
  %13268 = getelementptr inbounds %struct.PDP6, ptr %13267, i32 0, i32 31
  %13269 = load i64, ptr %13268, align 8, !tbaa !39
  %13270 = lshr i64 %13269, 18
  %13271 = or i64 %13266, %13270
  %13272 = and i64 %13271, 68719476735
  %13273 = load ptr, ptr %2, align 8, !tbaa !5
  %13274 = getelementptr inbounds %struct.PDP6, ptr %13273, i32 0, i32 31
  store i64 %13272, ptr %13274, align 8, !tbaa !39
  %13275 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13275, ptr noundef @.str.41)
  %13276 = load i64, ptr @simtime, align 8, !tbaa !15
  %13277 = add i64 %13276, 100
  store i64 %13277, ptr @simtime, align 8, !tbaa !15
  %13278 = load ptr, ptr %2, align 8, !tbaa !5
  %13279 = getelementptr inbounds %struct.PDP6, ptr %13278, i32 0, i32 28
  %13280 = load i64, ptr %13279, align 8, !tbaa !34
  %13281 = load ptr, ptr %2, align 8, !tbaa !5
  %13282 = getelementptr inbounds %struct.PDP6, ptr %13281, i32 0, i32 31
  %13283 = load i64, ptr %13282, align 8, !tbaa !39
  %13284 = and i64 %13283, %13280
  store i64 %13284, ptr %13282, align 8, !tbaa !39
  %13285 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13285, ptr noundef @.str.42)
  %13286 = load i64, ptr @simtime, align 8, !tbaa !15
  %13287 = add i64 %13286, 100
  store i64 %13287, ptr @simtime, align 8, !tbaa !15
  %13288 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13288, ptr noundef @.str.43)
  %13289 = load ptr, ptr %2, align 8, !tbaa !5
  %13290 = getelementptr inbounds %struct.PDP6, ptr %13289, i32 0, i32 31
  %13291 = load i64, ptr %13290, align 8, !tbaa !39
  store i64 %13291, ptr %4, align 8, !tbaa !15
  %13292 = load ptr, ptr %2, align 8, !tbaa !5
  %13293 = getelementptr inbounds %struct.PDP6, ptr %13292, i32 0, i32 28
  %13294 = load i64, ptr %13293, align 8, !tbaa !34
  %13295 = load ptr, ptr %2, align 8, !tbaa !5
  %13296 = getelementptr inbounds %struct.PDP6, ptr %13295, i32 0, i32 31
  store i64 %13294, ptr %13296, align 8, !tbaa !39
  %13297 = load i64, ptr %4, align 8, !tbaa !15
  %13298 = load ptr, ptr %2, align 8, !tbaa !5
  %13299 = getelementptr inbounds %struct.PDP6, ptr %13298, i32 0, i32 28
  store i64 %13297, ptr %13299, align 8, !tbaa !34
  %13300 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13300, ptr noundef @.str.65)
  %13301 = load i64, ptr @simtime, align 8, !tbaa !15
  %13302 = add i64 %13301, 100
  store i64 %13302, ptr @simtime, align 8, !tbaa !15
  %13303 = load ptr, ptr %2, align 8, !tbaa !5
  %13304 = getelementptr inbounds %struct.PDP6, ptr %13303, i32 0, i32 28
  %13305 = load i64, ptr %13304, align 8, !tbaa !34
  %13306 = xor i64 %13305, 68719476735
  store i64 %13306, ptr %13304, align 8, !tbaa !34
  %13307 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13307, ptr noundef @.str.122)
  %13308 = load i64, ptr @simtime, align 8, !tbaa !15
  %13309 = add i64 %13308, 100
  store i64 %13309, ptr @simtime, align 8, !tbaa !15
  %13310 = load ptr, ptr %2, align 8, !tbaa !5
  %13311 = getelementptr inbounds %struct.PDP6, ptr %13310, i32 0, i32 28
  %13312 = load i64, ptr %13311, align 8, !tbaa !34
  %13313 = load ptr, ptr %2, align 8, !tbaa !5
  %13314 = getelementptr inbounds %struct.PDP6, ptr %13313, i32 0, i32 31
  %13315 = load i64, ptr %13314, align 8, !tbaa !39
  %13316 = and i64 %13315, %13312
  store i64 %13316, ptr %13314, align 8, !tbaa !39
  %13317 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13317, ptr noundef @.str.125)
  %13318 = load i64, ptr @simtime, align 8, !tbaa !15
  %13319 = add i64 %13318, 100
  store i64 %13319, ptr @simtime, align 8, !tbaa !15
  %13320 = load ptr, ptr %2, align 8, !tbaa !5
  %13321 = getelementptr inbounds %struct.PDP6, ptr %13320, i32 0, i32 28
  %13322 = load i64, ptr %13321, align 8, !tbaa !34
  %13323 = xor i64 %13322, 68719476735
  store i64 %13323, ptr %13321, align 8, !tbaa !34
  %13324 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13324, ptr noundef @.str.126)
  %13325 = load i64, ptr @simtime, align 8, !tbaa !15
  %13326 = add i64 %13325, 100
  store i64 %13326, ptr @simtime, align 8, !tbaa !15
  %13327 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13327, ptr noundef @.str.127)
  %13328 = load i64, ptr @simtime, align 8, !tbaa !15
  %13329 = add i64 %13328, 200
  store i64 %13329, ptr @simtime, align 8, !tbaa !15
  %13330 = load ptr, ptr %2, align 8, !tbaa !5
  %13331 = getelementptr inbounds %struct.PDP6, ptr %13330, i32 0, i32 31
  %13332 = load i64, ptr %13331, align 8, !tbaa !39
  store i64 %13332, ptr %4, align 8, !tbaa !15
  %13333 = load ptr, ptr %2, align 8, !tbaa !5
  %13334 = getelementptr inbounds %struct.PDP6, ptr %13333, i32 0, i32 28
  %13335 = load i64, ptr %13334, align 8, !tbaa !34
  %13336 = load ptr, ptr %2, align 8, !tbaa !5
  %13337 = getelementptr inbounds %struct.PDP6, ptr %13336, i32 0, i32 31
  store i64 %13335, ptr %13337, align 8, !tbaa !39
  %13338 = load i64, ptr %4, align 8, !tbaa !15
  %13339 = load ptr, ptr %2, align 8, !tbaa !5
  %13340 = getelementptr inbounds %struct.PDP6, ptr %13339, i32 0, i32 28
  store i64 %13338, ptr %13340, align 8, !tbaa !34
  %13341 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13341, ptr noundef @.str.121)
  %13342 = load i64, ptr @simtime, align 8, !tbaa !15
  %13343 = add i64 %13342, 200
  store i64 %13343, ptr @simtime, align 8, !tbaa !15
  br label %17859

13344:                                            ; preds = %17
  %13345 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13345, ptr noundef @.str.41)
  %13346 = load i64, ptr @simtime, align 8, !tbaa !15
  %13347 = add i64 %13346, 100
  store i64 %13347, ptr @simtime, align 8, !tbaa !15
  %13348 = load ptr, ptr %2, align 8, !tbaa !5
  %13349 = getelementptr inbounds %struct.PDP6, ptr %13348, i32 0, i32 28
  %13350 = load i64, ptr %13349, align 8, !tbaa !34
  %13351 = load ptr, ptr %2, align 8, !tbaa !5
  %13352 = getelementptr inbounds %struct.PDP6, ptr %13351, i32 0, i32 31
  %13353 = load i64, ptr %13352, align 8, !tbaa !39
  %13354 = and i64 %13353, %13350
  store i64 %13354, ptr %13352, align 8, !tbaa !39
  %13355 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13355, ptr noundef @.str.42)
  %13356 = load i64, ptr @simtime, align 8, !tbaa !15
  %13357 = add i64 %13356, 100
  store i64 %13357, ptr @simtime, align 8, !tbaa !15
  %13358 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13358, ptr noundef @.str.43)
  %13359 = load ptr, ptr %2, align 8, !tbaa !5
  %13360 = getelementptr inbounds %struct.PDP6, ptr %13359, i32 0, i32 31
  %13361 = load i64, ptr %13360, align 8, !tbaa !39
  store i64 %13361, ptr %4, align 8, !tbaa !15
  %13362 = load ptr, ptr %2, align 8, !tbaa !5
  %13363 = getelementptr inbounds %struct.PDP6, ptr %13362, i32 0, i32 28
  %13364 = load i64, ptr %13363, align 8, !tbaa !34
  %13365 = load ptr, ptr %2, align 8, !tbaa !5
  %13366 = getelementptr inbounds %struct.PDP6, ptr %13365, i32 0, i32 31
  store i64 %13364, ptr %13366, align 8, !tbaa !39
  %13367 = load i64, ptr %4, align 8, !tbaa !15
  %13368 = load ptr, ptr %2, align 8, !tbaa !5
  %13369 = getelementptr inbounds %struct.PDP6, ptr %13368, i32 0, i32 28
  store i64 %13367, ptr %13369, align 8, !tbaa !34
  %13370 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13370, ptr noundef @.str.65)
  %13371 = load i64, ptr @simtime, align 8, !tbaa !15
  %13372 = add i64 %13371, 100
  store i64 %13372, ptr @simtime, align 8, !tbaa !15
  %13373 = load ptr, ptr %2, align 8, !tbaa !5
  %13374 = getelementptr inbounds %struct.PDP6, ptr %13373, i32 0, i32 28
  %13375 = load i64, ptr %13374, align 8, !tbaa !34
  %13376 = xor i64 %13375, 68719476735
  store i64 %13376, ptr %13374, align 8, !tbaa !34
  %13377 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13377, ptr noundef @.str.122)
  %13378 = load i64, ptr @simtime, align 8, !tbaa !15
  %13379 = add i64 %13378, 100
  store i64 %13379, ptr @simtime, align 8, !tbaa !15
  %13380 = load ptr, ptr %2, align 8, !tbaa !5
  %13381 = getelementptr inbounds %struct.PDP6, ptr %13380, i32 0, i32 28
  %13382 = load i64, ptr %13381, align 8, !tbaa !34
  %13383 = load ptr, ptr %2, align 8, !tbaa !5
  %13384 = getelementptr inbounds %struct.PDP6, ptr %13383, i32 0, i32 31
  %13385 = load i64, ptr %13384, align 8, !tbaa !39
  %13386 = and i64 %13385, %13382
  store i64 %13386, ptr %13384, align 8, !tbaa !39
  %13387 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13387, ptr noundef @.str.125)
  %13388 = load i64, ptr @simtime, align 8, !tbaa !15
  %13389 = add i64 %13388, 100
  store i64 %13389, ptr @simtime, align 8, !tbaa !15
  %13390 = load ptr, ptr %2, align 8, !tbaa !5
  %13391 = getelementptr inbounds %struct.PDP6, ptr %13390, i32 0, i32 28
  %13392 = load i64, ptr %13391, align 8, !tbaa !34
  %13393 = xor i64 %13392, 68719476735
  store i64 %13393, ptr %13391, align 8, !tbaa !34
  %13394 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13394, ptr noundef @.str.126)
  %13395 = load i64, ptr @simtime, align 8, !tbaa !15
  %13396 = add i64 %13395, 100
  store i64 %13396, ptr @simtime, align 8, !tbaa !15
  %13397 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13397, ptr noundef @.str.127)
  %13398 = load i64, ptr @simtime, align 8, !tbaa !15
  %13399 = add i64 %13398, 200
  store i64 %13399, ptr @simtime, align 8, !tbaa !15
  %13400 = load ptr, ptr %2, align 8, !tbaa !5
  %13401 = getelementptr inbounds %struct.PDP6, ptr %13400, i32 0, i32 28
  %13402 = load i64, ptr %13401, align 8, !tbaa !34
  %13403 = icmp eq i64 %13402, 0
  br i1 %13403, label %13404, label %13413

13404:                                            ; preds = %13344
  %13405 = load ptr, ptr %2, align 8, !tbaa !5
  %13406 = getelementptr inbounds %struct.PDP6, ptr %13405, i32 0, i32 34
  %13407 = load i32, ptr %13406, align 8, !tbaa !33
  %13408 = add i32 %13407, 1
  %13409 = and i32 %13408, 262143
  %13410 = load ptr, ptr %2, align 8, !tbaa !5
  %13411 = getelementptr inbounds %struct.PDP6, ptr %13410, i32 0, i32 34
  store i32 %13409, ptr %13411, align 8, !tbaa !33
  %13412 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %13412)
  br label %13413

13413:                                            ; preds = %13404, %13344
  %13414 = load ptr, ptr %2, align 8, !tbaa !5
  %13415 = getelementptr inbounds %struct.PDP6, ptr %13414, i32 0, i32 31
  %13416 = load i64, ptr %13415, align 8, !tbaa !39
  store i64 %13416, ptr %4, align 8, !tbaa !15
  %13417 = load ptr, ptr %2, align 8, !tbaa !5
  %13418 = getelementptr inbounds %struct.PDP6, ptr %13417, i32 0, i32 28
  %13419 = load i64, ptr %13418, align 8, !tbaa !34
  %13420 = load ptr, ptr %2, align 8, !tbaa !5
  %13421 = getelementptr inbounds %struct.PDP6, ptr %13420, i32 0, i32 31
  store i64 %13419, ptr %13421, align 8, !tbaa !39
  %13422 = load i64, ptr %4, align 8, !tbaa !15
  %13423 = load ptr, ptr %2, align 8, !tbaa !5
  %13424 = getelementptr inbounds %struct.PDP6, ptr %13423, i32 0, i32 28
  store i64 %13422, ptr %13424, align 8, !tbaa !34
  %13425 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13425, ptr noundef @.str.121)
  %13426 = load i64, ptr @simtime, align 8, !tbaa !15
  %13427 = add i64 %13426, 200
  store i64 %13427, ptr @simtime, align 8, !tbaa !15
  %13428 = load ptr, ptr %2, align 8, !tbaa !5
  %13429 = getelementptr inbounds %struct.PDP6, ptr %13428, i32 0, i32 28
  %13430 = load i64, ptr %13429, align 8, !tbaa !34
  %13431 = load ptr, ptr %2, align 8, !tbaa !5
  %13432 = getelementptr inbounds %struct.PDP6, ptr %13431, i32 0, i32 31
  store i64 %13430, ptr %13432, align 8, !tbaa !39
  br label %17859

13433:                                            ; preds = %17
  %13434 = load ptr, ptr %2, align 8, !tbaa !5
  %13435 = getelementptr inbounds %struct.PDP6, ptr %13434, i32 0, i32 31
  %13436 = load i64, ptr %13435, align 8, !tbaa !39
  %13437 = shl i64 %13436, 18
  %13438 = load ptr, ptr %2, align 8, !tbaa !5
  %13439 = getelementptr inbounds %struct.PDP6, ptr %13438, i32 0, i32 31
  %13440 = load i64, ptr %13439, align 8, !tbaa !39
  %13441 = lshr i64 %13440, 18
  %13442 = or i64 %13437, %13441
  %13443 = and i64 %13442, 68719476735
  %13444 = load ptr, ptr %2, align 8, !tbaa !5
  %13445 = getelementptr inbounds %struct.PDP6, ptr %13444, i32 0, i32 31
  store i64 %13443, ptr %13445, align 8, !tbaa !39
  %13446 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13446, ptr noundef @.str.41)
  %13447 = load i64, ptr @simtime, align 8, !tbaa !15
  %13448 = add i64 %13447, 100
  store i64 %13448, ptr @simtime, align 8, !tbaa !15
  %13449 = load ptr, ptr %2, align 8, !tbaa !5
  %13450 = getelementptr inbounds %struct.PDP6, ptr %13449, i32 0, i32 28
  %13451 = load i64, ptr %13450, align 8, !tbaa !34
  %13452 = load ptr, ptr %2, align 8, !tbaa !5
  %13453 = getelementptr inbounds %struct.PDP6, ptr %13452, i32 0, i32 31
  %13454 = load i64, ptr %13453, align 8, !tbaa !39
  %13455 = and i64 %13454, %13451
  store i64 %13455, ptr %13453, align 8, !tbaa !39
  %13456 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13456, ptr noundef @.str.42)
  %13457 = load i64, ptr @simtime, align 8, !tbaa !15
  %13458 = add i64 %13457, 100
  store i64 %13458, ptr @simtime, align 8, !tbaa !15
  %13459 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13459, ptr noundef @.str.43)
  %13460 = load ptr, ptr %2, align 8, !tbaa !5
  %13461 = getelementptr inbounds %struct.PDP6, ptr %13460, i32 0, i32 31
  %13462 = load i64, ptr %13461, align 8, !tbaa !39
  store i64 %13462, ptr %4, align 8, !tbaa !15
  %13463 = load ptr, ptr %2, align 8, !tbaa !5
  %13464 = getelementptr inbounds %struct.PDP6, ptr %13463, i32 0, i32 28
  %13465 = load i64, ptr %13464, align 8, !tbaa !34
  %13466 = load ptr, ptr %2, align 8, !tbaa !5
  %13467 = getelementptr inbounds %struct.PDP6, ptr %13466, i32 0, i32 31
  store i64 %13465, ptr %13467, align 8, !tbaa !39
  %13468 = load i64, ptr %4, align 8, !tbaa !15
  %13469 = load ptr, ptr %2, align 8, !tbaa !5
  %13470 = getelementptr inbounds %struct.PDP6, ptr %13469, i32 0, i32 28
  store i64 %13468, ptr %13470, align 8, !tbaa !34
  %13471 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13471, ptr noundef @.str.65)
  %13472 = load i64, ptr @simtime, align 8, !tbaa !15
  %13473 = add i64 %13472, 100
  store i64 %13473, ptr @simtime, align 8, !tbaa !15
  %13474 = load ptr, ptr %2, align 8, !tbaa !5
  %13475 = getelementptr inbounds %struct.PDP6, ptr %13474, i32 0, i32 28
  %13476 = load i64, ptr %13475, align 8, !tbaa !34
  %13477 = xor i64 %13476, 68719476735
  store i64 %13477, ptr %13475, align 8, !tbaa !34
  %13478 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13478, ptr noundef @.str.122)
  %13479 = load i64, ptr @simtime, align 8, !tbaa !15
  %13480 = add i64 %13479, 100
  store i64 %13480, ptr @simtime, align 8, !tbaa !15
  %13481 = load ptr, ptr %2, align 8, !tbaa !5
  %13482 = getelementptr inbounds %struct.PDP6, ptr %13481, i32 0, i32 28
  %13483 = load i64, ptr %13482, align 8, !tbaa !34
  %13484 = load ptr, ptr %2, align 8, !tbaa !5
  %13485 = getelementptr inbounds %struct.PDP6, ptr %13484, i32 0, i32 31
  %13486 = load i64, ptr %13485, align 8, !tbaa !39
  %13487 = and i64 %13486, %13483
  store i64 %13487, ptr %13485, align 8, !tbaa !39
  %13488 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13488, ptr noundef @.str.125)
  %13489 = load i64, ptr @simtime, align 8, !tbaa !15
  %13490 = add i64 %13489, 100
  store i64 %13490, ptr @simtime, align 8, !tbaa !15
  %13491 = load ptr, ptr %2, align 8, !tbaa !5
  %13492 = getelementptr inbounds %struct.PDP6, ptr %13491, i32 0, i32 28
  %13493 = load i64, ptr %13492, align 8, !tbaa !34
  %13494 = xor i64 %13493, 68719476735
  store i64 %13494, ptr %13492, align 8, !tbaa !34
  %13495 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13495, ptr noundef @.str.126)
  %13496 = load i64, ptr @simtime, align 8, !tbaa !15
  %13497 = add i64 %13496, 100
  store i64 %13497, ptr @simtime, align 8, !tbaa !15
  %13498 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13498, ptr noundef @.str.127)
  %13499 = load i64, ptr @simtime, align 8, !tbaa !15
  %13500 = add i64 %13499, 200
  store i64 %13500, ptr @simtime, align 8, !tbaa !15
  %13501 = load ptr, ptr %2, align 8, !tbaa !5
  %13502 = getelementptr inbounds %struct.PDP6, ptr %13501, i32 0, i32 28
  %13503 = load i64, ptr %13502, align 8, !tbaa !34
  %13504 = icmp eq i64 %13503, 0
  br i1 %13504, label %13505, label %13514

13505:                                            ; preds = %13433
  %13506 = load ptr, ptr %2, align 8, !tbaa !5
  %13507 = getelementptr inbounds %struct.PDP6, ptr %13506, i32 0, i32 34
  %13508 = load i32, ptr %13507, align 8, !tbaa !33
  %13509 = add i32 %13508, 1
  %13510 = and i32 %13509, 262143
  %13511 = load ptr, ptr %2, align 8, !tbaa !5
  %13512 = getelementptr inbounds %struct.PDP6, ptr %13511, i32 0, i32 34
  store i32 %13510, ptr %13512, align 8, !tbaa !33
  %13513 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %13513)
  br label %13514

13514:                                            ; preds = %13505, %13433
  %13515 = load ptr, ptr %2, align 8, !tbaa !5
  %13516 = getelementptr inbounds %struct.PDP6, ptr %13515, i32 0, i32 31
  %13517 = load i64, ptr %13516, align 8, !tbaa !39
  store i64 %13517, ptr %4, align 8, !tbaa !15
  %13518 = load ptr, ptr %2, align 8, !tbaa !5
  %13519 = getelementptr inbounds %struct.PDP6, ptr %13518, i32 0, i32 28
  %13520 = load i64, ptr %13519, align 8, !tbaa !34
  %13521 = load ptr, ptr %2, align 8, !tbaa !5
  %13522 = getelementptr inbounds %struct.PDP6, ptr %13521, i32 0, i32 31
  store i64 %13520, ptr %13522, align 8, !tbaa !39
  %13523 = load i64, ptr %4, align 8, !tbaa !15
  %13524 = load ptr, ptr %2, align 8, !tbaa !5
  %13525 = getelementptr inbounds %struct.PDP6, ptr %13524, i32 0, i32 28
  store i64 %13523, ptr %13525, align 8, !tbaa !34
  %13526 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13526, ptr noundef @.str.121)
  %13527 = load i64, ptr @simtime, align 8, !tbaa !15
  %13528 = add i64 %13527, 200
  store i64 %13528, ptr @simtime, align 8, !tbaa !15
  %13529 = load ptr, ptr %2, align 8, !tbaa !5
  %13530 = getelementptr inbounds %struct.PDP6, ptr %13529, i32 0, i32 28
  %13531 = load i64, ptr %13530, align 8, !tbaa !34
  %13532 = load ptr, ptr %2, align 8, !tbaa !5
  %13533 = getelementptr inbounds %struct.PDP6, ptr %13532, i32 0, i32 31
  store i64 %13531, ptr %13533, align 8, !tbaa !39
  br label %17859

13534:                                            ; preds = %17
  %13535 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13535, ptr noundef @.str.41)
  %13536 = load i64, ptr @simtime, align 8, !tbaa !15
  %13537 = add i64 %13536, 100
  store i64 %13537, ptr @simtime, align 8, !tbaa !15
  %13538 = load ptr, ptr %2, align 8, !tbaa !5
  %13539 = getelementptr inbounds %struct.PDP6, ptr %13538, i32 0, i32 28
  %13540 = load i64, ptr %13539, align 8, !tbaa !34
  %13541 = load ptr, ptr %2, align 8, !tbaa !5
  %13542 = getelementptr inbounds %struct.PDP6, ptr %13541, i32 0, i32 31
  %13543 = load i64, ptr %13542, align 8, !tbaa !39
  %13544 = and i64 %13543, %13540
  store i64 %13544, ptr %13542, align 8, !tbaa !39
  %13545 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13545, ptr noundef @.str.42)
  %13546 = load i64, ptr @simtime, align 8, !tbaa !15
  %13547 = add i64 %13546, 100
  store i64 %13547, ptr @simtime, align 8, !tbaa !15
  %13548 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13548, ptr noundef @.str.43)
  %13549 = load ptr, ptr %2, align 8, !tbaa !5
  %13550 = getelementptr inbounds %struct.PDP6, ptr %13549, i32 0, i32 31
  %13551 = load i64, ptr %13550, align 8, !tbaa !39
  store i64 %13551, ptr %4, align 8, !tbaa !15
  %13552 = load ptr, ptr %2, align 8, !tbaa !5
  %13553 = getelementptr inbounds %struct.PDP6, ptr %13552, i32 0, i32 28
  %13554 = load i64, ptr %13553, align 8, !tbaa !34
  %13555 = load ptr, ptr %2, align 8, !tbaa !5
  %13556 = getelementptr inbounds %struct.PDP6, ptr %13555, i32 0, i32 31
  store i64 %13554, ptr %13556, align 8, !tbaa !39
  %13557 = load i64, ptr %4, align 8, !tbaa !15
  %13558 = load ptr, ptr %2, align 8, !tbaa !5
  %13559 = getelementptr inbounds %struct.PDP6, ptr %13558, i32 0, i32 28
  store i64 %13557, ptr %13559, align 8, !tbaa !34
  %13560 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13560, ptr noundef @.str.65)
  %13561 = load i64, ptr @simtime, align 8, !tbaa !15
  %13562 = add i64 %13561, 100
  store i64 %13562, ptr @simtime, align 8, !tbaa !15
  %13563 = load ptr, ptr %2, align 8, !tbaa !5
  %13564 = getelementptr inbounds %struct.PDP6, ptr %13563, i32 0, i32 28
  %13565 = load i64, ptr %13564, align 8, !tbaa !34
  %13566 = xor i64 %13565, 68719476735
  store i64 %13566, ptr %13564, align 8, !tbaa !34
  %13567 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13567, ptr noundef @.str.122)
  %13568 = load i64, ptr @simtime, align 8, !tbaa !15
  %13569 = add i64 %13568, 100
  store i64 %13569, ptr @simtime, align 8, !tbaa !15
  %13570 = load ptr, ptr %2, align 8, !tbaa !5
  %13571 = getelementptr inbounds %struct.PDP6, ptr %13570, i32 0, i32 28
  %13572 = load i64, ptr %13571, align 8, !tbaa !34
  %13573 = load ptr, ptr %2, align 8, !tbaa !5
  %13574 = getelementptr inbounds %struct.PDP6, ptr %13573, i32 0, i32 31
  %13575 = load i64, ptr %13574, align 8, !tbaa !39
  %13576 = and i64 %13575, %13572
  store i64 %13576, ptr %13574, align 8, !tbaa !39
  %13577 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13577, ptr noundef @.str.125)
  %13578 = load i64, ptr @simtime, align 8, !tbaa !15
  %13579 = add i64 %13578, 100
  store i64 %13579, ptr @simtime, align 8, !tbaa !15
  %13580 = load ptr, ptr %2, align 8, !tbaa !5
  %13581 = getelementptr inbounds %struct.PDP6, ptr %13580, i32 0, i32 28
  %13582 = load i64, ptr %13581, align 8, !tbaa !34
  %13583 = xor i64 %13582, 68719476735
  store i64 %13583, ptr %13581, align 8, !tbaa !34
  %13584 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13584, ptr noundef @.str.126)
  %13585 = load i64, ptr @simtime, align 8, !tbaa !15
  %13586 = add i64 %13585, 100
  store i64 %13586, ptr @simtime, align 8, !tbaa !15
  %13587 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13587, ptr noundef @.str.127)
  %13588 = load i64, ptr @simtime, align 8, !tbaa !15
  %13589 = add i64 %13588, 200
  store i64 %13589, ptr @simtime, align 8, !tbaa !15
  %13590 = load ptr, ptr %2, align 8, !tbaa !5
  %13591 = getelementptr inbounds %struct.PDP6, ptr %13590, i32 0, i32 34
  %13592 = load i32, ptr %13591, align 8, !tbaa !33
  %13593 = add i32 %13592, 1
  %13594 = and i32 %13593, 262143
  %13595 = load ptr, ptr %2, align 8, !tbaa !5
  %13596 = getelementptr inbounds %struct.PDP6, ptr %13595, i32 0, i32 34
  store i32 %13594, ptr %13596, align 8, !tbaa !33
  %13597 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %13597)
  %13598 = load ptr, ptr %2, align 8, !tbaa !5
  %13599 = getelementptr inbounds %struct.PDP6, ptr %13598, i32 0, i32 31
  %13600 = load i64, ptr %13599, align 8, !tbaa !39
  store i64 %13600, ptr %4, align 8, !tbaa !15
  %13601 = load ptr, ptr %2, align 8, !tbaa !5
  %13602 = getelementptr inbounds %struct.PDP6, ptr %13601, i32 0, i32 28
  %13603 = load i64, ptr %13602, align 8, !tbaa !34
  %13604 = load ptr, ptr %2, align 8, !tbaa !5
  %13605 = getelementptr inbounds %struct.PDP6, ptr %13604, i32 0, i32 31
  store i64 %13603, ptr %13605, align 8, !tbaa !39
  %13606 = load i64, ptr %4, align 8, !tbaa !15
  %13607 = load ptr, ptr %2, align 8, !tbaa !5
  %13608 = getelementptr inbounds %struct.PDP6, ptr %13607, i32 0, i32 28
  store i64 %13606, ptr %13608, align 8, !tbaa !34
  %13609 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13609, ptr noundef @.str.121)
  %13610 = load i64, ptr @simtime, align 8, !tbaa !15
  %13611 = add i64 %13610, 200
  store i64 %13611, ptr @simtime, align 8, !tbaa !15
  br label %17859

13612:                                            ; preds = %17
  %13613 = load ptr, ptr %2, align 8, !tbaa !5
  %13614 = getelementptr inbounds %struct.PDP6, ptr %13613, i32 0, i32 31
  %13615 = load i64, ptr %13614, align 8, !tbaa !39
  %13616 = shl i64 %13615, 18
  %13617 = load ptr, ptr %2, align 8, !tbaa !5
  %13618 = getelementptr inbounds %struct.PDP6, ptr %13617, i32 0, i32 31
  %13619 = load i64, ptr %13618, align 8, !tbaa !39
  %13620 = lshr i64 %13619, 18
  %13621 = or i64 %13616, %13620
  %13622 = and i64 %13621, 68719476735
  %13623 = load ptr, ptr %2, align 8, !tbaa !5
  %13624 = getelementptr inbounds %struct.PDP6, ptr %13623, i32 0, i32 31
  store i64 %13622, ptr %13624, align 8, !tbaa !39
  %13625 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13625, ptr noundef @.str.41)
  %13626 = load i64, ptr @simtime, align 8, !tbaa !15
  %13627 = add i64 %13626, 100
  store i64 %13627, ptr @simtime, align 8, !tbaa !15
  %13628 = load ptr, ptr %2, align 8, !tbaa !5
  %13629 = getelementptr inbounds %struct.PDP6, ptr %13628, i32 0, i32 28
  %13630 = load i64, ptr %13629, align 8, !tbaa !34
  %13631 = load ptr, ptr %2, align 8, !tbaa !5
  %13632 = getelementptr inbounds %struct.PDP6, ptr %13631, i32 0, i32 31
  %13633 = load i64, ptr %13632, align 8, !tbaa !39
  %13634 = and i64 %13633, %13630
  store i64 %13634, ptr %13632, align 8, !tbaa !39
  %13635 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13635, ptr noundef @.str.42)
  %13636 = load i64, ptr @simtime, align 8, !tbaa !15
  %13637 = add i64 %13636, 100
  store i64 %13637, ptr @simtime, align 8, !tbaa !15
  %13638 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13638, ptr noundef @.str.43)
  %13639 = load ptr, ptr %2, align 8, !tbaa !5
  %13640 = getelementptr inbounds %struct.PDP6, ptr %13639, i32 0, i32 31
  %13641 = load i64, ptr %13640, align 8, !tbaa !39
  store i64 %13641, ptr %4, align 8, !tbaa !15
  %13642 = load ptr, ptr %2, align 8, !tbaa !5
  %13643 = getelementptr inbounds %struct.PDP6, ptr %13642, i32 0, i32 28
  %13644 = load i64, ptr %13643, align 8, !tbaa !34
  %13645 = load ptr, ptr %2, align 8, !tbaa !5
  %13646 = getelementptr inbounds %struct.PDP6, ptr %13645, i32 0, i32 31
  store i64 %13644, ptr %13646, align 8, !tbaa !39
  %13647 = load i64, ptr %4, align 8, !tbaa !15
  %13648 = load ptr, ptr %2, align 8, !tbaa !5
  %13649 = getelementptr inbounds %struct.PDP6, ptr %13648, i32 0, i32 28
  store i64 %13647, ptr %13649, align 8, !tbaa !34
  %13650 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13650, ptr noundef @.str.65)
  %13651 = load i64, ptr @simtime, align 8, !tbaa !15
  %13652 = add i64 %13651, 100
  store i64 %13652, ptr @simtime, align 8, !tbaa !15
  %13653 = load ptr, ptr %2, align 8, !tbaa !5
  %13654 = getelementptr inbounds %struct.PDP6, ptr %13653, i32 0, i32 28
  %13655 = load i64, ptr %13654, align 8, !tbaa !34
  %13656 = xor i64 %13655, 68719476735
  store i64 %13656, ptr %13654, align 8, !tbaa !34
  %13657 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13657, ptr noundef @.str.122)
  %13658 = load i64, ptr @simtime, align 8, !tbaa !15
  %13659 = add i64 %13658, 100
  store i64 %13659, ptr @simtime, align 8, !tbaa !15
  %13660 = load ptr, ptr %2, align 8, !tbaa !5
  %13661 = getelementptr inbounds %struct.PDP6, ptr %13660, i32 0, i32 28
  %13662 = load i64, ptr %13661, align 8, !tbaa !34
  %13663 = load ptr, ptr %2, align 8, !tbaa !5
  %13664 = getelementptr inbounds %struct.PDP6, ptr %13663, i32 0, i32 31
  %13665 = load i64, ptr %13664, align 8, !tbaa !39
  %13666 = and i64 %13665, %13662
  store i64 %13666, ptr %13664, align 8, !tbaa !39
  %13667 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13667, ptr noundef @.str.125)
  %13668 = load i64, ptr @simtime, align 8, !tbaa !15
  %13669 = add i64 %13668, 100
  store i64 %13669, ptr @simtime, align 8, !tbaa !15
  %13670 = load ptr, ptr %2, align 8, !tbaa !5
  %13671 = getelementptr inbounds %struct.PDP6, ptr %13670, i32 0, i32 28
  %13672 = load i64, ptr %13671, align 8, !tbaa !34
  %13673 = xor i64 %13672, 68719476735
  store i64 %13673, ptr %13671, align 8, !tbaa !34
  %13674 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13674, ptr noundef @.str.126)
  %13675 = load i64, ptr @simtime, align 8, !tbaa !15
  %13676 = add i64 %13675, 100
  store i64 %13676, ptr @simtime, align 8, !tbaa !15
  %13677 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13677, ptr noundef @.str.127)
  %13678 = load i64, ptr @simtime, align 8, !tbaa !15
  %13679 = add i64 %13678, 200
  store i64 %13679, ptr @simtime, align 8, !tbaa !15
  %13680 = load ptr, ptr %2, align 8, !tbaa !5
  %13681 = getelementptr inbounds %struct.PDP6, ptr %13680, i32 0, i32 34
  %13682 = load i32, ptr %13681, align 8, !tbaa !33
  %13683 = add i32 %13682, 1
  %13684 = and i32 %13683, 262143
  %13685 = load ptr, ptr %2, align 8, !tbaa !5
  %13686 = getelementptr inbounds %struct.PDP6, ptr %13685, i32 0, i32 34
  store i32 %13684, ptr %13686, align 8, !tbaa !33
  %13687 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %13687)
  %13688 = load ptr, ptr %2, align 8, !tbaa !5
  %13689 = getelementptr inbounds %struct.PDP6, ptr %13688, i32 0, i32 31
  %13690 = load i64, ptr %13689, align 8, !tbaa !39
  store i64 %13690, ptr %4, align 8, !tbaa !15
  %13691 = load ptr, ptr %2, align 8, !tbaa !5
  %13692 = getelementptr inbounds %struct.PDP6, ptr %13691, i32 0, i32 28
  %13693 = load i64, ptr %13692, align 8, !tbaa !34
  %13694 = load ptr, ptr %2, align 8, !tbaa !5
  %13695 = getelementptr inbounds %struct.PDP6, ptr %13694, i32 0, i32 31
  store i64 %13693, ptr %13695, align 8, !tbaa !39
  %13696 = load i64, ptr %4, align 8, !tbaa !15
  %13697 = load ptr, ptr %2, align 8, !tbaa !5
  %13698 = getelementptr inbounds %struct.PDP6, ptr %13697, i32 0, i32 28
  store i64 %13696, ptr %13698, align 8, !tbaa !34
  %13699 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13699, ptr noundef @.str.121)
  %13700 = load i64, ptr @simtime, align 8, !tbaa !15
  %13701 = add i64 %13700, 200
  store i64 %13701, ptr @simtime, align 8, !tbaa !15
  br label %17859

13702:                                            ; preds = %17
  %13703 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13703, ptr noundef @.str.41)
  %13704 = load i64, ptr @simtime, align 8, !tbaa !15
  %13705 = add i64 %13704, 100
  store i64 %13705, ptr @simtime, align 8, !tbaa !15
  %13706 = load ptr, ptr %2, align 8, !tbaa !5
  %13707 = getelementptr inbounds %struct.PDP6, ptr %13706, i32 0, i32 28
  %13708 = load i64, ptr %13707, align 8, !tbaa !34
  %13709 = load ptr, ptr %2, align 8, !tbaa !5
  %13710 = getelementptr inbounds %struct.PDP6, ptr %13709, i32 0, i32 31
  %13711 = load i64, ptr %13710, align 8, !tbaa !39
  %13712 = and i64 %13711, %13708
  store i64 %13712, ptr %13710, align 8, !tbaa !39
  %13713 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13713, ptr noundef @.str.42)
  %13714 = load i64, ptr @simtime, align 8, !tbaa !15
  %13715 = add i64 %13714, 100
  store i64 %13715, ptr @simtime, align 8, !tbaa !15
  %13716 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13716, ptr noundef @.str.43)
  %13717 = load ptr, ptr %2, align 8, !tbaa !5
  %13718 = getelementptr inbounds %struct.PDP6, ptr %13717, i32 0, i32 31
  %13719 = load i64, ptr %13718, align 8, !tbaa !39
  store i64 %13719, ptr %4, align 8, !tbaa !15
  %13720 = load ptr, ptr %2, align 8, !tbaa !5
  %13721 = getelementptr inbounds %struct.PDP6, ptr %13720, i32 0, i32 28
  %13722 = load i64, ptr %13721, align 8, !tbaa !34
  %13723 = load ptr, ptr %2, align 8, !tbaa !5
  %13724 = getelementptr inbounds %struct.PDP6, ptr %13723, i32 0, i32 31
  store i64 %13722, ptr %13724, align 8, !tbaa !39
  %13725 = load i64, ptr %4, align 8, !tbaa !15
  %13726 = load ptr, ptr %2, align 8, !tbaa !5
  %13727 = getelementptr inbounds %struct.PDP6, ptr %13726, i32 0, i32 28
  store i64 %13725, ptr %13727, align 8, !tbaa !34
  %13728 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13728, ptr noundef @.str.65)
  %13729 = load i64, ptr @simtime, align 8, !tbaa !15
  %13730 = add i64 %13729, 100
  store i64 %13730, ptr @simtime, align 8, !tbaa !15
  %13731 = load ptr, ptr %2, align 8, !tbaa !5
  %13732 = getelementptr inbounds %struct.PDP6, ptr %13731, i32 0, i32 28
  %13733 = load i64, ptr %13732, align 8, !tbaa !34
  %13734 = xor i64 %13733, 68719476735
  store i64 %13734, ptr %13732, align 8, !tbaa !34
  %13735 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13735, ptr noundef @.str.122)
  %13736 = load i64, ptr @simtime, align 8, !tbaa !15
  %13737 = add i64 %13736, 100
  store i64 %13737, ptr @simtime, align 8, !tbaa !15
  %13738 = load ptr, ptr %2, align 8, !tbaa !5
  %13739 = getelementptr inbounds %struct.PDP6, ptr %13738, i32 0, i32 28
  %13740 = load i64, ptr %13739, align 8, !tbaa !34
  %13741 = load ptr, ptr %2, align 8, !tbaa !5
  %13742 = getelementptr inbounds %struct.PDP6, ptr %13741, i32 0, i32 31
  %13743 = load i64, ptr %13742, align 8, !tbaa !39
  %13744 = and i64 %13743, %13740
  store i64 %13744, ptr %13742, align 8, !tbaa !39
  %13745 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13745, ptr noundef @.str.125)
  %13746 = load i64, ptr @simtime, align 8, !tbaa !15
  %13747 = add i64 %13746, 100
  store i64 %13747, ptr @simtime, align 8, !tbaa !15
  %13748 = load ptr, ptr %2, align 8, !tbaa !5
  %13749 = getelementptr inbounds %struct.PDP6, ptr %13748, i32 0, i32 28
  %13750 = load i64, ptr %13749, align 8, !tbaa !34
  %13751 = xor i64 %13750, 68719476735
  store i64 %13751, ptr %13749, align 8, !tbaa !34
  %13752 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13752, ptr noundef @.str.126)
  %13753 = load i64, ptr @simtime, align 8, !tbaa !15
  %13754 = add i64 %13753, 100
  store i64 %13754, ptr @simtime, align 8, !tbaa !15
  %13755 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13755, ptr noundef @.str.127)
  %13756 = load i64, ptr @simtime, align 8, !tbaa !15
  %13757 = add i64 %13756, 200
  store i64 %13757, ptr @simtime, align 8, !tbaa !15
  %13758 = load ptr, ptr %2, align 8, !tbaa !5
  %13759 = getelementptr inbounds %struct.PDP6, ptr %13758, i32 0, i32 28
  %13760 = load i64, ptr %13759, align 8, !tbaa !34
  %13761 = icmp eq i64 %13760, 0
  br i1 %13761, label %13771, label %13762

13762:                                            ; preds = %13702
  %13763 = load ptr, ptr %2, align 8, !tbaa !5
  %13764 = getelementptr inbounds %struct.PDP6, ptr %13763, i32 0, i32 34
  %13765 = load i32, ptr %13764, align 8, !tbaa !33
  %13766 = add i32 %13765, 1
  %13767 = and i32 %13766, 262143
  %13768 = load ptr, ptr %2, align 8, !tbaa !5
  %13769 = getelementptr inbounds %struct.PDP6, ptr %13768, i32 0, i32 34
  store i32 %13767, ptr %13769, align 8, !tbaa !33
  %13770 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %13770)
  br label %13771

13771:                                            ; preds = %13762, %13702
  %13772 = load ptr, ptr %2, align 8, !tbaa !5
  %13773 = getelementptr inbounds %struct.PDP6, ptr %13772, i32 0, i32 31
  %13774 = load i64, ptr %13773, align 8, !tbaa !39
  store i64 %13774, ptr %4, align 8, !tbaa !15
  %13775 = load ptr, ptr %2, align 8, !tbaa !5
  %13776 = getelementptr inbounds %struct.PDP6, ptr %13775, i32 0, i32 28
  %13777 = load i64, ptr %13776, align 8, !tbaa !34
  %13778 = load ptr, ptr %2, align 8, !tbaa !5
  %13779 = getelementptr inbounds %struct.PDP6, ptr %13778, i32 0, i32 31
  store i64 %13777, ptr %13779, align 8, !tbaa !39
  %13780 = load i64, ptr %4, align 8, !tbaa !15
  %13781 = load ptr, ptr %2, align 8, !tbaa !5
  %13782 = getelementptr inbounds %struct.PDP6, ptr %13781, i32 0, i32 28
  store i64 %13780, ptr %13782, align 8, !tbaa !34
  %13783 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13783, ptr noundef @.str.121)
  %13784 = load i64, ptr @simtime, align 8, !tbaa !15
  %13785 = add i64 %13784, 200
  store i64 %13785, ptr @simtime, align 8, !tbaa !15
  %13786 = load ptr, ptr %2, align 8, !tbaa !5
  %13787 = getelementptr inbounds %struct.PDP6, ptr %13786, i32 0, i32 28
  %13788 = load i64, ptr %13787, align 8, !tbaa !34
  %13789 = load ptr, ptr %2, align 8, !tbaa !5
  %13790 = getelementptr inbounds %struct.PDP6, ptr %13789, i32 0, i32 31
  store i64 %13788, ptr %13790, align 8, !tbaa !39
  br label %17859

13791:                                            ; preds = %17
  %13792 = load ptr, ptr %2, align 8, !tbaa !5
  %13793 = getelementptr inbounds %struct.PDP6, ptr %13792, i32 0, i32 31
  %13794 = load i64, ptr %13793, align 8, !tbaa !39
  %13795 = shl i64 %13794, 18
  %13796 = load ptr, ptr %2, align 8, !tbaa !5
  %13797 = getelementptr inbounds %struct.PDP6, ptr %13796, i32 0, i32 31
  %13798 = load i64, ptr %13797, align 8, !tbaa !39
  %13799 = lshr i64 %13798, 18
  %13800 = or i64 %13795, %13799
  %13801 = and i64 %13800, 68719476735
  %13802 = load ptr, ptr %2, align 8, !tbaa !5
  %13803 = getelementptr inbounds %struct.PDP6, ptr %13802, i32 0, i32 31
  store i64 %13801, ptr %13803, align 8, !tbaa !39
  %13804 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13804, ptr noundef @.str.41)
  %13805 = load i64, ptr @simtime, align 8, !tbaa !15
  %13806 = add i64 %13805, 100
  store i64 %13806, ptr @simtime, align 8, !tbaa !15
  %13807 = load ptr, ptr %2, align 8, !tbaa !5
  %13808 = getelementptr inbounds %struct.PDP6, ptr %13807, i32 0, i32 28
  %13809 = load i64, ptr %13808, align 8, !tbaa !34
  %13810 = load ptr, ptr %2, align 8, !tbaa !5
  %13811 = getelementptr inbounds %struct.PDP6, ptr %13810, i32 0, i32 31
  %13812 = load i64, ptr %13811, align 8, !tbaa !39
  %13813 = and i64 %13812, %13809
  store i64 %13813, ptr %13811, align 8, !tbaa !39
  %13814 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13814, ptr noundef @.str.42)
  %13815 = load i64, ptr @simtime, align 8, !tbaa !15
  %13816 = add i64 %13815, 100
  store i64 %13816, ptr @simtime, align 8, !tbaa !15
  %13817 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13817, ptr noundef @.str.43)
  %13818 = load ptr, ptr %2, align 8, !tbaa !5
  %13819 = getelementptr inbounds %struct.PDP6, ptr %13818, i32 0, i32 31
  %13820 = load i64, ptr %13819, align 8, !tbaa !39
  store i64 %13820, ptr %4, align 8, !tbaa !15
  %13821 = load ptr, ptr %2, align 8, !tbaa !5
  %13822 = getelementptr inbounds %struct.PDP6, ptr %13821, i32 0, i32 28
  %13823 = load i64, ptr %13822, align 8, !tbaa !34
  %13824 = load ptr, ptr %2, align 8, !tbaa !5
  %13825 = getelementptr inbounds %struct.PDP6, ptr %13824, i32 0, i32 31
  store i64 %13823, ptr %13825, align 8, !tbaa !39
  %13826 = load i64, ptr %4, align 8, !tbaa !15
  %13827 = load ptr, ptr %2, align 8, !tbaa !5
  %13828 = getelementptr inbounds %struct.PDP6, ptr %13827, i32 0, i32 28
  store i64 %13826, ptr %13828, align 8, !tbaa !34
  %13829 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13829, ptr noundef @.str.65)
  %13830 = load i64, ptr @simtime, align 8, !tbaa !15
  %13831 = add i64 %13830, 100
  store i64 %13831, ptr @simtime, align 8, !tbaa !15
  %13832 = load ptr, ptr %2, align 8, !tbaa !5
  %13833 = getelementptr inbounds %struct.PDP6, ptr %13832, i32 0, i32 28
  %13834 = load i64, ptr %13833, align 8, !tbaa !34
  %13835 = xor i64 %13834, 68719476735
  store i64 %13835, ptr %13833, align 8, !tbaa !34
  %13836 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13836, ptr noundef @.str.122)
  %13837 = load i64, ptr @simtime, align 8, !tbaa !15
  %13838 = add i64 %13837, 100
  store i64 %13838, ptr @simtime, align 8, !tbaa !15
  %13839 = load ptr, ptr %2, align 8, !tbaa !5
  %13840 = getelementptr inbounds %struct.PDP6, ptr %13839, i32 0, i32 28
  %13841 = load i64, ptr %13840, align 8, !tbaa !34
  %13842 = load ptr, ptr %2, align 8, !tbaa !5
  %13843 = getelementptr inbounds %struct.PDP6, ptr %13842, i32 0, i32 31
  %13844 = load i64, ptr %13843, align 8, !tbaa !39
  %13845 = and i64 %13844, %13841
  store i64 %13845, ptr %13843, align 8, !tbaa !39
  %13846 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13846, ptr noundef @.str.125)
  %13847 = load i64, ptr @simtime, align 8, !tbaa !15
  %13848 = add i64 %13847, 100
  store i64 %13848, ptr @simtime, align 8, !tbaa !15
  %13849 = load ptr, ptr %2, align 8, !tbaa !5
  %13850 = getelementptr inbounds %struct.PDP6, ptr %13849, i32 0, i32 28
  %13851 = load i64, ptr %13850, align 8, !tbaa !34
  %13852 = xor i64 %13851, 68719476735
  store i64 %13852, ptr %13850, align 8, !tbaa !34
  %13853 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13853, ptr noundef @.str.126)
  %13854 = load i64, ptr @simtime, align 8, !tbaa !15
  %13855 = add i64 %13854, 100
  store i64 %13855, ptr @simtime, align 8, !tbaa !15
  %13856 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13856, ptr noundef @.str.127)
  %13857 = load i64, ptr @simtime, align 8, !tbaa !15
  %13858 = add i64 %13857, 200
  store i64 %13858, ptr @simtime, align 8, !tbaa !15
  %13859 = load ptr, ptr %2, align 8, !tbaa !5
  %13860 = getelementptr inbounds %struct.PDP6, ptr %13859, i32 0, i32 28
  %13861 = load i64, ptr %13860, align 8, !tbaa !34
  %13862 = icmp eq i64 %13861, 0
  br i1 %13862, label %13872, label %13863

13863:                                            ; preds = %13791
  %13864 = load ptr, ptr %2, align 8, !tbaa !5
  %13865 = getelementptr inbounds %struct.PDP6, ptr %13864, i32 0, i32 34
  %13866 = load i32, ptr %13865, align 8, !tbaa !33
  %13867 = add i32 %13866, 1
  %13868 = and i32 %13867, 262143
  %13869 = load ptr, ptr %2, align 8, !tbaa !5
  %13870 = getelementptr inbounds %struct.PDP6, ptr %13869, i32 0, i32 34
  store i32 %13868, ptr %13870, align 8, !tbaa !33
  %13871 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %13871)
  br label %13872

13872:                                            ; preds = %13863, %13791
  %13873 = load ptr, ptr %2, align 8, !tbaa !5
  %13874 = getelementptr inbounds %struct.PDP6, ptr %13873, i32 0, i32 31
  %13875 = load i64, ptr %13874, align 8, !tbaa !39
  store i64 %13875, ptr %4, align 8, !tbaa !15
  %13876 = load ptr, ptr %2, align 8, !tbaa !5
  %13877 = getelementptr inbounds %struct.PDP6, ptr %13876, i32 0, i32 28
  %13878 = load i64, ptr %13877, align 8, !tbaa !34
  %13879 = load ptr, ptr %2, align 8, !tbaa !5
  %13880 = getelementptr inbounds %struct.PDP6, ptr %13879, i32 0, i32 31
  store i64 %13878, ptr %13880, align 8, !tbaa !39
  %13881 = load i64, ptr %4, align 8, !tbaa !15
  %13882 = load ptr, ptr %2, align 8, !tbaa !5
  %13883 = getelementptr inbounds %struct.PDP6, ptr %13882, i32 0, i32 28
  store i64 %13881, ptr %13883, align 8, !tbaa !34
  %13884 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13884, ptr noundef @.str.121)
  %13885 = load i64, ptr @simtime, align 8, !tbaa !15
  %13886 = add i64 %13885, 200
  store i64 %13886, ptr @simtime, align 8, !tbaa !15
  %13887 = load ptr, ptr %2, align 8, !tbaa !5
  %13888 = getelementptr inbounds %struct.PDP6, ptr %13887, i32 0, i32 28
  %13889 = load i64, ptr %13888, align 8, !tbaa !34
  %13890 = load ptr, ptr %2, align 8, !tbaa !5
  %13891 = getelementptr inbounds %struct.PDP6, ptr %13890, i32 0, i32 31
  store i64 %13889, ptr %13891, align 8, !tbaa !39
  br label %17859

13892:                                            ; preds = %17
  %13893 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13893, ptr noundef @.str.41)
  %13894 = load i64, ptr @simtime, align 8, !tbaa !15
  %13895 = add i64 %13894, 100
  store i64 %13895, ptr @simtime, align 8, !tbaa !15
  %13896 = load ptr, ptr %2, align 8, !tbaa !5
  %13897 = getelementptr inbounds %struct.PDP6, ptr %13896, i32 0, i32 31
  %13898 = load i64, ptr %13897, align 8, !tbaa !39
  %13899 = load ptr, ptr %2, align 8, !tbaa !5
  %13900 = getelementptr inbounds %struct.PDP6, ptr %13899, i32 0, i32 28
  %13901 = load i64, ptr %13900, align 8, !tbaa !34
  %13902 = and i64 %13898, %13901
  store i64 %13902, ptr %4, align 8, !tbaa !15
  %13903 = load ptr, ptr %2, align 8, !tbaa !5
  %13904 = getelementptr inbounds %struct.PDP6, ptr %13903, i32 0, i32 31
  %13905 = load i64, ptr %13904, align 8, !tbaa !39
  %13906 = load ptr, ptr %2, align 8, !tbaa !5
  %13907 = getelementptr inbounds %struct.PDP6, ptr %13906, i32 0, i32 28
  %13908 = load i64, ptr %13907, align 8, !tbaa !34
  %13909 = xor i64 %13908, %13905
  store i64 %13909, ptr %13907, align 8, !tbaa !34
  %13910 = load i64, ptr %4, align 8, !tbaa !15
  %13911 = load ptr, ptr %2, align 8, !tbaa !5
  %13912 = getelementptr inbounds %struct.PDP6, ptr %13911, i32 0, i32 31
  store i64 %13910, ptr %13912, align 8, !tbaa !39
  %13913 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13913, ptr noundef @.str.42)
  %13914 = load i64, ptr @simtime, align 8, !tbaa !15
  %13915 = add i64 %13914, 100
  store i64 %13915, ptr @simtime, align 8, !tbaa !15
  %13916 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13916, ptr noundef @.str.43)
  %13917 = load ptr, ptr %2, align 8, !tbaa !5
  %13918 = getelementptr inbounds %struct.PDP6, ptr %13917, i32 0, i32 31
  %13919 = load i64, ptr %13918, align 8, !tbaa !39
  store i64 %13919, ptr %4, align 8, !tbaa !15
  %13920 = load ptr, ptr %2, align 8, !tbaa !5
  %13921 = getelementptr inbounds %struct.PDP6, ptr %13920, i32 0, i32 28
  %13922 = load i64, ptr %13921, align 8, !tbaa !34
  %13923 = load ptr, ptr %2, align 8, !tbaa !5
  %13924 = getelementptr inbounds %struct.PDP6, ptr %13923, i32 0, i32 31
  store i64 %13922, ptr %13924, align 8, !tbaa !39
  %13925 = load i64, ptr %4, align 8, !tbaa !15
  %13926 = load ptr, ptr %2, align 8, !tbaa !5
  %13927 = getelementptr inbounds %struct.PDP6, ptr %13926, i32 0, i32 28
  store i64 %13925, ptr %13927, align 8, !tbaa !34
  %13928 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13928, ptr noundef @.str.65)
  %13929 = load i64, ptr @simtime, align 8, !tbaa !15
  %13930 = add i64 %13929, 100
  store i64 %13930, ptr @simtime, align 8, !tbaa !15
  %13931 = load ptr, ptr %2, align 8, !tbaa !5
  %13932 = getelementptr inbounds %struct.PDP6, ptr %13931, i32 0, i32 28
  %13933 = load i64, ptr %13932, align 8, !tbaa !34
  %13934 = xor i64 %13933, 68719476735
  store i64 %13934, ptr %13932, align 8, !tbaa !34
  %13935 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13935, ptr noundef @.str.122)
  %13936 = load i64, ptr @simtime, align 8, !tbaa !15
  %13937 = add i64 %13936, 100
  store i64 %13937, ptr @simtime, align 8, !tbaa !15
  %13938 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13938, ptr noundef @.str.125)
  %13939 = load i64, ptr @simtime, align 8, !tbaa !15
  %13940 = add i64 %13939, 100
  store i64 %13940, ptr @simtime, align 8, !tbaa !15
  %13941 = load ptr, ptr %2, align 8, !tbaa !5
  %13942 = getelementptr inbounds %struct.PDP6, ptr %13941, i32 0, i32 28
  %13943 = load i64, ptr %13942, align 8, !tbaa !34
  %13944 = xor i64 %13943, 68719476735
  store i64 %13944, ptr %13942, align 8, !tbaa !34
  %13945 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13945, ptr noundef @.str.126)
  %13946 = load i64, ptr @simtime, align 8, !tbaa !15
  %13947 = add i64 %13946, 100
  store i64 %13947, ptr @simtime, align 8, !tbaa !15
  %13948 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13948, ptr noundef @.str.127)
  %13949 = load i64, ptr @simtime, align 8, !tbaa !15
  %13950 = add i64 %13949, 200
  store i64 %13950, ptr @simtime, align 8, !tbaa !15
  %13951 = load ptr, ptr %2, align 8, !tbaa !5
  %13952 = getelementptr inbounds %struct.PDP6, ptr %13951, i32 0, i32 31
  %13953 = load i64, ptr %13952, align 8, !tbaa !39
  store i64 %13953, ptr %4, align 8, !tbaa !15
  %13954 = load ptr, ptr %2, align 8, !tbaa !5
  %13955 = getelementptr inbounds %struct.PDP6, ptr %13954, i32 0, i32 28
  %13956 = load i64, ptr %13955, align 8, !tbaa !34
  %13957 = load ptr, ptr %2, align 8, !tbaa !5
  %13958 = getelementptr inbounds %struct.PDP6, ptr %13957, i32 0, i32 31
  store i64 %13956, ptr %13958, align 8, !tbaa !39
  %13959 = load i64, ptr %4, align 8, !tbaa !15
  %13960 = load ptr, ptr %2, align 8, !tbaa !5
  %13961 = getelementptr inbounds %struct.PDP6, ptr %13960, i32 0, i32 28
  store i64 %13959, ptr %13961, align 8, !tbaa !34
  %13962 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13962, ptr noundef @.str.121)
  %13963 = load i64, ptr @simtime, align 8, !tbaa !15
  %13964 = add i64 %13963, 200
  store i64 %13964, ptr @simtime, align 8, !tbaa !15
  br label %17859

13965:                                            ; preds = %17
  %13966 = load ptr, ptr %2, align 8, !tbaa !5
  %13967 = getelementptr inbounds %struct.PDP6, ptr %13966, i32 0, i32 31
  %13968 = load i64, ptr %13967, align 8, !tbaa !39
  %13969 = shl i64 %13968, 18
  %13970 = load ptr, ptr %2, align 8, !tbaa !5
  %13971 = getelementptr inbounds %struct.PDP6, ptr %13970, i32 0, i32 31
  %13972 = load i64, ptr %13971, align 8, !tbaa !39
  %13973 = lshr i64 %13972, 18
  %13974 = or i64 %13969, %13973
  %13975 = and i64 %13974, 68719476735
  %13976 = load ptr, ptr %2, align 8, !tbaa !5
  %13977 = getelementptr inbounds %struct.PDP6, ptr %13976, i32 0, i32 31
  store i64 %13975, ptr %13977, align 8, !tbaa !39
  %13978 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13978, ptr noundef @.str.41)
  %13979 = load i64, ptr @simtime, align 8, !tbaa !15
  %13980 = add i64 %13979, 100
  store i64 %13980, ptr @simtime, align 8, !tbaa !15
  %13981 = load ptr, ptr %2, align 8, !tbaa !5
  %13982 = getelementptr inbounds %struct.PDP6, ptr %13981, i32 0, i32 31
  %13983 = load i64, ptr %13982, align 8, !tbaa !39
  %13984 = load ptr, ptr %2, align 8, !tbaa !5
  %13985 = getelementptr inbounds %struct.PDP6, ptr %13984, i32 0, i32 28
  %13986 = load i64, ptr %13985, align 8, !tbaa !34
  %13987 = and i64 %13983, %13986
  store i64 %13987, ptr %4, align 8, !tbaa !15
  %13988 = load ptr, ptr %2, align 8, !tbaa !5
  %13989 = getelementptr inbounds %struct.PDP6, ptr %13988, i32 0, i32 31
  %13990 = load i64, ptr %13989, align 8, !tbaa !39
  %13991 = load ptr, ptr %2, align 8, !tbaa !5
  %13992 = getelementptr inbounds %struct.PDP6, ptr %13991, i32 0, i32 28
  %13993 = load i64, ptr %13992, align 8, !tbaa !34
  %13994 = xor i64 %13993, %13990
  store i64 %13994, ptr %13992, align 8, !tbaa !34
  %13995 = load i64, ptr %4, align 8, !tbaa !15
  %13996 = load ptr, ptr %2, align 8, !tbaa !5
  %13997 = getelementptr inbounds %struct.PDP6, ptr %13996, i32 0, i32 31
  store i64 %13995, ptr %13997, align 8, !tbaa !39
  %13998 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %13998, ptr noundef @.str.42)
  %13999 = load i64, ptr @simtime, align 8, !tbaa !15
  %14000 = add i64 %13999, 100
  store i64 %14000, ptr @simtime, align 8, !tbaa !15
  %14001 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14001, ptr noundef @.str.43)
  %14002 = load ptr, ptr %2, align 8, !tbaa !5
  %14003 = getelementptr inbounds %struct.PDP6, ptr %14002, i32 0, i32 31
  %14004 = load i64, ptr %14003, align 8, !tbaa !39
  store i64 %14004, ptr %4, align 8, !tbaa !15
  %14005 = load ptr, ptr %2, align 8, !tbaa !5
  %14006 = getelementptr inbounds %struct.PDP6, ptr %14005, i32 0, i32 28
  %14007 = load i64, ptr %14006, align 8, !tbaa !34
  %14008 = load ptr, ptr %2, align 8, !tbaa !5
  %14009 = getelementptr inbounds %struct.PDP6, ptr %14008, i32 0, i32 31
  store i64 %14007, ptr %14009, align 8, !tbaa !39
  %14010 = load i64, ptr %4, align 8, !tbaa !15
  %14011 = load ptr, ptr %2, align 8, !tbaa !5
  %14012 = getelementptr inbounds %struct.PDP6, ptr %14011, i32 0, i32 28
  store i64 %14010, ptr %14012, align 8, !tbaa !34
  %14013 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14013, ptr noundef @.str.65)
  %14014 = load i64, ptr @simtime, align 8, !tbaa !15
  %14015 = add i64 %14014, 100
  store i64 %14015, ptr @simtime, align 8, !tbaa !15
  %14016 = load ptr, ptr %2, align 8, !tbaa !5
  %14017 = getelementptr inbounds %struct.PDP6, ptr %14016, i32 0, i32 28
  %14018 = load i64, ptr %14017, align 8, !tbaa !34
  %14019 = xor i64 %14018, 68719476735
  store i64 %14019, ptr %14017, align 8, !tbaa !34
  %14020 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14020, ptr noundef @.str.122)
  %14021 = load i64, ptr @simtime, align 8, !tbaa !15
  %14022 = add i64 %14021, 100
  store i64 %14022, ptr @simtime, align 8, !tbaa !15
  %14023 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14023, ptr noundef @.str.125)
  %14024 = load i64, ptr @simtime, align 8, !tbaa !15
  %14025 = add i64 %14024, 100
  store i64 %14025, ptr @simtime, align 8, !tbaa !15
  %14026 = load ptr, ptr %2, align 8, !tbaa !5
  %14027 = getelementptr inbounds %struct.PDP6, ptr %14026, i32 0, i32 28
  %14028 = load i64, ptr %14027, align 8, !tbaa !34
  %14029 = xor i64 %14028, 68719476735
  store i64 %14029, ptr %14027, align 8, !tbaa !34
  %14030 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14030, ptr noundef @.str.126)
  %14031 = load i64, ptr @simtime, align 8, !tbaa !15
  %14032 = add i64 %14031, 100
  store i64 %14032, ptr @simtime, align 8, !tbaa !15
  %14033 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14033, ptr noundef @.str.127)
  %14034 = load i64, ptr @simtime, align 8, !tbaa !15
  %14035 = add i64 %14034, 200
  store i64 %14035, ptr @simtime, align 8, !tbaa !15
  %14036 = load ptr, ptr %2, align 8, !tbaa !5
  %14037 = getelementptr inbounds %struct.PDP6, ptr %14036, i32 0, i32 31
  %14038 = load i64, ptr %14037, align 8, !tbaa !39
  store i64 %14038, ptr %4, align 8, !tbaa !15
  %14039 = load ptr, ptr %2, align 8, !tbaa !5
  %14040 = getelementptr inbounds %struct.PDP6, ptr %14039, i32 0, i32 28
  %14041 = load i64, ptr %14040, align 8, !tbaa !34
  %14042 = load ptr, ptr %2, align 8, !tbaa !5
  %14043 = getelementptr inbounds %struct.PDP6, ptr %14042, i32 0, i32 31
  store i64 %14041, ptr %14043, align 8, !tbaa !39
  %14044 = load i64, ptr %4, align 8, !tbaa !15
  %14045 = load ptr, ptr %2, align 8, !tbaa !5
  %14046 = getelementptr inbounds %struct.PDP6, ptr %14045, i32 0, i32 28
  store i64 %14044, ptr %14046, align 8, !tbaa !34
  %14047 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14047, ptr noundef @.str.121)
  %14048 = load i64, ptr @simtime, align 8, !tbaa !15
  %14049 = add i64 %14048, 200
  store i64 %14049, ptr @simtime, align 8, !tbaa !15
  br label %17859

14050:                                            ; preds = %17
  %14051 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14051, ptr noundef @.str.41)
  %14052 = load i64, ptr @simtime, align 8, !tbaa !15
  %14053 = add i64 %14052, 100
  store i64 %14053, ptr @simtime, align 8, !tbaa !15
  %14054 = load ptr, ptr %2, align 8, !tbaa !5
  %14055 = getelementptr inbounds %struct.PDP6, ptr %14054, i32 0, i32 31
  %14056 = load i64, ptr %14055, align 8, !tbaa !39
  %14057 = load ptr, ptr %2, align 8, !tbaa !5
  %14058 = getelementptr inbounds %struct.PDP6, ptr %14057, i32 0, i32 28
  %14059 = load i64, ptr %14058, align 8, !tbaa !34
  %14060 = and i64 %14056, %14059
  store i64 %14060, ptr %4, align 8, !tbaa !15
  %14061 = load ptr, ptr %2, align 8, !tbaa !5
  %14062 = getelementptr inbounds %struct.PDP6, ptr %14061, i32 0, i32 31
  %14063 = load i64, ptr %14062, align 8, !tbaa !39
  %14064 = load ptr, ptr %2, align 8, !tbaa !5
  %14065 = getelementptr inbounds %struct.PDP6, ptr %14064, i32 0, i32 28
  %14066 = load i64, ptr %14065, align 8, !tbaa !34
  %14067 = xor i64 %14066, %14063
  store i64 %14067, ptr %14065, align 8, !tbaa !34
  %14068 = load i64, ptr %4, align 8, !tbaa !15
  %14069 = load ptr, ptr %2, align 8, !tbaa !5
  %14070 = getelementptr inbounds %struct.PDP6, ptr %14069, i32 0, i32 31
  store i64 %14068, ptr %14070, align 8, !tbaa !39
  %14071 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14071, ptr noundef @.str.42)
  %14072 = load i64, ptr @simtime, align 8, !tbaa !15
  %14073 = add i64 %14072, 100
  store i64 %14073, ptr @simtime, align 8, !tbaa !15
  %14074 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14074, ptr noundef @.str.43)
  %14075 = load ptr, ptr %2, align 8, !tbaa !5
  %14076 = getelementptr inbounds %struct.PDP6, ptr %14075, i32 0, i32 31
  %14077 = load i64, ptr %14076, align 8, !tbaa !39
  store i64 %14077, ptr %4, align 8, !tbaa !15
  %14078 = load ptr, ptr %2, align 8, !tbaa !5
  %14079 = getelementptr inbounds %struct.PDP6, ptr %14078, i32 0, i32 28
  %14080 = load i64, ptr %14079, align 8, !tbaa !34
  %14081 = load ptr, ptr %2, align 8, !tbaa !5
  %14082 = getelementptr inbounds %struct.PDP6, ptr %14081, i32 0, i32 31
  store i64 %14080, ptr %14082, align 8, !tbaa !39
  %14083 = load i64, ptr %4, align 8, !tbaa !15
  %14084 = load ptr, ptr %2, align 8, !tbaa !5
  %14085 = getelementptr inbounds %struct.PDP6, ptr %14084, i32 0, i32 28
  store i64 %14083, ptr %14085, align 8, !tbaa !34
  %14086 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14086, ptr noundef @.str.65)
  %14087 = load i64, ptr @simtime, align 8, !tbaa !15
  %14088 = add i64 %14087, 100
  store i64 %14088, ptr @simtime, align 8, !tbaa !15
  %14089 = load ptr, ptr %2, align 8, !tbaa !5
  %14090 = getelementptr inbounds %struct.PDP6, ptr %14089, i32 0, i32 28
  %14091 = load i64, ptr %14090, align 8, !tbaa !34
  %14092 = xor i64 %14091, 68719476735
  store i64 %14092, ptr %14090, align 8, !tbaa !34
  %14093 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14093, ptr noundef @.str.122)
  %14094 = load i64, ptr @simtime, align 8, !tbaa !15
  %14095 = add i64 %14094, 100
  store i64 %14095, ptr @simtime, align 8, !tbaa !15
  %14096 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14096, ptr noundef @.str.125)
  %14097 = load i64, ptr @simtime, align 8, !tbaa !15
  %14098 = add i64 %14097, 100
  store i64 %14098, ptr @simtime, align 8, !tbaa !15
  %14099 = load ptr, ptr %2, align 8, !tbaa !5
  %14100 = getelementptr inbounds %struct.PDP6, ptr %14099, i32 0, i32 28
  %14101 = load i64, ptr %14100, align 8, !tbaa !34
  %14102 = xor i64 %14101, 68719476735
  store i64 %14102, ptr %14100, align 8, !tbaa !34
  %14103 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14103, ptr noundef @.str.126)
  %14104 = load i64, ptr @simtime, align 8, !tbaa !15
  %14105 = add i64 %14104, 100
  store i64 %14105, ptr @simtime, align 8, !tbaa !15
  %14106 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14106, ptr noundef @.str.127)
  %14107 = load i64, ptr @simtime, align 8, !tbaa !15
  %14108 = add i64 %14107, 200
  store i64 %14108, ptr @simtime, align 8, !tbaa !15
  %14109 = load ptr, ptr %2, align 8, !tbaa !5
  %14110 = getelementptr inbounds %struct.PDP6, ptr %14109, i32 0, i32 28
  %14111 = load i64, ptr %14110, align 8, !tbaa !34
  %14112 = icmp eq i64 %14111, 0
  br i1 %14112, label %14113, label %14122

14113:                                            ; preds = %14050
  %14114 = load ptr, ptr %2, align 8, !tbaa !5
  %14115 = getelementptr inbounds %struct.PDP6, ptr %14114, i32 0, i32 34
  %14116 = load i32, ptr %14115, align 8, !tbaa !33
  %14117 = add i32 %14116, 1
  %14118 = and i32 %14117, 262143
  %14119 = load ptr, ptr %2, align 8, !tbaa !5
  %14120 = getelementptr inbounds %struct.PDP6, ptr %14119, i32 0, i32 34
  store i32 %14118, ptr %14120, align 8, !tbaa !33
  %14121 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %14121)
  br label %14122

14122:                                            ; preds = %14113, %14050
  %14123 = load ptr, ptr %2, align 8, !tbaa !5
  %14124 = getelementptr inbounds %struct.PDP6, ptr %14123, i32 0, i32 31
  %14125 = load i64, ptr %14124, align 8, !tbaa !39
  store i64 %14125, ptr %4, align 8, !tbaa !15
  %14126 = load ptr, ptr %2, align 8, !tbaa !5
  %14127 = getelementptr inbounds %struct.PDP6, ptr %14126, i32 0, i32 28
  %14128 = load i64, ptr %14127, align 8, !tbaa !34
  %14129 = load ptr, ptr %2, align 8, !tbaa !5
  %14130 = getelementptr inbounds %struct.PDP6, ptr %14129, i32 0, i32 31
  store i64 %14128, ptr %14130, align 8, !tbaa !39
  %14131 = load i64, ptr %4, align 8, !tbaa !15
  %14132 = load ptr, ptr %2, align 8, !tbaa !5
  %14133 = getelementptr inbounds %struct.PDP6, ptr %14132, i32 0, i32 28
  store i64 %14131, ptr %14133, align 8, !tbaa !34
  %14134 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14134, ptr noundef @.str.121)
  %14135 = load i64, ptr @simtime, align 8, !tbaa !15
  %14136 = add i64 %14135, 200
  store i64 %14136, ptr @simtime, align 8, !tbaa !15
  %14137 = load ptr, ptr %2, align 8, !tbaa !5
  %14138 = getelementptr inbounds %struct.PDP6, ptr %14137, i32 0, i32 28
  %14139 = load i64, ptr %14138, align 8, !tbaa !34
  %14140 = load ptr, ptr %2, align 8, !tbaa !5
  %14141 = getelementptr inbounds %struct.PDP6, ptr %14140, i32 0, i32 31
  store i64 %14139, ptr %14141, align 8, !tbaa !39
  br label %17859

14142:                                            ; preds = %17
  %14143 = load ptr, ptr %2, align 8, !tbaa !5
  %14144 = getelementptr inbounds %struct.PDP6, ptr %14143, i32 0, i32 31
  %14145 = load i64, ptr %14144, align 8, !tbaa !39
  %14146 = shl i64 %14145, 18
  %14147 = load ptr, ptr %2, align 8, !tbaa !5
  %14148 = getelementptr inbounds %struct.PDP6, ptr %14147, i32 0, i32 31
  %14149 = load i64, ptr %14148, align 8, !tbaa !39
  %14150 = lshr i64 %14149, 18
  %14151 = or i64 %14146, %14150
  %14152 = and i64 %14151, 68719476735
  %14153 = load ptr, ptr %2, align 8, !tbaa !5
  %14154 = getelementptr inbounds %struct.PDP6, ptr %14153, i32 0, i32 31
  store i64 %14152, ptr %14154, align 8, !tbaa !39
  %14155 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14155, ptr noundef @.str.41)
  %14156 = load i64, ptr @simtime, align 8, !tbaa !15
  %14157 = add i64 %14156, 100
  store i64 %14157, ptr @simtime, align 8, !tbaa !15
  %14158 = load ptr, ptr %2, align 8, !tbaa !5
  %14159 = getelementptr inbounds %struct.PDP6, ptr %14158, i32 0, i32 31
  %14160 = load i64, ptr %14159, align 8, !tbaa !39
  %14161 = load ptr, ptr %2, align 8, !tbaa !5
  %14162 = getelementptr inbounds %struct.PDP6, ptr %14161, i32 0, i32 28
  %14163 = load i64, ptr %14162, align 8, !tbaa !34
  %14164 = and i64 %14160, %14163
  store i64 %14164, ptr %4, align 8, !tbaa !15
  %14165 = load ptr, ptr %2, align 8, !tbaa !5
  %14166 = getelementptr inbounds %struct.PDP6, ptr %14165, i32 0, i32 31
  %14167 = load i64, ptr %14166, align 8, !tbaa !39
  %14168 = load ptr, ptr %2, align 8, !tbaa !5
  %14169 = getelementptr inbounds %struct.PDP6, ptr %14168, i32 0, i32 28
  %14170 = load i64, ptr %14169, align 8, !tbaa !34
  %14171 = xor i64 %14170, %14167
  store i64 %14171, ptr %14169, align 8, !tbaa !34
  %14172 = load i64, ptr %4, align 8, !tbaa !15
  %14173 = load ptr, ptr %2, align 8, !tbaa !5
  %14174 = getelementptr inbounds %struct.PDP6, ptr %14173, i32 0, i32 31
  store i64 %14172, ptr %14174, align 8, !tbaa !39
  %14175 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14175, ptr noundef @.str.42)
  %14176 = load i64, ptr @simtime, align 8, !tbaa !15
  %14177 = add i64 %14176, 100
  store i64 %14177, ptr @simtime, align 8, !tbaa !15
  %14178 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14178, ptr noundef @.str.43)
  %14179 = load ptr, ptr %2, align 8, !tbaa !5
  %14180 = getelementptr inbounds %struct.PDP6, ptr %14179, i32 0, i32 31
  %14181 = load i64, ptr %14180, align 8, !tbaa !39
  store i64 %14181, ptr %4, align 8, !tbaa !15
  %14182 = load ptr, ptr %2, align 8, !tbaa !5
  %14183 = getelementptr inbounds %struct.PDP6, ptr %14182, i32 0, i32 28
  %14184 = load i64, ptr %14183, align 8, !tbaa !34
  %14185 = load ptr, ptr %2, align 8, !tbaa !5
  %14186 = getelementptr inbounds %struct.PDP6, ptr %14185, i32 0, i32 31
  store i64 %14184, ptr %14186, align 8, !tbaa !39
  %14187 = load i64, ptr %4, align 8, !tbaa !15
  %14188 = load ptr, ptr %2, align 8, !tbaa !5
  %14189 = getelementptr inbounds %struct.PDP6, ptr %14188, i32 0, i32 28
  store i64 %14187, ptr %14189, align 8, !tbaa !34
  %14190 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14190, ptr noundef @.str.65)
  %14191 = load i64, ptr @simtime, align 8, !tbaa !15
  %14192 = add i64 %14191, 100
  store i64 %14192, ptr @simtime, align 8, !tbaa !15
  %14193 = load ptr, ptr %2, align 8, !tbaa !5
  %14194 = getelementptr inbounds %struct.PDP6, ptr %14193, i32 0, i32 28
  %14195 = load i64, ptr %14194, align 8, !tbaa !34
  %14196 = xor i64 %14195, 68719476735
  store i64 %14196, ptr %14194, align 8, !tbaa !34
  %14197 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14197, ptr noundef @.str.122)
  %14198 = load i64, ptr @simtime, align 8, !tbaa !15
  %14199 = add i64 %14198, 100
  store i64 %14199, ptr @simtime, align 8, !tbaa !15
  %14200 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14200, ptr noundef @.str.125)
  %14201 = load i64, ptr @simtime, align 8, !tbaa !15
  %14202 = add i64 %14201, 100
  store i64 %14202, ptr @simtime, align 8, !tbaa !15
  %14203 = load ptr, ptr %2, align 8, !tbaa !5
  %14204 = getelementptr inbounds %struct.PDP6, ptr %14203, i32 0, i32 28
  %14205 = load i64, ptr %14204, align 8, !tbaa !34
  %14206 = xor i64 %14205, 68719476735
  store i64 %14206, ptr %14204, align 8, !tbaa !34
  %14207 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14207, ptr noundef @.str.126)
  %14208 = load i64, ptr @simtime, align 8, !tbaa !15
  %14209 = add i64 %14208, 100
  store i64 %14209, ptr @simtime, align 8, !tbaa !15
  %14210 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14210, ptr noundef @.str.127)
  %14211 = load i64, ptr @simtime, align 8, !tbaa !15
  %14212 = add i64 %14211, 200
  store i64 %14212, ptr @simtime, align 8, !tbaa !15
  %14213 = load ptr, ptr %2, align 8, !tbaa !5
  %14214 = getelementptr inbounds %struct.PDP6, ptr %14213, i32 0, i32 28
  %14215 = load i64, ptr %14214, align 8, !tbaa !34
  %14216 = icmp eq i64 %14215, 0
  br i1 %14216, label %14217, label %14226

14217:                                            ; preds = %14142
  %14218 = load ptr, ptr %2, align 8, !tbaa !5
  %14219 = getelementptr inbounds %struct.PDP6, ptr %14218, i32 0, i32 34
  %14220 = load i32, ptr %14219, align 8, !tbaa !33
  %14221 = add i32 %14220, 1
  %14222 = and i32 %14221, 262143
  %14223 = load ptr, ptr %2, align 8, !tbaa !5
  %14224 = getelementptr inbounds %struct.PDP6, ptr %14223, i32 0, i32 34
  store i32 %14222, ptr %14224, align 8, !tbaa !33
  %14225 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %14225)
  br label %14226

14226:                                            ; preds = %14217, %14142
  %14227 = load ptr, ptr %2, align 8, !tbaa !5
  %14228 = getelementptr inbounds %struct.PDP6, ptr %14227, i32 0, i32 31
  %14229 = load i64, ptr %14228, align 8, !tbaa !39
  store i64 %14229, ptr %4, align 8, !tbaa !15
  %14230 = load ptr, ptr %2, align 8, !tbaa !5
  %14231 = getelementptr inbounds %struct.PDP6, ptr %14230, i32 0, i32 28
  %14232 = load i64, ptr %14231, align 8, !tbaa !34
  %14233 = load ptr, ptr %2, align 8, !tbaa !5
  %14234 = getelementptr inbounds %struct.PDP6, ptr %14233, i32 0, i32 31
  store i64 %14232, ptr %14234, align 8, !tbaa !39
  %14235 = load i64, ptr %4, align 8, !tbaa !15
  %14236 = load ptr, ptr %2, align 8, !tbaa !5
  %14237 = getelementptr inbounds %struct.PDP6, ptr %14236, i32 0, i32 28
  store i64 %14235, ptr %14237, align 8, !tbaa !34
  %14238 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14238, ptr noundef @.str.121)
  %14239 = load i64, ptr @simtime, align 8, !tbaa !15
  %14240 = add i64 %14239, 200
  store i64 %14240, ptr @simtime, align 8, !tbaa !15
  %14241 = load ptr, ptr %2, align 8, !tbaa !5
  %14242 = getelementptr inbounds %struct.PDP6, ptr %14241, i32 0, i32 28
  %14243 = load i64, ptr %14242, align 8, !tbaa !34
  %14244 = load ptr, ptr %2, align 8, !tbaa !5
  %14245 = getelementptr inbounds %struct.PDP6, ptr %14244, i32 0, i32 31
  store i64 %14243, ptr %14245, align 8, !tbaa !39
  br label %17859

14246:                                            ; preds = %17
  %14247 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14247, ptr noundef @.str.41)
  %14248 = load i64, ptr @simtime, align 8, !tbaa !15
  %14249 = add i64 %14248, 100
  store i64 %14249, ptr @simtime, align 8, !tbaa !15
  %14250 = load ptr, ptr %2, align 8, !tbaa !5
  %14251 = getelementptr inbounds %struct.PDP6, ptr %14250, i32 0, i32 31
  %14252 = load i64, ptr %14251, align 8, !tbaa !39
  %14253 = load ptr, ptr %2, align 8, !tbaa !5
  %14254 = getelementptr inbounds %struct.PDP6, ptr %14253, i32 0, i32 28
  %14255 = load i64, ptr %14254, align 8, !tbaa !34
  %14256 = and i64 %14252, %14255
  store i64 %14256, ptr %4, align 8, !tbaa !15
  %14257 = load ptr, ptr %2, align 8, !tbaa !5
  %14258 = getelementptr inbounds %struct.PDP6, ptr %14257, i32 0, i32 31
  %14259 = load i64, ptr %14258, align 8, !tbaa !39
  %14260 = load ptr, ptr %2, align 8, !tbaa !5
  %14261 = getelementptr inbounds %struct.PDP6, ptr %14260, i32 0, i32 28
  %14262 = load i64, ptr %14261, align 8, !tbaa !34
  %14263 = xor i64 %14262, %14259
  store i64 %14263, ptr %14261, align 8, !tbaa !34
  %14264 = load i64, ptr %4, align 8, !tbaa !15
  %14265 = load ptr, ptr %2, align 8, !tbaa !5
  %14266 = getelementptr inbounds %struct.PDP6, ptr %14265, i32 0, i32 31
  store i64 %14264, ptr %14266, align 8, !tbaa !39
  %14267 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14267, ptr noundef @.str.42)
  %14268 = load i64, ptr @simtime, align 8, !tbaa !15
  %14269 = add i64 %14268, 100
  store i64 %14269, ptr @simtime, align 8, !tbaa !15
  %14270 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14270, ptr noundef @.str.43)
  %14271 = load ptr, ptr %2, align 8, !tbaa !5
  %14272 = getelementptr inbounds %struct.PDP6, ptr %14271, i32 0, i32 31
  %14273 = load i64, ptr %14272, align 8, !tbaa !39
  store i64 %14273, ptr %4, align 8, !tbaa !15
  %14274 = load ptr, ptr %2, align 8, !tbaa !5
  %14275 = getelementptr inbounds %struct.PDP6, ptr %14274, i32 0, i32 28
  %14276 = load i64, ptr %14275, align 8, !tbaa !34
  %14277 = load ptr, ptr %2, align 8, !tbaa !5
  %14278 = getelementptr inbounds %struct.PDP6, ptr %14277, i32 0, i32 31
  store i64 %14276, ptr %14278, align 8, !tbaa !39
  %14279 = load i64, ptr %4, align 8, !tbaa !15
  %14280 = load ptr, ptr %2, align 8, !tbaa !5
  %14281 = getelementptr inbounds %struct.PDP6, ptr %14280, i32 0, i32 28
  store i64 %14279, ptr %14281, align 8, !tbaa !34
  %14282 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14282, ptr noundef @.str.65)
  %14283 = load i64, ptr @simtime, align 8, !tbaa !15
  %14284 = add i64 %14283, 100
  store i64 %14284, ptr @simtime, align 8, !tbaa !15
  %14285 = load ptr, ptr %2, align 8, !tbaa !5
  %14286 = getelementptr inbounds %struct.PDP6, ptr %14285, i32 0, i32 28
  %14287 = load i64, ptr %14286, align 8, !tbaa !34
  %14288 = xor i64 %14287, 68719476735
  store i64 %14288, ptr %14286, align 8, !tbaa !34
  %14289 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14289, ptr noundef @.str.122)
  %14290 = load i64, ptr @simtime, align 8, !tbaa !15
  %14291 = add i64 %14290, 100
  store i64 %14291, ptr @simtime, align 8, !tbaa !15
  %14292 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14292, ptr noundef @.str.125)
  %14293 = load i64, ptr @simtime, align 8, !tbaa !15
  %14294 = add i64 %14293, 100
  store i64 %14294, ptr @simtime, align 8, !tbaa !15
  %14295 = load ptr, ptr %2, align 8, !tbaa !5
  %14296 = getelementptr inbounds %struct.PDP6, ptr %14295, i32 0, i32 28
  %14297 = load i64, ptr %14296, align 8, !tbaa !34
  %14298 = xor i64 %14297, 68719476735
  store i64 %14298, ptr %14296, align 8, !tbaa !34
  %14299 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14299, ptr noundef @.str.126)
  %14300 = load i64, ptr @simtime, align 8, !tbaa !15
  %14301 = add i64 %14300, 100
  store i64 %14301, ptr @simtime, align 8, !tbaa !15
  %14302 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14302, ptr noundef @.str.127)
  %14303 = load i64, ptr @simtime, align 8, !tbaa !15
  %14304 = add i64 %14303, 200
  store i64 %14304, ptr @simtime, align 8, !tbaa !15
  %14305 = load ptr, ptr %2, align 8, !tbaa !5
  %14306 = getelementptr inbounds %struct.PDP6, ptr %14305, i32 0, i32 34
  %14307 = load i32, ptr %14306, align 8, !tbaa !33
  %14308 = add i32 %14307, 1
  %14309 = and i32 %14308, 262143
  %14310 = load ptr, ptr %2, align 8, !tbaa !5
  %14311 = getelementptr inbounds %struct.PDP6, ptr %14310, i32 0, i32 34
  store i32 %14309, ptr %14311, align 8, !tbaa !33
  %14312 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %14312)
  %14313 = load ptr, ptr %2, align 8, !tbaa !5
  %14314 = getelementptr inbounds %struct.PDP6, ptr %14313, i32 0, i32 31
  %14315 = load i64, ptr %14314, align 8, !tbaa !39
  store i64 %14315, ptr %4, align 8, !tbaa !15
  %14316 = load ptr, ptr %2, align 8, !tbaa !5
  %14317 = getelementptr inbounds %struct.PDP6, ptr %14316, i32 0, i32 28
  %14318 = load i64, ptr %14317, align 8, !tbaa !34
  %14319 = load ptr, ptr %2, align 8, !tbaa !5
  %14320 = getelementptr inbounds %struct.PDP6, ptr %14319, i32 0, i32 31
  store i64 %14318, ptr %14320, align 8, !tbaa !39
  %14321 = load i64, ptr %4, align 8, !tbaa !15
  %14322 = load ptr, ptr %2, align 8, !tbaa !5
  %14323 = getelementptr inbounds %struct.PDP6, ptr %14322, i32 0, i32 28
  store i64 %14321, ptr %14323, align 8, !tbaa !34
  %14324 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14324, ptr noundef @.str.121)
  %14325 = load i64, ptr @simtime, align 8, !tbaa !15
  %14326 = add i64 %14325, 200
  store i64 %14326, ptr @simtime, align 8, !tbaa !15
  br label %17859

14327:                                            ; preds = %17
  %14328 = load ptr, ptr %2, align 8, !tbaa !5
  %14329 = getelementptr inbounds %struct.PDP6, ptr %14328, i32 0, i32 31
  %14330 = load i64, ptr %14329, align 8, !tbaa !39
  %14331 = shl i64 %14330, 18
  %14332 = load ptr, ptr %2, align 8, !tbaa !5
  %14333 = getelementptr inbounds %struct.PDP6, ptr %14332, i32 0, i32 31
  %14334 = load i64, ptr %14333, align 8, !tbaa !39
  %14335 = lshr i64 %14334, 18
  %14336 = or i64 %14331, %14335
  %14337 = and i64 %14336, 68719476735
  %14338 = load ptr, ptr %2, align 8, !tbaa !5
  %14339 = getelementptr inbounds %struct.PDP6, ptr %14338, i32 0, i32 31
  store i64 %14337, ptr %14339, align 8, !tbaa !39
  %14340 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14340, ptr noundef @.str.41)
  %14341 = load i64, ptr @simtime, align 8, !tbaa !15
  %14342 = add i64 %14341, 100
  store i64 %14342, ptr @simtime, align 8, !tbaa !15
  %14343 = load ptr, ptr %2, align 8, !tbaa !5
  %14344 = getelementptr inbounds %struct.PDP6, ptr %14343, i32 0, i32 31
  %14345 = load i64, ptr %14344, align 8, !tbaa !39
  %14346 = load ptr, ptr %2, align 8, !tbaa !5
  %14347 = getelementptr inbounds %struct.PDP6, ptr %14346, i32 0, i32 28
  %14348 = load i64, ptr %14347, align 8, !tbaa !34
  %14349 = and i64 %14345, %14348
  store i64 %14349, ptr %4, align 8, !tbaa !15
  %14350 = load ptr, ptr %2, align 8, !tbaa !5
  %14351 = getelementptr inbounds %struct.PDP6, ptr %14350, i32 0, i32 31
  %14352 = load i64, ptr %14351, align 8, !tbaa !39
  %14353 = load ptr, ptr %2, align 8, !tbaa !5
  %14354 = getelementptr inbounds %struct.PDP6, ptr %14353, i32 0, i32 28
  %14355 = load i64, ptr %14354, align 8, !tbaa !34
  %14356 = xor i64 %14355, %14352
  store i64 %14356, ptr %14354, align 8, !tbaa !34
  %14357 = load i64, ptr %4, align 8, !tbaa !15
  %14358 = load ptr, ptr %2, align 8, !tbaa !5
  %14359 = getelementptr inbounds %struct.PDP6, ptr %14358, i32 0, i32 31
  store i64 %14357, ptr %14359, align 8, !tbaa !39
  %14360 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14360, ptr noundef @.str.42)
  %14361 = load i64, ptr @simtime, align 8, !tbaa !15
  %14362 = add i64 %14361, 100
  store i64 %14362, ptr @simtime, align 8, !tbaa !15
  %14363 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14363, ptr noundef @.str.43)
  %14364 = load ptr, ptr %2, align 8, !tbaa !5
  %14365 = getelementptr inbounds %struct.PDP6, ptr %14364, i32 0, i32 31
  %14366 = load i64, ptr %14365, align 8, !tbaa !39
  store i64 %14366, ptr %4, align 8, !tbaa !15
  %14367 = load ptr, ptr %2, align 8, !tbaa !5
  %14368 = getelementptr inbounds %struct.PDP6, ptr %14367, i32 0, i32 28
  %14369 = load i64, ptr %14368, align 8, !tbaa !34
  %14370 = load ptr, ptr %2, align 8, !tbaa !5
  %14371 = getelementptr inbounds %struct.PDP6, ptr %14370, i32 0, i32 31
  store i64 %14369, ptr %14371, align 8, !tbaa !39
  %14372 = load i64, ptr %4, align 8, !tbaa !15
  %14373 = load ptr, ptr %2, align 8, !tbaa !5
  %14374 = getelementptr inbounds %struct.PDP6, ptr %14373, i32 0, i32 28
  store i64 %14372, ptr %14374, align 8, !tbaa !34
  %14375 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14375, ptr noundef @.str.65)
  %14376 = load i64, ptr @simtime, align 8, !tbaa !15
  %14377 = add i64 %14376, 100
  store i64 %14377, ptr @simtime, align 8, !tbaa !15
  %14378 = load ptr, ptr %2, align 8, !tbaa !5
  %14379 = getelementptr inbounds %struct.PDP6, ptr %14378, i32 0, i32 28
  %14380 = load i64, ptr %14379, align 8, !tbaa !34
  %14381 = xor i64 %14380, 68719476735
  store i64 %14381, ptr %14379, align 8, !tbaa !34
  %14382 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14382, ptr noundef @.str.122)
  %14383 = load i64, ptr @simtime, align 8, !tbaa !15
  %14384 = add i64 %14383, 100
  store i64 %14384, ptr @simtime, align 8, !tbaa !15
  %14385 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14385, ptr noundef @.str.125)
  %14386 = load i64, ptr @simtime, align 8, !tbaa !15
  %14387 = add i64 %14386, 100
  store i64 %14387, ptr @simtime, align 8, !tbaa !15
  %14388 = load ptr, ptr %2, align 8, !tbaa !5
  %14389 = getelementptr inbounds %struct.PDP6, ptr %14388, i32 0, i32 28
  %14390 = load i64, ptr %14389, align 8, !tbaa !34
  %14391 = xor i64 %14390, 68719476735
  store i64 %14391, ptr %14389, align 8, !tbaa !34
  %14392 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14392, ptr noundef @.str.126)
  %14393 = load i64, ptr @simtime, align 8, !tbaa !15
  %14394 = add i64 %14393, 100
  store i64 %14394, ptr @simtime, align 8, !tbaa !15
  %14395 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14395, ptr noundef @.str.127)
  %14396 = load i64, ptr @simtime, align 8, !tbaa !15
  %14397 = add i64 %14396, 200
  store i64 %14397, ptr @simtime, align 8, !tbaa !15
  %14398 = load ptr, ptr %2, align 8, !tbaa !5
  %14399 = getelementptr inbounds %struct.PDP6, ptr %14398, i32 0, i32 34
  %14400 = load i32, ptr %14399, align 8, !tbaa !33
  %14401 = add i32 %14400, 1
  %14402 = and i32 %14401, 262143
  %14403 = load ptr, ptr %2, align 8, !tbaa !5
  %14404 = getelementptr inbounds %struct.PDP6, ptr %14403, i32 0, i32 34
  store i32 %14402, ptr %14404, align 8, !tbaa !33
  %14405 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %14405)
  %14406 = load ptr, ptr %2, align 8, !tbaa !5
  %14407 = getelementptr inbounds %struct.PDP6, ptr %14406, i32 0, i32 31
  %14408 = load i64, ptr %14407, align 8, !tbaa !39
  store i64 %14408, ptr %4, align 8, !tbaa !15
  %14409 = load ptr, ptr %2, align 8, !tbaa !5
  %14410 = getelementptr inbounds %struct.PDP6, ptr %14409, i32 0, i32 28
  %14411 = load i64, ptr %14410, align 8, !tbaa !34
  %14412 = load ptr, ptr %2, align 8, !tbaa !5
  %14413 = getelementptr inbounds %struct.PDP6, ptr %14412, i32 0, i32 31
  store i64 %14411, ptr %14413, align 8, !tbaa !39
  %14414 = load i64, ptr %4, align 8, !tbaa !15
  %14415 = load ptr, ptr %2, align 8, !tbaa !5
  %14416 = getelementptr inbounds %struct.PDP6, ptr %14415, i32 0, i32 28
  store i64 %14414, ptr %14416, align 8, !tbaa !34
  %14417 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14417, ptr noundef @.str.121)
  %14418 = load i64, ptr @simtime, align 8, !tbaa !15
  %14419 = add i64 %14418, 200
  store i64 %14419, ptr @simtime, align 8, !tbaa !15
  br label %17859

14420:                                            ; preds = %17
  %14421 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14421, ptr noundef @.str.41)
  %14422 = load i64, ptr @simtime, align 8, !tbaa !15
  %14423 = add i64 %14422, 100
  store i64 %14423, ptr @simtime, align 8, !tbaa !15
  %14424 = load ptr, ptr %2, align 8, !tbaa !5
  %14425 = getelementptr inbounds %struct.PDP6, ptr %14424, i32 0, i32 31
  %14426 = load i64, ptr %14425, align 8, !tbaa !39
  %14427 = load ptr, ptr %2, align 8, !tbaa !5
  %14428 = getelementptr inbounds %struct.PDP6, ptr %14427, i32 0, i32 28
  %14429 = load i64, ptr %14428, align 8, !tbaa !34
  %14430 = and i64 %14426, %14429
  store i64 %14430, ptr %4, align 8, !tbaa !15
  %14431 = load ptr, ptr %2, align 8, !tbaa !5
  %14432 = getelementptr inbounds %struct.PDP6, ptr %14431, i32 0, i32 31
  %14433 = load i64, ptr %14432, align 8, !tbaa !39
  %14434 = load ptr, ptr %2, align 8, !tbaa !5
  %14435 = getelementptr inbounds %struct.PDP6, ptr %14434, i32 0, i32 28
  %14436 = load i64, ptr %14435, align 8, !tbaa !34
  %14437 = xor i64 %14436, %14433
  store i64 %14437, ptr %14435, align 8, !tbaa !34
  %14438 = load i64, ptr %4, align 8, !tbaa !15
  %14439 = load ptr, ptr %2, align 8, !tbaa !5
  %14440 = getelementptr inbounds %struct.PDP6, ptr %14439, i32 0, i32 31
  store i64 %14438, ptr %14440, align 8, !tbaa !39
  %14441 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14441, ptr noundef @.str.42)
  %14442 = load i64, ptr @simtime, align 8, !tbaa !15
  %14443 = add i64 %14442, 100
  store i64 %14443, ptr @simtime, align 8, !tbaa !15
  %14444 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14444, ptr noundef @.str.43)
  %14445 = load ptr, ptr %2, align 8, !tbaa !5
  %14446 = getelementptr inbounds %struct.PDP6, ptr %14445, i32 0, i32 31
  %14447 = load i64, ptr %14446, align 8, !tbaa !39
  store i64 %14447, ptr %4, align 8, !tbaa !15
  %14448 = load ptr, ptr %2, align 8, !tbaa !5
  %14449 = getelementptr inbounds %struct.PDP6, ptr %14448, i32 0, i32 28
  %14450 = load i64, ptr %14449, align 8, !tbaa !34
  %14451 = load ptr, ptr %2, align 8, !tbaa !5
  %14452 = getelementptr inbounds %struct.PDP6, ptr %14451, i32 0, i32 31
  store i64 %14450, ptr %14452, align 8, !tbaa !39
  %14453 = load i64, ptr %4, align 8, !tbaa !15
  %14454 = load ptr, ptr %2, align 8, !tbaa !5
  %14455 = getelementptr inbounds %struct.PDP6, ptr %14454, i32 0, i32 28
  store i64 %14453, ptr %14455, align 8, !tbaa !34
  %14456 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14456, ptr noundef @.str.65)
  %14457 = load i64, ptr @simtime, align 8, !tbaa !15
  %14458 = add i64 %14457, 100
  store i64 %14458, ptr @simtime, align 8, !tbaa !15
  %14459 = load ptr, ptr %2, align 8, !tbaa !5
  %14460 = getelementptr inbounds %struct.PDP6, ptr %14459, i32 0, i32 28
  %14461 = load i64, ptr %14460, align 8, !tbaa !34
  %14462 = xor i64 %14461, 68719476735
  store i64 %14462, ptr %14460, align 8, !tbaa !34
  %14463 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14463, ptr noundef @.str.122)
  %14464 = load i64, ptr @simtime, align 8, !tbaa !15
  %14465 = add i64 %14464, 100
  store i64 %14465, ptr @simtime, align 8, !tbaa !15
  %14466 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14466, ptr noundef @.str.125)
  %14467 = load i64, ptr @simtime, align 8, !tbaa !15
  %14468 = add i64 %14467, 100
  store i64 %14468, ptr @simtime, align 8, !tbaa !15
  %14469 = load ptr, ptr %2, align 8, !tbaa !5
  %14470 = getelementptr inbounds %struct.PDP6, ptr %14469, i32 0, i32 28
  %14471 = load i64, ptr %14470, align 8, !tbaa !34
  %14472 = xor i64 %14471, 68719476735
  store i64 %14472, ptr %14470, align 8, !tbaa !34
  %14473 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14473, ptr noundef @.str.126)
  %14474 = load i64, ptr @simtime, align 8, !tbaa !15
  %14475 = add i64 %14474, 100
  store i64 %14475, ptr @simtime, align 8, !tbaa !15
  %14476 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14476, ptr noundef @.str.127)
  %14477 = load i64, ptr @simtime, align 8, !tbaa !15
  %14478 = add i64 %14477, 200
  store i64 %14478, ptr @simtime, align 8, !tbaa !15
  %14479 = load ptr, ptr %2, align 8, !tbaa !5
  %14480 = getelementptr inbounds %struct.PDP6, ptr %14479, i32 0, i32 28
  %14481 = load i64, ptr %14480, align 8, !tbaa !34
  %14482 = icmp eq i64 %14481, 0
  br i1 %14482, label %14492, label %14483

14483:                                            ; preds = %14420
  %14484 = load ptr, ptr %2, align 8, !tbaa !5
  %14485 = getelementptr inbounds %struct.PDP6, ptr %14484, i32 0, i32 34
  %14486 = load i32, ptr %14485, align 8, !tbaa !33
  %14487 = add i32 %14486, 1
  %14488 = and i32 %14487, 262143
  %14489 = load ptr, ptr %2, align 8, !tbaa !5
  %14490 = getelementptr inbounds %struct.PDP6, ptr %14489, i32 0, i32 34
  store i32 %14488, ptr %14490, align 8, !tbaa !33
  %14491 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %14491)
  br label %14492

14492:                                            ; preds = %14483, %14420
  %14493 = load ptr, ptr %2, align 8, !tbaa !5
  %14494 = getelementptr inbounds %struct.PDP6, ptr %14493, i32 0, i32 31
  %14495 = load i64, ptr %14494, align 8, !tbaa !39
  store i64 %14495, ptr %4, align 8, !tbaa !15
  %14496 = load ptr, ptr %2, align 8, !tbaa !5
  %14497 = getelementptr inbounds %struct.PDP6, ptr %14496, i32 0, i32 28
  %14498 = load i64, ptr %14497, align 8, !tbaa !34
  %14499 = load ptr, ptr %2, align 8, !tbaa !5
  %14500 = getelementptr inbounds %struct.PDP6, ptr %14499, i32 0, i32 31
  store i64 %14498, ptr %14500, align 8, !tbaa !39
  %14501 = load i64, ptr %4, align 8, !tbaa !15
  %14502 = load ptr, ptr %2, align 8, !tbaa !5
  %14503 = getelementptr inbounds %struct.PDP6, ptr %14502, i32 0, i32 28
  store i64 %14501, ptr %14503, align 8, !tbaa !34
  %14504 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14504, ptr noundef @.str.121)
  %14505 = load i64, ptr @simtime, align 8, !tbaa !15
  %14506 = add i64 %14505, 200
  store i64 %14506, ptr @simtime, align 8, !tbaa !15
  %14507 = load ptr, ptr %2, align 8, !tbaa !5
  %14508 = getelementptr inbounds %struct.PDP6, ptr %14507, i32 0, i32 28
  %14509 = load i64, ptr %14508, align 8, !tbaa !34
  %14510 = load ptr, ptr %2, align 8, !tbaa !5
  %14511 = getelementptr inbounds %struct.PDP6, ptr %14510, i32 0, i32 31
  store i64 %14509, ptr %14511, align 8, !tbaa !39
  br label %17859

14512:                                            ; preds = %17
  %14513 = load ptr, ptr %2, align 8, !tbaa !5
  %14514 = getelementptr inbounds %struct.PDP6, ptr %14513, i32 0, i32 31
  %14515 = load i64, ptr %14514, align 8, !tbaa !39
  %14516 = shl i64 %14515, 18
  %14517 = load ptr, ptr %2, align 8, !tbaa !5
  %14518 = getelementptr inbounds %struct.PDP6, ptr %14517, i32 0, i32 31
  %14519 = load i64, ptr %14518, align 8, !tbaa !39
  %14520 = lshr i64 %14519, 18
  %14521 = or i64 %14516, %14520
  %14522 = and i64 %14521, 68719476735
  %14523 = load ptr, ptr %2, align 8, !tbaa !5
  %14524 = getelementptr inbounds %struct.PDP6, ptr %14523, i32 0, i32 31
  store i64 %14522, ptr %14524, align 8, !tbaa !39
  %14525 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14525, ptr noundef @.str.41)
  %14526 = load i64, ptr @simtime, align 8, !tbaa !15
  %14527 = add i64 %14526, 100
  store i64 %14527, ptr @simtime, align 8, !tbaa !15
  %14528 = load ptr, ptr %2, align 8, !tbaa !5
  %14529 = getelementptr inbounds %struct.PDP6, ptr %14528, i32 0, i32 31
  %14530 = load i64, ptr %14529, align 8, !tbaa !39
  %14531 = load ptr, ptr %2, align 8, !tbaa !5
  %14532 = getelementptr inbounds %struct.PDP6, ptr %14531, i32 0, i32 28
  %14533 = load i64, ptr %14532, align 8, !tbaa !34
  %14534 = and i64 %14530, %14533
  store i64 %14534, ptr %4, align 8, !tbaa !15
  %14535 = load ptr, ptr %2, align 8, !tbaa !5
  %14536 = getelementptr inbounds %struct.PDP6, ptr %14535, i32 0, i32 31
  %14537 = load i64, ptr %14536, align 8, !tbaa !39
  %14538 = load ptr, ptr %2, align 8, !tbaa !5
  %14539 = getelementptr inbounds %struct.PDP6, ptr %14538, i32 0, i32 28
  %14540 = load i64, ptr %14539, align 8, !tbaa !34
  %14541 = xor i64 %14540, %14537
  store i64 %14541, ptr %14539, align 8, !tbaa !34
  %14542 = load i64, ptr %4, align 8, !tbaa !15
  %14543 = load ptr, ptr %2, align 8, !tbaa !5
  %14544 = getelementptr inbounds %struct.PDP6, ptr %14543, i32 0, i32 31
  store i64 %14542, ptr %14544, align 8, !tbaa !39
  %14545 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14545, ptr noundef @.str.42)
  %14546 = load i64, ptr @simtime, align 8, !tbaa !15
  %14547 = add i64 %14546, 100
  store i64 %14547, ptr @simtime, align 8, !tbaa !15
  %14548 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14548, ptr noundef @.str.43)
  %14549 = load ptr, ptr %2, align 8, !tbaa !5
  %14550 = getelementptr inbounds %struct.PDP6, ptr %14549, i32 0, i32 31
  %14551 = load i64, ptr %14550, align 8, !tbaa !39
  store i64 %14551, ptr %4, align 8, !tbaa !15
  %14552 = load ptr, ptr %2, align 8, !tbaa !5
  %14553 = getelementptr inbounds %struct.PDP6, ptr %14552, i32 0, i32 28
  %14554 = load i64, ptr %14553, align 8, !tbaa !34
  %14555 = load ptr, ptr %2, align 8, !tbaa !5
  %14556 = getelementptr inbounds %struct.PDP6, ptr %14555, i32 0, i32 31
  store i64 %14554, ptr %14556, align 8, !tbaa !39
  %14557 = load i64, ptr %4, align 8, !tbaa !15
  %14558 = load ptr, ptr %2, align 8, !tbaa !5
  %14559 = getelementptr inbounds %struct.PDP6, ptr %14558, i32 0, i32 28
  store i64 %14557, ptr %14559, align 8, !tbaa !34
  %14560 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14560, ptr noundef @.str.65)
  %14561 = load i64, ptr @simtime, align 8, !tbaa !15
  %14562 = add i64 %14561, 100
  store i64 %14562, ptr @simtime, align 8, !tbaa !15
  %14563 = load ptr, ptr %2, align 8, !tbaa !5
  %14564 = getelementptr inbounds %struct.PDP6, ptr %14563, i32 0, i32 28
  %14565 = load i64, ptr %14564, align 8, !tbaa !34
  %14566 = xor i64 %14565, 68719476735
  store i64 %14566, ptr %14564, align 8, !tbaa !34
  %14567 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14567, ptr noundef @.str.122)
  %14568 = load i64, ptr @simtime, align 8, !tbaa !15
  %14569 = add i64 %14568, 100
  store i64 %14569, ptr @simtime, align 8, !tbaa !15
  %14570 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14570, ptr noundef @.str.125)
  %14571 = load i64, ptr @simtime, align 8, !tbaa !15
  %14572 = add i64 %14571, 100
  store i64 %14572, ptr @simtime, align 8, !tbaa !15
  %14573 = load ptr, ptr %2, align 8, !tbaa !5
  %14574 = getelementptr inbounds %struct.PDP6, ptr %14573, i32 0, i32 28
  %14575 = load i64, ptr %14574, align 8, !tbaa !34
  %14576 = xor i64 %14575, 68719476735
  store i64 %14576, ptr %14574, align 8, !tbaa !34
  %14577 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14577, ptr noundef @.str.126)
  %14578 = load i64, ptr @simtime, align 8, !tbaa !15
  %14579 = add i64 %14578, 100
  store i64 %14579, ptr @simtime, align 8, !tbaa !15
  %14580 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14580, ptr noundef @.str.127)
  %14581 = load i64, ptr @simtime, align 8, !tbaa !15
  %14582 = add i64 %14581, 200
  store i64 %14582, ptr @simtime, align 8, !tbaa !15
  %14583 = load ptr, ptr %2, align 8, !tbaa !5
  %14584 = getelementptr inbounds %struct.PDP6, ptr %14583, i32 0, i32 28
  %14585 = load i64, ptr %14584, align 8, !tbaa !34
  %14586 = icmp eq i64 %14585, 0
  br i1 %14586, label %14596, label %14587

14587:                                            ; preds = %14512
  %14588 = load ptr, ptr %2, align 8, !tbaa !5
  %14589 = getelementptr inbounds %struct.PDP6, ptr %14588, i32 0, i32 34
  %14590 = load i32, ptr %14589, align 8, !tbaa !33
  %14591 = add i32 %14590, 1
  %14592 = and i32 %14591, 262143
  %14593 = load ptr, ptr %2, align 8, !tbaa !5
  %14594 = getelementptr inbounds %struct.PDP6, ptr %14593, i32 0, i32 34
  store i32 %14592, ptr %14594, align 8, !tbaa !33
  %14595 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %14595)
  br label %14596

14596:                                            ; preds = %14587, %14512
  %14597 = load ptr, ptr %2, align 8, !tbaa !5
  %14598 = getelementptr inbounds %struct.PDP6, ptr %14597, i32 0, i32 31
  %14599 = load i64, ptr %14598, align 8, !tbaa !39
  store i64 %14599, ptr %4, align 8, !tbaa !15
  %14600 = load ptr, ptr %2, align 8, !tbaa !5
  %14601 = getelementptr inbounds %struct.PDP6, ptr %14600, i32 0, i32 28
  %14602 = load i64, ptr %14601, align 8, !tbaa !34
  %14603 = load ptr, ptr %2, align 8, !tbaa !5
  %14604 = getelementptr inbounds %struct.PDP6, ptr %14603, i32 0, i32 31
  store i64 %14602, ptr %14604, align 8, !tbaa !39
  %14605 = load i64, ptr %4, align 8, !tbaa !15
  %14606 = load ptr, ptr %2, align 8, !tbaa !5
  %14607 = getelementptr inbounds %struct.PDP6, ptr %14606, i32 0, i32 28
  store i64 %14605, ptr %14607, align 8, !tbaa !34
  %14608 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14608, ptr noundef @.str.121)
  %14609 = load i64, ptr @simtime, align 8, !tbaa !15
  %14610 = add i64 %14609, 200
  store i64 %14610, ptr @simtime, align 8, !tbaa !15
  %14611 = load ptr, ptr %2, align 8, !tbaa !5
  %14612 = getelementptr inbounds %struct.PDP6, ptr %14611, i32 0, i32 28
  %14613 = load i64, ptr %14612, align 8, !tbaa !34
  %14614 = load ptr, ptr %2, align 8, !tbaa !5
  %14615 = getelementptr inbounds %struct.PDP6, ptr %14614, i32 0, i32 31
  store i64 %14613, ptr %14615, align 8, !tbaa !39
  br label %17859

14616:                                            ; preds = %17
  %14617 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14617, ptr noundef @.str.41)
  %14618 = load i64, ptr @simtime, align 8, !tbaa !15
  %14619 = add i64 %14618, 100
  store i64 %14619, ptr @simtime, align 8, !tbaa !15
  %14620 = load ptr, ptr %2, align 8, !tbaa !5
  %14621 = getelementptr inbounds %struct.PDP6, ptr %14620, i32 0, i32 31
  %14622 = load i64, ptr %14621, align 8, !tbaa !39
  %14623 = load ptr, ptr %2, align 8, !tbaa !5
  %14624 = getelementptr inbounds %struct.PDP6, ptr %14623, i32 0, i32 28
  %14625 = load i64, ptr %14624, align 8, !tbaa !34
  %14626 = and i64 %14622, %14625
  store i64 %14626, ptr %4, align 8, !tbaa !15
  %14627 = load ptr, ptr %2, align 8, !tbaa !5
  %14628 = getelementptr inbounds %struct.PDP6, ptr %14627, i32 0, i32 31
  %14629 = load i64, ptr %14628, align 8, !tbaa !39
  %14630 = load ptr, ptr %2, align 8, !tbaa !5
  %14631 = getelementptr inbounds %struct.PDP6, ptr %14630, i32 0, i32 28
  %14632 = load i64, ptr %14631, align 8, !tbaa !34
  %14633 = xor i64 %14632, %14629
  store i64 %14633, ptr %14631, align 8, !tbaa !34
  %14634 = load i64, ptr %4, align 8, !tbaa !15
  %14635 = load ptr, ptr %2, align 8, !tbaa !5
  %14636 = getelementptr inbounds %struct.PDP6, ptr %14635, i32 0, i32 31
  store i64 %14634, ptr %14636, align 8, !tbaa !39
  %14637 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14637, ptr noundef @.str.42)
  %14638 = load i64, ptr @simtime, align 8, !tbaa !15
  %14639 = add i64 %14638, 100
  store i64 %14639, ptr @simtime, align 8, !tbaa !15
  %14640 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14640, ptr noundef @.str.43)
  %14641 = load ptr, ptr %2, align 8, !tbaa !5
  %14642 = getelementptr inbounds %struct.PDP6, ptr %14641, i32 0, i32 31
  %14643 = load i64, ptr %14642, align 8, !tbaa !39
  store i64 %14643, ptr %4, align 8, !tbaa !15
  %14644 = load ptr, ptr %2, align 8, !tbaa !5
  %14645 = getelementptr inbounds %struct.PDP6, ptr %14644, i32 0, i32 28
  %14646 = load i64, ptr %14645, align 8, !tbaa !34
  %14647 = load ptr, ptr %2, align 8, !tbaa !5
  %14648 = getelementptr inbounds %struct.PDP6, ptr %14647, i32 0, i32 31
  store i64 %14646, ptr %14648, align 8, !tbaa !39
  %14649 = load i64, ptr %4, align 8, !tbaa !15
  %14650 = load ptr, ptr %2, align 8, !tbaa !5
  %14651 = getelementptr inbounds %struct.PDP6, ptr %14650, i32 0, i32 28
  store i64 %14649, ptr %14651, align 8, !tbaa !34
  %14652 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14652, ptr noundef @.str.65)
  %14653 = load i64, ptr @simtime, align 8, !tbaa !15
  %14654 = add i64 %14653, 100
  store i64 %14654, ptr @simtime, align 8, !tbaa !15
  %14655 = load ptr, ptr %2, align 8, !tbaa !5
  %14656 = getelementptr inbounds %struct.PDP6, ptr %14655, i32 0, i32 28
  %14657 = load i64, ptr %14656, align 8, !tbaa !34
  %14658 = xor i64 %14657, 68719476735
  store i64 %14658, ptr %14656, align 8, !tbaa !34
  %14659 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14659, ptr noundef @.str.122)
  %14660 = load i64, ptr @simtime, align 8, !tbaa !15
  %14661 = add i64 %14660, 100
  store i64 %14661, ptr @simtime, align 8, !tbaa !15
  %14662 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14662, ptr noundef @.str.125)
  %14663 = load i64, ptr @simtime, align 8, !tbaa !15
  %14664 = add i64 %14663, 100
  store i64 %14664, ptr @simtime, align 8, !tbaa !15
  %14665 = load ptr, ptr %2, align 8, !tbaa !5
  %14666 = getelementptr inbounds %struct.PDP6, ptr %14665, i32 0, i32 28
  %14667 = load i64, ptr %14666, align 8, !tbaa !34
  %14668 = xor i64 %14667, 68719476735
  store i64 %14668, ptr %14666, align 8, !tbaa !34
  %14669 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14669, ptr noundef @.str.126)
  %14670 = load i64, ptr @simtime, align 8, !tbaa !15
  %14671 = add i64 %14670, 100
  store i64 %14671, ptr @simtime, align 8, !tbaa !15
  %14672 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14672, ptr noundef @.str.127)
  %14673 = load i64, ptr @simtime, align 8, !tbaa !15
  %14674 = add i64 %14673, 200
  store i64 %14674, ptr @simtime, align 8, !tbaa !15
  %14675 = load ptr, ptr %2, align 8, !tbaa !5
  %14676 = getelementptr inbounds %struct.PDP6, ptr %14675, i32 0, i32 31
  %14677 = load i64, ptr %14676, align 8, !tbaa !39
  store i64 %14677, ptr %4, align 8, !tbaa !15
  %14678 = load ptr, ptr %2, align 8, !tbaa !5
  %14679 = getelementptr inbounds %struct.PDP6, ptr %14678, i32 0, i32 28
  %14680 = load i64, ptr %14679, align 8, !tbaa !34
  %14681 = load ptr, ptr %2, align 8, !tbaa !5
  %14682 = getelementptr inbounds %struct.PDP6, ptr %14681, i32 0, i32 31
  store i64 %14680, ptr %14682, align 8, !tbaa !39
  %14683 = load i64, ptr %4, align 8, !tbaa !15
  %14684 = load ptr, ptr %2, align 8, !tbaa !5
  %14685 = getelementptr inbounds %struct.PDP6, ptr %14684, i32 0, i32 28
  store i64 %14683, ptr %14685, align 8, !tbaa !34
  %14686 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14686, ptr noundef @.str.121)
  %14687 = load i64, ptr @simtime, align 8, !tbaa !15
  %14688 = add i64 %14687, 200
  store i64 %14688, ptr @simtime, align 8, !tbaa !15
  br label %17859

14689:                                            ; preds = %17
  %14690 = load ptr, ptr %2, align 8, !tbaa !5
  %14691 = getelementptr inbounds %struct.PDP6, ptr %14690, i32 0, i32 31
  %14692 = load i64, ptr %14691, align 8, !tbaa !39
  %14693 = shl i64 %14692, 18
  %14694 = load ptr, ptr %2, align 8, !tbaa !5
  %14695 = getelementptr inbounds %struct.PDP6, ptr %14694, i32 0, i32 31
  %14696 = load i64, ptr %14695, align 8, !tbaa !39
  %14697 = lshr i64 %14696, 18
  %14698 = or i64 %14693, %14697
  %14699 = and i64 %14698, 68719476735
  %14700 = load ptr, ptr %2, align 8, !tbaa !5
  %14701 = getelementptr inbounds %struct.PDP6, ptr %14700, i32 0, i32 31
  store i64 %14699, ptr %14701, align 8, !tbaa !39
  %14702 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14702, ptr noundef @.str.41)
  %14703 = load i64, ptr @simtime, align 8, !tbaa !15
  %14704 = add i64 %14703, 100
  store i64 %14704, ptr @simtime, align 8, !tbaa !15
  %14705 = load ptr, ptr %2, align 8, !tbaa !5
  %14706 = getelementptr inbounds %struct.PDP6, ptr %14705, i32 0, i32 31
  %14707 = load i64, ptr %14706, align 8, !tbaa !39
  %14708 = load ptr, ptr %2, align 8, !tbaa !5
  %14709 = getelementptr inbounds %struct.PDP6, ptr %14708, i32 0, i32 28
  %14710 = load i64, ptr %14709, align 8, !tbaa !34
  %14711 = and i64 %14707, %14710
  store i64 %14711, ptr %4, align 8, !tbaa !15
  %14712 = load ptr, ptr %2, align 8, !tbaa !5
  %14713 = getelementptr inbounds %struct.PDP6, ptr %14712, i32 0, i32 31
  %14714 = load i64, ptr %14713, align 8, !tbaa !39
  %14715 = load ptr, ptr %2, align 8, !tbaa !5
  %14716 = getelementptr inbounds %struct.PDP6, ptr %14715, i32 0, i32 28
  %14717 = load i64, ptr %14716, align 8, !tbaa !34
  %14718 = xor i64 %14717, %14714
  store i64 %14718, ptr %14716, align 8, !tbaa !34
  %14719 = load i64, ptr %4, align 8, !tbaa !15
  %14720 = load ptr, ptr %2, align 8, !tbaa !5
  %14721 = getelementptr inbounds %struct.PDP6, ptr %14720, i32 0, i32 31
  store i64 %14719, ptr %14721, align 8, !tbaa !39
  %14722 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14722, ptr noundef @.str.42)
  %14723 = load i64, ptr @simtime, align 8, !tbaa !15
  %14724 = add i64 %14723, 100
  store i64 %14724, ptr @simtime, align 8, !tbaa !15
  %14725 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14725, ptr noundef @.str.43)
  %14726 = load ptr, ptr %2, align 8, !tbaa !5
  %14727 = getelementptr inbounds %struct.PDP6, ptr %14726, i32 0, i32 31
  %14728 = load i64, ptr %14727, align 8, !tbaa !39
  store i64 %14728, ptr %4, align 8, !tbaa !15
  %14729 = load ptr, ptr %2, align 8, !tbaa !5
  %14730 = getelementptr inbounds %struct.PDP6, ptr %14729, i32 0, i32 28
  %14731 = load i64, ptr %14730, align 8, !tbaa !34
  %14732 = load ptr, ptr %2, align 8, !tbaa !5
  %14733 = getelementptr inbounds %struct.PDP6, ptr %14732, i32 0, i32 31
  store i64 %14731, ptr %14733, align 8, !tbaa !39
  %14734 = load i64, ptr %4, align 8, !tbaa !15
  %14735 = load ptr, ptr %2, align 8, !tbaa !5
  %14736 = getelementptr inbounds %struct.PDP6, ptr %14735, i32 0, i32 28
  store i64 %14734, ptr %14736, align 8, !tbaa !34
  %14737 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14737, ptr noundef @.str.65)
  %14738 = load i64, ptr @simtime, align 8, !tbaa !15
  %14739 = add i64 %14738, 100
  store i64 %14739, ptr @simtime, align 8, !tbaa !15
  %14740 = load ptr, ptr %2, align 8, !tbaa !5
  %14741 = getelementptr inbounds %struct.PDP6, ptr %14740, i32 0, i32 28
  %14742 = load i64, ptr %14741, align 8, !tbaa !34
  %14743 = xor i64 %14742, 68719476735
  store i64 %14743, ptr %14741, align 8, !tbaa !34
  %14744 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14744, ptr noundef @.str.122)
  %14745 = load i64, ptr @simtime, align 8, !tbaa !15
  %14746 = add i64 %14745, 100
  store i64 %14746, ptr @simtime, align 8, !tbaa !15
  %14747 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14747, ptr noundef @.str.125)
  %14748 = load i64, ptr @simtime, align 8, !tbaa !15
  %14749 = add i64 %14748, 100
  store i64 %14749, ptr @simtime, align 8, !tbaa !15
  %14750 = load ptr, ptr %2, align 8, !tbaa !5
  %14751 = getelementptr inbounds %struct.PDP6, ptr %14750, i32 0, i32 28
  %14752 = load i64, ptr %14751, align 8, !tbaa !34
  %14753 = xor i64 %14752, 68719476735
  store i64 %14753, ptr %14751, align 8, !tbaa !34
  %14754 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14754, ptr noundef @.str.126)
  %14755 = load i64, ptr @simtime, align 8, !tbaa !15
  %14756 = add i64 %14755, 100
  store i64 %14756, ptr @simtime, align 8, !tbaa !15
  %14757 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14757, ptr noundef @.str.127)
  %14758 = load i64, ptr @simtime, align 8, !tbaa !15
  %14759 = add i64 %14758, 200
  store i64 %14759, ptr @simtime, align 8, !tbaa !15
  %14760 = load ptr, ptr %2, align 8, !tbaa !5
  %14761 = getelementptr inbounds %struct.PDP6, ptr %14760, i32 0, i32 31
  %14762 = load i64, ptr %14761, align 8, !tbaa !39
  store i64 %14762, ptr %4, align 8, !tbaa !15
  %14763 = load ptr, ptr %2, align 8, !tbaa !5
  %14764 = getelementptr inbounds %struct.PDP6, ptr %14763, i32 0, i32 28
  %14765 = load i64, ptr %14764, align 8, !tbaa !34
  %14766 = load ptr, ptr %2, align 8, !tbaa !5
  %14767 = getelementptr inbounds %struct.PDP6, ptr %14766, i32 0, i32 31
  store i64 %14765, ptr %14767, align 8, !tbaa !39
  %14768 = load i64, ptr %4, align 8, !tbaa !15
  %14769 = load ptr, ptr %2, align 8, !tbaa !5
  %14770 = getelementptr inbounds %struct.PDP6, ptr %14769, i32 0, i32 28
  store i64 %14768, ptr %14770, align 8, !tbaa !34
  %14771 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14771, ptr noundef @.str.121)
  %14772 = load i64, ptr @simtime, align 8, !tbaa !15
  %14773 = add i64 %14772, 200
  store i64 %14773, ptr @simtime, align 8, !tbaa !15
  br label %17859

14774:                                            ; preds = %17
  %14775 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14775, ptr noundef @.str.41)
  %14776 = load i64, ptr @simtime, align 8, !tbaa !15
  %14777 = add i64 %14776, 100
  store i64 %14777, ptr @simtime, align 8, !tbaa !15
  %14778 = load ptr, ptr %2, align 8, !tbaa !5
  %14779 = getelementptr inbounds %struct.PDP6, ptr %14778, i32 0, i32 31
  %14780 = load i64, ptr %14779, align 8, !tbaa !39
  %14781 = load ptr, ptr %2, align 8, !tbaa !5
  %14782 = getelementptr inbounds %struct.PDP6, ptr %14781, i32 0, i32 28
  %14783 = load i64, ptr %14782, align 8, !tbaa !34
  %14784 = and i64 %14780, %14783
  store i64 %14784, ptr %4, align 8, !tbaa !15
  %14785 = load ptr, ptr %2, align 8, !tbaa !5
  %14786 = getelementptr inbounds %struct.PDP6, ptr %14785, i32 0, i32 31
  %14787 = load i64, ptr %14786, align 8, !tbaa !39
  %14788 = load ptr, ptr %2, align 8, !tbaa !5
  %14789 = getelementptr inbounds %struct.PDP6, ptr %14788, i32 0, i32 28
  %14790 = load i64, ptr %14789, align 8, !tbaa !34
  %14791 = xor i64 %14790, %14787
  store i64 %14791, ptr %14789, align 8, !tbaa !34
  %14792 = load i64, ptr %4, align 8, !tbaa !15
  %14793 = load ptr, ptr %2, align 8, !tbaa !5
  %14794 = getelementptr inbounds %struct.PDP6, ptr %14793, i32 0, i32 31
  store i64 %14792, ptr %14794, align 8, !tbaa !39
  %14795 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14795, ptr noundef @.str.42)
  %14796 = load i64, ptr @simtime, align 8, !tbaa !15
  %14797 = add i64 %14796, 100
  store i64 %14797, ptr @simtime, align 8, !tbaa !15
  %14798 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14798, ptr noundef @.str.43)
  %14799 = load ptr, ptr %2, align 8, !tbaa !5
  %14800 = getelementptr inbounds %struct.PDP6, ptr %14799, i32 0, i32 31
  %14801 = load i64, ptr %14800, align 8, !tbaa !39
  store i64 %14801, ptr %4, align 8, !tbaa !15
  %14802 = load ptr, ptr %2, align 8, !tbaa !5
  %14803 = getelementptr inbounds %struct.PDP6, ptr %14802, i32 0, i32 28
  %14804 = load i64, ptr %14803, align 8, !tbaa !34
  %14805 = load ptr, ptr %2, align 8, !tbaa !5
  %14806 = getelementptr inbounds %struct.PDP6, ptr %14805, i32 0, i32 31
  store i64 %14804, ptr %14806, align 8, !tbaa !39
  %14807 = load i64, ptr %4, align 8, !tbaa !15
  %14808 = load ptr, ptr %2, align 8, !tbaa !5
  %14809 = getelementptr inbounds %struct.PDP6, ptr %14808, i32 0, i32 28
  store i64 %14807, ptr %14809, align 8, !tbaa !34
  %14810 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14810, ptr noundef @.str.65)
  %14811 = load i64, ptr @simtime, align 8, !tbaa !15
  %14812 = add i64 %14811, 100
  store i64 %14812, ptr @simtime, align 8, !tbaa !15
  %14813 = load ptr, ptr %2, align 8, !tbaa !5
  %14814 = getelementptr inbounds %struct.PDP6, ptr %14813, i32 0, i32 28
  %14815 = load i64, ptr %14814, align 8, !tbaa !34
  %14816 = xor i64 %14815, 68719476735
  store i64 %14816, ptr %14814, align 8, !tbaa !34
  %14817 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14817, ptr noundef @.str.122)
  %14818 = load i64, ptr @simtime, align 8, !tbaa !15
  %14819 = add i64 %14818, 100
  store i64 %14819, ptr @simtime, align 8, !tbaa !15
  %14820 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14820, ptr noundef @.str.125)
  %14821 = load i64, ptr @simtime, align 8, !tbaa !15
  %14822 = add i64 %14821, 100
  store i64 %14822, ptr @simtime, align 8, !tbaa !15
  %14823 = load ptr, ptr %2, align 8, !tbaa !5
  %14824 = getelementptr inbounds %struct.PDP6, ptr %14823, i32 0, i32 28
  %14825 = load i64, ptr %14824, align 8, !tbaa !34
  %14826 = xor i64 %14825, 68719476735
  store i64 %14826, ptr %14824, align 8, !tbaa !34
  %14827 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14827, ptr noundef @.str.126)
  %14828 = load i64, ptr @simtime, align 8, !tbaa !15
  %14829 = add i64 %14828, 100
  store i64 %14829, ptr @simtime, align 8, !tbaa !15
  %14830 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14830, ptr noundef @.str.127)
  %14831 = load i64, ptr @simtime, align 8, !tbaa !15
  %14832 = add i64 %14831, 200
  store i64 %14832, ptr @simtime, align 8, !tbaa !15
  %14833 = load ptr, ptr %2, align 8, !tbaa !5
  %14834 = getelementptr inbounds %struct.PDP6, ptr %14833, i32 0, i32 28
  %14835 = load i64, ptr %14834, align 8, !tbaa !34
  %14836 = icmp eq i64 %14835, 0
  br i1 %14836, label %14837, label %14846

14837:                                            ; preds = %14774
  %14838 = load ptr, ptr %2, align 8, !tbaa !5
  %14839 = getelementptr inbounds %struct.PDP6, ptr %14838, i32 0, i32 34
  %14840 = load i32, ptr %14839, align 8, !tbaa !33
  %14841 = add i32 %14840, 1
  %14842 = and i32 %14841, 262143
  %14843 = load ptr, ptr %2, align 8, !tbaa !5
  %14844 = getelementptr inbounds %struct.PDP6, ptr %14843, i32 0, i32 34
  store i32 %14842, ptr %14844, align 8, !tbaa !33
  %14845 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %14845)
  br label %14846

14846:                                            ; preds = %14837, %14774
  %14847 = load ptr, ptr %2, align 8, !tbaa !5
  %14848 = getelementptr inbounds %struct.PDP6, ptr %14847, i32 0, i32 31
  %14849 = load i64, ptr %14848, align 8, !tbaa !39
  store i64 %14849, ptr %4, align 8, !tbaa !15
  %14850 = load ptr, ptr %2, align 8, !tbaa !5
  %14851 = getelementptr inbounds %struct.PDP6, ptr %14850, i32 0, i32 28
  %14852 = load i64, ptr %14851, align 8, !tbaa !34
  %14853 = load ptr, ptr %2, align 8, !tbaa !5
  %14854 = getelementptr inbounds %struct.PDP6, ptr %14853, i32 0, i32 31
  store i64 %14852, ptr %14854, align 8, !tbaa !39
  %14855 = load i64, ptr %4, align 8, !tbaa !15
  %14856 = load ptr, ptr %2, align 8, !tbaa !5
  %14857 = getelementptr inbounds %struct.PDP6, ptr %14856, i32 0, i32 28
  store i64 %14855, ptr %14857, align 8, !tbaa !34
  %14858 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14858, ptr noundef @.str.121)
  %14859 = load i64, ptr @simtime, align 8, !tbaa !15
  %14860 = add i64 %14859, 200
  store i64 %14860, ptr @simtime, align 8, !tbaa !15
  %14861 = load ptr, ptr %2, align 8, !tbaa !5
  %14862 = getelementptr inbounds %struct.PDP6, ptr %14861, i32 0, i32 28
  %14863 = load i64, ptr %14862, align 8, !tbaa !34
  %14864 = load ptr, ptr %2, align 8, !tbaa !5
  %14865 = getelementptr inbounds %struct.PDP6, ptr %14864, i32 0, i32 31
  store i64 %14863, ptr %14865, align 8, !tbaa !39
  br label %17859

14866:                                            ; preds = %17
  %14867 = load ptr, ptr %2, align 8, !tbaa !5
  %14868 = getelementptr inbounds %struct.PDP6, ptr %14867, i32 0, i32 31
  %14869 = load i64, ptr %14868, align 8, !tbaa !39
  %14870 = shl i64 %14869, 18
  %14871 = load ptr, ptr %2, align 8, !tbaa !5
  %14872 = getelementptr inbounds %struct.PDP6, ptr %14871, i32 0, i32 31
  %14873 = load i64, ptr %14872, align 8, !tbaa !39
  %14874 = lshr i64 %14873, 18
  %14875 = or i64 %14870, %14874
  %14876 = and i64 %14875, 68719476735
  %14877 = load ptr, ptr %2, align 8, !tbaa !5
  %14878 = getelementptr inbounds %struct.PDP6, ptr %14877, i32 0, i32 31
  store i64 %14876, ptr %14878, align 8, !tbaa !39
  %14879 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14879, ptr noundef @.str.41)
  %14880 = load i64, ptr @simtime, align 8, !tbaa !15
  %14881 = add i64 %14880, 100
  store i64 %14881, ptr @simtime, align 8, !tbaa !15
  %14882 = load ptr, ptr %2, align 8, !tbaa !5
  %14883 = getelementptr inbounds %struct.PDP6, ptr %14882, i32 0, i32 31
  %14884 = load i64, ptr %14883, align 8, !tbaa !39
  %14885 = load ptr, ptr %2, align 8, !tbaa !5
  %14886 = getelementptr inbounds %struct.PDP6, ptr %14885, i32 0, i32 28
  %14887 = load i64, ptr %14886, align 8, !tbaa !34
  %14888 = and i64 %14884, %14887
  store i64 %14888, ptr %4, align 8, !tbaa !15
  %14889 = load ptr, ptr %2, align 8, !tbaa !5
  %14890 = getelementptr inbounds %struct.PDP6, ptr %14889, i32 0, i32 31
  %14891 = load i64, ptr %14890, align 8, !tbaa !39
  %14892 = load ptr, ptr %2, align 8, !tbaa !5
  %14893 = getelementptr inbounds %struct.PDP6, ptr %14892, i32 0, i32 28
  %14894 = load i64, ptr %14893, align 8, !tbaa !34
  %14895 = xor i64 %14894, %14891
  store i64 %14895, ptr %14893, align 8, !tbaa !34
  %14896 = load i64, ptr %4, align 8, !tbaa !15
  %14897 = load ptr, ptr %2, align 8, !tbaa !5
  %14898 = getelementptr inbounds %struct.PDP6, ptr %14897, i32 0, i32 31
  store i64 %14896, ptr %14898, align 8, !tbaa !39
  %14899 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14899, ptr noundef @.str.42)
  %14900 = load i64, ptr @simtime, align 8, !tbaa !15
  %14901 = add i64 %14900, 100
  store i64 %14901, ptr @simtime, align 8, !tbaa !15
  %14902 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14902, ptr noundef @.str.43)
  %14903 = load ptr, ptr %2, align 8, !tbaa !5
  %14904 = getelementptr inbounds %struct.PDP6, ptr %14903, i32 0, i32 31
  %14905 = load i64, ptr %14904, align 8, !tbaa !39
  store i64 %14905, ptr %4, align 8, !tbaa !15
  %14906 = load ptr, ptr %2, align 8, !tbaa !5
  %14907 = getelementptr inbounds %struct.PDP6, ptr %14906, i32 0, i32 28
  %14908 = load i64, ptr %14907, align 8, !tbaa !34
  %14909 = load ptr, ptr %2, align 8, !tbaa !5
  %14910 = getelementptr inbounds %struct.PDP6, ptr %14909, i32 0, i32 31
  store i64 %14908, ptr %14910, align 8, !tbaa !39
  %14911 = load i64, ptr %4, align 8, !tbaa !15
  %14912 = load ptr, ptr %2, align 8, !tbaa !5
  %14913 = getelementptr inbounds %struct.PDP6, ptr %14912, i32 0, i32 28
  store i64 %14911, ptr %14913, align 8, !tbaa !34
  %14914 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14914, ptr noundef @.str.65)
  %14915 = load i64, ptr @simtime, align 8, !tbaa !15
  %14916 = add i64 %14915, 100
  store i64 %14916, ptr @simtime, align 8, !tbaa !15
  %14917 = load ptr, ptr %2, align 8, !tbaa !5
  %14918 = getelementptr inbounds %struct.PDP6, ptr %14917, i32 0, i32 28
  %14919 = load i64, ptr %14918, align 8, !tbaa !34
  %14920 = xor i64 %14919, 68719476735
  store i64 %14920, ptr %14918, align 8, !tbaa !34
  %14921 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14921, ptr noundef @.str.122)
  %14922 = load i64, ptr @simtime, align 8, !tbaa !15
  %14923 = add i64 %14922, 100
  store i64 %14923, ptr @simtime, align 8, !tbaa !15
  %14924 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14924, ptr noundef @.str.125)
  %14925 = load i64, ptr @simtime, align 8, !tbaa !15
  %14926 = add i64 %14925, 100
  store i64 %14926, ptr @simtime, align 8, !tbaa !15
  %14927 = load ptr, ptr %2, align 8, !tbaa !5
  %14928 = getelementptr inbounds %struct.PDP6, ptr %14927, i32 0, i32 28
  %14929 = load i64, ptr %14928, align 8, !tbaa !34
  %14930 = xor i64 %14929, 68719476735
  store i64 %14930, ptr %14928, align 8, !tbaa !34
  %14931 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14931, ptr noundef @.str.126)
  %14932 = load i64, ptr @simtime, align 8, !tbaa !15
  %14933 = add i64 %14932, 100
  store i64 %14933, ptr @simtime, align 8, !tbaa !15
  %14934 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14934, ptr noundef @.str.127)
  %14935 = load i64, ptr @simtime, align 8, !tbaa !15
  %14936 = add i64 %14935, 200
  store i64 %14936, ptr @simtime, align 8, !tbaa !15
  %14937 = load ptr, ptr %2, align 8, !tbaa !5
  %14938 = getelementptr inbounds %struct.PDP6, ptr %14937, i32 0, i32 28
  %14939 = load i64, ptr %14938, align 8, !tbaa !34
  %14940 = icmp eq i64 %14939, 0
  br i1 %14940, label %14941, label %14950

14941:                                            ; preds = %14866
  %14942 = load ptr, ptr %2, align 8, !tbaa !5
  %14943 = getelementptr inbounds %struct.PDP6, ptr %14942, i32 0, i32 34
  %14944 = load i32, ptr %14943, align 8, !tbaa !33
  %14945 = add i32 %14944, 1
  %14946 = and i32 %14945, 262143
  %14947 = load ptr, ptr %2, align 8, !tbaa !5
  %14948 = getelementptr inbounds %struct.PDP6, ptr %14947, i32 0, i32 34
  store i32 %14946, ptr %14948, align 8, !tbaa !33
  %14949 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %14949)
  br label %14950

14950:                                            ; preds = %14941, %14866
  %14951 = load ptr, ptr %2, align 8, !tbaa !5
  %14952 = getelementptr inbounds %struct.PDP6, ptr %14951, i32 0, i32 31
  %14953 = load i64, ptr %14952, align 8, !tbaa !39
  store i64 %14953, ptr %4, align 8, !tbaa !15
  %14954 = load ptr, ptr %2, align 8, !tbaa !5
  %14955 = getelementptr inbounds %struct.PDP6, ptr %14954, i32 0, i32 28
  %14956 = load i64, ptr %14955, align 8, !tbaa !34
  %14957 = load ptr, ptr %2, align 8, !tbaa !5
  %14958 = getelementptr inbounds %struct.PDP6, ptr %14957, i32 0, i32 31
  store i64 %14956, ptr %14958, align 8, !tbaa !39
  %14959 = load i64, ptr %4, align 8, !tbaa !15
  %14960 = load ptr, ptr %2, align 8, !tbaa !5
  %14961 = getelementptr inbounds %struct.PDP6, ptr %14960, i32 0, i32 28
  store i64 %14959, ptr %14961, align 8, !tbaa !34
  %14962 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14962, ptr noundef @.str.121)
  %14963 = load i64, ptr @simtime, align 8, !tbaa !15
  %14964 = add i64 %14963, 200
  store i64 %14964, ptr @simtime, align 8, !tbaa !15
  %14965 = load ptr, ptr %2, align 8, !tbaa !5
  %14966 = getelementptr inbounds %struct.PDP6, ptr %14965, i32 0, i32 28
  %14967 = load i64, ptr %14966, align 8, !tbaa !34
  %14968 = load ptr, ptr %2, align 8, !tbaa !5
  %14969 = getelementptr inbounds %struct.PDP6, ptr %14968, i32 0, i32 31
  store i64 %14967, ptr %14969, align 8, !tbaa !39
  br label %17859

14970:                                            ; preds = %17
  %14971 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14971, ptr noundef @.str.41)
  %14972 = load i64, ptr @simtime, align 8, !tbaa !15
  %14973 = add i64 %14972, 100
  store i64 %14973, ptr @simtime, align 8, !tbaa !15
  %14974 = load ptr, ptr %2, align 8, !tbaa !5
  %14975 = getelementptr inbounds %struct.PDP6, ptr %14974, i32 0, i32 31
  %14976 = load i64, ptr %14975, align 8, !tbaa !39
  %14977 = load ptr, ptr %2, align 8, !tbaa !5
  %14978 = getelementptr inbounds %struct.PDP6, ptr %14977, i32 0, i32 28
  %14979 = load i64, ptr %14978, align 8, !tbaa !34
  %14980 = and i64 %14976, %14979
  store i64 %14980, ptr %4, align 8, !tbaa !15
  %14981 = load ptr, ptr %2, align 8, !tbaa !5
  %14982 = getelementptr inbounds %struct.PDP6, ptr %14981, i32 0, i32 31
  %14983 = load i64, ptr %14982, align 8, !tbaa !39
  %14984 = load ptr, ptr %2, align 8, !tbaa !5
  %14985 = getelementptr inbounds %struct.PDP6, ptr %14984, i32 0, i32 28
  %14986 = load i64, ptr %14985, align 8, !tbaa !34
  %14987 = xor i64 %14986, %14983
  store i64 %14987, ptr %14985, align 8, !tbaa !34
  %14988 = load i64, ptr %4, align 8, !tbaa !15
  %14989 = load ptr, ptr %2, align 8, !tbaa !5
  %14990 = getelementptr inbounds %struct.PDP6, ptr %14989, i32 0, i32 31
  store i64 %14988, ptr %14990, align 8, !tbaa !39
  %14991 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14991, ptr noundef @.str.42)
  %14992 = load i64, ptr @simtime, align 8, !tbaa !15
  %14993 = add i64 %14992, 100
  store i64 %14993, ptr @simtime, align 8, !tbaa !15
  %14994 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %14994, ptr noundef @.str.43)
  %14995 = load ptr, ptr %2, align 8, !tbaa !5
  %14996 = getelementptr inbounds %struct.PDP6, ptr %14995, i32 0, i32 31
  %14997 = load i64, ptr %14996, align 8, !tbaa !39
  store i64 %14997, ptr %4, align 8, !tbaa !15
  %14998 = load ptr, ptr %2, align 8, !tbaa !5
  %14999 = getelementptr inbounds %struct.PDP6, ptr %14998, i32 0, i32 28
  %15000 = load i64, ptr %14999, align 8, !tbaa !34
  %15001 = load ptr, ptr %2, align 8, !tbaa !5
  %15002 = getelementptr inbounds %struct.PDP6, ptr %15001, i32 0, i32 31
  store i64 %15000, ptr %15002, align 8, !tbaa !39
  %15003 = load i64, ptr %4, align 8, !tbaa !15
  %15004 = load ptr, ptr %2, align 8, !tbaa !5
  %15005 = getelementptr inbounds %struct.PDP6, ptr %15004, i32 0, i32 28
  store i64 %15003, ptr %15005, align 8, !tbaa !34
  %15006 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15006, ptr noundef @.str.65)
  %15007 = load i64, ptr @simtime, align 8, !tbaa !15
  %15008 = add i64 %15007, 100
  store i64 %15008, ptr @simtime, align 8, !tbaa !15
  %15009 = load ptr, ptr %2, align 8, !tbaa !5
  %15010 = getelementptr inbounds %struct.PDP6, ptr %15009, i32 0, i32 28
  %15011 = load i64, ptr %15010, align 8, !tbaa !34
  %15012 = xor i64 %15011, 68719476735
  store i64 %15012, ptr %15010, align 8, !tbaa !34
  %15013 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15013, ptr noundef @.str.122)
  %15014 = load i64, ptr @simtime, align 8, !tbaa !15
  %15015 = add i64 %15014, 100
  store i64 %15015, ptr @simtime, align 8, !tbaa !15
  %15016 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15016, ptr noundef @.str.125)
  %15017 = load i64, ptr @simtime, align 8, !tbaa !15
  %15018 = add i64 %15017, 100
  store i64 %15018, ptr @simtime, align 8, !tbaa !15
  %15019 = load ptr, ptr %2, align 8, !tbaa !5
  %15020 = getelementptr inbounds %struct.PDP6, ptr %15019, i32 0, i32 28
  %15021 = load i64, ptr %15020, align 8, !tbaa !34
  %15022 = xor i64 %15021, 68719476735
  store i64 %15022, ptr %15020, align 8, !tbaa !34
  %15023 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15023, ptr noundef @.str.126)
  %15024 = load i64, ptr @simtime, align 8, !tbaa !15
  %15025 = add i64 %15024, 100
  store i64 %15025, ptr @simtime, align 8, !tbaa !15
  %15026 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15026, ptr noundef @.str.127)
  %15027 = load i64, ptr @simtime, align 8, !tbaa !15
  %15028 = add i64 %15027, 200
  store i64 %15028, ptr @simtime, align 8, !tbaa !15
  %15029 = load ptr, ptr %2, align 8, !tbaa !5
  %15030 = getelementptr inbounds %struct.PDP6, ptr %15029, i32 0, i32 34
  %15031 = load i32, ptr %15030, align 8, !tbaa !33
  %15032 = add i32 %15031, 1
  %15033 = and i32 %15032, 262143
  %15034 = load ptr, ptr %2, align 8, !tbaa !5
  %15035 = getelementptr inbounds %struct.PDP6, ptr %15034, i32 0, i32 34
  store i32 %15033, ptr %15035, align 8, !tbaa !33
  %15036 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %15036)
  %15037 = load ptr, ptr %2, align 8, !tbaa !5
  %15038 = getelementptr inbounds %struct.PDP6, ptr %15037, i32 0, i32 31
  %15039 = load i64, ptr %15038, align 8, !tbaa !39
  store i64 %15039, ptr %4, align 8, !tbaa !15
  %15040 = load ptr, ptr %2, align 8, !tbaa !5
  %15041 = getelementptr inbounds %struct.PDP6, ptr %15040, i32 0, i32 28
  %15042 = load i64, ptr %15041, align 8, !tbaa !34
  %15043 = load ptr, ptr %2, align 8, !tbaa !5
  %15044 = getelementptr inbounds %struct.PDP6, ptr %15043, i32 0, i32 31
  store i64 %15042, ptr %15044, align 8, !tbaa !39
  %15045 = load i64, ptr %4, align 8, !tbaa !15
  %15046 = load ptr, ptr %2, align 8, !tbaa !5
  %15047 = getelementptr inbounds %struct.PDP6, ptr %15046, i32 0, i32 28
  store i64 %15045, ptr %15047, align 8, !tbaa !34
  %15048 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15048, ptr noundef @.str.121)
  %15049 = load i64, ptr @simtime, align 8, !tbaa !15
  %15050 = add i64 %15049, 200
  store i64 %15050, ptr @simtime, align 8, !tbaa !15
  br label %17859

15051:                                            ; preds = %17
  %15052 = load ptr, ptr %2, align 8, !tbaa !5
  %15053 = getelementptr inbounds %struct.PDP6, ptr %15052, i32 0, i32 31
  %15054 = load i64, ptr %15053, align 8, !tbaa !39
  %15055 = shl i64 %15054, 18
  %15056 = load ptr, ptr %2, align 8, !tbaa !5
  %15057 = getelementptr inbounds %struct.PDP6, ptr %15056, i32 0, i32 31
  %15058 = load i64, ptr %15057, align 8, !tbaa !39
  %15059 = lshr i64 %15058, 18
  %15060 = or i64 %15055, %15059
  %15061 = and i64 %15060, 68719476735
  %15062 = load ptr, ptr %2, align 8, !tbaa !5
  %15063 = getelementptr inbounds %struct.PDP6, ptr %15062, i32 0, i32 31
  store i64 %15061, ptr %15063, align 8, !tbaa !39
  %15064 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15064, ptr noundef @.str.41)
  %15065 = load i64, ptr @simtime, align 8, !tbaa !15
  %15066 = add i64 %15065, 100
  store i64 %15066, ptr @simtime, align 8, !tbaa !15
  %15067 = load ptr, ptr %2, align 8, !tbaa !5
  %15068 = getelementptr inbounds %struct.PDP6, ptr %15067, i32 0, i32 31
  %15069 = load i64, ptr %15068, align 8, !tbaa !39
  %15070 = load ptr, ptr %2, align 8, !tbaa !5
  %15071 = getelementptr inbounds %struct.PDP6, ptr %15070, i32 0, i32 28
  %15072 = load i64, ptr %15071, align 8, !tbaa !34
  %15073 = and i64 %15069, %15072
  store i64 %15073, ptr %4, align 8, !tbaa !15
  %15074 = load ptr, ptr %2, align 8, !tbaa !5
  %15075 = getelementptr inbounds %struct.PDP6, ptr %15074, i32 0, i32 31
  %15076 = load i64, ptr %15075, align 8, !tbaa !39
  %15077 = load ptr, ptr %2, align 8, !tbaa !5
  %15078 = getelementptr inbounds %struct.PDP6, ptr %15077, i32 0, i32 28
  %15079 = load i64, ptr %15078, align 8, !tbaa !34
  %15080 = xor i64 %15079, %15076
  store i64 %15080, ptr %15078, align 8, !tbaa !34
  %15081 = load i64, ptr %4, align 8, !tbaa !15
  %15082 = load ptr, ptr %2, align 8, !tbaa !5
  %15083 = getelementptr inbounds %struct.PDP6, ptr %15082, i32 0, i32 31
  store i64 %15081, ptr %15083, align 8, !tbaa !39
  %15084 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15084, ptr noundef @.str.42)
  %15085 = load i64, ptr @simtime, align 8, !tbaa !15
  %15086 = add i64 %15085, 100
  store i64 %15086, ptr @simtime, align 8, !tbaa !15
  %15087 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15087, ptr noundef @.str.43)
  %15088 = load ptr, ptr %2, align 8, !tbaa !5
  %15089 = getelementptr inbounds %struct.PDP6, ptr %15088, i32 0, i32 31
  %15090 = load i64, ptr %15089, align 8, !tbaa !39
  store i64 %15090, ptr %4, align 8, !tbaa !15
  %15091 = load ptr, ptr %2, align 8, !tbaa !5
  %15092 = getelementptr inbounds %struct.PDP6, ptr %15091, i32 0, i32 28
  %15093 = load i64, ptr %15092, align 8, !tbaa !34
  %15094 = load ptr, ptr %2, align 8, !tbaa !5
  %15095 = getelementptr inbounds %struct.PDP6, ptr %15094, i32 0, i32 31
  store i64 %15093, ptr %15095, align 8, !tbaa !39
  %15096 = load i64, ptr %4, align 8, !tbaa !15
  %15097 = load ptr, ptr %2, align 8, !tbaa !5
  %15098 = getelementptr inbounds %struct.PDP6, ptr %15097, i32 0, i32 28
  store i64 %15096, ptr %15098, align 8, !tbaa !34
  %15099 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15099, ptr noundef @.str.65)
  %15100 = load i64, ptr @simtime, align 8, !tbaa !15
  %15101 = add i64 %15100, 100
  store i64 %15101, ptr @simtime, align 8, !tbaa !15
  %15102 = load ptr, ptr %2, align 8, !tbaa !5
  %15103 = getelementptr inbounds %struct.PDP6, ptr %15102, i32 0, i32 28
  %15104 = load i64, ptr %15103, align 8, !tbaa !34
  %15105 = xor i64 %15104, 68719476735
  store i64 %15105, ptr %15103, align 8, !tbaa !34
  %15106 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15106, ptr noundef @.str.122)
  %15107 = load i64, ptr @simtime, align 8, !tbaa !15
  %15108 = add i64 %15107, 100
  store i64 %15108, ptr @simtime, align 8, !tbaa !15
  %15109 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15109, ptr noundef @.str.125)
  %15110 = load i64, ptr @simtime, align 8, !tbaa !15
  %15111 = add i64 %15110, 100
  store i64 %15111, ptr @simtime, align 8, !tbaa !15
  %15112 = load ptr, ptr %2, align 8, !tbaa !5
  %15113 = getelementptr inbounds %struct.PDP6, ptr %15112, i32 0, i32 28
  %15114 = load i64, ptr %15113, align 8, !tbaa !34
  %15115 = xor i64 %15114, 68719476735
  store i64 %15115, ptr %15113, align 8, !tbaa !34
  %15116 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15116, ptr noundef @.str.126)
  %15117 = load i64, ptr @simtime, align 8, !tbaa !15
  %15118 = add i64 %15117, 100
  store i64 %15118, ptr @simtime, align 8, !tbaa !15
  %15119 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15119, ptr noundef @.str.127)
  %15120 = load i64, ptr @simtime, align 8, !tbaa !15
  %15121 = add i64 %15120, 200
  store i64 %15121, ptr @simtime, align 8, !tbaa !15
  %15122 = load ptr, ptr %2, align 8, !tbaa !5
  %15123 = getelementptr inbounds %struct.PDP6, ptr %15122, i32 0, i32 34
  %15124 = load i32, ptr %15123, align 8, !tbaa !33
  %15125 = add i32 %15124, 1
  %15126 = and i32 %15125, 262143
  %15127 = load ptr, ptr %2, align 8, !tbaa !5
  %15128 = getelementptr inbounds %struct.PDP6, ptr %15127, i32 0, i32 34
  store i32 %15126, ptr %15128, align 8, !tbaa !33
  %15129 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %15129)
  %15130 = load ptr, ptr %2, align 8, !tbaa !5
  %15131 = getelementptr inbounds %struct.PDP6, ptr %15130, i32 0, i32 31
  %15132 = load i64, ptr %15131, align 8, !tbaa !39
  store i64 %15132, ptr %4, align 8, !tbaa !15
  %15133 = load ptr, ptr %2, align 8, !tbaa !5
  %15134 = getelementptr inbounds %struct.PDP6, ptr %15133, i32 0, i32 28
  %15135 = load i64, ptr %15134, align 8, !tbaa !34
  %15136 = load ptr, ptr %2, align 8, !tbaa !5
  %15137 = getelementptr inbounds %struct.PDP6, ptr %15136, i32 0, i32 31
  store i64 %15135, ptr %15137, align 8, !tbaa !39
  %15138 = load i64, ptr %4, align 8, !tbaa !15
  %15139 = load ptr, ptr %2, align 8, !tbaa !5
  %15140 = getelementptr inbounds %struct.PDP6, ptr %15139, i32 0, i32 28
  store i64 %15138, ptr %15140, align 8, !tbaa !34
  %15141 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15141, ptr noundef @.str.121)
  %15142 = load i64, ptr @simtime, align 8, !tbaa !15
  %15143 = add i64 %15142, 200
  store i64 %15143, ptr @simtime, align 8, !tbaa !15
  br label %17859

15144:                                            ; preds = %17
  %15145 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15145, ptr noundef @.str.41)
  %15146 = load i64, ptr @simtime, align 8, !tbaa !15
  %15147 = add i64 %15146, 100
  store i64 %15147, ptr @simtime, align 8, !tbaa !15
  %15148 = load ptr, ptr %2, align 8, !tbaa !5
  %15149 = getelementptr inbounds %struct.PDP6, ptr %15148, i32 0, i32 31
  %15150 = load i64, ptr %15149, align 8, !tbaa !39
  %15151 = load ptr, ptr %2, align 8, !tbaa !5
  %15152 = getelementptr inbounds %struct.PDP6, ptr %15151, i32 0, i32 28
  %15153 = load i64, ptr %15152, align 8, !tbaa !34
  %15154 = and i64 %15150, %15153
  store i64 %15154, ptr %4, align 8, !tbaa !15
  %15155 = load ptr, ptr %2, align 8, !tbaa !5
  %15156 = getelementptr inbounds %struct.PDP6, ptr %15155, i32 0, i32 31
  %15157 = load i64, ptr %15156, align 8, !tbaa !39
  %15158 = load ptr, ptr %2, align 8, !tbaa !5
  %15159 = getelementptr inbounds %struct.PDP6, ptr %15158, i32 0, i32 28
  %15160 = load i64, ptr %15159, align 8, !tbaa !34
  %15161 = xor i64 %15160, %15157
  store i64 %15161, ptr %15159, align 8, !tbaa !34
  %15162 = load i64, ptr %4, align 8, !tbaa !15
  %15163 = load ptr, ptr %2, align 8, !tbaa !5
  %15164 = getelementptr inbounds %struct.PDP6, ptr %15163, i32 0, i32 31
  store i64 %15162, ptr %15164, align 8, !tbaa !39
  %15165 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15165, ptr noundef @.str.42)
  %15166 = load i64, ptr @simtime, align 8, !tbaa !15
  %15167 = add i64 %15166, 100
  store i64 %15167, ptr @simtime, align 8, !tbaa !15
  %15168 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15168, ptr noundef @.str.43)
  %15169 = load ptr, ptr %2, align 8, !tbaa !5
  %15170 = getelementptr inbounds %struct.PDP6, ptr %15169, i32 0, i32 31
  %15171 = load i64, ptr %15170, align 8, !tbaa !39
  store i64 %15171, ptr %4, align 8, !tbaa !15
  %15172 = load ptr, ptr %2, align 8, !tbaa !5
  %15173 = getelementptr inbounds %struct.PDP6, ptr %15172, i32 0, i32 28
  %15174 = load i64, ptr %15173, align 8, !tbaa !34
  %15175 = load ptr, ptr %2, align 8, !tbaa !5
  %15176 = getelementptr inbounds %struct.PDP6, ptr %15175, i32 0, i32 31
  store i64 %15174, ptr %15176, align 8, !tbaa !39
  %15177 = load i64, ptr %4, align 8, !tbaa !15
  %15178 = load ptr, ptr %2, align 8, !tbaa !5
  %15179 = getelementptr inbounds %struct.PDP6, ptr %15178, i32 0, i32 28
  store i64 %15177, ptr %15179, align 8, !tbaa !34
  %15180 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15180, ptr noundef @.str.65)
  %15181 = load i64, ptr @simtime, align 8, !tbaa !15
  %15182 = add i64 %15181, 100
  store i64 %15182, ptr @simtime, align 8, !tbaa !15
  %15183 = load ptr, ptr %2, align 8, !tbaa !5
  %15184 = getelementptr inbounds %struct.PDP6, ptr %15183, i32 0, i32 28
  %15185 = load i64, ptr %15184, align 8, !tbaa !34
  %15186 = xor i64 %15185, 68719476735
  store i64 %15186, ptr %15184, align 8, !tbaa !34
  %15187 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15187, ptr noundef @.str.122)
  %15188 = load i64, ptr @simtime, align 8, !tbaa !15
  %15189 = add i64 %15188, 100
  store i64 %15189, ptr @simtime, align 8, !tbaa !15
  %15190 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15190, ptr noundef @.str.125)
  %15191 = load i64, ptr @simtime, align 8, !tbaa !15
  %15192 = add i64 %15191, 100
  store i64 %15192, ptr @simtime, align 8, !tbaa !15
  %15193 = load ptr, ptr %2, align 8, !tbaa !5
  %15194 = getelementptr inbounds %struct.PDP6, ptr %15193, i32 0, i32 28
  %15195 = load i64, ptr %15194, align 8, !tbaa !34
  %15196 = xor i64 %15195, 68719476735
  store i64 %15196, ptr %15194, align 8, !tbaa !34
  %15197 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15197, ptr noundef @.str.126)
  %15198 = load i64, ptr @simtime, align 8, !tbaa !15
  %15199 = add i64 %15198, 100
  store i64 %15199, ptr @simtime, align 8, !tbaa !15
  %15200 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15200, ptr noundef @.str.127)
  %15201 = load i64, ptr @simtime, align 8, !tbaa !15
  %15202 = add i64 %15201, 200
  store i64 %15202, ptr @simtime, align 8, !tbaa !15
  %15203 = load ptr, ptr %2, align 8, !tbaa !5
  %15204 = getelementptr inbounds %struct.PDP6, ptr %15203, i32 0, i32 28
  %15205 = load i64, ptr %15204, align 8, !tbaa !34
  %15206 = icmp eq i64 %15205, 0
  br i1 %15206, label %15216, label %15207

15207:                                            ; preds = %15144
  %15208 = load ptr, ptr %2, align 8, !tbaa !5
  %15209 = getelementptr inbounds %struct.PDP6, ptr %15208, i32 0, i32 34
  %15210 = load i32, ptr %15209, align 8, !tbaa !33
  %15211 = add i32 %15210, 1
  %15212 = and i32 %15211, 262143
  %15213 = load ptr, ptr %2, align 8, !tbaa !5
  %15214 = getelementptr inbounds %struct.PDP6, ptr %15213, i32 0, i32 34
  store i32 %15212, ptr %15214, align 8, !tbaa !33
  %15215 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %15215)
  br label %15216

15216:                                            ; preds = %15207, %15144
  %15217 = load ptr, ptr %2, align 8, !tbaa !5
  %15218 = getelementptr inbounds %struct.PDP6, ptr %15217, i32 0, i32 31
  %15219 = load i64, ptr %15218, align 8, !tbaa !39
  store i64 %15219, ptr %4, align 8, !tbaa !15
  %15220 = load ptr, ptr %2, align 8, !tbaa !5
  %15221 = getelementptr inbounds %struct.PDP6, ptr %15220, i32 0, i32 28
  %15222 = load i64, ptr %15221, align 8, !tbaa !34
  %15223 = load ptr, ptr %2, align 8, !tbaa !5
  %15224 = getelementptr inbounds %struct.PDP6, ptr %15223, i32 0, i32 31
  store i64 %15222, ptr %15224, align 8, !tbaa !39
  %15225 = load i64, ptr %4, align 8, !tbaa !15
  %15226 = load ptr, ptr %2, align 8, !tbaa !5
  %15227 = getelementptr inbounds %struct.PDP6, ptr %15226, i32 0, i32 28
  store i64 %15225, ptr %15227, align 8, !tbaa !34
  %15228 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15228, ptr noundef @.str.121)
  %15229 = load i64, ptr @simtime, align 8, !tbaa !15
  %15230 = add i64 %15229, 200
  store i64 %15230, ptr @simtime, align 8, !tbaa !15
  %15231 = load ptr, ptr %2, align 8, !tbaa !5
  %15232 = getelementptr inbounds %struct.PDP6, ptr %15231, i32 0, i32 28
  %15233 = load i64, ptr %15232, align 8, !tbaa !34
  %15234 = load ptr, ptr %2, align 8, !tbaa !5
  %15235 = getelementptr inbounds %struct.PDP6, ptr %15234, i32 0, i32 31
  store i64 %15233, ptr %15235, align 8, !tbaa !39
  br label %17859

15236:                                            ; preds = %17
  %15237 = load ptr, ptr %2, align 8, !tbaa !5
  %15238 = getelementptr inbounds %struct.PDP6, ptr %15237, i32 0, i32 31
  %15239 = load i64, ptr %15238, align 8, !tbaa !39
  %15240 = shl i64 %15239, 18
  %15241 = load ptr, ptr %2, align 8, !tbaa !5
  %15242 = getelementptr inbounds %struct.PDP6, ptr %15241, i32 0, i32 31
  %15243 = load i64, ptr %15242, align 8, !tbaa !39
  %15244 = lshr i64 %15243, 18
  %15245 = or i64 %15240, %15244
  %15246 = and i64 %15245, 68719476735
  %15247 = load ptr, ptr %2, align 8, !tbaa !5
  %15248 = getelementptr inbounds %struct.PDP6, ptr %15247, i32 0, i32 31
  store i64 %15246, ptr %15248, align 8, !tbaa !39
  %15249 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15249, ptr noundef @.str.41)
  %15250 = load i64, ptr @simtime, align 8, !tbaa !15
  %15251 = add i64 %15250, 100
  store i64 %15251, ptr @simtime, align 8, !tbaa !15
  %15252 = load ptr, ptr %2, align 8, !tbaa !5
  %15253 = getelementptr inbounds %struct.PDP6, ptr %15252, i32 0, i32 31
  %15254 = load i64, ptr %15253, align 8, !tbaa !39
  %15255 = load ptr, ptr %2, align 8, !tbaa !5
  %15256 = getelementptr inbounds %struct.PDP6, ptr %15255, i32 0, i32 28
  %15257 = load i64, ptr %15256, align 8, !tbaa !34
  %15258 = and i64 %15254, %15257
  store i64 %15258, ptr %4, align 8, !tbaa !15
  %15259 = load ptr, ptr %2, align 8, !tbaa !5
  %15260 = getelementptr inbounds %struct.PDP6, ptr %15259, i32 0, i32 31
  %15261 = load i64, ptr %15260, align 8, !tbaa !39
  %15262 = load ptr, ptr %2, align 8, !tbaa !5
  %15263 = getelementptr inbounds %struct.PDP6, ptr %15262, i32 0, i32 28
  %15264 = load i64, ptr %15263, align 8, !tbaa !34
  %15265 = xor i64 %15264, %15261
  store i64 %15265, ptr %15263, align 8, !tbaa !34
  %15266 = load i64, ptr %4, align 8, !tbaa !15
  %15267 = load ptr, ptr %2, align 8, !tbaa !5
  %15268 = getelementptr inbounds %struct.PDP6, ptr %15267, i32 0, i32 31
  store i64 %15266, ptr %15268, align 8, !tbaa !39
  %15269 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15269, ptr noundef @.str.42)
  %15270 = load i64, ptr @simtime, align 8, !tbaa !15
  %15271 = add i64 %15270, 100
  store i64 %15271, ptr @simtime, align 8, !tbaa !15
  %15272 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15272, ptr noundef @.str.43)
  %15273 = load ptr, ptr %2, align 8, !tbaa !5
  %15274 = getelementptr inbounds %struct.PDP6, ptr %15273, i32 0, i32 31
  %15275 = load i64, ptr %15274, align 8, !tbaa !39
  store i64 %15275, ptr %4, align 8, !tbaa !15
  %15276 = load ptr, ptr %2, align 8, !tbaa !5
  %15277 = getelementptr inbounds %struct.PDP6, ptr %15276, i32 0, i32 28
  %15278 = load i64, ptr %15277, align 8, !tbaa !34
  %15279 = load ptr, ptr %2, align 8, !tbaa !5
  %15280 = getelementptr inbounds %struct.PDP6, ptr %15279, i32 0, i32 31
  store i64 %15278, ptr %15280, align 8, !tbaa !39
  %15281 = load i64, ptr %4, align 8, !tbaa !15
  %15282 = load ptr, ptr %2, align 8, !tbaa !5
  %15283 = getelementptr inbounds %struct.PDP6, ptr %15282, i32 0, i32 28
  store i64 %15281, ptr %15283, align 8, !tbaa !34
  %15284 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15284, ptr noundef @.str.65)
  %15285 = load i64, ptr @simtime, align 8, !tbaa !15
  %15286 = add i64 %15285, 100
  store i64 %15286, ptr @simtime, align 8, !tbaa !15
  %15287 = load ptr, ptr %2, align 8, !tbaa !5
  %15288 = getelementptr inbounds %struct.PDP6, ptr %15287, i32 0, i32 28
  %15289 = load i64, ptr %15288, align 8, !tbaa !34
  %15290 = xor i64 %15289, 68719476735
  store i64 %15290, ptr %15288, align 8, !tbaa !34
  %15291 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15291, ptr noundef @.str.122)
  %15292 = load i64, ptr @simtime, align 8, !tbaa !15
  %15293 = add i64 %15292, 100
  store i64 %15293, ptr @simtime, align 8, !tbaa !15
  %15294 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15294, ptr noundef @.str.125)
  %15295 = load i64, ptr @simtime, align 8, !tbaa !15
  %15296 = add i64 %15295, 100
  store i64 %15296, ptr @simtime, align 8, !tbaa !15
  %15297 = load ptr, ptr %2, align 8, !tbaa !5
  %15298 = getelementptr inbounds %struct.PDP6, ptr %15297, i32 0, i32 28
  %15299 = load i64, ptr %15298, align 8, !tbaa !34
  %15300 = xor i64 %15299, 68719476735
  store i64 %15300, ptr %15298, align 8, !tbaa !34
  %15301 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15301, ptr noundef @.str.126)
  %15302 = load i64, ptr @simtime, align 8, !tbaa !15
  %15303 = add i64 %15302, 100
  store i64 %15303, ptr @simtime, align 8, !tbaa !15
  %15304 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15304, ptr noundef @.str.127)
  %15305 = load i64, ptr @simtime, align 8, !tbaa !15
  %15306 = add i64 %15305, 200
  store i64 %15306, ptr @simtime, align 8, !tbaa !15
  %15307 = load ptr, ptr %2, align 8, !tbaa !5
  %15308 = getelementptr inbounds %struct.PDP6, ptr %15307, i32 0, i32 28
  %15309 = load i64, ptr %15308, align 8, !tbaa !34
  %15310 = icmp eq i64 %15309, 0
  br i1 %15310, label %15320, label %15311

15311:                                            ; preds = %15236
  %15312 = load ptr, ptr %2, align 8, !tbaa !5
  %15313 = getelementptr inbounds %struct.PDP6, ptr %15312, i32 0, i32 34
  %15314 = load i32, ptr %15313, align 8, !tbaa !33
  %15315 = add i32 %15314, 1
  %15316 = and i32 %15315, 262143
  %15317 = load ptr, ptr %2, align 8, !tbaa !5
  %15318 = getelementptr inbounds %struct.PDP6, ptr %15317, i32 0, i32 34
  store i32 %15316, ptr %15318, align 8, !tbaa !33
  %15319 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %15319)
  br label %15320

15320:                                            ; preds = %15311, %15236
  %15321 = load ptr, ptr %2, align 8, !tbaa !5
  %15322 = getelementptr inbounds %struct.PDP6, ptr %15321, i32 0, i32 31
  %15323 = load i64, ptr %15322, align 8, !tbaa !39
  store i64 %15323, ptr %4, align 8, !tbaa !15
  %15324 = load ptr, ptr %2, align 8, !tbaa !5
  %15325 = getelementptr inbounds %struct.PDP6, ptr %15324, i32 0, i32 28
  %15326 = load i64, ptr %15325, align 8, !tbaa !34
  %15327 = load ptr, ptr %2, align 8, !tbaa !5
  %15328 = getelementptr inbounds %struct.PDP6, ptr %15327, i32 0, i32 31
  store i64 %15326, ptr %15328, align 8, !tbaa !39
  %15329 = load i64, ptr %4, align 8, !tbaa !15
  %15330 = load ptr, ptr %2, align 8, !tbaa !5
  %15331 = getelementptr inbounds %struct.PDP6, ptr %15330, i32 0, i32 28
  store i64 %15329, ptr %15331, align 8, !tbaa !34
  %15332 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15332, ptr noundef @.str.121)
  %15333 = load i64, ptr @simtime, align 8, !tbaa !15
  %15334 = add i64 %15333, 200
  store i64 %15334, ptr @simtime, align 8, !tbaa !15
  %15335 = load ptr, ptr %2, align 8, !tbaa !5
  %15336 = getelementptr inbounds %struct.PDP6, ptr %15335, i32 0, i32 28
  %15337 = load i64, ptr %15336, align 8, !tbaa !34
  %15338 = load ptr, ptr %2, align 8, !tbaa !5
  %15339 = getelementptr inbounds %struct.PDP6, ptr %15338, i32 0, i32 31
  store i64 %15337, ptr %15339, align 8, !tbaa !39
  br label %17859

15340:                                            ; preds = %17
  %15341 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15341, ptr noundef @.str.41)
  %15342 = load i64, ptr @simtime, align 8, !tbaa !15
  %15343 = add i64 %15342, 100
  store i64 %15343, ptr @simtime, align 8, !tbaa !15
  %15344 = load ptr, ptr %2, align 8, !tbaa !5
  %15345 = getelementptr inbounds %struct.PDP6, ptr %15344, i32 0, i32 31
  %15346 = load i64, ptr %15345, align 8, !tbaa !39
  %15347 = load ptr, ptr %2, align 8, !tbaa !5
  %15348 = getelementptr inbounds %struct.PDP6, ptr %15347, i32 0, i32 28
  %15349 = load i64, ptr %15348, align 8, !tbaa !34
  %15350 = and i64 %15346, %15349
  store i64 %15350, ptr %4, align 8, !tbaa !15
  %15351 = load ptr, ptr %2, align 8, !tbaa !5
  %15352 = getelementptr inbounds %struct.PDP6, ptr %15351, i32 0, i32 31
  %15353 = load i64, ptr %15352, align 8, !tbaa !39
  %15354 = load ptr, ptr %2, align 8, !tbaa !5
  %15355 = getelementptr inbounds %struct.PDP6, ptr %15354, i32 0, i32 28
  %15356 = load i64, ptr %15355, align 8, !tbaa !34
  %15357 = or i64 %15356, %15353
  store i64 %15357, ptr %15355, align 8, !tbaa !34
  %15358 = load i64, ptr %4, align 8, !tbaa !15
  %15359 = load ptr, ptr %2, align 8, !tbaa !5
  %15360 = getelementptr inbounds %struct.PDP6, ptr %15359, i32 0, i32 31
  store i64 %15358, ptr %15360, align 8, !tbaa !39
  %15361 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15361, ptr noundef @.str.42)
  %15362 = load i64, ptr @simtime, align 8, !tbaa !15
  %15363 = add i64 %15362, 100
  store i64 %15363, ptr @simtime, align 8, !tbaa !15
  %15364 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15364, ptr noundef @.str.43)
  %15365 = load ptr, ptr %2, align 8, !tbaa !5
  %15366 = getelementptr inbounds %struct.PDP6, ptr %15365, i32 0, i32 31
  %15367 = load i64, ptr %15366, align 8, !tbaa !39
  store i64 %15367, ptr %4, align 8, !tbaa !15
  %15368 = load ptr, ptr %2, align 8, !tbaa !5
  %15369 = getelementptr inbounds %struct.PDP6, ptr %15368, i32 0, i32 28
  %15370 = load i64, ptr %15369, align 8, !tbaa !34
  %15371 = load ptr, ptr %2, align 8, !tbaa !5
  %15372 = getelementptr inbounds %struct.PDP6, ptr %15371, i32 0, i32 31
  store i64 %15370, ptr %15372, align 8, !tbaa !39
  %15373 = load i64, ptr %4, align 8, !tbaa !15
  %15374 = load ptr, ptr %2, align 8, !tbaa !5
  %15375 = getelementptr inbounds %struct.PDP6, ptr %15374, i32 0, i32 28
  store i64 %15373, ptr %15375, align 8, !tbaa !34
  %15376 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15376, ptr noundef @.str.65)
  %15377 = load i64, ptr @simtime, align 8, !tbaa !15
  %15378 = add i64 %15377, 100
  store i64 %15378, ptr @simtime, align 8, !tbaa !15
  %15379 = load ptr, ptr %2, align 8, !tbaa !5
  %15380 = getelementptr inbounds %struct.PDP6, ptr %15379, i32 0, i32 28
  %15381 = load i64, ptr %15380, align 8, !tbaa !34
  %15382 = xor i64 %15381, 68719476735
  store i64 %15382, ptr %15380, align 8, !tbaa !34
  %15383 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15383, ptr noundef @.str.122)
  %15384 = load i64, ptr @simtime, align 8, !tbaa !15
  %15385 = add i64 %15384, 100
  store i64 %15385, ptr @simtime, align 8, !tbaa !15
  %15386 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15386, ptr noundef @.str.125)
  %15387 = load i64, ptr @simtime, align 8, !tbaa !15
  %15388 = add i64 %15387, 100
  store i64 %15388, ptr @simtime, align 8, !tbaa !15
  %15389 = load ptr, ptr %2, align 8, !tbaa !5
  %15390 = getelementptr inbounds %struct.PDP6, ptr %15389, i32 0, i32 28
  %15391 = load i64, ptr %15390, align 8, !tbaa !34
  %15392 = xor i64 %15391, 68719476735
  store i64 %15392, ptr %15390, align 8, !tbaa !34
  %15393 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15393, ptr noundef @.str.126)
  %15394 = load i64, ptr @simtime, align 8, !tbaa !15
  %15395 = add i64 %15394, 100
  store i64 %15395, ptr @simtime, align 8, !tbaa !15
  %15396 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15396, ptr noundef @.str.127)
  %15397 = load i64, ptr @simtime, align 8, !tbaa !15
  %15398 = add i64 %15397, 200
  store i64 %15398, ptr @simtime, align 8, !tbaa !15
  %15399 = load ptr, ptr %2, align 8, !tbaa !5
  %15400 = getelementptr inbounds %struct.PDP6, ptr %15399, i32 0, i32 31
  %15401 = load i64, ptr %15400, align 8, !tbaa !39
  store i64 %15401, ptr %4, align 8, !tbaa !15
  %15402 = load ptr, ptr %2, align 8, !tbaa !5
  %15403 = getelementptr inbounds %struct.PDP6, ptr %15402, i32 0, i32 28
  %15404 = load i64, ptr %15403, align 8, !tbaa !34
  %15405 = load ptr, ptr %2, align 8, !tbaa !5
  %15406 = getelementptr inbounds %struct.PDP6, ptr %15405, i32 0, i32 31
  store i64 %15404, ptr %15406, align 8, !tbaa !39
  %15407 = load i64, ptr %4, align 8, !tbaa !15
  %15408 = load ptr, ptr %2, align 8, !tbaa !5
  %15409 = getelementptr inbounds %struct.PDP6, ptr %15408, i32 0, i32 28
  store i64 %15407, ptr %15409, align 8, !tbaa !34
  %15410 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15410, ptr noundef @.str.121)
  %15411 = load i64, ptr @simtime, align 8, !tbaa !15
  %15412 = add i64 %15411, 200
  store i64 %15412, ptr @simtime, align 8, !tbaa !15
  br label %17859

15413:                                            ; preds = %17
  %15414 = load ptr, ptr %2, align 8, !tbaa !5
  %15415 = getelementptr inbounds %struct.PDP6, ptr %15414, i32 0, i32 31
  %15416 = load i64, ptr %15415, align 8, !tbaa !39
  %15417 = shl i64 %15416, 18
  %15418 = load ptr, ptr %2, align 8, !tbaa !5
  %15419 = getelementptr inbounds %struct.PDP6, ptr %15418, i32 0, i32 31
  %15420 = load i64, ptr %15419, align 8, !tbaa !39
  %15421 = lshr i64 %15420, 18
  %15422 = or i64 %15417, %15421
  %15423 = and i64 %15422, 68719476735
  %15424 = load ptr, ptr %2, align 8, !tbaa !5
  %15425 = getelementptr inbounds %struct.PDP6, ptr %15424, i32 0, i32 31
  store i64 %15423, ptr %15425, align 8, !tbaa !39
  %15426 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15426, ptr noundef @.str.41)
  %15427 = load i64, ptr @simtime, align 8, !tbaa !15
  %15428 = add i64 %15427, 100
  store i64 %15428, ptr @simtime, align 8, !tbaa !15
  %15429 = load ptr, ptr %2, align 8, !tbaa !5
  %15430 = getelementptr inbounds %struct.PDP6, ptr %15429, i32 0, i32 31
  %15431 = load i64, ptr %15430, align 8, !tbaa !39
  %15432 = load ptr, ptr %2, align 8, !tbaa !5
  %15433 = getelementptr inbounds %struct.PDP6, ptr %15432, i32 0, i32 28
  %15434 = load i64, ptr %15433, align 8, !tbaa !34
  %15435 = and i64 %15431, %15434
  store i64 %15435, ptr %4, align 8, !tbaa !15
  %15436 = load ptr, ptr %2, align 8, !tbaa !5
  %15437 = getelementptr inbounds %struct.PDP6, ptr %15436, i32 0, i32 31
  %15438 = load i64, ptr %15437, align 8, !tbaa !39
  %15439 = load ptr, ptr %2, align 8, !tbaa !5
  %15440 = getelementptr inbounds %struct.PDP6, ptr %15439, i32 0, i32 28
  %15441 = load i64, ptr %15440, align 8, !tbaa !34
  %15442 = or i64 %15441, %15438
  store i64 %15442, ptr %15440, align 8, !tbaa !34
  %15443 = load i64, ptr %4, align 8, !tbaa !15
  %15444 = load ptr, ptr %2, align 8, !tbaa !5
  %15445 = getelementptr inbounds %struct.PDP6, ptr %15444, i32 0, i32 31
  store i64 %15443, ptr %15445, align 8, !tbaa !39
  %15446 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15446, ptr noundef @.str.42)
  %15447 = load i64, ptr @simtime, align 8, !tbaa !15
  %15448 = add i64 %15447, 100
  store i64 %15448, ptr @simtime, align 8, !tbaa !15
  %15449 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15449, ptr noundef @.str.43)
  %15450 = load ptr, ptr %2, align 8, !tbaa !5
  %15451 = getelementptr inbounds %struct.PDP6, ptr %15450, i32 0, i32 31
  %15452 = load i64, ptr %15451, align 8, !tbaa !39
  store i64 %15452, ptr %4, align 8, !tbaa !15
  %15453 = load ptr, ptr %2, align 8, !tbaa !5
  %15454 = getelementptr inbounds %struct.PDP6, ptr %15453, i32 0, i32 28
  %15455 = load i64, ptr %15454, align 8, !tbaa !34
  %15456 = load ptr, ptr %2, align 8, !tbaa !5
  %15457 = getelementptr inbounds %struct.PDP6, ptr %15456, i32 0, i32 31
  store i64 %15455, ptr %15457, align 8, !tbaa !39
  %15458 = load i64, ptr %4, align 8, !tbaa !15
  %15459 = load ptr, ptr %2, align 8, !tbaa !5
  %15460 = getelementptr inbounds %struct.PDP6, ptr %15459, i32 0, i32 28
  store i64 %15458, ptr %15460, align 8, !tbaa !34
  %15461 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15461, ptr noundef @.str.65)
  %15462 = load i64, ptr @simtime, align 8, !tbaa !15
  %15463 = add i64 %15462, 100
  store i64 %15463, ptr @simtime, align 8, !tbaa !15
  %15464 = load ptr, ptr %2, align 8, !tbaa !5
  %15465 = getelementptr inbounds %struct.PDP6, ptr %15464, i32 0, i32 28
  %15466 = load i64, ptr %15465, align 8, !tbaa !34
  %15467 = xor i64 %15466, 68719476735
  store i64 %15467, ptr %15465, align 8, !tbaa !34
  %15468 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15468, ptr noundef @.str.122)
  %15469 = load i64, ptr @simtime, align 8, !tbaa !15
  %15470 = add i64 %15469, 100
  store i64 %15470, ptr @simtime, align 8, !tbaa !15
  %15471 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15471, ptr noundef @.str.125)
  %15472 = load i64, ptr @simtime, align 8, !tbaa !15
  %15473 = add i64 %15472, 100
  store i64 %15473, ptr @simtime, align 8, !tbaa !15
  %15474 = load ptr, ptr %2, align 8, !tbaa !5
  %15475 = getelementptr inbounds %struct.PDP6, ptr %15474, i32 0, i32 28
  %15476 = load i64, ptr %15475, align 8, !tbaa !34
  %15477 = xor i64 %15476, 68719476735
  store i64 %15477, ptr %15475, align 8, !tbaa !34
  %15478 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15478, ptr noundef @.str.126)
  %15479 = load i64, ptr @simtime, align 8, !tbaa !15
  %15480 = add i64 %15479, 100
  store i64 %15480, ptr @simtime, align 8, !tbaa !15
  %15481 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15481, ptr noundef @.str.127)
  %15482 = load i64, ptr @simtime, align 8, !tbaa !15
  %15483 = add i64 %15482, 200
  store i64 %15483, ptr @simtime, align 8, !tbaa !15
  %15484 = load ptr, ptr %2, align 8, !tbaa !5
  %15485 = getelementptr inbounds %struct.PDP6, ptr %15484, i32 0, i32 31
  %15486 = load i64, ptr %15485, align 8, !tbaa !39
  store i64 %15486, ptr %4, align 8, !tbaa !15
  %15487 = load ptr, ptr %2, align 8, !tbaa !5
  %15488 = getelementptr inbounds %struct.PDP6, ptr %15487, i32 0, i32 28
  %15489 = load i64, ptr %15488, align 8, !tbaa !34
  %15490 = load ptr, ptr %2, align 8, !tbaa !5
  %15491 = getelementptr inbounds %struct.PDP6, ptr %15490, i32 0, i32 31
  store i64 %15489, ptr %15491, align 8, !tbaa !39
  %15492 = load i64, ptr %4, align 8, !tbaa !15
  %15493 = load ptr, ptr %2, align 8, !tbaa !5
  %15494 = getelementptr inbounds %struct.PDP6, ptr %15493, i32 0, i32 28
  store i64 %15492, ptr %15494, align 8, !tbaa !34
  %15495 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15495, ptr noundef @.str.121)
  %15496 = load i64, ptr @simtime, align 8, !tbaa !15
  %15497 = add i64 %15496, 200
  store i64 %15497, ptr @simtime, align 8, !tbaa !15
  br label %17859

15498:                                            ; preds = %17
  %15499 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15499, ptr noundef @.str.41)
  %15500 = load i64, ptr @simtime, align 8, !tbaa !15
  %15501 = add i64 %15500, 100
  store i64 %15501, ptr @simtime, align 8, !tbaa !15
  %15502 = load ptr, ptr %2, align 8, !tbaa !5
  %15503 = getelementptr inbounds %struct.PDP6, ptr %15502, i32 0, i32 31
  %15504 = load i64, ptr %15503, align 8, !tbaa !39
  %15505 = load ptr, ptr %2, align 8, !tbaa !5
  %15506 = getelementptr inbounds %struct.PDP6, ptr %15505, i32 0, i32 28
  %15507 = load i64, ptr %15506, align 8, !tbaa !34
  %15508 = and i64 %15504, %15507
  store i64 %15508, ptr %4, align 8, !tbaa !15
  %15509 = load ptr, ptr %2, align 8, !tbaa !5
  %15510 = getelementptr inbounds %struct.PDP6, ptr %15509, i32 0, i32 31
  %15511 = load i64, ptr %15510, align 8, !tbaa !39
  %15512 = load ptr, ptr %2, align 8, !tbaa !5
  %15513 = getelementptr inbounds %struct.PDP6, ptr %15512, i32 0, i32 28
  %15514 = load i64, ptr %15513, align 8, !tbaa !34
  %15515 = or i64 %15514, %15511
  store i64 %15515, ptr %15513, align 8, !tbaa !34
  %15516 = load i64, ptr %4, align 8, !tbaa !15
  %15517 = load ptr, ptr %2, align 8, !tbaa !5
  %15518 = getelementptr inbounds %struct.PDP6, ptr %15517, i32 0, i32 31
  store i64 %15516, ptr %15518, align 8, !tbaa !39
  %15519 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15519, ptr noundef @.str.42)
  %15520 = load i64, ptr @simtime, align 8, !tbaa !15
  %15521 = add i64 %15520, 100
  store i64 %15521, ptr @simtime, align 8, !tbaa !15
  %15522 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15522, ptr noundef @.str.43)
  %15523 = load ptr, ptr %2, align 8, !tbaa !5
  %15524 = getelementptr inbounds %struct.PDP6, ptr %15523, i32 0, i32 31
  %15525 = load i64, ptr %15524, align 8, !tbaa !39
  store i64 %15525, ptr %4, align 8, !tbaa !15
  %15526 = load ptr, ptr %2, align 8, !tbaa !5
  %15527 = getelementptr inbounds %struct.PDP6, ptr %15526, i32 0, i32 28
  %15528 = load i64, ptr %15527, align 8, !tbaa !34
  %15529 = load ptr, ptr %2, align 8, !tbaa !5
  %15530 = getelementptr inbounds %struct.PDP6, ptr %15529, i32 0, i32 31
  store i64 %15528, ptr %15530, align 8, !tbaa !39
  %15531 = load i64, ptr %4, align 8, !tbaa !15
  %15532 = load ptr, ptr %2, align 8, !tbaa !5
  %15533 = getelementptr inbounds %struct.PDP6, ptr %15532, i32 0, i32 28
  store i64 %15531, ptr %15533, align 8, !tbaa !34
  %15534 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15534, ptr noundef @.str.65)
  %15535 = load i64, ptr @simtime, align 8, !tbaa !15
  %15536 = add i64 %15535, 100
  store i64 %15536, ptr @simtime, align 8, !tbaa !15
  %15537 = load ptr, ptr %2, align 8, !tbaa !5
  %15538 = getelementptr inbounds %struct.PDP6, ptr %15537, i32 0, i32 28
  %15539 = load i64, ptr %15538, align 8, !tbaa !34
  %15540 = xor i64 %15539, 68719476735
  store i64 %15540, ptr %15538, align 8, !tbaa !34
  %15541 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15541, ptr noundef @.str.122)
  %15542 = load i64, ptr @simtime, align 8, !tbaa !15
  %15543 = add i64 %15542, 100
  store i64 %15543, ptr @simtime, align 8, !tbaa !15
  %15544 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15544, ptr noundef @.str.125)
  %15545 = load i64, ptr @simtime, align 8, !tbaa !15
  %15546 = add i64 %15545, 100
  store i64 %15546, ptr @simtime, align 8, !tbaa !15
  %15547 = load ptr, ptr %2, align 8, !tbaa !5
  %15548 = getelementptr inbounds %struct.PDP6, ptr %15547, i32 0, i32 28
  %15549 = load i64, ptr %15548, align 8, !tbaa !34
  %15550 = xor i64 %15549, 68719476735
  store i64 %15550, ptr %15548, align 8, !tbaa !34
  %15551 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15551, ptr noundef @.str.126)
  %15552 = load i64, ptr @simtime, align 8, !tbaa !15
  %15553 = add i64 %15552, 100
  store i64 %15553, ptr @simtime, align 8, !tbaa !15
  %15554 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15554, ptr noundef @.str.127)
  %15555 = load i64, ptr @simtime, align 8, !tbaa !15
  %15556 = add i64 %15555, 200
  store i64 %15556, ptr @simtime, align 8, !tbaa !15
  %15557 = load ptr, ptr %2, align 8, !tbaa !5
  %15558 = getelementptr inbounds %struct.PDP6, ptr %15557, i32 0, i32 28
  %15559 = load i64, ptr %15558, align 8, !tbaa !34
  %15560 = icmp eq i64 %15559, 0
  br i1 %15560, label %15561, label %15570

15561:                                            ; preds = %15498
  %15562 = load ptr, ptr %2, align 8, !tbaa !5
  %15563 = getelementptr inbounds %struct.PDP6, ptr %15562, i32 0, i32 34
  %15564 = load i32, ptr %15563, align 8, !tbaa !33
  %15565 = add i32 %15564, 1
  %15566 = and i32 %15565, 262143
  %15567 = load ptr, ptr %2, align 8, !tbaa !5
  %15568 = getelementptr inbounds %struct.PDP6, ptr %15567, i32 0, i32 34
  store i32 %15566, ptr %15568, align 8, !tbaa !33
  %15569 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %15569)
  br label %15570

15570:                                            ; preds = %15561, %15498
  %15571 = load ptr, ptr %2, align 8, !tbaa !5
  %15572 = getelementptr inbounds %struct.PDP6, ptr %15571, i32 0, i32 31
  %15573 = load i64, ptr %15572, align 8, !tbaa !39
  store i64 %15573, ptr %4, align 8, !tbaa !15
  %15574 = load ptr, ptr %2, align 8, !tbaa !5
  %15575 = getelementptr inbounds %struct.PDP6, ptr %15574, i32 0, i32 28
  %15576 = load i64, ptr %15575, align 8, !tbaa !34
  %15577 = load ptr, ptr %2, align 8, !tbaa !5
  %15578 = getelementptr inbounds %struct.PDP6, ptr %15577, i32 0, i32 31
  store i64 %15576, ptr %15578, align 8, !tbaa !39
  %15579 = load i64, ptr %4, align 8, !tbaa !15
  %15580 = load ptr, ptr %2, align 8, !tbaa !5
  %15581 = getelementptr inbounds %struct.PDP6, ptr %15580, i32 0, i32 28
  store i64 %15579, ptr %15581, align 8, !tbaa !34
  %15582 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15582, ptr noundef @.str.121)
  %15583 = load i64, ptr @simtime, align 8, !tbaa !15
  %15584 = add i64 %15583, 200
  store i64 %15584, ptr @simtime, align 8, !tbaa !15
  %15585 = load ptr, ptr %2, align 8, !tbaa !5
  %15586 = getelementptr inbounds %struct.PDP6, ptr %15585, i32 0, i32 28
  %15587 = load i64, ptr %15586, align 8, !tbaa !34
  %15588 = load ptr, ptr %2, align 8, !tbaa !5
  %15589 = getelementptr inbounds %struct.PDP6, ptr %15588, i32 0, i32 31
  store i64 %15587, ptr %15589, align 8, !tbaa !39
  br label %17859

15590:                                            ; preds = %17
  %15591 = load ptr, ptr %2, align 8, !tbaa !5
  %15592 = getelementptr inbounds %struct.PDP6, ptr %15591, i32 0, i32 31
  %15593 = load i64, ptr %15592, align 8, !tbaa !39
  %15594 = shl i64 %15593, 18
  %15595 = load ptr, ptr %2, align 8, !tbaa !5
  %15596 = getelementptr inbounds %struct.PDP6, ptr %15595, i32 0, i32 31
  %15597 = load i64, ptr %15596, align 8, !tbaa !39
  %15598 = lshr i64 %15597, 18
  %15599 = or i64 %15594, %15598
  %15600 = and i64 %15599, 68719476735
  %15601 = load ptr, ptr %2, align 8, !tbaa !5
  %15602 = getelementptr inbounds %struct.PDP6, ptr %15601, i32 0, i32 31
  store i64 %15600, ptr %15602, align 8, !tbaa !39
  %15603 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15603, ptr noundef @.str.41)
  %15604 = load i64, ptr @simtime, align 8, !tbaa !15
  %15605 = add i64 %15604, 100
  store i64 %15605, ptr @simtime, align 8, !tbaa !15
  %15606 = load ptr, ptr %2, align 8, !tbaa !5
  %15607 = getelementptr inbounds %struct.PDP6, ptr %15606, i32 0, i32 31
  %15608 = load i64, ptr %15607, align 8, !tbaa !39
  %15609 = load ptr, ptr %2, align 8, !tbaa !5
  %15610 = getelementptr inbounds %struct.PDP6, ptr %15609, i32 0, i32 28
  %15611 = load i64, ptr %15610, align 8, !tbaa !34
  %15612 = and i64 %15608, %15611
  store i64 %15612, ptr %4, align 8, !tbaa !15
  %15613 = load ptr, ptr %2, align 8, !tbaa !5
  %15614 = getelementptr inbounds %struct.PDP6, ptr %15613, i32 0, i32 31
  %15615 = load i64, ptr %15614, align 8, !tbaa !39
  %15616 = load ptr, ptr %2, align 8, !tbaa !5
  %15617 = getelementptr inbounds %struct.PDP6, ptr %15616, i32 0, i32 28
  %15618 = load i64, ptr %15617, align 8, !tbaa !34
  %15619 = or i64 %15618, %15615
  store i64 %15619, ptr %15617, align 8, !tbaa !34
  %15620 = load i64, ptr %4, align 8, !tbaa !15
  %15621 = load ptr, ptr %2, align 8, !tbaa !5
  %15622 = getelementptr inbounds %struct.PDP6, ptr %15621, i32 0, i32 31
  store i64 %15620, ptr %15622, align 8, !tbaa !39
  %15623 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15623, ptr noundef @.str.42)
  %15624 = load i64, ptr @simtime, align 8, !tbaa !15
  %15625 = add i64 %15624, 100
  store i64 %15625, ptr @simtime, align 8, !tbaa !15
  %15626 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15626, ptr noundef @.str.43)
  %15627 = load ptr, ptr %2, align 8, !tbaa !5
  %15628 = getelementptr inbounds %struct.PDP6, ptr %15627, i32 0, i32 31
  %15629 = load i64, ptr %15628, align 8, !tbaa !39
  store i64 %15629, ptr %4, align 8, !tbaa !15
  %15630 = load ptr, ptr %2, align 8, !tbaa !5
  %15631 = getelementptr inbounds %struct.PDP6, ptr %15630, i32 0, i32 28
  %15632 = load i64, ptr %15631, align 8, !tbaa !34
  %15633 = load ptr, ptr %2, align 8, !tbaa !5
  %15634 = getelementptr inbounds %struct.PDP6, ptr %15633, i32 0, i32 31
  store i64 %15632, ptr %15634, align 8, !tbaa !39
  %15635 = load i64, ptr %4, align 8, !tbaa !15
  %15636 = load ptr, ptr %2, align 8, !tbaa !5
  %15637 = getelementptr inbounds %struct.PDP6, ptr %15636, i32 0, i32 28
  store i64 %15635, ptr %15637, align 8, !tbaa !34
  %15638 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15638, ptr noundef @.str.65)
  %15639 = load i64, ptr @simtime, align 8, !tbaa !15
  %15640 = add i64 %15639, 100
  store i64 %15640, ptr @simtime, align 8, !tbaa !15
  %15641 = load ptr, ptr %2, align 8, !tbaa !5
  %15642 = getelementptr inbounds %struct.PDP6, ptr %15641, i32 0, i32 28
  %15643 = load i64, ptr %15642, align 8, !tbaa !34
  %15644 = xor i64 %15643, 68719476735
  store i64 %15644, ptr %15642, align 8, !tbaa !34
  %15645 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15645, ptr noundef @.str.122)
  %15646 = load i64, ptr @simtime, align 8, !tbaa !15
  %15647 = add i64 %15646, 100
  store i64 %15647, ptr @simtime, align 8, !tbaa !15
  %15648 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15648, ptr noundef @.str.125)
  %15649 = load i64, ptr @simtime, align 8, !tbaa !15
  %15650 = add i64 %15649, 100
  store i64 %15650, ptr @simtime, align 8, !tbaa !15
  %15651 = load ptr, ptr %2, align 8, !tbaa !5
  %15652 = getelementptr inbounds %struct.PDP6, ptr %15651, i32 0, i32 28
  %15653 = load i64, ptr %15652, align 8, !tbaa !34
  %15654 = xor i64 %15653, 68719476735
  store i64 %15654, ptr %15652, align 8, !tbaa !34
  %15655 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15655, ptr noundef @.str.126)
  %15656 = load i64, ptr @simtime, align 8, !tbaa !15
  %15657 = add i64 %15656, 100
  store i64 %15657, ptr @simtime, align 8, !tbaa !15
  %15658 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15658, ptr noundef @.str.127)
  %15659 = load i64, ptr @simtime, align 8, !tbaa !15
  %15660 = add i64 %15659, 200
  store i64 %15660, ptr @simtime, align 8, !tbaa !15
  %15661 = load ptr, ptr %2, align 8, !tbaa !5
  %15662 = getelementptr inbounds %struct.PDP6, ptr %15661, i32 0, i32 28
  %15663 = load i64, ptr %15662, align 8, !tbaa !34
  %15664 = icmp eq i64 %15663, 0
  br i1 %15664, label %15665, label %15674

15665:                                            ; preds = %15590
  %15666 = load ptr, ptr %2, align 8, !tbaa !5
  %15667 = getelementptr inbounds %struct.PDP6, ptr %15666, i32 0, i32 34
  %15668 = load i32, ptr %15667, align 8, !tbaa !33
  %15669 = add i32 %15668, 1
  %15670 = and i32 %15669, 262143
  %15671 = load ptr, ptr %2, align 8, !tbaa !5
  %15672 = getelementptr inbounds %struct.PDP6, ptr %15671, i32 0, i32 34
  store i32 %15670, ptr %15672, align 8, !tbaa !33
  %15673 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %15673)
  br label %15674

15674:                                            ; preds = %15665, %15590
  %15675 = load ptr, ptr %2, align 8, !tbaa !5
  %15676 = getelementptr inbounds %struct.PDP6, ptr %15675, i32 0, i32 31
  %15677 = load i64, ptr %15676, align 8, !tbaa !39
  store i64 %15677, ptr %4, align 8, !tbaa !15
  %15678 = load ptr, ptr %2, align 8, !tbaa !5
  %15679 = getelementptr inbounds %struct.PDP6, ptr %15678, i32 0, i32 28
  %15680 = load i64, ptr %15679, align 8, !tbaa !34
  %15681 = load ptr, ptr %2, align 8, !tbaa !5
  %15682 = getelementptr inbounds %struct.PDP6, ptr %15681, i32 0, i32 31
  store i64 %15680, ptr %15682, align 8, !tbaa !39
  %15683 = load i64, ptr %4, align 8, !tbaa !15
  %15684 = load ptr, ptr %2, align 8, !tbaa !5
  %15685 = getelementptr inbounds %struct.PDP6, ptr %15684, i32 0, i32 28
  store i64 %15683, ptr %15685, align 8, !tbaa !34
  %15686 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15686, ptr noundef @.str.121)
  %15687 = load i64, ptr @simtime, align 8, !tbaa !15
  %15688 = add i64 %15687, 200
  store i64 %15688, ptr @simtime, align 8, !tbaa !15
  %15689 = load ptr, ptr %2, align 8, !tbaa !5
  %15690 = getelementptr inbounds %struct.PDP6, ptr %15689, i32 0, i32 28
  %15691 = load i64, ptr %15690, align 8, !tbaa !34
  %15692 = load ptr, ptr %2, align 8, !tbaa !5
  %15693 = getelementptr inbounds %struct.PDP6, ptr %15692, i32 0, i32 31
  store i64 %15691, ptr %15693, align 8, !tbaa !39
  br label %17859

15694:                                            ; preds = %17
  %15695 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15695, ptr noundef @.str.41)
  %15696 = load i64, ptr @simtime, align 8, !tbaa !15
  %15697 = add i64 %15696, 100
  store i64 %15697, ptr @simtime, align 8, !tbaa !15
  %15698 = load ptr, ptr %2, align 8, !tbaa !5
  %15699 = getelementptr inbounds %struct.PDP6, ptr %15698, i32 0, i32 31
  %15700 = load i64, ptr %15699, align 8, !tbaa !39
  %15701 = load ptr, ptr %2, align 8, !tbaa !5
  %15702 = getelementptr inbounds %struct.PDP6, ptr %15701, i32 0, i32 28
  %15703 = load i64, ptr %15702, align 8, !tbaa !34
  %15704 = and i64 %15700, %15703
  store i64 %15704, ptr %4, align 8, !tbaa !15
  %15705 = load ptr, ptr %2, align 8, !tbaa !5
  %15706 = getelementptr inbounds %struct.PDP6, ptr %15705, i32 0, i32 31
  %15707 = load i64, ptr %15706, align 8, !tbaa !39
  %15708 = load ptr, ptr %2, align 8, !tbaa !5
  %15709 = getelementptr inbounds %struct.PDP6, ptr %15708, i32 0, i32 28
  %15710 = load i64, ptr %15709, align 8, !tbaa !34
  %15711 = or i64 %15710, %15707
  store i64 %15711, ptr %15709, align 8, !tbaa !34
  %15712 = load i64, ptr %4, align 8, !tbaa !15
  %15713 = load ptr, ptr %2, align 8, !tbaa !5
  %15714 = getelementptr inbounds %struct.PDP6, ptr %15713, i32 0, i32 31
  store i64 %15712, ptr %15714, align 8, !tbaa !39
  %15715 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15715, ptr noundef @.str.42)
  %15716 = load i64, ptr @simtime, align 8, !tbaa !15
  %15717 = add i64 %15716, 100
  store i64 %15717, ptr @simtime, align 8, !tbaa !15
  %15718 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15718, ptr noundef @.str.43)
  %15719 = load ptr, ptr %2, align 8, !tbaa !5
  %15720 = getelementptr inbounds %struct.PDP6, ptr %15719, i32 0, i32 31
  %15721 = load i64, ptr %15720, align 8, !tbaa !39
  store i64 %15721, ptr %4, align 8, !tbaa !15
  %15722 = load ptr, ptr %2, align 8, !tbaa !5
  %15723 = getelementptr inbounds %struct.PDP6, ptr %15722, i32 0, i32 28
  %15724 = load i64, ptr %15723, align 8, !tbaa !34
  %15725 = load ptr, ptr %2, align 8, !tbaa !5
  %15726 = getelementptr inbounds %struct.PDP6, ptr %15725, i32 0, i32 31
  store i64 %15724, ptr %15726, align 8, !tbaa !39
  %15727 = load i64, ptr %4, align 8, !tbaa !15
  %15728 = load ptr, ptr %2, align 8, !tbaa !5
  %15729 = getelementptr inbounds %struct.PDP6, ptr %15728, i32 0, i32 28
  store i64 %15727, ptr %15729, align 8, !tbaa !34
  %15730 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15730, ptr noundef @.str.65)
  %15731 = load i64, ptr @simtime, align 8, !tbaa !15
  %15732 = add i64 %15731, 100
  store i64 %15732, ptr @simtime, align 8, !tbaa !15
  %15733 = load ptr, ptr %2, align 8, !tbaa !5
  %15734 = getelementptr inbounds %struct.PDP6, ptr %15733, i32 0, i32 28
  %15735 = load i64, ptr %15734, align 8, !tbaa !34
  %15736 = xor i64 %15735, 68719476735
  store i64 %15736, ptr %15734, align 8, !tbaa !34
  %15737 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15737, ptr noundef @.str.122)
  %15738 = load i64, ptr @simtime, align 8, !tbaa !15
  %15739 = add i64 %15738, 100
  store i64 %15739, ptr @simtime, align 8, !tbaa !15
  %15740 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15740, ptr noundef @.str.125)
  %15741 = load i64, ptr @simtime, align 8, !tbaa !15
  %15742 = add i64 %15741, 100
  store i64 %15742, ptr @simtime, align 8, !tbaa !15
  %15743 = load ptr, ptr %2, align 8, !tbaa !5
  %15744 = getelementptr inbounds %struct.PDP6, ptr %15743, i32 0, i32 28
  %15745 = load i64, ptr %15744, align 8, !tbaa !34
  %15746 = xor i64 %15745, 68719476735
  store i64 %15746, ptr %15744, align 8, !tbaa !34
  %15747 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15747, ptr noundef @.str.126)
  %15748 = load i64, ptr @simtime, align 8, !tbaa !15
  %15749 = add i64 %15748, 100
  store i64 %15749, ptr @simtime, align 8, !tbaa !15
  %15750 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15750, ptr noundef @.str.127)
  %15751 = load i64, ptr @simtime, align 8, !tbaa !15
  %15752 = add i64 %15751, 200
  store i64 %15752, ptr @simtime, align 8, !tbaa !15
  %15753 = load ptr, ptr %2, align 8, !tbaa !5
  %15754 = getelementptr inbounds %struct.PDP6, ptr %15753, i32 0, i32 34
  %15755 = load i32, ptr %15754, align 8, !tbaa !33
  %15756 = add i32 %15755, 1
  %15757 = and i32 %15756, 262143
  %15758 = load ptr, ptr %2, align 8, !tbaa !5
  %15759 = getelementptr inbounds %struct.PDP6, ptr %15758, i32 0, i32 34
  store i32 %15757, ptr %15759, align 8, !tbaa !33
  %15760 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %15760)
  %15761 = load ptr, ptr %2, align 8, !tbaa !5
  %15762 = getelementptr inbounds %struct.PDP6, ptr %15761, i32 0, i32 31
  %15763 = load i64, ptr %15762, align 8, !tbaa !39
  store i64 %15763, ptr %4, align 8, !tbaa !15
  %15764 = load ptr, ptr %2, align 8, !tbaa !5
  %15765 = getelementptr inbounds %struct.PDP6, ptr %15764, i32 0, i32 28
  %15766 = load i64, ptr %15765, align 8, !tbaa !34
  %15767 = load ptr, ptr %2, align 8, !tbaa !5
  %15768 = getelementptr inbounds %struct.PDP6, ptr %15767, i32 0, i32 31
  store i64 %15766, ptr %15768, align 8, !tbaa !39
  %15769 = load i64, ptr %4, align 8, !tbaa !15
  %15770 = load ptr, ptr %2, align 8, !tbaa !5
  %15771 = getelementptr inbounds %struct.PDP6, ptr %15770, i32 0, i32 28
  store i64 %15769, ptr %15771, align 8, !tbaa !34
  %15772 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15772, ptr noundef @.str.121)
  %15773 = load i64, ptr @simtime, align 8, !tbaa !15
  %15774 = add i64 %15773, 200
  store i64 %15774, ptr @simtime, align 8, !tbaa !15
  br label %17859

15775:                                            ; preds = %17
  %15776 = load ptr, ptr %2, align 8, !tbaa !5
  %15777 = getelementptr inbounds %struct.PDP6, ptr %15776, i32 0, i32 31
  %15778 = load i64, ptr %15777, align 8, !tbaa !39
  %15779 = shl i64 %15778, 18
  %15780 = load ptr, ptr %2, align 8, !tbaa !5
  %15781 = getelementptr inbounds %struct.PDP6, ptr %15780, i32 0, i32 31
  %15782 = load i64, ptr %15781, align 8, !tbaa !39
  %15783 = lshr i64 %15782, 18
  %15784 = or i64 %15779, %15783
  %15785 = and i64 %15784, 68719476735
  %15786 = load ptr, ptr %2, align 8, !tbaa !5
  %15787 = getelementptr inbounds %struct.PDP6, ptr %15786, i32 0, i32 31
  store i64 %15785, ptr %15787, align 8, !tbaa !39
  %15788 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15788, ptr noundef @.str.41)
  %15789 = load i64, ptr @simtime, align 8, !tbaa !15
  %15790 = add i64 %15789, 100
  store i64 %15790, ptr @simtime, align 8, !tbaa !15
  %15791 = load ptr, ptr %2, align 8, !tbaa !5
  %15792 = getelementptr inbounds %struct.PDP6, ptr %15791, i32 0, i32 31
  %15793 = load i64, ptr %15792, align 8, !tbaa !39
  %15794 = load ptr, ptr %2, align 8, !tbaa !5
  %15795 = getelementptr inbounds %struct.PDP6, ptr %15794, i32 0, i32 28
  %15796 = load i64, ptr %15795, align 8, !tbaa !34
  %15797 = and i64 %15793, %15796
  store i64 %15797, ptr %4, align 8, !tbaa !15
  %15798 = load ptr, ptr %2, align 8, !tbaa !5
  %15799 = getelementptr inbounds %struct.PDP6, ptr %15798, i32 0, i32 31
  %15800 = load i64, ptr %15799, align 8, !tbaa !39
  %15801 = load ptr, ptr %2, align 8, !tbaa !5
  %15802 = getelementptr inbounds %struct.PDP6, ptr %15801, i32 0, i32 28
  %15803 = load i64, ptr %15802, align 8, !tbaa !34
  %15804 = or i64 %15803, %15800
  store i64 %15804, ptr %15802, align 8, !tbaa !34
  %15805 = load i64, ptr %4, align 8, !tbaa !15
  %15806 = load ptr, ptr %2, align 8, !tbaa !5
  %15807 = getelementptr inbounds %struct.PDP6, ptr %15806, i32 0, i32 31
  store i64 %15805, ptr %15807, align 8, !tbaa !39
  %15808 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15808, ptr noundef @.str.42)
  %15809 = load i64, ptr @simtime, align 8, !tbaa !15
  %15810 = add i64 %15809, 100
  store i64 %15810, ptr @simtime, align 8, !tbaa !15
  %15811 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15811, ptr noundef @.str.43)
  %15812 = load ptr, ptr %2, align 8, !tbaa !5
  %15813 = getelementptr inbounds %struct.PDP6, ptr %15812, i32 0, i32 31
  %15814 = load i64, ptr %15813, align 8, !tbaa !39
  store i64 %15814, ptr %4, align 8, !tbaa !15
  %15815 = load ptr, ptr %2, align 8, !tbaa !5
  %15816 = getelementptr inbounds %struct.PDP6, ptr %15815, i32 0, i32 28
  %15817 = load i64, ptr %15816, align 8, !tbaa !34
  %15818 = load ptr, ptr %2, align 8, !tbaa !5
  %15819 = getelementptr inbounds %struct.PDP6, ptr %15818, i32 0, i32 31
  store i64 %15817, ptr %15819, align 8, !tbaa !39
  %15820 = load i64, ptr %4, align 8, !tbaa !15
  %15821 = load ptr, ptr %2, align 8, !tbaa !5
  %15822 = getelementptr inbounds %struct.PDP6, ptr %15821, i32 0, i32 28
  store i64 %15820, ptr %15822, align 8, !tbaa !34
  %15823 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15823, ptr noundef @.str.65)
  %15824 = load i64, ptr @simtime, align 8, !tbaa !15
  %15825 = add i64 %15824, 100
  store i64 %15825, ptr @simtime, align 8, !tbaa !15
  %15826 = load ptr, ptr %2, align 8, !tbaa !5
  %15827 = getelementptr inbounds %struct.PDP6, ptr %15826, i32 0, i32 28
  %15828 = load i64, ptr %15827, align 8, !tbaa !34
  %15829 = xor i64 %15828, 68719476735
  store i64 %15829, ptr %15827, align 8, !tbaa !34
  %15830 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15830, ptr noundef @.str.122)
  %15831 = load i64, ptr @simtime, align 8, !tbaa !15
  %15832 = add i64 %15831, 100
  store i64 %15832, ptr @simtime, align 8, !tbaa !15
  %15833 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15833, ptr noundef @.str.125)
  %15834 = load i64, ptr @simtime, align 8, !tbaa !15
  %15835 = add i64 %15834, 100
  store i64 %15835, ptr @simtime, align 8, !tbaa !15
  %15836 = load ptr, ptr %2, align 8, !tbaa !5
  %15837 = getelementptr inbounds %struct.PDP6, ptr %15836, i32 0, i32 28
  %15838 = load i64, ptr %15837, align 8, !tbaa !34
  %15839 = xor i64 %15838, 68719476735
  store i64 %15839, ptr %15837, align 8, !tbaa !34
  %15840 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15840, ptr noundef @.str.126)
  %15841 = load i64, ptr @simtime, align 8, !tbaa !15
  %15842 = add i64 %15841, 100
  store i64 %15842, ptr @simtime, align 8, !tbaa !15
  %15843 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15843, ptr noundef @.str.127)
  %15844 = load i64, ptr @simtime, align 8, !tbaa !15
  %15845 = add i64 %15844, 200
  store i64 %15845, ptr @simtime, align 8, !tbaa !15
  %15846 = load ptr, ptr %2, align 8, !tbaa !5
  %15847 = getelementptr inbounds %struct.PDP6, ptr %15846, i32 0, i32 34
  %15848 = load i32, ptr %15847, align 8, !tbaa !33
  %15849 = add i32 %15848, 1
  %15850 = and i32 %15849, 262143
  %15851 = load ptr, ptr %2, align 8, !tbaa !5
  %15852 = getelementptr inbounds %struct.PDP6, ptr %15851, i32 0, i32 34
  store i32 %15850, ptr %15852, align 8, !tbaa !33
  %15853 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %15853)
  %15854 = load ptr, ptr %2, align 8, !tbaa !5
  %15855 = getelementptr inbounds %struct.PDP6, ptr %15854, i32 0, i32 31
  %15856 = load i64, ptr %15855, align 8, !tbaa !39
  store i64 %15856, ptr %4, align 8, !tbaa !15
  %15857 = load ptr, ptr %2, align 8, !tbaa !5
  %15858 = getelementptr inbounds %struct.PDP6, ptr %15857, i32 0, i32 28
  %15859 = load i64, ptr %15858, align 8, !tbaa !34
  %15860 = load ptr, ptr %2, align 8, !tbaa !5
  %15861 = getelementptr inbounds %struct.PDP6, ptr %15860, i32 0, i32 31
  store i64 %15859, ptr %15861, align 8, !tbaa !39
  %15862 = load i64, ptr %4, align 8, !tbaa !15
  %15863 = load ptr, ptr %2, align 8, !tbaa !5
  %15864 = getelementptr inbounds %struct.PDP6, ptr %15863, i32 0, i32 28
  store i64 %15862, ptr %15864, align 8, !tbaa !34
  %15865 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15865, ptr noundef @.str.121)
  %15866 = load i64, ptr @simtime, align 8, !tbaa !15
  %15867 = add i64 %15866, 200
  store i64 %15867, ptr @simtime, align 8, !tbaa !15
  br label %17859

15868:                                            ; preds = %17
  %15869 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15869, ptr noundef @.str.41)
  %15870 = load i64, ptr @simtime, align 8, !tbaa !15
  %15871 = add i64 %15870, 100
  store i64 %15871, ptr @simtime, align 8, !tbaa !15
  %15872 = load ptr, ptr %2, align 8, !tbaa !5
  %15873 = getelementptr inbounds %struct.PDP6, ptr %15872, i32 0, i32 31
  %15874 = load i64, ptr %15873, align 8, !tbaa !39
  %15875 = load ptr, ptr %2, align 8, !tbaa !5
  %15876 = getelementptr inbounds %struct.PDP6, ptr %15875, i32 0, i32 28
  %15877 = load i64, ptr %15876, align 8, !tbaa !34
  %15878 = and i64 %15874, %15877
  store i64 %15878, ptr %4, align 8, !tbaa !15
  %15879 = load ptr, ptr %2, align 8, !tbaa !5
  %15880 = getelementptr inbounds %struct.PDP6, ptr %15879, i32 0, i32 31
  %15881 = load i64, ptr %15880, align 8, !tbaa !39
  %15882 = load ptr, ptr %2, align 8, !tbaa !5
  %15883 = getelementptr inbounds %struct.PDP6, ptr %15882, i32 0, i32 28
  %15884 = load i64, ptr %15883, align 8, !tbaa !34
  %15885 = or i64 %15884, %15881
  store i64 %15885, ptr %15883, align 8, !tbaa !34
  %15886 = load i64, ptr %4, align 8, !tbaa !15
  %15887 = load ptr, ptr %2, align 8, !tbaa !5
  %15888 = getelementptr inbounds %struct.PDP6, ptr %15887, i32 0, i32 31
  store i64 %15886, ptr %15888, align 8, !tbaa !39
  %15889 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15889, ptr noundef @.str.42)
  %15890 = load i64, ptr @simtime, align 8, !tbaa !15
  %15891 = add i64 %15890, 100
  store i64 %15891, ptr @simtime, align 8, !tbaa !15
  %15892 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15892, ptr noundef @.str.43)
  %15893 = load ptr, ptr %2, align 8, !tbaa !5
  %15894 = getelementptr inbounds %struct.PDP6, ptr %15893, i32 0, i32 31
  %15895 = load i64, ptr %15894, align 8, !tbaa !39
  store i64 %15895, ptr %4, align 8, !tbaa !15
  %15896 = load ptr, ptr %2, align 8, !tbaa !5
  %15897 = getelementptr inbounds %struct.PDP6, ptr %15896, i32 0, i32 28
  %15898 = load i64, ptr %15897, align 8, !tbaa !34
  %15899 = load ptr, ptr %2, align 8, !tbaa !5
  %15900 = getelementptr inbounds %struct.PDP6, ptr %15899, i32 0, i32 31
  store i64 %15898, ptr %15900, align 8, !tbaa !39
  %15901 = load i64, ptr %4, align 8, !tbaa !15
  %15902 = load ptr, ptr %2, align 8, !tbaa !5
  %15903 = getelementptr inbounds %struct.PDP6, ptr %15902, i32 0, i32 28
  store i64 %15901, ptr %15903, align 8, !tbaa !34
  %15904 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15904, ptr noundef @.str.65)
  %15905 = load i64, ptr @simtime, align 8, !tbaa !15
  %15906 = add i64 %15905, 100
  store i64 %15906, ptr @simtime, align 8, !tbaa !15
  %15907 = load ptr, ptr %2, align 8, !tbaa !5
  %15908 = getelementptr inbounds %struct.PDP6, ptr %15907, i32 0, i32 28
  %15909 = load i64, ptr %15908, align 8, !tbaa !34
  %15910 = xor i64 %15909, 68719476735
  store i64 %15910, ptr %15908, align 8, !tbaa !34
  %15911 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15911, ptr noundef @.str.122)
  %15912 = load i64, ptr @simtime, align 8, !tbaa !15
  %15913 = add i64 %15912, 100
  store i64 %15913, ptr @simtime, align 8, !tbaa !15
  %15914 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15914, ptr noundef @.str.125)
  %15915 = load i64, ptr @simtime, align 8, !tbaa !15
  %15916 = add i64 %15915, 100
  store i64 %15916, ptr @simtime, align 8, !tbaa !15
  %15917 = load ptr, ptr %2, align 8, !tbaa !5
  %15918 = getelementptr inbounds %struct.PDP6, ptr %15917, i32 0, i32 28
  %15919 = load i64, ptr %15918, align 8, !tbaa !34
  %15920 = xor i64 %15919, 68719476735
  store i64 %15920, ptr %15918, align 8, !tbaa !34
  %15921 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15921, ptr noundef @.str.126)
  %15922 = load i64, ptr @simtime, align 8, !tbaa !15
  %15923 = add i64 %15922, 100
  store i64 %15923, ptr @simtime, align 8, !tbaa !15
  %15924 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15924, ptr noundef @.str.127)
  %15925 = load i64, ptr @simtime, align 8, !tbaa !15
  %15926 = add i64 %15925, 200
  store i64 %15926, ptr @simtime, align 8, !tbaa !15
  %15927 = load ptr, ptr %2, align 8, !tbaa !5
  %15928 = getelementptr inbounds %struct.PDP6, ptr %15927, i32 0, i32 28
  %15929 = load i64, ptr %15928, align 8, !tbaa !34
  %15930 = icmp eq i64 %15929, 0
  br i1 %15930, label %15940, label %15931

15931:                                            ; preds = %15868
  %15932 = load ptr, ptr %2, align 8, !tbaa !5
  %15933 = getelementptr inbounds %struct.PDP6, ptr %15932, i32 0, i32 34
  %15934 = load i32, ptr %15933, align 8, !tbaa !33
  %15935 = add i32 %15934, 1
  %15936 = and i32 %15935, 262143
  %15937 = load ptr, ptr %2, align 8, !tbaa !5
  %15938 = getelementptr inbounds %struct.PDP6, ptr %15937, i32 0, i32 34
  store i32 %15936, ptr %15938, align 8, !tbaa !33
  %15939 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %15939)
  br label %15940

15940:                                            ; preds = %15931, %15868
  %15941 = load ptr, ptr %2, align 8, !tbaa !5
  %15942 = getelementptr inbounds %struct.PDP6, ptr %15941, i32 0, i32 31
  %15943 = load i64, ptr %15942, align 8, !tbaa !39
  store i64 %15943, ptr %4, align 8, !tbaa !15
  %15944 = load ptr, ptr %2, align 8, !tbaa !5
  %15945 = getelementptr inbounds %struct.PDP6, ptr %15944, i32 0, i32 28
  %15946 = load i64, ptr %15945, align 8, !tbaa !34
  %15947 = load ptr, ptr %2, align 8, !tbaa !5
  %15948 = getelementptr inbounds %struct.PDP6, ptr %15947, i32 0, i32 31
  store i64 %15946, ptr %15948, align 8, !tbaa !39
  %15949 = load i64, ptr %4, align 8, !tbaa !15
  %15950 = load ptr, ptr %2, align 8, !tbaa !5
  %15951 = getelementptr inbounds %struct.PDP6, ptr %15950, i32 0, i32 28
  store i64 %15949, ptr %15951, align 8, !tbaa !34
  %15952 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15952, ptr noundef @.str.121)
  %15953 = load i64, ptr @simtime, align 8, !tbaa !15
  %15954 = add i64 %15953, 200
  store i64 %15954, ptr @simtime, align 8, !tbaa !15
  %15955 = load ptr, ptr %2, align 8, !tbaa !5
  %15956 = getelementptr inbounds %struct.PDP6, ptr %15955, i32 0, i32 28
  %15957 = load i64, ptr %15956, align 8, !tbaa !34
  %15958 = load ptr, ptr %2, align 8, !tbaa !5
  %15959 = getelementptr inbounds %struct.PDP6, ptr %15958, i32 0, i32 31
  store i64 %15957, ptr %15959, align 8, !tbaa !39
  br label %17859

15960:                                            ; preds = %17
  %15961 = load ptr, ptr %2, align 8, !tbaa !5
  %15962 = getelementptr inbounds %struct.PDP6, ptr %15961, i32 0, i32 31
  %15963 = load i64, ptr %15962, align 8, !tbaa !39
  %15964 = shl i64 %15963, 18
  %15965 = load ptr, ptr %2, align 8, !tbaa !5
  %15966 = getelementptr inbounds %struct.PDP6, ptr %15965, i32 0, i32 31
  %15967 = load i64, ptr %15966, align 8, !tbaa !39
  %15968 = lshr i64 %15967, 18
  %15969 = or i64 %15964, %15968
  %15970 = and i64 %15969, 68719476735
  %15971 = load ptr, ptr %2, align 8, !tbaa !5
  %15972 = getelementptr inbounds %struct.PDP6, ptr %15971, i32 0, i32 31
  store i64 %15970, ptr %15972, align 8, !tbaa !39
  %15973 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15973, ptr noundef @.str.41)
  %15974 = load i64, ptr @simtime, align 8, !tbaa !15
  %15975 = add i64 %15974, 100
  store i64 %15975, ptr @simtime, align 8, !tbaa !15
  %15976 = load ptr, ptr %2, align 8, !tbaa !5
  %15977 = getelementptr inbounds %struct.PDP6, ptr %15976, i32 0, i32 31
  %15978 = load i64, ptr %15977, align 8, !tbaa !39
  %15979 = load ptr, ptr %2, align 8, !tbaa !5
  %15980 = getelementptr inbounds %struct.PDP6, ptr %15979, i32 0, i32 28
  %15981 = load i64, ptr %15980, align 8, !tbaa !34
  %15982 = and i64 %15978, %15981
  store i64 %15982, ptr %4, align 8, !tbaa !15
  %15983 = load ptr, ptr %2, align 8, !tbaa !5
  %15984 = getelementptr inbounds %struct.PDP6, ptr %15983, i32 0, i32 31
  %15985 = load i64, ptr %15984, align 8, !tbaa !39
  %15986 = load ptr, ptr %2, align 8, !tbaa !5
  %15987 = getelementptr inbounds %struct.PDP6, ptr %15986, i32 0, i32 28
  %15988 = load i64, ptr %15987, align 8, !tbaa !34
  %15989 = or i64 %15988, %15985
  store i64 %15989, ptr %15987, align 8, !tbaa !34
  %15990 = load i64, ptr %4, align 8, !tbaa !15
  %15991 = load ptr, ptr %2, align 8, !tbaa !5
  %15992 = getelementptr inbounds %struct.PDP6, ptr %15991, i32 0, i32 31
  store i64 %15990, ptr %15992, align 8, !tbaa !39
  %15993 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15993, ptr noundef @.str.42)
  %15994 = load i64, ptr @simtime, align 8, !tbaa !15
  %15995 = add i64 %15994, 100
  store i64 %15995, ptr @simtime, align 8, !tbaa !15
  %15996 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %15996, ptr noundef @.str.43)
  %15997 = load ptr, ptr %2, align 8, !tbaa !5
  %15998 = getelementptr inbounds %struct.PDP6, ptr %15997, i32 0, i32 31
  %15999 = load i64, ptr %15998, align 8, !tbaa !39
  store i64 %15999, ptr %4, align 8, !tbaa !15
  %16000 = load ptr, ptr %2, align 8, !tbaa !5
  %16001 = getelementptr inbounds %struct.PDP6, ptr %16000, i32 0, i32 28
  %16002 = load i64, ptr %16001, align 8, !tbaa !34
  %16003 = load ptr, ptr %2, align 8, !tbaa !5
  %16004 = getelementptr inbounds %struct.PDP6, ptr %16003, i32 0, i32 31
  store i64 %16002, ptr %16004, align 8, !tbaa !39
  %16005 = load i64, ptr %4, align 8, !tbaa !15
  %16006 = load ptr, ptr %2, align 8, !tbaa !5
  %16007 = getelementptr inbounds %struct.PDP6, ptr %16006, i32 0, i32 28
  store i64 %16005, ptr %16007, align 8, !tbaa !34
  %16008 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16008, ptr noundef @.str.65)
  %16009 = load i64, ptr @simtime, align 8, !tbaa !15
  %16010 = add i64 %16009, 100
  store i64 %16010, ptr @simtime, align 8, !tbaa !15
  %16011 = load ptr, ptr %2, align 8, !tbaa !5
  %16012 = getelementptr inbounds %struct.PDP6, ptr %16011, i32 0, i32 28
  %16013 = load i64, ptr %16012, align 8, !tbaa !34
  %16014 = xor i64 %16013, 68719476735
  store i64 %16014, ptr %16012, align 8, !tbaa !34
  %16015 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16015, ptr noundef @.str.122)
  %16016 = load i64, ptr @simtime, align 8, !tbaa !15
  %16017 = add i64 %16016, 100
  store i64 %16017, ptr @simtime, align 8, !tbaa !15
  %16018 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16018, ptr noundef @.str.125)
  %16019 = load i64, ptr @simtime, align 8, !tbaa !15
  %16020 = add i64 %16019, 100
  store i64 %16020, ptr @simtime, align 8, !tbaa !15
  %16021 = load ptr, ptr %2, align 8, !tbaa !5
  %16022 = getelementptr inbounds %struct.PDP6, ptr %16021, i32 0, i32 28
  %16023 = load i64, ptr %16022, align 8, !tbaa !34
  %16024 = xor i64 %16023, 68719476735
  store i64 %16024, ptr %16022, align 8, !tbaa !34
  %16025 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16025, ptr noundef @.str.126)
  %16026 = load i64, ptr @simtime, align 8, !tbaa !15
  %16027 = add i64 %16026, 100
  store i64 %16027, ptr @simtime, align 8, !tbaa !15
  %16028 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16028, ptr noundef @.str.127)
  %16029 = load i64, ptr @simtime, align 8, !tbaa !15
  %16030 = add i64 %16029, 200
  store i64 %16030, ptr @simtime, align 8, !tbaa !15
  %16031 = load ptr, ptr %2, align 8, !tbaa !5
  %16032 = getelementptr inbounds %struct.PDP6, ptr %16031, i32 0, i32 28
  %16033 = load i64, ptr %16032, align 8, !tbaa !34
  %16034 = icmp eq i64 %16033, 0
  br i1 %16034, label %16044, label %16035

16035:                                            ; preds = %15960
  %16036 = load ptr, ptr %2, align 8, !tbaa !5
  %16037 = getelementptr inbounds %struct.PDP6, ptr %16036, i32 0, i32 34
  %16038 = load i32, ptr %16037, align 8, !tbaa !33
  %16039 = add i32 %16038, 1
  %16040 = and i32 %16039, 262143
  %16041 = load ptr, ptr %2, align 8, !tbaa !5
  %16042 = getelementptr inbounds %struct.PDP6, ptr %16041, i32 0, i32 34
  store i32 %16040, ptr %16042, align 8, !tbaa !33
  %16043 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %16043)
  br label %16044

16044:                                            ; preds = %16035, %15960
  %16045 = load ptr, ptr %2, align 8, !tbaa !5
  %16046 = getelementptr inbounds %struct.PDP6, ptr %16045, i32 0, i32 31
  %16047 = load i64, ptr %16046, align 8, !tbaa !39
  store i64 %16047, ptr %4, align 8, !tbaa !15
  %16048 = load ptr, ptr %2, align 8, !tbaa !5
  %16049 = getelementptr inbounds %struct.PDP6, ptr %16048, i32 0, i32 28
  %16050 = load i64, ptr %16049, align 8, !tbaa !34
  %16051 = load ptr, ptr %2, align 8, !tbaa !5
  %16052 = getelementptr inbounds %struct.PDP6, ptr %16051, i32 0, i32 31
  store i64 %16050, ptr %16052, align 8, !tbaa !39
  %16053 = load i64, ptr %4, align 8, !tbaa !15
  %16054 = load ptr, ptr %2, align 8, !tbaa !5
  %16055 = getelementptr inbounds %struct.PDP6, ptr %16054, i32 0, i32 28
  store i64 %16053, ptr %16055, align 8, !tbaa !34
  %16056 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16056, ptr noundef @.str.121)
  %16057 = load i64, ptr @simtime, align 8, !tbaa !15
  %16058 = add i64 %16057, 200
  store i64 %16058, ptr @simtime, align 8, !tbaa !15
  %16059 = load ptr, ptr %2, align 8, !tbaa !5
  %16060 = getelementptr inbounds %struct.PDP6, ptr %16059, i32 0, i32 28
  %16061 = load i64, ptr %16060, align 8, !tbaa !34
  %16062 = load ptr, ptr %2, align 8, !tbaa !5
  %16063 = getelementptr inbounds %struct.PDP6, ptr %16062, i32 0, i32 31
  store i64 %16061, ptr %16063, align 8, !tbaa !39
  br label %17859

16064:                                            ; preds = %17
  %16065 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16065, ptr noundef @.str.41)
  %16066 = load i64, ptr @simtime, align 8, !tbaa !15
  %16067 = add i64 %16066, 100
  store i64 %16067, ptr @simtime, align 8, !tbaa !15
  %16068 = load ptr, ptr %2, align 8, !tbaa !5
  %16069 = getelementptr inbounds %struct.PDP6, ptr %16068, i32 0, i32 31
  %16070 = load i64, ptr %16069, align 8, !tbaa !39
  %16071 = load ptr, ptr %2, align 8, !tbaa !5
  %16072 = getelementptr inbounds %struct.PDP6, ptr %16071, i32 0, i32 28
  %16073 = load i64, ptr %16072, align 8, !tbaa !34
  %16074 = and i64 %16070, %16073
  store i64 %16074, ptr %4, align 8, !tbaa !15
  %16075 = load ptr, ptr %2, align 8, !tbaa !5
  %16076 = getelementptr inbounds %struct.PDP6, ptr %16075, i32 0, i32 31
  %16077 = load i64, ptr %16076, align 8, !tbaa !39
  %16078 = load ptr, ptr %2, align 8, !tbaa !5
  %16079 = getelementptr inbounds %struct.PDP6, ptr %16078, i32 0, i32 28
  %16080 = load i64, ptr %16079, align 8, !tbaa !34
  %16081 = or i64 %16080, %16077
  store i64 %16081, ptr %16079, align 8, !tbaa !34
  %16082 = load i64, ptr %4, align 8, !tbaa !15
  %16083 = load ptr, ptr %2, align 8, !tbaa !5
  %16084 = getelementptr inbounds %struct.PDP6, ptr %16083, i32 0, i32 31
  store i64 %16082, ptr %16084, align 8, !tbaa !39
  %16085 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16085, ptr noundef @.str.42)
  %16086 = load i64, ptr @simtime, align 8, !tbaa !15
  %16087 = add i64 %16086, 100
  store i64 %16087, ptr @simtime, align 8, !tbaa !15
  %16088 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16088, ptr noundef @.str.43)
  %16089 = load ptr, ptr %2, align 8, !tbaa !5
  %16090 = getelementptr inbounds %struct.PDP6, ptr %16089, i32 0, i32 31
  %16091 = load i64, ptr %16090, align 8, !tbaa !39
  store i64 %16091, ptr %4, align 8, !tbaa !15
  %16092 = load ptr, ptr %2, align 8, !tbaa !5
  %16093 = getelementptr inbounds %struct.PDP6, ptr %16092, i32 0, i32 28
  %16094 = load i64, ptr %16093, align 8, !tbaa !34
  %16095 = load ptr, ptr %2, align 8, !tbaa !5
  %16096 = getelementptr inbounds %struct.PDP6, ptr %16095, i32 0, i32 31
  store i64 %16094, ptr %16096, align 8, !tbaa !39
  %16097 = load i64, ptr %4, align 8, !tbaa !15
  %16098 = load ptr, ptr %2, align 8, !tbaa !5
  %16099 = getelementptr inbounds %struct.PDP6, ptr %16098, i32 0, i32 28
  store i64 %16097, ptr %16099, align 8, !tbaa !34
  %16100 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16100, ptr noundef @.str.65)
  %16101 = load i64, ptr @simtime, align 8, !tbaa !15
  %16102 = add i64 %16101, 100
  store i64 %16102, ptr @simtime, align 8, !tbaa !15
  %16103 = load ptr, ptr %2, align 8, !tbaa !5
  %16104 = getelementptr inbounds %struct.PDP6, ptr %16103, i32 0, i32 28
  %16105 = load i64, ptr %16104, align 8, !tbaa !34
  %16106 = xor i64 %16105, 68719476735
  store i64 %16106, ptr %16104, align 8, !tbaa !34
  %16107 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16107, ptr noundef @.str.122)
  %16108 = load i64, ptr @simtime, align 8, !tbaa !15
  %16109 = add i64 %16108, 100
  store i64 %16109, ptr @simtime, align 8, !tbaa !15
  %16110 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16110, ptr noundef @.str.125)
  %16111 = load i64, ptr @simtime, align 8, !tbaa !15
  %16112 = add i64 %16111, 100
  store i64 %16112, ptr @simtime, align 8, !tbaa !15
  %16113 = load ptr, ptr %2, align 8, !tbaa !5
  %16114 = getelementptr inbounds %struct.PDP6, ptr %16113, i32 0, i32 28
  %16115 = load i64, ptr %16114, align 8, !tbaa !34
  %16116 = xor i64 %16115, 68719476735
  store i64 %16116, ptr %16114, align 8, !tbaa !34
  %16117 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16117, ptr noundef @.str.126)
  %16118 = load i64, ptr @simtime, align 8, !tbaa !15
  %16119 = add i64 %16118, 100
  store i64 %16119, ptr @simtime, align 8, !tbaa !15
  %16120 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16120, ptr noundef @.str.127)
  %16121 = load i64, ptr @simtime, align 8, !tbaa !15
  %16122 = add i64 %16121, 200
  store i64 %16122, ptr @simtime, align 8, !tbaa !15
  %16123 = load ptr, ptr %2, align 8, !tbaa !5
  %16124 = getelementptr inbounds %struct.PDP6, ptr %16123, i32 0, i32 31
  %16125 = load i64, ptr %16124, align 8, !tbaa !39
  store i64 %16125, ptr %4, align 8, !tbaa !15
  %16126 = load ptr, ptr %2, align 8, !tbaa !5
  %16127 = getelementptr inbounds %struct.PDP6, ptr %16126, i32 0, i32 28
  %16128 = load i64, ptr %16127, align 8, !tbaa !34
  %16129 = load ptr, ptr %2, align 8, !tbaa !5
  %16130 = getelementptr inbounds %struct.PDP6, ptr %16129, i32 0, i32 31
  store i64 %16128, ptr %16130, align 8, !tbaa !39
  %16131 = load i64, ptr %4, align 8, !tbaa !15
  %16132 = load ptr, ptr %2, align 8, !tbaa !5
  %16133 = getelementptr inbounds %struct.PDP6, ptr %16132, i32 0, i32 28
  store i64 %16131, ptr %16133, align 8, !tbaa !34
  %16134 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16134, ptr noundef @.str.121)
  %16135 = load i64, ptr @simtime, align 8, !tbaa !15
  %16136 = add i64 %16135, 200
  store i64 %16136, ptr @simtime, align 8, !tbaa !15
  br label %17859

16137:                                            ; preds = %17
  %16138 = load ptr, ptr %2, align 8, !tbaa !5
  %16139 = getelementptr inbounds %struct.PDP6, ptr %16138, i32 0, i32 31
  %16140 = load i64, ptr %16139, align 8, !tbaa !39
  %16141 = shl i64 %16140, 18
  %16142 = load ptr, ptr %2, align 8, !tbaa !5
  %16143 = getelementptr inbounds %struct.PDP6, ptr %16142, i32 0, i32 31
  %16144 = load i64, ptr %16143, align 8, !tbaa !39
  %16145 = lshr i64 %16144, 18
  %16146 = or i64 %16141, %16145
  %16147 = and i64 %16146, 68719476735
  %16148 = load ptr, ptr %2, align 8, !tbaa !5
  %16149 = getelementptr inbounds %struct.PDP6, ptr %16148, i32 0, i32 31
  store i64 %16147, ptr %16149, align 8, !tbaa !39
  %16150 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16150, ptr noundef @.str.41)
  %16151 = load i64, ptr @simtime, align 8, !tbaa !15
  %16152 = add i64 %16151, 100
  store i64 %16152, ptr @simtime, align 8, !tbaa !15
  %16153 = load ptr, ptr %2, align 8, !tbaa !5
  %16154 = getelementptr inbounds %struct.PDP6, ptr %16153, i32 0, i32 31
  %16155 = load i64, ptr %16154, align 8, !tbaa !39
  %16156 = load ptr, ptr %2, align 8, !tbaa !5
  %16157 = getelementptr inbounds %struct.PDP6, ptr %16156, i32 0, i32 28
  %16158 = load i64, ptr %16157, align 8, !tbaa !34
  %16159 = and i64 %16155, %16158
  store i64 %16159, ptr %4, align 8, !tbaa !15
  %16160 = load ptr, ptr %2, align 8, !tbaa !5
  %16161 = getelementptr inbounds %struct.PDP6, ptr %16160, i32 0, i32 31
  %16162 = load i64, ptr %16161, align 8, !tbaa !39
  %16163 = load ptr, ptr %2, align 8, !tbaa !5
  %16164 = getelementptr inbounds %struct.PDP6, ptr %16163, i32 0, i32 28
  %16165 = load i64, ptr %16164, align 8, !tbaa !34
  %16166 = or i64 %16165, %16162
  store i64 %16166, ptr %16164, align 8, !tbaa !34
  %16167 = load i64, ptr %4, align 8, !tbaa !15
  %16168 = load ptr, ptr %2, align 8, !tbaa !5
  %16169 = getelementptr inbounds %struct.PDP6, ptr %16168, i32 0, i32 31
  store i64 %16167, ptr %16169, align 8, !tbaa !39
  %16170 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16170, ptr noundef @.str.42)
  %16171 = load i64, ptr @simtime, align 8, !tbaa !15
  %16172 = add i64 %16171, 100
  store i64 %16172, ptr @simtime, align 8, !tbaa !15
  %16173 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16173, ptr noundef @.str.43)
  %16174 = load ptr, ptr %2, align 8, !tbaa !5
  %16175 = getelementptr inbounds %struct.PDP6, ptr %16174, i32 0, i32 31
  %16176 = load i64, ptr %16175, align 8, !tbaa !39
  store i64 %16176, ptr %4, align 8, !tbaa !15
  %16177 = load ptr, ptr %2, align 8, !tbaa !5
  %16178 = getelementptr inbounds %struct.PDP6, ptr %16177, i32 0, i32 28
  %16179 = load i64, ptr %16178, align 8, !tbaa !34
  %16180 = load ptr, ptr %2, align 8, !tbaa !5
  %16181 = getelementptr inbounds %struct.PDP6, ptr %16180, i32 0, i32 31
  store i64 %16179, ptr %16181, align 8, !tbaa !39
  %16182 = load i64, ptr %4, align 8, !tbaa !15
  %16183 = load ptr, ptr %2, align 8, !tbaa !5
  %16184 = getelementptr inbounds %struct.PDP6, ptr %16183, i32 0, i32 28
  store i64 %16182, ptr %16184, align 8, !tbaa !34
  %16185 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16185, ptr noundef @.str.65)
  %16186 = load i64, ptr @simtime, align 8, !tbaa !15
  %16187 = add i64 %16186, 100
  store i64 %16187, ptr @simtime, align 8, !tbaa !15
  %16188 = load ptr, ptr %2, align 8, !tbaa !5
  %16189 = getelementptr inbounds %struct.PDP6, ptr %16188, i32 0, i32 28
  %16190 = load i64, ptr %16189, align 8, !tbaa !34
  %16191 = xor i64 %16190, 68719476735
  store i64 %16191, ptr %16189, align 8, !tbaa !34
  %16192 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16192, ptr noundef @.str.122)
  %16193 = load i64, ptr @simtime, align 8, !tbaa !15
  %16194 = add i64 %16193, 100
  store i64 %16194, ptr @simtime, align 8, !tbaa !15
  %16195 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16195, ptr noundef @.str.125)
  %16196 = load i64, ptr @simtime, align 8, !tbaa !15
  %16197 = add i64 %16196, 100
  store i64 %16197, ptr @simtime, align 8, !tbaa !15
  %16198 = load ptr, ptr %2, align 8, !tbaa !5
  %16199 = getelementptr inbounds %struct.PDP6, ptr %16198, i32 0, i32 28
  %16200 = load i64, ptr %16199, align 8, !tbaa !34
  %16201 = xor i64 %16200, 68719476735
  store i64 %16201, ptr %16199, align 8, !tbaa !34
  %16202 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16202, ptr noundef @.str.126)
  %16203 = load i64, ptr @simtime, align 8, !tbaa !15
  %16204 = add i64 %16203, 100
  store i64 %16204, ptr @simtime, align 8, !tbaa !15
  %16205 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16205, ptr noundef @.str.127)
  %16206 = load i64, ptr @simtime, align 8, !tbaa !15
  %16207 = add i64 %16206, 200
  store i64 %16207, ptr @simtime, align 8, !tbaa !15
  %16208 = load ptr, ptr %2, align 8, !tbaa !5
  %16209 = getelementptr inbounds %struct.PDP6, ptr %16208, i32 0, i32 31
  %16210 = load i64, ptr %16209, align 8, !tbaa !39
  store i64 %16210, ptr %4, align 8, !tbaa !15
  %16211 = load ptr, ptr %2, align 8, !tbaa !5
  %16212 = getelementptr inbounds %struct.PDP6, ptr %16211, i32 0, i32 28
  %16213 = load i64, ptr %16212, align 8, !tbaa !34
  %16214 = load ptr, ptr %2, align 8, !tbaa !5
  %16215 = getelementptr inbounds %struct.PDP6, ptr %16214, i32 0, i32 31
  store i64 %16213, ptr %16215, align 8, !tbaa !39
  %16216 = load i64, ptr %4, align 8, !tbaa !15
  %16217 = load ptr, ptr %2, align 8, !tbaa !5
  %16218 = getelementptr inbounds %struct.PDP6, ptr %16217, i32 0, i32 28
  store i64 %16216, ptr %16218, align 8, !tbaa !34
  %16219 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16219, ptr noundef @.str.121)
  %16220 = load i64, ptr @simtime, align 8, !tbaa !15
  %16221 = add i64 %16220, 200
  store i64 %16221, ptr @simtime, align 8, !tbaa !15
  br label %17859

16222:                                            ; preds = %17
  %16223 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16223, ptr noundef @.str.41)
  %16224 = load i64, ptr @simtime, align 8, !tbaa !15
  %16225 = add i64 %16224, 100
  store i64 %16225, ptr @simtime, align 8, !tbaa !15
  %16226 = load ptr, ptr %2, align 8, !tbaa !5
  %16227 = getelementptr inbounds %struct.PDP6, ptr %16226, i32 0, i32 31
  %16228 = load i64, ptr %16227, align 8, !tbaa !39
  %16229 = load ptr, ptr %2, align 8, !tbaa !5
  %16230 = getelementptr inbounds %struct.PDP6, ptr %16229, i32 0, i32 28
  %16231 = load i64, ptr %16230, align 8, !tbaa !34
  %16232 = and i64 %16228, %16231
  store i64 %16232, ptr %4, align 8, !tbaa !15
  %16233 = load ptr, ptr %2, align 8, !tbaa !5
  %16234 = getelementptr inbounds %struct.PDP6, ptr %16233, i32 0, i32 31
  %16235 = load i64, ptr %16234, align 8, !tbaa !39
  %16236 = load ptr, ptr %2, align 8, !tbaa !5
  %16237 = getelementptr inbounds %struct.PDP6, ptr %16236, i32 0, i32 28
  %16238 = load i64, ptr %16237, align 8, !tbaa !34
  %16239 = or i64 %16238, %16235
  store i64 %16239, ptr %16237, align 8, !tbaa !34
  %16240 = load i64, ptr %4, align 8, !tbaa !15
  %16241 = load ptr, ptr %2, align 8, !tbaa !5
  %16242 = getelementptr inbounds %struct.PDP6, ptr %16241, i32 0, i32 31
  store i64 %16240, ptr %16242, align 8, !tbaa !39
  %16243 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16243, ptr noundef @.str.42)
  %16244 = load i64, ptr @simtime, align 8, !tbaa !15
  %16245 = add i64 %16244, 100
  store i64 %16245, ptr @simtime, align 8, !tbaa !15
  %16246 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16246, ptr noundef @.str.43)
  %16247 = load ptr, ptr %2, align 8, !tbaa !5
  %16248 = getelementptr inbounds %struct.PDP6, ptr %16247, i32 0, i32 31
  %16249 = load i64, ptr %16248, align 8, !tbaa !39
  store i64 %16249, ptr %4, align 8, !tbaa !15
  %16250 = load ptr, ptr %2, align 8, !tbaa !5
  %16251 = getelementptr inbounds %struct.PDP6, ptr %16250, i32 0, i32 28
  %16252 = load i64, ptr %16251, align 8, !tbaa !34
  %16253 = load ptr, ptr %2, align 8, !tbaa !5
  %16254 = getelementptr inbounds %struct.PDP6, ptr %16253, i32 0, i32 31
  store i64 %16252, ptr %16254, align 8, !tbaa !39
  %16255 = load i64, ptr %4, align 8, !tbaa !15
  %16256 = load ptr, ptr %2, align 8, !tbaa !5
  %16257 = getelementptr inbounds %struct.PDP6, ptr %16256, i32 0, i32 28
  store i64 %16255, ptr %16257, align 8, !tbaa !34
  %16258 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16258, ptr noundef @.str.65)
  %16259 = load i64, ptr @simtime, align 8, !tbaa !15
  %16260 = add i64 %16259, 100
  store i64 %16260, ptr @simtime, align 8, !tbaa !15
  %16261 = load ptr, ptr %2, align 8, !tbaa !5
  %16262 = getelementptr inbounds %struct.PDP6, ptr %16261, i32 0, i32 28
  %16263 = load i64, ptr %16262, align 8, !tbaa !34
  %16264 = xor i64 %16263, 68719476735
  store i64 %16264, ptr %16262, align 8, !tbaa !34
  %16265 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16265, ptr noundef @.str.122)
  %16266 = load i64, ptr @simtime, align 8, !tbaa !15
  %16267 = add i64 %16266, 100
  store i64 %16267, ptr @simtime, align 8, !tbaa !15
  %16268 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16268, ptr noundef @.str.125)
  %16269 = load i64, ptr @simtime, align 8, !tbaa !15
  %16270 = add i64 %16269, 100
  store i64 %16270, ptr @simtime, align 8, !tbaa !15
  %16271 = load ptr, ptr %2, align 8, !tbaa !5
  %16272 = getelementptr inbounds %struct.PDP6, ptr %16271, i32 0, i32 28
  %16273 = load i64, ptr %16272, align 8, !tbaa !34
  %16274 = xor i64 %16273, 68719476735
  store i64 %16274, ptr %16272, align 8, !tbaa !34
  %16275 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16275, ptr noundef @.str.126)
  %16276 = load i64, ptr @simtime, align 8, !tbaa !15
  %16277 = add i64 %16276, 100
  store i64 %16277, ptr @simtime, align 8, !tbaa !15
  %16278 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16278, ptr noundef @.str.127)
  %16279 = load i64, ptr @simtime, align 8, !tbaa !15
  %16280 = add i64 %16279, 200
  store i64 %16280, ptr @simtime, align 8, !tbaa !15
  %16281 = load ptr, ptr %2, align 8, !tbaa !5
  %16282 = getelementptr inbounds %struct.PDP6, ptr %16281, i32 0, i32 28
  %16283 = load i64, ptr %16282, align 8, !tbaa !34
  %16284 = icmp eq i64 %16283, 0
  br i1 %16284, label %16285, label %16294

16285:                                            ; preds = %16222
  %16286 = load ptr, ptr %2, align 8, !tbaa !5
  %16287 = getelementptr inbounds %struct.PDP6, ptr %16286, i32 0, i32 34
  %16288 = load i32, ptr %16287, align 8, !tbaa !33
  %16289 = add i32 %16288, 1
  %16290 = and i32 %16289, 262143
  %16291 = load ptr, ptr %2, align 8, !tbaa !5
  %16292 = getelementptr inbounds %struct.PDP6, ptr %16291, i32 0, i32 34
  store i32 %16290, ptr %16292, align 8, !tbaa !33
  %16293 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %16293)
  br label %16294

16294:                                            ; preds = %16285, %16222
  %16295 = load ptr, ptr %2, align 8, !tbaa !5
  %16296 = getelementptr inbounds %struct.PDP6, ptr %16295, i32 0, i32 31
  %16297 = load i64, ptr %16296, align 8, !tbaa !39
  store i64 %16297, ptr %4, align 8, !tbaa !15
  %16298 = load ptr, ptr %2, align 8, !tbaa !5
  %16299 = getelementptr inbounds %struct.PDP6, ptr %16298, i32 0, i32 28
  %16300 = load i64, ptr %16299, align 8, !tbaa !34
  %16301 = load ptr, ptr %2, align 8, !tbaa !5
  %16302 = getelementptr inbounds %struct.PDP6, ptr %16301, i32 0, i32 31
  store i64 %16300, ptr %16302, align 8, !tbaa !39
  %16303 = load i64, ptr %4, align 8, !tbaa !15
  %16304 = load ptr, ptr %2, align 8, !tbaa !5
  %16305 = getelementptr inbounds %struct.PDP6, ptr %16304, i32 0, i32 28
  store i64 %16303, ptr %16305, align 8, !tbaa !34
  %16306 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16306, ptr noundef @.str.121)
  %16307 = load i64, ptr @simtime, align 8, !tbaa !15
  %16308 = add i64 %16307, 200
  store i64 %16308, ptr @simtime, align 8, !tbaa !15
  %16309 = load ptr, ptr %2, align 8, !tbaa !5
  %16310 = getelementptr inbounds %struct.PDP6, ptr %16309, i32 0, i32 28
  %16311 = load i64, ptr %16310, align 8, !tbaa !34
  %16312 = load ptr, ptr %2, align 8, !tbaa !5
  %16313 = getelementptr inbounds %struct.PDP6, ptr %16312, i32 0, i32 31
  store i64 %16311, ptr %16313, align 8, !tbaa !39
  br label %17859

16314:                                            ; preds = %17
  %16315 = load ptr, ptr %2, align 8, !tbaa !5
  %16316 = getelementptr inbounds %struct.PDP6, ptr %16315, i32 0, i32 31
  %16317 = load i64, ptr %16316, align 8, !tbaa !39
  %16318 = shl i64 %16317, 18
  %16319 = load ptr, ptr %2, align 8, !tbaa !5
  %16320 = getelementptr inbounds %struct.PDP6, ptr %16319, i32 0, i32 31
  %16321 = load i64, ptr %16320, align 8, !tbaa !39
  %16322 = lshr i64 %16321, 18
  %16323 = or i64 %16318, %16322
  %16324 = and i64 %16323, 68719476735
  %16325 = load ptr, ptr %2, align 8, !tbaa !5
  %16326 = getelementptr inbounds %struct.PDP6, ptr %16325, i32 0, i32 31
  store i64 %16324, ptr %16326, align 8, !tbaa !39
  %16327 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16327, ptr noundef @.str.41)
  %16328 = load i64, ptr @simtime, align 8, !tbaa !15
  %16329 = add i64 %16328, 100
  store i64 %16329, ptr @simtime, align 8, !tbaa !15
  %16330 = load ptr, ptr %2, align 8, !tbaa !5
  %16331 = getelementptr inbounds %struct.PDP6, ptr %16330, i32 0, i32 31
  %16332 = load i64, ptr %16331, align 8, !tbaa !39
  %16333 = load ptr, ptr %2, align 8, !tbaa !5
  %16334 = getelementptr inbounds %struct.PDP6, ptr %16333, i32 0, i32 28
  %16335 = load i64, ptr %16334, align 8, !tbaa !34
  %16336 = and i64 %16332, %16335
  store i64 %16336, ptr %4, align 8, !tbaa !15
  %16337 = load ptr, ptr %2, align 8, !tbaa !5
  %16338 = getelementptr inbounds %struct.PDP6, ptr %16337, i32 0, i32 31
  %16339 = load i64, ptr %16338, align 8, !tbaa !39
  %16340 = load ptr, ptr %2, align 8, !tbaa !5
  %16341 = getelementptr inbounds %struct.PDP6, ptr %16340, i32 0, i32 28
  %16342 = load i64, ptr %16341, align 8, !tbaa !34
  %16343 = or i64 %16342, %16339
  store i64 %16343, ptr %16341, align 8, !tbaa !34
  %16344 = load i64, ptr %4, align 8, !tbaa !15
  %16345 = load ptr, ptr %2, align 8, !tbaa !5
  %16346 = getelementptr inbounds %struct.PDP6, ptr %16345, i32 0, i32 31
  store i64 %16344, ptr %16346, align 8, !tbaa !39
  %16347 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16347, ptr noundef @.str.42)
  %16348 = load i64, ptr @simtime, align 8, !tbaa !15
  %16349 = add i64 %16348, 100
  store i64 %16349, ptr @simtime, align 8, !tbaa !15
  %16350 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16350, ptr noundef @.str.43)
  %16351 = load ptr, ptr %2, align 8, !tbaa !5
  %16352 = getelementptr inbounds %struct.PDP6, ptr %16351, i32 0, i32 31
  %16353 = load i64, ptr %16352, align 8, !tbaa !39
  store i64 %16353, ptr %4, align 8, !tbaa !15
  %16354 = load ptr, ptr %2, align 8, !tbaa !5
  %16355 = getelementptr inbounds %struct.PDP6, ptr %16354, i32 0, i32 28
  %16356 = load i64, ptr %16355, align 8, !tbaa !34
  %16357 = load ptr, ptr %2, align 8, !tbaa !5
  %16358 = getelementptr inbounds %struct.PDP6, ptr %16357, i32 0, i32 31
  store i64 %16356, ptr %16358, align 8, !tbaa !39
  %16359 = load i64, ptr %4, align 8, !tbaa !15
  %16360 = load ptr, ptr %2, align 8, !tbaa !5
  %16361 = getelementptr inbounds %struct.PDP6, ptr %16360, i32 0, i32 28
  store i64 %16359, ptr %16361, align 8, !tbaa !34
  %16362 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16362, ptr noundef @.str.65)
  %16363 = load i64, ptr @simtime, align 8, !tbaa !15
  %16364 = add i64 %16363, 100
  store i64 %16364, ptr @simtime, align 8, !tbaa !15
  %16365 = load ptr, ptr %2, align 8, !tbaa !5
  %16366 = getelementptr inbounds %struct.PDP6, ptr %16365, i32 0, i32 28
  %16367 = load i64, ptr %16366, align 8, !tbaa !34
  %16368 = xor i64 %16367, 68719476735
  store i64 %16368, ptr %16366, align 8, !tbaa !34
  %16369 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16369, ptr noundef @.str.122)
  %16370 = load i64, ptr @simtime, align 8, !tbaa !15
  %16371 = add i64 %16370, 100
  store i64 %16371, ptr @simtime, align 8, !tbaa !15
  %16372 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16372, ptr noundef @.str.125)
  %16373 = load i64, ptr @simtime, align 8, !tbaa !15
  %16374 = add i64 %16373, 100
  store i64 %16374, ptr @simtime, align 8, !tbaa !15
  %16375 = load ptr, ptr %2, align 8, !tbaa !5
  %16376 = getelementptr inbounds %struct.PDP6, ptr %16375, i32 0, i32 28
  %16377 = load i64, ptr %16376, align 8, !tbaa !34
  %16378 = xor i64 %16377, 68719476735
  store i64 %16378, ptr %16376, align 8, !tbaa !34
  %16379 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16379, ptr noundef @.str.126)
  %16380 = load i64, ptr @simtime, align 8, !tbaa !15
  %16381 = add i64 %16380, 100
  store i64 %16381, ptr @simtime, align 8, !tbaa !15
  %16382 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16382, ptr noundef @.str.127)
  %16383 = load i64, ptr @simtime, align 8, !tbaa !15
  %16384 = add i64 %16383, 200
  store i64 %16384, ptr @simtime, align 8, !tbaa !15
  %16385 = load ptr, ptr %2, align 8, !tbaa !5
  %16386 = getelementptr inbounds %struct.PDP6, ptr %16385, i32 0, i32 28
  %16387 = load i64, ptr %16386, align 8, !tbaa !34
  %16388 = icmp eq i64 %16387, 0
  br i1 %16388, label %16389, label %16398

16389:                                            ; preds = %16314
  %16390 = load ptr, ptr %2, align 8, !tbaa !5
  %16391 = getelementptr inbounds %struct.PDP6, ptr %16390, i32 0, i32 34
  %16392 = load i32, ptr %16391, align 8, !tbaa !33
  %16393 = add i32 %16392, 1
  %16394 = and i32 %16393, 262143
  %16395 = load ptr, ptr %2, align 8, !tbaa !5
  %16396 = getelementptr inbounds %struct.PDP6, ptr %16395, i32 0, i32 34
  store i32 %16394, ptr %16396, align 8, !tbaa !33
  %16397 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %16397)
  br label %16398

16398:                                            ; preds = %16389, %16314
  %16399 = load ptr, ptr %2, align 8, !tbaa !5
  %16400 = getelementptr inbounds %struct.PDP6, ptr %16399, i32 0, i32 31
  %16401 = load i64, ptr %16400, align 8, !tbaa !39
  store i64 %16401, ptr %4, align 8, !tbaa !15
  %16402 = load ptr, ptr %2, align 8, !tbaa !5
  %16403 = getelementptr inbounds %struct.PDP6, ptr %16402, i32 0, i32 28
  %16404 = load i64, ptr %16403, align 8, !tbaa !34
  %16405 = load ptr, ptr %2, align 8, !tbaa !5
  %16406 = getelementptr inbounds %struct.PDP6, ptr %16405, i32 0, i32 31
  store i64 %16404, ptr %16406, align 8, !tbaa !39
  %16407 = load i64, ptr %4, align 8, !tbaa !15
  %16408 = load ptr, ptr %2, align 8, !tbaa !5
  %16409 = getelementptr inbounds %struct.PDP6, ptr %16408, i32 0, i32 28
  store i64 %16407, ptr %16409, align 8, !tbaa !34
  %16410 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16410, ptr noundef @.str.121)
  %16411 = load i64, ptr @simtime, align 8, !tbaa !15
  %16412 = add i64 %16411, 200
  store i64 %16412, ptr @simtime, align 8, !tbaa !15
  %16413 = load ptr, ptr %2, align 8, !tbaa !5
  %16414 = getelementptr inbounds %struct.PDP6, ptr %16413, i32 0, i32 28
  %16415 = load i64, ptr %16414, align 8, !tbaa !34
  %16416 = load ptr, ptr %2, align 8, !tbaa !5
  %16417 = getelementptr inbounds %struct.PDP6, ptr %16416, i32 0, i32 31
  store i64 %16415, ptr %16417, align 8, !tbaa !39
  br label %17859

16418:                                            ; preds = %17
  %16419 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16419, ptr noundef @.str.41)
  %16420 = load i64, ptr @simtime, align 8, !tbaa !15
  %16421 = add i64 %16420, 100
  store i64 %16421, ptr @simtime, align 8, !tbaa !15
  %16422 = load ptr, ptr %2, align 8, !tbaa !5
  %16423 = getelementptr inbounds %struct.PDP6, ptr %16422, i32 0, i32 31
  %16424 = load i64, ptr %16423, align 8, !tbaa !39
  %16425 = load ptr, ptr %2, align 8, !tbaa !5
  %16426 = getelementptr inbounds %struct.PDP6, ptr %16425, i32 0, i32 28
  %16427 = load i64, ptr %16426, align 8, !tbaa !34
  %16428 = and i64 %16424, %16427
  store i64 %16428, ptr %4, align 8, !tbaa !15
  %16429 = load ptr, ptr %2, align 8, !tbaa !5
  %16430 = getelementptr inbounds %struct.PDP6, ptr %16429, i32 0, i32 31
  %16431 = load i64, ptr %16430, align 8, !tbaa !39
  %16432 = load ptr, ptr %2, align 8, !tbaa !5
  %16433 = getelementptr inbounds %struct.PDP6, ptr %16432, i32 0, i32 28
  %16434 = load i64, ptr %16433, align 8, !tbaa !34
  %16435 = or i64 %16434, %16431
  store i64 %16435, ptr %16433, align 8, !tbaa !34
  %16436 = load i64, ptr %4, align 8, !tbaa !15
  %16437 = load ptr, ptr %2, align 8, !tbaa !5
  %16438 = getelementptr inbounds %struct.PDP6, ptr %16437, i32 0, i32 31
  store i64 %16436, ptr %16438, align 8, !tbaa !39
  %16439 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16439, ptr noundef @.str.42)
  %16440 = load i64, ptr @simtime, align 8, !tbaa !15
  %16441 = add i64 %16440, 100
  store i64 %16441, ptr @simtime, align 8, !tbaa !15
  %16442 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16442, ptr noundef @.str.43)
  %16443 = load ptr, ptr %2, align 8, !tbaa !5
  %16444 = getelementptr inbounds %struct.PDP6, ptr %16443, i32 0, i32 31
  %16445 = load i64, ptr %16444, align 8, !tbaa !39
  store i64 %16445, ptr %4, align 8, !tbaa !15
  %16446 = load ptr, ptr %2, align 8, !tbaa !5
  %16447 = getelementptr inbounds %struct.PDP6, ptr %16446, i32 0, i32 28
  %16448 = load i64, ptr %16447, align 8, !tbaa !34
  %16449 = load ptr, ptr %2, align 8, !tbaa !5
  %16450 = getelementptr inbounds %struct.PDP6, ptr %16449, i32 0, i32 31
  store i64 %16448, ptr %16450, align 8, !tbaa !39
  %16451 = load i64, ptr %4, align 8, !tbaa !15
  %16452 = load ptr, ptr %2, align 8, !tbaa !5
  %16453 = getelementptr inbounds %struct.PDP6, ptr %16452, i32 0, i32 28
  store i64 %16451, ptr %16453, align 8, !tbaa !34
  %16454 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16454, ptr noundef @.str.65)
  %16455 = load i64, ptr @simtime, align 8, !tbaa !15
  %16456 = add i64 %16455, 100
  store i64 %16456, ptr @simtime, align 8, !tbaa !15
  %16457 = load ptr, ptr %2, align 8, !tbaa !5
  %16458 = getelementptr inbounds %struct.PDP6, ptr %16457, i32 0, i32 28
  %16459 = load i64, ptr %16458, align 8, !tbaa !34
  %16460 = xor i64 %16459, 68719476735
  store i64 %16460, ptr %16458, align 8, !tbaa !34
  %16461 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16461, ptr noundef @.str.122)
  %16462 = load i64, ptr @simtime, align 8, !tbaa !15
  %16463 = add i64 %16462, 100
  store i64 %16463, ptr @simtime, align 8, !tbaa !15
  %16464 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16464, ptr noundef @.str.125)
  %16465 = load i64, ptr @simtime, align 8, !tbaa !15
  %16466 = add i64 %16465, 100
  store i64 %16466, ptr @simtime, align 8, !tbaa !15
  %16467 = load ptr, ptr %2, align 8, !tbaa !5
  %16468 = getelementptr inbounds %struct.PDP6, ptr %16467, i32 0, i32 28
  %16469 = load i64, ptr %16468, align 8, !tbaa !34
  %16470 = xor i64 %16469, 68719476735
  store i64 %16470, ptr %16468, align 8, !tbaa !34
  %16471 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16471, ptr noundef @.str.126)
  %16472 = load i64, ptr @simtime, align 8, !tbaa !15
  %16473 = add i64 %16472, 100
  store i64 %16473, ptr @simtime, align 8, !tbaa !15
  %16474 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16474, ptr noundef @.str.127)
  %16475 = load i64, ptr @simtime, align 8, !tbaa !15
  %16476 = add i64 %16475, 200
  store i64 %16476, ptr @simtime, align 8, !tbaa !15
  %16477 = load ptr, ptr %2, align 8, !tbaa !5
  %16478 = getelementptr inbounds %struct.PDP6, ptr %16477, i32 0, i32 34
  %16479 = load i32, ptr %16478, align 8, !tbaa !33
  %16480 = add i32 %16479, 1
  %16481 = and i32 %16480, 262143
  %16482 = load ptr, ptr %2, align 8, !tbaa !5
  %16483 = getelementptr inbounds %struct.PDP6, ptr %16482, i32 0, i32 34
  store i32 %16481, ptr %16483, align 8, !tbaa !33
  %16484 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %16484)
  %16485 = load ptr, ptr %2, align 8, !tbaa !5
  %16486 = getelementptr inbounds %struct.PDP6, ptr %16485, i32 0, i32 31
  %16487 = load i64, ptr %16486, align 8, !tbaa !39
  store i64 %16487, ptr %4, align 8, !tbaa !15
  %16488 = load ptr, ptr %2, align 8, !tbaa !5
  %16489 = getelementptr inbounds %struct.PDP6, ptr %16488, i32 0, i32 28
  %16490 = load i64, ptr %16489, align 8, !tbaa !34
  %16491 = load ptr, ptr %2, align 8, !tbaa !5
  %16492 = getelementptr inbounds %struct.PDP6, ptr %16491, i32 0, i32 31
  store i64 %16490, ptr %16492, align 8, !tbaa !39
  %16493 = load i64, ptr %4, align 8, !tbaa !15
  %16494 = load ptr, ptr %2, align 8, !tbaa !5
  %16495 = getelementptr inbounds %struct.PDP6, ptr %16494, i32 0, i32 28
  store i64 %16493, ptr %16495, align 8, !tbaa !34
  %16496 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16496, ptr noundef @.str.121)
  %16497 = load i64, ptr @simtime, align 8, !tbaa !15
  %16498 = add i64 %16497, 200
  store i64 %16498, ptr @simtime, align 8, !tbaa !15
  br label %17859

16499:                                            ; preds = %17
  %16500 = load ptr, ptr %2, align 8, !tbaa !5
  %16501 = getelementptr inbounds %struct.PDP6, ptr %16500, i32 0, i32 31
  %16502 = load i64, ptr %16501, align 8, !tbaa !39
  %16503 = shl i64 %16502, 18
  %16504 = load ptr, ptr %2, align 8, !tbaa !5
  %16505 = getelementptr inbounds %struct.PDP6, ptr %16504, i32 0, i32 31
  %16506 = load i64, ptr %16505, align 8, !tbaa !39
  %16507 = lshr i64 %16506, 18
  %16508 = or i64 %16503, %16507
  %16509 = and i64 %16508, 68719476735
  %16510 = load ptr, ptr %2, align 8, !tbaa !5
  %16511 = getelementptr inbounds %struct.PDP6, ptr %16510, i32 0, i32 31
  store i64 %16509, ptr %16511, align 8, !tbaa !39
  %16512 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16512, ptr noundef @.str.41)
  %16513 = load i64, ptr @simtime, align 8, !tbaa !15
  %16514 = add i64 %16513, 100
  store i64 %16514, ptr @simtime, align 8, !tbaa !15
  %16515 = load ptr, ptr %2, align 8, !tbaa !5
  %16516 = getelementptr inbounds %struct.PDP6, ptr %16515, i32 0, i32 31
  %16517 = load i64, ptr %16516, align 8, !tbaa !39
  %16518 = load ptr, ptr %2, align 8, !tbaa !5
  %16519 = getelementptr inbounds %struct.PDP6, ptr %16518, i32 0, i32 28
  %16520 = load i64, ptr %16519, align 8, !tbaa !34
  %16521 = and i64 %16517, %16520
  store i64 %16521, ptr %4, align 8, !tbaa !15
  %16522 = load ptr, ptr %2, align 8, !tbaa !5
  %16523 = getelementptr inbounds %struct.PDP6, ptr %16522, i32 0, i32 31
  %16524 = load i64, ptr %16523, align 8, !tbaa !39
  %16525 = load ptr, ptr %2, align 8, !tbaa !5
  %16526 = getelementptr inbounds %struct.PDP6, ptr %16525, i32 0, i32 28
  %16527 = load i64, ptr %16526, align 8, !tbaa !34
  %16528 = or i64 %16527, %16524
  store i64 %16528, ptr %16526, align 8, !tbaa !34
  %16529 = load i64, ptr %4, align 8, !tbaa !15
  %16530 = load ptr, ptr %2, align 8, !tbaa !5
  %16531 = getelementptr inbounds %struct.PDP6, ptr %16530, i32 0, i32 31
  store i64 %16529, ptr %16531, align 8, !tbaa !39
  %16532 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16532, ptr noundef @.str.42)
  %16533 = load i64, ptr @simtime, align 8, !tbaa !15
  %16534 = add i64 %16533, 100
  store i64 %16534, ptr @simtime, align 8, !tbaa !15
  %16535 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16535, ptr noundef @.str.43)
  %16536 = load ptr, ptr %2, align 8, !tbaa !5
  %16537 = getelementptr inbounds %struct.PDP6, ptr %16536, i32 0, i32 31
  %16538 = load i64, ptr %16537, align 8, !tbaa !39
  store i64 %16538, ptr %4, align 8, !tbaa !15
  %16539 = load ptr, ptr %2, align 8, !tbaa !5
  %16540 = getelementptr inbounds %struct.PDP6, ptr %16539, i32 0, i32 28
  %16541 = load i64, ptr %16540, align 8, !tbaa !34
  %16542 = load ptr, ptr %2, align 8, !tbaa !5
  %16543 = getelementptr inbounds %struct.PDP6, ptr %16542, i32 0, i32 31
  store i64 %16541, ptr %16543, align 8, !tbaa !39
  %16544 = load i64, ptr %4, align 8, !tbaa !15
  %16545 = load ptr, ptr %2, align 8, !tbaa !5
  %16546 = getelementptr inbounds %struct.PDP6, ptr %16545, i32 0, i32 28
  store i64 %16544, ptr %16546, align 8, !tbaa !34
  %16547 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16547, ptr noundef @.str.65)
  %16548 = load i64, ptr @simtime, align 8, !tbaa !15
  %16549 = add i64 %16548, 100
  store i64 %16549, ptr @simtime, align 8, !tbaa !15
  %16550 = load ptr, ptr %2, align 8, !tbaa !5
  %16551 = getelementptr inbounds %struct.PDP6, ptr %16550, i32 0, i32 28
  %16552 = load i64, ptr %16551, align 8, !tbaa !34
  %16553 = xor i64 %16552, 68719476735
  store i64 %16553, ptr %16551, align 8, !tbaa !34
  %16554 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16554, ptr noundef @.str.122)
  %16555 = load i64, ptr @simtime, align 8, !tbaa !15
  %16556 = add i64 %16555, 100
  store i64 %16556, ptr @simtime, align 8, !tbaa !15
  %16557 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16557, ptr noundef @.str.125)
  %16558 = load i64, ptr @simtime, align 8, !tbaa !15
  %16559 = add i64 %16558, 100
  store i64 %16559, ptr @simtime, align 8, !tbaa !15
  %16560 = load ptr, ptr %2, align 8, !tbaa !5
  %16561 = getelementptr inbounds %struct.PDP6, ptr %16560, i32 0, i32 28
  %16562 = load i64, ptr %16561, align 8, !tbaa !34
  %16563 = xor i64 %16562, 68719476735
  store i64 %16563, ptr %16561, align 8, !tbaa !34
  %16564 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16564, ptr noundef @.str.126)
  %16565 = load i64, ptr @simtime, align 8, !tbaa !15
  %16566 = add i64 %16565, 100
  store i64 %16566, ptr @simtime, align 8, !tbaa !15
  %16567 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16567, ptr noundef @.str.127)
  %16568 = load i64, ptr @simtime, align 8, !tbaa !15
  %16569 = add i64 %16568, 200
  store i64 %16569, ptr @simtime, align 8, !tbaa !15
  %16570 = load ptr, ptr %2, align 8, !tbaa !5
  %16571 = getelementptr inbounds %struct.PDP6, ptr %16570, i32 0, i32 34
  %16572 = load i32, ptr %16571, align 8, !tbaa !33
  %16573 = add i32 %16572, 1
  %16574 = and i32 %16573, 262143
  %16575 = load ptr, ptr %2, align 8, !tbaa !5
  %16576 = getelementptr inbounds %struct.PDP6, ptr %16575, i32 0, i32 34
  store i32 %16574, ptr %16576, align 8, !tbaa !33
  %16577 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %16577)
  %16578 = load ptr, ptr %2, align 8, !tbaa !5
  %16579 = getelementptr inbounds %struct.PDP6, ptr %16578, i32 0, i32 31
  %16580 = load i64, ptr %16579, align 8, !tbaa !39
  store i64 %16580, ptr %4, align 8, !tbaa !15
  %16581 = load ptr, ptr %2, align 8, !tbaa !5
  %16582 = getelementptr inbounds %struct.PDP6, ptr %16581, i32 0, i32 28
  %16583 = load i64, ptr %16582, align 8, !tbaa !34
  %16584 = load ptr, ptr %2, align 8, !tbaa !5
  %16585 = getelementptr inbounds %struct.PDP6, ptr %16584, i32 0, i32 31
  store i64 %16583, ptr %16585, align 8, !tbaa !39
  %16586 = load i64, ptr %4, align 8, !tbaa !15
  %16587 = load ptr, ptr %2, align 8, !tbaa !5
  %16588 = getelementptr inbounds %struct.PDP6, ptr %16587, i32 0, i32 28
  store i64 %16586, ptr %16588, align 8, !tbaa !34
  %16589 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16589, ptr noundef @.str.121)
  %16590 = load i64, ptr @simtime, align 8, !tbaa !15
  %16591 = add i64 %16590, 200
  store i64 %16591, ptr @simtime, align 8, !tbaa !15
  br label %17859

16592:                                            ; preds = %17
  %16593 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16593, ptr noundef @.str.41)
  %16594 = load i64, ptr @simtime, align 8, !tbaa !15
  %16595 = add i64 %16594, 100
  store i64 %16595, ptr @simtime, align 8, !tbaa !15
  %16596 = load ptr, ptr %2, align 8, !tbaa !5
  %16597 = getelementptr inbounds %struct.PDP6, ptr %16596, i32 0, i32 31
  %16598 = load i64, ptr %16597, align 8, !tbaa !39
  %16599 = load ptr, ptr %2, align 8, !tbaa !5
  %16600 = getelementptr inbounds %struct.PDP6, ptr %16599, i32 0, i32 28
  %16601 = load i64, ptr %16600, align 8, !tbaa !34
  %16602 = and i64 %16598, %16601
  store i64 %16602, ptr %4, align 8, !tbaa !15
  %16603 = load ptr, ptr %2, align 8, !tbaa !5
  %16604 = getelementptr inbounds %struct.PDP6, ptr %16603, i32 0, i32 31
  %16605 = load i64, ptr %16604, align 8, !tbaa !39
  %16606 = load ptr, ptr %2, align 8, !tbaa !5
  %16607 = getelementptr inbounds %struct.PDP6, ptr %16606, i32 0, i32 28
  %16608 = load i64, ptr %16607, align 8, !tbaa !34
  %16609 = or i64 %16608, %16605
  store i64 %16609, ptr %16607, align 8, !tbaa !34
  %16610 = load i64, ptr %4, align 8, !tbaa !15
  %16611 = load ptr, ptr %2, align 8, !tbaa !5
  %16612 = getelementptr inbounds %struct.PDP6, ptr %16611, i32 0, i32 31
  store i64 %16610, ptr %16612, align 8, !tbaa !39
  %16613 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16613, ptr noundef @.str.42)
  %16614 = load i64, ptr @simtime, align 8, !tbaa !15
  %16615 = add i64 %16614, 100
  store i64 %16615, ptr @simtime, align 8, !tbaa !15
  %16616 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16616, ptr noundef @.str.43)
  %16617 = load ptr, ptr %2, align 8, !tbaa !5
  %16618 = getelementptr inbounds %struct.PDP6, ptr %16617, i32 0, i32 31
  %16619 = load i64, ptr %16618, align 8, !tbaa !39
  store i64 %16619, ptr %4, align 8, !tbaa !15
  %16620 = load ptr, ptr %2, align 8, !tbaa !5
  %16621 = getelementptr inbounds %struct.PDP6, ptr %16620, i32 0, i32 28
  %16622 = load i64, ptr %16621, align 8, !tbaa !34
  %16623 = load ptr, ptr %2, align 8, !tbaa !5
  %16624 = getelementptr inbounds %struct.PDP6, ptr %16623, i32 0, i32 31
  store i64 %16622, ptr %16624, align 8, !tbaa !39
  %16625 = load i64, ptr %4, align 8, !tbaa !15
  %16626 = load ptr, ptr %2, align 8, !tbaa !5
  %16627 = getelementptr inbounds %struct.PDP6, ptr %16626, i32 0, i32 28
  store i64 %16625, ptr %16627, align 8, !tbaa !34
  %16628 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16628, ptr noundef @.str.65)
  %16629 = load i64, ptr @simtime, align 8, !tbaa !15
  %16630 = add i64 %16629, 100
  store i64 %16630, ptr @simtime, align 8, !tbaa !15
  %16631 = load ptr, ptr %2, align 8, !tbaa !5
  %16632 = getelementptr inbounds %struct.PDP6, ptr %16631, i32 0, i32 28
  %16633 = load i64, ptr %16632, align 8, !tbaa !34
  %16634 = xor i64 %16633, 68719476735
  store i64 %16634, ptr %16632, align 8, !tbaa !34
  %16635 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16635, ptr noundef @.str.122)
  %16636 = load i64, ptr @simtime, align 8, !tbaa !15
  %16637 = add i64 %16636, 100
  store i64 %16637, ptr @simtime, align 8, !tbaa !15
  %16638 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16638, ptr noundef @.str.125)
  %16639 = load i64, ptr @simtime, align 8, !tbaa !15
  %16640 = add i64 %16639, 100
  store i64 %16640, ptr @simtime, align 8, !tbaa !15
  %16641 = load ptr, ptr %2, align 8, !tbaa !5
  %16642 = getelementptr inbounds %struct.PDP6, ptr %16641, i32 0, i32 28
  %16643 = load i64, ptr %16642, align 8, !tbaa !34
  %16644 = xor i64 %16643, 68719476735
  store i64 %16644, ptr %16642, align 8, !tbaa !34
  %16645 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16645, ptr noundef @.str.126)
  %16646 = load i64, ptr @simtime, align 8, !tbaa !15
  %16647 = add i64 %16646, 100
  store i64 %16647, ptr @simtime, align 8, !tbaa !15
  %16648 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16648, ptr noundef @.str.127)
  %16649 = load i64, ptr @simtime, align 8, !tbaa !15
  %16650 = add i64 %16649, 200
  store i64 %16650, ptr @simtime, align 8, !tbaa !15
  %16651 = load ptr, ptr %2, align 8, !tbaa !5
  %16652 = getelementptr inbounds %struct.PDP6, ptr %16651, i32 0, i32 28
  %16653 = load i64, ptr %16652, align 8, !tbaa !34
  %16654 = icmp eq i64 %16653, 0
  br i1 %16654, label %16664, label %16655

16655:                                            ; preds = %16592
  %16656 = load ptr, ptr %2, align 8, !tbaa !5
  %16657 = getelementptr inbounds %struct.PDP6, ptr %16656, i32 0, i32 34
  %16658 = load i32, ptr %16657, align 8, !tbaa !33
  %16659 = add i32 %16658, 1
  %16660 = and i32 %16659, 262143
  %16661 = load ptr, ptr %2, align 8, !tbaa !5
  %16662 = getelementptr inbounds %struct.PDP6, ptr %16661, i32 0, i32 34
  store i32 %16660, ptr %16662, align 8, !tbaa !33
  %16663 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %16663)
  br label %16664

16664:                                            ; preds = %16655, %16592
  %16665 = load ptr, ptr %2, align 8, !tbaa !5
  %16666 = getelementptr inbounds %struct.PDP6, ptr %16665, i32 0, i32 31
  %16667 = load i64, ptr %16666, align 8, !tbaa !39
  store i64 %16667, ptr %4, align 8, !tbaa !15
  %16668 = load ptr, ptr %2, align 8, !tbaa !5
  %16669 = getelementptr inbounds %struct.PDP6, ptr %16668, i32 0, i32 28
  %16670 = load i64, ptr %16669, align 8, !tbaa !34
  %16671 = load ptr, ptr %2, align 8, !tbaa !5
  %16672 = getelementptr inbounds %struct.PDP6, ptr %16671, i32 0, i32 31
  store i64 %16670, ptr %16672, align 8, !tbaa !39
  %16673 = load i64, ptr %4, align 8, !tbaa !15
  %16674 = load ptr, ptr %2, align 8, !tbaa !5
  %16675 = getelementptr inbounds %struct.PDP6, ptr %16674, i32 0, i32 28
  store i64 %16673, ptr %16675, align 8, !tbaa !34
  %16676 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16676, ptr noundef @.str.121)
  %16677 = load i64, ptr @simtime, align 8, !tbaa !15
  %16678 = add i64 %16677, 200
  store i64 %16678, ptr @simtime, align 8, !tbaa !15
  %16679 = load ptr, ptr %2, align 8, !tbaa !5
  %16680 = getelementptr inbounds %struct.PDP6, ptr %16679, i32 0, i32 28
  %16681 = load i64, ptr %16680, align 8, !tbaa !34
  %16682 = load ptr, ptr %2, align 8, !tbaa !5
  %16683 = getelementptr inbounds %struct.PDP6, ptr %16682, i32 0, i32 31
  store i64 %16681, ptr %16683, align 8, !tbaa !39
  br label %17859

16684:                                            ; preds = %17
  %16685 = load ptr, ptr %2, align 8, !tbaa !5
  %16686 = getelementptr inbounds %struct.PDP6, ptr %16685, i32 0, i32 31
  %16687 = load i64, ptr %16686, align 8, !tbaa !39
  %16688 = shl i64 %16687, 18
  %16689 = load ptr, ptr %2, align 8, !tbaa !5
  %16690 = getelementptr inbounds %struct.PDP6, ptr %16689, i32 0, i32 31
  %16691 = load i64, ptr %16690, align 8, !tbaa !39
  %16692 = lshr i64 %16691, 18
  %16693 = or i64 %16688, %16692
  %16694 = and i64 %16693, 68719476735
  %16695 = load ptr, ptr %2, align 8, !tbaa !5
  %16696 = getelementptr inbounds %struct.PDP6, ptr %16695, i32 0, i32 31
  store i64 %16694, ptr %16696, align 8, !tbaa !39
  %16697 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16697, ptr noundef @.str.41)
  %16698 = load i64, ptr @simtime, align 8, !tbaa !15
  %16699 = add i64 %16698, 100
  store i64 %16699, ptr @simtime, align 8, !tbaa !15
  %16700 = load ptr, ptr %2, align 8, !tbaa !5
  %16701 = getelementptr inbounds %struct.PDP6, ptr %16700, i32 0, i32 31
  %16702 = load i64, ptr %16701, align 8, !tbaa !39
  %16703 = load ptr, ptr %2, align 8, !tbaa !5
  %16704 = getelementptr inbounds %struct.PDP6, ptr %16703, i32 0, i32 28
  %16705 = load i64, ptr %16704, align 8, !tbaa !34
  %16706 = and i64 %16702, %16705
  store i64 %16706, ptr %4, align 8, !tbaa !15
  %16707 = load ptr, ptr %2, align 8, !tbaa !5
  %16708 = getelementptr inbounds %struct.PDP6, ptr %16707, i32 0, i32 31
  %16709 = load i64, ptr %16708, align 8, !tbaa !39
  %16710 = load ptr, ptr %2, align 8, !tbaa !5
  %16711 = getelementptr inbounds %struct.PDP6, ptr %16710, i32 0, i32 28
  %16712 = load i64, ptr %16711, align 8, !tbaa !34
  %16713 = or i64 %16712, %16709
  store i64 %16713, ptr %16711, align 8, !tbaa !34
  %16714 = load i64, ptr %4, align 8, !tbaa !15
  %16715 = load ptr, ptr %2, align 8, !tbaa !5
  %16716 = getelementptr inbounds %struct.PDP6, ptr %16715, i32 0, i32 31
  store i64 %16714, ptr %16716, align 8, !tbaa !39
  %16717 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16717, ptr noundef @.str.42)
  %16718 = load i64, ptr @simtime, align 8, !tbaa !15
  %16719 = add i64 %16718, 100
  store i64 %16719, ptr @simtime, align 8, !tbaa !15
  %16720 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16720, ptr noundef @.str.43)
  %16721 = load ptr, ptr %2, align 8, !tbaa !5
  %16722 = getelementptr inbounds %struct.PDP6, ptr %16721, i32 0, i32 31
  %16723 = load i64, ptr %16722, align 8, !tbaa !39
  store i64 %16723, ptr %4, align 8, !tbaa !15
  %16724 = load ptr, ptr %2, align 8, !tbaa !5
  %16725 = getelementptr inbounds %struct.PDP6, ptr %16724, i32 0, i32 28
  %16726 = load i64, ptr %16725, align 8, !tbaa !34
  %16727 = load ptr, ptr %2, align 8, !tbaa !5
  %16728 = getelementptr inbounds %struct.PDP6, ptr %16727, i32 0, i32 31
  store i64 %16726, ptr %16728, align 8, !tbaa !39
  %16729 = load i64, ptr %4, align 8, !tbaa !15
  %16730 = load ptr, ptr %2, align 8, !tbaa !5
  %16731 = getelementptr inbounds %struct.PDP6, ptr %16730, i32 0, i32 28
  store i64 %16729, ptr %16731, align 8, !tbaa !34
  %16732 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16732, ptr noundef @.str.65)
  %16733 = load i64, ptr @simtime, align 8, !tbaa !15
  %16734 = add i64 %16733, 100
  store i64 %16734, ptr @simtime, align 8, !tbaa !15
  %16735 = load ptr, ptr %2, align 8, !tbaa !5
  %16736 = getelementptr inbounds %struct.PDP6, ptr %16735, i32 0, i32 28
  %16737 = load i64, ptr %16736, align 8, !tbaa !34
  %16738 = xor i64 %16737, 68719476735
  store i64 %16738, ptr %16736, align 8, !tbaa !34
  %16739 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16739, ptr noundef @.str.122)
  %16740 = load i64, ptr @simtime, align 8, !tbaa !15
  %16741 = add i64 %16740, 100
  store i64 %16741, ptr @simtime, align 8, !tbaa !15
  %16742 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16742, ptr noundef @.str.125)
  %16743 = load i64, ptr @simtime, align 8, !tbaa !15
  %16744 = add i64 %16743, 100
  store i64 %16744, ptr @simtime, align 8, !tbaa !15
  %16745 = load ptr, ptr %2, align 8, !tbaa !5
  %16746 = getelementptr inbounds %struct.PDP6, ptr %16745, i32 0, i32 28
  %16747 = load i64, ptr %16746, align 8, !tbaa !34
  %16748 = xor i64 %16747, 68719476735
  store i64 %16748, ptr %16746, align 8, !tbaa !34
  %16749 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16749, ptr noundef @.str.126)
  %16750 = load i64, ptr @simtime, align 8, !tbaa !15
  %16751 = add i64 %16750, 100
  store i64 %16751, ptr @simtime, align 8, !tbaa !15
  %16752 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16752, ptr noundef @.str.127)
  %16753 = load i64, ptr @simtime, align 8, !tbaa !15
  %16754 = add i64 %16753, 200
  store i64 %16754, ptr @simtime, align 8, !tbaa !15
  %16755 = load ptr, ptr %2, align 8, !tbaa !5
  %16756 = getelementptr inbounds %struct.PDP6, ptr %16755, i32 0, i32 28
  %16757 = load i64, ptr %16756, align 8, !tbaa !34
  %16758 = icmp eq i64 %16757, 0
  br i1 %16758, label %16768, label %16759

16759:                                            ; preds = %16684
  %16760 = load ptr, ptr %2, align 8, !tbaa !5
  %16761 = getelementptr inbounds %struct.PDP6, ptr %16760, i32 0, i32 34
  %16762 = load i32, ptr %16761, align 8, !tbaa !33
  %16763 = add i32 %16762, 1
  %16764 = and i32 %16763, 262143
  %16765 = load ptr, ptr %2, align 8, !tbaa !5
  %16766 = getelementptr inbounds %struct.PDP6, ptr %16765, i32 0, i32 34
  store i32 %16764, ptr %16766, align 8, !tbaa !33
  %16767 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %16767)
  br label %16768

16768:                                            ; preds = %16759, %16684
  %16769 = load ptr, ptr %2, align 8, !tbaa !5
  %16770 = getelementptr inbounds %struct.PDP6, ptr %16769, i32 0, i32 31
  %16771 = load i64, ptr %16770, align 8, !tbaa !39
  store i64 %16771, ptr %4, align 8, !tbaa !15
  %16772 = load ptr, ptr %2, align 8, !tbaa !5
  %16773 = getelementptr inbounds %struct.PDP6, ptr %16772, i32 0, i32 28
  %16774 = load i64, ptr %16773, align 8, !tbaa !34
  %16775 = load ptr, ptr %2, align 8, !tbaa !5
  %16776 = getelementptr inbounds %struct.PDP6, ptr %16775, i32 0, i32 31
  store i64 %16774, ptr %16776, align 8, !tbaa !39
  %16777 = load i64, ptr %4, align 8, !tbaa !15
  %16778 = load ptr, ptr %2, align 8, !tbaa !5
  %16779 = getelementptr inbounds %struct.PDP6, ptr %16778, i32 0, i32 28
  store i64 %16777, ptr %16779, align 8, !tbaa !34
  %16780 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16780, ptr noundef @.str.121)
  %16781 = load i64, ptr @simtime, align 8, !tbaa !15
  %16782 = add i64 %16781, 200
  store i64 %16782, ptr @simtime, align 8, !tbaa !15
  %16783 = load ptr, ptr %2, align 8, !tbaa !5
  %16784 = getelementptr inbounds %struct.PDP6, ptr %16783, i32 0, i32 28
  %16785 = load i64, ptr %16784, align 8, !tbaa !34
  %16786 = load ptr, ptr %2, align 8, !tbaa !5
  %16787 = getelementptr inbounds %struct.PDP6, ptr %16786, i32 0, i32 31
  store i64 %16785, ptr %16787, align 8, !tbaa !39
  br label %17859

16788:                                            ; preds = %17
  %16789 = load ptr, ptr %2, align 8, !tbaa !5
  %16790 = getelementptr inbounds %struct.PDP6, ptr %16789, i32 0, i32 31
  %16791 = load i64, ptr %16790, align 8, !tbaa !39
  store i64 %16791, ptr %4, align 8, !tbaa !15
  %16792 = load ptr, ptr %2, align 8, !tbaa !5
  %16793 = getelementptr inbounds %struct.PDP6, ptr %16792, i32 0, i32 28
  %16794 = load i64, ptr %16793, align 8, !tbaa !34
  %16795 = load ptr, ptr %2, align 8, !tbaa !5
  %16796 = getelementptr inbounds %struct.PDP6, ptr %16795, i32 0, i32 31
  store i64 %16794, ptr %16796, align 8, !tbaa !39
  %16797 = load i64, ptr %4, align 8, !tbaa !15
  %16798 = load ptr, ptr %2, align 8, !tbaa !5
  %16799 = getelementptr inbounds %struct.PDP6, ptr %16798, i32 0, i32 28
  store i64 %16797, ptr %16799, align 8, !tbaa !34
  br label %16800

16800:                                            ; preds = %17275, %16788, %2199, %2198, %2197, %2196, %2195, %2194, %2193, %2192, %2191, %2190, %2189, %2188, %2187, %2186, %2185, %2184, %2183, %2182, %2181, %2180, %2179, %2178, %2177, %2176, %2175, %2174
  %16801 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16801, ptr noundef @.str.41)
  %16802 = load i64, ptr @simtime, align 8, !tbaa !15
  %16803 = add i64 %16802, 100
  store i64 %16803, ptr @simtime, align 8, !tbaa !15
  %16804 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16804, ptr noundef @.str.42)
  %16805 = load i64, ptr @simtime, align 8, !tbaa !15
  %16806 = add i64 %16805, 100
  store i64 %16806, ptr @simtime, align 8, !tbaa !15
  %16807 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16807, ptr noundef @.str.43)
  %16808 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16808, ptr noundef @.str.65)
  %16809 = load i64, ptr @simtime, align 8, !tbaa !15
  %16810 = add i64 %16809, 100
  store i64 %16810, ptr @simtime, align 8, !tbaa !15
  %16811 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16811, ptr noundef @.str.122)
  br label %17859

16812:                                            ; preds = %17
  %16813 = load ptr, ptr %2, align 8, !tbaa !5
  %16814 = getelementptr inbounds %struct.PDP6, ptr %16813, i32 0, i32 31
  %16815 = load i64, ptr %16814, align 8, !tbaa !39
  store i64 %16815, ptr %4, align 8, !tbaa !15
  %16816 = load ptr, ptr %2, align 8, !tbaa !5
  %16817 = getelementptr inbounds %struct.PDP6, ptr %16816, i32 0, i32 28
  %16818 = load i64, ptr %16817, align 8, !tbaa !34
  %16819 = load ptr, ptr %2, align 8, !tbaa !5
  %16820 = getelementptr inbounds %struct.PDP6, ptr %16819, i32 0, i32 31
  store i64 %16818, ptr %16820, align 8, !tbaa !39
  %16821 = load i64, ptr %4, align 8, !tbaa !15
  %16822 = load ptr, ptr %2, align 8, !tbaa !5
  %16823 = getelementptr inbounds %struct.PDP6, ptr %16822, i32 0, i32 28
  store i64 %16821, ptr %16823, align 8, !tbaa !34
  %16824 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16824, ptr noundef @.str.41)
  %16825 = load i64, ptr @simtime, align 8, !tbaa !15
  %16826 = add i64 %16825, 100
  store i64 %16826, ptr @simtime, align 8, !tbaa !15
  %16827 = load ptr, ptr %2, align 8, !tbaa !5
  %16828 = getelementptr inbounds %struct.PDP6, ptr %16827, i32 0, i32 31
  %16829 = load i64, ptr %16828, align 8, !tbaa !39
  %16830 = shl i64 %16829, 18
  %16831 = load ptr, ptr %2, align 8, !tbaa !5
  %16832 = getelementptr inbounds %struct.PDP6, ptr %16831, i32 0, i32 31
  %16833 = load i64, ptr %16832, align 8, !tbaa !39
  %16834 = lshr i64 %16833, 18
  %16835 = or i64 %16830, %16834
  %16836 = and i64 %16835, 68719476735
  %16837 = load ptr, ptr %2, align 8, !tbaa !5
  %16838 = getelementptr inbounds %struct.PDP6, ptr %16837, i32 0, i32 31
  store i64 %16836, ptr %16838, align 8, !tbaa !39
  %16839 = load ptr, ptr %2, align 8, !tbaa !5
  %16840 = getelementptr inbounds %struct.PDP6, ptr %16839, i32 0, i32 35
  store i32 0, ptr %16840, align 4, !tbaa !32
  %16841 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16841, ptr noundef @.str.42)
  %16842 = load i64, ptr @simtime, align 8, !tbaa !15
  %16843 = add i64 %16842, 100
  store i64 %16843, ptr @simtime, align 8, !tbaa !15
  %16844 = load ptr, ptr %2, align 8, !tbaa !5
  %16845 = getelementptr inbounds %struct.PDP6, ptr %16844, i32 0, i32 31
  %16846 = load i64, ptr %16845, align 8, !tbaa !39
  %16847 = and i64 %16846, 262143
  %16848 = load ptr, ptr %2, align 8, !tbaa !5
  %16849 = getelementptr inbounds %struct.PDP6, ptr %16848, i32 0, i32 35
  %16850 = load i32, ptr %16849, align 4, !tbaa !32
  %16851 = zext i32 %16850 to i64
  %16852 = or i64 %16851, %16847
  %16853 = trunc i64 %16852 to i32
  store i32 %16853, ptr %16849, align 4, !tbaa !32
  %16854 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16854, ptr noundef @.str.43)
  %16855 = load ptr, ptr %2, align 8, !tbaa !5
  %16856 = getelementptr inbounds %struct.PDP6, ptr %16855, i32 0, i32 31
  %16857 = load i64, ptr %16856, align 8, !tbaa !39
  store i64 %16857, ptr %4, align 8, !tbaa !15
  %16858 = load ptr, ptr %2, align 8, !tbaa !5
  %16859 = getelementptr inbounds %struct.PDP6, ptr %16858, i32 0, i32 29
  %16860 = load i64, ptr %16859, align 8, !tbaa !61
  %16861 = load ptr, ptr %2, align 8, !tbaa !5
  %16862 = getelementptr inbounds %struct.PDP6, ptr %16861, i32 0, i32 31
  store i64 %16860, ptr %16862, align 8, !tbaa !39
  %16863 = load i64, ptr %4, align 8, !tbaa !15
  %16864 = load ptr, ptr %2, align 8, !tbaa !5
  %16865 = getelementptr inbounds %struct.PDP6, ptr %16864, i32 0, i32 29
  store i64 %16863, ptr %16865, align 8, !tbaa !61
  %16866 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16866, ptr noundef @.str.128)
  %16867 = load ptr, ptr %2, align 8, !tbaa !5
  %16868 = getelementptr inbounds %struct.PDP6, ptr %16867, i32 0, i32 53
  store i8 1, ptr %16868, align 4, !tbaa !103
  %16869 = load ptr, ptr %2, align 8, !tbaa !5
  call void @wrrq(ptr noundef %16869, i32 noundef 22)
  br label %18456

16870:                                            ; preds = %17
  %16871 = load ptr, ptr %2, align 8, !tbaa !5
  %16872 = getelementptr inbounds %struct.PDP6, ptr %16871, i32 0, i32 53
  store i8 0, ptr %16872, align 4, !tbaa !103
  %16873 = load ptr, ptr %2, align 8, !tbaa !5
  %16874 = getelementptr inbounds %struct.PDP6, ptr %16873, i32 0, i32 29
  %16875 = load i64, ptr %16874, align 8, !tbaa !61
  %16876 = load ptr, ptr %2, align 8, !tbaa !5
  %16877 = getelementptr inbounds %struct.PDP6, ptr %16876, i32 0, i32 31
  store i64 %16875, ptr %16877, align 8, !tbaa !39
  %16878 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16878, ptr noundef @.str.129)
  %16879 = load i64, ptr @simtime, align 8, !tbaa !15
  %16880 = add i64 %16879, 100
  store i64 %16880, ptr @simtime, align 8, !tbaa !15
  %16881 = load ptr, ptr %2, align 8, !tbaa !5
  %16882 = getelementptr inbounds %struct.PDP6, ptr %16881, i32 0, i32 31
  %16883 = load i64, ptr %16882, align 8, !tbaa !39
  store i64 %16883, ptr %4, align 8, !tbaa !15
  %16884 = load ptr, ptr %2, align 8, !tbaa !5
  %16885 = getelementptr inbounds %struct.PDP6, ptr %16884, i32 0, i32 28
  %16886 = load i64, ptr %16885, align 8, !tbaa !34
  %16887 = load ptr, ptr %2, align 8, !tbaa !5
  %16888 = getelementptr inbounds %struct.PDP6, ptr %16887, i32 0, i32 31
  store i64 %16886, ptr %16888, align 8, !tbaa !39
  %16889 = load i64, ptr %4, align 8, !tbaa !15
  %16890 = load ptr, ptr %2, align 8, !tbaa !5
  %16891 = getelementptr inbounds %struct.PDP6, ptr %16890, i32 0, i32 28
  store i64 %16889, ptr %16891, align 8, !tbaa !34
  %16892 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16892, ptr noundef @.str.130)
  %16893 = load i64, ptr @simtime, align 8, !tbaa !15
  %16894 = add i64 %16893, 100
  store i64 %16894, ptr @simtime, align 8, !tbaa !15
  %16895 = load ptr, ptr %2, align 8, !tbaa !5
  %16896 = getelementptr inbounds %struct.PDP6, ptr %16895, i32 0, i32 28
  %16897 = load i64, ptr %16896, align 8, !tbaa !34
  %16898 = and i64 %16897, 262143
  store i64 %16898, ptr %16896, align 8, !tbaa !34
  %16899 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16899, ptr noundef @.str.131)
  %16900 = load i64, ptr @simtime, align 8, !tbaa !15
  %16901 = add i64 %16900, 100
  store i64 %16901, ptr @simtime, align 8, !tbaa !15
  %16902 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16902, ptr noundef @.str.132)
  %16903 = load ptr, ptr %2, align 8, !tbaa !5
  %16904 = getelementptr inbounds %struct.PDP6, ptr %16903, i32 0, i32 60
  store i8 1, ptr %16904, align 1, !tbaa !104
  %16905 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_sub(ptr noundef %16905)
  %16906 = load ptr, ptr %2, align 8, !tbaa !5
  %16907 = getelementptr inbounds %struct.PDP6, ptr %16906, i32 0, i32 60
  store i8 0, ptr %16907, align 1, !tbaa !104
  %16908 = load ptr, ptr %2, align 8, !tbaa !5
  %16909 = getelementptr inbounds %struct.PDP6, ptr %16908, i32 0, i32 31
  %16910 = load i64, ptr %16909, align 8, !tbaa !39
  store i64 %16910, ptr %4, align 8, !tbaa !15
  %16911 = load ptr, ptr %2, align 8, !tbaa !5
  %16912 = getelementptr inbounds %struct.PDP6, ptr %16911, i32 0, i32 29
  %16913 = load i64, ptr %16912, align 8, !tbaa !61
  %16914 = load ptr, ptr %2, align 8, !tbaa !5
  %16915 = getelementptr inbounds %struct.PDP6, ptr %16914, i32 0, i32 31
  store i64 %16913, ptr %16915, align 8, !tbaa !39
  %16916 = load i64, ptr %4, align 8, !tbaa !15
  %16917 = load ptr, ptr %2, align 8, !tbaa !5
  %16918 = getelementptr inbounds %struct.PDP6, ptr %16917, i32 0, i32 29
  store i64 %16916, ptr %16918, align 8, !tbaa !61
  %16919 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16919, ptr noundef @.str.133)
  %16920 = load i64, ptr @simtime, align 8, !tbaa !15
  %16921 = add i64 %16920, 100
  store i64 %16921, ptr @simtime, align 8, !tbaa !15
  %16922 = load ptr, ptr %2, align 8, !tbaa !5
  %16923 = getelementptr inbounds %struct.PDP6, ptr %16922, i32 0, i32 31
  %16924 = load i64, ptr %16923, align 8, !tbaa !39
  store i64 %16924, ptr %4, align 8, !tbaa !15
  %16925 = load ptr, ptr %2, align 8, !tbaa !5
  %16926 = getelementptr inbounds %struct.PDP6, ptr %16925, i32 0, i32 28
  %16927 = load i64, ptr %16926, align 8, !tbaa !34
  %16928 = load ptr, ptr %2, align 8, !tbaa !5
  %16929 = getelementptr inbounds %struct.PDP6, ptr %16928, i32 0, i32 31
  store i64 %16927, ptr %16929, align 8, !tbaa !39
  %16930 = load i64, ptr %4, align 8, !tbaa !15
  %16931 = load ptr, ptr %2, align 8, !tbaa !5
  %16932 = getelementptr inbounds %struct.PDP6, ptr %16931, i32 0, i32 28
  store i64 %16930, ptr %16932, align 8, !tbaa !34
  %16933 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16933, ptr noundef @.str.134)
  %16934 = load ptr, ptr %2, align 8, !tbaa !5
  %16935 = load ptr, ptr %2, align 8, !tbaa !5
  %16936 = getelementptr inbounds %struct.PDP6, ptr %16935, i32 0, i32 41
  %16937 = load i8, ptr %16936, align 8, !tbaa !48
  %16938 = zext i8 %16937 to i32
  %16939 = load ptr, ptr %2, align 8, !tbaa !5
  %16940 = getelementptr inbounds %struct.PDP6, ptr %16939, i32 0, i32 101
  %16941 = load i8, ptr %16940, align 4, !tbaa !49
  %16942 = zext i8 %16941 to i32
  %16943 = and i32 %16938, %16942
  %16944 = trunc i32 %16943 to i8
  call void @pir_set(ptr noundef %16934, i8 noundef zeroext %16944)
  %16945 = load i64, ptr @simtime, align 8, !tbaa !15
  %16946 = add i64 %16945, 100
  store i64 %16946, ptr @simtime, align 8, !tbaa !15
  %16947 = load ptr, ptr %2, align 8, !tbaa !5
  %16948 = getelementptr inbounds %struct.PDP6, ptr %16947, i32 0, i32 31
  %16949 = load i64, ptr %16948, align 8, !tbaa !39
  store i64 %16949, ptr %4, align 8, !tbaa !15
  %16950 = load ptr, ptr %2, align 8, !tbaa !5
  %16951 = getelementptr inbounds %struct.PDP6, ptr %16950, i32 0, i32 29
  %16952 = load i64, ptr %16951, align 8, !tbaa !61
  %16953 = load ptr, ptr %2, align 8, !tbaa !5
  %16954 = getelementptr inbounds %struct.PDP6, ptr %16953, i32 0, i32 31
  store i64 %16952, ptr %16954, align 8, !tbaa !39
  %16955 = load i64, ptr %4, align 8, !tbaa !15
  %16956 = load ptr, ptr %2, align 8, !tbaa !5
  %16957 = getelementptr inbounds %struct.PDP6, ptr %16956, i32 0, i32 29
  store i64 %16955, ptr %16957, align 8, !tbaa !61
  %16958 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16958, ptr noundef @.str.135)
  %16959 = load ptr, ptr %2, align 8, !tbaa !5
  %16960 = getelementptr inbounds %struct.PDP6, ptr %16959, i32 0, i32 61
  store i8 1, ptr %16960, align 4, !tbaa !105
  %16961 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc_ltrt(ptr noundef %16961)
  %16962 = load ptr, ptr %2, align 8, !tbaa !5
  %16963 = getelementptr inbounds %struct.PDP6, ptr %16962, i32 0, i32 61
  store i8 0, ptr %16963, align 4, !tbaa !105
  %16964 = load ptr, ptr %2, align 8, !tbaa !5
  %16965 = getelementptr inbounds %struct.PDP6, ptr %16964, i32 0, i32 29
  %16966 = load i64, ptr %16965, align 8, !tbaa !61
  %16967 = and i64 %16966, 34359738368
  %16968 = icmp ne i64 %16967, 0
  br i1 %16968, label %16981, label %16969

16969:                                            ; preds = %16870
  %16970 = load ptr, ptr %2, align 8, !tbaa !5
  %16971 = getelementptr inbounds %struct.PDP6, ptr %16970, i32 0, i32 34
  %16972 = load i32, ptr %16971, align 8, !tbaa !33
  %16973 = add i32 %16972, 1
  %16974 = and i32 %16973, 262143
  %16975 = load ptr, ptr %2, align 8, !tbaa !5
  %16976 = getelementptr inbounds %struct.PDP6, ptr %16975, i32 0, i32 34
  store i32 %16974, ptr %16976, align 8, !tbaa !33
  %16977 = load ptr, ptr %2, align 8, !tbaa !5
  %16978 = getelementptr inbounds %struct.PDP6, ptr %16977, i32 0, i32 3
  %16979 = load i32, ptr %16978, align 4, !tbaa !59
  %16980 = or i32 %16979, 1024
  store i32 %16980, ptr %16978, align 4, !tbaa !59
  br label %16981

16981:                                            ; preds = %16969, %16870
  %16982 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %16982, ptr noundef @.str.136)
  %16983 = load ptr, ptr %2, align 8, !tbaa !5
  %16984 = getelementptr inbounds %struct.PDP6, ptr %16983, i32 0, i32 29
  %16985 = load i64, ptr %16984, align 8, !tbaa !61
  %16986 = and i64 %16985, 34359738368
  %16987 = icmp ne i64 %16986, 0
  br i1 %16987, label %16988, label %16994

16988:                                            ; preds = %16981
  %16989 = load ptr, ptr %2, align 8, !tbaa !5
  %16990 = getelementptr inbounds %struct.PDP6, ptr %16989, i32 0, i32 104
  %16991 = load i8, ptr %16990, align 1, !tbaa !50
  %16992 = zext i8 %16991 to i32
  %16993 = icmp ne i32 %16992, 0
  br i1 %16993, label %16994, label %16995

16994:                                            ; preds = %16988, %16981
  br label %17859

16995:                                            ; preds = %16988
  %16996 = load ptr, ptr %2, align 8, !tbaa !5
  %16997 = getelementptr inbounds %struct.PDP6, ptr %16996, i32 0, i32 31
  %16998 = load i64, ptr %16997, align 8, !tbaa !39
  store i64 %16998, ptr %4, align 8, !tbaa !15
  %16999 = load ptr, ptr %2, align 8, !tbaa !5
  %17000 = getelementptr inbounds %struct.PDP6, ptr %16999, i32 0, i32 28
  %17001 = load i64, ptr %17000, align 8, !tbaa !34
  %17002 = load ptr, ptr %2, align 8, !tbaa !5
  %17003 = getelementptr inbounds %struct.PDP6, ptr %17002, i32 0, i32 31
  store i64 %17001, ptr %17003, align 8, !tbaa !39
  %17004 = load i64, ptr %4, align 8, !tbaa !15
  %17005 = load ptr, ptr %2, align 8, !tbaa !5
  %17006 = getelementptr inbounds %struct.PDP6, ptr %17005, i32 0, i32 28
  store i64 %17004, ptr %17006, align 8, !tbaa !34
  %17007 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17007, ptr noundef @.str.137)
  %17008 = load i64, ptr @simtime, align 8, !tbaa !15
  %17009 = add i64 %17008, 100
  store i64 %17009, ptr @simtime, align 8, !tbaa !15
  br label %700

17010:                                            ; preds = %17, %17
  %17011 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17011, ptr noundef @.str.41)
  %17012 = load i64, ptr @simtime, align 8, !tbaa !15
  %17013 = add i64 %17012, 100
  store i64 %17013, ptr @simtime, align 8, !tbaa !15
  %17014 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17014, ptr noundef @.str.42)
  %17015 = load i64, ptr @simtime, align 8, !tbaa !15
  %17016 = add i64 %17015, 100
  store i64 %17016, ptr @simtime, align 8, !tbaa !15
  %17017 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17017, ptr noundef @.str.43)
  %17018 = load ptr, ptr %2, align 8, !tbaa !5
  %17019 = getelementptr inbounds %struct.PDP6, ptr %17018, i32 0, i32 58
  store i8 1, ptr %17019, align 1, !tbaa !76
  %17020 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc_ltrt(ptr noundef %17020)
  %17021 = load ptr, ptr %2, align 8, !tbaa !5
  %17022 = getelementptr inbounds %struct.PDP6, ptr %17021, i32 0, i32 58
  store i8 0, ptr %17022, align 1, !tbaa !76
  %17023 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17023, ptr noundef @.str.65)
  %17024 = load i64, ptr @simtime, align 8, !tbaa !15
  %17025 = add i64 %17024, 100
  store i64 %17025, ptr @simtime, align 8, !tbaa !15
  %17026 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17026, ptr noundef @.str.122)
  %17027 = load i64, ptr @simtime, align 8, !tbaa !15
  %17028 = add i64 %17027, 100
  store i64 %17028, ptr @simtime, align 8, !tbaa !15
  %17029 = load ptr, ptr %2, align 8, !tbaa !5
  %17030 = getelementptr inbounds %struct.PDP6, ptr %17029, i32 0, i32 28
  %17031 = load i64, ptr %17030, align 8, !tbaa !34
  %17032 = and i64 %17031, 34359738368
  %17033 = icmp ne i64 %17032, 0
  %17034 = xor i1 %17033, true
  %17035 = xor i1 %17034, true
  %17036 = zext i1 %17035 to i32
  %17037 = load ptr, ptr %2, align 8, !tbaa !5
  %17038 = getelementptr inbounds %struct.PDP6, ptr %17037, i32 0, i32 1
  %17039 = load i32, ptr %17038, align 4, !tbaa !18
  %17040 = and i32 %17039, 1
  %17041 = icmp eq i32 %17036, %17040
  %17042 = zext i1 %17041 to i32
  store i32 %17042, ptr %3, align 4, !tbaa !102
  %17043 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17043, ptr noundef @.str.125)
  %17044 = load i64, ptr @simtime, align 8, !tbaa !15
  %17045 = add i64 %17044, 100
  store i64 %17045, ptr @simtime, align 8, !tbaa !15
  %17046 = load i32, ptr %3, align 4, !tbaa !102
  %17047 = icmp ne i32 %17046, 0
  br i1 %17047, label %17048, label %17051

17048:                                            ; preds = %17010
  %17049 = load ptr, ptr %2, align 8, !tbaa !5
  %17050 = getelementptr inbounds %struct.PDP6, ptr %17049, i32 0, i32 34
  store i32 0, ptr %17050, align 8, !tbaa !33
  br label %17051

17051:                                            ; preds = %17048, %17010
  %17052 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17052, ptr noundef @.str.126)
  %17053 = load i64, ptr @simtime, align 8, !tbaa !15
  %17054 = add i64 %17053, 100
  store i64 %17054, ptr @simtime, align 8, !tbaa !15
  %17055 = load i32, ptr %3, align 4, !tbaa !102
  %17056 = icmp ne i32 %17055, 0
  br i1 %17056, label %17057, label %17065

17057:                                            ; preds = %17051
  %17058 = load ptr, ptr %2, align 8, !tbaa !5
  %17059 = getelementptr inbounds %struct.PDP6, ptr %17058, i32 0, i32 35
  %17060 = load i32, ptr %17059, align 4, !tbaa !32
  %17061 = load ptr, ptr %2, align 8, !tbaa !5
  %17062 = getelementptr inbounds %struct.PDP6, ptr %17061, i32 0, i32 34
  %17063 = load i32, ptr %17062, align 8, !tbaa !33
  %17064 = or i32 %17063, %17060
  store i32 %17064, ptr %17062, align 8, !tbaa !33
  br label %17065

17065:                                            ; preds = %17057, %17051
  %17066 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17066, ptr noundef @.str.127)
  %17067 = load i64, ptr @simtime, align 8, !tbaa !15
  %17068 = add i64 %17067, 200
  store i64 %17068, ptr @simtime, align 8, !tbaa !15
  %17069 = load i32, ptr %3, align 4, !tbaa !102
  %17070 = icmp ne i32 %17069, 0
  br i1 %17070, label %17071, label %17073

17071:                                            ; preds = %17065
  %17072 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %17072)
  br label %17073

17073:                                            ; preds = %17071, %17065
  %17074 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17074, ptr noundef @.str.121)
  %17075 = load i64, ptr @simtime, align 8, !tbaa !15
  %17076 = add i64 %17075, 200
  store i64 %17076, ptr @simtime, align 8, !tbaa !15
  br label %17859

17077:                                            ; preds = %17
  %17078 = load ptr, ptr %2, align 8, !tbaa !5
  %17079 = getelementptr inbounds %struct.PDP6, ptr %17078, i32 0, i32 37
  %17080 = load i32, ptr %17079, align 4, !tbaa !54
  %17081 = and i32 %17080, 128
  %17082 = icmp ne i32 %17081, 0
  br i1 %17082, label %17083, label %17085

17083:                                            ; preds = %17077
  %17084 = load ptr, ptr %2, align 8, !tbaa !5
  call void @clr_run(ptr noundef %17084)
  br label %17085

17085:                                            ; preds = %17083, %17077
  %17086 = load ptr, ptr %2, align 8, !tbaa !5
  %17087 = getelementptr inbounds %struct.PDP6, ptr %17086, i32 0, i32 37
  %17088 = load i32, ptr %17087, align 4, !tbaa !54
  %17089 = and i32 %17088, 64
  %17090 = icmp ne i32 %17089, 0
  br i1 %17090, label %17091, label %17093

17091:                                            ; preds = %17085
  %17092 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_flag_clr(ptr noundef %17092)
  br label %17093

17093:                                            ; preds = %17091, %17085
  %17094 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17094, ptr noundef @.str.41)
  %17095 = load i64, ptr @simtime, align 8, !tbaa !15
  %17096 = add i64 %17095, 100
  store i64 %17096, ptr @simtime, align 8, !tbaa !15
  %17097 = load ptr, ptr %2, align 8, !tbaa !5
  %17098 = getelementptr inbounds %struct.PDP6, ptr %17097, i32 0, i32 37
  %17099 = load i32, ptr %17098, align 4, !tbaa !54
  %17100 = and i32 %17099, 256
  %17101 = icmp ne i32 %17100, 0
  br i1 %17101, label %17102, label %17104

17102:                                            ; preds = %17093
  %17103 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pi_rst(ptr noundef %17103)
  br label %17104

17104:                                            ; preds = %17102, %17093
  %17105 = load ptr, ptr %2, align 8, !tbaa !5
  %17106 = getelementptr inbounds %struct.PDP6, ptr %17105, i32 0, i32 37
  %17107 = load i32, ptr %17106, align 4, !tbaa !54
  %17108 = and i32 %17107, 64
  %17109 = icmp ne i32 %17108, 0
  br i1 %17109, label %17110, label %17112

17110:                                            ; preds = %17104
  %17111 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_flag_set(ptr noundef %17111)
  br label %17112

17112:                                            ; preds = %17110, %17104
  %17113 = load ptr, ptr %2, align 8, !tbaa !5
  %17114 = getelementptr inbounds %struct.PDP6, ptr %17113, i32 0, i32 37
  %17115 = load i32, ptr %17114, align 4, !tbaa !54
  %17116 = and i32 %17115, 32
  %17117 = icmp ne i32 %17116, 0
  br i1 %17117, label %17118, label %17121

17118:                                            ; preds = %17112
  %17119 = load ptr, ptr %2, align 8, !tbaa !5
  %17120 = getelementptr inbounds %struct.PDP6, ptr %17119, i32 0, i32 106
  store i8 1, ptr %17120, align 1, !tbaa !106
  br label %17121

17121:                                            ; preds = %17118, %17112
  %17122 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17122, ptr noundef @.str.42)
  %17123 = load i64, ptr @simtime, align 8, !tbaa !15
  %17124 = add i64 %17123, 100
  store i64 %17124, ptr @simtime, align 8, !tbaa !15
  %17125 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17125, ptr noundef @.str.43)
  %17126 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17126, ptr noundef @.str.65)
  %17127 = load i64, ptr @simtime, align 8, !tbaa !15
  %17128 = add i64 %17127, 100
  store i64 %17128, ptr @simtime, align 8, !tbaa !15
  %17129 = load ptr, ptr %2, align 8, !tbaa !5
  %17130 = getelementptr inbounds %struct.PDP6, ptr %17129, i32 0, i32 31
  store i64 0, ptr %17130, align 8, !tbaa !39
  %17131 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17131, ptr noundef @.str.122)
  %17132 = load i64, ptr @simtime, align 8, !tbaa !15
  %17133 = add i64 %17132, 100
  store i64 %17133, ptr @simtime, align 8, !tbaa !15
  %17134 = load ptr, ptr %2, align 8, !tbaa !5
  %17135 = getelementptr inbounds %struct.PDP6, ptr %17134, i32 0, i32 34
  %17136 = load i32, ptr %17135, align 8, !tbaa !33
  %17137 = zext i32 %17136 to i64
  %17138 = load ptr, ptr %2, align 8, !tbaa !5
  %17139 = getelementptr inbounds %struct.PDP6, ptr %17138, i32 0, i32 31
  %17140 = load i64, ptr %17139, align 8, !tbaa !39
  %17141 = or i64 %17140, %17137
  store i64 %17141, ptr %17139, align 8, !tbaa !39
  %17142 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17142, ptr noundef @.str.125)
  %17143 = load i64, ptr @simtime, align 8, !tbaa !15
  %17144 = add i64 %17143, 100
  store i64 %17144, ptr @simtime, align 8, !tbaa !15
  %17145 = load ptr, ptr %2, align 8, !tbaa !5
  %17146 = getelementptr inbounds %struct.PDP6, ptr %17145, i32 0, i32 34
  store i32 0, ptr %17146, align 8, !tbaa !33
  %17147 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17147, ptr noundef @.str.126)
  %17148 = load i64, ptr @simtime, align 8, !tbaa !15
  %17149 = add i64 %17148, 100
  store i64 %17149, ptr @simtime, align 8, !tbaa !15
  %17150 = load ptr, ptr %2, align 8, !tbaa !5
  %17151 = getelementptr inbounds %struct.PDP6, ptr %17150, i32 0, i32 35
  %17152 = load i32, ptr %17151, align 4, !tbaa !32
  %17153 = load ptr, ptr %2, align 8, !tbaa !5
  %17154 = getelementptr inbounds %struct.PDP6, ptr %17153, i32 0, i32 34
  %17155 = load i32, ptr %17154, align 8, !tbaa !33
  %17156 = or i32 %17155, %17152
  store i32 %17156, ptr %17154, align 8, !tbaa !33
  %17157 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17157, ptr noundef @.str.127)
  %17158 = load i64, ptr @simtime, align 8, !tbaa !15
  %17159 = add i64 %17158, 200
  store i64 %17159, ptr @simtime, align 8, !tbaa !15
  %17160 = load ptr, ptr %2, align 8, !tbaa !5
  %17161 = getelementptr inbounds %struct.PDP6, ptr %17160, i32 0, i32 37
  %17162 = load i32, ptr %17161, align 4, !tbaa !54
  %17163 = and i32 %17162, 64
  %17164 = icmp ne i32 %17163, 0
  br i1 %17164, label %17167, label %17165

17165:                                            ; preds = %17121
  %17166 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %17166)
  br label %17167

17167:                                            ; preds = %17165, %17121
  %17168 = load ptr, ptr %2, align 8, !tbaa !5
  %17169 = getelementptr inbounds %struct.PDP6, ptr %17168, i32 0, i32 35
  store i32 0, ptr %17169, align 4, !tbaa !32
  %17170 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17170, ptr noundef @.str.121)
  %17171 = load i64, ptr @simtime, align 8, !tbaa !15
  %17172 = add i64 %17171, 200
  store i64 %17172, ptr @simtime, align 8, !tbaa !15
  %17173 = load ptr, ptr %2, align 8, !tbaa !5
  %17174 = getelementptr inbounds %struct.PDP6, ptr %17173, i32 0, i32 31
  %17175 = load i64, ptr %17174, align 8, !tbaa !39
  %17176 = and i64 %17175, 262143
  %17177 = load ptr, ptr %2, align 8, !tbaa !5
  %17178 = getelementptr inbounds %struct.PDP6, ptr %17177, i32 0, i32 35
  %17179 = load i32, ptr %17178, align 4, !tbaa !32
  %17180 = zext i32 %17179 to i64
  %17181 = or i64 %17180, %17176
  %17182 = trunc i64 %17181 to i32
  store i32 %17182, ptr %17178, align 4, !tbaa !32
  br label %17859

17183:                                            ; preds = %17
  %17184 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17184, ptr noundef @.str.41)
  %17185 = load i64, ptr @simtime, align 8, !tbaa !15
  %17186 = add i64 %17185, 100
  store i64 %17186, ptr @simtime, align 8, !tbaa !15
  %17187 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17187, ptr noundef @.str.42)
  %17188 = load i64, ptr @simtime, align 8, !tbaa !15
  %17189 = add i64 %17188, 100
  store i64 %17189, ptr @simtime, align 8, !tbaa !15
  %17190 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17190, ptr noundef @.str.43)
  %17191 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17191, ptr noundef @.str.65)
  %17192 = load i64, ptr @simtime, align 8, !tbaa !15
  %17193 = add i64 %17192, 100
  store i64 %17193, ptr @simtime, align 8, !tbaa !15
  %17194 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17194, ptr noundef @.str.122)
  %17195 = load i64, ptr @simtime, align 8, !tbaa !15
  %17196 = add i64 %17195, 100
  store i64 %17196, ptr @simtime, align 8, !tbaa !15
  %17197 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17197, ptr noundef @.str.125)
  %17198 = load i64, ptr @simtime, align 8, !tbaa !15
  %17199 = add i64 %17198, 100
  store i64 %17199, ptr @simtime, align 8, !tbaa !15
  %17200 = load ptr, ptr %2, align 8, !tbaa !5
  %17201 = getelementptr inbounds %struct.PDP6, ptr %17200, i32 0, i32 37
  %17202 = load i32, ptr %17201, align 4, !tbaa !54
  %17203 = and i32 %17202, 480
  %17204 = load ptr, ptr %2, align 8, !tbaa !5
  %17205 = getelementptr inbounds %struct.PDP6, ptr %17204, i32 0, i32 130
  %17206 = load i8, ptr %17205, align 1, !tbaa !107, !range !20, !noundef !21
  %17207 = trunc i8 %17206 to i1
  %17208 = zext i1 %17207 to i32
  %17209 = shl i32 %17208, 8
  %17210 = load ptr, ptr %2, align 8, !tbaa !5
  %17211 = getelementptr inbounds %struct.PDP6, ptr %17210, i32 0, i32 128
  %17212 = load i8, ptr %17211, align 1, !tbaa !108, !range !20, !noundef !21
  %17213 = trunc i8 %17212 to i1
  %17214 = zext i1 %17213 to i32
  %17215 = shl i32 %17214, 7
  %17216 = or i32 %17209, %17215
  %17217 = load ptr, ptr %2, align 8, !tbaa !5
  %17218 = getelementptr inbounds %struct.PDP6, ptr %17217, i32 0, i32 129
  %17219 = load i8, ptr %17218, align 4, !tbaa !109, !range !20, !noundef !21
  %17220 = trunc i8 %17219 to i1
  %17221 = zext i1 %17220 to i32
  %17222 = shl i32 %17221, 6
  %17223 = or i32 %17216, %17222
  %17224 = load ptr, ptr %2, align 8, !tbaa !5
  %17225 = getelementptr inbounds %struct.PDP6, ptr %17224, i32 0, i32 131
  %17226 = load i8, ptr %17225, align 2, !tbaa !110, !range !20, !noundef !21
  %17227 = trunc i8 %17226 to i1
  %17228 = zext i1 %17227 to i32
  %17229 = shl i32 %17228, 5
  %17230 = or i32 %17223, %17229
  %17231 = and i32 %17203, %17230
  store i32 %17231, ptr %3, align 4, !tbaa !102
  %17232 = load i32, ptr %3, align 4, !tbaa !102
  %17233 = icmp ne i32 %17232, 0
  br i1 %17233, label %17234, label %17237

17234:                                            ; preds = %17183
  %17235 = load ptr, ptr %2, align 8, !tbaa !5
  %17236 = getelementptr inbounds %struct.PDP6, ptr %17235, i32 0, i32 34
  store i32 0, ptr %17236, align 8, !tbaa !33
  br label %17237

17237:                                            ; preds = %17234, %17183
  %17238 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17238, ptr noundef @.str.126)
  %17239 = load i64, ptr @simtime, align 8, !tbaa !15
  %17240 = add i64 %17239, 100
  store i64 %17240, ptr @simtime, align 8, !tbaa !15
  %17241 = load i32, ptr %3, align 4, !tbaa !102
  %17242 = icmp ne i32 %17241, 0
  br i1 %17242, label %17243, label %17251

17243:                                            ; preds = %17237
  %17244 = load ptr, ptr %2, align 8, !tbaa !5
  %17245 = getelementptr inbounds %struct.PDP6, ptr %17244, i32 0, i32 35
  %17246 = load i32, ptr %17245, align 4, !tbaa !32
  %17247 = load ptr, ptr %2, align 8, !tbaa !5
  %17248 = getelementptr inbounds %struct.PDP6, ptr %17247, i32 0, i32 34
  %17249 = load i32, ptr %17248, align 8, !tbaa !33
  %17250 = or i32 %17249, %17246
  store i32 %17250, ptr %17248, align 8, !tbaa !33
  br label %17251

17251:                                            ; preds = %17243, %17237
  %17252 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17252, ptr noundef @.str.127)
  %17253 = load i64, ptr @simtime, align 8, !tbaa !15
  %17254 = add i64 %17253, 200
  store i64 %17254, ptr @simtime, align 8, !tbaa !15
  %17255 = load i32, ptr %3, align 4, !tbaa !102
  %17256 = icmp ne i32 %17255, 0
  br i1 %17256, label %17257, label %17259

17257:                                            ; preds = %17251
  %17258 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %17258)
  br label %17259

17259:                                            ; preds = %17257, %17251
  %17260 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17260, ptr noundef @.str.121)
  %17261 = load i64, ptr @simtime, align 8, !tbaa !15
  %17262 = add i64 %17261, 200
  store i64 %17262, ptr @simtime, align 8, !tbaa !15
  %17263 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_jfcl_clr(ptr noundef %17263)
  br label %17859

17264:                                            ; preds = %17
  %17265 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17265, ptr noundef @.str.41)
  %17266 = load i64, ptr @simtime, align 8, !tbaa !15
  %17267 = add i64 %17266, 100
  store i64 %17267, ptr @simtime, align 8, !tbaa !15
  %17268 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17268, ptr noundef @.str.42)
  %17269 = load i64, ptr @simtime, align 8, !tbaa !15
  %17270 = add i64 %17269, 100
  store i64 %17270, ptr @simtime, align 8, !tbaa !15
  %17271 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17271, ptr noundef @.str.43)
  %17272 = load ptr, ptr %2, align 8, !tbaa !5
  call void @mr_clr(ptr noundef %17272)
  %17273 = load i64, ptr @simtime, align 8, !tbaa !15
  %17274 = add i64 %17273, 200
  store i64 %17274, ptr @simtime, align 8, !tbaa !15
  br label %512

17275:                                            ; preds = %17
  br label %16800

17276:                                            ; preds = %17
  %17277 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17277, ptr noundef @.str.41)
  %17278 = load i64, ptr @simtime, align 8, !tbaa !15
  %17279 = add i64 %17278, 100
  store i64 %17279, ptr @simtime, align 8, !tbaa !15
  %17280 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17280, ptr noundef @.str.42)
  %17281 = load i64, ptr @simtime, align 8, !tbaa !15
  %17282 = add i64 %17281, 100
  store i64 %17282, ptr @simtime, align 8, !tbaa !15
  %17283 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17283, ptr noundef @.str.43)
  %17284 = load ptr, ptr %2, align 8, !tbaa !5
  %17285 = getelementptr inbounds %struct.PDP6, ptr %17284, i32 0, i32 58
  store i8 1, ptr %17285, align 1, !tbaa !76
  %17286 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc_ltrt(ptr noundef %17286)
  %17287 = load ptr, ptr %2, align 8, !tbaa !5
  %17288 = getelementptr inbounds %struct.PDP6, ptr %17287, i32 0, i32 58
  store i8 0, ptr %17288, align 1, !tbaa !76
  %17289 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17289, ptr noundef @.str.65)
  %17290 = load i64, ptr @simtime, align 8, !tbaa !15
  %17291 = add i64 %17290, 100
  store i64 %17291, ptr @simtime, align 8, !tbaa !15
  %17292 = load ptr, ptr %2, align 8, !tbaa !5
  %17293 = getelementptr inbounds %struct.PDP6, ptr %17292, i32 0, i32 31
  store i64 0, ptr %17293, align 8, !tbaa !39
  %17294 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17294, ptr noundef @.str.122)
  %17295 = load i64, ptr @simtime, align 8, !tbaa !15
  %17296 = add i64 %17295, 100
  store i64 %17296, ptr @simtime, align 8, !tbaa !15
  %17297 = load ptr, ptr %2, align 8, !tbaa !5
  %17298 = getelementptr inbounds %struct.PDP6, ptr %17297, i32 0, i32 34
  %17299 = load i32, ptr %17298, align 8, !tbaa !33
  %17300 = zext i32 %17299 to i64
  %17301 = load ptr, ptr %2, align 8, !tbaa !5
  %17302 = getelementptr inbounds %struct.PDP6, ptr %17301, i32 0, i32 31
  %17303 = load i64, ptr %17302, align 8, !tbaa !39
  %17304 = or i64 %17303, %17300
  store i64 %17304, ptr %17302, align 8, !tbaa !39
  %17305 = load ptr, ptr %2, align 8, !tbaa !5
  call void @mb_fm_misc_bits(ptr noundef %17305)
  %17306 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17306, ptr noundef @.str.125)
  %17307 = load i64, ptr @simtime, align 8, !tbaa !15
  %17308 = add i64 %17307, 100
  store i64 %17308, ptr @simtime, align 8, !tbaa !15
  %17309 = load ptr, ptr %2, align 8, !tbaa !5
  %17310 = getelementptr inbounds %struct.PDP6, ptr %17309, i32 0, i32 34
  store i32 0, ptr %17310, align 8, !tbaa !33
  %17311 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17311, ptr noundef @.str.126)
  %17312 = load i64, ptr @simtime, align 8, !tbaa !15
  %17313 = add i64 %17312, 100
  store i64 %17313, ptr @simtime, align 8, !tbaa !15
  %17314 = load ptr, ptr %2, align 8, !tbaa !5
  %17315 = getelementptr inbounds %struct.PDP6, ptr %17314, i32 0, i32 35
  %17316 = load i32, ptr %17315, align 4, !tbaa !32
  %17317 = load ptr, ptr %2, align 8, !tbaa !5
  %17318 = getelementptr inbounds %struct.PDP6, ptr %17317, i32 0, i32 34
  %17319 = load i32, ptr %17318, align 8, !tbaa !33
  %17320 = or i32 %17319, %17316
  store i32 %17320, ptr %17318, align 8, !tbaa !33
  %17321 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17321, ptr noundef @.str.127)
  %17322 = load i64, ptr @simtime, align 8, !tbaa !15
  %17323 = add i64 %17322, 200
  store i64 %17323, ptr @simtime, align 8, !tbaa !15
  %17324 = load ptr, ptr %2, align 8, !tbaa !5
  %17325 = getelementptr inbounds %struct.PDP6, ptr %17324, i32 0, i32 31
  %17326 = load i64, ptr %17325, align 8, !tbaa !39
  store i64 %17326, ptr %4, align 8, !tbaa !15
  %17327 = load ptr, ptr %2, align 8, !tbaa !5
  %17328 = getelementptr inbounds %struct.PDP6, ptr %17327, i32 0, i32 28
  %17329 = load i64, ptr %17328, align 8, !tbaa !34
  %17330 = load ptr, ptr %2, align 8, !tbaa !5
  %17331 = getelementptr inbounds %struct.PDP6, ptr %17330, i32 0, i32 31
  store i64 %17329, ptr %17331, align 8, !tbaa !39
  %17332 = load i64, ptr %4, align 8, !tbaa !15
  %17333 = load ptr, ptr %2, align 8, !tbaa !5
  %17334 = getelementptr inbounds %struct.PDP6, ptr %17333, i32 0, i32 28
  store i64 %17332, ptr %17334, align 8, !tbaa !34
  %17335 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %17335)
  %17336 = load ptr, ptr %2, align 8, !tbaa !5
  %17337 = getelementptr inbounds %struct.PDP6, ptr %17336, i32 0, i32 35
  store i32 0, ptr %17337, align 4, !tbaa !32
  %17338 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17338, ptr noundef @.str.121)
  %17339 = load i64, ptr @simtime, align 8, !tbaa !15
  %17340 = add i64 %17339, 200
  store i64 %17340, ptr @simtime, align 8, !tbaa !15
  %17341 = load ptr, ptr %2, align 8, !tbaa !5
  %17342 = getelementptr inbounds %struct.PDP6, ptr %17341, i32 0, i32 31
  %17343 = load i64, ptr %17342, align 8, !tbaa !39
  %17344 = and i64 %17343, 262143
  %17345 = load ptr, ptr %2, align 8, !tbaa !5
  %17346 = getelementptr inbounds %struct.PDP6, ptr %17345, i32 0, i32 35
  %17347 = load i32, ptr %17346, align 4, !tbaa !32
  %17348 = zext i32 %17347 to i64
  %17349 = or i64 %17348, %17344
  %17350 = trunc i64 %17349 to i32
  store i32 %17350, ptr %17346, align 4, !tbaa !32
  %17351 = load ptr, ptr %2, align 8, !tbaa !5
  %17352 = getelementptr inbounds %struct.PDP6, ptr %17351, i32 0, i32 31
  %17353 = load i64, ptr %17352, align 8, !tbaa !39
  store i64 %17353, ptr %4, align 8, !tbaa !15
  %17354 = load ptr, ptr %2, align 8, !tbaa !5
  %17355 = getelementptr inbounds %struct.PDP6, ptr %17354, i32 0, i32 28
  %17356 = load i64, ptr %17355, align 8, !tbaa !34
  %17357 = load ptr, ptr %2, align 8, !tbaa !5
  %17358 = getelementptr inbounds %struct.PDP6, ptr %17357, i32 0, i32 31
  store i64 %17356, ptr %17358, align 8, !tbaa !39
  %17359 = load i64, ptr %4, align 8, !tbaa !15
  %17360 = load ptr, ptr %2, align 8, !tbaa !5
  %17361 = getelementptr inbounds %struct.PDP6, ptr %17360, i32 0, i32 28
  store i64 %17359, ptr %17361, align 8, !tbaa !34
  %17362 = load ptr, ptr %2, align 8, !tbaa !5
  %17363 = getelementptr inbounds %struct.PDP6, ptr %17362, i32 0, i32 126
  %17364 = load i8, ptr %17363, align 1, !tbaa !66, !range !20, !noundef !21
  %17365 = trunc i8 %17364 to i1
  br i1 %17365, label %17366, label %17368

17366:                                            ; preds = %17276
  %17367 = load ptr, ptr %2, align 8, !tbaa !5
  call void @cpa_set_pdl_ov(ptr noundef %17367)
  br label %17368

17368:                                            ; preds = %17366, %17276
  br label %17859

17369:                                            ; preds = %17
  %17370 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17370, ptr noundef @.str.41)
  %17371 = load i64, ptr @simtime, align 8, !tbaa !15
  %17372 = add i64 %17371, 100
  store i64 %17372, ptr @simtime, align 8, !tbaa !15
  %17373 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17373, ptr noundef @.str.42)
  %17374 = load i64, ptr @simtime, align 8, !tbaa !15
  %17375 = add i64 %17374, 100
  store i64 %17375, ptr @simtime, align 8, !tbaa !15
  %17376 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17376, ptr noundef @.str.43)
  %17377 = load ptr, ptr %2, align 8, !tbaa !5
  %17378 = getelementptr inbounds %struct.PDP6, ptr %17377, i32 0, i32 58
  store i8 1, ptr %17378, align 1, !tbaa !76
  %17379 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc_ltrt(ptr noundef %17379)
  %17380 = load ptr, ptr %2, align 8, !tbaa !5
  %17381 = getelementptr inbounds %struct.PDP6, ptr %17380, i32 0, i32 58
  store i8 0, ptr %17381, align 1, !tbaa !76
  %17382 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17382, ptr noundef @.str.65)
  %17383 = load i64, ptr @simtime, align 8, !tbaa !15
  %17384 = add i64 %17383, 100
  store i64 %17384, ptr @simtime, align 8, !tbaa !15
  %17385 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17385, ptr noundef @.str.122)
  %17386 = load i64, ptr @simtime, align 8, !tbaa !15
  %17387 = add i64 %17386, 100
  store i64 %17387, ptr @simtime, align 8, !tbaa !15
  %17388 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17388, ptr noundef @.str.125)
  %17389 = load i64, ptr @simtime, align 8, !tbaa !15
  %17390 = add i64 %17389, 100
  store i64 %17390, ptr @simtime, align 8, !tbaa !15
  %17391 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17391, ptr noundef @.str.126)
  %17392 = load i64, ptr @simtime, align 8, !tbaa !15
  %17393 = add i64 %17392, 100
  store i64 %17393, ptr @simtime, align 8, !tbaa !15
  %17394 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17394, ptr noundef @.str.127)
  %17395 = load i64, ptr @simtime, align 8, !tbaa !15
  %17396 = add i64 %17395, 200
  store i64 %17396, ptr @simtime, align 8, !tbaa !15
  %17397 = load ptr, ptr %2, align 8, !tbaa !5
  %17398 = getelementptr inbounds %struct.PDP6, ptr %17397, i32 0, i32 31
  %17399 = load i64, ptr %17398, align 8, !tbaa !39
  store i64 %17399, ptr %4, align 8, !tbaa !15
  %17400 = load ptr, ptr %2, align 8, !tbaa !5
  %17401 = getelementptr inbounds %struct.PDP6, ptr %17400, i32 0, i32 28
  %17402 = load i64, ptr %17401, align 8, !tbaa !34
  %17403 = load ptr, ptr %2, align 8, !tbaa !5
  %17404 = getelementptr inbounds %struct.PDP6, ptr %17403, i32 0, i32 31
  store i64 %17402, ptr %17404, align 8, !tbaa !39
  %17405 = load i64, ptr %4, align 8, !tbaa !15
  %17406 = load ptr, ptr %2, align 8, !tbaa !5
  %17407 = getelementptr inbounds %struct.PDP6, ptr %17406, i32 0, i32 28
  store i64 %17405, ptr %17407, align 8, !tbaa !34
  %17408 = load ptr, ptr %2, align 8, !tbaa !5
  %17409 = getelementptr inbounds %struct.PDP6, ptr %17408, i32 0, i32 35
  store i32 0, ptr %17409, align 4, !tbaa !32
  %17410 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17410, ptr noundef @.str.121)
  %17411 = load i64, ptr @simtime, align 8, !tbaa !15
  %17412 = add i64 %17411, 200
  store i64 %17412, ptr @simtime, align 8, !tbaa !15
  %17413 = load ptr, ptr %2, align 8, !tbaa !5
  %17414 = getelementptr inbounds %struct.PDP6, ptr %17413, i32 0, i32 31
  %17415 = load i64, ptr %17414, align 8, !tbaa !39
  %17416 = and i64 %17415, 262143
  %17417 = load ptr, ptr %2, align 8, !tbaa !5
  %17418 = getelementptr inbounds %struct.PDP6, ptr %17417, i32 0, i32 35
  %17419 = load i32, ptr %17418, align 4, !tbaa !32
  %17420 = zext i32 %17419 to i64
  %17421 = or i64 %17420, %17416
  %17422 = trunc i64 %17421 to i32
  store i32 %17422, ptr %17418, align 4, !tbaa !32
  %17423 = load ptr, ptr %2, align 8, !tbaa !5
  %17424 = getelementptr inbounds %struct.PDP6, ptr %17423, i32 0, i32 31
  %17425 = load i64, ptr %17424, align 8, !tbaa !39
  store i64 %17425, ptr %4, align 8, !tbaa !15
  %17426 = load ptr, ptr %2, align 8, !tbaa !5
  %17427 = getelementptr inbounds %struct.PDP6, ptr %17426, i32 0, i32 28
  %17428 = load i64, ptr %17427, align 8, !tbaa !34
  %17429 = load ptr, ptr %2, align 8, !tbaa !5
  %17430 = getelementptr inbounds %struct.PDP6, ptr %17429, i32 0, i32 31
  store i64 %17428, ptr %17430, align 8, !tbaa !39
  %17431 = load i64, ptr %4, align 8, !tbaa !15
  %17432 = load ptr, ptr %2, align 8, !tbaa !5
  %17433 = getelementptr inbounds %struct.PDP6, ptr %17432, i32 0, i32 28
  store i64 %17431, ptr %17433, align 8, !tbaa !34
  %17434 = load ptr, ptr %2, align 8, !tbaa !5
  %17435 = getelementptr inbounds %struct.PDP6, ptr %17434, i32 0, i32 126
  %17436 = load i8, ptr %17435, align 1, !tbaa !66, !range !20, !noundef !21
  %17437 = trunc i8 %17436 to i1
  br i1 %17437, label %17438, label %17440

17438:                                            ; preds = %17369
  %17439 = load ptr, ptr %2, align 8, !tbaa !5
  call void @cpa_set_pdl_ov(ptr noundef %17439)
  br label %17440

17440:                                            ; preds = %17438, %17369
  br label %17859

17441:                                            ; preds = %17
  %17442 = load ptr, ptr %2, align 8, !tbaa !5
  %17443 = getelementptr inbounds %struct.PDP6, ptr %17442, i32 0, i32 29
  %17444 = load i64, ptr %17443, align 8, !tbaa !61
  %17445 = load ptr, ptr %2, align 8, !tbaa !5
  %17446 = getelementptr inbounds %struct.PDP6, ptr %17445, i32 0, i32 31
  store i64 %17444, ptr %17446, align 8, !tbaa !39
  %17447 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17447, ptr noundef @.str.41)
  %17448 = load i64, ptr @simtime, align 8, !tbaa !15
  %17449 = add i64 %17448, 100
  store i64 %17449, ptr @simtime, align 8, !tbaa !15
  %17450 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17450, ptr noundef @.str.42)
  %17451 = load i64, ptr @simtime, align 8, !tbaa !15
  %17452 = add i64 %17451, 100
  store i64 %17452, ptr @simtime, align 8, !tbaa !15
  %17453 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17453, ptr noundef @.str.43)
  %17454 = load ptr, ptr %2, align 8, !tbaa !5
  %17455 = getelementptr inbounds %struct.PDP6, ptr %17454, i32 0, i32 58
  store i8 1, ptr %17455, align 1, !tbaa !76
  %17456 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec_ltrt(ptr noundef %17456)
  %17457 = load ptr, ptr %2, align 8, !tbaa !5
  %17458 = getelementptr inbounds %struct.PDP6, ptr %17457, i32 0, i32 58
  store i8 0, ptr %17458, align 1, !tbaa !76
  %17459 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17459, ptr noundef @.str.65)
  %17460 = load i64, ptr @simtime, align 8, !tbaa !15
  %17461 = add i64 %17460, 100
  store i64 %17461, ptr @simtime, align 8, !tbaa !15
  %17462 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17462, ptr noundef @.str.122)
  %17463 = load i64, ptr @simtime, align 8, !tbaa !15
  %17464 = add i64 %17463, 100
  store i64 %17464, ptr @simtime, align 8, !tbaa !15
  %17465 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17465, ptr noundef @.str.125)
  %17466 = load i64, ptr @simtime, align 8, !tbaa !15
  %17467 = add i64 %17466, 100
  store i64 %17467, ptr @simtime, align 8, !tbaa !15
  %17468 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17468, ptr noundef @.str.126)
  %17469 = load i64, ptr @simtime, align 8, !tbaa !15
  %17470 = add i64 %17469, 100
  store i64 %17470, ptr @simtime, align 8, !tbaa !15
  %17471 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17471, ptr noundef @.str.127)
  %17472 = load i64, ptr @simtime, align 8, !tbaa !15
  %17473 = add i64 %17472, 200
  store i64 %17473, ptr @simtime, align 8, !tbaa !15
  %17474 = load ptr, ptr %2, align 8, !tbaa !5
  %17475 = getelementptr inbounds %struct.PDP6, ptr %17474, i32 0, i32 31
  %17476 = load i64, ptr %17475, align 8, !tbaa !39
  store i64 %17476, ptr %4, align 8, !tbaa !15
  %17477 = load ptr, ptr %2, align 8, !tbaa !5
  %17478 = getelementptr inbounds %struct.PDP6, ptr %17477, i32 0, i32 28
  %17479 = load i64, ptr %17478, align 8, !tbaa !34
  %17480 = load ptr, ptr %2, align 8, !tbaa !5
  %17481 = getelementptr inbounds %struct.PDP6, ptr %17480, i32 0, i32 31
  store i64 %17479, ptr %17481, align 8, !tbaa !39
  %17482 = load i64, ptr %4, align 8, !tbaa !15
  %17483 = load ptr, ptr %2, align 8, !tbaa !5
  %17484 = getelementptr inbounds %struct.PDP6, ptr %17483, i32 0, i32 28
  store i64 %17482, ptr %17484, align 8, !tbaa !34
  %17485 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17485, ptr noundef @.str.121)
  %17486 = load i64, ptr @simtime, align 8, !tbaa !15
  %17487 = add i64 %17486, 200
  store i64 %17487, ptr @simtime, align 8, !tbaa !15
  %17488 = load ptr, ptr %2, align 8, !tbaa !5
  %17489 = getelementptr inbounds %struct.PDP6, ptr %17488, i32 0, i32 31
  %17490 = load i64, ptr %17489, align 8, !tbaa !39
  store i64 %17490, ptr %4, align 8, !tbaa !15
  %17491 = load ptr, ptr %2, align 8, !tbaa !5
  %17492 = getelementptr inbounds %struct.PDP6, ptr %17491, i32 0, i32 28
  %17493 = load i64, ptr %17492, align 8, !tbaa !34
  %17494 = load ptr, ptr %2, align 8, !tbaa !5
  %17495 = getelementptr inbounds %struct.PDP6, ptr %17494, i32 0, i32 31
  store i64 %17493, ptr %17495, align 8, !tbaa !39
  %17496 = load i64, ptr %4, align 8, !tbaa !15
  %17497 = load ptr, ptr %2, align 8, !tbaa !5
  %17498 = getelementptr inbounds %struct.PDP6, ptr %17497, i32 0, i32 28
  store i64 %17496, ptr %17498, align 8, !tbaa !34
  %17499 = load ptr, ptr %2, align 8, !tbaa !5
  %17500 = getelementptr inbounds %struct.PDP6, ptr %17499, i32 0, i32 126
  %17501 = load i8, ptr %17500, align 1, !tbaa !66, !range !20, !noundef !21
  %17502 = trunc i8 %17501 to i1
  br i1 %17502, label %17503, label %17505

17503:                                            ; preds = %17441
  %17504 = load ptr, ptr %2, align 8, !tbaa !5
  call void @cpa_set_pdl_ov(ptr noundef %17504)
  br label %17505

17505:                                            ; preds = %17503, %17441
  br label %17859

17506:                                            ; preds = %17
  %17507 = load ptr, ptr %2, align 8, !tbaa !5
  %17508 = getelementptr inbounds %struct.PDP6, ptr %17507, i32 0, i32 29
  %17509 = load i64, ptr %17508, align 8, !tbaa !61
  %17510 = load ptr, ptr %2, align 8, !tbaa !5
  %17511 = getelementptr inbounds %struct.PDP6, ptr %17510, i32 0, i32 31
  store i64 %17509, ptr %17511, align 8, !tbaa !39
  %17512 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17512, ptr noundef @.str.41)
  %17513 = load i64, ptr @simtime, align 8, !tbaa !15
  %17514 = add i64 %17513, 100
  store i64 %17514, ptr @simtime, align 8, !tbaa !15
  %17515 = load ptr, ptr %2, align 8, !tbaa !5
  %17516 = getelementptr inbounds %struct.PDP6, ptr %17515, i32 0, i32 35
  store i32 0, ptr %17516, align 4, !tbaa !32
  %17517 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17517, ptr noundef @.str.42)
  %17518 = load i64, ptr @simtime, align 8, !tbaa !15
  %17519 = add i64 %17518, 100
  store i64 %17519, ptr @simtime, align 8, !tbaa !15
  %17520 = load ptr, ptr %2, align 8, !tbaa !5
  %17521 = getelementptr inbounds %struct.PDP6, ptr %17520, i32 0, i32 31
  %17522 = load i64, ptr %17521, align 8, !tbaa !39
  %17523 = and i64 %17522, 262143
  %17524 = load ptr, ptr %2, align 8, !tbaa !5
  %17525 = getelementptr inbounds %struct.PDP6, ptr %17524, i32 0, i32 35
  %17526 = load i32, ptr %17525, align 4, !tbaa !32
  %17527 = zext i32 %17526 to i64
  %17528 = or i64 %17527, %17523
  %17529 = trunc i64 %17528 to i32
  store i32 %17529, ptr %17525, align 4, !tbaa !32
  %17530 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17530, ptr noundef @.str.43)
  %17531 = load ptr, ptr %2, align 8, !tbaa !5
  %17532 = getelementptr inbounds %struct.PDP6, ptr %17531, i32 0, i32 58
  store i8 1, ptr %17532, align 1, !tbaa !76
  %17533 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_dec_ltrt(ptr noundef %17533)
  %17534 = load ptr, ptr %2, align 8, !tbaa !5
  %17535 = getelementptr inbounds %struct.PDP6, ptr %17534, i32 0, i32 58
  store i8 0, ptr %17535, align 1, !tbaa !76
  %17536 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17536, ptr noundef @.str.65)
  %17537 = load i64, ptr @simtime, align 8, !tbaa !15
  %17538 = add i64 %17537, 100
  store i64 %17538, ptr @simtime, align 8, !tbaa !15
  %17539 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17539, ptr noundef @.str.122)
  %17540 = load i64, ptr @simtime, align 8, !tbaa !15
  %17541 = add i64 %17540, 100
  store i64 %17541, ptr @simtime, align 8, !tbaa !15
  %17542 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17542, ptr noundef @.str.125)
  %17543 = load i64, ptr @simtime, align 8, !tbaa !15
  %17544 = add i64 %17543, 100
  store i64 %17544, ptr @simtime, align 8, !tbaa !15
  %17545 = load ptr, ptr %2, align 8, !tbaa !5
  %17546 = getelementptr inbounds %struct.PDP6, ptr %17545, i32 0, i32 34
  store i32 0, ptr %17546, align 8, !tbaa !33
  %17547 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17547, ptr noundef @.str.126)
  %17548 = load i64, ptr @simtime, align 8, !tbaa !15
  %17549 = add i64 %17548, 100
  store i64 %17549, ptr @simtime, align 8, !tbaa !15
  %17550 = load ptr, ptr %2, align 8, !tbaa !5
  %17551 = getelementptr inbounds %struct.PDP6, ptr %17550, i32 0, i32 35
  %17552 = load i32, ptr %17551, align 4, !tbaa !32
  %17553 = load ptr, ptr %2, align 8, !tbaa !5
  %17554 = getelementptr inbounds %struct.PDP6, ptr %17553, i32 0, i32 34
  %17555 = load i32, ptr %17554, align 8, !tbaa !33
  %17556 = or i32 %17555, %17552
  store i32 %17556, ptr %17554, align 8, !tbaa !33
  %17557 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17557, ptr noundef @.str.127)
  %17558 = load i64, ptr @simtime, align 8, !tbaa !15
  %17559 = add i64 %17558, 200
  store i64 %17559, ptr @simtime, align 8, !tbaa !15
  %17560 = load ptr, ptr %2, align 8, !tbaa !5
  %17561 = getelementptr inbounds %struct.PDP6, ptr %17560, i32 0, i32 31
  %17562 = load i64, ptr %17561, align 8, !tbaa !39
  store i64 %17562, ptr %4, align 8, !tbaa !15
  %17563 = load ptr, ptr %2, align 8, !tbaa !5
  %17564 = getelementptr inbounds %struct.PDP6, ptr %17563, i32 0, i32 28
  %17565 = load i64, ptr %17564, align 8, !tbaa !34
  %17566 = load ptr, ptr %2, align 8, !tbaa !5
  %17567 = getelementptr inbounds %struct.PDP6, ptr %17566, i32 0, i32 31
  store i64 %17565, ptr %17567, align 8, !tbaa !39
  %17568 = load i64, ptr %4, align 8, !tbaa !15
  %17569 = load ptr, ptr %2, align 8, !tbaa !5
  %17570 = getelementptr inbounds %struct.PDP6, ptr %17569, i32 0, i32 28
  store i64 %17568, ptr %17570, align 8, !tbaa !34
  %17571 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %17571)
  %17572 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17572, ptr noundef @.str.121)
  %17573 = load i64, ptr @simtime, align 8, !tbaa !15
  %17574 = add i64 %17573, 200
  store i64 %17574, ptr @simtime, align 8, !tbaa !15
  %17575 = load ptr, ptr %2, align 8, !tbaa !5
  %17576 = getelementptr inbounds %struct.PDP6, ptr %17575, i32 0, i32 31
  %17577 = load i64, ptr %17576, align 8, !tbaa !39
  store i64 %17577, ptr %4, align 8, !tbaa !15
  %17578 = load ptr, ptr %2, align 8, !tbaa !5
  %17579 = getelementptr inbounds %struct.PDP6, ptr %17578, i32 0, i32 28
  %17580 = load i64, ptr %17579, align 8, !tbaa !34
  %17581 = load ptr, ptr %2, align 8, !tbaa !5
  %17582 = getelementptr inbounds %struct.PDP6, ptr %17581, i32 0, i32 31
  store i64 %17580, ptr %17582, align 8, !tbaa !39
  %17583 = load i64, ptr %4, align 8, !tbaa !15
  %17584 = load ptr, ptr %2, align 8, !tbaa !5
  %17585 = getelementptr inbounds %struct.PDP6, ptr %17584, i32 0, i32 28
  store i64 %17583, ptr %17585, align 8, !tbaa !34
  %17586 = load ptr, ptr %2, align 8, !tbaa !5
  %17587 = getelementptr inbounds %struct.PDP6, ptr %17586, i32 0, i32 126
  %17588 = load i8, ptr %17587, align 1, !tbaa !66, !range !20, !noundef !21
  %17589 = trunc i8 %17588 to i1
  br i1 %17589, label %17590, label %17592

17590:                                            ; preds = %17506
  %17591 = load ptr, ptr %2, align 8, !tbaa !5
  call void @cpa_set_pdl_ov(ptr noundef %17591)
  br label %17592

17592:                                            ; preds = %17590, %17506
  br label %17859

17593:                                            ; preds = %17
  %17594 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17594, ptr noundef @.str.41)
  %17595 = load i64, ptr @simtime, align 8, !tbaa !15
  %17596 = add i64 %17595, 100
  store i64 %17596, ptr @simtime, align 8, !tbaa !15
  %17597 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17597, ptr noundef @.str.42)
  %17598 = load i64, ptr @simtime, align 8, !tbaa !15
  %17599 = add i64 %17598, 100
  store i64 %17599, ptr @simtime, align 8, !tbaa !15
  %17600 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17600, ptr noundef @.str.43)
  %17601 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17601, ptr noundef @.str.65)
  %17602 = load i64, ptr @simtime, align 8, !tbaa !15
  %17603 = add i64 %17602, 100
  store i64 %17603, ptr @simtime, align 8, !tbaa !15
  %17604 = load ptr, ptr %2, align 8, !tbaa !5
  %17605 = getelementptr inbounds %struct.PDP6, ptr %17604, i32 0, i32 31
  store i64 0, ptr %17605, align 8, !tbaa !39
  %17606 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17606, ptr noundef @.str.122)
  %17607 = load i64, ptr @simtime, align 8, !tbaa !15
  %17608 = add i64 %17607, 100
  store i64 %17608, ptr @simtime, align 8, !tbaa !15
  %17609 = load ptr, ptr %2, align 8, !tbaa !5
  %17610 = getelementptr inbounds %struct.PDP6, ptr %17609, i32 0, i32 34
  %17611 = load i32, ptr %17610, align 8, !tbaa !33
  %17612 = zext i32 %17611 to i64
  %17613 = load ptr, ptr %2, align 8, !tbaa !5
  %17614 = getelementptr inbounds %struct.PDP6, ptr %17613, i32 0, i32 31
  %17615 = load i64, ptr %17614, align 8, !tbaa !39
  %17616 = or i64 %17615, %17612
  store i64 %17616, ptr %17614, align 8, !tbaa !39
  %17617 = load ptr, ptr %2, align 8, !tbaa !5
  call void @mb_fm_misc_bits(ptr noundef %17617)
  %17618 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17618, ptr noundef @.str.125)
  %17619 = load i64, ptr @simtime, align 8, !tbaa !15
  %17620 = add i64 %17619, 100
  store i64 %17620, ptr @simtime, align 8, !tbaa !15
  %17621 = load ptr, ptr %2, align 8, !tbaa !5
  %17622 = getelementptr inbounds %struct.PDP6, ptr %17621, i32 0, i32 34
  store i32 0, ptr %17622, align 8, !tbaa !33
  %17623 = load ptr, ptr %2, align 8, !tbaa !5
  %17624 = getelementptr inbounds %struct.PDP6, ptr %17623, i32 0, i32 107
  %17625 = load i8, ptr %17624, align 2, !tbaa !51, !range !20, !noundef !21
  %17626 = trunc i8 %17625 to i1
  br i1 %17626, label %17632, label %17627

17627:                                            ; preds = %17593
  %17628 = load ptr, ptr %2, align 8, !tbaa !5
  %17629 = getelementptr inbounds %struct.PDP6, ptr %17628, i32 0, i32 109
  %17630 = load i8, ptr %17629, align 4, !tbaa !42, !range !20, !noundef !21
  %17631 = trunc i8 %17630 to i1
  br i1 %17631, label %17632, label %17635

17632:                                            ; preds = %17627, %17593
  %17633 = load ptr, ptr %2, align 8, !tbaa !5
  %17634 = getelementptr inbounds %struct.PDP6, ptr %17633, i32 0, i32 105
  store i8 0, ptr %17634, align 8, !tbaa !111
  br label %17635

17635:                                            ; preds = %17632, %17627
  %17636 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17636, ptr noundef @.str.126)
  %17637 = load i64, ptr @simtime, align 8, !tbaa !15
  %17638 = add i64 %17637, 100
  store i64 %17638, ptr @simtime, align 8, !tbaa !15
  %17639 = load ptr, ptr %2, align 8, !tbaa !5
  %17640 = getelementptr inbounds %struct.PDP6, ptr %17639, i32 0, i32 35
  %17641 = load i32, ptr %17640, align 4, !tbaa !32
  %17642 = load ptr, ptr %2, align 8, !tbaa !5
  %17643 = getelementptr inbounds %struct.PDP6, ptr %17642, i32 0, i32 34
  %17644 = load i32, ptr %17643, align 8, !tbaa !33
  %17645 = or i32 %17644, %17641
  store i32 %17645, ptr %17643, align 8, !tbaa !33
  %17646 = load ptr, ptr %2, align 8, !tbaa !5
  %17647 = getelementptr inbounds %struct.PDP6, ptr %17646, i32 0, i32 109
  store i8 0, ptr %17647, align 4, !tbaa !42
  %17648 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17648, ptr noundef @.str.127)
  %17649 = load i64, ptr @simtime, align 8, !tbaa !15
  %17650 = add i64 %17649, 200
  store i64 %17650, ptr @simtime, align 8, !tbaa !15
  %17651 = load ptr, ptr %2, align 8, !tbaa !5
  %17652 = getelementptr inbounds %struct.PDP6, ptr %17651, i32 0, i32 34
  %17653 = load i32, ptr %17652, align 8, !tbaa !33
  %17654 = add i32 %17653, 1
  %17655 = and i32 %17654, 262143
  %17656 = load ptr, ptr %2, align 8, !tbaa !5
  %17657 = getelementptr inbounds %struct.PDP6, ptr %17656, i32 0, i32 34
  store i32 %17655, ptr %17657, align 8, !tbaa !33
  %17658 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %17658)
  %17659 = load ptr, ptr %2, align 8, !tbaa !5
  %17660 = getelementptr inbounds %struct.PDP6, ptr %17659, i32 0, i32 96
  store i8 0, ptr %17660, align 1, !tbaa !94
  %17661 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17661, ptr noundef @.str.121)
  %17662 = load i64, ptr @simtime, align 8, !tbaa !15
  %17663 = add i64 %17662, 200
  store i64 %17663, ptr @simtime, align 8, !tbaa !15
  br label %17859

17664:                                            ; preds = %17
  %17665 = load ptr, ptr %2, align 8, !tbaa !5
  %17666 = getelementptr inbounds %struct.PDP6, ptr %17665, i32 0, i32 31
  %17667 = load i64, ptr %17666, align 8, !tbaa !39
  store i64 %17667, ptr %4, align 8, !tbaa !15
  %17668 = load ptr, ptr %2, align 8, !tbaa !5
  %17669 = getelementptr inbounds %struct.PDP6, ptr %17668, i32 0, i32 28
  %17670 = load i64, ptr %17669, align 8, !tbaa !34
  %17671 = load ptr, ptr %2, align 8, !tbaa !5
  %17672 = getelementptr inbounds %struct.PDP6, ptr %17671, i32 0, i32 31
  store i64 %17670, ptr %17672, align 8, !tbaa !39
  %17673 = load i64, ptr %4, align 8, !tbaa !15
  %17674 = load ptr, ptr %2, align 8, !tbaa !5
  %17675 = getelementptr inbounds %struct.PDP6, ptr %17674, i32 0, i32 28
  store i64 %17673, ptr %17675, align 8, !tbaa !34
  %17676 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17676, ptr noundef @.str.41)
  %17677 = load i64, ptr @simtime, align 8, !tbaa !15
  %17678 = add i64 %17677, 100
  store i64 %17678, ptr @simtime, align 8, !tbaa !15
  %17679 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17679, ptr noundef @.str.42)
  %17680 = load i64, ptr @simtime, align 8, !tbaa !15
  %17681 = add i64 %17680, 100
  store i64 %17681, ptr @simtime, align 8, !tbaa !15
  %17682 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17682, ptr noundef @.str.43)
  %17683 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17683, ptr noundef @.str.65)
  %17684 = load i64, ptr @simtime, align 8, !tbaa !15
  %17685 = add i64 %17684, 100
  store i64 %17685, ptr @simtime, align 8, !tbaa !15
  %17686 = load ptr, ptr %2, align 8, !tbaa !5
  %17687 = getelementptr inbounds %struct.PDP6, ptr %17686, i32 0, i32 31
  store i64 0, ptr %17687, align 8, !tbaa !39
  %17688 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17688, ptr noundef @.str.122)
  %17689 = load i64, ptr @simtime, align 8, !tbaa !15
  %17690 = add i64 %17689, 100
  store i64 %17690, ptr @simtime, align 8, !tbaa !15
  %17691 = load ptr, ptr %2, align 8, !tbaa !5
  %17692 = getelementptr inbounds %struct.PDP6, ptr %17691, i32 0, i32 34
  %17693 = load i32, ptr %17692, align 8, !tbaa !33
  %17694 = zext i32 %17693 to i64
  %17695 = load ptr, ptr %2, align 8, !tbaa !5
  %17696 = getelementptr inbounds %struct.PDP6, ptr %17695, i32 0, i32 31
  %17697 = load i64, ptr %17696, align 8, !tbaa !39
  %17698 = or i64 %17697, %17694
  store i64 %17698, ptr %17696, align 8, !tbaa !39
  %17699 = load ptr, ptr %2, align 8, !tbaa !5
  call void @mb_fm_misc_bits(ptr noundef %17699)
  %17700 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17700, ptr noundef @.str.125)
  %17701 = load i64, ptr @simtime, align 8, !tbaa !15
  %17702 = add i64 %17701, 100
  store i64 %17702, ptr @simtime, align 8, !tbaa !15
  %17703 = load ptr, ptr %2, align 8, !tbaa !5
  %17704 = getelementptr inbounds %struct.PDP6, ptr %17703, i32 0, i32 34
  store i32 0, ptr %17704, align 8, !tbaa !33
  %17705 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17705, ptr noundef @.str.126)
  %17706 = load i64, ptr @simtime, align 8, !tbaa !15
  %17707 = add i64 %17706, 100
  store i64 %17707, ptr @simtime, align 8, !tbaa !15
  %17708 = load ptr, ptr %2, align 8, !tbaa !5
  %17709 = getelementptr inbounds %struct.PDP6, ptr %17708, i32 0, i32 35
  %17710 = load i32, ptr %17709, align 4, !tbaa !32
  %17711 = load ptr, ptr %2, align 8, !tbaa !5
  %17712 = getelementptr inbounds %struct.PDP6, ptr %17711, i32 0, i32 34
  %17713 = load i32, ptr %17712, align 8, !tbaa !33
  %17714 = or i32 %17713, %17710
  store i32 %17714, ptr %17712, align 8, !tbaa !33
  %17715 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17715, ptr noundef @.str.127)
  %17716 = load i64, ptr @simtime, align 8, !tbaa !15
  %17717 = add i64 %17716, 200
  store i64 %17717, ptr @simtime, align 8, !tbaa !15
  %17718 = load ptr, ptr %2, align 8, !tbaa !5
  %17719 = getelementptr inbounds %struct.PDP6, ptr %17718, i32 0, i32 31
  %17720 = load i64, ptr %17719, align 8, !tbaa !39
  store i64 %17720, ptr %4, align 8, !tbaa !15
  %17721 = load ptr, ptr %2, align 8, !tbaa !5
  %17722 = getelementptr inbounds %struct.PDP6, ptr %17721, i32 0, i32 28
  %17723 = load i64, ptr %17722, align 8, !tbaa !34
  %17724 = load ptr, ptr %2, align 8, !tbaa !5
  %17725 = getelementptr inbounds %struct.PDP6, ptr %17724, i32 0, i32 31
  store i64 %17723, ptr %17725, align 8, !tbaa !39
  %17726 = load i64, ptr %4, align 8, !tbaa !15
  %17727 = load ptr, ptr %2, align 8, !tbaa !5
  %17728 = getelementptr inbounds %struct.PDP6, ptr %17727, i32 0, i32 28
  store i64 %17726, ptr %17728, align 8, !tbaa !34
  %17729 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %17729)
  %17730 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17730, ptr noundef @.str.121)
  %17731 = load i64, ptr @simtime, align 8, !tbaa !15
  %17732 = add i64 %17731, 200
  store i64 %17732, ptr @simtime, align 8, !tbaa !15
  br label %17859

17733:                                            ; preds = %17
  %17734 = load ptr, ptr %2, align 8, !tbaa !5
  %17735 = getelementptr inbounds %struct.PDP6, ptr %17734, i32 0, i32 31
  %17736 = load i64, ptr %17735, align 8, !tbaa !39
  %17737 = shl i64 %17736, 18
  %17738 = load ptr, ptr %2, align 8, !tbaa !5
  %17739 = getelementptr inbounds %struct.PDP6, ptr %17738, i32 0, i32 31
  %17740 = load i64, ptr %17739, align 8, !tbaa !39
  %17741 = lshr i64 %17740, 18
  %17742 = or i64 %17737, %17741
  %17743 = and i64 %17742, 68719476735
  %17744 = load ptr, ptr %2, align 8, !tbaa !5
  %17745 = getelementptr inbounds %struct.PDP6, ptr %17744, i32 0, i32 31
  store i64 %17743, ptr %17745, align 8, !tbaa !39
  %17746 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17746, ptr noundef @.str.41)
  %17747 = load i64, ptr @simtime, align 8, !tbaa !15
  %17748 = add i64 %17747, 100
  store i64 %17748, ptr @simtime, align 8, !tbaa !15
  %17749 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17749, ptr noundef @.str.42)
  %17750 = load i64, ptr @simtime, align 8, !tbaa !15
  %17751 = add i64 %17750, 100
  store i64 %17751, ptr @simtime, align 8, !tbaa !15
  %17752 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17752, ptr noundef @.str.43)
  %17753 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17753, ptr noundef @.str.65)
  %17754 = load i64, ptr @simtime, align 8, !tbaa !15
  %17755 = add i64 %17754, 100
  store i64 %17755, ptr @simtime, align 8, !tbaa !15
  %17756 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17756, ptr noundef @.str.122)
  %17757 = load i64, ptr @simtime, align 8, !tbaa !15
  %17758 = add i64 %17757, 100
  store i64 %17758, ptr @simtime, align 8, !tbaa !15
  %17759 = load ptr, ptr %2, align 8, !tbaa !5
  %17760 = getelementptr inbounds %struct.PDP6, ptr %17759, i32 0, i32 34
  %17761 = load i32, ptr %17760, align 8, !tbaa !33
  %17762 = zext i32 %17761 to i64
  %17763 = load ptr, ptr %2, align 8, !tbaa !5
  %17764 = getelementptr inbounds %struct.PDP6, ptr %17763, i32 0, i32 31
  %17765 = load i64, ptr %17764, align 8, !tbaa !39
  %17766 = or i64 %17765, %17762
  store i64 %17766, ptr %17764, align 8, !tbaa !39
  %17767 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17767, ptr noundef @.str.125)
  %17768 = load i64, ptr @simtime, align 8, !tbaa !15
  %17769 = add i64 %17768, 100
  store i64 %17769, ptr @simtime, align 8, !tbaa !15
  %17770 = load ptr, ptr %2, align 8, !tbaa !5
  %17771 = getelementptr inbounds %struct.PDP6, ptr %17770, i32 0, i32 34
  store i32 0, ptr %17771, align 8, !tbaa !33
  %17772 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17772, ptr noundef @.str.126)
  %17773 = load i64, ptr @simtime, align 8, !tbaa !15
  %17774 = add i64 %17773, 100
  store i64 %17774, ptr @simtime, align 8, !tbaa !15
  %17775 = load ptr, ptr %2, align 8, !tbaa !5
  %17776 = getelementptr inbounds %struct.PDP6, ptr %17775, i32 0, i32 35
  %17777 = load i32, ptr %17776, align 4, !tbaa !32
  %17778 = load ptr, ptr %2, align 8, !tbaa !5
  %17779 = getelementptr inbounds %struct.PDP6, ptr %17778, i32 0, i32 34
  %17780 = load i32, ptr %17779, align 8, !tbaa !33
  %17781 = or i32 %17780, %17777
  store i32 %17781, ptr %17779, align 8, !tbaa !33
  %17782 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17782, ptr noundef @.str.127)
  %17783 = load i64, ptr @simtime, align 8, !tbaa !15
  %17784 = add i64 %17783, 200
  store i64 %17784, ptr @simtime, align 8, !tbaa !15
  %17785 = load ptr, ptr %2, align 8, !tbaa !5
  %17786 = getelementptr inbounds %struct.PDP6, ptr %17785, i32 0, i32 31
  %17787 = load i64, ptr %17786, align 8, !tbaa !39
  store i64 %17787, ptr %4, align 8, !tbaa !15
  %17788 = load ptr, ptr %2, align 8, !tbaa !5
  %17789 = getelementptr inbounds %struct.PDP6, ptr %17788, i32 0, i32 28
  %17790 = load i64, ptr %17789, align 8, !tbaa !34
  %17791 = load ptr, ptr %2, align 8, !tbaa !5
  %17792 = getelementptr inbounds %struct.PDP6, ptr %17791, i32 0, i32 31
  store i64 %17790, ptr %17792, align 8, !tbaa !39
  %17793 = load i64, ptr %4, align 8, !tbaa !15
  %17794 = load ptr, ptr %2, align 8, !tbaa !5
  %17795 = getelementptr inbounds %struct.PDP6, ptr %17794, i32 0, i32 28
  store i64 %17793, ptr %17795, align 8, !tbaa !34
  %17796 = load ptr, ptr %2, align 8, !tbaa !5
  %17797 = getelementptr inbounds %struct.PDP6, ptr %17796, i32 0, i32 34
  %17798 = load i32, ptr %17797, align 8, !tbaa !33
  %17799 = add i32 %17798, 1
  %17800 = and i32 %17799, 262143
  %17801 = load ptr, ptr %2, align 8, !tbaa !5
  %17802 = getelementptr inbounds %struct.PDP6, ptr %17801, i32 0, i32 34
  store i32 %17800, ptr %17802, align 8, !tbaa !33
  %17803 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %17803)
  %17804 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17804, ptr noundef @.str.121)
  %17805 = load i64, ptr @simtime, align 8, !tbaa !15
  %17806 = add i64 %17805, 200
  store i64 %17806, ptr @simtime, align 8, !tbaa !15
  br label %17859

17807:                                            ; preds = %17
  %17808 = load ptr, ptr %2, align 8, !tbaa !5
  %17809 = getelementptr inbounds %struct.PDP6, ptr %17808, i32 0, i32 29
  %17810 = load i64, ptr %17809, align 8, !tbaa !61
  %17811 = load ptr, ptr %2, align 8, !tbaa !5
  %17812 = getelementptr inbounds %struct.PDP6, ptr %17811, i32 0, i32 31
  store i64 %17810, ptr %17812, align 8, !tbaa !39
  %17813 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17813, ptr noundef @.str.41)
  %17814 = load i64, ptr @simtime, align 8, !tbaa !15
  %17815 = add i64 %17814, 100
  store i64 %17815, ptr @simtime, align 8, !tbaa !15
  %17816 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17816, ptr noundef @.str.42)
  %17817 = load i64, ptr @simtime, align 8, !tbaa !15
  %17818 = add i64 %17817, 100
  store i64 %17818, ptr @simtime, align 8, !tbaa !15
  %17819 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17819, ptr noundef @.str.43)
  %17820 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17820, ptr noundef @.str.65)
  %17821 = load i64, ptr @simtime, align 8, !tbaa !15
  %17822 = add i64 %17821, 100
  store i64 %17822, ptr @simtime, align 8, !tbaa !15
  %17823 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17823, ptr noundef @.str.122)
  %17824 = load i64, ptr @simtime, align 8, !tbaa !15
  %17825 = add i64 %17824, 100
  store i64 %17825, ptr @simtime, align 8, !tbaa !15
  %17826 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17826, ptr noundef @.str.125)
  %17827 = load i64, ptr @simtime, align 8, !tbaa !15
  %17828 = add i64 %17827, 100
  store i64 %17828, ptr @simtime, align 8, !tbaa !15
  %17829 = load ptr, ptr %2, align 8, !tbaa !5
  %17830 = getelementptr inbounds %struct.PDP6, ptr %17829, i32 0, i32 34
  store i32 0, ptr %17830, align 8, !tbaa !33
  %17831 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17831, ptr noundef @.str.126)
  %17832 = load i64, ptr @simtime, align 8, !tbaa !15
  %17833 = add i64 %17832, 100
  store i64 %17833, ptr @simtime, align 8, !tbaa !15
  %17834 = load ptr, ptr %2, align 8, !tbaa !5
  %17835 = getelementptr inbounds %struct.PDP6, ptr %17834, i32 0, i32 35
  %17836 = load i32, ptr %17835, align 4, !tbaa !32
  %17837 = load ptr, ptr %2, align 8, !tbaa !5
  %17838 = getelementptr inbounds %struct.PDP6, ptr %17837, i32 0, i32 34
  %17839 = load i32, ptr %17838, align 8, !tbaa !33
  %17840 = or i32 %17839, %17836
  store i32 %17840, ptr %17838, align 8, !tbaa !33
  %17841 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17841, ptr noundef @.str.127)
  %17842 = load i64, ptr @simtime, align 8, !tbaa !15
  %17843 = add i64 %17842, 200
  store i64 %17843, ptr @simtime, align 8, !tbaa !15
  %17844 = load ptr, ptr %2, align 8, !tbaa !5
  %17845 = getelementptr inbounds %struct.PDP6, ptr %17844, i32 0, i32 31
  %17846 = load i64, ptr %17845, align 8, !tbaa !39
  store i64 %17846, ptr %4, align 8, !tbaa !15
  %17847 = load ptr, ptr %2, align 8, !tbaa !5
  %17848 = getelementptr inbounds %struct.PDP6, ptr %17847, i32 0, i32 28
  %17849 = load i64, ptr %17848, align 8, !tbaa !34
  %17850 = load ptr, ptr %2, align 8, !tbaa !5
  %17851 = getelementptr inbounds %struct.PDP6, ptr %17850, i32 0, i32 31
  store i64 %17849, ptr %17851, align 8, !tbaa !39
  %17852 = load i64, ptr %4, align 8, !tbaa !15
  %17853 = load ptr, ptr %2, align 8, !tbaa !5
  %17854 = getelementptr inbounds %struct.PDP6, ptr %17853, i32 0, i32 28
  store i64 %17852, ptr %17854, align 8, !tbaa !34
  %17855 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %17855)
  %17856 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17856, ptr noundef @.str.121)
  %17857 = load i64, ptr @simtime, align 8, !tbaa !15
  %17858 = add i64 %17857, 200
  store i64 %17858, ptr @simtime, align 8, !tbaa !15
  br label %17859

17859:                                            ; preds = %18357, %18291, %18270, %18100, %17807, %17733, %17664, %17635, %17592, %17505, %17440, %17368, %17259, %17167, %17073, %16994, %16800, %16768, %16664, %16499, %16418, %16398, %16294, %16137, %16064, %16044, %15940, %15775, %15694, %15674, %15570, %15413, %15340, %15320, %15216, %15051, %14970, %14950, %14846, %14689, %14616, %14596, %14492, %14327, %14246, %14226, %14122, %13965, %13892, %13872, %13771, %13612, %13534, %13514, %13413, %13262, %13192, %13172, %13071, %12912, %12834, %12814, %12713, %12562, %12492, %12472, %12378, %12233, %12162, %12142, %12048, %11911, %11848, %11828, %11734, %11589, %11518, %11498, %11404, %11267, %11204, %11194, %11136, %11077, %11029, %10976, %10930, %10883, %10847, %10765, %10708, %10667, %10626, %10587, %10542, %10513, %10484, %10437, %10384, %10347, %10310, %10275, %10234, %10209, %10184, %10139, %10088, %10053, %10018, %9985, %9946, %9923, %9900, %9890, %9832, %9773, %9725, %9672, %9626, %9579, %9543, %9461, %9404, %9363, %9322, %9283, %9238, %9209, %9180, %9133, %9080, %9043, %9006, %8971, %8930, %8905, %8880, %8835, %8784, %8749, %8714, %8681, %8642, %8619, %8596, %8573, %8550, %8532, %8514, %8486, %8458, %8435, %8412, %8380, %8348, %8321, %8294, %8264, %8234, %8209, %8184, %8156, %8128, %8105, %8082, %8061, %8040, %8024, %8008, %7980, %7952, %7929, %7906, %7878, %7850, %7827, %7804, %7780, %7756, %7737, %7718, %7694, %7670, %7651, %7632, %7615, %7598, %7586, %7574, %7542, %7510, %7483, %7456, %7430, %7404, %7383, %7362, %7334, %7306, %7283, %7260, %7236, %7212, %7193, %7174, %7155, %7136, %7122, %7108, %7098, %7030, %6970, %6867, %6857, %6790, %6731, %6637, %6632, %6564, %6504, %6404, %6399, %6332, %6273, %6184, %6174, %6106, %6046, %5943, %5933, %5866, %5807, %5713, %5708, %5640, %5580, %5480, %5475, %5408, %5349, %5260, %5250, %5187, %5132, %5039, %5029, %4967, %4913, %4829, %4824, %4761, %4706, %4616, %4611, %4549, %4495, %4416, %4412, %4339, %4290, %4189, %4185, %4113, %4065, %3973, %3969, %3896, %3847, %3746, %3742, %3670, %3622, %3530, %3511, %3492, %3478, %3464, %3445, %3426, %3412, %3398, %3351, %3316, %3262, %3227, %3173, %3138, %3084, %3049, %2995, %2960, %2906, %2871, %2858, %2812, %2771, %2730, %2684, %2645, %2611, %2577, %2538, %2481, %2429, %2377, %2320, %2286, %2257, %2228, %2173, %1812, %1780, %1592, %1083
  %17860 = load ptr, ptr %2, align 8, !tbaa !5
  %17861 = getelementptr inbounds %struct.PDP6, ptr %17860, i32 0, i32 98
  %17862 = load i8, ptr %17861, align 1, !tbaa !47, !range !20, !noundef !21
  %17863 = trunc i8 %17862 to i1
  br i1 %17863, label %17864, label %17883

17864:                                            ; preds = %17859
  %17865 = load ptr, ptr %2, align 8, !tbaa !5
  %17866 = getelementptr inbounds %struct.PDP6, ptr %17865, i32 0, i32 3
  %17867 = load i32, ptr %17866, align 4, !tbaa !59
  %17868 = and i32 %17867, 2
  %17869 = icmp ne i32 %17868, 0
  br i1 %17869, label %17870, label %17881

17870:                                            ; preds = %17864
  %17871 = load ptr, ptr %2, align 8, !tbaa !5
  %17872 = getelementptr inbounds %struct.PDP6, ptr %17871, i32 0, i32 99
  %17873 = load i8, ptr %17872, align 2, !tbaa !53, !range !20, !noundef !21
  %17874 = trunc i8 %17873 to i1
  br i1 %17874, label %17883, label %17875

17875:                                            ; preds = %17870
  %17876 = load ptr, ptr %2, align 8, !tbaa !5
  %17877 = getelementptr inbounds %struct.PDP6, ptr %17876, i32 0, i32 3
  %17878 = load i32, ptr %17877, align 4, !tbaa !59
  %17879 = and i32 %17878, 32768
  %17880 = icmp ne i32 %17879, 0
  br i1 %17880, label %17881, label %17883

17881:                                            ; preds = %17875, %17864
  %17882 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pi_exit(ptr noundef %17882)
  br label %17883

17883:                                            ; preds = %17881, %17875, %17870, %17859
  %17884 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17884, ptr noundef @.str.138)
  %17885 = load ptr, ptr %2, align 8, !tbaa !5
  %17886 = getelementptr inbounds %struct.PDP6, ptr %17885, i32 0, i32 3
  %17887 = load i32, ptr %17886, align 4, !tbaa !59
  %17888 = and i32 %17887, 8192
  %17889 = icmp ne i32 %17888, 0
  br i1 %17889, label %17890, label %17895

17890:                                            ; preds = %17883
  %17891 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17891, ptr noundef @.str.139)
  %17892 = load ptr, ptr %2, align 8, !tbaa !5
  %17893 = getelementptr inbounds %struct.PDP6, ptr %17892, i32 0, i32 49
  store i8 1, ptr %17893, align 8, !tbaa !112
  %17894 = load ptr, ptr %2, align 8, !tbaa !5
  call void @wrrq(ptr noundef %17894, i32 noundef 18)
  br label %18456

17895:                                            ; preds = %17883
  %17896 = load ptr, ptr %2, align 8, !tbaa !5
  %17897 = getelementptr inbounds %struct.PDP6, ptr %17896, i32 0, i32 3
  %17898 = load i32, ptr %17897, align 4, !tbaa !59
  %17899 = and i32 %17898, 512
  %17900 = icmp ne i32 %17899, 0
  br i1 %17900, label %17901, label %17906

17901:                                            ; preds = %17895
  %17902 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17902, ptr noundef @.str.140)
  %17903 = load ptr, ptr %2, align 8, !tbaa !5
  %17904 = getelementptr inbounds %struct.PDP6, ptr %17903, i32 0, i32 49
  store i8 1, ptr %17904, align 8, !tbaa !112
  %17905 = load ptr, ptr %2, align 8, !tbaa !5
  call void @wrrs(ptr noundef %17905, i32 noundef 18)
  br label %18456

17906:                                            ; preds = %17895
  br label %17907

17907:                                            ; preds = %17906
  br label %17908

17908:                                            ; preds = %17907, %17
  %17909 = load ptr, ptr %2, align 8, !tbaa !5
  %17910 = getelementptr inbounds %struct.PDP6, ptr %17909, i32 0, i32 49
  store i8 0, ptr %17910, align 8, !tbaa !112
  %17911 = load ptr, ptr %2, align 8, !tbaa !5
  %17912 = getelementptr inbounds %struct.PDP6, ptr %17911, i32 0, i32 3
  %17913 = load i32, ptr %17912, align 4, !tbaa !59
  %17914 = and i32 %17913, 1024
  %17915 = icmp ne i32 %17914, 0
  br i1 %17915, label %17919, label %17916

17916:                                            ; preds = %17908
  %17917 = load ptr, ptr %2, align 8, !tbaa !5
  %17918 = getelementptr inbounds %struct.PDP6, ptr %17917, i32 0, i32 35
  store i32 0, ptr %17918, align 4, !tbaa !32
  br label %17919

17919:                                            ; preds = %17916, %17908
  %17920 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17920, ptr noundef @.str.141)
  %17921 = load ptr, ptr %2, align 8, !tbaa !5
  %17922 = getelementptr inbounds %struct.PDP6, ptr %17921, i32 0, i32 3
  %17923 = load i32, ptr %17922, align 4, !tbaa !59
  %17924 = and i32 %17923, 1024
  %17925 = icmp ne i32 %17924, 0
  br i1 %17925, label %17976, label %17926

17926:                                            ; preds = %17919
  %17927 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17927, ptr noundef @.str.142)
  %17928 = load i64, ptr @simtime, align 8, !tbaa !15
  %17929 = add i64 %17928, 100
  store i64 %17929, ptr @simtime, align 8, !tbaa !15
  %17930 = load ptr, ptr %2, align 8, !tbaa !5
  %17931 = getelementptr inbounds %struct.PDP6, ptr %17930, i32 0, i32 37
  %17932 = load i32, ptr %17931, align 4, !tbaa !54
  %17933 = lshr i32 %17932, 5
  %17934 = and i32 %17933, 15
  %17935 = load ptr, ptr %2, align 8, !tbaa !5
  %17936 = getelementptr inbounds %struct.PDP6, ptr %17935, i32 0, i32 35
  %17937 = load i32, ptr %17936, align 4, !tbaa !32
  %17938 = or i32 %17937, %17934
  store i32 %17938, ptr %17936, align 4, !tbaa !32
  %17939 = load ptr, ptr %2, align 8, !tbaa !5
  %17940 = getelementptr inbounds %struct.PDP6, ptr %17939, i32 0, i32 28
  %17941 = load i64, ptr %17940, align 8, !tbaa !34
  %17942 = load ptr, ptr %2, align 8, !tbaa !5
  %17943 = getelementptr inbounds %struct.PDP6, ptr %17942, i32 0, i32 31
  store i64 %17941, ptr %17943, align 8, !tbaa !39
  %17944 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17944, ptr noundef @.str.143)
  %17945 = load ptr, ptr %2, align 8, !tbaa !5
  %17946 = getelementptr inbounds %struct.PDP6, ptr %17945, i32 0, i32 50
  store i8 1, ptr %17946, align 1, !tbaa !113
  %17947 = load ptr, ptr %2, align 8, !tbaa !5
  call void @wrrq(ptr noundef %17947, i32 noundef 19)
  br label %18456

17948:                                            ; preds = %17
  %17949 = load ptr, ptr %2, align 8, !tbaa !5
  %17950 = getelementptr inbounds %struct.PDP6, ptr %17949, i32 0, i32 50
  store i8 0, ptr %17950, align 1, !tbaa !113
  %17951 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17951, ptr noundef @.str.144)
  %17952 = load ptr, ptr %2, align 8, !tbaa !5
  %17953 = getelementptr inbounds %struct.PDP6, ptr %17952, i32 0, i32 3
  %17954 = load i32, ptr %17953, align 4, !tbaa !59
  %17955 = and i32 %17954, 4096
  %17956 = icmp ne i32 %17955, 0
  br i1 %17956, label %17957, label %17975

17957:                                            ; preds = %17948
  %17958 = load ptr, ptr %2, align 8, !tbaa !5
  %17959 = getelementptr inbounds %struct.PDP6, ptr %17958, i32 0, i32 35
  %17960 = load i32, ptr %17959, align 4, !tbaa !32
  %17961 = add i32 %17960, 1
  %17962 = and i32 %17961, 15
  %17963 = load ptr, ptr %2, align 8, !tbaa !5
  %17964 = getelementptr inbounds %struct.PDP6, ptr %17963, i32 0, i32 35
  store i32 %17962, ptr %17964, align 4, !tbaa !32
  %17965 = load ptr, ptr %2, align 8, !tbaa !5
  %17966 = getelementptr inbounds %struct.PDP6, ptr %17965, i32 0, i32 29
  %17967 = load i64, ptr %17966, align 8, !tbaa !61
  %17968 = load ptr, ptr %2, align 8, !tbaa !5
  %17969 = getelementptr inbounds %struct.PDP6, ptr %17968, i32 0, i32 31
  store i64 %17967, ptr %17969, align 8, !tbaa !39
  %17970 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17970, ptr noundef @.str.145)
  %17971 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17971, ptr noundef @.str.146)
  %17972 = load ptr, ptr %2, align 8, !tbaa !5
  %17973 = getelementptr inbounds %struct.PDP6, ptr %17972, i32 0, i32 51
  store i8 1, ptr %17973, align 2, !tbaa !114
  %17974 = load ptr, ptr %2, align 8, !tbaa !5
  call void @wrrq(ptr noundef %17974, i32 noundef 20)
  br label %18456

17975:                                            ; preds = %17948
  br label %17976

17976:                                            ; preds = %17975, %17919
  br label %17977

17977:                                            ; preds = %17976, %2157, %1752, %1403
  br label %17978

17978:                                            ; preds = %17977, %17
  %17979 = load ptr, ptr %2, align 8, !tbaa !5
  %17980 = getelementptr inbounds %struct.PDP6, ptr %17979, i32 0, i32 51
  store i8 0, ptr %17980, align 2, !tbaa !114
  %17981 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %17981, ptr noundef @.str.147)
  %17982 = load ptr, ptr %2, align 8, !tbaa !5
  %17983 = getelementptr inbounds %struct.PDP6, ptr %17982, i32 0, i32 21
  %17984 = load i8, ptr %17983, align 1, !tbaa !44, !range !20, !noundef !21
  %17985 = trunc i8 %17984 to i1
  br i1 %17985, label %17986, label %18003

17986:                                            ; preds = %17978
  %17987 = load ptr, ptr %2, align 8, !tbaa !5
  %17988 = getelementptr inbounds %struct.PDP6, ptr %17987, i32 0, i32 24
  %17989 = load i8, ptr %17988, align 4, !tbaa !45, !range !20, !noundef !21
  %17990 = trunc i8 %17989 to i1
  br i1 %17990, label %17996, label %17991

17991:                                            ; preds = %17986
  %17992 = load ptr, ptr %2, align 8, !tbaa !5
  %17993 = getelementptr inbounds %struct.PDP6, ptr %17992, i32 0, i32 25
  %17994 = load i8, ptr %17993, align 1, !tbaa !64, !range !20, !noundef !21
  %17995 = trunc i8 %17994 to i1
  br i1 %17995, label %17996, label %17999

17996:                                            ; preds = %17991, %17986
  %17997 = load ptr, ptr %2, align 8, !tbaa !5
  %17998 = getelementptr inbounds %struct.PDP6, ptr %17997, i32 0, i32 1
  store i32 9, ptr %17998, align 4, !tbaa !18
  br label %18002

17999:                                            ; preds = %17991
  %18000 = load ptr, ptr %2, align 8, !tbaa !5
  %18001 = getelementptr inbounds %struct.PDP6, ptr %18000, i32 0, i32 1
  store i32 10, ptr %18001, align 4, !tbaa !18
  br label %18002

18002:                                            ; preds = %17999, %17996
  br label %18006

18003:                                            ; preds = %17978
  %18004 = load ptr, ptr %2, align 8, !tbaa !5
  %18005 = getelementptr inbounds %struct.PDP6, ptr %18004, i32 0, i32 0
  store i32 0, ptr %18005, align 8, !tbaa !41
  br label %18006

18006:                                            ; preds = %18003, %18002
  br label %18456

18007:                                            ; preds = %17, %17
  %18008 = load ptr, ptr %2, align 8, !tbaa !5
  %18009 = getelementptr inbounds %struct.PDP6, ptr %18008, i32 0, i32 31
  %18010 = load i64, ptr %18009, align 8, !tbaa !39
  %18011 = load ptr, ptr %2, align 8, !tbaa !5
  %18012 = getelementptr inbounds %struct.PDP6, ptr %18011, i32 0, i32 28
  store i64 %18010, ptr %18012, align 8, !tbaa !34
  %18013 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18013, ptr noundef @.str.41)
  %18014 = load i64, ptr @simtime, align 8, !tbaa !15
  %18015 = add i64 %18014, 100
  store i64 %18015, ptr @simtime, align 8, !tbaa !15
  %18016 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18016, ptr noundef @.str.42)
  %18017 = load i64, ptr @simtime, align 8, !tbaa !15
  %18018 = add i64 %18017, 100
  store i64 %18018, ptr @simtime, align 8, !tbaa !15
  %18019 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18019, ptr noundef @.str.43)
  %18020 = load ptr, ptr %2, align 8, !tbaa !5
  %18021 = getelementptr inbounds %struct.PDP6, ptr %18020, i32 0, i32 58
  store i8 1, ptr %18021, align 1, !tbaa !76
  %18022 = load ptr, ptr %2, align 8, !tbaa !5
  call void @ar_inc_ltrt(ptr noundef %18022)
  %18023 = load ptr, ptr %2, align 8, !tbaa !5
  %18024 = getelementptr inbounds %struct.PDP6, ptr %18023, i32 0, i32 58
  store i8 0, ptr %18024, align 1, !tbaa !76
  %18025 = load ptr, ptr %2, align 8, !tbaa !5
  %18026 = getelementptr inbounds %struct.PDP6, ptr %18025, i32 0, i32 31
  %18027 = load i64, ptr %18026, align 8, !tbaa !39
  store i64 %18027, ptr %4, align 8, !tbaa !15
  %18028 = load ptr, ptr %2, align 8, !tbaa !5
  %18029 = getelementptr inbounds %struct.PDP6, ptr %18028, i32 0, i32 28
  %18030 = load i64, ptr %18029, align 8, !tbaa !34
  %18031 = load ptr, ptr %2, align 8, !tbaa !5
  %18032 = getelementptr inbounds %struct.PDP6, ptr %18031, i32 0, i32 31
  store i64 %18030, ptr %18032, align 8, !tbaa !39
  %18033 = load i64, ptr %4, align 8, !tbaa !15
  %18034 = load ptr, ptr %2, align 8, !tbaa !5
  %18035 = getelementptr inbounds %struct.PDP6, ptr %18034, i32 0, i32 28
  store i64 %18033, ptr %18035, align 8, !tbaa !34
  %18036 = load ptr, ptr %2, align 8, !tbaa !5
  %18037 = getelementptr inbounds %struct.PDP6, ptr %18036, i32 0, i32 109
  store i8 0, ptr %18037, align 4, !tbaa !42
  %18038 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18038, ptr noundef @.str.65)
  %18039 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18039, ptr noundef @.str.148)
  %18040 = load ptr, ptr %2, align 8, !tbaa !5
  %18041 = getelementptr inbounds %struct.PDP6, ptr %18040, i32 0, i32 54
  store i8 1, ptr %18041, align 1, !tbaa !115
  %18042 = load ptr, ptr %2, align 8, !tbaa !5
  call void @wrrs(ptr noundef %18042, i32 noundef 23)
  br label %18456

18043:                                            ; preds = %17
  %18044 = load ptr, ptr %2, align 8, !tbaa !5
  %18045 = getelementptr inbounds %struct.PDP6, ptr %18044, i32 0, i32 54
  store i8 0, ptr %18045, align 1, !tbaa !115
  %18046 = load ptr, ptr %2, align 8, !tbaa !5
  %18047 = getelementptr inbounds %struct.PDP6, ptr %18046, i32 0, i32 37
  %18048 = load i32, ptr %18047, align 4, !tbaa !54
  %18049 = or i32 %18048, 32
  store i32 %18049, ptr %18047, align 4, !tbaa !54
  %18050 = load ptr, ptr %2, align 8, !tbaa !5
  %18051 = getelementptr inbounds %struct.PDP6, ptr %18050, i32 0, i32 35
  store i32 0, ptr %18051, align 4, !tbaa !32
  %18052 = load ptr, ptr %2, align 8, !tbaa !5
  %18053 = getelementptr inbounds %struct.PDP6, ptr %18052, i32 0, i32 98
  %18054 = load i8, ptr %18053, align 1, !tbaa !47, !range !20, !noundef !21
  %18055 = trunc i8 %18054 to i1
  br i1 %18055, label %18056, label %18065

18056:                                            ; preds = %18043
  %18057 = load ptr, ptr %2, align 8, !tbaa !5
  %18058 = getelementptr inbounds %struct.PDP6, ptr %18057, i32 0, i32 126
  %18059 = load i8, ptr %18058, align 1, !tbaa !66, !range !20, !noundef !21
  %18060 = trunc i8 %18059 to i1
  br i1 %18060, label %18061, label %18064

18061:                                            ; preds = %18056
  %18062 = load ptr, ptr %2, align 8, !tbaa !5
  %18063 = getelementptr inbounds %struct.PDP6, ptr %18062, i32 0, i32 99
  store i8 1, ptr %18063, align 2, !tbaa !53
  br label %18064

18064:                                            ; preds = %18061, %18056
  br label %18079

18065:                                            ; preds = %18043
  %18066 = load ptr, ptr %2, align 8, !tbaa !5
  %18067 = getelementptr inbounds %struct.PDP6, ptr %18066, i32 0, i32 126
  %18068 = load i8, ptr %18067, align 1, !tbaa !66, !range !20, !noundef !21
  %18069 = trunc i8 %18068 to i1
  br i1 %18069, label %18078, label %18070

18070:                                            ; preds = %18065
  %18071 = load ptr, ptr %2, align 8, !tbaa !5
  %18072 = getelementptr inbounds %struct.PDP6, ptr %18071, i32 0, i32 34
  %18073 = load i32, ptr %18072, align 8, !tbaa !33
  %18074 = add i32 %18073, 1
  %18075 = and i32 %18074, 262143
  %18076 = load ptr, ptr %2, align 8, !tbaa !5
  %18077 = getelementptr inbounds %struct.PDP6, ptr %18076, i32 0, i32 34
  store i32 %18075, ptr %18077, align 8, !tbaa !33
  br label %18078

18078:                                            ; preds = %18070, %18065
  br label %18079

18079:                                            ; preds = %18078, %18064
  %18080 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18080, ptr noundef @.str.149)
  %18081 = load i64, ptr @simtime, align 8, !tbaa !15
  %18082 = add i64 %18081, 200
  store i64 %18082, ptr @simtime, align 8, !tbaa !15
  br label %678

18083:                                            ; preds = %17
  %18084 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18084, ptr noundef @.str.41)
  %18085 = load i64, ptr @simtime, align 8, !tbaa !15
  %18086 = add i64 %18085, 100
  store i64 %18086, ptr @simtime, align 8, !tbaa !15
  %18087 = load ptr, ptr %2, align 8, !tbaa !5
  %18088 = getelementptr inbounds %struct.PDP6, ptr %18087, i32 0, i32 28
  store i64 0, ptr %18088, align 8, !tbaa !34
  %18089 = load ptr, ptr %2, align 8, !tbaa !5
  %18090 = getelementptr inbounds %struct.PDP6, ptr %18089, i32 0, i32 98
  %18091 = load i8, ptr %18090, align 1, !tbaa !47, !range !20, !noundef !21
  %18092 = trunc i8 %18091 to i1
  br i1 %18092, label %18093, label %18100

18093:                                            ; preds = %18083
  %18094 = load ptr, ptr %2, align 8, !tbaa !5
  %18095 = getelementptr inbounds %struct.PDP6, ptr %18094, i32 0, i32 99
  %18096 = load i8, ptr %18095, align 2, !tbaa !53, !range !20, !noundef !21
  %18097 = trunc i8 %18096 to i1
  br i1 %18097, label %18100, label %18098

18098:                                            ; preds = %18093
  %18099 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pi_rst(ptr noundef %18099)
  br label %18100

18100:                                            ; preds = %18098, %18093, %18083
  %18101 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18101, ptr noundef @.str.42)
  %18102 = load i64, ptr @simtime, align 8, !tbaa !15
  %18103 = add i64 %18102, 100
  store i64 %18103, ptr @simtime, align 8, !tbaa !15
  %18104 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18104, ptr noundef @.str.43)
  %18105 = load ptr, ptr %2, align 8, !tbaa !5
  %18106 = getelementptr inbounds %struct.PDP6, ptr %18105, i32 0, i32 94
  store i8 1, ptr %18106, align 1, !tbaa !116
  %18107 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18107, ptr noundef @.str.65)
  %18108 = load ptr, ptr %2, align 8, !tbaa !5
  %18109 = getelementptr inbounds %struct.PDP6, ptr %18108, i32 0, i32 37
  %18110 = load i32, ptr %18109, align 4, !tbaa !54
  %18111 = lshr i32 %18110, 8
  %18112 = and i32 %18111, 127
  %18113 = zext i32 %18112 to i64
  %18114 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18113
  %18115 = load ptr, ptr %18114, align 8, !tbaa !5
  %18116 = getelementptr inbounds %struct.IOdev, ptr %18115, i32 0, i32 3
  %18117 = load ptr, ptr %18116, align 8, !tbaa !117
  %18118 = load ptr, ptr %2, align 8, !tbaa !5
  %18119 = load ptr, ptr %2, align 8, !tbaa !5
  %18120 = getelementptr inbounds %struct.PDP6, ptr %18119, i32 0, i32 37
  %18121 = load i32, ptr %18120, align 4, !tbaa !54
  %18122 = lshr i32 %18121, 8
  %18123 = and i32 %18122, 127
  %18124 = zext i32 %18123 to i64
  %18125 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18124
  %18126 = load ptr, ptr %18125, align 8, !tbaa !5
  call void %18117(ptr noundef %18118, ptr noundef %18126, i32 noundef 4)
  %18127 = load i64, ptr @simtime, align 8, !tbaa !15
  %18128 = add i64 %18127, 1000
  store i64 %18128, ptr @simtime, align 8, !tbaa !15
  %18129 = load ptr, ptr %2, align 8, !tbaa !5
  %18130 = getelementptr inbounds %struct.PDP6, ptr %18129, i32 0, i32 94
  store i8 0, ptr %18130, align 1, !tbaa !116
  %18131 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18131, ptr noundef @.str.150)
  %18132 = load i64, ptr @simtime, align 8, !tbaa !15
  %18133 = add i64 %18132, 1000
  store i64 %18133, ptr @simtime, align 8, !tbaa !15
  %18134 = load ptr, ptr %2, align 8, !tbaa !5
  %18135 = getelementptr inbounds %struct.PDP6, ptr %18134, i32 0, i32 40
  %18136 = load i64, ptr %18135, align 8, !tbaa !119
  %18137 = load ptr, ptr %2, align 8, !tbaa !5
  %18138 = getelementptr inbounds %struct.PDP6, ptr %18137, i32 0, i32 28
  %18139 = load i64, ptr %18138, align 8, !tbaa !34
  %18140 = or i64 %18139, %18136
  store i64 %18140, ptr %18138, align 8, !tbaa !34
  %18141 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18141, ptr noundef @.str.151)
  %18142 = load i64, ptr @simtime, align 8, !tbaa !15
  %18143 = add i64 %18142, 200
  store i64 %18143, ptr @simtime, align 8, !tbaa !15
  %18144 = load ptr, ptr %2, align 8, !tbaa !5
  %18145 = getelementptr inbounds %struct.PDP6, ptr %18144, i32 0, i32 40
  store i64 0, ptr %18145, align 8, !tbaa !119
  %18146 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18146, ptr noundef @.str.122)
  %18147 = load ptr, ptr %2, align 8, !tbaa !5
  %18148 = getelementptr inbounds %struct.PDP6, ptr %18147, i32 0, i32 28
  %18149 = load i64, ptr %18148, align 8, !tbaa !34
  %18150 = load ptr, ptr %2, align 8, !tbaa !5
  %18151 = getelementptr inbounds %struct.PDP6, ptr %18150, i32 0, i32 31
  store i64 %18149, ptr %18151, align 8, !tbaa !39
  br label %17859

18152:                                            ; preds = %17, %17, %17
  %18153 = load ptr, ptr %2, align 8, !tbaa !5
  %18154 = getelementptr inbounds %struct.PDP6, ptr %18153, i32 0, i32 31
  %18155 = load i64, ptr %18154, align 8, !tbaa !39
  %18156 = load ptr, ptr %2, align 8, !tbaa !5
  %18157 = getelementptr inbounds %struct.PDP6, ptr %18156, i32 0, i32 28
  store i64 %18155, ptr %18157, align 8, !tbaa !34
  %18158 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18158, ptr noundef @.str.41)
  %18159 = load i64, ptr @simtime, align 8, !tbaa !15
  %18160 = add i64 %18159, 100
  store i64 %18160, ptr @simtime, align 8, !tbaa !15
  %18161 = load ptr, ptr %2, align 8, !tbaa !5
  %18162 = getelementptr inbounds %struct.PDP6, ptr %18161, i32 0, i32 28
  store i64 0, ptr %18162, align 8, !tbaa !34
  %18163 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18163, ptr noundef @.str.42)
  %18164 = load i64, ptr @simtime, align 8, !tbaa !15
  %18165 = add i64 %18164, 100
  store i64 %18165, ptr @simtime, align 8, !tbaa !15
  %18166 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18166, ptr noundef @.str.43)
  %18167 = load ptr, ptr %2, align 8, !tbaa !5
  %18168 = getelementptr inbounds %struct.PDP6, ptr %18167, i32 0, i32 94
  store i8 1, ptr %18168, align 1, !tbaa !116
  %18169 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18169, ptr noundef @.str.65)
  %18170 = load ptr, ptr %2, align 8, !tbaa !5
  %18171 = getelementptr inbounds %struct.PDP6, ptr %18170, i32 0, i32 40
  store i64 0, ptr %18171, align 8, !tbaa !119
  %18172 = load ptr, ptr %2, align 8, !tbaa !5
  %18173 = getelementptr inbounds %struct.PDP6, ptr %18172, i32 0, i32 37
  %18174 = load i32, ptr %18173, align 4, !tbaa !54
  %18175 = lshr i32 %18174, 8
  %18176 = and i32 %18175, 127
  %18177 = zext i32 %18176 to i64
  %18178 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18177
  %18179 = load ptr, ptr %18178, align 8, !tbaa !5
  %18180 = getelementptr inbounds %struct.IOdev, ptr %18179, i32 0, i32 3
  %18181 = load ptr, ptr %18180, align 8, !tbaa !117
  %18182 = load ptr, ptr %2, align 8, !tbaa !5
  %18183 = load ptr, ptr %2, align 8, !tbaa !5
  %18184 = getelementptr inbounds %struct.PDP6, ptr %18183, i32 0, i32 37
  %18185 = load i32, ptr %18184, align 4, !tbaa !54
  %18186 = lshr i32 %18185, 8
  %18187 = and i32 %18186, 127
  %18188 = zext i32 %18187 to i64
  %18189 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18188
  %18190 = load ptr, ptr %18189, align 8, !tbaa !5
  call void %18181(ptr noundef %18182, ptr noundef %18190, i32 noundef 5)
  %18191 = load i64, ptr @simtime, align 8, !tbaa !15
  %18192 = add i64 %18191, 1000
  store i64 %18192, ptr @simtime, align 8, !tbaa !15
  %18193 = load ptr, ptr %2, align 8, !tbaa !5
  %18194 = getelementptr inbounds %struct.PDP6, ptr %18193, i32 0, i32 94
  store i8 0, ptr %18194, align 1, !tbaa !116
  %18195 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18195, ptr noundef @.str.150)
  %18196 = load i64, ptr @simtime, align 8, !tbaa !15
  %18197 = add i64 %18196, 1000
  store i64 %18197, ptr @simtime, align 8, !tbaa !15
  %18198 = load ptr, ptr %2, align 8, !tbaa !5
  %18199 = getelementptr inbounds %struct.PDP6, ptr %18198, i32 0, i32 40
  %18200 = load i64, ptr %18199, align 8, !tbaa !119
  %18201 = load ptr, ptr %2, align 8, !tbaa !5
  %18202 = getelementptr inbounds %struct.PDP6, ptr %18201, i32 0, i32 28
  %18203 = load i64, ptr %18202, align 8, !tbaa !34
  %18204 = or i64 %18203, %18200
  store i64 %18204, ptr %18202, align 8, !tbaa !34
  %18205 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18205, ptr noundef @.str.151)
  %18206 = load i64, ptr @simtime, align 8, !tbaa !15
  %18207 = add i64 %18206, 200
  store i64 %18207, ptr @simtime, align 8, !tbaa !15
  %18208 = load ptr, ptr %2, align 8, !tbaa !5
  %18209 = getelementptr inbounds %struct.PDP6, ptr %18208, i32 0, i32 40
  store i64 0, ptr %18209, align 8, !tbaa !119
  %18210 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18210, ptr noundef @.str.122)
  %18211 = load ptr, ptr %2, align 8, !tbaa !5
  %18212 = getelementptr inbounds %struct.PDP6, ptr %18211, i32 0, i32 1
  %18213 = load i32, ptr %18212, align 4, !tbaa !18
  %18214 = icmp eq i32 %18213, 5
  br i1 %18214, label %18215, label %18221

18215:                                            ; preds = %18152
  %18216 = load ptr, ptr %2, align 8, !tbaa !5
  %18217 = getelementptr inbounds %struct.PDP6, ptr %18216, i32 0, i32 28
  %18218 = load i64, ptr %18217, align 8, !tbaa !34
  %18219 = load ptr, ptr %2, align 8, !tbaa !5
  %18220 = getelementptr inbounds %struct.PDP6, ptr %18219, i32 0, i32 31
  store i64 %18218, ptr %18220, align 8, !tbaa !39
  br label %18270

18221:                                            ; preds = %18152
  %18222 = load i64, ptr @simtime, align 8, !tbaa !15
  %18223 = add i64 %18222, 100
  store i64 %18223, ptr @simtime, align 8, !tbaa !15
  %18224 = load ptr, ptr %2, align 8, !tbaa !5
  %18225 = getelementptr inbounds %struct.PDP6, ptr %18224, i32 0, i32 31
  %18226 = load i64, ptr %18225, align 8, !tbaa !39
  %18227 = load ptr, ptr %2, align 8, !tbaa !5
  %18228 = getelementptr inbounds %struct.PDP6, ptr %18227, i32 0, i32 28
  %18229 = load i64, ptr %18228, align 8, !tbaa !34
  %18230 = and i64 %18229, %18226
  store i64 %18230, ptr %18228, align 8, !tbaa !34
  %18231 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18231, ptr noundef @.str.125)
  %18232 = load i64, ptr @simtime, align 8, !tbaa !15
  %18233 = add i64 %18232, 100
  store i64 %18233, ptr @simtime, align 8, !tbaa !15
  %18234 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18234, ptr noundef @.str.126)
  %18235 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18235, ptr noundef @.str.127)
  %18236 = load i64, ptr @simtime, align 8, !tbaa !15
  %18237 = add i64 %18236, 200
  store i64 %18237, ptr @simtime, align 8, !tbaa !15
  %18238 = load ptr, ptr %2, align 8, !tbaa !5
  %18239 = getelementptr inbounds %struct.PDP6, ptr %18238, i32 0, i32 1
  %18240 = load i32, ptr %18239, align 4, !tbaa !18
  %18241 = icmp eq i32 %18240, 6
  br i1 %18241, label %18242, label %18247

18242:                                            ; preds = %18221
  %18243 = load ptr, ptr %2, align 8, !tbaa !5
  %18244 = getelementptr inbounds %struct.PDP6, ptr %18243, i32 0, i32 28
  %18245 = load i64, ptr %18244, align 8, !tbaa !34
  %18246 = icmp eq i64 %18245, 0
  br i1 %18246, label %18257, label %18247

18247:                                            ; preds = %18242, %18221
  %18248 = load ptr, ptr %2, align 8, !tbaa !5
  %18249 = getelementptr inbounds %struct.PDP6, ptr %18248, i32 0, i32 1
  %18250 = load i32, ptr %18249, align 4, !tbaa !18
  %18251 = icmp eq i32 %18250, 7
  br i1 %18251, label %18252, label %18266

18252:                                            ; preds = %18247
  %18253 = load ptr, ptr %2, align 8, !tbaa !5
  %18254 = getelementptr inbounds %struct.PDP6, ptr %18253, i32 0, i32 28
  %18255 = load i64, ptr %18254, align 8, !tbaa !34
  %18256 = icmp eq i64 %18255, 0
  br i1 %18256, label %18266, label %18257

18257:                                            ; preds = %18252, %18242
  %18258 = load ptr, ptr %2, align 8, !tbaa !5
  %18259 = getelementptr inbounds %struct.PDP6, ptr %18258, i32 0, i32 34
  %18260 = load i32, ptr %18259, align 8, !tbaa !33
  %18261 = add i32 %18260, 1
  %18262 = and i32 %18261, 262143
  %18263 = load ptr, ptr %2, align 8, !tbaa !5
  %18264 = getelementptr inbounds %struct.PDP6, ptr %18263, i32 0, i32 34
  store i32 %18262, ptr %18264, align 8, !tbaa !33
  %18265 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pc_chg(ptr noundef %18265)
  br label %18266

18266:                                            ; preds = %18257, %18252, %18247
  %18267 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18267, ptr noundef @.str.121)
  %18268 = load i64, ptr @simtime, align 8, !tbaa !15
  %18269 = add i64 %18268, 200
  store i64 %18269, ptr @simtime, align 8, !tbaa !15
  br label %18270

18270:                                            ; preds = %18266, %18215
  br label %17859

18271:                                            ; preds = %17
  %18272 = load ptr, ptr %2, align 8, !tbaa !5
  %18273 = getelementptr inbounds %struct.PDP6, ptr %18272, i32 0, i32 31
  %18274 = load i64, ptr %18273, align 8, !tbaa !39
  %18275 = load ptr, ptr %2, align 8, !tbaa !5
  %18276 = getelementptr inbounds %struct.PDP6, ptr %18275, i32 0, i32 28
  store i64 %18274, ptr %18276, align 8, !tbaa !34
  %18277 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18277, ptr noundef @.str.41)
  %18278 = load i64, ptr @simtime, align 8, !tbaa !15
  %18279 = add i64 %18278, 100
  store i64 %18279, ptr @simtime, align 8, !tbaa !15
  %18280 = load ptr, ptr %2, align 8, !tbaa !5
  %18281 = getelementptr inbounds %struct.PDP6, ptr %18280, i32 0, i32 98
  %18282 = load i8, ptr %18281, align 1, !tbaa !47, !range !20, !noundef !21
  %18283 = trunc i8 %18282 to i1
  br i1 %18283, label %18284, label %18291

18284:                                            ; preds = %18271
  %18285 = load ptr, ptr %2, align 8, !tbaa !5
  %18286 = getelementptr inbounds %struct.PDP6, ptr %18285, i32 0, i32 99
  %18287 = load i8, ptr %18286, align 2, !tbaa !53, !range !20, !noundef !21
  %18288 = trunc i8 %18287 to i1
  br i1 %18288, label %18291, label %18289

18289:                                            ; preds = %18284
  %18290 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pi_rst(ptr noundef %18290)
  br label %18291

18291:                                            ; preds = %18289, %18284, %18271
  %18292 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18292, ptr noundef @.str.42)
  %18293 = load i64, ptr @simtime, align 8, !tbaa !15
  %18294 = add i64 %18293, 100
  store i64 %18294, ptr @simtime, align 8, !tbaa !15
  %18295 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18295, ptr noundef @.str.43)
  %18296 = load ptr, ptr %2, align 8, !tbaa !5
  %18297 = getelementptr inbounds %struct.PDP6, ptr %18296, i32 0, i32 94
  store i8 1, ptr %18297, align 1, !tbaa !116
  %18298 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18298, ptr noundef @.str.65)
  %18299 = load ptr, ptr %2, align 8, !tbaa !5
  %18300 = getelementptr inbounds %struct.PDP6, ptr %18299, i32 0, i32 28
  %18301 = load i64, ptr %18300, align 8, !tbaa !34
  %18302 = load ptr, ptr %2, align 8, !tbaa !5
  %18303 = getelementptr inbounds %struct.PDP6, ptr %18302, i32 0, i32 40
  %18304 = load i64, ptr %18303, align 8, !tbaa !119
  %18305 = or i64 %18304, %18301
  store i64 %18305, ptr %18303, align 8, !tbaa !119
  %18306 = load i64, ptr @simtime, align 8, !tbaa !15
  %18307 = add i64 %18306, 1000
  store i64 %18307, ptr @simtime, align 8, !tbaa !15
  %18308 = load ptr, ptr %2, align 8, !tbaa !5
  %18309 = getelementptr inbounds %struct.PDP6, ptr %18308, i32 0, i32 94
  store i8 0, ptr %18309, align 1, !tbaa !116
  %18310 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18310, ptr noundef @.str.150)
  %18311 = load ptr, ptr %2, align 8, !tbaa !5
  %18312 = getelementptr inbounds %struct.PDP6, ptr %18311, i32 0, i32 37
  %18313 = load i32, ptr %18312, align 4, !tbaa !54
  %18314 = lshr i32 %18313, 8
  %18315 = and i32 %18314, 127
  %18316 = zext i32 %18315 to i64
  %18317 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18316
  %18318 = load ptr, ptr %18317, align 8, !tbaa !5
  %18319 = getelementptr inbounds %struct.IOdev, ptr %18318, i32 0, i32 3
  %18320 = load ptr, ptr %18319, align 8, !tbaa !117
  %18321 = load ptr, ptr %2, align 8, !tbaa !5
  %18322 = load ptr, ptr %2, align 8, !tbaa !5
  %18323 = getelementptr inbounds %struct.PDP6, ptr %18322, i32 0, i32 37
  %18324 = load i32, ptr %18323, align 4, !tbaa !54
  %18325 = lshr i32 %18324, 8
  %18326 = and i32 %18325, 127
  %18327 = zext i32 %18326 to i64
  %18328 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18327
  %18329 = load ptr, ptr %18328, align 8, !tbaa !5
  call void %18320(ptr noundef %18321, ptr noundef %18329, i32 noundef 2)
  %18330 = load i64, ptr @simtime, align 8, !tbaa !15
  %18331 = add i64 %18330, 1000
  store i64 %18331, ptr @simtime, align 8, !tbaa !15
  %18332 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18332, ptr noundef @.str.151)
  %18333 = load ptr, ptr %2, align 8, !tbaa !5
  %18334 = getelementptr inbounds %struct.PDP6, ptr %18333, i32 0, i32 37
  %18335 = load i32, ptr %18334, align 4, !tbaa !54
  %18336 = lshr i32 %18335, 8
  %18337 = and i32 %18336, 127
  %18338 = zext i32 %18337 to i64
  %18339 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18338
  %18340 = load ptr, ptr %18339, align 8, !tbaa !5
  %18341 = getelementptr inbounds %struct.IOdev, ptr %18340, i32 0, i32 3
  %18342 = load ptr, ptr %18341, align 8, !tbaa !117
  %18343 = load ptr, ptr %2, align 8, !tbaa !5
  %18344 = load ptr, ptr %2, align 8, !tbaa !5
  %18345 = getelementptr inbounds %struct.PDP6, ptr %18344, i32 0, i32 37
  %18346 = load i32, ptr %18345, align 4, !tbaa !54
  %18347 = lshr i32 %18346, 8
  %18348 = and i32 %18347, 127
  %18349 = zext i32 %18348 to i64
  %18350 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18349
  %18351 = load ptr, ptr %18350, align 8, !tbaa !5
  call void %18342(ptr noundef %18343, ptr noundef %18351, i32 noundef 3)
  %18352 = load i64, ptr @simtime, align 8, !tbaa !15
  %18353 = add i64 %18352, 200
  store i64 %18353, ptr @simtime, align 8, !tbaa !15
  %18354 = load ptr, ptr %2, align 8, !tbaa !5
  %18355 = getelementptr inbounds %struct.PDP6, ptr %18354, i32 0, i32 40
  store i64 0, ptr %18355, align 8, !tbaa !119
  %18356 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18356, ptr noundef @.str.122)
  br label %17859

18357:                                            ; preds = %17
  %18358 = load ptr, ptr %2, align 8, !tbaa !5
  %18359 = getelementptr inbounds %struct.PDP6, ptr %18358, i32 0, i32 31
  %18360 = load i64, ptr %18359, align 8, !tbaa !39
  %18361 = shl i64 %18360, 18
  %18362 = load ptr, ptr %2, align 8, !tbaa !5
  %18363 = getelementptr inbounds %struct.PDP6, ptr %18362, i32 0, i32 31
  %18364 = load i64, ptr %18363, align 8, !tbaa !39
  %18365 = lshr i64 %18364, 18
  %18366 = or i64 %18361, %18365
  %18367 = and i64 %18366, 68719476735
  %18368 = load ptr, ptr %2, align 8, !tbaa !5
  %18369 = getelementptr inbounds %struct.PDP6, ptr %18368, i32 0, i32 31
  store i64 %18367, ptr %18369, align 8, !tbaa !39
  %18370 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18370, ptr noundef @.str.41)
  %18371 = load i64, ptr @simtime, align 8, !tbaa !15
  %18372 = add i64 %18371, 100
  store i64 %18372, ptr @simtime, align 8, !tbaa !15
  %18373 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18373, ptr noundef @.str.42)
  %18374 = load i64, ptr @simtime, align 8, !tbaa !15
  %18375 = add i64 %18374, 100
  store i64 %18375, ptr @simtime, align 8, !tbaa !15
  %18376 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18376, ptr noundef @.str.43)
  %18377 = load ptr, ptr %2, align 8, !tbaa !5
  %18378 = getelementptr inbounds %struct.PDP6, ptr %18377, i32 0, i32 31
  %18379 = load i64, ptr %18378, align 8, !tbaa !39
  %18380 = and i64 %18379, 68719214592
  %18381 = load ptr, ptr %2, align 8, !tbaa !5
  %18382 = getelementptr inbounds %struct.PDP6, ptr %18381, i32 0, i32 28
  %18383 = load i64, ptr %18382, align 8, !tbaa !34
  %18384 = and i64 %18383, 262143
  %18385 = or i64 %18380, %18384
  %18386 = load ptr, ptr %2, align 8, !tbaa !5
  %18387 = getelementptr inbounds %struct.PDP6, ptr %18386, i32 0, i32 28
  store i64 %18385, ptr %18387, align 8, !tbaa !34
  %18388 = load ptr, ptr %2, align 8, !tbaa !5
  %18389 = getelementptr inbounds %struct.PDP6, ptr %18388, i32 0, i32 94
  store i8 1, ptr %18389, align 1, !tbaa !116
  %18390 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18390, ptr noundef @.str.65)
  %18391 = load ptr, ptr %2, align 8, !tbaa !5
  %18392 = getelementptr inbounds %struct.PDP6, ptr %18391, i32 0, i32 28
  %18393 = load i64, ptr %18392, align 8, !tbaa !34
  %18394 = load ptr, ptr %2, align 8, !tbaa !5
  %18395 = getelementptr inbounds %struct.PDP6, ptr %18394, i32 0, i32 40
  %18396 = load i64, ptr %18395, align 8, !tbaa !119
  %18397 = or i64 %18396, %18393
  store i64 %18397, ptr %18395, align 8, !tbaa !119
  %18398 = load i64, ptr @simtime, align 8, !tbaa !15
  %18399 = add i64 %18398, 1000
  store i64 %18399, ptr @simtime, align 8, !tbaa !15
  %18400 = load ptr, ptr %2, align 8, !tbaa !5
  %18401 = getelementptr inbounds %struct.PDP6, ptr %18400, i32 0, i32 94
  store i8 0, ptr %18401, align 1, !tbaa !116
  %18402 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18402, ptr noundef @.str.150)
  %18403 = load ptr, ptr %2, align 8, !tbaa !5
  %18404 = getelementptr inbounds %struct.PDP6, ptr %18403, i32 0, i32 37
  %18405 = load i32, ptr %18404, align 4, !tbaa !54
  %18406 = lshr i32 %18405, 8
  %18407 = and i32 %18406, 127
  %18408 = zext i32 %18407 to i64
  %18409 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18408
  %18410 = load ptr, ptr %18409, align 8, !tbaa !5
  %18411 = getelementptr inbounds %struct.IOdev, ptr %18410, i32 0, i32 3
  %18412 = load ptr, ptr %18411, align 8, !tbaa !117
  %18413 = load ptr, ptr %2, align 8, !tbaa !5
  %18414 = load ptr, ptr %2, align 8, !tbaa !5
  %18415 = getelementptr inbounds %struct.PDP6, ptr %18414, i32 0, i32 37
  %18416 = load i32, ptr %18415, align 4, !tbaa !54
  %18417 = lshr i32 %18416, 8
  %18418 = and i32 %18417, 127
  %18419 = zext i32 %18418 to i64
  %18420 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18419
  %18421 = load ptr, ptr %18420, align 8, !tbaa !5
  call void %18412(ptr noundef %18413, ptr noundef %18421, i32 noundef 0)
  %18422 = load i64, ptr @simtime, align 8, !tbaa !15
  %18423 = add i64 %18422, 1000
  store i64 %18423, ptr @simtime, align 8, !tbaa !15
  %18424 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18424, ptr noundef @.str.151)
  %18425 = load ptr, ptr %2, align 8, !tbaa !5
  %18426 = getelementptr inbounds %struct.PDP6, ptr %18425, i32 0, i32 37
  %18427 = load i32, ptr %18426, align 4, !tbaa !54
  %18428 = lshr i32 %18427, 8
  %18429 = and i32 %18428, 127
  %18430 = zext i32 %18429 to i64
  %18431 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18430
  %18432 = load ptr, ptr %18431, align 8, !tbaa !5
  %18433 = getelementptr inbounds %struct.IOdev, ptr %18432, i32 0, i32 3
  %18434 = load ptr, ptr %18433, align 8, !tbaa !117
  %18435 = load ptr, ptr %2, align 8, !tbaa !5
  %18436 = load ptr, ptr %2, align 8, !tbaa !5
  %18437 = getelementptr inbounds %struct.PDP6, ptr %18436, i32 0, i32 37
  %18438 = load i32, ptr %18437, align 4, !tbaa !54
  %18439 = lshr i32 %18438, 8
  %18440 = and i32 %18439, 127
  %18441 = zext i32 %18440 to i64
  %18442 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %18441
  %18443 = load ptr, ptr %18442, align 8, !tbaa !5
  call void %18434(ptr noundef %18435, ptr noundef %18443, i32 noundef 1)
  %18444 = load i64, ptr @simtime, align 8, !tbaa !15
  %18445 = add i64 %18444, 200
  store i64 %18445, ptr @simtime, align 8, !tbaa !15
  %18446 = load ptr, ptr %2, align 8, !tbaa !5
  %18447 = getelementptr inbounds %struct.PDP6, ptr %18446, i32 0, i32 40
  store i64 0, ptr %18447, align 8, !tbaa !119
  %18448 = load ptr, ptr %2, align 8, !tbaa !5
  call void @pulse(ptr noundef %18448, ptr noundef @.str.122)
  br label %17859

18449:                                            ; preds = %17
  %18450 = load ptr, ptr %2, align 8, !tbaa !5
  %18451 = getelementptr inbounds %struct.PDP6, ptr %18450, i32 0, i32 1
  %18452 = load i32, ptr %18451, align 4, !tbaa !18
  %18453 = call i32 (ptr, ...) @printf(ptr noundef @.str.152, i32 noundef %18452)
  %18454 = load ptr, ptr %2, align 8, !tbaa !5
  %18455 = getelementptr inbounds %struct.PDP6, ptr %18454, i32 0, i32 0
  store i32 0, ptr %18455, align 8, !tbaa !41
  br label %18456

18456:                                            ; preds = %18449, %18007, %18006, %17957, %17926, %17901, %17890, %16812, %1720, %982, %948, %938, %857, %846, %799, %686, %658, %615, %602, %507, %441, %388, %346, %308, %294
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #3
  ret void
}

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare hidden i32 @divide(ptr noundef) #0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 willreturn memory(argmem: readwrite) }
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, !13, i64 376}
!10 = !{!"PDP6", !11, i64 0, !11, i64 4, !11, i64 8, !11, i64 12, !12, i64 16, !12, i64 17, !12, i64 18, !12, i64 19, !12, i64 20, !12, i64 21, !12, i64 22, !12, i64 23, !12, i64 24, !12, i64 25, !12, i64 26, !12, i64 27, !12, i64 28, !12, i64 29, !12, i64 30, !12, i64 31, !12, i64 32, !12, i64 33, !12, i64 34, !12, i64 35, !12, i64 36, !12, i64 37, !12, i64 38, !12, i64 39, !13, i64 40, !13, i64 48, !7, i64 56, !13, i64 64, !13, i64 72, !13, i64 80, !11, i64 88, !11, i64 92, !11, i64 96, !11, i64 100, !11, i64 104, !11, i64 108, !13, i64 112, !7, i64 120, !12, i64 121, !12, i64 122, !12, i64 123, !12, i64 124, !12, i64 125, !12, i64 126, !12, i64 127, !12, i64 128, !12, i64 129, !12, i64 130, !12, i64 131, !12, i64 132, !12, i64 133, !12, i64 134, !12, i64 135, !12, i64 136, !12, i64 137, !12, i64 138, !12, i64 139, !12, i64 140, !12, i64 141, !12, i64 142, !12, i64 143, !12, i64 144, !12, i64 145, !12, i64 146, !12, i64 147, !12, i64 148, !12, i64 149, !12, i64 150, !12, i64 151, !12, i64 152, !12, i64 153, !12, i64 154, !12, i64 155, !12, i64 156, !12, i64 157, !12, i64 158, !12, i64 159, !12, i64 160, !12, i64 161, !12, i64 162, !12, i64 163, !12, i64 164, !12, i64 165, !12, i64 166, !12, i64 167, !12, i64 168, !12, i64 169, !12, i64 170, !12, i64 171, !12, i64 172, !12, i64 173, !12, i64 174, !12, i64 175, !12, i64 176, !12, i64 177, !12, i64 178, !12, i64 179, !7, i64 180, !7, i64 181, !7, i64 182, !7, i64 183, !12, i64 184, !12, i64 185, !12, i64 186, !12, i64 187, !12, i64 188, !11, i64 192, !11, i64 196, !11, i64 200, !12, i64 204, !12, i64 205, !12, i64 206, !12, i64 207, !12, i64 208, !12, i64 209, !12, i64 210, !12, i64 211, !12, i64 212, !12, i64 213, !12, i64 214, !12, i64 215, !7, i64 216, !12, i64 217, !12, i64 218, !12, i64 219, !12, i64 220, !12, i64 221, !12, i64 222, !12, i64 223, !12, i64 224, !12, i64 225, !12, i64 226, !12, i64 227, !12, i64 228, !12, i64 229, !7, i64 230, !11, i64 232, !11, i64 236, !13, i64 240, !13, i64 248, !13, i64 256, !12, i64 264, !12, i64 265, !12, i64 266, !7, i64 267, !13, i64 272, !12, i64 280, !12, i64 281, !12, i64 282, !11, i64 284, !14, i64 288, !13, i64 304, !7, i64 312, !12, i64 313, !12, i64 314, !12, i64 315, !7, i64 316, !12, i64 317, !12, i64 318, !7, i64 319, !11, i64 320, !11, i64 324, !14, i64 328, !11, i64 340, !13, i64 344, !13, i64 352, !14, i64 360, !12, i64 372, !13, i64 376, !13, i64 384, !13, i64 392, !13, i64 400, !13, i64 408, !12, i64 416, !13, i64 424}
!11 = !{!"int", !7, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{!"long long", !7, i64 0}
!14 = !{!"FD", !11, i64 0, !11, i64 4, !11, i64 8}
!15 = !{!13, !13, i64 0}
!16 = distinct !{!16, !17}
!17 = !{!"llvm.loop.mustprogress"}
!18 = !{!10, !11, i64 4}
!19 = !{!10, !12, i64 17}
!20 = !{i8 0, i8 2}
!21 = !{}
!22 = !{!10, !12, i64 16}
!23 = !{!10, !12, i64 21}
!24 = !{!10, !12, i64 22}
!25 = !{!10, !12, i64 23}
!26 = !{!10, !12, i64 24}
!27 = !{!10, !12, i64 25}
!28 = !{!10, !12, i64 27}
!29 = !{!10, !12, i64 26}
!30 = !{!10, !12, i64 19}
!31 = !{!10, !12, i64 34}
!32 = !{!10, !11, i64 92}
!33 = !{!10, !11, i64 88}
!34 = !{!10, !13, i64 40}
!35 = !{!10, !12, i64 38}
!36 = !{!10, !12, i64 39}
!37 = !{!10, !11, i64 96}
!38 = !{!10, !13, i64 80}
!39 = !{!10, !13, i64 64}
!40 = !{!10, !12, i64 121}
!41 = !{!10, !11, i64 0}
!42 = !{!10, !12, i64 188}
!43 = !{!10, !13, i64 72}
!44 = !{!10, !12, i64 33}
!45 = !{!10, !12, i64 36}
!46 = !{!10, !12, i64 122}
!47 = !{!10, !12, i64 177}
!48 = !{!10, !7, i64 120}
!49 = !{!10, !7, i64 180}
!50 = !{!10, !7, i64 183}
!51 = !{!10, !12, i64 186}
!52 = !{!10, !12, i64 416}
!53 = !{!10, !12, i64 178}
!54 = !{!10, !11, i64 100}
!55 = !{!10, !12, i64 123}
!56 = !{!10, !12, i64 187}
!57 = !{!10, !12, i64 124}
!58 = !{!10, !12, i64 136}
!59 = !{!10, !11, i64 12}
!60 = !{!10, !12, i64 125}
!61 = !{!10, !13, i64 48}
!62 = !{!10, !12, i64 126}
!63 = !{!10, !12, i64 127}
!64 = !{!10, !12, i64 37}
!65 = !{!10, !12, i64 20}
!66 = !{!10, !12, i64 217}
!67 = !{!10, !12, i64 218}
!68 = !{!10, !11, i64 8}
!69 = !{!10, !12, i64 131}
!70 = !{!10, !11, i64 108}
!71 = !{!10, !12, i64 158}
!72 = !{!10, !12, i64 167}
!73 = !{!10, !12, i64 159}
!74 = !{!10, !12, i64 156}
!75 = !{!10, !12, i64 141}
!76 = !{!10, !12, i64 137}
!77 = !{!10, !12, i64 162}
!78 = !{!10, !12, i64 165}
!79 = !{!10, !11, i64 104}
!80 = !{!10, !12, i64 169}
!81 = !{!10, !12, i64 163}
!82 = !{!10, !12, i64 166}
!83 = !{!10, !12, i64 171}
!84 = !{!10, !12, i64 144}
!85 = distinct !{!85, !17}
!86 = !{!10, !12, i64 170}
!87 = !{!10, !12, i64 143}
!88 = !{!10, !12, i64 168}
!89 = !{!10, !12, i64 157}
!90 = !{!10, !12, i64 138}
!91 = !{!10, !12, i64 134}
!92 = !{!10, !12, i64 153}
!93 = !{!10, !12, i64 174}
!94 = !{!10, !12, i64 175}
!95 = !{!10, !12, i64 154}
!96 = !{!10, !12, i64 155}
!97 = !{!10, !12, i64 172}
!98 = !{!10, !12, i64 164}
!99 = !{!10, !12, i64 145}
!100 = !{!10, !12, i64 146}
!101 = !{!10, !12, i64 152}
!102 = !{!11, !11, i64 0}
!103 = !{!10, !12, i64 132}
!104 = !{!10, !12, i64 139}
!105 = !{!10, !12, i64 140}
!106 = !{!10, !12, i64 185}
!107 = !{!10, !12, i64 221}
!108 = !{!10, !12, i64 219}
!109 = !{!10, !12, i64 220}
!110 = !{!10, !12, i64 222}
!111 = !{!10, !12, i64 184}
!112 = !{!10, !12, i64 128}
!113 = !{!10, !12, i64 129}
!114 = !{!10, !12, i64 130}
!115 = !{!10, !12, i64 133}
!116 = !{!10, !12, i64 173}
!117 = !{!118, !6, i64 16}
!118 = !{!"IOdev", !7, i64 0, !11, i64 4, !6, i64 8, !6, i64 16, !6, i64 24}
!119 = !{!10, !13, i64 112}


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

@simtime = external local_unnamed_addr global i64, align 8
@devs_code = external hidden local_unnamed_addr global [128 x ptr], align 16
@.str.14 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [13 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [10 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.115 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [6 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [4 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.149 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.150 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.151 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.152 = external hidden unnamed_addr constant [18 x i8], align 1

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

; Function Attrs: nofree nounwind
declare noundef i32 @printf(ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare dso_local void @rdwrrq(ptr noundef, i32 noundef) local_unnamed_addr #0

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

; Function Attrs: nounwind uwtable
declare dso_local void @wrrs(ptr noundef, i32 noundef) local_unnamed_addr #0

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

; Function Attrs: nounwind uwtable
declare dso_local void @mr_start(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local void @mr_clr(ptr noundef) local_unnamed_addr #0

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

; Function Attrs: nounwind uwtable
declare dso_local void @decode(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local void @clr_run(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
declare dso_local void @key_go(ptr noundef) local_unnamed_addr #0

; Function Attrs: nounwind uwtable
define dso_local void @cycle(ptr noundef %0) local_unnamed_addr #0 {
  %2 = getelementptr inbounds i8, ptr %0, i64 376
  %3 = load i64, ptr %2, align 8, !tbaa !5
  %4 = load i64, ptr @simtime, align 8, !tbaa !13
  %5 = icmp ult i64 %3, %4
  br i1 %5, label %.lr.ph, label %._crit_edge

.lr.ph:                                           ; preds = %1, %.lr.ph
  %6 = phi i64 [ %8, %.lr.ph ], [ %3, %1 ]
  %7 = add i64 %6, 16666667
  store i64 %7, ptr %2, align 8, !tbaa !5
  tail call void @cpa_set_clock(ptr noundef nonnull %0)
  %8 = load i64, ptr %2, align 8, !tbaa !5
  %9 = load i64, ptr @simtime, align 8, !tbaa !13
  %10 = icmp ult i64 %8, %9
  br i1 %10, label %.lr.ph, label %._crit_edge, !llvm.loop !14

._crit_edge:                                      ; preds = %.lr.ph, %1
  %.lcssa6562 = phi i64 [ %4, %1 ], [ %9, %.lr.ph ]
  %11 = getelementptr inbounds i8, ptr %0, i64 4
  %12 = load i32, ptr %11, align 4, !tbaa !16
  switch i32 %12, label %8868 [
    i32 9, label %13
    i32 11, label %225
    i32 10, label %248
    i32 12, label %306
    i32 13, label %321
    i32 14, label %367
    i32 15, label %406
    i32 16, label %456
    i32 17, label %482
    i32 8, label %535
    i32 21, label %555
    i32 90, label %564
    i32 96, label %615
    i32 97, label %615
    i32 98, label %615
    i32 99, label %615
    i32 100, label %615
    i32 101, label %615
    i32 102, label %615
    i32 103, label %615
    i32 104, label %704
    i32 105, label %704
    i32 106, label %704
    i32 107, label %704
    i32 108, label %704
    i32 109, label %704
    i32 110, label %704
    i32 111, label %704
    i32 112, label %714
    i32 113, label %714
    i32 114, label %714
    i32 115, label %714
    i32 116, label %714
    i32 117, label %714
    i32 118, label %714
    i32 119, label %714
    i32 120, label %725
    i32 121, label %725
    i32 122, label %725
    i32 123, label %725
    i32 124, label %725
    i32 125, label %725
    i32 126, label %725
    i32 127, label %725
    i32 24, label %843
    i32 25, label %882
    i32 28, label %907
    i32 26, label %936
    i32 27, label %950
    i32 144, label %979
    i32 145, label %979
    i32 146, label %979
    i32 147, label %979
    i32 148, label %1014
    i32 149, label %1014
    i32 150, label %1014
    i32 151, label %1014
    i32 152, label %1036
    i32 153, label %1036
    i32 154, label %1036
    i32 155, label %1036
    i32 156, label %1055
    i32 157, label %1055
    i32 158, label %1055
    i32 159, label %1055
    i32 64, label %8055
    i32 65, label %8055
    i32 66, label %8055
    i32 67, label %8055
    i32 68, label %8055
    i32 69, label %8055
    i32 70, label %8055
    i32 71, label %8055
    i32 72, label %8055
    i32 73, label %8055
    i32 74, label %8055
    i32 75, label %8055
    i32 76, label %8055
    i32 77, label %8055
    i32 78, label %8055
    i32 79, label %8055
    i32 80, label %8055
    i32 81, label %8055
    i32 82, label %8055
    i32 83, label %8055
    i32 84, label %8055
    i32 85, label %8055
    i32 86, label %8055
    i32 87, label %8055
    i32 88, label %8055
    i32 89, label %8055
    i32 128, label %1103
    i32 129, label %1121
    i32 130, label %1139
    i32 131, label %1159
    i32 132, label %1179
    i32 133, label %1204
    i32 134, label %1229
    i32 135, label %1256
    i32 136, label %1283
    i32 137, label %1302
    i32 138, label %1321
    i32 139, label %1342
    i32 140, label %1363
    i32 141, label %1386
    i32 142, label %1409
    i32 143, label %1434
    i32 160, label %1459
    i32 161, label %1492
    i32 162, label %1525
    i32 164, label %1558
    i32 165, label %1591
    i32 166, label %1624
    i32 184, label %1657
    i32 185, label %1664
    i32 186, label %1671
    i32 187, label %1681
    i32 188, label %1691
    i32 189, label %1698
    i32 190, label %1705
    i32 191, label %1715
    i32 192, label %1725
    i32 193, label %1743
    i32 194, label %1776
    i32 195, label %1803
    i32 196, label %1837
    i32 197, label %1859
    i32 198, label %1892
    i32 199, label %1918
    i32 200, label %1952
    i32 201, label %1970
    i32 202, label %2003
    i32 203, label %2030
    i32 204, label %2064
    i32 205, label %2086
    i32 206, label %2119
    i32 207, label %2145
    i32 208, label %2179
    i32 209, label %2196
    i32 210, label %2225
    i32 211, label %2254
    i32 212, label %2284
    i32 213, label %2306
    i32 214, label %2335
    i32 215, label %2363
    i32 216, label %2393
    i32 217, label %2414
    i32 218, label %2443
    i32 219, label %2472
    i32 220, label %2502
    i32 221, label %2527
    i32 222, label %2556
    i32 223, label %2584
    i32 224, label %2614
    i32 225, label %2632
    i32 226, label %2662
    i32 227, label %2692
    i32 228, label %2723
    i32 229, label %2746
    i32 230, label %2776
    i32 231, label %2805
    i32 232, label %2836
    i32 233, label %2858
    i32 234, label %2888
    i32 235, label %2918
    i32 236, label %2949
    i32 237, label %2975
    i32 238, label %3005
    i32 239, label %3034
    i32 240, label %3065
    i32 241, label %3083
    i32 242, label %3113
    i32 243, label %3143
    i32 244, label %3174
    i32 245, label %3197
    i32 246, label %3227
    i32 247, label %3256
    i32 248, label %3287
    i32 249, label %3309
    i32 250, label %3339
    i32 251, label %3369
    i32 252, label %3400
    i32 253, label %3426
    i32 254, label %3456
    i32 255, label %3485
    i32 256, label %3516
    i32 257, label %3524
    i32 258, label %3532
    i32 259, label %3542
    i32 260, label %3552
    i32 261, label %3564
    i32 262, label %3576
    i32 263, label %3589
    i32 264, label %3602
    i32 265, label %3616
    i32 266, label %3630
    i32 267, label %3645
    i32 268, label %3660
    i32 269, label %3672
    i32 270, label %3684
    i32 271, label %3697
    i32 272, label %3710
    i32 273, label %3726
    i32 274, label %3742
    i32 275, label %3759
    i32 276, label %3776
    i32 277, label %3783
    i32 278, label %3790
    i32 279, label %3800
    i32 280, label %3810
    i32 281, label %3822
    i32 282, label %3834
    i32 283, label %3847
    i32 284, label %3860
    i32 285, label %3872
    i32 286, label %3884
    i32 287, label %3897
    i32 288, label %3910
    i32 289, label %3924
    i32 290, label %3938
    i32 291, label %3953
    i32 292, label %3968
    i32 293, label %3982
    i32 294, label %3996
    i32 295, label %4011
    i32 296, label %4026
    i32 297, label %4036
    i32 298, label %4046
    i32 299, label %4058
    i32 300, label %4070
    i32 301, label %4084
    i32 302, label %4098
    i32 303, label %4113
    i32 304, label %4128
    i32 305, label %4142
    i32 306, label %4156
    i32 307, label %4171
    i32 308, label %4186
    i32 309, label %4202
    i32 310, label %4218
    i32 311, label %4235
    i32 312, label %4252
    i32 313, label %4266
    i32 314, label %4280
    i32 315, label %4295
    i32 316, label %4310
    i32 317, label %4320
    i32 318, label %4330
    i32 319, label %4342
    i32 320, label %4354
    i32 321, label %4368
    i32 322, label %4382
    i32 323, label %4399
    i32 324, label %4415
    i32 325, label %4434
    i32 326, label %4453
    i32 327, label %4475
    i32 328, label %4496
    i32 329, label %4510
    i32 330, label %4524
    i32 331, label %4541
    i32 332, label %4557
    i32 333, label %4576
    i32 334, label %4595
    i32 335, label %4617
    i32 336, label %4638
    i32 337, label %4653
    i32 338, label %4668
    i32 339, label %4686
    i32 340, label %4703
    i32 341, label %4723
    i32 342, label %4743
    i32 343, label %4766
    i32 344, label %4788
    i32 345, label %4804
    i32 346, label %4820
    i32 347, label %4839
    i32 348, label %4857
    i32 349, label %4878
    i32 350, label %4899
    i32 351, label %4923
    i32 352, label %4946
    i32 353, label %4960
    i32 354, label %4974
    i32 355, label %4991
    i32 356, label %5007
    i32 357, label %5026
    i32 358, label %5045
    i32 359, label %5067
    i32 360, label %5088
    i32 361, label %5102
    i32 362, label %5116
    i32 363, label %5133
    i32 364, label %5149
    i32 365, label %5168
    i32 366, label %5187
    i32 367, label %5209
    i32 368, label %5230
    i32 369, label %5245
    i32 370, label %5260
    i32 371, label %5278
    i32 372, label %5295
    i32 373, label %5315
    i32 374, label %5335
    i32 375, label %5358
    i32 376, label %5380
    i32 377, label %5396
    i32 378, label %5412
    i32 379, label %5431
    i32 380, label %5449
    i32 381, label %5470
    i32 382, label %5491
    i32 383, label %5515
    i32 384, label %5538
    i32 385, label %5568
    i32 386, label %5603
    i32 387, label %5642
    i32 388, label %5686
    i32 389, label %5720
    i32 390, label %5759
    i32 391, label %5798
    i32 392, label %5842
    i32 393, label %5872
    i32 394, label %5907
    i32 395, label %5946
    i32 396, label %5990
    i32 397, label %6024
    i32 398, label %6063
    i32 399, label %6102
    i32 400, label %6146
    i32 401, label %6179
    i32 402, label %6217
    i32 403, label %6259
    i32 404, label %6306
    i32 405, label %6343
    i32 406, label %6385
    i32 407, label %6427
    i32 408, label %6474
    i32 409, label %6507
    i32 410, label %6545
    i32 411, label %6587
    i32 412, label %6634
    i32 413, label %6671
    i32 414, label %6713
    i32 415, label %6755
    i32 416, label %6802
    i32 417, label %6833
    i32 418, label %6869
    i32 419, label %6909
    i32 420, label %6954
    i32 421, label %6989
    i32 422, label %7029
    i32 423, label %7069
    i32 424, label %7114
    i32 425, label %7145
    i32 426, label %7181
    i32 427, label %7221
    i32 428, label %7266
    i32 429, label %7301
    i32 430, label %7341
    i32 431, label %7381
    i32 432, label %7426
    i32 433, label %7457
    i32 434, label %7493
    i32 435, label %7533
    i32 436, label %7578
    i32 437, label %7613
    i32 438, label %7653
    i32 439, label %7693
    i32 440, label %7738
    i32 441, label %7769
    i32 442, label %7805
    i32 443, label %7845
    i32 444, label %7890
    i32 445, label %7925
    i32 446, label %7965
    i32 447, label %8005
    i32 168, label %8050
    i32 169, label %8062
    i32 22, label %8086
    i32 170, label %8140
    i32 171, label %8140
    i32 172, label %8175
    i32 173, label %8233
    i32 174, label %8281
    i32 175, label %8055
    i32 176, label %8286
    i32 177, label %8327
    i32 178, label %8360
    i32 179, label %8390
    i32 180, label %8430
    i32 181, label %8472
    i32 182, label %8504
    i32 183, label %8542
    i32 18, label %._crit_edge._crit_edge
    i32 19, label %8618
    i32 20, label %8632
    i32 0, label %8648
    i32 2, label %8648
    i32 23, label %8661
    i32 1, label %8685
    i32 5, label %8722
    i32 6, label %8722
    i32 7, label %8722
    i32 3, label %8778
    i32 4, label %8823
  ]

._crit_edge._crit_edge:                           ; preds = %._crit_edge
  %.phi.trans.insert = getelementptr inbounds i8, ptr %0, i64 12
  %.pre6626 = load i32, ptr %.phi.trans.insert, align 4, !tbaa !17
  br label %8594

13:                                               ; preds = %._crit_edge
  %14 = add i64 %.lcssa6562, 100
  store i64 %14, ptr @simtime, align 8, !tbaa !13
  %15 = getelementptr inbounds i8, ptr %0, i64 17
  %16 = load i8, ptr %15, align 1, !tbaa !18, !range !19, !noundef !20
  %17 = trunc nuw i8 %16 to i1
  br i1 %17, label %50, label %18

18:                                               ; preds = %13
  %19 = getelementptr inbounds i8, ptr %0, i64 16
  %20 = load i8, ptr %19, align 8, !tbaa !21, !range !19, !noundef !20
  %21 = trunc nuw i8 %20 to i1
  br i1 %21, label %50, label %22

22:                                               ; preds = %18
  %23 = getelementptr inbounds i8, ptr %0, i64 21
  %24 = load i8, ptr %23, align 1, !tbaa !22, !range !19, !noundef !20
  %25 = trunc nuw i8 %24 to i1
  br i1 %25, label %50, label %26

26:                                               ; preds = %22
  %27 = getelementptr inbounds i8, ptr %0, i64 22
  %28 = load i8, ptr %27, align 2, !tbaa !23, !range !19, !noundef !20
  %29 = trunc nuw i8 %28 to i1
  br i1 %29, label %50, label %30

30:                                               ; preds = %26
  %31 = getelementptr inbounds i8, ptr %0, i64 23
  %32 = load i8, ptr %31, align 1, !tbaa !24, !range !19, !noundef !20
  %33 = trunc nuw i8 %32 to i1
  br i1 %33, label %50, label %34

34:                                               ; preds = %30
  %35 = getelementptr inbounds i8, ptr %0, i64 24
  %36 = load i8, ptr %35, align 8, !tbaa !25, !range !19, !noundef !20
  %37 = trunc nuw i8 %36 to i1
  br i1 %37, label %50, label %38

38:                                               ; preds = %34
  %39 = getelementptr inbounds i8, ptr %0, i64 25
  %40 = load i8, ptr %39, align 1, !tbaa !26, !range !19, !noundef !20
  %41 = trunc nuw i8 %40 to i1
  br i1 %41, label %50, label %42

42:                                               ; preds = %38
  %43 = getelementptr inbounds i8, ptr %0, i64 27
  %44 = load i8, ptr %43, align 1, !tbaa !27, !range !19, !noundef !20
  %45 = trunc nuw i8 %44 to i1
  br i1 %45, label %50, label %46

46:                                               ; preds = %42
  %47 = getelementptr inbounds i8, ptr %0, i64 26
  %48 = load i8, ptr %47, align 2, !tbaa !28, !range !19, !noundef !20
  %49 = trunc nuw i8 %48 to i1
  br i1 %49, label %50, label %51

50:                                               ; preds = %46, %42, %38, %34, %30, %26, %22, %18, %13
  tail call void @mr_clr(ptr noundef nonnull %0)
  %.pre6627 = load i8, ptr %15, align 1, !tbaa !18, !range !19
  br label %51

51:                                               ; preds = %50, %46
  %52 = phi i8 [ %.pre6627, %50 ], [ %16, %46 ]
  %53 = trunc nuw i8 %52 to i1
  br i1 %53, label %62, label %54

54:                                               ; preds = %51
  %55 = getelementptr inbounds i8, ptr %0, i64 21
  %56 = load i8, ptr %55, align 1, !tbaa !22, !range !19, !noundef !20
  %57 = trunc nuw i8 %56 to i1
  br i1 %57, label %.thread, label %58

58:                                               ; preds = %54
  %59 = getelementptr inbounds i8, ptr %0, i64 19
  %60 = load i8, ptr %59, align 1, !tbaa !29, !range !19, !noundef !20
  %61 = trunc nuw i8 %60 to i1
  br i1 %61, label %.thread, label %.thread.sink.split

62:                                               ; preds = %51
  %63 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %63, align 4, !tbaa !30
  %64 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %64, align 8, !tbaa !31
  br label %.thread.sink.split

.thread.sink.split:                               ; preds = %58, %62
  %.sink6629 = phi i8 [ 1, %62 ], [ 0, %58 ]
  %65 = getelementptr inbounds i8, ptr %0, i64 34
  store i8 %.sink6629, ptr %65, align 2, !tbaa !32
  br label %.thread

.thread:                                          ; preds = %.thread.sink.split, %54, %58
  %66 = getelementptr inbounds i8, ptr %0, i64 16
  %67 = load i8, ptr %66, align 8, !tbaa !21, !range !19, !noundef !20
  %68 = trunc nuw i8 %67 to i1
  br i1 %68, label %69, label %72

69:                                               ; preds = %.thread
  %70 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %70, align 4, !tbaa !30
  %71 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %71, align 8, !tbaa !31
  br label %72

72:                                               ; preds = %69, %.thread
  %73 = getelementptr inbounds i8, ptr %0, i64 27
  %74 = load i8, ptr %73, align 1, !tbaa !27, !range !19, !noundef !20
  %75 = trunc nuw i8 %74 to i1
  br i1 %75, label %76, label %78

76:                                               ; preds = %72
  %77 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %77, align 8, !tbaa !33
  br label %78

78:                                               ; preds = %76, %72
  %79 = getelementptr inbounds i8, ptr %0, i64 38
  %80 = load i8, ptr %79, align 2, !tbaa !34, !range !19, !noundef !20
  %81 = trunc nuw i8 %80 to i1
  br i1 %81, label %82, label %84

82:                                               ; preds = %78
  %83 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %83, align 4, !tbaa !30
  br label %84

84:                                               ; preds = %82, %78
  %85 = getelementptr inbounds i8, ptr %0, i64 23
  %86 = load i8, ptr %85, align 1, !tbaa !24, !range !19, !noundef !20
  %87 = trunc nuw i8 %86 to i1
  br i1 %87, label %88, label %93

88:                                               ; preds = %84
  %89 = getelementptr inbounds i8, ptr %0, i64 92
  %90 = load i32, ptr %89, align 4, !tbaa !30
  %91 = add i32 %90, 1
  %92 = and i32 %91, 262143
  store i32 %92, ptr %89, align 4, !tbaa !30
  br label %93

93:                                               ; preds = %88, %84
  %94 = getelementptr inbounds i8, ptr %0, i64 39
  %95 = load i8, ptr %94, align 1, !tbaa !35, !range !19, !noundef !20
  %96 = trunc nuw i8 %95 to i1
  br i1 %96, label %97, label %100

97:                                               ; preds = %93
  %98 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %98, align 4, !tbaa !30
  %99 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %99, align 8, !tbaa !33
  br label %100

100:                                              ; preds = %97, %93
  %101 = getelementptr inbounds i8, ptr %0, i64 25
  %102 = load i8, ptr %101, align 1, !tbaa !26, !range !19, !noundef !20
  %103 = trunc nuw i8 %102 to i1
  br i1 %103, label %104, label %110

104:                                              ; preds = %100
  %105 = getelementptr inbounds i8, ptr %0, i64 92
  %106 = load i32, ptr %105, align 4, !tbaa !30
  %107 = add i32 %106, 1
  %108 = and i32 %107, 262143
  store i32 %108, ptr %105, align 4, !tbaa !30
  %109 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %109, align 8, !tbaa !33
  br label %110

110:                                              ; preds = %104, %100
  %111 = getelementptr inbounds i8, ptr %0, i64 26
  %112 = load i8, ptr %111, align 2, !tbaa !28, !range !19, !noundef !20
  %113 = trunc nuw i8 %112 to i1
  br i1 %113, label %114, label %115

114:                                              ; preds = %110
  tail call void @mr_start(ptr noundef nonnull %0)
  br label %115

115:                                              ; preds = %114, %110
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.14)
  %116 = load i64, ptr @simtime, align 8, !tbaa !13
  %117 = add i64 %116, 200
  store i64 %117, ptr @simtime, align 8, !tbaa !13
  %118 = load i8, ptr %15, align 1, !tbaa !18, !range !19, !noundef !20
  %119 = trunc nuw i8 %118 to i1
  br i1 %119, label %123, label %120

120:                                              ; preds = %115
  %121 = load i8, ptr %66, align 8, !tbaa !21, !range !19, !noundef !20
  %122 = trunc nuw i8 %121 to i1
  br i1 %122, label %123, label %129

123:                                              ; preds = %120, %115
  %124 = getelementptr inbounds i8, ptr %0, i64 96
  %125 = load i32, ptr %124, align 8, !tbaa !36
  %126 = getelementptr inbounds i8, ptr %0, i64 92
  %127 = load i32, ptr %126, align 4, !tbaa !30
  %128 = or i32 %127, %125
  store i32 %128, ptr %126, align 4, !tbaa !30
  br label %129

129:                                              ; preds = %123, %120
  %130 = load i8, ptr %73, align 1, !tbaa !27, !range !19, !noundef !20
  %131 = trunc nuw i8 %130 to i1
  br i1 %131, label %132, label %138

132:                                              ; preds = %129
  %133 = getelementptr inbounds i8, ptr %0, i64 80
  %134 = load i64, ptr %133, align 8, !tbaa !37
  %135 = getelementptr inbounds i8, ptr %0, i64 40
  %136 = load i64, ptr %135, align 8, !tbaa !33
  %137 = or i64 %136, %134
  store i64 %137, ptr %135, align 8, !tbaa !33
  br label %138

138:                                              ; preds = %132, %129
  %139 = load i8, ptr %79, align 2, !tbaa !34, !range !19, !noundef !20
  %140 = trunc nuw i8 %139 to i1
  br i1 %140, label %141, label %147

141:                                              ; preds = %138
  %142 = getelementptr inbounds i8, ptr %0, i64 96
  %143 = load i32, ptr %142, align 8, !tbaa !36
  %144 = getelementptr inbounds i8, ptr %0, i64 92
  %145 = load i32, ptr %144, align 4, !tbaa !30
  %146 = or i32 %145, %143
  store i32 %146, ptr %144, align 4, !tbaa !30
  br label %147

147:                                              ; preds = %141, %138
  %148 = load i8, ptr %94, align 1, !tbaa !35, !range !19, !noundef !20
  %149 = trunc nuw i8 %148 to i1
  br i1 %149, label %150, label %161

150:                                              ; preds = %147
  %151 = getelementptr inbounds i8, ptr %0, i64 96
  %152 = load i32, ptr %151, align 8, !tbaa !36
  %153 = getelementptr inbounds i8, ptr %0, i64 92
  %154 = load i32, ptr %153, align 4, !tbaa !30
  %155 = or i32 %154, %152
  store i32 %155, ptr %153, align 4, !tbaa !30
  %156 = getelementptr inbounds i8, ptr %0, i64 80
  %157 = load i64, ptr %156, align 8, !tbaa !37
  %158 = getelementptr inbounds i8, ptr %0, i64 40
  %159 = load i64, ptr %158, align 8, !tbaa !33
  %160 = or i64 %159, %157
  store i64 %160, ptr %158, align 8, !tbaa !33
  br label %161

161:                                              ; preds = %150, %147
  %162 = load i8, ptr %101, align 1, !tbaa !26, !range !19, !noundef !20
  %163 = trunc nuw i8 %162 to i1
  br i1 %163, label %164, label %170

164:                                              ; preds = %161
  %165 = getelementptr inbounds i8, ptr %0, i64 80
  %166 = load i64, ptr %165, align 8, !tbaa !37
  %167 = getelementptr inbounds i8, ptr %0, i64 40
  %168 = load i64, ptr %167, align 8, !tbaa !33
  %169 = or i64 %168, %166
  store i64 %169, ptr %167, align 8, !tbaa !33
  br label %170

170:                                              ; preds = %164, %161
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.15)
  %171 = load i64, ptr @simtime, align 8, !tbaa !13
  %172 = add i64 %171, 200
  store i64 %172, ptr @simtime, align 8, !tbaa !13
  %173 = load i8, ptr %15, align 1, !tbaa !18, !range !19, !noundef !20
  %174 = trunc nuw i8 %173 to i1
  br i1 %174, label %178, label %175

175:                                              ; preds = %170
  %176 = load i8, ptr %66, align 8, !tbaa !21, !range !19, !noundef !20
  %177 = trunc nuw i8 %176 to i1
  br i1 %177, label %178, label %184

178:                                              ; preds = %175, %170
  %179 = getelementptr inbounds i8, ptr %0, i64 92
  %180 = load i32, ptr %179, align 4, !tbaa !30
  %181 = getelementptr inbounds i8, ptr %0, i64 88
  %182 = load i32, ptr %181, align 8, !tbaa !31
  %183 = or i32 %182, %180
  store i32 %183, ptr %181, align 8, !tbaa !31
  br label %184

184:                                              ; preds = %178, %175
  %185 = load i8, ptr %73, align 1, !tbaa !27, !range !19, !noundef !20
  %186 = trunc nuw i8 %185 to i1
  br i1 %186, label %187, label %191

187:                                              ; preds = %184
  %188 = getelementptr inbounds i8, ptr %0, i64 40
  %189 = load i64, ptr %188, align 8, !tbaa !33
  %190 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %189, ptr %190, align 8, !tbaa !38
  br label %191

191:                                              ; preds = %187, %184
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.16)
  %192 = load i8, ptr %79, align 2, !tbaa !34, !range !19, !noundef !20
  %193 = trunc nuw i8 %192 to i1
  br i1 %193, label %197, label %194

194:                                              ; preds = %191
  %195 = load i8, ptr %85, align 1, !tbaa !24, !range !19, !noundef !20
  %196 = trunc nuw i8 %195 to i1
  br i1 %196, label %197, label %199

197:                                              ; preds = %194, %191
  %198 = getelementptr inbounds i8, ptr %0, i64 121
  store i8 1, ptr %198, align 1, !tbaa !39
  tail call void @rdrq(ptr noundef nonnull %0, i32 noundef 11)
  br label %8870

199:                                              ; preds = %194
  %200 = load i8, ptr %94, align 1, !tbaa !35, !range !19, !noundef !20
  %201 = trunc nuw i8 %200 to i1
  br i1 %201, label %205, label %202

202:                                              ; preds = %199
  %203 = load i8, ptr %101, align 1, !tbaa !26, !range !19, !noundef !20
  %204 = trunc nuw i8 %203 to i1
  br i1 %204, label %205, label %210

205:                                              ; preds = %202, %199
  %206 = getelementptr inbounds i8, ptr %0, i64 40
  %207 = load i64, ptr %206, align 8, !tbaa !33
  %208 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %207, ptr %208, align 8, !tbaa !38
  %209 = getelementptr inbounds i8, ptr %0, i64 121
  store i8 1, ptr %209, align 1, !tbaa !39
  tail call void @wrrq(ptr noundef nonnull %0, i32 noundef 11)
  br label %8870

210:                                              ; preds = %202
  store i32 0, ptr %0, align 8, !tbaa !40
  %211 = load i8, ptr %73, align 1, !tbaa !27, !range !19, !noundef !20
  %212 = trunc nuw i8 %211 to i1
  br i1 %212, label %213, label %214

213:                                              ; preds = %210
  store i32 1, ptr %0, align 8, !tbaa !40
  br label %.sink.split

214:                                              ; preds = %210
  %215 = load i8, ptr %66, align 8, !tbaa !21, !range !19, !noundef !20
  %216 = trunc nuw i8 %215 to i1
  br i1 %216, label %224, label %217

217:                                              ; preds = %214
  %218 = load i8, ptr %15, align 1, !tbaa !18, !range !19, !noundef !20
  %219 = trunc nuw i8 %218 to i1
  br i1 %219, label %224, label %220

220:                                              ; preds = %217
  %221 = getelementptr inbounds i8, ptr %0, i64 21
  %222 = load i8, ptr %221, align 1, !tbaa !22, !range !19, !noundef !20
  %223 = trunc nuw i8 %222 to i1
  br i1 %223, label %224, label %8870

224:                                              ; preds = %220, %217, %214
  tail call void @key_go(ptr noundef nonnull %0)
  br label %8870

225:                                              ; preds = %._crit_edge
  %226 = getelementptr inbounds i8, ptr %0, i64 121
  store i8 0, ptr %226, align 1, !tbaa !39
  %227 = getelementptr inbounds i8, ptr %0, i64 188
  store i8 0, ptr %227, align 4, !tbaa !41
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.17)
  %228 = getelementptr inbounds i8, ptr %0, i64 23
  %229 = load i8, ptr %228, align 1, !tbaa !24, !range !19, !noundef !20
  %230 = trunc nuw i8 %229 to i1
  br i1 %230, label %235, label %231

231:                                              ; preds = %225
  %232 = getelementptr inbounds i8, ptr %0, i64 25
  %233 = load i8, ptr %232, align 1, !tbaa !26, !range !19, !noundef !20
  %234 = trunc nuw i8 %233 to i1
  br i1 %234, label %235, label %239

235:                                              ; preds = %231, %225
  %236 = getelementptr inbounds i8, ptr %0, i64 64
  %237 = load i64, ptr %236, align 8, !tbaa !38
  %238 = getelementptr inbounds i8, ptr %0, i64 72
  store i64 %237, ptr %238, align 8, !tbaa !42
  br label %239

239:                                              ; preds = %235, %231
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.18)
  store i32 0, ptr %0, align 8, !tbaa !40
  %240 = getelementptr inbounds i8, ptr %0, i64 33
  %241 = load i8, ptr %240, align 1, !tbaa !43, !range !19, !noundef !20
  %242 = trunc nuw i8 %241 to i1
  br i1 %242, label %243, label %8870

243:                                              ; preds = %239
  %244 = getelementptr inbounds i8, ptr %0, i64 36
  %245 = load i8, ptr %244, align 4, !tbaa !44, !range !19, !noundef !20
  %246 = trunc nuw i8 %245 to i1
  br i1 %246, label %247, label %8870

247:                                              ; preds = %243
  tail call void @key_go(ptr noundef nonnull %0)
  br label %8870

248:                                              ; preds = %._crit_edge
  %249 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %249, align 4, !tbaa !30
  tail call void @mr_clr(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.19)
  %250 = getelementptr inbounds i8, ptr %0, i64 122
  store i8 1, ptr %250, align 2, !tbaa !45
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.20)
  %251 = getelementptr inbounds i8, ptr %0, i64 177
  %252 = load i8, ptr %251, align 1, !tbaa !46, !range !19, !noundef !20
  %253 = trunc nuw i8 %252 to i1
  br i1 %253, label %260, label %254

254:                                              ; preds = %248
  %255 = getelementptr inbounds i8, ptr %0, i64 120
  %256 = load i8, ptr %255, align 8, !tbaa !47
  %257 = getelementptr inbounds i8, ptr %0, i64 180
  %258 = load i8, ptr %257, align 4, !tbaa !48
  %259 = and i8 %258, %256
  tail call void @pir_set(ptr noundef nonnull %0, i8 noundef zeroext %259)
  br label %260

260:                                              ; preds = %254, %248
  %261 = load i64, ptr @simtime, align 8, !tbaa !13
  %262 = add i64 %261, 200
  store i64 %262, ptr @simtime, align 8, !tbaa !13
  %263 = getelementptr inbounds i8, ptr %0, i64 183
  %264 = load i8, ptr %263, align 1, !tbaa !49
  %.not6434 = icmp eq i8 %264, 0
  br i1 %.not6434, label %273, label %265

265:                                              ; preds = %260
  %266 = load i8, ptr %251, align 1, !tbaa !46, !range !19, !noundef !20
  %267 = trunc nuw i8 %266 to i1
  br i1 %267, label %273, label %268

268:                                              ; preds = %351, %265
  tail call void @mr_clr(ptr noundef nonnull %0)
  %269 = getelementptr inbounds i8, ptr %0, i64 177
  store i8 1, ptr %269, align 1, !tbaa !46
  %270 = getelementptr inbounds i8, ptr %0, i64 186
  store i8 1, ptr %270, align 2, !tbaa !50
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.21)
  %271 = load i64, ptr @simtime, align 8, !tbaa !13
  %272 = add i64 %271, 200
  store i64 %272, ptr @simtime, align 8, !tbaa !13
  br label %278

273:                                              ; preds = %265, %260
  %274 = getelementptr inbounds i8, ptr %0, i64 416
  %275 = load i8, ptr %274, align 8, !tbaa !51, !range !19, !noundef !20
  %276 = trunc nuw i8 %275 to i1
  br i1 %276, label %277, label %278

277:                                              ; preds = %273
  store i32 0, ptr %0, align 8, !tbaa !40
  br label %8870

278:                                              ; preds = %273, %268
  %279 = getelementptr inbounds i8, ptr %0, i64 177
  %280 = load i8, ptr %279, align 1, !tbaa !46, !range !19, !noundef !20
  %281 = trunc nuw i8 %280 to i1
  br i1 %281, label %282, label %296

282:                                              ; preds = %278
  %283 = getelementptr inbounds i8, ptr %0, i64 92
  %284 = getelementptr inbounds i8, ptr %0, i64 183
  %285 = load i8, ptr %284, align 1, !tbaa !49
  %286 = and i8 %285, 15
  %.not6437 = icmp eq i8 %286, 0
  %spec.store.select = select i1 %.not6437, i32 32, i32 40
  %287 = and i8 %285, 51
  %.not6438 = icmp eq i8 %287, 0
  %288 = or disjoint i32 %spec.store.select, 4
  %spec.select6561 = select i1 %.not6438, i32 %spec.store.select, i32 %288
  %289 = and i8 %285, 85
  %.not6439 = icmp eq i8 %289, 0
  %290 = or disjoint i32 %spec.select6561, 2
  %spec.select6631 = select i1 %.not6439, i32 %spec.select6561, i32 %290
  store i32 %spec.select6631, ptr %283, align 4
  %291 = getelementptr inbounds i8, ptr %0, i64 178
  %292 = load i8, ptr %291, align 2, !tbaa !52, !range !19, !noundef !20
  %293 = trunc nuw i8 %292 to i1
  br i1 %293, label %294, label %302

294:                                              ; preds = %282
  %295 = or disjoint i32 %spec.select6631, 1
  store i32 %295, ptr %283, align 4, !tbaa !30
  br label %302

296:                                              ; preds = %278
  %297 = getelementptr inbounds i8, ptr %0, i64 88
  %298 = load i32, ptr %297, align 8, !tbaa !31
  %299 = getelementptr inbounds i8, ptr %0, i64 92
  %300 = load i32, ptr %299, align 4, !tbaa !30
  %301 = or i32 %300, %298
  store i32 %301, ptr %299, align 4, !tbaa !30
  br label %302

302:                                              ; preds = %282, %294, %296
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.22)
  %303 = getelementptr inbounds i8, ptr %0, i64 122
  store i8 1, ptr %303, align 2, !tbaa !45
  tail call void @rdrq(ptr noundef nonnull %0, i32 noundef 12)
  br label %8870

.sink.split:                                      ; preds = %8281, %213
  %.sink6634 = phi i64 [ 100, %213 ], [ 200, %8281 ]
  %304 = load i64, ptr @simtime, align 8, !tbaa !13
  %305 = add i64 %304, %.sink6634
  store i64 %305, ptr @simtime, align 8, !tbaa !13
  br label %306

306:                                              ; preds = %.sink.split, %._crit_edge
  %307 = getelementptr inbounds i8, ptr %0, i64 122
  store i8 0, ptr %307, align 2, !tbaa !45
  %308 = getelementptr inbounds i8, ptr %0, i64 64
  %309 = load i64, ptr %308, align 8, !tbaa !38
  %310 = lshr i64 %309, 18
  %311 = getelementptr inbounds i8, ptr %0, i64 100
  %312 = load i32, ptr %311, align 4, !tbaa !53
  %313 = trunc i64 %310 to i32
  %314 = and i32 %313, 262112
  %315 = or i32 %314, %312
  store i32 %315, ptr %311, align 4, !tbaa !53
  %316 = getelementptr inbounds i8, ptr %0, i64 92
  %317 = load i32, ptr %316, align 4, !tbaa !30
  %318 = and i32 %317, 262128
  %.not6435 = icmp eq i32 %318, 0
  br i1 %.not6435, label %.sink.split6635, label %319

319:                                              ; preds = %306
  %320 = getelementptr inbounds i8, ptr %0, i64 34
  store i8 0, ptr %320, align 2, !tbaa !32
  br label %.sink.split6635

.sink.split6635:                                  ; preds = %306, %319, %925
  %.str.23.sink = phi ptr [ @.str.98, %925 ], [ @.str.23, %319 ], [ @.str.23, %306 ]
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull %.str.23.sink)
  br label %321

321:                                              ; preds = %.sink.split6635, %._crit_edge
  %322 = getelementptr inbounds i8, ptr %0, i64 123
  store i8 0, ptr %322, align 1, !tbaa !54
  %323 = getelementptr inbounds i8, ptr %0, i64 40
  %324 = load i64, ptr %323, align 8, !tbaa !33
  %325 = and i64 %324, 68719214592
  %326 = getelementptr inbounds i8, ptr %0, i64 64
  %327 = load i64, ptr %326, align 8, !tbaa !38
  %328 = and i64 %327, 262143
  %329 = or disjoint i64 %328, %325
  store i64 %329, ptr %323, align 8, !tbaa !33
  %330 = getelementptr inbounds i8, ptr %0, i64 100
  %331 = load i32, ptr %330, align 4, !tbaa !53
  %332 = trunc i64 %327 to i32
  %333 = lshr i32 %332, 18
  %334 = and i32 %333, 31
  %335 = or i32 %334, %331
  store i32 %335, ptr %330, align 4, !tbaa !53
  %336 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %336, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.24)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.20)
  %337 = getelementptr inbounds i8, ptr %0, i64 177
  %338 = load i8, ptr %337, align 1, !tbaa !46, !range !19, !noundef !20
  %339 = trunc nuw i8 %338 to i1
  br i1 %339, label %346, label %340

340:                                              ; preds = %321
  %341 = getelementptr inbounds i8, ptr %0, i64 120
  %342 = load i8, ptr %341, align 8, !tbaa !47
  %343 = getelementptr inbounds i8, ptr %0, i64 180
  %344 = load i8, ptr %343, align 4, !tbaa !48
  %345 = and i8 %344, %342
  tail call void @pir_set(ptr noundef nonnull %0, i8 noundef zeroext %345)
  br label %346

346:                                              ; preds = %340, %321
  %347 = load i64, ptr @simtime, align 8, !tbaa !13
  %348 = add i64 %347, 200
  store i64 %348, ptr @simtime, align 8, !tbaa !13
  %349 = getelementptr inbounds i8, ptr %0, i64 183
  %350 = load i8, ptr %349, align 1, !tbaa !49
  %.not6436 = icmp eq i8 %350, 0
  br i1 %.not6436, label %354, label %351

351:                                              ; preds = %346
  %352 = load i8, ptr %337, align 1, !tbaa !46, !range !19, !noundef !20
  %353 = trunc nuw i8 %352 to i1
  br i1 %353, label %354, label %268

354:                                              ; preds = %351, %346
  %355 = getelementptr inbounds i8, ptr %0, i64 416
  %356 = load i8, ptr %355, align 8, !tbaa !51, !range !19, !noundef !20
  %357 = trunc nuw i8 %356 to i1
  br i1 %357, label %358, label %359

358:                                              ; preds = %354
  store i32 0, ptr %0, align 8, !tbaa !40
  br label %8870

359:                                              ; preds = %354
  %360 = getelementptr inbounds i8, ptr %0, i64 187
  store i8 1, ptr %360, align 1, !tbaa !55
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.25)
  %361 = load i32, ptr %330, align 4, !tbaa !53
  %362 = and i32 %361, 15
  %.not6440 = icmp eq i32 %362, 0
  br i1 %.not6440, label %376, label %363

363:                                              ; preds = %359
  %364 = load i32, ptr %336, align 4, !tbaa !30
  %365 = or i32 %364, %362
  store i32 %365, ptr %336, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.26)
  %366 = getelementptr inbounds i8, ptr %0, i64 124
  store i8 1, ptr %366, align 4, !tbaa !56
  tail call void @rdrq(ptr noundef nonnull %0, i32 noundef 14)
  br label %8870

367:                                              ; preds = %._crit_edge
  %368 = getelementptr inbounds i8, ptr %0, i64 124
  store i8 0, ptr %368, align 4, !tbaa !56
  %369 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %369, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.27)
  %370 = getelementptr inbounds i8, ptr %0, i64 136
  store i8 1, ptr %370, align 8, !tbaa !57
  tail call void @ar_add(ptr noundef nonnull %0)
  store i8 0, ptr %370, align 8, !tbaa !57
  %371 = getelementptr inbounds i8, ptr %0, i64 40
  %372 = load i64, ptr %371, align 8, !tbaa !33
  %373 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %372, ptr %373, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.28)
  %374 = load i64, ptr @simtime, align 8, !tbaa !13
  %375 = add i64 %374, 200
  store i64 %375, ptr @simtime, align 8, !tbaa !13
  br label %376

376:                                              ; preds = %367, %359
  %377 = getelementptr inbounds i8, ptr %0, i64 40
  %378 = load i64, ptr %377, align 8, !tbaa !33
  %379 = and i64 %378, 262143
  store i64 %379, ptr %377, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.29)
  %380 = getelementptr inbounds i8, ptr %0, i64 100
  %381 = load i32, ptr %380, align 4, !tbaa !53
  %382 = and i32 %381, 16
  %.not6441 = icmp eq i32 %382, 0
  br i1 %.not6441, label %393, label %383

383:                                              ; preds = %376
  %384 = getelementptr inbounds i8, ptr %0, i64 64
  %385 = load i64, ptr %384, align 8, !tbaa !38
  %386 = getelementptr inbounds i8, ptr %0, i64 92
  %387 = load i32, ptr %386, align 4, !tbaa !30
  %388 = trunc i64 %385 to i32
  %389 = and i32 %388, 262143
  %390 = or i32 %389, %387
  store i32 %390, ptr %386, align 4, !tbaa !30
  %391 = and i32 %381, 262112
  store i32 %391, ptr %380, align 4, !tbaa !53
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.30)
  %392 = getelementptr inbounds i8, ptr %0, i64 123
  store i8 1, ptr %392, align 1, !tbaa !54
  tail call void @rdrq(ptr noundef nonnull %0, i32 noundef 13)
  br label %8870

393:                                              ; preds = %376, %8682
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.31)
  tail call void @decode(ptr noundef nonnull %0)
  %394 = getelementptr inbounds i8, ptr %0, i64 12
  %395 = load i32, ptr %394, align 4, !tbaa !17
  %396 = and i32 %395, 16
  %.not6442 = icmp eq i32 %396, 0
  br i1 %.not6442, label %397, label %465

397:                                              ; preds = %393
  %398 = getelementptr inbounds i8, ptr %0, i64 100
  %399 = load i32, ptr %398, align 4, !tbaa !53
  %400 = lshr i32 %399, 5
  %401 = and i32 %400, 15
  %402 = getelementptr inbounds i8, ptr %0, i64 92
  %403 = load i32, ptr %402, align 4, !tbaa !30
  %404 = or i32 %401, %403
  store i32 %404, ptr %402, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.32)
  %405 = getelementptr inbounds i8, ptr %0, i64 125
  store i8 1, ptr %405, align 1, !tbaa !58
  tail call void @rdrq(ptr noundef nonnull %0, i32 noundef 15)
  br label %8870

406:                                              ; preds = %8135, %._crit_edge
  %407 = getelementptr inbounds i8, ptr %0, i64 125
  store i8 0, ptr %407, align 1, !tbaa !58
  %408 = getelementptr inbounds i8, ptr %0, i64 12
  %409 = load i32, ptr %408, align 4, !tbaa !17
  %410 = and i32 %409, 32
  %.not6429 = icmp eq i32 %410, 0
  %411 = getelementptr inbounds i8, ptr %0, i64 92
  br i1 %.not6429, label %416, label %412

412:                                              ; preds = %406
  %413 = load i32, ptr %411, align 4, !tbaa !30
  %414 = add i32 %413, 1
  %415 = and i32 %414, 15
  br label %416

416:                                              ; preds = %406, %412
  %.sink6636 = phi i32 [ %415, %412 ], [ 0, %406 ]
  store i32 %.sink6636, ptr %411, align 4, !tbaa !30
  %417 = and i32 %409, 64
  %.not6430 = icmp eq i32 %417, 0
  br i1 %.not6430, label %425, label %418

418:                                              ; preds = %416
  %419 = getelementptr inbounds i8, ptr %0, i64 64
  %420 = load i64, ptr %419, align 8, !tbaa !38
  %421 = shl i64 %420, 18
  %422 = lshr i64 %420, 18
  %423 = or i64 %421, %422
  %424 = and i64 %423, 68719476735
  store i64 %424, ptr %419, align 8, !tbaa !38
  br label %432

425:                                              ; preds = %416
  %426 = and i32 %409, 128
  %.not6431 = icmp eq i32 %426, 0
  br i1 %.not6431, label %427, label %432

427:                                              ; preds = %425
  %428 = getelementptr inbounds i8, ptr %0, i64 64
  %429 = load i64, ptr %428, align 8, !tbaa !38
  %430 = getelementptr inbounds i8, ptr %0, i64 40
  %431 = load i64, ptr %430, align 8, !tbaa !33
  store i64 %431, ptr %428, align 8, !tbaa !38
  store i64 %429, ptr %430, align 8, !tbaa !33
  br label %432

432:                                              ; preds = %427, %425, %418
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.33)
  %433 = load i64, ptr @simtime, align 8, !tbaa !13
  %434 = add i64 %433, 100
  store i64 %434, ptr @simtime, align 8, !tbaa !13
  %435 = load i32, ptr %408, align 4, !tbaa !17
  %436 = and i32 %435, 224
  %.not6432 = icmp eq i32 %436, 0
  br i1 %.not6432, label %465, label %437

437:                                              ; preds = %432
  %438 = and i32 %435, 192
  %.not6433 = icmp eq i32 %438, 0
  br i1 %.not6433, label %451, label %439

439:                                              ; preds = %437
  %440 = getelementptr inbounds i8, ptr %0, i64 64
  %441 = load i64, ptr %440, align 8, !tbaa !38
  %442 = getelementptr inbounds i8, ptr %0, i64 92
  %443 = load i32, ptr %442, align 4, !tbaa !30
  %444 = trunc i64 %441 to i32
  %445 = and i32 %444, 262143
  %446 = or i32 %445, %443
  store i32 %446, ptr %442, align 4, !tbaa !30
  %447 = getelementptr inbounds i8, ptr %0, i64 40
  %448 = load i64, ptr %447, align 8, !tbaa !33
  store i64 %448, ptr %440, align 8, !tbaa !38
  store i64 %441, ptr %447, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.34)
  %449 = load i64, ptr @simtime, align 8, !tbaa !13
  %450 = add i64 %449, 100
  store i64 %450, ptr @simtime, align 8, !tbaa !13
  br label %451

451:                                              ; preds = %439, %437
  %452 = getelementptr inbounds i8, ptr %0, i64 64
  %453 = load i64, ptr %452, align 8, !tbaa !38
  %454 = getelementptr inbounds i8, ptr %0, i64 48
  store i64 %453, ptr %454, align 8, !tbaa !59
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.35)
  %455 = getelementptr inbounds i8, ptr %0, i64 126
  store i8 1, ptr %455, align 2, !tbaa !60
  tail call void @rdrq(ptr noundef nonnull %0, i32 noundef 16)
  br label %8870

456:                                              ; preds = %._crit_edge
  %457 = getelementptr inbounds i8, ptr %0, i64 126
  store i8 0, ptr %457, align 2, !tbaa !60
  %458 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %458, align 4, !tbaa !30
  %459 = getelementptr inbounds i8, ptr %0, i64 64
  %460 = load i64, ptr %459, align 8, !tbaa !38
  %461 = getelementptr inbounds i8, ptr %0, i64 48
  %462 = load i64, ptr %461, align 8, !tbaa !59
  store i64 %462, ptr %459, align 8, !tbaa !38
  store i64 %460, ptr %461, align 8, !tbaa !59
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.36)
  %463 = load i64, ptr @simtime, align 8, !tbaa !13
  %464 = add i64 %463, 100
  store i64 %464, ptr @simtime, align 8, !tbaa !13
  br label %465

465:                                              ; preds = %432, %456, %393
  %466 = getelementptr inbounds i8, ptr %0, i64 64
  %467 = load i64, ptr %466, align 8, !tbaa !38
  %468 = getelementptr inbounds i8, ptr %0, i64 92
  %469 = load i32, ptr %468, align 4, !tbaa !30
  %470 = trunc i64 %467 to i32
  %471 = and i32 %470, 262143
  %472 = or i32 %471, %469
  store i32 %472, ptr %468, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.37)
  %473 = getelementptr inbounds i8, ptr %0, i64 12
  %474 = load i32, ptr %473, align 4, !tbaa !17
  %475 = and i32 %474, 256
  %.not6443 = icmp eq i32 %475, 0
  br i1 %.not6443, label %478, label %476

476:                                              ; preds = %465
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.38)
  %477 = getelementptr inbounds i8, ptr %0, i64 127
  store i8 1, ptr %477, align 1, !tbaa !61
  tail call void @rdrq(ptr noundef nonnull %0, i32 noundef 17)
  br label %8870

478:                                              ; preds = %465
  %479 = and i32 %474, 512
  %.not6444 = icmp eq i32 %479, 0
  br i1 %.not6444, label %482, label %480

480:                                              ; preds = %478
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.39)
  %481 = getelementptr inbounds i8, ptr %0, i64 127
  store i8 1, ptr %481, align 1, !tbaa !61
  tail call void @rdwrrq(ptr noundef nonnull %0, i32 noundef 17)
  br label %8870

482:                                              ; preds = %478, %._crit_edge
  %483 = getelementptr inbounds i8, ptr %0, i64 127
  store i8 0, ptr %483, align 1, !tbaa !61
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.40)
  %484 = getelementptr inbounds i8, ptr %0, i64 177
  %485 = load i8, ptr %484, align 1, !tbaa !46, !range !19, !noundef !20
  %486 = trunc nuw i8 %485 to i1
  br i1 %486, label %487, label %497

487:                                              ; preds = %482
  %488 = getelementptr inbounds i8, ptr %0, i64 12
  %489 = load i32, ptr %488, align 4, !tbaa !17
  %490 = and i32 %489, 2
  %.not6445 = icmp eq i32 %490, 0
  br i1 %.not6445, label %496, label %491

491:                                              ; preds = %487
  %492 = getelementptr inbounds i8, ptr %0, i64 178
  %493 = load i8, ptr %492, align 2, !tbaa !52, !range !19, !noundef !20
  %494 = trunc nuw i8 %493 to i1
  %495 = and i32 %489, 32768
  %.not6446 = icmp eq i32 %495, 0
  %or.cond = or i1 %.not6446, %494
  br i1 %or.cond, label %497, label %496

496:                                              ; preds = %491, %487
  tail call void @pi_hold(ptr noundef nonnull %0)
  br label %497

497:                                              ; preds = %496, %491, %482
  %498 = getelementptr inbounds i8, ptr %0, i64 38
  %499 = load i8, ptr %498, align 2, !tbaa !34, !range !19, !noundef !20
  %500 = trunc nuw i8 %499 to i1
  br i1 %500, label %501, label %503

501:                                              ; preds = %497
  %502 = getelementptr inbounds i8, ptr %0, i64 36
  store i8 1, ptr %502, align 4, !tbaa !44
  br label %503

503:                                              ; preds = %501, %497
  %504 = getelementptr inbounds i8, ptr %0, i64 39
  %505 = load i8, ptr %504, align 1, !tbaa !35, !range !19, !noundef !20
  %506 = trunc nuw i8 %505 to i1
  br i1 %506, label %507, label %509

507:                                              ; preds = %503
  %508 = getelementptr inbounds i8, ptr %0, i64 37
  store i8 1, ptr %508, align 1, !tbaa !62
  br label %509

509:                                              ; preds = %507, %503
  %510 = getelementptr inbounds i8, ptr %0, i64 20
  %511 = load i8, ptr %510, align 4, !tbaa !63, !range !19, !noundef !20
  %512 = trunc nuw i8 %511 to i1
  br i1 %512, label %513, label %514

513:                                              ; preds = %509
  tail call void @clr_run(ptr noundef nonnull %0)
  br label %514

514:                                              ; preds = %513, %509
  %515 = load i8, ptr %484, align 1, !tbaa !46, !range !19, !noundef !20
  %516 = trunc nuw i8 %515 to i1
  br i1 %516, label %530, label %517

517:                                              ; preds = %514
  %518 = getelementptr inbounds i8, ptr %0, i64 12
  %519 = load i32, ptr %518, align 4, !tbaa !17
  %520 = and i32 %519, 16384
  %.not6447 = icmp eq i32 %520, 0
  br i1 %.not6447, label %521, label %530

521:                                              ; preds = %517
  %522 = getelementptr inbounds i8, ptr %0, i64 27
  %523 = load i8, ptr %522, align 1, !tbaa !27, !range !19, !noundef !20
  %524 = trunc nuw i8 %523 to i1
  br i1 %524, label %530, label %525

525:                                              ; preds = %521
  %526 = getelementptr inbounds i8, ptr %0, i64 88
  %527 = load i32, ptr %526, align 8, !tbaa !31
  %528 = add i32 %527, 1
  %529 = and i32 %528, 262143
  store i32 %529, ptr %526, align 8, !tbaa !31
  br label %530

530:                                              ; preds = %525, %521, %517, %514
  %531 = getelementptr inbounds i8, ptr %0, i64 217
  store i8 0, ptr %531, align 1, !tbaa !64
  %532 = getelementptr inbounds i8, ptr %0, i64 218
  store i8 0, ptr %532, align 2, !tbaa !65
  %533 = getelementptr inbounds i8, ptr %0, i64 8
  %534 = load i32, ptr %533, align 8, !tbaa !66
  store i32 %534, ptr %11, align 4, !tbaa !16
  br label %8870

535:                                              ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %536 = load i64, ptr @simtime, align 8, !tbaa !13
  %537 = add i64 %536, 100
  store i64 %537, ptr @simtime, align 8, !tbaa !13
  %538 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %538, align 4, !tbaa !30
  %539 = getelementptr inbounds i8, ptr %0, i64 64
  %540 = load i64, ptr %539, align 8, !tbaa !38
  %541 = and i64 %540, 262143
  store i64 %541, ptr %539, align 8, !tbaa !38
  %542 = getelementptr inbounds i8, ptr %0, i64 188
  store i8 1, ptr %542, align 4, !tbaa !41
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %543 = load i64, ptr @simtime, align 8, !tbaa !13
  %544 = add i64 %543, 100
  store i64 %544, ptr @simtime, align 8, !tbaa !13
  %545 = load i32, ptr %538, align 4, !tbaa !30
  %546 = or i32 %545, 32
  store i32 %546, ptr %538, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %547 = getelementptr inbounds i8, ptr %0, i64 100
  %548 = load i32, ptr %547, align 4, !tbaa !53
  %549 = and i32 %548, 262112
  %550 = zext nneg i32 %549 to i64
  %551 = shl nuw nsw i64 %550, 18
  %552 = load i64, ptr %539, align 8, !tbaa !38
  %553 = or i64 %551, %552
  store i64 %553, ptr %539, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.44)
  %554 = getelementptr inbounds i8, ptr %0, i64 131
  store i8 1, ptr %554, align 1, !tbaa !67
  tail call void @wrrq(ptr noundef nonnull %0, i32 noundef 21)
  br label %8870

555:                                              ; preds = %._crit_edge
  %556 = getelementptr inbounds i8, ptr %0, i64 131
  store i8 0, ptr %556, align 1, !tbaa !67
  %557 = getelementptr inbounds i8, ptr %0, i64 92
  %558 = load i32, ptr %557, align 4, !tbaa !30
  %559 = add i32 %558, 1
  %560 = and i32 %559, 262143
  store i32 %560, ptr %557, align 4, !tbaa !30
  tail call void @mr_clr(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.45)
  %561 = load i64, ptr @simtime, align 8, !tbaa !13
  %562 = add i64 %561, 100
  store i64 %562, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.46)
  %563 = getelementptr inbounds i8, ptr %0, i64 122
  store i8 1, ptr %563, align 2, !tbaa !45
  tail call void @rdrq(ptr noundef nonnull %0, i32 noundef 12)
  br label %8870

564:                                              ; preds = %._crit_edge
  %565 = getelementptr inbounds i8, ptr %0, i64 64
  %566 = load i64, ptr %565, align 8, !tbaa !38
  %567 = xor i64 %566, -1
  %568 = lshr i64 %567, 9
  %569 = and i64 %568, 256
  %570 = and i64 %567, 255
  %571 = or disjoint i64 %569, %570
  %572 = getelementptr inbounds i8, ptr %0, i64 108
  %573 = load i32, ptr %572, align 4, !tbaa !68
  %574 = trunc nuw nsw i64 %571 to i32
  %575 = or i32 %573, %574
  store i32 %575, ptr %572, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %576 = load i64, ptr @simtime, align 8, !tbaa !13
  %577 = add i64 %576, 100
  store i64 %577, ptr @simtime, align 8, !tbaa !13
  %578 = getelementptr inbounds i8, ptr %0, i64 40
  %579 = load i64, ptr %578, align 8, !tbaa !33
  %580 = and i64 %579, 34359738368
  %.not6420 = icmp eq i64 %580, 0
  br i1 %.not6420, label %581, label %584

581:                                              ; preds = %564
  %582 = load i32, ptr %572, align 4, !tbaa !68
  %583 = xor i32 %582, 511
  store i32 %583, ptr %572, align 4, !tbaa !68
  br label %584

584:                                              ; preds = %581, %564
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %585 = load i64, ptr @simtime, align 8, !tbaa !13
  %586 = add i64 %585, 100
  store i64 %586, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %587 = load i64, ptr %578, align 8, !tbaa !33
  %588 = and i64 %587, 34359738368
  %.not6421 = icmp eq i64 %588, 0
  br i1 %.not6421, label %593, label %589

589:                                              ; preds = %584
  %590 = load i32, ptr %572, align 4, !tbaa !68
  %591 = add i32 %590, 1
  %592 = and i32 %591, 511
  store i32 %592, ptr %572, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.47)
  br label %593

593:                                              ; preds = %589, %584
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.48)
  %594 = getelementptr inbounds i8, ptr %0, i64 158
  store i8 1, ptr %594, align 2, !tbaa !69
  %595 = load i64, ptr %578, align 8, !tbaa !33
  %596 = lshr i64 %595, 27
  %597 = trunc i64 %596 to i32
  %598 = and i32 %597, 511
  tail call void @sc_add(ptr noundef nonnull %0, i32 noundef %598)
  store i8 0, ptr %594, align 2, !tbaa !69
  %599 = load i64, ptr %578, align 8, !tbaa !33
  %600 = lshr i64 %599, 35
  %601 = trunc nuw nsw i64 %600 to i32
  %602 = load i32, ptr %572, align 4, !tbaa !68
  %603 = lshr i32 %602, 8
  %604 = xor i32 %603, %601
  %605 = and i32 %604, 1
  %.not6422 = icmp eq i32 %605, 0
  br i1 %.not6422, label %607, label %606

606:                                              ; preds = %593
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  %.pre6624 = load i64, ptr %578, align 8, !tbaa !33
  %.pre6625 = load i32, ptr %572, align 4, !tbaa !68
  br label %607

607:                                              ; preds = %606, %593
  %608 = phi i32 [ %.pre6625, %606 ], [ %602, %593 ]
  %609 = phi i64 [ %.pre6624, %606 ], [ %599, %593 ]
  %610 = and i64 %609, -34225520641
  %611 = and i32 %608, 255
  %612 = zext nneg i32 %611 to i64
  %613 = shl nuw nsw i64 %612, 27
  %614 = or disjoint i64 %613, %610
  store i64 %614, ptr %578, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.49)
  br label %8570

615:                                              ; preds = %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %704
  %.str.65.sink = phi ptr [ @.str.65, %704 ], [ @.str.41, %._crit_edge ], [ @.str.41, %._crit_edge ], [ @.str.41, %._crit_edge ], [ @.str.41, %._crit_edge ], [ @.str.41, %._crit_edge ], [ @.str.41, %._crit_edge ], [ @.str.41, %._crit_edge ], [ @.str.41, %._crit_edge ]
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull %.str.65.sink)
  %616 = getelementptr inbounds i8, ptr %0, i64 40
  %617 = load i64, ptr %616, align 8, !tbaa !33
  %618 = getelementptr inbounds i8, ptr %0, i64 64
  %619 = load i64, ptr %618, align 8, !tbaa !38
  %620 = xor i64 %619, %617
  %621 = and i64 %620, 34359738368
  %622 = icmp eq i64 %621, 0
  br i1 %622, label %623, label %627

623:                                              ; preds = %615
  %624 = getelementptr inbounds i8, ptr %0, i64 108
  %625 = load i32, ptr %624, align 4, !tbaa !68
  %626 = xor i32 %625, 511
  store i32 %626, ptr %624, align 4, !tbaa !68
  br label %627

627:                                              ; preds = %623, %615
  %628 = getelementptr inbounds i8, ptr %0, i64 167
  store i8 1, ptr %628, align 1, !tbaa !70
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.50)
  %629 = load i64, ptr @simtime, align 8, !tbaa !13
  %630 = add i64 %629, 100
  store i64 %630, ptr @simtime, align 8, !tbaa !13
  %631 = load i64, ptr %618, align 8, !tbaa !38
  %632 = lshr i64 %631, 27
  %633 = getelementptr inbounds i8, ptr %0, i64 108
  %634 = load i32, ptr %633, align 4, !tbaa !68
  %635 = trunc i64 %632 to i32
  %636 = and i32 %635, 511
  %637 = xor i32 %636, %634
  store i32 %637, ptr %633, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.51)
  store i8 0, ptr %628, align 1, !tbaa !70
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.52)
  %638 = getelementptr inbounds i8, ptr %0, i64 159
  store i8 1, ptr %638, align 1, !tbaa !71
  %639 = load i64, ptr %616, align 8, !tbaa !33
  %640 = lshr i64 %639, 27
  %641 = trunc i64 %640 to i32
  %642 = and i32 %641, 511
  tail call void @sc_add(ptr noundef nonnull %0, i32 noundef %642)
  store i8 0, ptr %638, align 1, !tbaa !71
  %643 = load i64, ptr %616, align 8, !tbaa !33
  %644 = lshr i64 %643, 35
  %645 = trunc nuw nsw i64 %644 to i32
  %646 = load i32, ptr %633, align 4, !tbaa !68
  %647 = lshr i32 %646, 8
  %648 = xor i32 %647, %645
  %649 = and i32 %648, 1
  %650 = icmp eq i32 %649, 0
  br i1 %650, label %651, label %653

651:                                              ; preds = %627
  %652 = load i64, ptr %618, align 8, !tbaa !38
  store i64 %643, ptr %618, align 8, !tbaa !38
  store i64 %652, ptr %616, align 8, !tbaa !33
  br label %653

653:                                              ; preds = %651, %627
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.53)
  %654 = load i32, ptr %633, align 4, !tbaa !68
  %655 = and i32 %654, 256
  %.not6405 = icmp eq i32 %655, 0
  br i1 %.not6405, label %656, label %663

656:                                              ; preds = %653
  %657 = add nuw nsw i32 %654, 1
  %658 = and i32 %657, 511
  store i32 %658, ptr %633, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.54)
  %659 = load i64, ptr @simtime, align 8, !tbaa !13
  %660 = add i64 %659, 150
  store i64 %660, ptr @simtime, align 8, !tbaa !13
  %661 = load i32, ptr %633, align 4, !tbaa !68
  %662 = xor i32 %661, 511
  store i32 %662, ptr %633, align 4, !tbaa !68
  br label %663

663:                                              ; preds = %653, %656
  %.str.56.sink = phi ptr [ @.str.55, %656 ], [ @.str.56, %653 ]
  %.sink6638 = phi i64 [ 150, %656 ], [ 100, %653 ]
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull %.str.56.sink)
  %664 = load i64, ptr @simtime, align 8, !tbaa !13
  %665 = add i64 %664, %.sink6638
  store i64 %665, ptr @simtime, align 8, !tbaa !13
  %666 = load i32, ptr %633, align 4, !tbaa !68
  %667 = and i32 %666, 448
  %668 = icmp eq i32 %667, 448
  br i1 %668, label %669, label %676

669:                                              ; preds = %663
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.57)
  %670 = load i64, ptr %616, align 8, !tbaa !33
  %671 = and i64 %670, 34359738368
  %.not6407 = icmp eq i64 %671, 0
  %672 = or i64 %670, 34225520640
  %673 = and i64 %670, -68585259009
  %674 = select i1 %.not6407, i64 %673, i64 %672
  store i64 %674, ptr %616, align 8, !tbaa !33
  %675 = getelementptr inbounds i8, ptr %0, i64 156
  store i8 1, ptr %675, align 4, !tbaa !72
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @ashcrt)
  store i8 0, ptr %675, align 4, !tbaa !72
  br label %677

676:                                              ; preds = %663
  store i64 0, ptr %616, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.58)
  br label %677

677:                                              ; preds = %676, %669
  store i32 0, ptr %633, align 4, !tbaa !68
  store i8 1, ptr %628, align 1, !tbaa !70
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.59)
  %678 = load i64, ptr @simtime, align 8, !tbaa !13
  %679 = add i64 %678, 100
  store i64 %679, ptr @simtime, align 8, !tbaa !13
  %680 = load i64, ptr %618, align 8, !tbaa !38
  %681 = and i64 %680, 34359738368
  %.not6408 = icmp eq i64 %681, 0
  br i1 %.not6408, label %685, label %682

682:                                              ; preds = %677
  %683 = load i32, ptr %633, align 4, !tbaa !68
  %684 = xor i32 %683, 511
  store i32 %684, ptr %633, align 4, !tbaa !68
  br label %685

685:                                              ; preds = %682, %677
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.60)
  %686 = load i64, ptr @simtime, align 8, !tbaa !13
  %687 = add i64 %686, 100
  store i64 %687, ptr @simtime, align 8, !tbaa !13
  %688 = load i64, ptr %618, align 8, !tbaa !38
  %689 = lshr i64 %688, 27
  %690 = load i32, ptr %633, align 4, !tbaa !68
  %691 = trunc i64 %689 to i32
  %692 = and i32 %691, 511
  %693 = xor i32 %692, %690
  store i32 %693, ptr %633, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.61)
  %694 = load i64, ptr @simtime, align 8, !tbaa !13
  %695 = add i64 %694, 50
  store i64 %695, ptr @simtime, align 8, !tbaa !13
  %696 = load i64, ptr %618, align 8, !tbaa !38
  %697 = and i64 %696, 34359738368
  %.not6409 = icmp eq i64 %697, 0
  %698 = or i64 %696, 34225520640
  %699 = and i64 %696, -68585259009
  %700 = select i1 %.not6409, i64 %699, i64 %698
  store i64 %700, ptr %618, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.62)
  %701 = load i64, ptr @simtime, align 8, !tbaa !13
  %702 = add i64 %701, 100
  store i64 %702, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.63)
  %703 = getelementptr inbounds i8, ptr %0, i64 141
  store i8 1, ptr %703, align 1, !tbaa !73
  tail call void @ar_add(ptr noundef nonnull %0)
  store i8 0, ptr %703, align 1, !tbaa !73
  store i8 0, ptr %628, align 1, !tbaa !70
  br label %747

704:                                              ; preds = %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge
  %705 = getelementptr inbounds i8, ptr %0, i64 64
  %706 = load i64, ptr %705, align 8, !tbaa !38
  %707 = getelementptr inbounds i8, ptr %0, i64 40
  %708 = load i64, ptr %707, align 8, !tbaa !33
  store i64 %708, ptr %705, align 8, !tbaa !38
  store i64 %706, ptr %707, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %709 = load i64, ptr @simtime, align 8, !tbaa !13
  %710 = add i64 %709, 100
  store i64 %710, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %711 = load i64, ptr @simtime, align 8, !tbaa !13
  %712 = add i64 %711, 100
  store i64 %712, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %713 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %713, align 1, !tbaa !74
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %713, align 1, !tbaa !74
  br label %615

714:                                              ; preds = %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.66)
  %715 = getelementptr inbounds i8, ptr %0, i64 162
  store i8 1, ptr %715, align 2, !tbaa !75
  tail call void @exp_calc(ptr noundef nonnull %0, i32 noundef 1)
  store i8 0, ptr %715, align 2, !tbaa !75
  %716 = getelementptr inbounds i8, ptr %0, i64 108
  %717 = load i32, ptr %716, align 4, !tbaa !68
  %718 = or i32 %717, 484
  store i32 %718, ptr %716, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.67)
  %719 = getelementptr inbounds i8, ptr %0, i64 165
  store i8 1, ptr %719, align 1, !tbaa !76
  tail call void @multiply(ptr noundef nonnull %0)
  store i8 0, ptr %719, align 1, !tbaa !76
  %720 = getelementptr inbounds i8, ptr %0, i64 104
  %721 = load i32, ptr %720, align 8, !tbaa !77
  %722 = load i32, ptr %716, align 4, !tbaa !68
  %723 = or i32 %722, %721
  store i32 %723, ptr %716, align 4, !tbaa !68
  %724 = getelementptr inbounds i8, ptr %0, i64 169
  store i8 1, ptr %724, align 1, !tbaa !78
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.68)
  br label %757

725:                                              ; preds = %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.69)
  %726 = getelementptr inbounds i8, ptr %0, i64 163
  store i8 1, ptr %726, align 1, !tbaa !79
  tail call void @exp_calc(ptr noundef nonnull %0, i32 noundef 0)
  store i8 0, ptr %726, align 1, !tbaa !79
  %727 = getelementptr inbounds i8, ptr %0, i64 108
  %728 = load i32, ptr %727, align 4, !tbaa !68
  %729 = or i32 %728, 481
  store i32 %729, ptr %727, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.70)
  %730 = getelementptr inbounds i8, ptr %0, i64 166
  store i8 1, ptr %730, align 2, !tbaa !80
  %731 = getelementptr inbounds i8, ptr %0, i64 40
  %732 = load i64, ptr %731, align 8, !tbaa !33
  %733 = and i64 %732, 34359738368
  %.not6403 = icmp eq i64 %733, 0
  br i1 %.not6403, label %737, label %734

734:                                              ; preds = %725
  %735 = getelementptr inbounds i8, ptr %0, i64 171
  store i8 1, ptr %735, align 1, !tbaa !81
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.71)
  %736 = getelementptr inbounds i8, ptr %0, i64 144
  store i8 1, ptr %736, align 8, !tbaa !82
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %736, align 8, !tbaa !82
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.72)
  br label %737

737:                                              ; preds = %734, %725
  %738 = tail call i32 @divide(ptr noundef nonnull %0)
  %.not6404 = icmp eq i32 %738, 0
  br i1 %.not6404, label %739, label %8632

739:                                              ; preds = %737
  store i8 0, ptr %730, align 2, !tbaa !80
  %740 = getelementptr inbounds i8, ptr %0, i64 104
  %741 = load i32, ptr %740, align 8, !tbaa !77
  %742 = load i32, ptr %727, align 4, !tbaa !68
  %743 = or i32 %742, %741
  store i32 %743, ptr %727, align 4, !tbaa !68
  %744 = getelementptr inbounds i8, ptr %0, i64 169
  store i8 1, ptr %744, align 1, !tbaa !78
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.73)
  %745 = load i64, ptr @simtime, align 8, !tbaa !13
  %746 = add i64 %745, 100
  store i64 %746, ptr @simtime, align 8, !tbaa !13
  tail call void @ashcrt(ptr noundef nonnull %0)
  br label %747

747:                                              ; preds = %825, %739, %685
  %.str.83.sink = phi ptr [ @.str.83, %825 ], [ @.str.74, %739 ], [ @.str.64, %685 ]
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull %.str.83.sink)
  %748 = getelementptr inbounds i8, ptr %0, i64 169
  store i8 1, ptr %748, align 1, !tbaa !78
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.75)
  %749 = load i64, ptr @simtime, align 8, !tbaa !13
  %750 = add i64 %749, 100
  store i64 %750, ptr @simtime, align 8, !tbaa !13
  %751 = getelementptr inbounds i8, ptr %0, i64 108
  %752 = load i32, ptr %751, align 4, !tbaa !68
  %753 = add i32 %752, 1
  %754 = and i32 %753, 511
  store i32 %754, ptr %751, align 4, !tbaa !68
  tail call void @ashcrt(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.76)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.77)
  %755 = load i64, ptr @simtime, align 8, !tbaa !13
  %756 = add i64 %755, 200
  store i64 %756, ptr @simtime, align 8, !tbaa !13
  br label %757

757:                                              ; preds = %747, %714
  %758 = getelementptr inbounds i8, ptr %0, i64 40
  %759 = load i64, ptr %758, align 8, !tbaa !33
  %760 = icmp eq i64 %759, 0
  br i1 %760, label %761, label %765

761:                                              ; preds = %757
  %762 = getelementptr inbounds i8, ptr %0, i64 48
  %763 = load i64, ptr %762, align 8, !tbaa !59
  %764 = and i64 %763, 17179869184
  %.not6410 = icmp eq i64 %764, 0
  br i1 %.not6410, label %835, label %765

765:                                              ; preds = %761, %757
  %766 = getelementptr inbounds i8, ptr %0, i64 108
  %767 = load i32, ptr %766, align 4, !tbaa !68
  %768 = xor i32 %767, 511
  store i32 %768, ptr %766, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.78)
  %769 = load i64, ptr @simtime, align 8, !tbaa !13
  %770 = add i64 %769, 100
  store i64 %770, ptr @simtime, align 8, !tbaa !13
  %771 = load i64, ptr %758, align 8, !tbaa !33
  %772 = and i64 %771, 134217727
  %.not64126563 = icmp eq i64 %772, 67108864
  br i1 %.not64126563, label %.critedge, label %.lr.ph6565

.lr.ph6565:                                       ; preds = %765, %781
  %773 = phi i64 [ %787, %781 ], [ %771, %765 ]
  %774 = lshr i64 %773, 35
  %775 = trunc nuw nsw i64 %774 to i32
  %776 = trunc i64 %773 to i32
  %777 = lshr i32 %776, 26
  %778 = xor i32 %777, %775
  %779 = and i32 %778, 1
  %780 = icmp eq i32 %779, 0
  br i1 %780, label %781, label %.critedge

781:                                              ; preds = %.lr.ph6565
  %782 = load i32, ptr %766, align 4, !tbaa !68
  %783 = add i32 %782, 1
  %784 = and i32 %783, 511
  store i32 %784, ptr %766, align 4, !tbaa !68
  tail call void @ashclt(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.79)
  %785 = load i64, ptr @simtime, align 8, !tbaa !13
  %786 = add i64 %785, 150
  store i64 %786, ptr @simtime, align 8, !tbaa !13
  %787 = load i64, ptr %758, align 8, !tbaa !33
  %788 = and i64 %787, 134217727
  %.not6412 = icmp eq i64 %788, 67108864
  br i1 %.not6412, label %.critedge, label %.lr.ph6565, !llvm.loop !83

.critedge:                                        ; preds = %.lr.ph6565, %781, %765
  %789 = phi i64 [ %771, %765 ], [ %773, %.lr.ph6565 ], [ %787, %781 ]
  %790 = load i32, ptr %766, align 4, !tbaa !68
  %791 = and i32 %790, 256
  %.not6413 = icmp eq i32 %791, 0
  br i1 %.not6413, label %792, label %793

792:                                              ; preds = %.critedge
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  %.pre6623 = load i64, ptr %758, align 8, !tbaa !33
  br label %793

793:                                              ; preds = %792, %.critedge
  %794 = phi i64 [ %.pre6623, %792 ], [ %789, %.critedge ]
  %795 = and i64 %794, 34359738368
  %.not6414 = icmp eq i64 %795, 0
  br i1 %.not6414, label %808, label %796

796:                                              ; preds = %793
  %797 = getelementptr inbounds i8, ptr %0, i64 170
  %798 = load i8, ptr %797, align 2, !tbaa !84, !range !19, !noundef !20
  %799 = trunc nuw i8 %798 to i1
  br i1 %799, label %811, label %800

800:                                              ; preds = %796
  %801 = getelementptr inbounds i8, ptr %0, i64 100
  %802 = load i32, ptr %801, align 4, !tbaa !53
  %803 = and i32 %802, 2048
  %.not6415 = icmp eq i32 %803, 0
  br i1 %.not6415, label %811, label %804

804:                                              ; preds = %800
  %805 = getelementptr inbounds i8, ptr %0, i64 48
  %806 = load i64, ptr %805, align 8, !tbaa !59
  %807 = and i64 %806, 17179869184
  %.not6416 = icmp eq i64 %807, 0
  br i1 %.not6416, label %811, label %808

808:                                              ; preds = %804, %793
  %809 = load i32, ptr %766, align 4, !tbaa !68
  %810 = xor i32 %809, 511
  store i32 %810, ptr %766, align 4, !tbaa !68
  br label %811

811:                                              ; preds = %808, %804, %800, %796
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.80)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.81)
  %812 = load i64, ptr @simtime, align 8, !tbaa !13
  %813 = add i64 %812, 100
  store i64 %813, ptr @simtime, align 8, !tbaa !13
  %814 = getelementptr inbounds i8, ptr %0, i64 170
  %815 = load i8, ptr %814, align 2, !tbaa !84, !range !19, !noundef !20
  %816 = trunc nuw i8 %815 to i1
  br i1 %816, label %827, label %817

817:                                              ; preds = %811
  %818 = getelementptr inbounds i8, ptr %0, i64 100
  %819 = load i32, ptr %818, align 4, !tbaa !53
  %820 = and i32 %819, 2048
  %.not6417 = icmp eq i32 %820, 0
  br i1 %.not6417, label %827, label %821

821:                                              ; preds = %817
  %822 = getelementptr inbounds i8, ptr %0, i64 48
  %823 = load i64, ptr %822, align 8, !tbaa !59
  %824 = and i64 %823, 17179869184
  %.not6418 = icmp eq i64 %824, 0
  br i1 %.not6418, label %827, label %825

825:                                              ; preds = %821
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.82)
  %826 = getelementptr inbounds i8, ptr %0, i64 143
  store i8 1, ptr %826, align 1, !tbaa !85
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %826, align 1, !tbaa !85
  store i8 1, ptr %814, align 2, !tbaa !84
  br label %747

827:                                              ; preds = %821, %817, %811
  %828 = load i64, ptr %758, align 8, !tbaa !33
  %829 = and i64 %828, -34225520641
  %830 = load i32, ptr %766, align 4, !tbaa !68
  %831 = and i32 %830, 255
  %832 = zext nneg i32 %831 to i64
  %833 = shl nuw nsw i64 %832, 27
  %834 = or disjoint i64 %833, %829
  store i64 %834, ptr %758, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.84)
  br label %835

835:                                              ; preds = %761, %1035, %1008, %827
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.85)
  %836 = getelementptr inbounds i8, ptr %0, i64 12
  %837 = load i32, ptr %836, align 4, !tbaa !17
  %838 = and i32 %837, 8192
  %.not6419 = icmp eq i32 %838, 0
  br i1 %.not6419, label %8570, label %839

839:                                              ; preds = %835
  %840 = getelementptr inbounds i8, ptr %0, i64 40
  %841 = load i64, ptr %840, align 8, !tbaa !33
  %842 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %841, ptr %842, align 8, !tbaa !38
  br label %8570

843:                                              ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %844 = getelementptr inbounds i8, ptr %0, i64 64
  %845 = load i64, ptr %844, align 8, !tbaa !38
  %846 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %845, ptr %846, align 8, !tbaa !33
  %847 = getelementptr inbounds i8, ptr %0, i64 168
  store i8 1, ptr %847, align 8, !tbaa !86
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.86)
  %848 = load i64, ptr @simtime, align 8, !tbaa !13
  %849 = add i64 %848, 100
  store i64 %849, ptr @simtime, align 8, !tbaa !13
  %850 = load i64, ptr %844, align 8, !tbaa !38
  %851 = xor i64 %850, -1
  %852 = lshr i64 %851, 30
  %853 = getelementptr inbounds i8, ptr %0, i64 108
  %854 = load i32, ptr %853, align 4, !tbaa !68
  %855 = trunc i64 %852 to i32
  %856 = and i32 %855, 63
  %857 = or disjoint i32 %856, 448
  %858 = xor i32 %857, %854
  store i32 %858, ptr %853, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.87)
  %859 = getelementptr inbounds i8, ptr %0, i64 157
  %860 = getelementptr inbounds i8, ptr %0, i64 138
  br label %861

861:                                              ; preds = %868, %843
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.88)
  store i8 1, ptr %859, align 1, !tbaa !87
  %862 = load i64, ptr %844, align 8, !tbaa !38
  %863 = trunc i64 %862 to i32
  %864 = lshr i32 %863, 24
  %865 = and i32 %864, 63
  tail call void @sc_add(ptr noundef nonnull %0, i32 noundef %865)
  store i8 0, ptr %859, align 1, !tbaa !87
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.89)
  %866 = load i32, ptr %853, align 4, !tbaa !68
  %867 = and i32 %866, 256
  %.not6402 = icmp eq i32 %867, 0
  br i1 %.not6402, label %868, label %871

868:                                              ; preds = %861
  store i32 0, ptr %853, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.90)
  store i8 1, ptr %860, align 2, !tbaa !88
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %860, align 2, !tbaa !88
  %869 = load i32, ptr %853, align 4, !tbaa !68
  %870 = or i32 %869, 283
  store i32 %870, ptr %853, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.91)
  br label %861

871:                                              ; preds = %861
  %872 = xor i32 %866, 511
  store i32 %872, ptr %853, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.92)
  %873 = load i64, ptr @simtime, align 8, !tbaa !13
  %874 = add i64 %873, 100
  store i64 %874, ptr @simtime, align 8, !tbaa !13
  %875 = load i64, ptr %846, align 8, !tbaa !33
  %876 = and i64 %875, -67645734913
  %877 = load i32, ptr %853, align 4, !tbaa !68
  %878 = and i32 %877, 63
  %879 = zext nneg i32 %878 to i64
  %880 = shl nuw nsw i64 %879, 30
  %881 = or disjoint i64 %880, %876
  store i64 %881, ptr %846, align 8, !tbaa !33
  store i32 0, ptr %853, align 4, !tbaa !68
  br label %883

882:                                              ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  br label %883

883:                                              ; preds = %871, %882
  %884 = getelementptr inbounds i8, ptr %0, i64 157
  store i8 1, ptr %884, align 1, !tbaa !87
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.93)
  %885 = load i64, ptr @simtime, align 8, !tbaa !13
  %886 = add i64 %885, 150
  store i64 %886, ptr @simtime, align 8, !tbaa !13
  %887 = getelementptr inbounds i8, ptr %0, i64 64
  %888 = load i64, ptr %887, align 8, !tbaa !38
  %889 = getelementptr inbounds i8, ptr %0, i64 108
  %890 = load i32, ptr %889, align 4, !tbaa !68
  %891 = trunc i64 %888 to i32
  %892 = lshr i32 %891, 24
  %893 = and i32 %892, 63
  %894 = xor i32 %893, %890
  store i32 %894, ptr %889, align 4, !tbaa !68
  %895 = load i32, ptr %11, align 4, !tbaa !16
  %896 = icmp eq i32 %895, 24
  br i1 %896, label %897, label %900

897:                                              ; preds = %883
  %898 = getelementptr inbounds i8, ptr %0, i64 40
  %899 = load i64, ptr %898, align 8, !tbaa !33
  store i64 %899, ptr %887, align 8, !tbaa !38
  store i64 %888, ptr %898, align 8, !tbaa !33
  br label %900

900:                                              ; preds = %897, %883
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.94)
  %901 = load i64, ptr @simtime, align 8, !tbaa !13
  %902 = add i64 %901, 100
  store i64 %902, ptr @simtime, align 8, !tbaa !13
  %903 = load i32, ptr %11, align 4, !tbaa !16
  %904 = icmp eq i32 %903, 24
  br i1 %904, label %905, label %907

905:                                              ; preds = %900
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.95)
  %906 = getelementptr inbounds i8, ptr %0, i64 134
  store i8 1, ptr %906, align 2, !tbaa !89
  tail call void @wrrs(ptr noundef nonnull %0, i32 noundef 28)
  br label %8870

907:                                              ; preds = %900, %._crit_edge
  %908 = getelementptr inbounds i8, ptr %0, i64 134
  store i8 0, ptr %908, align 2, !tbaa !89
  %909 = getelementptr inbounds i8, ptr %0, i64 157
  store i8 0, ptr %909, align 1, !tbaa !87
  %910 = getelementptr inbounds i8, ptr %0, i64 64
  %911 = load i64, ptr %910, align 8, !tbaa !38
  %912 = lshr i64 %911, 30
  %913 = getelementptr inbounds i8, ptr %0, i64 104
  %914 = load i32, ptr %913, align 8, !tbaa !77
  %915 = trunc i64 %912 to i32
  %916 = and i32 %915, 63
  %917 = or i32 %916, %914
  store i32 %917, ptr %913, align 8, !tbaa !77
  %918 = getelementptr inbounds i8, ptr %0, i64 108
  %919 = load i32, ptr %918, align 4, !tbaa !68
  %920 = xor i32 %919, 511
  store i32 %920, ptr %918, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.96)
  %921 = getelementptr inbounds i8, ptr %0, i64 100
  %922 = load i32, ptr %921, align 4, !tbaa !53
  %923 = and i32 %922, 261632
  %924 = icmp eq i32 %923, 46592
  br i1 %924, label %8632, label %925

925:                                              ; preds = %907
  %926 = getelementptr inbounds i8, ptr %0, i64 153
  store i8 1, ptr %926, align 1, !tbaa !90
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @char_first)
  store i8 0, ptr %926, align 1, !tbaa !90
  store i32 0, ptr %918, align 4, !tbaa !68
  %927 = load i32, ptr %921, align 4, !tbaa !53
  %928 = and i32 %927, -32
  store i32 %928, ptr %921, align 4, !tbaa !53
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.97)
  %929 = load i64, ptr @simtime, align 8, !tbaa !13
  %930 = add i64 %929, 100
  store i64 %930, ptr @simtime, align 8, !tbaa !13
  %931 = load i32, ptr %913, align 8, !tbaa !77
  %932 = load i32, ptr %918, align 4, !tbaa !68
  %933 = or i32 %932, %931
  store i32 %933, ptr %918, align 4, !tbaa !68
  %934 = getelementptr inbounds i8, ptr %0, i64 174
  store i8 1, ptr %934, align 2, !tbaa !91
  %935 = getelementptr inbounds i8, ptr %0, i64 175
  store i8 1, ptr %935, align 1, !tbaa !92
  br label %.sink.split6635

936:                                              ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %937 = getelementptr inbounds i8, ptr %0, i64 64
  %938 = load i64, ptr %937, align 8, !tbaa !38
  %939 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %938, ptr %939, align 8, !tbaa !33
  %940 = getelementptr inbounds i8, ptr %0, i64 48
  %941 = load i64, ptr %940, align 8, !tbaa !59
  store i64 %941, ptr %937, align 8, !tbaa !38
  %942 = getelementptr inbounds i8, ptr %0, i64 108
  %943 = load i32, ptr %942, align 4, !tbaa !68
  %944 = xor i32 %943, 511
  store i32 %944, ptr %942, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.99)
  %945 = getelementptr inbounds i8, ptr %0, i64 154
  store i8 1, ptr %945, align 2, !tbaa !93
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @lshrt)
  store i8 0, ptr %945, align 2, !tbaa !93
  %946 = load i64, ptr %937, align 8, !tbaa !38
  %947 = load i64, ptr %939, align 8, !tbaa !33
  %948 = and i64 %947, %946
  store i64 %948, ptr %939, align 8, !tbaa !33
  %949 = getelementptr inbounds i8, ptr %0, i64 175
  store i8 0, ptr %949, align 1, !tbaa !92
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.100)
  br label %8570

950:                                              ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %951 = getelementptr inbounds i8, ptr %0, i64 108
  %952 = load i32, ptr %951, align 4, !tbaa !68
  %953 = xor i32 %952, 511
  store i32 %953, ptr %951, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.101)
  %954 = getelementptr inbounds i8, ptr %0, i64 155
  store i8 1, ptr %954, align 1, !tbaa !94
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @ch_dep)
  store i8 0, ptr %954, align 1, !tbaa !94
  %955 = getelementptr inbounds i8, ptr %0, i64 64
  %956 = load i64, ptr %955, align 8, !tbaa !38
  %957 = getelementptr inbounds i8, ptr %0, i64 48
  %958 = load i64, ptr %957, align 8, !tbaa !59
  store i64 %958, ptr %955, align 8, !tbaa !38
  %959 = or i64 %958, %956
  store i64 %959, ptr %957, align 8, !tbaa !59
  %960 = getelementptr inbounds i8, ptr %0, i64 40
  %961 = load i64, ptr %960, align 8, !tbaa !33
  %962 = xor i64 %961, 68719476735
  store i64 %962, ptr %960, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.102)
  %963 = load i64, ptr @simtime, align 8, !tbaa !13
  %964 = add i64 %963, 150
  store i64 %964, ptr @simtime, align 8, !tbaa !13
  %965 = load i64, ptr %955, align 8, !tbaa !38
  %966 = load i64, ptr %960, align 8, !tbaa !33
  %967 = and i64 %966, %965
  store i64 %967, ptr %960, align 8, !tbaa !33
  %968 = load i64, ptr %957, align 8, !tbaa !59
  store i64 %968, ptr %955, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.103)
  %969 = load i64, ptr @simtime, align 8, !tbaa !13
  %970 = add i64 %969, 100
  store i64 %970, ptr @simtime, align 8, !tbaa !13
  %971 = load i64, ptr %960, align 8, !tbaa !33
  %972 = xor i64 %971, 68719476735
  store i64 %972, ptr %960, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.104)
  %973 = load i64, ptr @simtime, align 8, !tbaa !13
  %974 = add i64 %973, 100
  store i64 %974, ptr @simtime, align 8, !tbaa !13
  %975 = load i64, ptr %960, align 8, !tbaa !33
  %976 = load i64, ptr %955, align 8, !tbaa !38
  %977 = and i64 %976, %975
  store i64 %977, ptr %955, align 8, !tbaa !38
  %978 = getelementptr inbounds i8, ptr %0, i64 175
  store i8 0, ptr %978, align 1, !tbaa !92
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.105)
  br label %8570

979:                                              ; preds = %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %980 = getelementptr inbounds i8, ptr %0, i64 108
  %981 = load i32, ptr %980, align 4, !tbaa !68
  %982 = or i32 %981, 476
  store i32 %982, ptr %980, align 4, !tbaa !68
  %983 = getelementptr inbounds i8, ptr %0, i64 64
  %984 = load i64, ptr %983, align 8, !tbaa !38
  %985 = getelementptr inbounds i8, ptr %0, i64 40
  %986 = load i64, ptr %985, align 8, !tbaa !33
  %987 = and i64 %984, 34359738368
  %988 = and i64 %987, %986
  %.not6399 = icmp eq i64 %988, 0
  br i1 %.not6399, label %991, label %989

989:                                              ; preds = %979
  %990 = getelementptr inbounds i8, ptr %0, i64 172
  store i8 1, ptr %990, align 4, !tbaa !95
  br label %991

991:                                              ; preds = %989, %979
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.106)
  %992 = getelementptr inbounds i8, ptr %0, i64 164
  store i8 1, ptr %992, align 4, !tbaa !96
  tail call void @multiply(ptr noundef nonnull %0)
  store i8 0, ptr %992, align 4, !tbaa !96
  %993 = load i64, ptr %985, align 8, !tbaa !33
  %994 = and i64 %993, 34359738368
  %.not6400 = icmp eq i64 %994, 0
  br i1 %.not6400, label %1003, label %995

995:                                              ; preds = %991
  %996 = getelementptr inbounds i8, ptr %0, i64 172
  %997 = load i8, ptr %996, align 4, !tbaa !95, !range !19, !noundef !20
  %998 = trunc nuw i8 %997 to i1
  br i1 %998, label %999, label %1000

999:                                              ; preds = %995
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  %.pre6622 = load i64, ptr %985, align 8, !tbaa !33
  br label %1000

1000:                                             ; preds = %999, %995
  %1001 = phi i64 [ %.pre6622, %999 ], [ %993, %995 ]
  %1002 = xor i64 %1001, 68719476735
  store i64 %1002, ptr %985, align 8, !tbaa !33
  br label %1003

1003:                                             ; preds = %1000, %991
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.107)
  %1004 = getelementptr inbounds i8, ptr %0, i64 48
  %1005 = load i64, ptr %1004, align 8, !tbaa !59
  store i64 %1005, ptr %983, align 8, !tbaa !38
  %1006 = load i64, ptr %985, align 8, !tbaa !33
  %.not6401 = icmp eq i64 %1006, 0
  br i1 %.not6401, label %1008, label %1007

1007:                                             ; preds = %1003
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1008

1008:                                             ; preds = %1007, %1003
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.108)
  %1009 = load i64, ptr @simtime, align 8, !tbaa !13
  %1010 = add i64 %1009, 100
  store i64 %1010, ptr @simtime, align 8, !tbaa !13
  %1011 = load i64, ptr %983, align 8, !tbaa !38
  store i64 %1011, ptr %985, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.109)
  %1012 = load i64, ptr @simtime, align 8, !tbaa !13
  %1013 = add i64 %1012, 100
  store i64 %1013, ptr @simtime, align 8, !tbaa !13
  br label %835

1014:                                             ; preds = %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1015 = getelementptr inbounds i8, ptr %0, i64 108
  %1016 = load i32, ptr %1015, align 4, !tbaa !68
  %1017 = or i32 %1016, 476
  store i32 %1017, ptr %1015, align 4, !tbaa !68
  %1018 = getelementptr inbounds i8, ptr %0, i64 64
  %1019 = load i64, ptr %1018, align 8, !tbaa !38
  %1020 = getelementptr inbounds i8, ptr %0, i64 40
  %1021 = load i64, ptr %1020, align 8, !tbaa !33
  %1022 = and i64 %1019, 34359738368
  %1023 = and i64 %1022, %1021
  %.not6397 = icmp eq i64 %1023, 0
  br i1 %.not6397, label %1026, label %1024

1024:                                             ; preds = %1014
  %1025 = getelementptr inbounds i8, ptr %0, i64 172
  store i8 1, ptr %1025, align 4, !tbaa !95
  br label %1026

1026:                                             ; preds = %1024, %1014
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.106)
  %1027 = getelementptr inbounds i8, ptr %0, i64 164
  store i8 1, ptr %1027, align 4, !tbaa !96
  tail call void @multiply(ptr noundef nonnull %0)
  store i8 0, ptr %1027, align 4, !tbaa !96
  %1028 = load i64, ptr %1020, align 8, !tbaa !33
  %1029 = and i64 %1028, 34359738368
  %.not6398 = icmp eq i64 %1029, 0
  br i1 %.not6398, label %1035, label %1030

1030:                                             ; preds = %1026
  %1031 = getelementptr inbounds i8, ptr %0, i64 172
  %1032 = load i8, ptr %1031, align 4, !tbaa !95, !range !19, !noundef !20
  %1033 = trunc nuw i8 %1032 to i1
  br i1 %1033, label %1034, label %1035

1034:                                             ; preds = %1030
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1035

1035:                                             ; preds = %1030, %1034, %1026
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.107)
  br label %835

1036:                                             ; preds = %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1037 = getelementptr inbounds i8, ptr %0, i64 108
  %1038 = load i32, ptr %1037, align 4, !tbaa !68
  %1039 = or i32 %1038, 475
  store i32 %1039, ptr %1037, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.110)
  %1040 = getelementptr inbounds i8, ptr %0, i64 40
  %1041 = load i64, ptr %1040, align 8, !tbaa !33
  %1042 = and i64 %1041, 34359738368
  %.not6394 = icmp eq i64 %1042, 0
  br i1 %.not6394, label %1046, label %1043

1043:                                             ; preds = %1036
  %1044 = getelementptr inbounds i8, ptr %0, i64 171
  store i8 1, ptr %1044, align 1, !tbaa !81
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.71)
  %1045 = getelementptr inbounds i8, ptr %0, i64 144
  store i8 1, ptr %1045, align 8, !tbaa !82
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1045, align 8, !tbaa !82
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.72)
  %.pre6621 = load i64, ptr %1040, align 8, !tbaa !33
  br label %1046

1046:                                             ; preds = %1043, %1036
  %1047 = phi i64 [ %.pre6621, %1043 ], [ %1041, %1036 ]
  %1048 = getelementptr inbounds i8, ptr %0, i64 64
  %1049 = load i64, ptr %1048, align 8, !tbaa !38
  %1050 = getelementptr inbounds i8, ptr %0, i64 48
  store i64 %1049, ptr %1050, align 8, !tbaa !59
  store i64 %1047, ptr %1048, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.111)
  %1051 = load i64, ptr @simtime, align 8, !tbaa !13
  %1052 = add i64 %1051, 150
  store i64 %1052, ptr @simtime, align 8, !tbaa !13
  %1053 = load i64, ptr %1048, align 8, !tbaa !38
  %1054 = load i64, ptr %1050, align 8, !tbaa !59
  store i64 %1054, ptr %1048, align 8, !tbaa !38
  store i64 %1053, ptr %1050, align 8, !tbaa !59
  store i64 0, ptr %1040, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.112)
  br label %1091

1055:                                             ; preds = %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1056 = getelementptr inbounds i8, ptr %0, i64 108
  %1057 = load i32, ptr %1056, align 4, !tbaa !68
  %1058 = or i32 %1057, 475
  store i32 %1058, ptr %1056, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.110)
  %1059 = getelementptr inbounds i8, ptr %0, i64 40
  %1060 = load i64, ptr %1059, align 8, !tbaa !33
  %1061 = and i64 %1060, 34359738368
  %.not6392 = icmp eq i64 %1061, 0
  br i1 %.not6392, label %1091, label %1062

1062:                                             ; preds = %1055
  %1063 = getelementptr inbounds i8, ptr %0, i64 64
  %1064 = load i64, ptr %1063, align 8, !tbaa !38
  %1065 = getelementptr inbounds i8, ptr %0, i64 48
  %1066 = load i64, ptr %1065, align 8, !tbaa !59
  store i64 %1066, ptr %1063, align 8, !tbaa !38
  store i64 %1064, ptr %1065, align 8, !tbaa !59
  %1067 = getelementptr inbounds i8, ptr %0, i64 171
  store i8 1, ptr %1067, align 1, !tbaa !81
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.113)
  %1068 = load i64, ptr @simtime, align 8, !tbaa !13
  %1069 = add i64 %1068, 100
  store i64 %1069, ptr @simtime, align 8, !tbaa !13
  %1070 = load i64, ptr %1063, align 8, !tbaa !38
  %1071 = load i64, ptr %1059, align 8, !tbaa !33
  store i64 %1071, ptr %1063, align 8, !tbaa !38
  store i64 %1070, ptr %1059, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.114)
  %1072 = load i64, ptr @simtime, align 8, !tbaa !13
  %1073 = add i64 %1072, 100
  store i64 %1073, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.115)
  %1074 = getelementptr inbounds i8, ptr %0, i64 145
  store i8 1, ptr %1074, align 1, !tbaa !97
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1074, align 1, !tbaa !97
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.116)
  %1075 = load i64, ptr %1059, align 8, !tbaa !33
  %1076 = and i64 %1075, 34359738367
  %.not6393 = icmp eq i64 %1076, 0
  %1077 = load i64, ptr %1063, align 8, !tbaa !38
  store i64 %1075, ptr %1063, align 8, !tbaa !38
  store i64 %1077, ptr %1059, align 8, !tbaa !33
  br i1 %.not6393, label %1085, label %1078

1078:                                             ; preds = %1062
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.117)
  %1079 = load i64, ptr @simtime, align 8, !tbaa !13
  %1080 = add i64 %1079, 100
  store i64 %1080, ptr @simtime, align 8, !tbaa !13
  %1081 = load i64, ptr %1063, align 8, !tbaa !38
  %1082 = load i64, ptr %1065, align 8, !tbaa !59
  store i64 %1082, ptr %1063, align 8, !tbaa !38
  store i64 %1081, ptr %1065, align 8, !tbaa !59
  %1083 = load i64, ptr %1059, align 8, !tbaa !33
  %1084 = xor i64 %1083, 68719476735
  store i64 %1084, ptr %1059, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.118)
  br label %1091

1085:                                             ; preds = %1062
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.119)
  %1086 = load i64, ptr @simtime, align 8, !tbaa !13
  %1087 = add i64 %1086, 100
  store i64 %1087, ptr @simtime, align 8, !tbaa !13
  %1088 = load i64, ptr %1063, align 8, !tbaa !38
  %1089 = load i64, ptr %1065, align 8, !tbaa !59
  store i64 %1089, ptr %1063, align 8, !tbaa !38
  store i64 %1088, ptr %1065, align 8, !tbaa !59
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.120)
  %1090 = getelementptr inbounds i8, ptr %0, i64 146
  store i8 1, ptr %1090, align 2, !tbaa !98
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1090, align 2, !tbaa !98
  br label %1091

1091:                                             ; preds = %1055, %1085, %1078, %1046
  %1092 = tail call i32 @divide(ptr noundef nonnull %0)
  %.not6395 = icmp eq i32 %1092, 0
  br i1 %.not6395, label %1093, label %8632

1093:                                             ; preds = %1091
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1094 = load i64, ptr @simtime, align 8, !tbaa !13
  %1095 = add i64 %1094, 200
  store i64 %1095, ptr @simtime, align 8, !tbaa !13
  %1096 = getelementptr inbounds i8, ptr %0, i64 12
  %1097 = load i32, ptr %1096, align 4, !tbaa !17
  %1098 = and i32 %1097, 8192
  %.not6396 = icmp eq i32 %1098, 0
  br i1 %.not6396, label %8570, label %1099

1099:                                             ; preds = %1093
  %1100 = getelementptr inbounds i8, ptr %0, i64 40
  %1101 = load i64, ptr %1100, align 8, !tbaa !33
  %1102 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1101, ptr %1102, align 8, !tbaa !38
  br label %8570

1103:                                             ; preds = %._crit_edge
  %1104 = getelementptr inbounds i8, ptr %0, i64 64
  %1105 = load i64, ptr %1104, align 8, !tbaa !38
  %1106 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %1105, ptr %1106, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1107 = load i64, ptr @simtime, align 8, !tbaa !13
  %1108 = add i64 %1107, 100
  store i64 %1108, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1109 = load i64, ptr @simtime, align 8, !tbaa !13
  %1110 = add i64 %1109, 100
  store i64 %1110, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1111 = load i64, ptr @simtime, align 8, !tbaa !13
  %1112 = add i64 %1111, 100
  store i64 %1112, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1113 = getelementptr inbounds i8, ptr %0, i64 217
  %1114 = load i8, ptr %1113, align 1, !tbaa !64, !range !19, !noundef !20
  %1115 = trunc nuw i8 %1114 to i1
  br i1 %1115, label %8570, label %1116

1116:                                             ; preds = %1103
  %1117 = getelementptr inbounds i8, ptr %0, i64 218
  %1118 = load i8, ptr %1117, align 2, !tbaa !65, !range !19, !noundef !20
  %1119 = trunc nuw i8 %1118 to i1
  br i1 %1119, label %1120, label %8570

1120:                                             ; preds = %1116
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %8570

1121:                                             ; preds = %._crit_edge
  %1122 = getelementptr inbounds i8, ptr %0, i64 40
  %1123 = load i64, ptr %1122, align 8, !tbaa !33
  %1124 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1123, ptr %1124, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1125 = load i64, ptr @simtime, align 8, !tbaa !13
  %1126 = add i64 %1125, 100
  store i64 %1126, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1127 = load i64, ptr @simtime, align 8, !tbaa !13
  %1128 = add i64 %1127, 100
  store i64 %1128, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1129 = load i64, ptr @simtime, align 8, !tbaa !13
  %1130 = add i64 %1129, 100
  store i64 %1130, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1131 = getelementptr inbounds i8, ptr %0, i64 217
  %1132 = load i8, ptr %1131, align 1, !tbaa !64, !range !19, !noundef !20
  %1133 = trunc nuw i8 %1132 to i1
  br i1 %1133, label %8570, label %1134

1134:                                             ; preds = %1121
  %1135 = getelementptr inbounds i8, ptr %0, i64 218
  %1136 = load i8, ptr %1135, align 2, !tbaa !65, !range !19, !noundef !20
  %1137 = trunc nuw i8 %1136 to i1
  br i1 %1137, label %1138, label %8570

1138:                                             ; preds = %1134
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %8570

1139:                                             ; preds = %._crit_edge
  %1140 = getelementptr inbounds i8, ptr %0, i64 40
  %1141 = load i64, ptr %1140, align 8, !tbaa !33
  %1142 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1141, ptr %1142, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1143 = load i64, ptr @simtime, align 8, !tbaa !13
  %1144 = add i64 %1143, 100
  store i64 %1144, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1145 = load i64, ptr @simtime, align 8, !tbaa !13
  %1146 = add i64 %1145, 100
  store i64 %1146, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1147 = load i64, ptr @simtime, align 8, !tbaa !13
  %1148 = add i64 %1147, 100
  store i64 %1148, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1149 = getelementptr inbounds i8, ptr %0, i64 217
  %1150 = load i8, ptr %1149, align 1, !tbaa !64, !range !19, !noundef !20
  %1151 = trunc nuw i8 %1150 to i1
  br i1 %1151, label %1157, label %1152

1152:                                             ; preds = %1139
  %1153 = getelementptr inbounds i8, ptr %0, i64 218
  %1154 = load i8, ptr %1153, align 2, !tbaa !65, !range !19, !noundef !20
  %1155 = trunc nuw i8 %1154 to i1
  br i1 %1155, label %1156, label %1157

1156:                                             ; preds = %1152
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1157

1157:                                             ; preds = %1156, %1152, %1139
  %1158 = load i64, ptr %1140, align 8, !tbaa !33
  store i64 %1158, ptr %1142, align 8, !tbaa !38
  br label %8570

1159:                                             ; preds = %._crit_edge
  %1160 = getelementptr inbounds i8, ptr %0, i64 64
  %1161 = load i64, ptr %1160, align 8, !tbaa !38
  %1162 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %1161, ptr %1162, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1163 = load i64, ptr @simtime, align 8, !tbaa !13
  %1164 = add i64 %1163, 100
  store i64 %1164, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1165 = load i64, ptr @simtime, align 8, !tbaa !13
  %1166 = add i64 %1165, 100
  store i64 %1166, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1167 = load i64, ptr @simtime, align 8, !tbaa !13
  %1168 = add i64 %1167, 100
  store i64 %1168, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1169 = getelementptr inbounds i8, ptr %0, i64 217
  %1170 = load i8, ptr %1169, align 1, !tbaa !64, !range !19, !noundef !20
  %1171 = trunc nuw i8 %1170 to i1
  br i1 %1171, label %1177, label %1172

1172:                                             ; preds = %1159
  %1173 = getelementptr inbounds i8, ptr %0, i64 218
  %1174 = load i8, ptr %1173, align 2, !tbaa !65, !range !19, !noundef !20
  %1175 = trunc nuw i8 %1174 to i1
  br i1 %1175, label %1176, label %1177

1176:                                             ; preds = %1172
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1177

1177:                                             ; preds = %1176, %1172, %1159
  %1178 = load i64, ptr %1162, align 8, !tbaa !33
  store i64 %1178, ptr %1160, align 8, !tbaa !38
  br label %8570

1179:                                             ; preds = %._crit_edge
  %1180 = getelementptr inbounds i8, ptr %0, i64 64
  %1181 = load i64, ptr %1180, align 8, !tbaa !38
  %1182 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %1181, ptr %1182, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1183 = load i64, ptr @simtime, align 8, !tbaa !13
  %1184 = add i64 %1183, 100
  store i64 %1184, ptr @simtime, align 8, !tbaa !13
  %1185 = load i64, ptr %1180, align 8, !tbaa !38
  %1186 = shl i64 %1185, 18
  %1187 = lshr i64 %1185, 18
  %1188 = or i64 %1186, %1187
  %1189 = and i64 %1188, 68719476735
  store i64 %1189, ptr %1180, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1190 = load i64, ptr @simtime, align 8, !tbaa !13
  %1191 = add i64 %1190, 100
  store i64 %1191, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1192 = load i64, ptr %1180, align 8, !tbaa !38
  %1193 = load i64, ptr %1182, align 8, !tbaa !33
  store i64 %1193, ptr %1180, align 8, !tbaa !38
  store i64 %1192, ptr %1182, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1194 = load i64, ptr @simtime, align 8, !tbaa !13
  %1195 = add i64 %1194, 100
  store i64 %1195, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1196 = getelementptr inbounds i8, ptr %0, i64 217
  %1197 = load i8, ptr %1196, align 1, !tbaa !64, !range !19, !noundef !20
  %1198 = trunc nuw i8 %1197 to i1
  br i1 %1198, label %8570, label %1199

1199:                                             ; preds = %1179
  %1200 = getelementptr inbounds i8, ptr %0, i64 218
  %1201 = load i8, ptr %1200, align 2, !tbaa !65, !range !19, !noundef !20
  %1202 = trunc nuw i8 %1201 to i1
  br i1 %1202, label %1203, label %8570

1203:                                             ; preds = %1199
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %8570

1204:                                             ; preds = %._crit_edge
  %1205 = getelementptr inbounds i8, ptr %0, i64 40
  %1206 = load i64, ptr %1205, align 8, !tbaa !33
  %1207 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1206, ptr %1207, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1208 = load i64, ptr @simtime, align 8, !tbaa !13
  %1209 = add i64 %1208, 100
  store i64 %1209, ptr @simtime, align 8, !tbaa !13
  %1210 = load i64, ptr %1207, align 8, !tbaa !38
  %1211 = shl i64 %1210, 18
  %1212 = lshr i64 %1210, 18
  %1213 = or i64 %1211, %1212
  %1214 = and i64 %1213, 68719476735
  store i64 %1214, ptr %1207, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1215 = load i64, ptr @simtime, align 8, !tbaa !13
  %1216 = add i64 %1215, 100
  store i64 %1216, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1217 = load i64, ptr %1207, align 8, !tbaa !38
  %1218 = load i64, ptr %1205, align 8, !tbaa !33
  store i64 %1218, ptr %1207, align 8, !tbaa !38
  store i64 %1217, ptr %1205, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1219 = load i64, ptr @simtime, align 8, !tbaa !13
  %1220 = add i64 %1219, 100
  store i64 %1220, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1221 = getelementptr inbounds i8, ptr %0, i64 217
  %1222 = load i8, ptr %1221, align 1, !tbaa !64, !range !19, !noundef !20
  %1223 = trunc nuw i8 %1222 to i1
  br i1 %1223, label %8570, label %1224

1224:                                             ; preds = %1204
  %1225 = getelementptr inbounds i8, ptr %0, i64 218
  %1226 = load i8, ptr %1225, align 2, !tbaa !65, !range !19, !noundef !20
  %1227 = trunc nuw i8 %1226 to i1
  br i1 %1227, label %1228, label %8570

1228:                                             ; preds = %1224
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %8570

1229:                                             ; preds = %._crit_edge
  %1230 = getelementptr inbounds i8, ptr %0, i64 40
  %1231 = load i64, ptr %1230, align 8, !tbaa !33
  %1232 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1231, ptr %1232, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1233 = load i64, ptr @simtime, align 8, !tbaa !13
  %1234 = add i64 %1233, 100
  store i64 %1234, ptr @simtime, align 8, !tbaa !13
  %1235 = load i64, ptr %1232, align 8, !tbaa !38
  %1236 = shl i64 %1235, 18
  %1237 = lshr i64 %1235, 18
  %1238 = or i64 %1236, %1237
  %1239 = and i64 %1238, 68719476735
  store i64 %1239, ptr %1232, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1240 = load i64, ptr @simtime, align 8, !tbaa !13
  %1241 = add i64 %1240, 100
  store i64 %1241, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1242 = load i64, ptr %1232, align 8, !tbaa !38
  %1243 = load i64, ptr %1230, align 8, !tbaa !33
  store i64 %1243, ptr %1232, align 8, !tbaa !38
  store i64 %1242, ptr %1230, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1244 = load i64, ptr @simtime, align 8, !tbaa !13
  %1245 = add i64 %1244, 100
  store i64 %1245, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1246 = getelementptr inbounds i8, ptr %0, i64 217
  %1247 = load i8, ptr %1246, align 1, !tbaa !64, !range !19, !noundef !20
  %1248 = trunc nuw i8 %1247 to i1
  br i1 %1248, label %1254, label %1249

1249:                                             ; preds = %1229
  %1250 = getelementptr inbounds i8, ptr %0, i64 218
  %1251 = load i8, ptr %1250, align 2, !tbaa !65, !range !19, !noundef !20
  %1252 = trunc nuw i8 %1251 to i1
  br i1 %1252, label %1253, label %1254

1253:                                             ; preds = %1249
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1254

1254:                                             ; preds = %1253, %1249, %1229
  %1255 = load i64, ptr %1230, align 8, !tbaa !33
  store i64 %1255, ptr %1232, align 8, !tbaa !38
  br label %8570

1256:                                             ; preds = %._crit_edge
  %1257 = getelementptr inbounds i8, ptr %0, i64 64
  %1258 = load i64, ptr %1257, align 8, !tbaa !38
  %1259 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %1258, ptr %1259, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1260 = load i64, ptr @simtime, align 8, !tbaa !13
  %1261 = add i64 %1260, 100
  store i64 %1261, ptr @simtime, align 8, !tbaa !13
  %1262 = load i64, ptr %1257, align 8, !tbaa !38
  %1263 = shl i64 %1262, 18
  %1264 = lshr i64 %1262, 18
  %1265 = or i64 %1263, %1264
  %1266 = and i64 %1265, 68719476735
  store i64 %1266, ptr %1257, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1267 = load i64, ptr @simtime, align 8, !tbaa !13
  %1268 = add i64 %1267, 100
  store i64 %1268, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1269 = load i64, ptr %1257, align 8, !tbaa !38
  %1270 = load i64, ptr %1259, align 8, !tbaa !33
  store i64 %1270, ptr %1257, align 8, !tbaa !38
  store i64 %1269, ptr %1259, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1271 = load i64, ptr @simtime, align 8, !tbaa !13
  %1272 = add i64 %1271, 100
  store i64 %1272, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1273 = getelementptr inbounds i8, ptr %0, i64 217
  %1274 = load i8, ptr %1273, align 1, !tbaa !64, !range !19, !noundef !20
  %1275 = trunc nuw i8 %1274 to i1
  br i1 %1275, label %1281, label %1276

1276:                                             ; preds = %1256
  %1277 = getelementptr inbounds i8, ptr %0, i64 218
  %1278 = load i8, ptr %1277, align 2, !tbaa !65, !range !19, !noundef !20
  %1279 = trunc nuw i8 %1278 to i1
  br i1 %1279, label %1280, label %1281

1280:                                             ; preds = %1276
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1281

1281:                                             ; preds = %1280, %1276, %1256
  %1282 = load i64, ptr %1259, align 8, !tbaa !33
  store i64 %1282, ptr %1257, align 8, !tbaa !38
  br label %8570

1283:                                             ; preds = %._crit_edge
  %1284 = getelementptr inbounds i8, ptr %0, i64 64
  %1285 = load i64, ptr %1284, align 8, !tbaa !38
  %1286 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %1285, ptr %1286, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1287 = load i64, ptr @simtime, align 8, !tbaa !13
  %1288 = add i64 %1287, 100
  store i64 %1288, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1289 = load i64, ptr @simtime, align 8, !tbaa !13
  %1290 = add i64 %1289, 100
  store i64 %1290, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1291 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1291, align 1, !tbaa !74
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1291, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1292 = load i64, ptr @simtime, align 8, !tbaa !13
  %1293 = add i64 %1292, 100
  store i64 %1293, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1294 = getelementptr inbounds i8, ptr %0, i64 217
  %1295 = load i8, ptr %1294, align 1, !tbaa !64, !range !19, !noundef !20
  %1296 = trunc nuw i8 %1295 to i1
  br i1 %1296, label %8570, label %1297

1297:                                             ; preds = %1283
  %1298 = getelementptr inbounds i8, ptr %0, i64 218
  %1299 = load i8, ptr %1298, align 2, !tbaa !65, !range !19, !noundef !20
  %1300 = trunc nuw i8 %1299 to i1
  br i1 %1300, label %1301, label %8570

1301:                                             ; preds = %1297
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %8570

1302:                                             ; preds = %._crit_edge
  %1303 = getelementptr inbounds i8, ptr %0, i64 40
  %1304 = load i64, ptr %1303, align 8, !tbaa !33
  %1305 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1304, ptr %1305, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1306 = load i64, ptr @simtime, align 8, !tbaa !13
  %1307 = add i64 %1306, 100
  store i64 %1307, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1308 = load i64, ptr @simtime, align 8, !tbaa !13
  %1309 = add i64 %1308, 100
  store i64 %1309, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1310 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1310, align 1, !tbaa !74
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1310, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1311 = load i64, ptr @simtime, align 8, !tbaa !13
  %1312 = add i64 %1311, 100
  store i64 %1312, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1313 = getelementptr inbounds i8, ptr %0, i64 217
  %1314 = load i8, ptr %1313, align 1, !tbaa !64, !range !19, !noundef !20
  %1315 = trunc nuw i8 %1314 to i1
  br i1 %1315, label %8570, label %1316

1316:                                             ; preds = %1302
  %1317 = getelementptr inbounds i8, ptr %0, i64 218
  %1318 = load i8, ptr %1317, align 2, !tbaa !65, !range !19, !noundef !20
  %1319 = trunc nuw i8 %1318 to i1
  br i1 %1319, label %1320, label %8570

1320:                                             ; preds = %1316
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %8570

1321:                                             ; preds = %._crit_edge
  %1322 = getelementptr inbounds i8, ptr %0, i64 40
  %1323 = load i64, ptr %1322, align 8, !tbaa !33
  %1324 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1323, ptr %1324, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1325 = load i64, ptr @simtime, align 8, !tbaa !13
  %1326 = add i64 %1325, 100
  store i64 %1326, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1327 = load i64, ptr @simtime, align 8, !tbaa !13
  %1328 = add i64 %1327, 100
  store i64 %1328, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1329 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1329, align 1, !tbaa !74
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1329, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1330 = load i64, ptr @simtime, align 8, !tbaa !13
  %1331 = add i64 %1330, 100
  store i64 %1331, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1332 = getelementptr inbounds i8, ptr %0, i64 217
  %1333 = load i8, ptr %1332, align 1, !tbaa !64, !range !19, !noundef !20
  %1334 = trunc nuw i8 %1333 to i1
  br i1 %1334, label %1340, label %1335

1335:                                             ; preds = %1321
  %1336 = getelementptr inbounds i8, ptr %0, i64 218
  %1337 = load i8, ptr %1336, align 2, !tbaa !65, !range !19, !noundef !20
  %1338 = trunc nuw i8 %1337 to i1
  br i1 %1338, label %1339, label %1340

1339:                                             ; preds = %1335
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1340

1340:                                             ; preds = %1339, %1335, %1321
  %1341 = load i64, ptr %1322, align 8, !tbaa !33
  store i64 %1341, ptr %1324, align 8, !tbaa !38
  br label %8570

1342:                                             ; preds = %._crit_edge
  %1343 = getelementptr inbounds i8, ptr %0, i64 64
  %1344 = load i64, ptr %1343, align 8, !tbaa !38
  %1345 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %1344, ptr %1345, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1346 = load i64, ptr @simtime, align 8, !tbaa !13
  %1347 = add i64 %1346, 100
  store i64 %1347, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1348 = load i64, ptr @simtime, align 8, !tbaa !13
  %1349 = add i64 %1348, 100
  store i64 %1349, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1350 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1350, align 1, !tbaa !74
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1350, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1351 = load i64, ptr @simtime, align 8, !tbaa !13
  %1352 = add i64 %1351, 100
  store i64 %1352, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1353 = getelementptr inbounds i8, ptr %0, i64 217
  %1354 = load i8, ptr %1353, align 1, !tbaa !64, !range !19, !noundef !20
  %1355 = trunc nuw i8 %1354 to i1
  br i1 %1355, label %1361, label %1356

1356:                                             ; preds = %1342
  %1357 = getelementptr inbounds i8, ptr %0, i64 218
  %1358 = load i8, ptr %1357, align 2, !tbaa !65, !range !19, !noundef !20
  %1359 = trunc nuw i8 %1358 to i1
  br i1 %1359, label %1360, label %1361

1360:                                             ; preds = %1356
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1361

1361:                                             ; preds = %1360, %1356, %1342
  %1362 = load i64, ptr %1345, align 8, !tbaa !33
  store i64 %1362, ptr %1343, align 8, !tbaa !38
  br label %8570

1363:                                             ; preds = %._crit_edge
  %1364 = getelementptr inbounds i8, ptr %0, i64 64
  %1365 = load i64, ptr %1364, align 8, !tbaa !38
  %1366 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %1365, ptr %1366, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1367 = load i64, ptr @simtime, align 8, !tbaa !13
  %1368 = add i64 %1367, 100
  store i64 %1368, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1369 = load i64, ptr @simtime, align 8, !tbaa !13
  %1370 = add i64 %1369, 100
  store i64 %1370, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1371 = load i64, ptr %1366, align 8, !tbaa !33
  %1372 = and i64 %1371, 34359738368
  %.not6391 = icmp eq i64 %1372, 0
  br i1 %.not6391, label %1375, label %1373

1373:                                             ; preds = %1363
  %1374 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1374, align 1, !tbaa !74
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1374, align 1, !tbaa !74
  br label %1375

1375:                                             ; preds = %1373, %1363
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1376 = load i64, ptr @simtime, align 8, !tbaa !13
  %1377 = add i64 %1376, 100
  store i64 %1377, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1378 = getelementptr inbounds i8, ptr %0, i64 217
  %1379 = load i8, ptr %1378, align 1, !tbaa !64, !range !19, !noundef !20
  %1380 = trunc nuw i8 %1379 to i1
  br i1 %1380, label %8570, label %1381

1381:                                             ; preds = %1375
  %1382 = getelementptr inbounds i8, ptr %0, i64 218
  %1383 = load i8, ptr %1382, align 2, !tbaa !65, !range !19, !noundef !20
  %1384 = trunc nuw i8 %1383 to i1
  br i1 %1384, label %1385, label %8570

1385:                                             ; preds = %1381
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %8570

1386:                                             ; preds = %._crit_edge
  %1387 = getelementptr inbounds i8, ptr %0, i64 40
  %1388 = load i64, ptr %1387, align 8, !tbaa !33
  %1389 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1388, ptr %1389, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1390 = load i64, ptr @simtime, align 8, !tbaa !13
  %1391 = add i64 %1390, 100
  store i64 %1391, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1392 = load i64, ptr @simtime, align 8, !tbaa !13
  %1393 = add i64 %1392, 100
  store i64 %1393, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1394 = load i64, ptr %1387, align 8, !tbaa !33
  %1395 = and i64 %1394, 34359738368
  %.not6390 = icmp eq i64 %1395, 0
  br i1 %.not6390, label %1398, label %1396

1396:                                             ; preds = %1386
  %1397 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1397, align 1, !tbaa !74
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1397, align 1, !tbaa !74
  br label %1398

1398:                                             ; preds = %1396, %1386
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1399 = load i64, ptr @simtime, align 8, !tbaa !13
  %1400 = add i64 %1399, 100
  store i64 %1400, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1401 = getelementptr inbounds i8, ptr %0, i64 217
  %1402 = load i8, ptr %1401, align 1, !tbaa !64, !range !19, !noundef !20
  %1403 = trunc nuw i8 %1402 to i1
  br i1 %1403, label %8570, label %1404

1404:                                             ; preds = %1398
  %1405 = getelementptr inbounds i8, ptr %0, i64 218
  %1406 = load i8, ptr %1405, align 2, !tbaa !65, !range !19, !noundef !20
  %1407 = trunc nuw i8 %1406 to i1
  br i1 %1407, label %1408, label %8570

1408:                                             ; preds = %1404
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %8570

1409:                                             ; preds = %._crit_edge
  %1410 = getelementptr inbounds i8, ptr %0, i64 40
  %1411 = load i64, ptr %1410, align 8, !tbaa !33
  %1412 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1411, ptr %1412, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1413 = load i64, ptr @simtime, align 8, !tbaa !13
  %1414 = add i64 %1413, 100
  store i64 %1414, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1415 = load i64, ptr @simtime, align 8, !tbaa !13
  %1416 = add i64 %1415, 100
  store i64 %1416, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1417 = load i64, ptr %1410, align 8, !tbaa !33
  %1418 = and i64 %1417, 34359738368
  %.not6389 = icmp eq i64 %1418, 0
  br i1 %.not6389, label %1421, label %1419

1419:                                             ; preds = %1409
  %1420 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1420, align 1, !tbaa !74
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1420, align 1, !tbaa !74
  br label %1421

1421:                                             ; preds = %1419, %1409
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1422 = load i64, ptr @simtime, align 8, !tbaa !13
  %1423 = add i64 %1422, 100
  store i64 %1423, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1424 = getelementptr inbounds i8, ptr %0, i64 217
  %1425 = load i8, ptr %1424, align 1, !tbaa !64, !range !19, !noundef !20
  %1426 = trunc nuw i8 %1425 to i1
  br i1 %1426, label %1432, label %1427

1427:                                             ; preds = %1421
  %1428 = getelementptr inbounds i8, ptr %0, i64 218
  %1429 = load i8, ptr %1428, align 2, !tbaa !65, !range !19, !noundef !20
  %1430 = trunc nuw i8 %1429 to i1
  br i1 %1430, label %1431, label %1432

1431:                                             ; preds = %1427
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1432

1432:                                             ; preds = %1431, %1427, %1421
  %1433 = load i64, ptr %1410, align 8, !tbaa !33
  store i64 %1433, ptr %1412, align 8, !tbaa !38
  br label %8570

1434:                                             ; preds = %._crit_edge
  %1435 = getelementptr inbounds i8, ptr %0, i64 64
  %1436 = load i64, ptr %1435, align 8, !tbaa !38
  %1437 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %1436, ptr %1437, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1438 = load i64, ptr @simtime, align 8, !tbaa !13
  %1439 = add i64 %1438, 100
  store i64 %1439, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1440 = load i64, ptr @simtime, align 8, !tbaa !13
  %1441 = add i64 %1440, 100
  store i64 %1441, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1442 = load i64, ptr %1437, align 8, !tbaa !33
  %1443 = and i64 %1442, 34359738368
  %.not6388 = icmp eq i64 %1443, 0
  br i1 %.not6388, label %1446, label %1444

1444:                                             ; preds = %1434
  %1445 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1445, align 1, !tbaa !74
  tail call void @ar_negate(ptr noundef nonnull %0)
  store i8 0, ptr %1445, align 1, !tbaa !74
  br label %1446

1446:                                             ; preds = %1444, %1434
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1447 = load i64, ptr @simtime, align 8, !tbaa !13
  %1448 = add i64 %1447, 100
  store i64 %1448, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1449 = getelementptr inbounds i8, ptr %0, i64 217
  %1450 = load i8, ptr %1449, align 1, !tbaa !64, !range !19, !noundef !20
  %1451 = trunc nuw i8 %1450 to i1
  br i1 %1451, label %1457, label %1452

1452:                                             ; preds = %1446
  %1453 = getelementptr inbounds i8, ptr %0, i64 218
  %1454 = load i8, ptr %1453, align 2, !tbaa !65, !range !19, !noundef !20
  %1455 = trunc nuw i8 %1454 to i1
  br i1 %1455, label %1456, label %1457

1456:                                             ; preds = %1452
  tail call void @ar_set_ov(ptr noundef nonnull %0)
  br label %1457

1457:                                             ; preds = %1456, %1452, %1446
  %1458 = load i64, ptr %1437, align 8, !tbaa !33
  store i64 %1458, ptr %1435, align 8, !tbaa !38
  br label %8570

1459:                                             ; preds = %._crit_edge
  %1460 = getelementptr inbounds i8, ptr %0, i64 64
  %1461 = load i64, ptr %1460, align 8, !tbaa !38
  %1462 = and i64 %1461, 131072
  %.not6387 = icmp eq i64 %1462, 0
  %1463 = getelementptr inbounds i8, ptr %0, i64 108
  %1464 = load i32, ptr %1463, align 4, !tbaa !68
  %1465 = trunc i64 %1461 to i32
  %1466 = and i32 %1465, 255
  br i1 %.not6387, label %1467, label %1477

1467:                                             ; preds = %1459
  %1468 = xor i32 %1466, 511
  %1469 = or i32 %1464, %1468
  store i32 %1469, ptr %1463, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1470 = load i64, ptr @simtime, align 8, !tbaa !13
  %1471 = add i64 %1470, 100
  store i64 %1471, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1472 = load i64, ptr @simtime, align 8, !tbaa !13
  %1473 = add i64 %1472, 100
  store i64 %1473, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1474 = load i64, ptr @simtime, align 8, !tbaa !13
  %1475 = add i64 %1474, 100
  store i64 %1475, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1476 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1476, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @ashlt)
  store i8 0, ptr %1476, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1477:                                             ; preds = %1459
  %1478 = xor i32 %1466, 255
  %1479 = or i32 %1464, %1478
  store i32 %1479, ptr %1463, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1480 = load i64, ptr @simtime, align 8, !tbaa !13
  %1481 = add i64 %1480, 100
  store i64 %1481, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1482 = load i32, ptr %1463, align 4, !tbaa !68
  %1483 = add i32 %1482, 1
  %1484 = and i32 %1483, 511
  store i32 %1484, ptr %1463, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1485 = load i64, ptr @simtime, align 8, !tbaa !13
  %1486 = add i64 %1485, 100
  store i64 %1486, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1487 = load i64, ptr @simtime, align 8, !tbaa !13
  %1488 = add i64 %1487, 100
  store i64 %1488, ptr @simtime, align 8, !tbaa !13
  %1489 = load i32, ptr %1463, align 4, !tbaa !68
  %1490 = xor i32 %1489, 511
  store i32 %1490, ptr %1463, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1491 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1491, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @ashrt)
  store i8 0, ptr %1491, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1492:                                             ; preds = %._crit_edge
  %1493 = getelementptr inbounds i8, ptr %0, i64 64
  %1494 = load i64, ptr %1493, align 8, !tbaa !38
  %1495 = and i64 %1494, 131072
  %.not6386 = icmp eq i64 %1495, 0
  %1496 = getelementptr inbounds i8, ptr %0, i64 108
  %1497 = load i32, ptr %1496, align 4, !tbaa !68
  %1498 = trunc i64 %1494 to i32
  %1499 = and i32 %1498, 255
  br i1 %.not6386, label %1500, label %1510

1500:                                             ; preds = %1492
  %1501 = xor i32 %1499, 511
  %1502 = or i32 %1497, %1501
  store i32 %1502, ptr %1496, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1503 = load i64, ptr @simtime, align 8, !tbaa !13
  %1504 = add i64 %1503, 100
  store i64 %1504, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1505 = load i64, ptr @simtime, align 8, !tbaa !13
  %1506 = add i64 %1505, 100
  store i64 %1506, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1507 = load i64, ptr @simtime, align 8, !tbaa !13
  %1508 = add i64 %1507, 100
  store i64 %1508, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1509 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1509, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @rotlt)
  store i8 0, ptr %1509, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1510:                                             ; preds = %1492
  %1511 = xor i32 %1499, 255
  %1512 = or i32 %1497, %1511
  store i32 %1512, ptr %1496, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1513 = load i64, ptr @simtime, align 8, !tbaa !13
  %1514 = add i64 %1513, 100
  store i64 %1514, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1515 = load i32, ptr %1496, align 4, !tbaa !68
  %1516 = add i32 %1515, 1
  %1517 = and i32 %1516, 511
  store i32 %1517, ptr %1496, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1518 = load i64, ptr @simtime, align 8, !tbaa !13
  %1519 = add i64 %1518, 100
  store i64 %1519, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1520 = load i64, ptr @simtime, align 8, !tbaa !13
  %1521 = add i64 %1520, 100
  store i64 %1521, ptr @simtime, align 8, !tbaa !13
  %1522 = load i32, ptr %1496, align 4, !tbaa !68
  %1523 = xor i32 %1522, 511
  store i32 %1523, ptr %1496, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1524 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1524, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @rotrt)
  store i8 0, ptr %1524, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1525:                                             ; preds = %._crit_edge
  %1526 = getelementptr inbounds i8, ptr %0, i64 64
  %1527 = load i64, ptr %1526, align 8, !tbaa !38
  %1528 = and i64 %1527, 131072
  %.not6385 = icmp eq i64 %1528, 0
  %1529 = getelementptr inbounds i8, ptr %0, i64 108
  %1530 = load i32, ptr %1529, align 4, !tbaa !68
  %1531 = trunc i64 %1527 to i32
  %1532 = and i32 %1531, 255
  br i1 %.not6385, label %1533, label %1543

1533:                                             ; preds = %1525
  %1534 = xor i32 %1532, 511
  %1535 = or i32 %1530, %1534
  store i32 %1535, ptr %1529, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1536 = load i64, ptr @simtime, align 8, !tbaa !13
  %1537 = add i64 %1536, 100
  store i64 %1537, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1538 = load i64, ptr @simtime, align 8, !tbaa !13
  %1539 = add i64 %1538, 100
  store i64 %1539, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1540 = load i64, ptr @simtime, align 8, !tbaa !13
  %1541 = add i64 %1540, 100
  store i64 %1541, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1542 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1542, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @lshlt)
  store i8 0, ptr %1542, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1543:                                             ; preds = %1525
  %1544 = xor i32 %1532, 255
  %1545 = or i32 %1530, %1544
  store i32 %1545, ptr %1529, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1546 = load i64, ptr @simtime, align 8, !tbaa !13
  %1547 = add i64 %1546, 100
  store i64 %1547, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1548 = load i32, ptr %1529, align 4, !tbaa !68
  %1549 = add i32 %1548, 1
  %1550 = and i32 %1549, 511
  store i32 %1550, ptr %1529, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1551 = load i64, ptr @simtime, align 8, !tbaa !13
  %1552 = add i64 %1551, 100
  store i64 %1552, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1553 = load i64, ptr @simtime, align 8, !tbaa !13
  %1554 = add i64 %1553, 100
  store i64 %1554, ptr @simtime, align 8, !tbaa !13
  %1555 = load i32, ptr %1529, align 4, !tbaa !68
  %1556 = xor i32 %1555, 511
  store i32 %1556, ptr %1529, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1557 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1557, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @lshrt)
  store i8 0, ptr %1557, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1558:                                             ; preds = %._crit_edge
  %1559 = getelementptr inbounds i8, ptr %0, i64 64
  %1560 = load i64, ptr %1559, align 8, !tbaa !38
  %1561 = and i64 %1560, 131072
  %.not6384 = icmp eq i64 %1561, 0
  %1562 = getelementptr inbounds i8, ptr %0, i64 108
  %1563 = load i32, ptr %1562, align 4, !tbaa !68
  %1564 = trunc i64 %1560 to i32
  %1565 = and i32 %1564, 255
  br i1 %.not6384, label %1566, label %1576

1566:                                             ; preds = %1558
  %1567 = xor i32 %1565, 511
  %1568 = or i32 %1563, %1567
  store i32 %1568, ptr %1562, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1569 = load i64, ptr @simtime, align 8, !tbaa !13
  %1570 = add i64 %1569, 100
  store i64 %1570, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1571 = load i64, ptr @simtime, align 8, !tbaa !13
  %1572 = add i64 %1571, 100
  store i64 %1572, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1573 = load i64, ptr @simtime, align 8, !tbaa !13
  %1574 = add i64 %1573, 100
  store i64 %1574, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1575 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1575, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @ashclt)
  store i8 0, ptr %1575, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1576:                                             ; preds = %1558
  %1577 = xor i32 %1565, 255
  %1578 = or i32 %1563, %1577
  store i32 %1578, ptr %1562, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1579 = load i64, ptr @simtime, align 8, !tbaa !13
  %1580 = add i64 %1579, 100
  store i64 %1580, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1581 = load i32, ptr %1562, align 4, !tbaa !68
  %1582 = add i32 %1581, 1
  %1583 = and i32 %1582, 511
  store i32 %1583, ptr %1562, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1584 = load i64, ptr @simtime, align 8, !tbaa !13
  %1585 = add i64 %1584, 100
  store i64 %1585, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1586 = load i64, ptr @simtime, align 8, !tbaa !13
  %1587 = add i64 %1586, 100
  store i64 %1587, ptr @simtime, align 8, !tbaa !13
  %1588 = load i32, ptr %1562, align 4, !tbaa !68
  %1589 = xor i32 %1588, 511
  store i32 %1589, ptr %1562, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1590 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1590, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @ashcrt)
  store i8 0, ptr %1590, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1591:                                             ; preds = %._crit_edge
  %1592 = getelementptr inbounds i8, ptr %0, i64 64
  %1593 = load i64, ptr %1592, align 8, !tbaa !38
  %1594 = and i64 %1593, 131072
  %.not6383 = icmp eq i64 %1594, 0
  %1595 = getelementptr inbounds i8, ptr %0, i64 108
  %1596 = load i32, ptr %1595, align 4, !tbaa !68
  %1597 = trunc i64 %1593 to i32
  %1598 = and i32 %1597, 255
  br i1 %.not6383, label %1599, label %1609

1599:                                             ; preds = %1591
  %1600 = xor i32 %1598, 511
  %1601 = or i32 %1596, %1600
  store i32 %1601, ptr %1595, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1602 = load i64, ptr @simtime, align 8, !tbaa !13
  %1603 = add i64 %1602, 100
  store i64 %1603, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1604 = load i64, ptr @simtime, align 8, !tbaa !13
  %1605 = add i64 %1604, 100
  store i64 %1605, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1606 = load i64, ptr @simtime, align 8, !tbaa !13
  %1607 = add i64 %1606, 100
  store i64 %1607, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1608 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1608, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @rotclt)
  store i8 0, ptr %1608, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1609:                                             ; preds = %1591
  %1610 = xor i32 %1598, 255
  %1611 = or i32 %1596, %1610
  store i32 %1611, ptr %1595, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1612 = load i64, ptr @simtime, align 8, !tbaa !13
  %1613 = add i64 %1612, 100
  store i64 %1613, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1614 = load i32, ptr %1595, align 4, !tbaa !68
  %1615 = add i32 %1614, 1
  %1616 = and i32 %1615, 511
  store i32 %1616, ptr %1595, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1617 = load i64, ptr @simtime, align 8, !tbaa !13
  %1618 = add i64 %1617, 100
  store i64 %1618, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1619 = load i64, ptr @simtime, align 8, !tbaa !13
  %1620 = add i64 %1619, 100
  store i64 %1620, ptr @simtime, align 8, !tbaa !13
  %1621 = load i32, ptr %1595, align 4, !tbaa !68
  %1622 = xor i32 %1621, 511
  store i32 %1622, ptr %1595, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1623 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1623, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @rotcrt)
  store i8 0, ptr %1623, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1624:                                             ; preds = %._crit_edge
  %1625 = getelementptr inbounds i8, ptr %0, i64 64
  %1626 = load i64, ptr %1625, align 8, !tbaa !38
  %1627 = and i64 %1626, 131072
  %.not6382 = icmp eq i64 %1627, 0
  %1628 = getelementptr inbounds i8, ptr %0, i64 108
  %1629 = load i32, ptr %1628, align 4, !tbaa !68
  %1630 = trunc i64 %1626 to i32
  %1631 = and i32 %1630, 255
  br i1 %.not6382, label %1632, label %1642

1632:                                             ; preds = %1624
  %1633 = xor i32 %1631, 511
  %1634 = or i32 %1629, %1633
  store i32 %1634, ptr %1628, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1635 = load i64, ptr @simtime, align 8, !tbaa !13
  %1636 = add i64 %1635, 100
  store i64 %1636, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1637 = load i64, ptr @simtime, align 8, !tbaa !13
  %1638 = add i64 %1637, 100
  store i64 %1638, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1639 = load i64, ptr @simtime, align 8, !tbaa !13
  %1640 = add i64 %1639, 100
  store i64 %1640, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1641 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1641, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @lshclt)
  store i8 0, ptr %1641, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1642:                                             ; preds = %1624
  %1643 = xor i32 %1631, 255
  %1644 = or i32 %1629, %1643
  store i32 %1644, ptr %1628, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1645 = load i64, ptr @simtime, align 8, !tbaa !13
  %1646 = add i64 %1645, 100
  store i64 %1646, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1647 = load i32, ptr %1628, align 4, !tbaa !68
  %1648 = add i32 %1647, 1
  %1649 = and i32 %1648, 511
  store i32 %1649, ptr %1628, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1650 = load i64, ptr @simtime, align 8, !tbaa !13
  %1651 = add i64 %1650, 100
  store i64 %1651, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %1652 = load i64, ptr @simtime, align 8, !tbaa !13
  %1653 = add i64 %1652, 100
  store i64 %1653, ptr @simtime, align 8, !tbaa !13
  %1654 = load i32, ptr %1628, align 4, !tbaa !68
  %1655 = xor i32 %1654, 511
  store i32 %1655, ptr %1628, align 4, !tbaa !68
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.123)
  %1656 = getelementptr inbounds i8, ptr %0, i64 152
  store i8 1, ptr %1656, align 8, !tbaa !99
  tail call void @sc_count(ptr noundef nonnull %0, ptr noundef nonnull @lshcrt)
  store i8 0, ptr %1656, align 8, !tbaa !99
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.124)
  br label %8570

1657:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1658 = load i64, ptr @simtime, align 8, !tbaa !13
  %1659 = add i64 %1658, 100
  store i64 %1659, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1660 = load i64, ptr @simtime, align 8, !tbaa !13
  %1661 = add i64 %1660, 100
  store i64 %1661, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_add(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1662 = load i64, ptr @simtime, align 8, !tbaa !13
  %1663 = add i64 %1662, 100
  store i64 %1663, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

1664:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1665 = load i64, ptr @simtime, align 8, !tbaa !13
  %1666 = add i64 %1665, 100
  store i64 %1666, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1667 = load i64, ptr @simtime, align 8, !tbaa !13
  %1668 = add i64 %1667, 100
  store i64 %1668, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_add(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1669 = load i64, ptr @simtime, align 8, !tbaa !13
  %1670 = add i64 %1669, 100
  store i64 %1670, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

1671:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1672 = load i64, ptr @simtime, align 8, !tbaa !13
  %1673 = add i64 %1672, 100
  store i64 %1673, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1674 = load i64, ptr @simtime, align 8, !tbaa !13
  %1675 = add i64 %1674, 100
  store i64 %1675, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_add(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1676 = load i64, ptr @simtime, align 8, !tbaa !13
  %1677 = add i64 %1676, 100
  store i64 %1677, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %1678 = getelementptr inbounds i8, ptr %0, i64 40
  %1679 = load i64, ptr %1678, align 8, !tbaa !33
  %1680 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1679, ptr %1680, align 8, !tbaa !38
  br label %8570

1681:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1682 = load i64, ptr @simtime, align 8, !tbaa !13
  %1683 = add i64 %1682, 100
  store i64 %1683, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1684 = load i64, ptr @simtime, align 8, !tbaa !13
  %1685 = add i64 %1684, 100
  store i64 %1685, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_add(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1686 = load i64, ptr @simtime, align 8, !tbaa !13
  %1687 = add i64 %1686, 100
  store i64 %1687, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %1688 = getelementptr inbounds i8, ptr %0, i64 40
  %1689 = load i64, ptr %1688, align 8, !tbaa !33
  %1690 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1689, ptr %1690, align 8, !tbaa !38
  br label %8570

1691:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1692 = load i64, ptr @simtime, align 8, !tbaa !13
  %1693 = add i64 %1692, 100
  store i64 %1693, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1694 = load i64, ptr @simtime, align 8, !tbaa !13
  %1695 = add i64 %1694, 100
  store i64 %1695, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_sub(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1696 = load i64, ptr @simtime, align 8, !tbaa !13
  %1697 = add i64 %1696, 100
  store i64 %1697, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

1698:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1699 = load i64, ptr @simtime, align 8, !tbaa !13
  %1700 = add i64 %1699, 100
  store i64 %1700, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1701 = load i64, ptr @simtime, align 8, !tbaa !13
  %1702 = add i64 %1701, 100
  store i64 %1702, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_sub(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1703 = load i64, ptr @simtime, align 8, !tbaa !13
  %1704 = add i64 %1703, 100
  store i64 %1704, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

1705:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1706 = load i64, ptr @simtime, align 8, !tbaa !13
  %1707 = add i64 %1706, 100
  store i64 %1707, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1708 = load i64, ptr @simtime, align 8, !tbaa !13
  %1709 = add i64 %1708, 100
  store i64 %1709, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_sub(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1710 = load i64, ptr @simtime, align 8, !tbaa !13
  %1711 = add i64 %1710, 100
  store i64 %1711, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %1712 = getelementptr inbounds i8, ptr %0, i64 40
  %1713 = load i64, ptr %1712, align 8, !tbaa !33
  %1714 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1713, ptr %1714, align 8, !tbaa !38
  br label %8570

1715:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1716 = load i64, ptr @simtime, align 8, !tbaa !13
  %1717 = add i64 %1716, 100
  store i64 %1717, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1718 = load i64, ptr @simtime, align 8, !tbaa !13
  %1719 = add i64 %1718, 100
  store i64 %1719, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_sub(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1720 = load i64, ptr @simtime, align 8, !tbaa !13
  %1721 = add i64 %1720, 100
  store i64 %1721, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %1722 = getelementptr inbounds i8, ptr %0, i64 40
  %1723 = load i64, ptr %1722, align 8, !tbaa !33
  %1724 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %1723, ptr %1724, align 8, !tbaa !38
  br label %8570

1725:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1726 = load i64, ptr @simtime, align 8, !tbaa !13
  %1727 = add i64 %1726, 100
  store i64 %1727, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1728 = load i64, ptr @simtime, align 8, !tbaa !13
  %1729 = add i64 %1728, 100
  store i64 %1729, ptr @simtime, align 8, !tbaa !13
  %1730 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1730, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1730, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1731 = load i64, ptr @simtime, align 8, !tbaa !13
  %1732 = add i64 %1731, 100
  store i64 %1732, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1733 = load i64, ptr @simtime, align 8, !tbaa !13
  %1734 = add i64 %1733, 100
  store i64 %1734, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1735 = load i64, ptr @simtime, align 8, !tbaa !13
  %1736 = add i64 %1735, 100
  store i64 %1736, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1737 = load i64, ptr @simtime, align 8, !tbaa !13
  %1738 = add i64 %1737, 100
  store i64 %1738, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1739 = load i64, ptr @simtime, align 8, !tbaa !13
  %1740 = add i64 %1739, 200
  store i64 %1740, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1741 = load i64, ptr @simtime, align 8, !tbaa !13
  %1742 = add i64 %1741, 200
  store i64 %1742, ptr @simtime, align 8, !tbaa !13
  br label %8570

1743:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1744 = load i64, ptr @simtime, align 8, !tbaa !13
  %1745 = add i64 %1744, 100
  store i64 %1745, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1746 = load i64, ptr @simtime, align 8, !tbaa !13
  %1747 = add i64 %1746, 100
  store i64 %1747, ptr @simtime, align 8, !tbaa !13
  %1748 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1748, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1748, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1749 = load i64, ptr @simtime, align 8, !tbaa !13
  %1750 = add i64 %1749, 100
  store i64 %1750, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1751 = load i64, ptr @simtime, align 8, !tbaa !13
  %1752 = add i64 %1751, 100
  store i64 %1752, ptr @simtime, align 8, !tbaa !13
  %1753 = getelementptr inbounds i8, ptr %0, i64 40
  %1754 = load i64, ptr %1753, align 8, !tbaa !33
  %1755 = getelementptr inbounds i8, ptr %0, i64 217
  %1756 = load i8, ptr %1755, align 1, !tbaa !64, !range !19, !noundef !20
  %1757 = getelementptr inbounds i8, ptr %0, i64 218
  %1758 = load i8, ptr %1757, align 2, !tbaa !65, !range !19, !noundef !20
  %1759 = icmp ne i8 %1756, %1758
  %1760 = and i64 %1754, 34359738368
  %1761 = icmp eq i64 %1760, 0
  %.not6381 = xor i1 %1761, %1759
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1762 = load i64, ptr @simtime, align 8, !tbaa !13
  %1763 = add i64 %1762, 100
  store i64 %1763, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1764 = load i64, ptr @simtime, align 8, !tbaa !13
  %1765 = add i64 %1764, 100
  store i64 %1765, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1766 = load i64, ptr @simtime, align 8, !tbaa !13
  %1767 = add i64 %1766, 200
  store i64 %1767, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6381, label %1773, label %1768

1768:                                             ; preds = %1743
  %1769 = getelementptr inbounds i8, ptr %0, i64 88
  %1770 = load i32, ptr %1769, align 8, !tbaa !31
  %1771 = add i32 %1770, 1
  %1772 = and i32 %1771, 262143
  store i32 %1772, ptr %1769, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %1773

1773:                                             ; preds = %1768, %1743
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1774 = load i64, ptr @simtime, align 8, !tbaa !13
  %1775 = add i64 %1774, 200
  store i64 %1775, ptr @simtime, align 8, !tbaa !13
  br label %8570

1776:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1777 = load i64, ptr @simtime, align 8, !tbaa !13
  %1778 = add i64 %1777, 100
  store i64 %1778, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1779 = load i64, ptr @simtime, align 8, !tbaa !13
  %1780 = add i64 %1779, 100
  store i64 %1780, ptr @simtime, align 8, !tbaa !13
  %1781 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1781, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1781, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1782 = load i64, ptr @simtime, align 8, !tbaa !13
  %1783 = add i64 %1782, 100
  store i64 %1783, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1784 = load i64, ptr @simtime, align 8, !tbaa !13
  %1785 = add i64 %1784, 100
  store i64 %1785, ptr @simtime, align 8, !tbaa !13
  %1786 = getelementptr inbounds i8, ptr %0, i64 40
  %1787 = load i64, ptr %1786, align 8, !tbaa !33
  %1788 = icmp eq i64 %1787, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1789 = load i64, ptr @simtime, align 8, !tbaa !13
  %1790 = add i64 %1789, 100
  store i64 %1790, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1791 = load i64, ptr @simtime, align 8, !tbaa !13
  %1792 = add i64 %1791, 100
  store i64 %1792, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1793 = load i64, ptr @simtime, align 8, !tbaa !13
  %1794 = add i64 %1793, 200
  store i64 %1794, ptr @simtime, align 8, !tbaa !13
  br i1 %1788, label %1795, label %1800

1795:                                             ; preds = %1776
  %1796 = getelementptr inbounds i8, ptr %0, i64 88
  %1797 = load i32, ptr %1796, align 8, !tbaa !31
  %1798 = add i32 %1797, 1
  %1799 = and i32 %1798, 262143
  store i32 %1799, ptr %1796, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %1800

1800:                                             ; preds = %1795, %1776
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1801 = load i64, ptr @simtime, align 8, !tbaa !13
  %1802 = add i64 %1801, 200
  store i64 %1802, ptr @simtime, align 8, !tbaa !13
  br label %8570

1803:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1804 = load i64, ptr @simtime, align 8, !tbaa !13
  %1805 = add i64 %1804, 100
  store i64 %1805, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1806 = load i64, ptr @simtime, align 8, !tbaa !13
  %1807 = add i64 %1806, 100
  store i64 %1807, ptr @simtime, align 8, !tbaa !13
  %1808 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1808, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1808, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1809 = load i64, ptr @simtime, align 8, !tbaa !13
  %1810 = add i64 %1809, 100
  store i64 %1810, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1811 = load i64, ptr @simtime, align 8, !tbaa !13
  %1812 = add i64 %1811, 100
  store i64 %1812, ptr @simtime, align 8, !tbaa !13
  %1813 = getelementptr inbounds i8, ptr %0, i64 40
  %1814 = load i64, ptr %1813, align 8, !tbaa !33
  %1815 = getelementptr inbounds i8, ptr %0, i64 217
  %1816 = load i8, ptr %1815, align 1, !tbaa !64, !range !19, !noundef !20
  %1817 = getelementptr inbounds i8, ptr %0, i64 218
  %1818 = load i8, ptr %1817, align 2, !tbaa !65, !range !19, !noundef !20
  %1819 = icmp ne i8 %1816, %1818
  %1820 = and i64 %1814, 34359738368
  %1821 = icmp eq i64 %1814, 0
  %1822 = icmp ne i64 %1820, 0
  %not..not6380 = xor i1 %1822, %1819
  %spec.select = select i1 %not..not6380, i1 true, i1 %1821
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1823 = load i64, ptr @simtime, align 8, !tbaa !13
  %1824 = add i64 %1823, 100
  store i64 %1824, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1825 = load i64, ptr @simtime, align 8, !tbaa !13
  %1826 = add i64 %1825, 100
  store i64 %1826, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1827 = load i64, ptr @simtime, align 8, !tbaa !13
  %1828 = add i64 %1827, 200
  store i64 %1828, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select, label %1829, label %1834

1829:                                             ; preds = %1803
  %1830 = getelementptr inbounds i8, ptr %0, i64 88
  %1831 = load i32, ptr %1830, align 8, !tbaa !31
  %1832 = add i32 %1831, 1
  %1833 = and i32 %1832, 262143
  store i32 %1833, ptr %1830, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %1834

1834:                                             ; preds = %1829, %1803
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1835 = load i64, ptr @simtime, align 8, !tbaa !13
  %1836 = add i64 %1835, 200
  store i64 %1836, ptr @simtime, align 8, !tbaa !13
  br label %8570

1837:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1838 = load i64, ptr @simtime, align 8, !tbaa !13
  %1839 = add i64 %1838, 100
  store i64 %1839, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1840 = load i64, ptr @simtime, align 8, !tbaa !13
  %1841 = add i64 %1840, 100
  store i64 %1841, ptr @simtime, align 8, !tbaa !13
  %1842 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1842, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1842, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1843 = load i64, ptr @simtime, align 8, !tbaa !13
  %1844 = add i64 %1843, 100
  store i64 %1844, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1845 = load i64, ptr @simtime, align 8, !tbaa !13
  %1846 = add i64 %1845, 100
  store i64 %1846, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1847 = load i64, ptr @simtime, align 8, !tbaa !13
  %1848 = add i64 %1847, 100
  store i64 %1848, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1849 = load i64, ptr @simtime, align 8, !tbaa !13
  %1850 = add i64 %1849, 100
  store i64 %1850, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1851 = load i64, ptr @simtime, align 8, !tbaa !13
  %1852 = add i64 %1851, 200
  store i64 %1852, ptr @simtime, align 8, !tbaa !13
  %1853 = getelementptr inbounds i8, ptr %0, i64 88
  %1854 = load i32, ptr %1853, align 8, !tbaa !31
  %1855 = add i32 %1854, 1
  %1856 = and i32 %1855, 262143
  store i32 %1856, ptr %1853, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1857 = load i64, ptr @simtime, align 8, !tbaa !13
  %1858 = add i64 %1857, 200
  store i64 %1858, ptr @simtime, align 8, !tbaa !13
  br label %8570

1859:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1860 = load i64, ptr @simtime, align 8, !tbaa !13
  %1861 = add i64 %1860, 100
  store i64 %1861, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1862 = load i64, ptr @simtime, align 8, !tbaa !13
  %1863 = add i64 %1862, 100
  store i64 %1863, ptr @simtime, align 8, !tbaa !13
  %1864 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1864, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1864, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1865 = load i64, ptr @simtime, align 8, !tbaa !13
  %1866 = add i64 %1865, 100
  store i64 %1866, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1867 = load i64, ptr @simtime, align 8, !tbaa !13
  %1868 = add i64 %1867, 100
  store i64 %1868, ptr @simtime, align 8, !tbaa !13
  %1869 = getelementptr inbounds i8, ptr %0, i64 40
  %1870 = load i64, ptr %1869, align 8, !tbaa !33
  %1871 = getelementptr inbounds i8, ptr %0, i64 217
  %1872 = load i8, ptr %1871, align 1, !tbaa !64, !range !19, !noundef !20
  %1873 = getelementptr inbounds i8, ptr %0, i64 218
  %1874 = load i8, ptr %1873, align 2, !tbaa !65, !range !19, !noundef !20
  %1875 = icmp ne i8 %1872, %1874
  %1876 = and i64 %1870, 34359738368
  %1877 = icmp eq i64 %1876, 0
  %.not6379 = xor i1 %1877, %1875
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1878 = load i64, ptr @simtime, align 8, !tbaa !13
  %1879 = add i64 %1878, 100
  store i64 %1879, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1880 = load i64, ptr @simtime, align 8, !tbaa !13
  %1881 = add i64 %1880, 100
  store i64 %1881, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1882 = load i64, ptr @simtime, align 8, !tbaa !13
  %1883 = add i64 %1882, 200
  store i64 %1883, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6379, label %1884, label %1889

1884:                                             ; preds = %1859
  %1885 = getelementptr inbounds i8, ptr %0, i64 88
  %1886 = load i32, ptr %1885, align 8, !tbaa !31
  %1887 = add i32 %1886, 1
  %1888 = and i32 %1887, 262143
  store i32 %1888, ptr %1885, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %1889

1889:                                             ; preds = %1884, %1859
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1890 = load i64, ptr @simtime, align 8, !tbaa !13
  %1891 = add i64 %1890, 200
  store i64 %1891, ptr @simtime, align 8, !tbaa !13
  br label %8570

1892:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1893 = load i64, ptr @simtime, align 8, !tbaa !13
  %1894 = add i64 %1893, 100
  store i64 %1894, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1895 = load i64, ptr @simtime, align 8, !tbaa !13
  %1896 = add i64 %1895, 100
  store i64 %1896, ptr @simtime, align 8, !tbaa !13
  %1897 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1897, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1897, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1898 = load i64, ptr @simtime, align 8, !tbaa !13
  %1899 = add i64 %1898, 100
  store i64 %1899, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1900 = load i64, ptr @simtime, align 8, !tbaa !13
  %1901 = add i64 %1900, 100
  store i64 %1901, ptr @simtime, align 8, !tbaa !13
  %1902 = getelementptr inbounds i8, ptr %0, i64 40
  %1903 = load i64, ptr %1902, align 8, !tbaa !33
  %.not6378 = icmp eq i64 %1903, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1904 = load i64, ptr @simtime, align 8, !tbaa !13
  %1905 = add i64 %1904, 100
  store i64 %1905, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1906 = load i64, ptr @simtime, align 8, !tbaa !13
  %1907 = add i64 %1906, 100
  store i64 %1907, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1908 = load i64, ptr @simtime, align 8, !tbaa !13
  %1909 = add i64 %1908, 200
  store i64 %1909, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6378, label %1915, label %1910

1910:                                             ; preds = %1892
  %1911 = getelementptr inbounds i8, ptr %0, i64 88
  %1912 = load i32, ptr %1911, align 8, !tbaa !31
  %1913 = add i32 %1912, 1
  %1914 = and i32 %1913, 262143
  store i32 %1914, ptr %1911, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %1915

1915:                                             ; preds = %1910, %1892
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1916 = load i64, ptr @simtime, align 8, !tbaa !13
  %1917 = add i64 %1916, 200
  store i64 %1917, ptr @simtime, align 8, !tbaa !13
  br label %8570

1918:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1919 = load i64, ptr @simtime, align 8, !tbaa !13
  %1920 = add i64 %1919, 100
  store i64 %1920, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1921 = load i64, ptr @simtime, align 8, !tbaa !13
  %1922 = add i64 %1921, 100
  store i64 %1922, ptr @simtime, align 8, !tbaa !13
  %1923 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1923, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1923, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1924 = load i64, ptr @simtime, align 8, !tbaa !13
  %1925 = add i64 %1924, 100
  store i64 %1925, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1926 = load i64, ptr @simtime, align 8, !tbaa !13
  %1927 = add i64 %1926, 100
  store i64 %1927, ptr @simtime, align 8, !tbaa !13
  %1928 = getelementptr inbounds i8, ptr %0, i64 40
  %1929 = load i64, ptr %1928, align 8, !tbaa !33
  %1930 = getelementptr inbounds i8, ptr %0, i64 217
  %1931 = load i8, ptr %1930, align 1, !tbaa !64, !range !19, !noundef !20
  %1932 = getelementptr inbounds i8, ptr %0, i64 218
  %1933 = load i8, ptr %1932, align 2, !tbaa !65, !range !19, !noundef !20
  %1934 = icmp ne i8 %1931, %1933
  %1935 = and i64 %1929, 34359738368
  %1936 = icmp eq i64 %1935, 0
  %.not6377 = xor i1 %1936, %1934
  %1937 = icmp ne i64 %1929, 0
  %spec.select6448 = select i1 %.not6377, i1 %1937, i1 false
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1938 = load i64, ptr @simtime, align 8, !tbaa !13
  %1939 = add i64 %1938, 100
  store i64 %1939, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1940 = load i64, ptr @simtime, align 8, !tbaa !13
  %1941 = add i64 %1940, 100
  store i64 %1941, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1942 = load i64, ptr @simtime, align 8, !tbaa !13
  %1943 = add i64 %1942, 200
  store i64 %1943, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6448, label %1944, label %1949

1944:                                             ; preds = %1918
  %1945 = getelementptr inbounds i8, ptr %0, i64 88
  %1946 = load i32, ptr %1945, align 8, !tbaa !31
  %1947 = add i32 %1946, 1
  %1948 = and i32 %1947, 262143
  store i32 %1948, ptr %1945, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %1949

1949:                                             ; preds = %1944, %1918
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1950 = load i64, ptr @simtime, align 8, !tbaa !13
  %1951 = add i64 %1950, 200
  store i64 %1951, ptr @simtime, align 8, !tbaa !13
  br label %8570

1952:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1953 = load i64, ptr @simtime, align 8, !tbaa !13
  %1954 = add i64 %1953, 100
  store i64 %1954, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1955 = load i64, ptr @simtime, align 8, !tbaa !13
  %1956 = add i64 %1955, 100
  store i64 %1956, ptr @simtime, align 8, !tbaa !13
  %1957 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1957, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1957, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1958 = load i64, ptr @simtime, align 8, !tbaa !13
  %1959 = add i64 %1958, 100
  store i64 %1959, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1960 = load i64, ptr @simtime, align 8, !tbaa !13
  %1961 = add i64 %1960, 100
  store i64 %1961, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1962 = load i64, ptr @simtime, align 8, !tbaa !13
  %1963 = add i64 %1962, 100
  store i64 %1963, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1964 = load i64, ptr @simtime, align 8, !tbaa !13
  %1965 = add i64 %1964, 100
  store i64 %1965, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1966 = load i64, ptr @simtime, align 8, !tbaa !13
  %1967 = add i64 %1966, 200
  store i64 %1967, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %1968 = load i64, ptr @simtime, align 8, !tbaa !13
  %1969 = add i64 %1968, 200
  store i64 %1969, ptr @simtime, align 8, !tbaa !13
  br label %8570

1970:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %1971 = load i64, ptr @simtime, align 8, !tbaa !13
  %1972 = add i64 %1971, 100
  store i64 %1972, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %1973 = load i64, ptr @simtime, align 8, !tbaa !13
  %1974 = add i64 %1973, 100
  store i64 %1974, ptr @simtime, align 8, !tbaa !13
  %1975 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %1975, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %1975, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %1976 = load i64, ptr @simtime, align 8, !tbaa !13
  %1977 = add i64 %1976, 100
  store i64 %1977, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %1978 = load i64, ptr @simtime, align 8, !tbaa !13
  %1979 = add i64 %1978, 100
  store i64 %1979, ptr @simtime, align 8, !tbaa !13
  %1980 = getelementptr inbounds i8, ptr %0, i64 40
  %1981 = load i64, ptr %1980, align 8, !tbaa !33
  %1982 = getelementptr inbounds i8, ptr %0, i64 217
  %1983 = load i8, ptr %1982, align 1, !tbaa !64, !range !19, !noundef !20
  %1984 = getelementptr inbounds i8, ptr %0, i64 218
  %1985 = load i8, ptr %1984, align 2, !tbaa !65, !range !19, !noundef !20
  %1986 = icmp ne i8 %1983, %1985
  %1987 = and i64 %1981, 34359738368
  %1988 = icmp eq i64 %1987, 0
  %.not6376 = xor i1 %1988, %1986
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %1989 = load i64, ptr @simtime, align 8, !tbaa !13
  %1990 = add i64 %1989, 100
  store i64 %1990, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %1991 = load i64, ptr @simtime, align 8, !tbaa !13
  %1992 = add i64 %1991, 100
  store i64 %1992, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %1993 = load i64, ptr @simtime, align 8, !tbaa !13
  %1994 = add i64 %1993, 200
  store i64 %1994, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6376, label %2000, label %1995

1995:                                             ; preds = %1970
  %1996 = getelementptr inbounds i8, ptr %0, i64 88
  %1997 = load i32, ptr %1996, align 8, !tbaa !31
  %1998 = add i32 %1997, 1
  %1999 = and i32 %1998, 262143
  store i32 %1999, ptr %1996, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2000

2000:                                             ; preds = %1995, %1970
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2001 = load i64, ptr @simtime, align 8, !tbaa !13
  %2002 = add i64 %2001, 200
  store i64 %2002, ptr @simtime, align 8, !tbaa !13
  br label %8570

2003:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2004 = load i64, ptr @simtime, align 8, !tbaa !13
  %2005 = add i64 %2004, 100
  store i64 %2005, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2006 = load i64, ptr @simtime, align 8, !tbaa !13
  %2007 = add i64 %2006, 100
  store i64 %2007, ptr @simtime, align 8, !tbaa !13
  %2008 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2008, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %2008, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2009 = load i64, ptr @simtime, align 8, !tbaa !13
  %2010 = add i64 %2009, 100
  store i64 %2010, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2011 = load i64, ptr @simtime, align 8, !tbaa !13
  %2012 = add i64 %2011, 100
  store i64 %2012, ptr @simtime, align 8, !tbaa !13
  %2013 = getelementptr inbounds i8, ptr %0, i64 40
  %2014 = load i64, ptr %2013, align 8, !tbaa !33
  %2015 = icmp eq i64 %2014, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2016 = load i64, ptr @simtime, align 8, !tbaa !13
  %2017 = add i64 %2016, 100
  store i64 %2017, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2018 = load i64, ptr @simtime, align 8, !tbaa !13
  %2019 = add i64 %2018, 100
  store i64 %2019, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2020 = load i64, ptr @simtime, align 8, !tbaa !13
  %2021 = add i64 %2020, 200
  store i64 %2021, ptr @simtime, align 8, !tbaa !13
  br i1 %2015, label %2022, label %2027

2022:                                             ; preds = %2003
  %2023 = getelementptr inbounds i8, ptr %0, i64 88
  %2024 = load i32, ptr %2023, align 8, !tbaa !31
  %2025 = add i32 %2024, 1
  %2026 = and i32 %2025, 262143
  store i32 %2026, ptr %2023, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2027

2027:                                             ; preds = %2022, %2003
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2028 = load i64, ptr @simtime, align 8, !tbaa !13
  %2029 = add i64 %2028, 200
  store i64 %2029, ptr @simtime, align 8, !tbaa !13
  br label %8570

2030:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2031 = load i64, ptr @simtime, align 8, !tbaa !13
  %2032 = add i64 %2031, 100
  store i64 %2032, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2033 = load i64, ptr @simtime, align 8, !tbaa !13
  %2034 = add i64 %2033, 100
  store i64 %2034, ptr @simtime, align 8, !tbaa !13
  %2035 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2035, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %2035, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2036 = load i64, ptr @simtime, align 8, !tbaa !13
  %2037 = add i64 %2036, 100
  store i64 %2037, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2038 = load i64, ptr @simtime, align 8, !tbaa !13
  %2039 = add i64 %2038, 100
  store i64 %2039, ptr @simtime, align 8, !tbaa !13
  %2040 = getelementptr inbounds i8, ptr %0, i64 40
  %2041 = load i64, ptr %2040, align 8, !tbaa !33
  %2042 = getelementptr inbounds i8, ptr %0, i64 217
  %2043 = load i8, ptr %2042, align 1, !tbaa !64, !range !19, !noundef !20
  %2044 = getelementptr inbounds i8, ptr %0, i64 218
  %2045 = load i8, ptr %2044, align 2, !tbaa !65, !range !19, !noundef !20
  %2046 = icmp ne i8 %2043, %2045
  %2047 = and i64 %2041, 34359738368
  %2048 = icmp eq i64 %2041, 0
  %2049 = icmp ne i64 %2047, 0
  %not..not6375 = xor i1 %2049, %2046
  %spec.select6449 = select i1 %not..not6375, i1 true, i1 %2048
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2050 = load i64, ptr @simtime, align 8, !tbaa !13
  %2051 = add i64 %2050, 100
  store i64 %2051, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2052 = load i64, ptr @simtime, align 8, !tbaa !13
  %2053 = add i64 %2052, 100
  store i64 %2053, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2054 = load i64, ptr @simtime, align 8, !tbaa !13
  %2055 = add i64 %2054, 200
  store i64 %2055, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6449, label %2056, label %2061

2056:                                             ; preds = %2030
  %2057 = getelementptr inbounds i8, ptr %0, i64 88
  %2058 = load i32, ptr %2057, align 8, !tbaa !31
  %2059 = add i32 %2058, 1
  %2060 = and i32 %2059, 262143
  store i32 %2060, ptr %2057, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2061

2061:                                             ; preds = %2056, %2030
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2062 = load i64, ptr @simtime, align 8, !tbaa !13
  %2063 = add i64 %2062, 200
  store i64 %2063, ptr @simtime, align 8, !tbaa !13
  br label %8570

2064:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2065 = load i64, ptr @simtime, align 8, !tbaa !13
  %2066 = add i64 %2065, 100
  store i64 %2066, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2067 = load i64, ptr @simtime, align 8, !tbaa !13
  %2068 = add i64 %2067, 100
  store i64 %2068, ptr @simtime, align 8, !tbaa !13
  %2069 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2069, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %2069, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2070 = load i64, ptr @simtime, align 8, !tbaa !13
  %2071 = add i64 %2070, 100
  store i64 %2071, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2072 = load i64, ptr @simtime, align 8, !tbaa !13
  %2073 = add i64 %2072, 100
  store i64 %2073, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2074 = load i64, ptr @simtime, align 8, !tbaa !13
  %2075 = add i64 %2074, 100
  store i64 %2075, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2076 = load i64, ptr @simtime, align 8, !tbaa !13
  %2077 = add i64 %2076, 100
  store i64 %2077, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2078 = load i64, ptr @simtime, align 8, !tbaa !13
  %2079 = add i64 %2078, 200
  store i64 %2079, ptr @simtime, align 8, !tbaa !13
  %2080 = getelementptr inbounds i8, ptr %0, i64 88
  %2081 = load i32, ptr %2080, align 8, !tbaa !31
  %2082 = add i32 %2081, 1
  %2083 = and i32 %2082, 262143
  store i32 %2083, ptr %2080, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2084 = load i64, ptr @simtime, align 8, !tbaa !13
  %2085 = add i64 %2084, 200
  store i64 %2085, ptr @simtime, align 8, !tbaa !13
  br label %8570

2086:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2087 = load i64, ptr @simtime, align 8, !tbaa !13
  %2088 = add i64 %2087, 100
  store i64 %2088, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2089 = load i64, ptr @simtime, align 8, !tbaa !13
  %2090 = add i64 %2089, 100
  store i64 %2090, ptr @simtime, align 8, !tbaa !13
  %2091 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2091, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %2091, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2092 = load i64, ptr @simtime, align 8, !tbaa !13
  %2093 = add i64 %2092, 100
  store i64 %2093, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2094 = load i64, ptr @simtime, align 8, !tbaa !13
  %2095 = add i64 %2094, 100
  store i64 %2095, ptr @simtime, align 8, !tbaa !13
  %2096 = getelementptr inbounds i8, ptr %0, i64 40
  %2097 = load i64, ptr %2096, align 8, !tbaa !33
  %2098 = getelementptr inbounds i8, ptr %0, i64 217
  %2099 = load i8, ptr %2098, align 1, !tbaa !64, !range !19, !noundef !20
  %2100 = getelementptr inbounds i8, ptr %0, i64 218
  %2101 = load i8, ptr %2100, align 2, !tbaa !65, !range !19, !noundef !20
  %2102 = icmp ne i8 %2099, %2101
  %2103 = and i64 %2097, 34359738368
  %2104 = icmp eq i64 %2103, 0
  %.not6374 = xor i1 %2104, %2102
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2105 = load i64, ptr @simtime, align 8, !tbaa !13
  %2106 = add i64 %2105, 100
  store i64 %2106, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2107 = load i64, ptr @simtime, align 8, !tbaa !13
  %2108 = add i64 %2107, 100
  store i64 %2108, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2109 = load i64, ptr @simtime, align 8, !tbaa !13
  %2110 = add i64 %2109, 200
  store i64 %2110, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6374, label %2111, label %2116

2111:                                             ; preds = %2086
  %2112 = getelementptr inbounds i8, ptr %0, i64 88
  %2113 = load i32, ptr %2112, align 8, !tbaa !31
  %2114 = add i32 %2113, 1
  %2115 = and i32 %2114, 262143
  store i32 %2115, ptr %2112, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2116

2116:                                             ; preds = %2111, %2086
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2117 = load i64, ptr @simtime, align 8, !tbaa !13
  %2118 = add i64 %2117, 200
  store i64 %2118, ptr @simtime, align 8, !tbaa !13
  br label %8570

2119:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2120 = load i64, ptr @simtime, align 8, !tbaa !13
  %2121 = add i64 %2120, 100
  store i64 %2121, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2122 = load i64, ptr @simtime, align 8, !tbaa !13
  %2123 = add i64 %2122, 100
  store i64 %2123, ptr @simtime, align 8, !tbaa !13
  %2124 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2124, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %2124, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2125 = load i64, ptr @simtime, align 8, !tbaa !13
  %2126 = add i64 %2125, 100
  store i64 %2126, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2127 = load i64, ptr @simtime, align 8, !tbaa !13
  %2128 = add i64 %2127, 100
  store i64 %2128, ptr @simtime, align 8, !tbaa !13
  %2129 = getelementptr inbounds i8, ptr %0, i64 40
  %2130 = load i64, ptr %2129, align 8, !tbaa !33
  %.not6373 = icmp eq i64 %2130, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2131 = load i64, ptr @simtime, align 8, !tbaa !13
  %2132 = add i64 %2131, 100
  store i64 %2132, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2133 = load i64, ptr @simtime, align 8, !tbaa !13
  %2134 = add i64 %2133, 100
  store i64 %2134, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2135 = load i64, ptr @simtime, align 8, !tbaa !13
  %2136 = add i64 %2135, 200
  store i64 %2136, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6373, label %2142, label %2137

2137:                                             ; preds = %2119
  %2138 = getelementptr inbounds i8, ptr %0, i64 88
  %2139 = load i32, ptr %2138, align 8, !tbaa !31
  %2140 = add i32 %2139, 1
  %2141 = and i32 %2140, 262143
  store i32 %2141, ptr %2138, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2142

2142:                                             ; preds = %2137, %2119
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2143 = load i64, ptr @simtime, align 8, !tbaa !13
  %2144 = add i64 %2143, 200
  store i64 %2144, ptr @simtime, align 8, !tbaa !13
  br label %8570

2145:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2146 = load i64, ptr @simtime, align 8, !tbaa !13
  %2147 = add i64 %2146, 100
  store i64 %2147, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2148 = load i64, ptr @simtime, align 8, !tbaa !13
  %2149 = add i64 %2148, 100
  store i64 %2149, ptr @simtime, align 8, !tbaa !13
  %2150 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2150, align 1, !tbaa !74
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %2150, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2151 = load i64, ptr @simtime, align 8, !tbaa !13
  %2152 = add i64 %2151, 100
  store i64 %2152, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2153 = load i64, ptr @simtime, align 8, !tbaa !13
  %2154 = add i64 %2153, 100
  store i64 %2154, ptr @simtime, align 8, !tbaa !13
  %2155 = getelementptr inbounds i8, ptr %0, i64 40
  %2156 = load i64, ptr %2155, align 8, !tbaa !33
  %2157 = getelementptr inbounds i8, ptr %0, i64 217
  %2158 = load i8, ptr %2157, align 1, !tbaa !64, !range !19, !noundef !20
  %2159 = getelementptr inbounds i8, ptr %0, i64 218
  %2160 = load i8, ptr %2159, align 2, !tbaa !65, !range !19, !noundef !20
  %2161 = icmp ne i8 %2158, %2160
  %2162 = and i64 %2156, 34359738368
  %2163 = icmp eq i64 %2162, 0
  %.not6372 = xor i1 %2163, %2161
  %2164 = icmp ne i64 %2156, 0
  %spec.select6450 = select i1 %.not6372, i1 %2164, i1 false
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2165 = load i64, ptr @simtime, align 8, !tbaa !13
  %2166 = add i64 %2165, 100
  store i64 %2166, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2167 = load i64, ptr @simtime, align 8, !tbaa !13
  %2168 = add i64 %2167, 100
  store i64 %2168, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2169 = load i64, ptr @simtime, align 8, !tbaa !13
  %2170 = add i64 %2169, 200
  store i64 %2170, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6450, label %2171, label %2176

2171:                                             ; preds = %2145
  %2172 = getelementptr inbounds i8, ptr %0, i64 88
  %2173 = load i32, ptr %2172, align 8, !tbaa !31
  %2174 = add i32 %2173, 1
  %2175 = and i32 %2174, 262143
  store i32 %2175, ptr %2172, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2176

2176:                                             ; preds = %2171, %2145
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2177 = load i64, ptr @simtime, align 8, !tbaa !13
  %2178 = add i64 %2177, 200
  store i64 %2178, ptr @simtime, align 8, !tbaa !13
  br label %8570

2179:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2180 = load i64, ptr @simtime, align 8, !tbaa !13
  %2181 = add i64 %2180, 100
  store i64 %2181, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2182 = load i64, ptr @simtime, align 8, !tbaa !13
  %2183 = add i64 %2182, 100
  store i64 %2183, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2184 = load i64, ptr @simtime, align 8, !tbaa !13
  %2185 = add i64 %2184, 100
  store i64 %2185, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2186 = load i64, ptr @simtime, align 8, !tbaa !13
  %2187 = add i64 %2186, 100
  store i64 %2187, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2188 = load i64, ptr @simtime, align 8, !tbaa !13
  %2189 = add i64 %2188, 100
  store i64 %2189, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2190 = load i64, ptr @simtime, align 8, !tbaa !13
  %2191 = add i64 %2190, 100
  store i64 %2191, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2192 = load i64, ptr @simtime, align 8, !tbaa !13
  %2193 = add i64 %2192, 200
  store i64 %2193, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2194 = load i64, ptr @simtime, align 8, !tbaa !13
  %2195 = add i64 %2194, 200
  store i64 %2195, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2196:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2197 = load i64, ptr @simtime, align 8, !tbaa !13
  %2198 = add i64 %2197, 100
  store i64 %2198, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2199 = load i64, ptr @simtime, align 8, !tbaa !13
  %2200 = add i64 %2199, 100
  store i64 %2200, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2201 = load i64, ptr @simtime, align 8, !tbaa !13
  %2202 = add i64 %2201, 100
  store i64 %2202, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2203 = load i64, ptr @simtime, align 8, !tbaa !13
  %2204 = add i64 %2203, 100
  store i64 %2204, ptr @simtime, align 8, !tbaa !13
  %2205 = getelementptr inbounds i8, ptr %0, i64 40
  %2206 = load i64, ptr %2205, align 8, !tbaa !33
  %2207 = and i64 %2206, 34359738368
  %.not6371 = icmp eq i64 %2207, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2208 = load i64, ptr @simtime, align 8, !tbaa !13
  %2209 = add i64 %2208, 100
  store i64 %2209, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6371, label %.critedge6452, label %2210

2210:                                             ; preds = %2196
  %2211 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2211, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2212 = load i64, ptr @simtime, align 8, !tbaa !13
  %2213 = getelementptr inbounds i8, ptr %0, i64 92
  %2214 = load i32, ptr %2213, align 4, !tbaa !30
  %2215 = load i32, ptr %2211, align 8, !tbaa !31
  %2216 = or i32 %2215, %2214
  store i32 %2216, ptr %2211, align 8, !tbaa !31
  br label %2218

.critedge6452:                                    ; preds = %2196
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2217 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2218

2218:                                             ; preds = %.critedge6452, %2210
  %.sink.in = phi i64 [ %2217, %.critedge6452 ], [ %2212, %2210 ]
  %.sink = add i64 %.sink.in, 100
  store i64 %.sink, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2219 = load i64, ptr @simtime, align 8, !tbaa !13
  %2220 = add i64 %2219, 200
  store i64 %2220, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6371, label %2222, label %2221

2221:                                             ; preds = %2218
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2222

2222:                                             ; preds = %2221, %2218
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2223 = load i64, ptr @simtime, align 8, !tbaa !13
  %2224 = add i64 %2223, 200
  store i64 %2224, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2225:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2226 = load i64, ptr @simtime, align 8, !tbaa !13
  %2227 = add i64 %2226, 100
  store i64 %2227, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2228 = load i64, ptr @simtime, align 8, !tbaa !13
  %2229 = add i64 %2228, 100
  store i64 %2229, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2230 = load i64, ptr @simtime, align 8, !tbaa !13
  %2231 = add i64 %2230, 100
  store i64 %2231, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2232 = load i64, ptr @simtime, align 8, !tbaa !13
  %2233 = add i64 %2232, 100
  store i64 %2233, ptr @simtime, align 8, !tbaa !13
  %2234 = getelementptr inbounds i8, ptr %0, i64 40
  %2235 = load i64, ptr %2234, align 8, !tbaa !33
  %2236 = icmp eq i64 %2235, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2237 = load i64, ptr @simtime, align 8, !tbaa !13
  %2238 = add i64 %2237, 100
  store i64 %2238, ptr @simtime, align 8, !tbaa !13
  br i1 %2236, label %2239, label %.critedge6456

2239:                                             ; preds = %2225
  %2240 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2240, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2241 = load i64, ptr @simtime, align 8, !tbaa !13
  %2242 = getelementptr inbounds i8, ptr %0, i64 92
  %2243 = load i32, ptr %2242, align 4, !tbaa !30
  %2244 = load i32, ptr %2240, align 8, !tbaa !31
  %2245 = or i32 %2244, %2243
  store i32 %2245, ptr %2240, align 8, !tbaa !31
  br label %2247

.critedge6456:                                    ; preds = %2225
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2246 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2247

2247:                                             ; preds = %.critedge6456, %2239
  %.sink6568.in = phi i64 [ %2241, %2239 ], [ %2246, %.critedge6456 ]
  %.sink6568 = add i64 %.sink6568.in, 100
  store i64 %.sink6568, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2248 = load i64, ptr @simtime, align 8, !tbaa !13
  %2249 = add i64 %2248, 200
  store i64 %2249, ptr @simtime, align 8, !tbaa !13
  br i1 %2236, label %2250, label %2251

2250:                                             ; preds = %2247
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2251

2251:                                             ; preds = %2250, %2247
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2252 = load i64, ptr @simtime, align 8, !tbaa !13
  %2253 = add i64 %2252, 200
  store i64 %2253, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2254:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2255 = load i64, ptr @simtime, align 8, !tbaa !13
  %2256 = add i64 %2255, 100
  store i64 %2256, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2257 = load i64, ptr @simtime, align 8, !tbaa !13
  %2258 = add i64 %2257, 100
  store i64 %2258, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2259 = load i64, ptr @simtime, align 8, !tbaa !13
  %2260 = add i64 %2259, 100
  store i64 %2260, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2261 = load i64, ptr @simtime, align 8, !tbaa !13
  %2262 = add i64 %2261, 100
  store i64 %2262, ptr @simtime, align 8, !tbaa !13
  %2263 = getelementptr inbounds i8, ptr %0, i64 40
  %2264 = load i64, ptr %2263, align 8, !tbaa !33
  %2265 = and i64 %2264, 34359738368
  %.not6370 = icmp ne i64 %2265, 0
  %2266 = icmp eq i64 %2264, 0
  %spec.select6459 = or i1 %2266, %.not6370
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2267 = load i64, ptr @simtime, align 8, !tbaa !13
  %2268 = add i64 %2267, 100
  store i64 %2268, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6459, label %2269, label %.critedge6461

2269:                                             ; preds = %2254
  %2270 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2270, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2271 = load i64, ptr @simtime, align 8, !tbaa !13
  %2272 = getelementptr inbounds i8, ptr %0, i64 92
  %2273 = load i32, ptr %2272, align 4, !tbaa !30
  %2274 = load i32, ptr %2270, align 8, !tbaa !31
  %2275 = or i32 %2274, %2273
  store i32 %2275, ptr %2270, align 8, !tbaa !31
  br label %2277

.critedge6461:                                    ; preds = %2254
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2276 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2277

2277:                                             ; preds = %.critedge6461, %2269
  %.sink6569.in = phi i64 [ %2271, %2269 ], [ %2276, %.critedge6461 ]
  %.sink6569 = add i64 %.sink6569.in, 100
  store i64 %.sink6569, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2278 = load i64, ptr @simtime, align 8, !tbaa !13
  %2279 = add i64 %2278, 200
  store i64 %2279, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6459, label %2280, label %2281

2280:                                             ; preds = %2277
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2281

2281:                                             ; preds = %2280, %2277
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2282 = load i64, ptr @simtime, align 8, !tbaa !13
  %2283 = add i64 %2282, 200
  store i64 %2283, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2284:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2285 = load i64, ptr @simtime, align 8, !tbaa !13
  %2286 = add i64 %2285, 100
  store i64 %2286, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2287 = load i64, ptr @simtime, align 8, !tbaa !13
  %2288 = add i64 %2287, 100
  store i64 %2288, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2289 = load i64, ptr @simtime, align 8, !tbaa !13
  %2290 = add i64 %2289, 100
  store i64 %2290, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2291 = load i64, ptr @simtime, align 8, !tbaa !13
  %2292 = add i64 %2291, 100
  store i64 %2292, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2293 = load i64, ptr @simtime, align 8, !tbaa !13
  %2294 = add i64 %2293, 100
  store i64 %2294, ptr @simtime, align 8, !tbaa !13
  %2295 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2295, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2296 = load i64, ptr @simtime, align 8, !tbaa !13
  %2297 = add i64 %2296, 100
  store i64 %2297, ptr @simtime, align 8, !tbaa !13
  %2298 = getelementptr inbounds i8, ptr %0, i64 92
  %2299 = load i32, ptr %2298, align 4, !tbaa !30
  %2300 = load i32, ptr %2295, align 8, !tbaa !31
  %2301 = or i32 %2300, %2299
  store i32 %2301, ptr %2295, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2302 = load i64, ptr @simtime, align 8, !tbaa !13
  %2303 = add i64 %2302, 200
  store i64 %2303, ptr @simtime, align 8, !tbaa !13
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2304 = load i64, ptr @simtime, align 8, !tbaa !13
  %2305 = add i64 %2304, 200
  store i64 %2305, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2306:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2307 = load i64, ptr @simtime, align 8, !tbaa !13
  %2308 = add i64 %2307, 100
  store i64 %2308, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2309 = load i64, ptr @simtime, align 8, !tbaa !13
  %2310 = add i64 %2309, 100
  store i64 %2310, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2311 = load i64, ptr @simtime, align 8, !tbaa !13
  %2312 = add i64 %2311, 100
  store i64 %2312, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2313 = load i64, ptr @simtime, align 8, !tbaa !13
  %2314 = add i64 %2313, 100
  store i64 %2314, ptr @simtime, align 8, !tbaa !13
  %2315 = getelementptr inbounds i8, ptr %0, i64 40
  %2316 = load i64, ptr %2315, align 8, !tbaa !33
  %2317 = and i64 %2316, 34359738368
  %.not6369 = icmp eq i64 %2317, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2318 = load i64, ptr @simtime, align 8, !tbaa !13
  %2319 = add i64 %2318, 100
  store i64 %2319, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6369, label %2320, label %.critedge6465

2320:                                             ; preds = %2306
  %2321 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2321, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2322 = load i64, ptr @simtime, align 8, !tbaa !13
  %2323 = getelementptr inbounds i8, ptr %0, i64 92
  %2324 = load i32, ptr %2323, align 4, !tbaa !30
  %2325 = load i32, ptr %2321, align 8, !tbaa !31
  %2326 = or i32 %2325, %2324
  store i32 %2326, ptr %2321, align 8, !tbaa !31
  br label %2328

.critedge6465:                                    ; preds = %2306
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2327 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2328

2328:                                             ; preds = %.critedge6465, %2320
  %.sink6570.in = phi i64 [ %2322, %2320 ], [ %2327, %.critedge6465 ]
  %.sink6570 = add i64 %.sink6570.in, 100
  store i64 %.sink6570, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2329 = load i64, ptr @simtime, align 8, !tbaa !13
  %2330 = add i64 %2329, 200
  store i64 %2330, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6369, label %2331, label %2332

2331:                                             ; preds = %2328
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2332

2332:                                             ; preds = %2331, %2328
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2333 = load i64, ptr @simtime, align 8, !tbaa !13
  %2334 = add i64 %2333, 200
  store i64 %2334, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2335:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2336 = load i64, ptr @simtime, align 8, !tbaa !13
  %2337 = add i64 %2336, 100
  store i64 %2337, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2338 = load i64, ptr @simtime, align 8, !tbaa !13
  %2339 = add i64 %2338, 100
  store i64 %2339, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2340 = load i64, ptr @simtime, align 8, !tbaa !13
  %2341 = add i64 %2340, 100
  store i64 %2341, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2342 = load i64, ptr @simtime, align 8, !tbaa !13
  %2343 = add i64 %2342, 100
  store i64 %2343, ptr @simtime, align 8, !tbaa !13
  %2344 = getelementptr inbounds i8, ptr %0, i64 40
  %2345 = load i64, ptr %2344, align 8, !tbaa !33
  %.not6368 = icmp eq i64 %2345, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2346 = load i64, ptr @simtime, align 8, !tbaa !13
  %2347 = add i64 %2346, 100
  store i64 %2347, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6368, label %.critedge6469, label %2348

2348:                                             ; preds = %2335
  %2349 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2349, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2350 = load i64, ptr @simtime, align 8, !tbaa !13
  %2351 = getelementptr inbounds i8, ptr %0, i64 92
  %2352 = load i32, ptr %2351, align 4, !tbaa !30
  %2353 = load i32, ptr %2349, align 8, !tbaa !31
  %2354 = or i32 %2353, %2352
  store i32 %2354, ptr %2349, align 8, !tbaa !31
  br label %2356

.critedge6469:                                    ; preds = %2335
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2355 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2356

2356:                                             ; preds = %.critedge6469, %2348
  %.sink6571.in = phi i64 [ %2355, %.critedge6469 ], [ %2350, %2348 ]
  %.sink6571 = add i64 %.sink6571.in, 100
  store i64 %.sink6571, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2357 = load i64, ptr @simtime, align 8, !tbaa !13
  %2358 = add i64 %2357, 200
  store i64 %2358, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6368, label %2360, label %2359

2359:                                             ; preds = %2356
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2360

2360:                                             ; preds = %2359, %2356
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2361 = load i64, ptr @simtime, align 8, !tbaa !13
  %2362 = add i64 %2361, 200
  store i64 %2362, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2363:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2364 = load i64, ptr @simtime, align 8, !tbaa !13
  %2365 = add i64 %2364, 100
  store i64 %2365, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2366 = load i64, ptr @simtime, align 8, !tbaa !13
  %2367 = add i64 %2366, 100
  store i64 %2367, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2368 = load i64, ptr @simtime, align 8, !tbaa !13
  %2369 = add i64 %2368, 100
  store i64 %2369, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2370 = load i64, ptr @simtime, align 8, !tbaa !13
  %2371 = add i64 %2370, 100
  store i64 %2371, ptr @simtime, align 8, !tbaa !13
  %2372 = getelementptr inbounds i8, ptr %0, i64 40
  %2373 = load i64, ptr %2372, align 8, !tbaa !33
  %2374 = and i64 %2373, 34359738368
  %.not6367 = icmp eq i64 %2374, 0
  %2375 = icmp ne i64 %2373, 0
  %spec.select6472 = and i1 %2375, %.not6367
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2376 = load i64, ptr @simtime, align 8, !tbaa !13
  %2377 = add i64 %2376, 100
  store i64 %2377, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6472, label %2378, label %.critedge6474

2378:                                             ; preds = %2363
  %2379 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2379, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2380 = load i64, ptr @simtime, align 8, !tbaa !13
  %2381 = getelementptr inbounds i8, ptr %0, i64 92
  %2382 = load i32, ptr %2381, align 4, !tbaa !30
  %2383 = load i32, ptr %2379, align 8, !tbaa !31
  %2384 = or i32 %2383, %2382
  store i32 %2384, ptr %2379, align 8, !tbaa !31
  br label %2386

.critedge6474:                                    ; preds = %2363
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2385 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2386

2386:                                             ; preds = %.critedge6474, %2378
  %.sink6572.in = phi i64 [ %2380, %2378 ], [ %2385, %.critedge6474 ]
  %.sink6572 = add i64 %.sink6572.in, 100
  store i64 %.sink6572, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2387 = load i64, ptr @simtime, align 8, !tbaa !13
  %2388 = add i64 %2387, 200
  store i64 %2388, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6472, label %2389, label %2390

2389:                                             ; preds = %2386
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2390

2390:                                             ; preds = %2389, %2386
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2391 = load i64, ptr @simtime, align 8, !tbaa !13
  %2392 = add i64 %2391, 200
  store i64 %2392, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2393:                                             ; preds = %._crit_edge
  %2394 = getelementptr inbounds i8, ptr %0, i64 64
  %2395 = load i64, ptr %2394, align 8, !tbaa !38
  %2396 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2395, ptr %2396, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2397 = load i64, ptr @simtime, align 8, !tbaa !13
  %2398 = add i64 %2397, 100
  store i64 %2398, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2399 = load i64, ptr @simtime, align 8, !tbaa !13
  %2400 = add i64 %2399, 100
  store i64 %2400, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2401 = load i64, ptr @simtime, align 8, !tbaa !13
  %2402 = add i64 %2401, 100
  store i64 %2402, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2403 = load i64, ptr @simtime, align 8, !tbaa !13
  %2404 = add i64 %2403, 100
  store i64 %2404, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2405 = load i64, ptr @simtime, align 8, !tbaa !13
  %2406 = add i64 %2405, 100
  store i64 %2406, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2407 = load i64, ptr @simtime, align 8, !tbaa !13
  %2408 = add i64 %2407, 100
  store i64 %2408, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2409 = load i64, ptr @simtime, align 8, !tbaa !13
  %2410 = add i64 %2409, 200
  store i64 %2410, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2411 = load i64, ptr @simtime, align 8, !tbaa !13
  %2412 = add i64 %2411, 200
  store i64 %2412, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2413 = load i64, ptr %2396, align 8, !tbaa !33
  store i64 %2413, ptr %2394, align 8, !tbaa !38
  br label %8570

2414:                                             ; preds = %._crit_edge
  %2415 = getelementptr inbounds i8, ptr %0, i64 64
  %2416 = load i64, ptr %2415, align 8, !tbaa !38
  %2417 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2416, ptr %2417, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2418 = load i64, ptr @simtime, align 8, !tbaa !13
  %2419 = add i64 %2418, 100
  store i64 %2419, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2420 = load i64, ptr @simtime, align 8, !tbaa !13
  %2421 = add i64 %2420, 100
  store i64 %2421, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2422 = load i64, ptr @simtime, align 8, !tbaa !13
  %2423 = add i64 %2422, 100
  store i64 %2423, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2424 = load i64, ptr @simtime, align 8, !tbaa !13
  %2425 = add i64 %2424, 100
  store i64 %2425, ptr @simtime, align 8, !tbaa !13
  %2426 = load i64, ptr %2417, align 8, !tbaa !33
  %2427 = and i64 %2426, 34359738368
  %.not6366 = icmp eq i64 %2427, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2428 = load i64, ptr @simtime, align 8, !tbaa !13
  %2429 = add i64 %2428, 100
  store i64 %2429, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2430 = load i64, ptr @simtime, align 8, !tbaa !13
  %2431 = add i64 %2430, 100
  store i64 %2431, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2432 = load i64, ptr @simtime, align 8, !tbaa !13
  %2433 = add i64 %2432, 200
  store i64 %2433, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6366, label %2439, label %2434

2434:                                             ; preds = %2414
  %2435 = getelementptr inbounds i8, ptr %0, i64 88
  %2436 = load i32, ptr %2435, align 8, !tbaa !31
  %2437 = add i32 %2436, 1
  %2438 = and i32 %2437, 262143
  store i32 %2438, ptr %2435, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2439

2439:                                             ; preds = %2434, %2414
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2440 = load i64, ptr @simtime, align 8, !tbaa !13
  %2441 = add i64 %2440, 200
  store i64 %2441, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2442 = load i64, ptr %2417, align 8, !tbaa !33
  store i64 %2442, ptr %2415, align 8, !tbaa !38
  br label %8570

2443:                                             ; preds = %._crit_edge
  %2444 = getelementptr inbounds i8, ptr %0, i64 64
  %2445 = load i64, ptr %2444, align 8, !tbaa !38
  %2446 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2445, ptr %2446, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2447 = load i64, ptr @simtime, align 8, !tbaa !13
  %2448 = add i64 %2447, 100
  store i64 %2448, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2449 = load i64, ptr @simtime, align 8, !tbaa !13
  %2450 = add i64 %2449, 100
  store i64 %2450, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2451 = load i64, ptr @simtime, align 8, !tbaa !13
  %2452 = add i64 %2451, 100
  store i64 %2452, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2453 = load i64, ptr @simtime, align 8, !tbaa !13
  %2454 = add i64 %2453, 100
  store i64 %2454, ptr @simtime, align 8, !tbaa !13
  %2455 = load i64, ptr %2446, align 8, !tbaa !33
  %2456 = icmp eq i64 %2455, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2457 = load i64, ptr @simtime, align 8, !tbaa !13
  %2458 = add i64 %2457, 100
  store i64 %2458, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2459 = load i64, ptr @simtime, align 8, !tbaa !13
  %2460 = add i64 %2459, 100
  store i64 %2460, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2461 = load i64, ptr @simtime, align 8, !tbaa !13
  %2462 = add i64 %2461, 200
  store i64 %2462, ptr @simtime, align 8, !tbaa !13
  br i1 %2456, label %2463, label %2468

2463:                                             ; preds = %2443
  %2464 = getelementptr inbounds i8, ptr %0, i64 88
  %2465 = load i32, ptr %2464, align 8, !tbaa !31
  %2466 = add i32 %2465, 1
  %2467 = and i32 %2466, 262143
  store i32 %2467, ptr %2464, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2468

2468:                                             ; preds = %2463, %2443
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2469 = load i64, ptr @simtime, align 8, !tbaa !13
  %2470 = add i64 %2469, 200
  store i64 %2470, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2471 = load i64, ptr %2446, align 8, !tbaa !33
  store i64 %2471, ptr %2444, align 8, !tbaa !38
  br label %8570

2472:                                             ; preds = %._crit_edge
  %2473 = getelementptr inbounds i8, ptr %0, i64 64
  %2474 = load i64, ptr %2473, align 8, !tbaa !38
  %2475 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2474, ptr %2475, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2476 = load i64, ptr @simtime, align 8, !tbaa !13
  %2477 = add i64 %2476, 100
  store i64 %2477, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2478 = load i64, ptr @simtime, align 8, !tbaa !13
  %2479 = add i64 %2478, 100
  store i64 %2479, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2480 = load i64, ptr @simtime, align 8, !tbaa !13
  %2481 = add i64 %2480, 100
  store i64 %2481, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2482 = load i64, ptr @simtime, align 8, !tbaa !13
  %2483 = add i64 %2482, 100
  store i64 %2483, ptr @simtime, align 8, !tbaa !13
  %2484 = load i64, ptr %2475, align 8, !tbaa !33
  %2485 = and i64 %2484, 34359738368
  %.not6365 = icmp ne i64 %2485, 0
  %2486 = icmp eq i64 %2484, 0
  %spec.select6477 = or i1 %2486, %.not6365
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2487 = load i64, ptr @simtime, align 8, !tbaa !13
  %2488 = add i64 %2487, 100
  store i64 %2488, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2489 = load i64, ptr @simtime, align 8, !tbaa !13
  %2490 = add i64 %2489, 100
  store i64 %2490, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2491 = load i64, ptr @simtime, align 8, !tbaa !13
  %2492 = add i64 %2491, 200
  store i64 %2492, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6477, label %2493, label %2498

2493:                                             ; preds = %2472
  %2494 = getelementptr inbounds i8, ptr %0, i64 88
  %2495 = load i32, ptr %2494, align 8, !tbaa !31
  %2496 = add i32 %2495, 1
  %2497 = and i32 %2496, 262143
  store i32 %2497, ptr %2494, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2498

2498:                                             ; preds = %2493, %2472
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2499 = load i64, ptr @simtime, align 8, !tbaa !13
  %2500 = add i64 %2499, 200
  store i64 %2500, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2501 = load i64, ptr %2475, align 8, !tbaa !33
  store i64 %2501, ptr %2473, align 8, !tbaa !38
  br label %8570

2502:                                             ; preds = %._crit_edge
  %2503 = getelementptr inbounds i8, ptr %0, i64 64
  %2504 = load i64, ptr %2503, align 8, !tbaa !38
  %2505 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2504, ptr %2505, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2506 = load i64, ptr @simtime, align 8, !tbaa !13
  %2507 = add i64 %2506, 100
  store i64 %2507, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2508 = load i64, ptr @simtime, align 8, !tbaa !13
  %2509 = add i64 %2508, 100
  store i64 %2509, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2510 = load i64, ptr @simtime, align 8, !tbaa !13
  %2511 = add i64 %2510, 100
  store i64 %2511, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2512 = load i64, ptr @simtime, align 8, !tbaa !13
  %2513 = add i64 %2512, 100
  store i64 %2513, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2514 = load i64, ptr @simtime, align 8, !tbaa !13
  %2515 = add i64 %2514, 100
  store i64 %2515, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2516 = load i64, ptr @simtime, align 8, !tbaa !13
  %2517 = add i64 %2516, 100
  store i64 %2517, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2518 = load i64, ptr @simtime, align 8, !tbaa !13
  %2519 = add i64 %2518, 200
  store i64 %2519, ptr @simtime, align 8, !tbaa !13
  %2520 = getelementptr inbounds i8, ptr %0, i64 88
  %2521 = load i32, ptr %2520, align 8, !tbaa !31
  %2522 = add i32 %2521, 1
  %2523 = and i32 %2522, 262143
  store i32 %2523, ptr %2520, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2524 = load i64, ptr @simtime, align 8, !tbaa !13
  %2525 = add i64 %2524, 200
  store i64 %2525, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2526 = load i64, ptr %2505, align 8, !tbaa !33
  store i64 %2526, ptr %2503, align 8, !tbaa !38
  br label %8570

2527:                                             ; preds = %._crit_edge
  %2528 = getelementptr inbounds i8, ptr %0, i64 64
  %2529 = load i64, ptr %2528, align 8, !tbaa !38
  %2530 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2529, ptr %2530, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2531 = load i64, ptr @simtime, align 8, !tbaa !13
  %2532 = add i64 %2531, 100
  store i64 %2532, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2533 = load i64, ptr @simtime, align 8, !tbaa !13
  %2534 = add i64 %2533, 100
  store i64 %2534, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2535 = load i64, ptr @simtime, align 8, !tbaa !13
  %2536 = add i64 %2535, 100
  store i64 %2536, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2537 = load i64, ptr @simtime, align 8, !tbaa !13
  %2538 = add i64 %2537, 100
  store i64 %2538, ptr @simtime, align 8, !tbaa !13
  %2539 = load i64, ptr %2530, align 8, !tbaa !33
  %2540 = and i64 %2539, 34359738368
  %.not6364 = icmp eq i64 %2540, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2541 = load i64, ptr @simtime, align 8, !tbaa !13
  %2542 = add i64 %2541, 100
  store i64 %2542, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2543 = load i64, ptr @simtime, align 8, !tbaa !13
  %2544 = add i64 %2543, 100
  store i64 %2544, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2545 = load i64, ptr @simtime, align 8, !tbaa !13
  %2546 = add i64 %2545, 200
  store i64 %2546, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6364, label %2547, label %2552

2547:                                             ; preds = %2527
  %2548 = getelementptr inbounds i8, ptr %0, i64 88
  %2549 = load i32, ptr %2548, align 8, !tbaa !31
  %2550 = add i32 %2549, 1
  %2551 = and i32 %2550, 262143
  store i32 %2551, ptr %2548, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2552

2552:                                             ; preds = %2547, %2527
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2553 = load i64, ptr @simtime, align 8, !tbaa !13
  %2554 = add i64 %2553, 200
  store i64 %2554, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2555 = load i64, ptr %2530, align 8, !tbaa !33
  store i64 %2555, ptr %2528, align 8, !tbaa !38
  br label %8570

2556:                                             ; preds = %._crit_edge
  %2557 = getelementptr inbounds i8, ptr %0, i64 64
  %2558 = load i64, ptr %2557, align 8, !tbaa !38
  %2559 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2558, ptr %2559, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2560 = load i64, ptr @simtime, align 8, !tbaa !13
  %2561 = add i64 %2560, 100
  store i64 %2561, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2562 = load i64, ptr @simtime, align 8, !tbaa !13
  %2563 = add i64 %2562, 100
  store i64 %2563, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2564 = load i64, ptr @simtime, align 8, !tbaa !13
  %2565 = add i64 %2564, 100
  store i64 %2565, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2566 = load i64, ptr @simtime, align 8, !tbaa !13
  %2567 = add i64 %2566, 100
  store i64 %2567, ptr @simtime, align 8, !tbaa !13
  %2568 = load i64, ptr %2559, align 8, !tbaa !33
  %.not6363 = icmp eq i64 %2568, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2569 = load i64, ptr @simtime, align 8, !tbaa !13
  %2570 = add i64 %2569, 100
  store i64 %2570, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2571 = load i64, ptr @simtime, align 8, !tbaa !13
  %2572 = add i64 %2571, 100
  store i64 %2572, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2573 = load i64, ptr @simtime, align 8, !tbaa !13
  %2574 = add i64 %2573, 200
  store i64 %2574, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6363, label %2580, label %2575

2575:                                             ; preds = %2556
  %2576 = getelementptr inbounds i8, ptr %0, i64 88
  %2577 = load i32, ptr %2576, align 8, !tbaa !31
  %2578 = add i32 %2577, 1
  %2579 = and i32 %2578, 262143
  store i32 %2579, ptr %2576, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2580

2580:                                             ; preds = %2575, %2556
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2581 = load i64, ptr @simtime, align 8, !tbaa !13
  %2582 = add i64 %2581, 200
  store i64 %2582, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2583 = load i64, ptr %2559, align 8, !tbaa !33
  store i64 %2583, ptr %2557, align 8, !tbaa !38
  br label %8570

2584:                                             ; preds = %._crit_edge
  %2585 = getelementptr inbounds i8, ptr %0, i64 64
  %2586 = load i64, ptr %2585, align 8, !tbaa !38
  %2587 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2586, ptr %2587, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2588 = load i64, ptr @simtime, align 8, !tbaa !13
  %2589 = add i64 %2588, 100
  store i64 %2589, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2590 = load i64, ptr @simtime, align 8, !tbaa !13
  %2591 = add i64 %2590, 100
  store i64 %2591, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2592 = load i64, ptr @simtime, align 8, !tbaa !13
  %2593 = add i64 %2592, 100
  store i64 %2593, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2594 = load i64, ptr @simtime, align 8, !tbaa !13
  %2595 = add i64 %2594, 100
  store i64 %2595, ptr @simtime, align 8, !tbaa !13
  %2596 = load i64, ptr %2587, align 8, !tbaa !33
  %2597 = and i64 %2596, 34359738368
  %.not6362 = icmp eq i64 %2597, 0
  %2598 = icmp ne i64 %2596, 0
  %spec.select6478 = and i1 %2598, %.not6362
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2599 = load i64, ptr @simtime, align 8, !tbaa !13
  %2600 = add i64 %2599, 100
  store i64 %2600, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2601 = load i64, ptr @simtime, align 8, !tbaa !13
  %2602 = add i64 %2601, 100
  store i64 %2602, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2603 = load i64, ptr @simtime, align 8, !tbaa !13
  %2604 = add i64 %2603, 200
  store i64 %2604, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6478, label %2605, label %2610

2605:                                             ; preds = %2584
  %2606 = getelementptr inbounds i8, ptr %0, i64 88
  %2607 = load i32, ptr %2606, align 8, !tbaa !31
  %2608 = add i32 %2607, 1
  %2609 = and i32 %2608, 262143
  store i32 %2609, ptr %2606, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2610

2610:                                             ; preds = %2605, %2584
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2611 = load i64, ptr @simtime, align 8, !tbaa !13
  %2612 = add i64 %2611, 200
  store i64 %2612, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2613 = load i64, ptr %2587, align 8, !tbaa !33
  store i64 %2613, ptr %2585, align 8, !tbaa !38
  br label %8570

2614:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2615 = load i64, ptr @simtime, align 8, !tbaa !13
  %2616 = add i64 %2615, 100
  store i64 %2616, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2617 = load i64, ptr @simtime, align 8, !tbaa !13
  %2618 = add i64 %2617, 100
  store i64 %2618, ptr @simtime, align 8, !tbaa !13
  %2619 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2619, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2619, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2620 = load i64, ptr @simtime, align 8, !tbaa !13
  %2621 = add i64 %2620, 100
  store i64 %2621, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2622 = load i64, ptr @simtime, align 8, !tbaa !13
  %2623 = add i64 %2622, 100
  store i64 %2623, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2624 = load i64, ptr @simtime, align 8, !tbaa !13
  %2625 = add i64 %2624, 100
  store i64 %2625, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2626 = load i64, ptr @simtime, align 8, !tbaa !13
  %2627 = add i64 %2626, 100
  store i64 %2627, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2628 = load i64, ptr @simtime, align 8, !tbaa !13
  %2629 = add i64 %2628, 200
  store i64 %2629, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2630 = load i64, ptr @simtime, align 8, !tbaa !13
  %2631 = add i64 %2630, 200
  store i64 %2631, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2632:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2633 = load i64, ptr @simtime, align 8, !tbaa !13
  %2634 = add i64 %2633, 100
  store i64 %2634, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2635 = load i64, ptr @simtime, align 8, !tbaa !13
  %2636 = add i64 %2635, 100
  store i64 %2636, ptr @simtime, align 8, !tbaa !13
  %2637 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2637, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2637, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2638 = load i64, ptr @simtime, align 8, !tbaa !13
  %2639 = add i64 %2638, 100
  store i64 %2639, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2640 = load i64, ptr @simtime, align 8, !tbaa !13
  %2641 = add i64 %2640, 100
  store i64 %2641, ptr @simtime, align 8, !tbaa !13
  %2642 = getelementptr inbounds i8, ptr %0, i64 40
  %2643 = load i64, ptr %2642, align 8, !tbaa !33
  %2644 = and i64 %2643, 34359738368
  %.not6361 = icmp eq i64 %2644, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2645 = load i64, ptr @simtime, align 8, !tbaa !13
  %2646 = add i64 %2645, 100
  store i64 %2646, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6361, label %.critedge6480, label %2647

2647:                                             ; preds = %2632
  %2648 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2648, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2649 = load i64, ptr @simtime, align 8, !tbaa !13
  %2650 = getelementptr inbounds i8, ptr %0, i64 92
  %2651 = load i32, ptr %2650, align 4, !tbaa !30
  %2652 = load i32, ptr %2648, align 8, !tbaa !31
  %2653 = or i32 %2652, %2651
  store i32 %2653, ptr %2648, align 8, !tbaa !31
  br label %2655

.critedge6480:                                    ; preds = %2632
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2654 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2655

2655:                                             ; preds = %.critedge6480, %2647
  %.sink6573.in = phi i64 [ %2654, %.critedge6480 ], [ %2649, %2647 ]
  %.sink6573 = add i64 %.sink6573.in, 100
  store i64 %.sink6573, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2656 = load i64, ptr @simtime, align 8, !tbaa !13
  %2657 = add i64 %2656, 200
  store i64 %2657, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6361, label %2659, label %2658

2658:                                             ; preds = %2655
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2659

2659:                                             ; preds = %2658, %2655
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2660 = load i64, ptr @simtime, align 8, !tbaa !13
  %2661 = add i64 %2660, 200
  store i64 %2661, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2662:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2663 = load i64, ptr @simtime, align 8, !tbaa !13
  %2664 = add i64 %2663, 100
  store i64 %2664, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2665 = load i64, ptr @simtime, align 8, !tbaa !13
  %2666 = add i64 %2665, 100
  store i64 %2666, ptr @simtime, align 8, !tbaa !13
  %2667 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2667, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2667, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2668 = load i64, ptr @simtime, align 8, !tbaa !13
  %2669 = add i64 %2668, 100
  store i64 %2669, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2670 = load i64, ptr @simtime, align 8, !tbaa !13
  %2671 = add i64 %2670, 100
  store i64 %2671, ptr @simtime, align 8, !tbaa !13
  %2672 = getelementptr inbounds i8, ptr %0, i64 40
  %2673 = load i64, ptr %2672, align 8, !tbaa !33
  %2674 = icmp eq i64 %2673, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2675 = load i64, ptr @simtime, align 8, !tbaa !13
  %2676 = add i64 %2675, 100
  store i64 %2676, ptr @simtime, align 8, !tbaa !13
  br i1 %2674, label %2677, label %.critedge6484

2677:                                             ; preds = %2662
  %2678 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2678, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2679 = load i64, ptr @simtime, align 8, !tbaa !13
  %2680 = getelementptr inbounds i8, ptr %0, i64 92
  %2681 = load i32, ptr %2680, align 4, !tbaa !30
  %2682 = load i32, ptr %2678, align 8, !tbaa !31
  %2683 = or i32 %2682, %2681
  store i32 %2683, ptr %2678, align 8, !tbaa !31
  br label %2685

.critedge6484:                                    ; preds = %2662
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2684 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2685

2685:                                             ; preds = %.critedge6484, %2677
  %.sink6574.in = phi i64 [ %2679, %2677 ], [ %2684, %.critedge6484 ]
  %.sink6574 = add i64 %.sink6574.in, 100
  store i64 %.sink6574, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2686 = load i64, ptr @simtime, align 8, !tbaa !13
  %2687 = add i64 %2686, 200
  store i64 %2687, ptr @simtime, align 8, !tbaa !13
  br i1 %2674, label %2688, label %2689

2688:                                             ; preds = %2685
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2689

2689:                                             ; preds = %2688, %2685
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2690 = load i64, ptr @simtime, align 8, !tbaa !13
  %2691 = add i64 %2690, 200
  store i64 %2691, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2692:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2693 = load i64, ptr @simtime, align 8, !tbaa !13
  %2694 = add i64 %2693, 100
  store i64 %2694, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2695 = load i64, ptr @simtime, align 8, !tbaa !13
  %2696 = add i64 %2695, 100
  store i64 %2696, ptr @simtime, align 8, !tbaa !13
  %2697 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2697, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2697, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2698 = load i64, ptr @simtime, align 8, !tbaa !13
  %2699 = add i64 %2698, 100
  store i64 %2699, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2700 = load i64, ptr @simtime, align 8, !tbaa !13
  %2701 = add i64 %2700, 100
  store i64 %2701, ptr @simtime, align 8, !tbaa !13
  %2702 = getelementptr inbounds i8, ptr %0, i64 40
  %2703 = load i64, ptr %2702, align 8, !tbaa !33
  %2704 = and i64 %2703, 34359738368
  %.not6360 = icmp ne i64 %2704, 0
  %2705 = icmp eq i64 %2703, 0
  %spec.select6487 = or i1 %2705, %.not6360
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2706 = load i64, ptr @simtime, align 8, !tbaa !13
  %2707 = add i64 %2706, 100
  store i64 %2707, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6487, label %2708, label %.critedge6489

2708:                                             ; preds = %2692
  %2709 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2709, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2710 = load i64, ptr @simtime, align 8, !tbaa !13
  %2711 = getelementptr inbounds i8, ptr %0, i64 92
  %2712 = load i32, ptr %2711, align 4, !tbaa !30
  %2713 = load i32, ptr %2709, align 8, !tbaa !31
  %2714 = or i32 %2713, %2712
  store i32 %2714, ptr %2709, align 8, !tbaa !31
  br label %2716

.critedge6489:                                    ; preds = %2692
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2715 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2716

2716:                                             ; preds = %.critedge6489, %2708
  %.sink6575.in = phi i64 [ %2710, %2708 ], [ %2715, %.critedge6489 ]
  %.sink6575 = add i64 %.sink6575.in, 100
  store i64 %.sink6575, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2717 = load i64, ptr @simtime, align 8, !tbaa !13
  %2718 = add i64 %2717, 200
  store i64 %2718, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6487, label %2719, label %2720

2719:                                             ; preds = %2716
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2720

2720:                                             ; preds = %2719, %2716
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2721 = load i64, ptr @simtime, align 8, !tbaa !13
  %2722 = add i64 %2721, 200
  store i64 %2722, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2723:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2724 = load i64, ptr @simtime, align 8, !tbaa !13
  %2725 = add i64 %2724, 100
  store i64 %2725, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2726 = load i64, ptr @simtime, align 8, !tbaa !13
  %2727 = add i64 %2726, 100
  store i64 %2727, ptr @simtime, align 8, !tbaa !13
  %2728 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2728, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2728, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2729 = load i64, ptr @simtime, align 8, !tbaa !13
  %2730 = add i64 %2729, 100
  store i64 %2730, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2731 = load i64, ptr @simtime, align 8, !tbaa !13
  %2732 = add i64 %2731, 100
  store i64 %2732, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2733 = load i64, ptr @simtime, align 8, !tbaa !13
  %2734 = add i64 %2733, 100
  store i64 %2734, ptr @simtime, align 8, !tbaa !13
  %2735 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2735, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2736 = load i64, ptr @simtime, align 8, !tbaa !13
  %2737 = add i64 %2736, 100
  store i64 %2737, ptr @simtime, align 8, !tbaa !13
  %2738 = getelementptr inbounds i8, ptr %0, i64 92
  %2739 = load i32, ptr %2738, align 4, !tbaa !30
  %2740 = load i32, ptr %2735, align 8, !tbaa !31
  %2741 = or i32 %2740, %2739
  store i32 %2741, ptr %2735, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2742 = load i64, ptr @simtime, align 8, !tbaa !13
  %2743 = add i64 %2742, 200
  store i64 %2743, ptr @simtime, align 8, !tbaa !13
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2744 = load i64, ptr @simtime, align 8, !tbaa !13
  %2745 = add i64 %2744, 200
  store i64 %2745, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2746:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2747 = load i64, ptr @simtime, align 8, !tbaa !13
  %2748 = add i64 %2747, 100
  store i64 %2748, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2749 = load i64, ptr @simtime, align 8, !tbaa !13
  %2750 = add i64 %2749, 100
  store i64 %2750, ptr @simtime, align 8, !tbaa !13
  %2751 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2751, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2751, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2752 = load i64, ptr @simtime, align 8, !tbaa !13
  %2753 = add i64 %2752, 100
  store i64 %2753, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2754 = load i64, ptr @simtime, align 8, !tbaa !13
  %2755 = add i64 %2754, 100
  store i64 %2755, ptr @simtime, align 8, !tbaa !13
  %2756 = getelementptr inbounds i8, ptr %0, i64 40
  %2757 = load i64, ptr %2756, align 8, !tbaa !33
  %2758 = and i64 %2757, 34359738368
  %.not6359 = icmp eq i64 %2758, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2759 = load i64, ptr @simtime, align 8, !tbaa !13
  %2760 = add i64 %2759, 100
  store i64 %2760, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6359, label %2761, label %.critedge6493

2761:                                             ; preds = %2746
  %2762 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2762, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2763 = load i64, ptr @simtime, align 8, !tbaa !13
  %2764 = getelementptr inbounds i8, ptr %0, i64 92
  %2765 = load i32, ptr %2764, align 4, !tbaa !30
  %2766 = load i32, ptr %2762, align 8, !tbaa !31
  %2767 = or i32 %2766, %2765
  store i32 %2767, ptr %2762, align 8, !tbaa !31
  br label %2769

.critedge6493:                                    ; preds = %2746
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2768 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2769

2769:                                             ; preds = %.critedge6493, %2761
  %.sink6576.in = phi i64 [ %2763, %2761 ], [ %2768, %.critedge6493 ]
  %.sink6576 = add i64 %.sink6576.in, 100
  store i64 %.sink6576, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2770 = load i64, ptr @simtime, align 8, !tbaa !13
  %2771 = add i64 %2770, 200
  store i64 %2771, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6359, label %2772, label %2773

2772:                                             ; preds = %2769
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2773

2773:                                             ; preds = %2772, %2769
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2774 = load i64, ptr @simtime, align 8, !tbaa !13
  %2775 = add i64 %2774, 200
  store i64 %2775, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2776:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2777 = load i64, ptr @simtime, align 8, !tbaa !13
  %2778 = add i64 %2777, 100
  store i64 %2778, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2779 = load i64, ptr @simtime, align 8, !tbaa !13
  %2780 = add i64 %2779, 100
  store i64 %2780, ptr @simtime, align 8, !tbaa !13
  %2781 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2781, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2781, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2782 = load i64, ptr @simtime, align 8, !tbaa !13
  %2783 = add i64 %2782, 100
  store i64 %2783, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2784 = load i64, ptr @simtime, align 8, !tbaa !13
  %2785 = add i64 %2784, 100
  store i64 %2785, ptr @simtime, align 8, !tbaa !13
  %2786 = getelementptr inbounds i8, ptr %0, i64 40
  %2787 = load i64, ptr %2786, align 8, !tbaa !33
  %.not6358 = icmp eq i64 %2787, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2788 = load i64, ptr @simtime, align 8, !tbaa !13
  %2789 = add i64 %2788, 100
  store i64 %2789, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6358, label %.critedge6497, label %2790

2790:                                             ; preds = %2776
  %2791 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2791, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2792 = load i64, ptr @simtime, align 8, !tbaa !13
  %2793 = getelementptr inbounds i8, ptr %0, i64 92
  %2794 = load i32, ptr %2793, align 4, !tbaa !30
  %2795 = load i32, ptr %2791, align 8, !tbaa !31
  %2796 = or i32 %2795, %2794
  store i32 %2796, ptr %2791, align 8, !tbaa !31
  br label %2798

.critedge6497:                                    ; preds = %2776
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2797 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2798

2798:                                             ; preds = %.critedge6497, %2790
  %.sink6577.in = phi i64 [ %2797, %.critedge6497 ], [ %2792, %2790 ]
  %.sink6577 = add i64 %.sink6577.in, 100
  store i64 %.sink6577, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2799 = load i64, ptr @simtime, align 8, !tbaa !13
  %2800 = add i64 %2799, 200
  store i64 %2800, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6358, label %2802, label %2801

2801:                                             ; preds = %2798
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2802

2802:                                             ; preds = %2801, %2798
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2803 = load i64, ptr @simtime, align 8, !tbaa !13
  %2804 = add i64 %2803, 200
  store i64 %2804, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2805:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2806 = load i64, ptr @simtime, align 8, !tbaa !13
  %2807 = add i64 %2806, 100
  store i64 %2807, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2808 = load i64, ptr @simtime, align 8, !tbaa !13
  %2809 = add i64 %2808, 100
  store i64 %2809, ptr @simtime, align 8, !tbaa !13
  %2810 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2810, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2810, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2811 = load i64, ptr @simtime, align 8, !tbaa !13
  %2812 = add i64 %2811, 100
  store i64 %2812, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2813 = load i64, ptr @simtime, align 8, !tbaa !13
  %2814 = add i64 %2813, 100
  store i64 %2814, ptr @simtime, align 8, !tbaa !13
  %2815 = getelementptr inbounds i8, ptr %0, i64 40
  %2816 = load i64, ptr %2815, align 8, !tbaa !33
  %2817 = and i64 %2816, 34359738368
  %.not6357 = icmp eq i64 %2817, 0
  %2818 = icmp ne i64 %2816, 0
  %spec.select6500 = and i1 %2818, %.not6357
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2819 = load i64, ptr @simtime, align 8, !tbaa !13
  %2820 = add i64 %2819, 100
  store i64 %2820, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6500, label %2821, label %.critedge6502

2821:                                             ; preds = %2805
  %2822 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %2822, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2823 = load i64, ptr @simtime, align 8, !tbaa !13
  %2824 = getelementptr inbounds i8, ptr %0, i64 92
  %2825 = load i32, ptr %2824, align 4, !tbaa !30
  %2826 = load i32, ptr %2822, align 8, !tbaa !31
  %2827 = or i32 %2826, %2825
  store i32 %2827, ptr %2822, align 8, !tbaa !31
  br label %2829

.critedge6502:                                    ; preds = %2805
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2828 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %2829

2829:                                             ; preds = %.critedge6502, %2821
  %.sink6578.in = phi i64 [ %2823, %2821 ], [ %2828, %.critedge6502 ]
  %.sink6578 = add i64 %.sink6578.in, 100
  store i64 %.sink6578, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2830 = load i64, ptr @simtime, align 8, !tbaa !13
  %2831 = add i64 %2830, 200
  store i64 %2831, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6500, label %2832, label %2833

2832:                                             ; preds = %2829
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2833

2833:                                             ; preds = %2832, %2829
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2834 = load i64, ptr @simtime, align 8, !tbaa !13
  %2835 = add i64 %2834, 200
  store i64 %2835, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

2836:                                             ; preds = %._crit_edge
  %2837 = getelementptr inbounds i8, ptr %0, i64 64
  %2838 = load i64, ptr %2837, align 8, !tbaa !38
  %2839 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2838, ptr %2839, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2840 = load i64, ptr @simtime, align 8, !tbaa !13
  %2841 = add i64 %2840, 100
  store i64 %2841, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2842 = load i64, ptr @simtime, align 8, !tbaa !13
  %2843 = add i64 %2842, 100
  store i64 %2843, ptr @simtime, align 8, !tbaa !13
  %2844 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2844, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2844, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2845 = load i64, ptr @simtime, align 8, !tbaa !13
  %2846 = add i64 %2845, 100
  store i64 %2846, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2847 = load i64, ptr @simtime, align 8, !tbaa !13
  %2848 = add i64 %2847, 100
  store i64 %2848, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2849 = load i64, ptr @simtime, align 8, !tbaa !13
  %2850 = add i64 %2849, 100
  store i64 %2850, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2851 = load i64, ptr @simtime, align 8, !tbaa !13
  %2852 = add i64 %2851, 100
  store i64 %2852, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2853 = load i64, ptr @simtime, align 8, !tbaa !13
  %2854 = add i64 %2853, 200
  store i64 %2854, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2855 = load i64, ptr @simtime, align 8, !tbaa !13
  %2856 = add i64 %2855, 200
  store i64 %2856, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2857 = load i64, ptr %2839, align 8, !tbaa !33
  store i64 %2857, ptr %2837, align 8, !tbaa !38
  br label %8570

2858:                                             ; preds = %._crit_edge
  %2859 = getelementptr inbounds i8, ptr %0, i64 64
  %2860 = load i64, ptr %2859, align 8, !tbaa !38
  %2861 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2860, ptr %2861, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2862 = load i64, ptr @simtime, align 8, !tbaa !13
  %2863 = add i64 %2862, 100
  store i64 %2863, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2864 = load i64, ptr @simtime, align 8, !tbaa !13
  %2865 = add i64 %2864, 100
  store i64 %2865, ptr @simtime, align 8, !tbaa !13
  %2866 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2866, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2866, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2867 = load i64, ptr @simtime, align 8, !tbaa !13
  %2868 = add i64 %2867, 100
  store i64 %2868, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2869 = load i64, ptr @simtime, align 8, !tbaa !13
  %2870 = add i64 %2869, 100
  store i64 %2870, ptr @simtime, align 8, !tbaa !13
  %2871 = load i64, ptr %2861, align 8, !tbaa !33
  %2872 = and i64 %2871, 34359738368
  %.not6356 = icmp eq i64 %2872, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2873 = load i64, ptr @simtime, align 8, !tbaa !13
  %2874 = add i64 %2873, 100
  store i64 %2874, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2875 = load i64, ptr @simtime, align 8, !tbaa !13
  %2876 = add i64 %2875, 100
  store i64 %2876, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2877 = load i64, ptr @simtime, align 8, !tbaa !13
  %2878 = add i64 %2877, 200
  store i64 %2878, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6356, label %2884, label %2879

2879:                                             ; preds = %2858
  %2880 = getelementptr inbounds i8, ptr %0, i64 88
  %2881 = load i32, ptr %2880, align 8, !tbaa !31
  %2882 = add i32 %2881, 1
  %2883 = and i32 %2882, 262143
  store i32 %2883, ptr %2880, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2884

2884:                                             ; preds = %2879, %2858
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2885 = load i64, ptr @simtime, align 8, !tbaa !13
  %2886 = add i64 %2885, 200
  store i64 %2886, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2887 = load i64, ptr %2861, align 8, !tbaa !33
  store i64 %2887, ptr %2859, align 8, !tbaa !38
  br label %8570

2888:                                             ; preds = %._crit_edge
  %2889 = getelementptr inbounds i8, ptr %0, i64 64
  %2890 = load i64, ptr %2889, align 8, !tbaa !38
  %2891 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2890, ptr %2891, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2892 = load i64, ptr @simtime, align 8, !tbaa !13
  %2893 = add i64 %2892, 100
  store i64 %2893, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2894 = load i64, ptr @simtime, align 8, !tbaa !13
  %2895 = add i64 %2894, 100
  store i64 %2895, ptr @simtime, align 8, !tbaa !13
  %2896 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2896, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2896, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2897 = load i64, ptr @simtime, align 8, !tbaa !13
  %2898 = add i64 %2897, 100
  store i64 %2898, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2899 = load i64, ptr @simtime, align 8, !tbaa !13
  %2900 = add i64 %2899, 100
  store i64 %2900, ptr @simtime, align 8, !tbaa !13
  %2901 = load i64, ptr %2891, align 8, !tbaa !33
  %2902 = icmp eq i64 %2901, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2903 = load i64, ptr @simtime, align 8, !tbaa !13
  %2904 = add i64 %2903, 100
  store i64 %2904, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2905 = load i64, ptr @simtime, align 8, !tbaa !13
  %2906 = add i64 %2905, 100
  store i64 %2906, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2907 = load i64, ptr @simtime, align 8, !tbaa !13
  %2908 = add i64 %2907, 200
  store i64 %2908, ptr @simtime, align 8, !tbaa !13
  br i1 %2902, label %2909, label %2914

2909:                                             ; preds = %2888
  %2910 = getelementptr inbounds i8, ptr %0, i64 88
  %2911 = load i32, ptr %2910, align 8, !tbaa !31
  %2912 = add i32 %2911, 1
  %2913 = and i32 %2912, 262143
  store i32 %2913, ptr %2910, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2914

2914:                                             ; preds = %2909, %2888
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2915 = load i64, ptr @simtime, align 8, !tbaa !13
  %2916 = add i64 %2915, 200
  store i64 %2916, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2917 = load i64, ptr %2891, align 8, !tbaa !33
  store i64 %2917, ptr %2889, align 8, !tbaa !38
  br label %8570

2918:                                             ; preds = %._crit_edge
  %2919 = getelementptr inbounds i8, ptr %0, i64 64
  %2920 = load i64, ptr %2919, align 8, !tbaa !38
  %2921 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2920, ptr %2921, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2922 = load i64, ptr @simtime, align 8, !tbaa !13
  %2923 = add i64 %2922, 100
  store i64 %2923, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2924 = load i64, ptr @simtime, align 8, !tbaa !13
  %2925 = add i64 %2924, 100
  store i64 %2925, ptr @simtime, align 8, !tbaa !13
  %2926 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2926, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2926, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2927 = load i64, ptr @simtime, align 8, !tbaa !13
  %2928 = add i64 %2927, 100
  store i64 %2928, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2929 = load i64, ptr @simtime, align 8, !tbaa !13
  %2930 = add i64 %2929, 100
  store i64 %2930, ptr @simtime, align 8, !tbaa !13
  %2931 = load i64, ptr %2921, align 8, !tbaa !33
  %2932 = and i64 %2931, 34359738368
  %.not6355 = icmp ne i64 %2932, 0
  %2933 = icmp eq i64 %2931, 0
  %spec.select6505 = or i1 %2933, %.not6355
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2934 = load i64, ptr @simtime, align 8, !tbaa !13
  %2935 = add i64 %2934, 100
  store i64 %2935, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2936 = load i64, ptr @simtime, align 8, !tbaa !13
  %2937 = add i64 %2936, 100
  store i64 %2937, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2938 = load i64, ptr @simtime, align 8, !tbaa !13
  %2939 = add i64 %2938, 200
  store i64 %2939, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6505, label %2940, label %2945

2940:                                             ; preds = %2918
  %2941 = getelementptr inbounds i8, ptr %0, i64 88
  %2942 = load i32, ptr %2941, align 8, !tbaa !31
  %2943 = add i32 %2942, 1
  %2944 = and i32 %2943, 262143
  store i32 %2944, ptr %2941, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %2945

2945:                                             ; preds = %2940, %2918
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2946 = load i64, ptr @simtime, align 8, !tbaa !13
  %2947 = add i64 %2946, 200
  store i64 %2947, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2948 = load i64, ptr %2921, align 8, !tbaa !33
  store i64 %2948, ptr %2919, align 8, !tbaa !38
  br label %8570

2949:                                             ; preds = %._crit_edge
  %2950 = getelementptr inbounds i8, ptr %0, i64 64
  %2951 = load i64, ptr %2950, align 8, !tbaa !38
  %2952 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2951, ptr %2952, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2953 = load i64, ptr @simtime, align 8, !tbaa !13
  %2954 = add i64 %2953, 100
  store i64 %2954, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2955 = load i64, ptr @simtime, align 8, !tbaa !13
  %2956 = add i64 %2955, 100
  store i64 %2956, ptr @simtime, align 8, !tbaa !13
  %2957 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2957, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2957, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2958 = load i64, ptr @simtime, align 8, !tbaa !13
  %2959 = add i64 %2958, 100
  store i64 %2959, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2960 = load i64, ptr @simtime, align 8, !tbaa !13
  %2961 = add i64 %2960, 100
  store i64 %2961, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2962 = load i64, ptr @simtime, align 8, !tbaa !13
  %2963 = add i64 %2962, 100
  store i64 %2963, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2964 = load i64, ptr @simtime, align 8, !tbaa !13
  %2965 = add i64 %2964, 100
  store i64 %2965, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2966 = load i64, ptr @simtime, align 8, !tbaa !13
  %2967 = add i64 %2966, 200
  store i64 %2967, ptr @simtime, align 8, !tbaa !13
  %2968 = getelementptr inbounds i8, ptr %0, i64 88
  %2969 = load i32, ptr %2968, align 8, !tbaa !31
  %2970 = add i32 %2969, 1
  %2971 = and i32 %2970, 262143
  store i32 %2971, ptr %2968, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %2972 = load i64, ptr @simtime, align 8, !tbaa !13
  %2973 = add i64 %2972, 200
  store i64 %2973, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %2974 = load i64, ptr %2952, align 8, !tbaa !33
  store i64 %2974, ptr %2950, align 8, !tbaa !38
  br label %8570

2975:                                             ; preds = %._crit_edge
  %2976 = getelementptr inbounds i8, ptr %0, i64 64
  %2977 = load i64, ptr %2976, align 8, !tbaa !38
  %2978 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %2977, ptr %2978, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %2979 = load i64, ptr @simtime, align 8, !tbaa !13
  %2980 = add i64 %2979, 100
  store i64 %2980, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %2981 = load i64, ptr @simtime, align 8, !tbaa !13
  %2982 = add i64 %2981, 100
  store i64 %2982, ptr @simtime, align 8, !tbaa !13
  %2983 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %2983, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %2983, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %2984 = load i64, ptr @simtime, align 8, !tbaa !13
  %2985 = add i64 %2984, 100
  store i64 %2985, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %2986 = load i64, ptr @simtime, align 8, !tbaa !13
  %2987 = add i64 %2986, 100
  store i64 %2987, ptr @simtime, align 8, !tbaa !13
  %2988 = load i64, ptr %2978, align 8, !tbaa !33
  %2989 = and i64 %2988, 34359738368
  %.not6354 = icmp eq i64 %2989, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %2990 = load i64, ptr @simtime, align 8, !tbaa !13
  %2991 = add i64 %2990, 100
  store i64 %2991, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %2992 = load i64, ptr @simtime, align 8, !tbaa !13
  %2993 = add i64 %2992, 100
  store i64 %2993, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %2994 = load i64, ptr @simtime, align 8, !tbaa !13
  %2995 = add i64 %2994, 200
  store i64 %2995, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6354, label %2996, label %3001

2996:                                             ; preds = %2975
  %2997 = getelementptr inbounds i8, ptr %0, i64 88
  %2998 = load i32, ptr %2997, align 8, !tbaa !31
  %2999 = add i32 %2998, 1
  %3000 = and i32 %2999, 262143
  store i32 %3000, ptr %2997, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3001

3001:                                             ; preds = %2996, %2975
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3002 = load i64, ptr @simtime, align 8, !tbaa !13
  %3003 = add i64 %3002, 200
  store i64 %3003, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3004 = load i64, ptr %2978, align 8, !tbaa !33
  store i64 %3004, ptr %2976, align 8, !tbaa !38
  br label %8570

3005:                                             ; preds = %._crit_edge
  %3006 = getelementptr inbounds i8, ptr %0, i64 64
  %3007 = load i64, ptr %3006, align 8, !tbaa !38
  %3008 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3007, ptr %3008, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3009 = load i64, ptr @simtime, align 8, !tbaa !13
  %3010 = add i64 %3009, 100
  store i64 %3010, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3011 = load i64, ptr @simtime, align 8, !tbaa !13
  %3012 = add i64 %3011, 100
  store i64 %3012, ptr @simtime, align 8, !tbaa !13
  %3013 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3013, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %3013, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3014 = load i64, ptr @simtime, align 8, !tbaa !13
  %3015 = add i64 %3014, 100
  store i64 %3015, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3016 = load i64, ptr @simtime, align 8, !tbaa !13
  %3017 = add i64 %3016, 100
  store i64 %3017, ptr @simtime, align 8, !tbaa !13
  %3018 = load i64, ptr %3008, align 8, !tbaa !33
  %.not6353 = icmp eq i64 %3018, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3019 = load i64, ptr @simtime, align 8, !tbaa !13
  %3020 = add i64 %3019, 100
  store i64 %3020, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3021 = load i64, ptr @simtime, align 8, !tbaa !13
  %3022 = add i64 %3021, 100
  store i64 %3022, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3023 = load i64, ptr @simtime, align 8, !tbaa !13
  %3024 = add i64 %3023, 200
  store i64 %3024, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6353, label %3030, label %3025

3025:                                             ; preds = %3005
  %3026 = getelementptr inbounds i8, ptr %0, i64 88
  %3027 = load i32, ptr %3026, align 8, !tbaa !31
  %3028 = add i32 %3027, 1
  %3029 = and i32 %3028, 262143
  store i32 %3029, ptr %3026, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3030

3030:                                             ; preds = %3025, %3005
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3031 = load i64, ptr @simtime, align 8, !tbaa !13
  %3032 = add i64 %3031, 200
  store i64 %3032, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3033 = load i64, ptr %3008, align 8, !tbaa !33
  store i64 %3033, ptr %3006, align 8, !tbaa !38
  br label %8570

3034:                                             ; preds = %._crit_edge
  %3035 = getelementptr inbounds i8, ptr %0, i64 64
  %3036 = load i64, ptr %3035, align 8, !tbaa !38
  %3037 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3036, ptr %3037, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3038 = load i64, ptr @simtime, align 8, !tbaa !13
  %3039 = add i64 %3038, 100
  store i64 %3039, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3040 = load i64, ptr @simtime, align 8, !tbaa !13
  %3041 = add i64 %3040, 100
  store i64 %3041, ptr @simtime, align 8, !tbaa !13
  %3042 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3042, align 1, !tbaa !74
  tail call void @ar_inc(ptr noundef nonnull %0)
  store i8 0, ptr %3042, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3043 = load i64, ptr @simtime, align 8, !tbaa !13
  %3044 = add i64 %3043, 100
  store i64 %3044, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3045 = load i64, ptr @simtime, align 8, !tbaa !13
  %3046 = add i64 %3045, 100
  store i64 %3046, ptr @simtime, align 8, !tbaa !13
  %3047 = load i64, ptr %3037, align 8, !tbaa !33
  %3048 = and i64 %3047, 34359738368
  %.not6352 = icmp eq i64 %3048, 0
  %3049 = icmp ne i64 %3047, 0
  %spec.select6506 = and i1 %3049, %.not6352
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3050 = load i64, ptr @simtime, align 8, !tbaa !13
  %3051 = add i64 %3050, 100
  store i64 %3051, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3052 = load i64, ptr @simtime, align 8, !tbaa !13
  %3053 = add i64 %3052, 100
  store i64 %3053, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3054 = load i64, ptr @simtime, align 8, !tbaa !13
  %3055 = add i64 %3054, 200
  store i64 %3055, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6506, label %3056, label %3061

3056:                                             ; preds = %3034
  %3057 = getelementptr inbounds i8, ptr %0, i64 88
  %3058 = load i32, ptr %3057, align 8, !tbaa !31
  %3059 = add i32 %3058, 1
  %3060 = and i32 %3059, 262143
  store i32 %3060, ptr %3057, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3061

3061:                                             ; preds = %3056, %3034
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3062 = load i64, ptr @simtime, align 8, !tbaa !13
  %3063 = add i64 %3062, 200
  store i64 %3063, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3064 = load i64, ptr %3037, align 8, !tbaa !33
  store i64 %3064, ptr %3035, align 8, !tbaa !38
  br label %8570

3065:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3066 = load i64, ptr @simtime, align 8, !tbaa !13
  %3067 = add i64 %3066, 100
  store i64 %3067, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3068 = load i64, ptr @simtime, align 8, !tbaa !13
  %3069 = add i64 %3068, 100
  store i64 %3069, ptr @simtime, align 8, !tbaa !13
  %3070 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3070, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3070, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3071 = load i64, ptr @simtime, align 8, !tbaa !13
  %3072 = add i64 %3071, 100
  store i64 %3072, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3073 = load i64, ptr @simtime, align 8, !tbaa !13
  %3074 = add i64 %3073, 100
  store i64 %3074, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3075 = load i64, ptr @simtime, align 8, !tbaa !13
  %3076 = add i64 %3075, 100
  store i64 %3076, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3077 = load i64, ptr @simtime, align 8, !tbaa !13
  %3078 = add i64 %3077, 100
  store i64 %3078, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3079 = load i64, ptr @simtime, align 8, !tbaa !13
  %3080 = add i64 %3079, 200
  store i64 %3080, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3081 = load i64, ptr @simtime, align 8, !tbaa !13
  %3082 = add i64 %3081, 200
  store i64 %3082, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

3083:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3084 = load i64, ptr @simtime, align 8, !tbaa !13
  %3085 = add i64 %3084, 100
  store i64 %3085, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3086 = load i64, ptr @simtime, align 8, !tbaa !13
  %3087 = add i64 %3086, 100
  store i64 %3087, ptr @simtime, align 8, !tbaa !13
  %3088 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3088, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3088, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3089 = load i64, ptr @simtime, align 8, !tbaa !13
  %3090 = add i64 %3089, 100
  store i64 %3090, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3091 = load i64, ptr @simtime, align 8, !tbaa !13
  %3092 = add i64 %3091, 100
  store i64 %3092, ptr @simtime, align 8, !tbaa !13
  %3093 = getelementptr inbounds i8, ptr %0, i64 40
  %3094 = load i64, ptr %3093, align 8, !tbaa !33
  %3095 = and i64 %3094, 34359738368
  %.not6351 = icmp eq i64 %3095, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3096 = load i64, ptr @simtime, align 8, !tbaa !13
  %3097 = add i64 %3096, 100
  store i64 %3097, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6351, label %.critedge6508, label %3098

3098:                                             ; preds = %3083
  %3099 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %3099, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3100 = load i64, ptr @simtime, align 8, !tbaa !13
  %3101 = getelementptr inbounds i8, ptr %0, i64 92
  %3102 = load i32, ptr %3101, align 4, !tbaa !30
  %3103 = load i32, ptr %3099, align 8, !tbaa !31
  %3104 = or i32 %3103, %3102
  store i32 %3104, ptr %3099, align 8, !tbaa !31
  br label %3106

.critedge6508:                                    ; preds = %3083
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3105 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %3106

3106:                                             ; preds = %.critedge6508, %3098
  %.sink6579.in = phi i64 [ %3105, %.critedge6508 ], [ %3100, %3098 ]
  %.sink6579 = add i64 %.sink6579.in, 100
  store i64 %.sink6579, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3107 = load i64, ptr @simtime, align 8, !tbaa !13
  %3108 = add i64 %3107, 200
  store i64 %3108, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6351, label %3110, label %3109

3109:                                             ; preds = %3106
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3110

3110:                                             ; preds = %3109, %3106
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3111 = load i64, ptr @simtime, align 8, !tbaa !13
  %3112 = add i64 %3111, 200
  store i64 %3112, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

3113:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3114 = load i64, ptr @simtime, align 8, !tbaa !13
  %3115 = add i64 %3114, 100
  store i64 %3115, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3116 = load i64, ptr @simtime, align 8, !tbaa !13
  %3117 = add i64 %3116, 100
  store i64 %3117, ptr @simtime, align 8, !tbaa !13
  %3118 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3118, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3118, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3119 = load i64, ptr @simtime, align 8, !tbaa !13
  %3120 = add i64 %3119, 100
  store i64 %3120, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3121 = load i64, ptr @simtime, align 8, !tbaa !13
  %3122 = add i64 %3121, 100
  store i64 %3122, ptr @simtime, align 8, !tbaa !13
  %3123 = getelementptr inbounds i8, ptr %0, i64 40
  %3124 = load i64, ptr %3123, align 8, !tbaa !33
  %3125 = icmp eq i64 %3124, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3126 = load i64, ptr @simtime, align 8, !tbaa !13
  %3127 = add i64 %3126, 100
  store i64 %3127, ptr @simtime, align 8, !tbaa !13
  br i1 %3125, label %3128, label %.critedge6512

3128:                                             ; preds = %3113
  %3129 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %3129, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3130 = load i64, ptr @simtime, align 8, !tbaa !13
  %3131 = getelementptr inbounds i8, ptr %0, i64 92
  %3132 = load i32, ptr %3131, align 4, !tbaa !30
  %3133 = load i32, ptr %3129, align 8, !tbaa !31
  %3134 = or i32 %3133, %3132
  store i32 %3134, ptr %3129, align 8, !tbaa !31
  br label %3136

.critedge6512:                                    ; preds = %3113
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3135 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %3136

3136:                                             ; preds = %.critedge6512, %3128
  %.sink6580.in = phi i64 [ %3130, %3128 ], [ %3135, %.critedge6512 ]
  %.sink6580 = add i64 %.sink6580.in, 100
  store i64 %.sink6580, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3137 = load i64, ptr @simtime, align 8, !tbaa !13
  %3138 = add i64 %3137, 200
  store i64 %3138, ptr @simtime, align 8, !tbaa !13
  br i1 %3125, label %3139, label %3140

3139:                                             ; preds = %3136
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3140

3140:                                             ; preds = %3139, %3136
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3141 = load i64, ptr @simtime, align 8, !tbaa !13
  %3142 = add i64 %3141, 200
  store i64 %3142, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

3143:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3144 = load i64, ptr @simtime, align 8, !tbaa !13
  %3145 = add i64 %3144, 100
  store i64 %3145, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3146 = load i64, ptr @simtime, align 8, !tbaa !13
  %3147 = add i64 %3146, 100
  store i64 %3147, ptr @simtime, align 8, !tbaa !13
  %3148 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3148, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3148, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3149 = load i64, ptr @simtime, align 8, !tbaa !13
  %3150 = add i64 %3149, 100
  store i64 %3150, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3151 = load i64, ptr @simtime, align 8, !tbaa !13
  %3152 = add i64 %3151, 100
  store i64 %3152, ptr @simtime, align 8, !tbaa !13
  %3153 = getelementptr inbounds i8, ptr %0, i64 40
  %3154 = load i64, ptr %3153, align 8, !tbaa !33
  %3155 = and i64 %3154, 34359738368
  %.not6350 = icmp ne i64 %3155, 0
  %3156 = icmp eq i64 %3154, 0
  %spec.select6515 = or i1 %3156, %.not6350
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3157 = load i64, ptr @simtime, align 8, !tbaa !13
  %3158 = add i64 %3157, 100
  store i64 %3158, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6515, label %3159, label %.critedge6517

3159:                                             ; preds = %3143
  %3160 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %3160, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3161 = load i64, ptr @simtime, align 8, !tbaa !13
  %3162 = getelementptr inbounds i8, ptr %0, i64 92
  %3163 = load i32, ptr %3162, align 4, !tbaa !30
  %3164 = load i32, ptr %3160, align 8, !tbaa !31
  %3165 = or i32 %3164, %3163
  store i32 %3165, ptr %3160, align 8, !tbaa !31
  br label %3167

.critedge6517:                                    ; preds = %3143
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3166 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %3167

3167:                                             ; preds = %.critedge6517, %3159
  %.sink6581.in = phi i64 [ %3161, %3159 ], [ %3166, %.critedge6517 ]
  %.sink6581 = add i64 %.sink6581.in, 100
  store i64 %.sink6581, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3168 = load i64, ptr @simtime, align 8, !tbaa !13
  %3169 = add i64 %3168, 200
  store i64 %3169, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6515, label %3170, label %3171

3170:                                             ; preds = %3167
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3171

3171:                                             ; preds = %3170, %3167
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3172 = load i64, ptr @simtime, align 8, !tbaa !13
  %3173 = add i64 %3172, 200
  store i64 %3173, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

3174:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3175 = load i64, ptr @simtime, align 8, !tbaa !13
  %3176 = add i64 %3175, 100
  store i64 %3176, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3177 = load i64, ptr @simtime, align 8, !tbaa !13
  %3178 = add i64 %3177, 100
  store i64 %3178, ptr @simtime, align 8, !tbaa !13
  %3179 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3179, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3179, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3180 = load i64, ptr @simtime, align 8, !tbaa !13
  %3181 = add i64 %3180, 100
  store i64 %3181, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3182 = load i64, ptr @simtime, align 8, !tbaa !13
  %3183 = add i64 %3182, 100
  store i64 %3183, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3184 = load i64, ptr @simtime, align 8, !tbaa !13
  %3185 = add i64 %3184, 100
  store i64 %3185, ptr @simtime, align 8, !tbaa !13
  %3186 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %3186, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3187 = load i64, ptr @simtime, align 8, !tbaa !13
  %3188 = add i64 %3187, 100
  store i64 %3188, ptr @simtime, align 8, !tbaa !13
  %3189 = getelementptr inbounds i8, ptr %0, i64 92
  %3190 = load i32, ptr %3189, align 4, !tbaa !30
  %3191 = load i32, ptr %3186, align 8, !tbaa !31
  %3192 = or i32 %3191, %3190
  store i32 %3192, ptr %3186, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3193 = load i64, ptr @simtime, align 8, !tbaa !13
  %3194 = add i64 %3193, 200
  store i64 %3194, ptr @simtime, align 8, !tbaa !13
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3195 = load i64, ptr @simtime, align 8, !tbaa !13
  %3196 = add i64 %3195, 200
  store i64 %3196, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

3197:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3198 = load i64, ptr @simtime, align 8, !tbaa !13
  %3199 = add i64 %3198, 100
  store i64 %3199, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3200 = load i64, ptr @simtime, align 8, !tbaa !13
  %3201 = add i64 %3200, 100
  store i64 %3201, ptr @simtime, align 8, !tbaa !13
  %3202 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3202, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3202, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3203 = load i64, ptr @simtime, align 8, !tbaa !13
  %3204 = add i64 %3203, 100
  store i64 %3204, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3205 = load i64, ptr @simtime, align 8, !tbaa !13
  %3206 = add i64 %3205, 100
  store i64 %3206, ptr @simtime, align 8, !tbaa !13
  %3207 = getelementptr inbounds i8, ptr %0, i64 40
  %3208 = load i64, ptr %3207, align 8, !tbaa !33
  %3209 = and i64 %3208, 34359738368
  %.not6349 = icmp eq i64 %3209, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3210 = load i64, ptr @simtime, align 8, !tbaa !13
  %3211 = add i64 %3210, 100
  store i64 %3211, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6349, label %3212, label %.critedge6521

3212:                                             ; preds = %3197
  %3213 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %3213, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3214 = load i64, ptr @simtime, align 8, !tbaa !13
  %3215 = getelementptr inbounds i8, ptr %0, i64 92
  %3216 = load i32, ptr %3215, align 4, !tbaa !30
  %3217 = load i32, ptr %3213, align 8, !tbaa !31
  %3218 = or i32 %3217, %3216
  store i32 %3218, ptr %3213, align 8, !tbaa !31
  br label %3220

.critedge6521:                                    ; preds = %3197
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3219 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %3220

3220:                                             ; preds = %.critedge6521, %3212
  %.sink6582.in = phi i64 [ %3214, %3212 ], [ %3219, %.critedge6521 ]
  %.sink6582 = add i64 %.sink6582.in, 100
  store i64 %.sink6582, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3221 = load i64, ptr @simtime, align 8, !tbaa !13
  %3222 = add i64 %3221, 200
  store i64 %3222, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6349, label %3223, label %3224

3223:                                             ; preds = %3220
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3224

3224:                                             ; preds = %3223, %3220
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3225 = load i64, ptr @simtime, align 8, !tbaa !13
  %3226 = add i64 %3225, 200
  store i64 %3226, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

3227:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3228 = load i64, ptr @simtime, align 8, !tbaa !13
  %3229 = add i64 %3228, 100
  store i64 %3229, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3230 = load i64, ptr @simtime, align 8, !tbaa !13
  %3231 = add i64 %3230, 100
  store i64 %3231, ptr @simtime, align 8, !tbaa !13
  %3232 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3232, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3232, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3233 = load i64, ptr @simtime, align 8, !tbaa !13
  %3234 = add i64 %3233, 100
  store i64 %3234, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3235 = load i64, ptr @simtime, align 8, !tbaa !13
  %3236 = add i64 %3235, 100
  store i64 %3236, ptr @simtime, align 8, !tbaa !13
  %3237 = getelementptr inbounds i8, ptr %0, i64 40
  %3238 = load i64, ptr %3237, align 8, !tbaa !33
  %.not6348 = icmp eq i64 %3238, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3239 = load i64, ptr @simtime, align 8, !tbaa !13
  %3240 = add i64 %3239, 100
  store i64 %3240, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6348, label %.critedge6525, label %3241

3241:                                             ; preds = %3227
  %3242 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %3242, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3243 = load i64, ptr @simtime, align 8, !tbaa !13
  %3244 = getelementptr inbounds i8, ptr %0, i64 92
  %3245 = load i32, ptr %3244, align 4, !tbaa !30
  %3246 = load i32, ptr %3242, align 8, !tbaa !31
  %3247 = or i32 %3246, %3245
  store i32 %3247, ptr %3242, align 8, !tbaa !31
  br label %3249

.critedge6525:                                    ; preds = %3227
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3248 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %3249

3249:                                             ; preds = %.critedge6525, %3241
  %.sink6583.in = phi i64 [ %3248, %.critedge6525 ], [ %3243, %3241 ]
  %.sink6583 = add i64 %.sink6583.in, 100
  store i64 %.sink6583, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3250 = load i64, ptr @simtime, align 8, !tbaa !13
  %3251 = add i64 %3250, 200
  store i64 %3251, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6348, label %3253, label %3252

3252:                                             ; preds = %3249
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3253

3253:                                             ; preds = %3252, %3249
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3254 = load i64, ptr @simtime, align 8, !tbaa !13
  %3255 = add i64 %3254, 200
  store i64 %3255, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

3256:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3257 = load i64, ptr @simtime, align 8, !tbaa !13
  %3258 = add i64 %3257, 100
  store i64 %3258, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3259 = load i64, ptr @simtime, align 8, !tbaa !13
  %3260 = add i64 %3259, 100
  store i64 %3260, ptr @simtime, align 8, !tbaa !13
  %3261 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3261, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3261, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3262 = load i64, ptr @simtime, align 8, !tbaa !13
  %3263 = add i64 %3262, 100
  store i64 %3263, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3264 = load i64, ptr @simtime, align 8, !tbaa !13
  %3265 = add i64 %3264, 100
  store i64 %3265, ptr @simtime, align 8, !tbaa !13
  %3266 = getelementptr inbounds i8, ptr %0, i64 40
  %3267 = load i64, ptr %3266, align 8, !tbaa !33
  %3268 = and i64 %3267, 34359738368
  %.not6347 = icmp eq i64 %3268, 0
  %3269 = icmp ne i64 %3267, 0
  %spec.select6528 = and i1 %3269, %.not6347
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3270 = load i64, ptr @simtime, align 8, !tbaa !13
  %3271 = add i64 %3270, 100
  store i64 %3271, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6528, label %3272, label %.critedge6530

3272:                                             ; preds = %3256
  %3273 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %3273, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3274 = load i64, ptr @simtime, align 8, !tbaa !13
  %3275 = getelementptr inbounds i8, ptr %0, i64 92
  %3276 = load i32, ptr %3275, align 4, !tbaa !30
  %3277 = load i32, ptr %3273, align 8, !tbaa !31
  %3278 = or i32 %3277, %3276
  store i32 %3278, ptr %3273, align 8, !tbaa !31
  br label %3280

.critedge6530:                                    ; preds = %3256
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3279 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %3280

3280:                                             ; preds = %.critedge6530, %3272
  %.sink6584.in = phi i64 [ %3274, %3272 ], [ %3279, %.critedge6530 ]
  %.sink6584 = add i64 %.sink6584.in, 100
  store i64 %.sink6584, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3281 = load i64, ptr @simtime, align 8, !tbaa !13
  %3282 = add i64 %3281, 200
  store i64 %3282, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6528, label %3283, label %3284

3283:                                             ; preds = %3280
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3284

3284:                                             ; preds = %3283, %3280
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3285 = load i64, ptr @simtime, align 8, !tbaa !13
  %3286 = add i64 %3285, 200
  store i64 %3286, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  br label %8570

3287:                                             ; preds = %._crit_edge
  %3288 = getelementptr inbounds i8, ptr %0, i64 64
  %3289 = load i64, ptr %3288, align 8, !tbaa !38
  %3290 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3289, ptr %3290, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3291 = load i64, ptr @simtime, align 8, !tbaa !13
  %3292 = add i64 %3291, 100
  store i64 %3292, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3293 = load i64, ptr @simtime, align 8, !tbaa !13
  %3294 = add i64 %3293, 100
  store i64 %3294, ptr @simtime, align 8, !tbaa !13
  %3295 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3295, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3295, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3296 = load i64, ptr @simtime, align 8, !tbaa !13
  %3297 = add i64 %3296, 100
  store i64 %3297, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3298 = load i64, ptr @simtime, align 8, !tbaa !13
  %3299 = add i64 %3298, 100
  store i64 %3299, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3300 = load i64, ptr @simtime, align 8, !tbaa !13
  %3301 = add i64 %3300, 100
  store i64 %3301, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3302 = load i64, ptr @simtime, align 8, !tbaa !13
  %3303 = add i64 %3302, 100
  store i64 %3303, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3304 = load i64, ptr @simtime, align 8, !tbaa !13
  %3305 = add i64 %3304, 200
  store i64 %3305, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3306 = load i64, ptr @simtime, align 8, !tbaa !13
  %3307 = add i64 %3306, 200
  store i64 %3307, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3308 = load i64, ptr %3290, align 8, !tbaa !33
  store i64 %3308, ptr %3288, align 8, !tbaa !38
  br label %8570

3309:                                             ; preds = %._crit_edge
  %3310 = getelementptr inbounds i8, ptr %0, i64 64
  %3311 = load i64, ptr %3310, align 8, !tbaa !38
  %3312 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3311, ptr %3312, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3313 = load i64, ptr @simtime, align 8, !tbaa !13
  %3314 = add i64 %3313, 100
  store i64 %3314, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3315 = load i64, ptr @simtime, align 8, !tbaa !13
  %3316 = add i64 %3315, 100
  store i64 %3316, ptr @simtime, align 8, !tbaa !13
  %3317 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3317, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3317, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3318 = load i64, ptr @simtime, align 8, !tbaa !13
  %3319 = add i64 %3318, 100
  store i64 %3319, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3320 = load i64, ptr @simtime, align 8, !tbaa !13
  %3321 = add i64 %3320, 100
  store i64 %3321, ptr @simtime, align 8, !tbaa !13
  %3322 = load i64, ptr %3312, align 8, !tbaa !33
  %3323 = and i64 %3322, 34359738368
  %.not6346 = icmp eq i64 %3323, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3324 = load i64, ptr @simtime, align 8, !tbaa !13
  %3325 = add i64 %3324, 100
  store i64 %3325, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3326 = load i64, ptr @simtime, align 8, !tbaa !13
  %3327 = add i64 %3326, 100
  store i64 %3327, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3328 = load i64, ptr @simtime, align 8, !tbaa !13
  %3329 = add i64 %3328, 200
  store i64 %3329, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6346, label %3335, label %3330

3330:                                             ; preds = %3309
  %3331 = getelementptr inbounds i8, ptr %0, i64 88
  %3332 = load i32, ptr %3331, align 8, !tbaa !31
  %3333 = add i32 %3332, 1
  %3334 = and i32 %3333, 262143
  store i32 %3334, ptr %3331, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3335

3335:                                             ; preds = %3330, %3309
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3336 = load i64, ptr @simtime, align 8, !tbaa !13
  %3337 = add i64 %3336, 200
  store i64 %3337, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3338 = load i64, ptr %3312, align 8, !tbaa !33
  store i64 %3338, ptr %3310, align 8, !tbaa !38
  br label %8570

3339:                                             ; preds = %._crit_edge
  %3340 = getelementptr inbounds i8, ptr %0, i64 64
  %3341 = load i64, ptr %3340, align 8, !tbaa !38
  %3342 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3341, ptr %3342, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3343 = load i64, ptr @simtime, align 8, !tbaa !13
  %3344 = add i64 %3343, 100
  store i64 %3344, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3345 = load i64, ptr @simtime, align 8, !tbaa !13
  %3346 = add i64 %3345, 100
  store i64 %3346, ptr @simtime, align 8, !tbaa !13
  %3347 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3347, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3347, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3348 = load i64, ptr @simtime, align 8, !tbaa !13
  %3349 = add i64 %3348, 100
  store i64 %3349, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3350 = load i64, ptr @simtime, align 8, !tbaa !13
  %3351 = add i64 %3350, 100
  store i64 %3351, ptr @simtime, align 8, !tbaa !13
  %3352 = load i64, ptr %3342, align 8, !tbaa !33
  %3353 = icmp eq i64 %3352, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3354 = load i64, ptr @simtime, align 8, !tbaa !13
  %3355 = add i64 %3354, 100
  store i64 %3355, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3356 = load i64, ptr @simtime, align 8, !tbaa !13
  %3357 = add i64 %3356, 100
  store i64 %3357, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3358 = load i64, ptr @simtime, align 8, !tbaa !13
  %3359 = add i64 %3358, 200
  store i64 %3359, ptr @simtime, align 8, !tbaa !13
  br i1 %3353, label %3360, label %3365

3360:                                             ; preds = %3339
  %3361 = getelementptr inbounds i8, ptr %0, i64 88
  %3362 = load i32, ptr %3361, align 8, !tbaa !31
  %3363 = add i32 %3362, 1
  %3364 = and i32 %3363, 262143
  store i32 %3364, ptr %3361, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3365

3365:                                             ; preds = %3360, %3339
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3366 = load i64, ptr @simtime, align 8, !tbaa !13
  %3367 = add i64 %3366, 200
  store i64 %3367, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3368 = load i64, ptr %3342, align 8, !tbaa !33
  store i64 %3368, ptr %3340, align 8, !tbaa !38
  br label %8570

3369:                                             ; preds = %._crit_edge
  %3370 = getelementptr inbounds i8, ptr %0, i64 64
  %3371 = load i64, ptr %3370, align 8, !tbaa !38
  %3372 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3371, ptr %3372, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3373 = load i64, ptr @simtime, align 8, !tbaa !13
  %3374 = add i64 %3373, 100
  store i64 %3374, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3375 = load i64, ptr @simtime, align 8, !tbaa !13
  %3376 = add i64 %3375, 100
  store i64 %3376, ptr @simtime, align 8, !tbaa !13
  %3377 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3377, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3377, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3378 = load i64, ptr @simtime, align 8, !tbaa !13
  %3379 = add i64 %3378, 100
  store i64 %3379, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3380 = load i64, ptr @simtime, align 8, !tbaa !13
  %3381 = add i64 %3380, 100
  store i64 %3381, ptr @simtime, align 8, !tbaa !13
  %3382 = load i64, ptr %3372, align 8, !tbaa !33
  %3383 = and i64 %3382, 34359738368
  %.not6345 = icmp ne i64 %3383, 0
  %3384 = icmp eq i64 %3382, 0
  %spec.select6533 = or i1 %3384, %.not6345
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3385 = load i64, ptr @simtime, align 8, !tbaa !13
  %3386 = add i64 %3385, 100
  store i64 %3386, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3387 = load i64, ptr @simtime, align 8, !tbaa !13
  %3388 = add i64 %3387, 100
  store i64 %3388, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3389 = load i64, ptr @simtime, align 8, !tbaa !13
  %3390 = add i64 %3389, 200
  store i64 %3390, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6533, label %3391, label %3396

3391:                                             ; preds = %3369
  %3392 = getelementptr inbounds i8, ptr %0, i64 88
  %3393 = load i32, ptr %3392, align 8, !tbaa !31
  %3394 = add i32 %3393, 1
  %3395 = and i32 %3394, 262143
  store i32 %3395, ptr %3392, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3396

3396:                                             ; preds = %3391, %3369
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3397 = load i64, ptr @simtime, align 8, !tbaa !13
  %3398 = add i64 %3397, 200
  store i64 %3398, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3399 = load i64, ptr %3372, align 8, !tbaa !33
  store i64 %3399, ptr %3370, align 8, !tbaa !38
  br label %8570

3400:                                             ; preds = %._crit_edge
  %3401 = getelementptr inbounds i8, ptr %0, i64 64
  %3402 = load i64, ptr %3401, align 8, !tbaa !38
  %3403 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3402, ptr %3403, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3404 = load i64, ptr @simtime, align 8, !tbaa !13
  %3405 = add i64 %3404, 100
  store i64 %3405, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3406 = load i64, ptr @simtime, align 8, !tbaa !13
  %3407 = add i64 %3406, 100
  store i64 %3407, ptr @simtime, align 8, !tbaa !13
  %3408 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3408, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3408, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3409 = load i64, ptr @simtime, align 8, !tbaa !13
  %3410 = add i64 %3409, 100
  store i64 %3410, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3411 = load i64, ptr @simtime, align 8, !tbaa !13
  %3412 = add i64 %3411, 100
  store i64 %3412, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3413 = load i64, ptr @simtime, align 8, !tbaa !13
  %3414 = add i64 %3413, 100
  store i64 %3414, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3415 = load i64, ptr @simtime, align 8, !tbaa !13
  %3416 = add i64 %3415, 100
  store i64 %3416, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3417 = load i64, ptr @simtime, align 8, !tbaa !13
  %3418 = add i64 %3417, 200
  store i64 %3418, ptr @simtime, align 8, !tbaa !13
  %3419 = getelementptr inbounds i8, ptr %0, i64 88
  %3420 = load i32, ptr %3419, align 8, !tbaa !31
  %3421 = add i32 %3420, 1
  %3422 = and i32 %3421, 262143
  store i32 %3422, ptr %3419, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3423 = load i64, ptr @simtime, align 8, !tbaa !13
  %3424 = add i64 %3423, 200
  store i64 %3424, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3425 = load i64, ptr %3403, align 8, !tbaa !33
  store i64 %3425, ptr %3401, align 8, !tbaa !38
  br label %8570

3426:                                             ; preds = %._crit_edge
  %3427 = getelementptr inbounds i8, ptr %0, i64 64
  %3428 = load i64, ptr %3427, align 8, !tbaa !38
  %3429 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3428, ptr %3429, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3430 = load i64, ptr @simtime, align 8, !tbaa !13
  %3431 = add i64 %3430, 100
  store i64 %3431, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3432 = load i64, ptr @simtime, align 8, !tbaa !13
  %3433 = add i64 %3432, 100
  store i64 %3433, ptr @simtime, align 8, !tbaa !13
  %3434 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3434, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3434, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3435 = load i64, ptr @simtime, align 8, !tbaa !13
  %3436 = add i64 %3435, 100
  store i64 %3436, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3437 = load i64, ptr @simtime, align 8, !tbaa !13
  %3438 = add i64 %3437, 100
  store i64 %3438, ptr @simtime, align 8, !tbaa !13
  %3439 = load i64, ptr %3429, align 8, !tbaa !33
  %3440 = and i64 %3439, 34359738368
  %.not6344 = icmp eq i64 %3440, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3441 = load i64, ptr @simtime, align 8, !tbaa !13
  %3442 = add i64 %3441, 100
  store i64 %3442, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3443 = load i64, ptr @simtime, align 8, !tbaa !13
  %3444 = add i64 %3443, 100
  store i64 %3444, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3445 = load i64, ptr @simtime, align 8, !tbaa !13
  %3446 = add i64 %3445, 200
  store i64 %3446, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6344, label %3447, label %3452

3447:                                             ; preds = %3426
  %3448 = getelementptr inbounds i8, ptr %0, i64 88
  %3449 = load i32, ptr %3448, align 8, !tbaa !31
  %3450 = add i32 %3449, 1
  %3451 = and i32 %3450, 262143
  store i32 %3451, ptr %3448, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3452

3452:                                             ; preds = %3447, %3426
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3453 = load i64, ptr @simtime, align 8, !tbaa !13
  %3454 = add i64 %3453, 200
  store i64 %3454, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3455 = load i64, ptr %3429, align 8, !tbaa !33
  store i64 %3455, ptr %3427, align 8, !tbaa !38
  br label %8570

3456:                                             ; preds = %._crit_edge
  %3457 = getelementptr inbounds i8, ptr %0, i64 64
  %3458 = load i64, ptr %3457, align 8, !tbaa !38
  %3459 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3458, ptr %3459, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3460 = load i64, ptr @simtime, align 8, !tbaa !13
  %3461 = add i64 %3460, 100
  store i64 %3461, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3462 = load i64, ptr @simtime, align 8, !tbaa !13
  %3463 = add i64 %3462, 100
  store i64 %3463, ptr @simtime, align 8, !tbaa !13
  %3464 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3464, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3464, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3465 = load i64, ptr @simtime, align 8, !tbaa !13
  %3466 = add i64 %3465, 100
  store i64 %3466, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3467 = load i64, ptr @simtime, align 8, !tbaa !13
  %3468 = add i64 %3467, 100
  store i64 %3468, ptr @simtime, align 8, !tbaa !13
  %3469 = load i64, ptr %3459, align 8, !tbaa !33
  %.not6343 = icmp eq i64 %3469, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3470 = load i64, ptr @simtime, align 8, !tbaa !13
  %3471 = add i64 %3470, 100
  store i64 %3471, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3472 = load i64, ptr @simtime, align 8, !tbaa !13
  %3473 = add i64 %3472, 100
  store i64 %3473, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3474 = load i64, ptr @simtime, align 8, !tbaa !13
  %3475 = add i64 %3474, 200
  store i64 %3475, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6343, label %3481, label %3476

3476:                                             ; preds = %3456
  %3477 = getelementptr inbounds i8, ptr %0, i64 88
  %3478 = load i32, ptr %3477, align 8, !tbaa !31
  %3479 = add i32 %3478, 1
  %3480 = and i32 %3479, 262143
  store i32 %3480, ptr %3477, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3481

3481:                                             ; preds = %3476, %3456
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3482 = load i64, ptr @simtime, align 8, !tbaa !13
  %3483 = add i64 %3482, 200
  store i64 %3483, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3484 = load i64, ptr %3459, align 8, !tbaa !33
  store i64 %3484, ptr %3457, align 8, !tbaa !38
  br label %8570

3485:                                             ; preds = %._crit_edge
  %3486 = getelementptr inbounds i8, ptr %0, i64 64
  %3487 = load i64, ptr %3486, align 8, !tbaa !38
  %3488 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %3487, ptr %3488, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3489 = load i64, ptr @simtime, align 8, !tbaa !13
  %3490 = add i64 %3489, 100
  store i64 %3490, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3491 = load i64, ptr @simtime, align 8, !tbaa !13
  %3492 = add i64 %3491, 100
  store i64 %3492, ptr @simtime, align 8, !tbaa !13
  %3493 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %3493, align 1, !tbaa !74
  tail call void @ar_dec(ptr noundef nonnull %0)
  store i8 0, ptr %3493, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3494 = load i64, ptr @simtime, align 8, !tbaa !13
  %3495 = add i64 %3494, 100
  store i64 %3495, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3496 = load i64, ptr @simtime, align 8, !tbaa !13
  %3497 = add i64 %3496, 100
  store i64 %3497, ptr @simtime, align 8, !tbaa !13
  %3498 = load i64, ptr %3488, align 8, !tbaa !33
  %3499 = and i64 %3498, 34359738368
  %.not6342 = icmp eq i64 %3499, 0
  %3500 = icmp ne i64 %3498, 0
  %spec.select6534 = and i1 %3500, %.not6342
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %3501 = load i64, ptr @simtime, align 8, !tbaa !13
  %3502 = add i64 %3501, 100
  store i64 %3502, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %3503 = load i64, ptr @simtime, align 8, !tbaa !13
  %3504 = add i64 %3503, 100
  store i64 %3504, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %3505 = load i64, ptr @simtime, align 8, !tbaa !13
  %3506 = add i64 %3505, 200
  store i64 %3506, ptr @simtime, align 8, !tbaa !13
  br i1 %spec.select6534, label %3507, label %3512

3507:                                             ; preds = %3485
  %3508 = getelementptr inbounds i8, ptr %0, i64 88
  %3509 = load i32, ptr %3508, align 8, !tbaa !31
  %3510 = add i32 %3509, 1
  %3511 = and i32 %3510, 262143
  store i32 %3511, ptr %3508, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %3512

3512:                                             ; preds = %3507, %3485
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %3513 = load i64, ptr @simtime, align 8, !tbaa !13
  %3514 = add i64 %3513, 200
  store i64 %3514, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_set_ov_cry(ptr noundef nonnull %0)
  %3515 = load i64, ptr %3488, align 8, !tbaa !33
  store i64 %3515, ptr %3486, align 8, !tbaa !38
  br label %8570

3516:                                             ; preds = %._crit_edge
  %3517 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %3517, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3518 = load i64, ptr @simtime, align 8, !tbaa !13
  %3519 = add i64 %3518, 100
  store i64 %3519, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3520 = load i64, ptr @simtime, align 8, !tbaa !13
  %3521 = add i64 %3520, 100
  store i64 %3521, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3522 = load i64, ptr @simtime, align 8, !tbaa !13
  %3523 = add i64 %3522, 100
  store i64 %3523, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3524:                                             ; preds = %._crit_edge
  %3525 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %3525, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3526 = load i64, ptr @simtime, align 8, !tbaa !13
  %3527 = add i64 %3526, 100
  store i64 %3527, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3528 = load i64, ptr @simtime, align 8, !tbaa !13
  %3529 = add i64 %3528, 100
  store i64 %3529, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3530 = load i64, ptr @simtime, align 8, !tbaa !13
  %3531 = add i64 %3530, 100
  store i64 %3531, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3532:                                             ; preds = %._crit_edge
  %3533 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %3533, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3534 = load i64, ptr @simtime, align 8, !tbaa !13
  %3535 = add i64 %3534, 100
  store i64 %3535, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3536 = load i64, ptr @simtime, align 8, !tbaa !13
  %3537 = add i64 %3536, 100
  store i64 %3537, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3538 = load i64, ptr @simtime, align 8, !tbaa !13
  %3539 = add i64 %3538, 100
  store i64 %3539, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3540 = load i64, ptr %3533, align 8, !tbaa !33
  %3541 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %3540, ptr %3541, align 8, !tbaa !38
  br label %8570

3542:                                             ; preds = %._crit_edge
  %3543 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %3543, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3544 = load i64, ptr @simtime, align 8, !tbaa !13
  %3545 = add i64 %3544, 100
  store i64 %3545, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3546 = load i64, ptr @simtime, align 8, !tbaa !13
  %3547 = add i64 %3546, 100
  store i64 %3547, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3548 = load i64, ptr @simtime, align 8, !tbaa !13
  %3549 = add i64 %3548, 100
  store i64 %3549, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3550 = load i64, ptr %3543, align 8, !tbaa !33
  %3551 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %3550, ptr %3551, align 8, !tbaa !38
  br label %8570

3552:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3553 = load i64, ptr @simtime, align 8, !tbaa !13
  %3554 = add i64 %3553, 100
  store i64 %3554, ptr @simtime, align 8, !tbaa !13
  %3555 = getelementptr inbounds i8, ptr %0, i64 64
  %3556 = load i64, ptr %3555, align 8, !tbaa !38
  %3557 = getelementptr inbounds i8, ptr %0, i64 40
  %3558 = load i64, ptr %3557, align 8, !tbaa !33
  %3559 = and i64 %3558, %3556
  store i64 %3559, ptr %3557, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3560 = load i64, ptr @simtime, align 8, !tbaa !13
  %3561 = add i64 %3560, 100
  store i64 %3561, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3562 = load i64, ptr @simtime, align 8, !tbaa !13
  %3563 = add i64 %3562, 100
  store i64 %3563, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3564:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3565 = load i64, ptr @simtime, align 8, !tbaa !13
  %3566 = add i64 %3565, 100
  store i64 %3566, ptr @simtime, align 8, !tbaa !13
  %3567 = getelementptr inbounds i8, ptr %0, i64 64
  %3568 = load i64, ptr %3567, align 8, !tbaa !38
  %3569 = getelementptr inbounds i8, ptr %0, i64 40
  %3570 = load i64, ptr %3569, align 8, !tbaa !33
  %3571 = and i64 %3570, %3568
  store i64 %3571, ptr %3569, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3572 = load i64, ptr @simtime, align 8, !tbaa !13
  %3573 = add i64 %3572, 100
  store i64 %3573, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3574 = load i64, ptr @simtime, align 8, !tbaa !13
  %3575 = add i64 %3574, 100
  store i64 %3575, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3576:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3577 = load i64, ptr @simtime, align 8, !tbaa !13
  %3578 = add i64 %3577, 100
  store i64 %3578, ptr @simtime, align 8, !tbaa !13
  %3579 = getelementptr inbounds i8, ptr %0, i64 64
  %3580 = load i64, ptr %3579, align 8, !tbaa !38
  %3581 = getelementptr inbounds i8, ptr %0, i64 40
  %3582 = load i64, ptr %3581, align 8, !tbaa !33
  %3583 = and i64 %3582, %3580
  store i64 %3583, ptr %3581, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3584 = load i64, ptr @simtime, align 8, !tbaa !13
  %3585 = add i64 %3584, 100
  store i64 %3585, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3586 = load i64, ptr @simtime, align 8, !tbaa !13
  %3587 = add i64 %3586, 100
  store i64 %3587, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3588 = load i64, ptr %3581, align 8, !tbaa !33
  store i64 %3588, ptr %3579, align 8, !tbaa !38
  br label %8570

3589:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3590 = load i64, ptr @simtime, align 8, !tbaa !13
  %3591 = add i64 %3590, 100
  store i64 %3591, ptr @simtime, align 8, !tbaa !13
  %3592 = getelementptr inbounds i8, ptr %0, i64 64
  %3593 = load i64, ptr %3592, align 8, !tbaa !38
  %3594 = getelementptr inbounds i8, ptr %0, i64 40
  %3595 = load i64, ptr %3594, align 8, !tbaa !33
  %3596 = and i64 %3595, %3593
  store i64 %3596, ptr %3594, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3597 = load i64, ptr @simtime, align 8, !tbaa !13
  %3598 = add i64 %3597, 100
  store i64 %3598, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3599 = load i64, ptr @simtime, align 8, !tbaa !13
  %3600 = add i64 %3599, 100
  store i64 %3600, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3601 = load i64, ptr %3594, align 8, !tbaa !33
  store i64 %3601, ptr %3592, align 8, !tbaa !38
  br label %8570

3602:                                             ; preds = %._crit_edge
  %3603 = getelementptr inbounds i8, ptr %0, i64 40
  %3604 = load i64, ptr %3603, align 8, !tbaa !33
  %3605 = xor i64 %3604, 68719476735
  store i64 %3605, ptr %3603, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3606 = load i64, ptr @simtime, align 8, !tbaa !13
  %3607 = add i64 %3606, 100
  store i64 %3607, ptr @simtime, align 8, !tbaa !13
  %3608 = getelementptr inbounds i8, ptr %0, i64 64
  %3609 = load i64, ptr %3608, align 8, !tbaa !38
  %3610 = load i64, ptr %3603, align 8, !tbaa !33
  %3611 = and i64 %3610, %3609
  store i64 %3611, ptr %3603, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3612 = load i64, ptr @simtime, align 8, !tbaa !13
  %3613 = add i64 %3612, 100
  store i64 %3613, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3614 = load i64, ptr @simtime, align 8, !tbaa !13
  %3615 = add i64 %3614, 100
  store i64 %3615, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3616:                                             ; preds = %._crit_edge
  %3617 = getelementptr inbounds i8, ptr %0, i64 40
  %3618 = load i64, ptr %3617, align 8, !tbaa !33
  %3619 = xor i64 %3618, 68719476735
  store i64 %3619, ptr %3617, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3620 = load i64, ptr @simtime, align 8, !tbaa !13
  %3621 = add i64 %3620, 100
  store i64 %3621, ptr @simtime, align 8, !tbaa !13
  %3622 = getelementptr inbounds i8, ptr %0, i64 64
  %3623 = load i64, ptr %3622, align 8, !tbaa !38
  %3624 = load i64, ptr %3617, align 8, !tbaa !33
  %3625 = and i64 %3624, %3623
  store i64 %3625, ptr %3617, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3626 = load i64, ptr @simtime, align 8, !tbaa !13
  %3627 = add i64 %3626, 100
  store i64 %3627, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3628 = load i64, ptr @simtime, align 8, !tbaa !13
  %3629 = add i64 %3628, 100
  store i64 %3629, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3630:                                             ; preds = %._crit_edge
  %3631 = getelementptr inbounds i8, ptr %0, i64 40
  %3632 = load i64, ptr %3631, align 8, !tbaa !33
  %3633 = xor i64 %3632, 68719476735
  store i64 %3633, ptr %3631, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3634 = load i64, ptr @simtime, align 8, !tbaa !13
  %3635 = add i64 %3634, 100
  store i64 %3635, ptr @simtime, align 8, !tbaa !13
  %3636 = getelementptr inbounds i8, ptr %0, i64 64
  %3637 = load i64, ptr %3636, align 8, !tbaa !38
  %3638 = load i64, ptr %3631, align 8, !tbaa !33
  %3639 = and i64 %3638, %3637
  store i64 %3639, ptr %3631, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3640 = load i64, ptr @simtime, align 8, !tbaa !13
  %3641 = add i64 %3640, 100
  store i64 %3641, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3642 = load i64, ptr @simtime, align 8, !tbaa !13
  %3643 = add i64 %3642, 100
  store i64 %3643, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3644 = load i64, ptr %3631, align 8, !tbaa !33
  store i64 %3644, ptr %3636, align 8, !tbaa !38
  br label %8570

3645:                                             ; preds = %._crit_edge
  %3646 = getelementptr inbounds i8, ptr %0, i64 40
  %3647 = load i64, ptr %3646, align 8, !tbaa !33
  %3648 = xor i64 %3647, 68719476735
  store i64 %3648, ptr %3646, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3649 = load i64, ptr @simtime, align 8, !tbaa !13
  %3650 = add i64 %3649, 100
  store i64 %3650, ptr @simtime, align 8, !tbaa !13
  %3651 = getelementptr inbounds i8, ptr %0, i64 64
  %3652 = load i64, ptr %3651, align 8, !tbaa !38
  %3653 = load i64, ptr %3646, align 8, !tbaa !33
  %3654 = and i64 %3653, %3652
  store i64 %3654, ptr %3646, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3655 = load i64, ptr @simtime, align 8, !tbaa !13
  %3656 = add i64 %3655, 100
  store i64 %3656, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3657 = load i64, ptr @simtime, align 8, !tbaa !13
  %3658 = add i64 %3657, 100
  store i64 %3658, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3659 = load i64, ptr %3646, align 8, !tbaa !33
  store i64 %3659, ptr %3651, align 8, !tbaa !38
  br label %8570

3660:                                             ; preds = %._crit_edge
  %3661 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %3661, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3662 = load i64, ptr @simtime, align 8, !tbaa !13
  %3663 = add i64 %3662, 100
  store i64 %3663, ptr @simtime, align 8, !tbaa !13
  %3664 = getelementptr inbounds i8, ptr %0, i64 64
  %3665 = load i64, ptr %3664, align 8, !tbaa !38
  %3666 = load i64, ptr %3661, align 8, !tbaa !33
  %3667 = or i64 %3666, %3665
  store i64 %3667, ptr %3661, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3668 = load i64, ptr @simtime, align 8, !tbaa !13
  %3669 = add i64 %3668, 100
  store i64 %3669, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3670 = load i64, ptr @simtime, align 8, !tbaa !13
  %3671 = add i64 %3670, 100
  store i64 %3671, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3672:                                             ; preds = %._crit_edge
  %3673 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %3673, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3674 = load i64, ptr @simtime, align 8, !tbaa !13
  %3675 = add i64 %3674, 100
  store i64 %3675, ptr @simtime, align 8, !tbaa !13
  %3676 = getelementptr inbounds i8, ptr %0, i64 64
  %3677 = load i64, ptr %3676, align 8, !tbaa !38
  %3678 = load i64, ptr %3673, align 8, !tbaa !33
  %3679 = or i64 %3678, %3677
  store i64 %3679, ptr %3673, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3680 = load i64, ptr @simtime, align 8, !tbaa !13
  %3681 = add i64 %3680, 100
  store i64 %3681, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3682 = load i64, ptr @simtime, align 8, !tbaa !13
  %3683 = add i64 %3682, 100
  store i64 %3683, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3684:                                             ; preds = %._crit_edge
  %3685 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %3685, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3686 = load i64, ptr @simtime, align 8, !tbaa !13
  %3687 = add i64 %3686, 100
  store i64 %3687, ptr @simtime, align 8, !tbaa !13
  %3688 = getelementptr inbounds i8, ptr %0, i64 64
  %3689 = load i64, ptr %3688, align 8, !tbaa !38
  %3690 = load i64, ptr %3685, align 8, !tbaa !33
  %3691 = or i64 %3690, %3689
  store i64 %3691, ptr %3685, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3692 = load i64, ptr @simtime, align 8, !tbaa !13
  %3693 = add i64 %3692, 100
  store i64 %3693, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3694 = load i64, ptr @simtime, align 8, !tbaa !13
  %3695 = add i64 %3694, 100
  store i64 %3695, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3696 = load i64, ptr %3685, align 8, !tbaa !33
  store i64 %3696, ptr %3688, align 8, !tbaa !38
  br label %8570

3697:                                             ; preds = %._crit_edge
  %3698 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %3698, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3699 = load i64, ptr @simtime, align 8, !tbaa !13
  %3700 = add i64 %3699, 100
  store i64 %3700, ptr @simtime, align 8, !tbaa !13
  %3701 = getelementptr inbounds i8, ptr %0, i64 64
  %3702 = load i64, ptr %3701, align 8, !tbaa !38
  %3703 = load i64, ptr %3698, align 8, !tbaa !33
  %3704 = or i64 %3703, %3702
  store i64 %3704, ptr %3698, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3705 = load i64, ptr @simtime, align 8, !tbaa !13
  %3706 = add i64 %3705, 100
  store i64 %3706, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3707 = load i64, ptr @simtime, align 8, !tbaa !13
  %3708 = add i64 %3707, 100
  store i64 %3708, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3709 = load i64, ptr %3698, align 8, !tbaa !33
  store i64 %3709, ptr %3701, align 8, !tbaa !38
  br label %8570

3710:                                             ; preds = %._crit_edge
  %3711 = getelementptr inbounds i8, ptr %0, i64 40
  %3712 = load i64, ptr %3711, align 8, !tbaa !33
  %3713 = xor i64 %3712, 68719476735
  store i64 %3713, ptr %3711, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3714 = load i64, ptr @simtime, align 8, !tbaa !13
  %3715 = add i64 %3714, 100
  store i64 %3715, ptr @simtime, align 8, !tbaa !13
  %3716 = getelementptr inbounds i8, ptr %0, i64 64
  %3717 = load i64, ptr %3716, align 8, !tbaa !38
  %3718 = load i64, ptr %3711, align 8, !tbaa !33
  %3719 = or i64 %3718, %3717
  store i64 %3719, ptr %3711, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3720 = load i64, ptr @simtime, align 8, !tbaa !13
  %3721 = add i64 %3720, 100
  store i64 %3721, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3722 = load i64, ptr %3711, align 8, !tbaa !33
  %3723 = xor i64 %3722, 68719476735
  store i64 %3723, ptr %3711, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3724 = load i64, ptr @simtime, align 8, !tbaa !13
  %3725 = add i64 %3724, 100
  store i64 %3725, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3726:                                             ; preds = %._crit_edge
  %3727 = getelementptr inbounds i8, ptr %0, i64 40
  %3728 = load i64, ptr %3727, align 8, !tbaa !33
  %3729 = xor i64 %3728, 68719476735
  store i64 %3729, ptr %3727, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3730 = load i64, ptr @simtime, align 8, !tbaa !13
  %3731 = add i64 %3730, 100
  store i64 %3731, ptr @simtime, align 8, !tbaa !13
  %3732 = getelementptr inbounds i8, ptr %0, i64 64
  %3733 = load i64, ptr %3732, align 8, !tbaa !38
  %3734 = load i64, ptr %3727, align 8, !tbaa !33
  %3735 = or i64 %3734, %3733
  store i64 %3735, ptr %3727, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3736 = load i64, ptr @simtime, align 8, !tbaa !13
  %3737 = add i64 %3736, 100
  store i64 %3737, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3738 = load i64, ptr %3727, align 8, !tbaa !33
  %3739 = xor i64 %3738, 68719476735
  store i64 %3739, ptr %3727, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3740 = load i64, ptr @simtime, align 8, !tbaa !13
  %3741 = add i64 %3740, 100
  store i64 %3741, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3742:                                             ; preds = %._crit_edge
  %3743 = getelementptr inbounds i8, ptr %0, i64 40
  %3744 = load i64, ptr %3743, align 8, !tbaa !33
  %3745 = xor i64 %3744, 68719476735
  store i64 %3745, ptr %3743, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3746 = load i64, ptr @simtime, align 8, !tbaa !13
  %3747 = add i64 %3746, 100
  store i64 %3747, ptr @simtime, align 8, !tbaa !13
  %3748 = getelementptr inbounds i8, ptr %0, i64 64
  %3749 = load i64, ptr %3748, align 8, !tbaa !38
  %3750 = load i64, ptr %3743, align 8, !tbaa !33
  %3751 = or i64 %3750, %3749
  store i64 %3751, ptr %3743, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3752 = load i64, ptr @simtime, align 8, !tbaa !13
  %3753 = add i64 %3752, 100
  store i64 %3753, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3754 = load i64, ptr %3743, align 8, !tbaa !33
  %3755 = xor i64 %3754, 68719476735
  store i64 %3755, ptr %3743, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3756 = load i64, ptr @simtime, align 8, !tbaa !13
  %3757 = add i64 %3756, 100
  store i64 %3757, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3758 = load i64, ptr %3743, align 8, !tbaa !33
  store i64 %3758, ptr %3748, align 8, !tbaa !38
  br label %8570

3759:                                             ; preds = %._crit_edge
  %3760 = getelementptr inbounds i8, ptr %0, i64 40
  %3761 = load i64, ptr %3760, align 8, !tbaa !33
  %3762 = xor i64 %3761, 68719476735
  store i64 %3762, ptr %3760, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3763 = load i64, ptr @simtime, align 8, !tbaa !13
  %3764 = add i64 %3763, 100
  store i64 %3764, ptr @simtime, align 8, !tbaa !13
  %3765 = getelementptr inbounds i8, ptr %0, i64 64
  %3766 = load i64, ptr %3765, align 8, !tbaa !38
  %3767 = load i64, ptr %3760, align 8, !tbaa !33
  %3768 = or i64 %3767, %3766
  store i64 %3768, ptr %3760, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3769 = load i64, ptr @simtime, align 8, !tbaa !13
  %3770 = add i64 %3769, 100
  store i64 %3770, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3771 = load i64, ptr %3760, align 8, !tbaa !33
  %3772 = xor i64 %3771, 68719476735
  store i64 %3772, ptr %3760, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3773 = load i64, ptr @simtime, align 8, !tbaa !13
  %3774 = add i64 %3773, 100
  store i64 %3774, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3775 = load i64, ptr %3760, align 8, !tbaa !33
  store i64 %3775, ptr %3765, align 8, !tbaa !38
  br label %8570

3776:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3777 = load i64, ptr @simtime, align 8, !tbaa !13
  %3778 = add i64 %3777, 100
  store i64 %3778, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3779 = load i64, ptr @simtime, align 8, !tbaa !13
  %3780 = add i64 %3779, 100
  store i64 %3780, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3781 = load i64, ptr @simtime, align 8, !tbaa !13
  %3782 = add i64 %3781, 100
  store i64 %3782, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3783:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3784 = load i64, ptr @simtime, align 8, !tbaa !13
  %3785 = add i64 %3784, 100
  store i64 %3785, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3786 = load i64, ptr @simtime, align 8, !tbaa !13
  %3787 = add i64 %3786, 100
  store i64 %3787, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3788 = load i64, ptr @simtime, align 8, !tbaa !13
  %3789 = add i64 %3788, 100
  store i64 %3789, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3790:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3791 = load i64, ptr @simtime, align 8, !tbaa !13
  %3792 = add i64 %3791, 100
  store i64 %3792, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3793 = load i64, ptr @simtime, align 8, !tbaa !13
  %3794 = add i64 %3793, 100
  store i64 %3794, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3795 = load i64, ptr @simtime, align 8, !tbaa !13
  %3796 = add i64 %3795, 100
  store i64 %3796, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3797 = getelementptr inbounds i8, ptr %0, i64 40
  %3798 = load i64, ptr %3797, align 8, !tbaa !33
  %3799 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %3798, ptr %3799, align 8, !tbaa !38
  br label %8570

3800:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3801 = load i64, ptr @simtime, align 8, !tbaa !13
  %3802 = add i64 %3801, 100
  store i64 %3802, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3803 = load i64, ptr @simtime, align 8, !tbaa !13
  %3804 = add i64 %3803, 100
  store i64 %3804, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3805 = load i64, ptr @simtime, align 8, !tbaa !13
  %3806 = add i64 %3805, 100
  store i64 %3806, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3807 = getelementptr inbounds i8, ptr %0, i64 40
  %3808 = load i64, ptr %3807, align 8, !tbaa !33
  %3809 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %3808, ptr %3809, align 8, !tbaa !38
  br label %8570

3810:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3811 = load i64, ptr @simtime, align 8, !tbaa !13
  %3812 = add i64 %3811, 100
  store i64 %3812, ptr @simtime, align 8, !tbaa !13
  %3813 = getelementptr inbounds i8, ptr %0, i64 64
  %3814 = load i64, ptr %3813, align 8, !tbaa !38
  %3815 = getelementptr inbounds i8, ptr %0, i64 40
  %3816 = load i64, ptr %3815, align 8, !tbaa !33
  %3817 = xor i64 %3816, %3814
  store i64 %3817, ptr %3815, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3818 = load i64, ptr @simtime, align 8, !tbaa !13
  %3819 = add i64 %3818, 100
  store i64 %3819, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3820 = load i64, ptr @simtime, align 8, !tbaa !13
  %3821 = add i64 %3820, 100
  store i64 %3821, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3822:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3823 = load i64, ptr @simtime, align 8, !tbaa !13
  %3824 = add i64 %3823, 100
  store i64 %3824, ptr @simtime, align 8, !tbaa !13
  %3825 = getelementptr inbounds i8, ptr %0, i64 64
  %3826 = load i64, ptr %3825, align 8, !tbaa !38
  %3827 = getelementptr inbounds i8, ptr %0, i64 40
  %3828 = load i64, ptr %3827, align 8, !tbaa !33
  %3829 = xor i64 %3828, %3826
  store i64 %3829, ptr %3827, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3830 = load i64, ptr @simtime, align 8, !tbaa !13
  %3831 = add i64 %3830, 100
  store i64 %3831, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3832 = load i64, ptr @simtime, align 8, !tbaa !13
  %3833 = add i64 %3832, 100
  store i64 %3833, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3834:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3835 = load i64, ptr @simtime, align 8, !tbaa !13
  %3836 = add i64 %3835, 100
  store i64 %3836, ptr @simtime, align 8, !tbaa !13
  %3837 = getelementptr inbounds i8, ptr %0, i64 64
  %3838 = load i64, ptr %3837, align 8, !tbaa !38
  %3839 = getelementptr inbounds i8, ptr %0, i64 40
  %3840 = load i64, ptr %3839, align 8, !tbaa !33
  %3841 = xor i64 %3840, %3838
  store i64 %3841, ptr %3839, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3842 = load i64, ptr @simtime, align 8, !tbaa !13
  %3843 = add i64 %3842, 100
  store i64 %3843, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3844 = load i64, ptr @simtime, align 8, !tbaa !13
  %3845 = add i64 %3844, 100
  store i64 %3845, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3846 = load i64, ptr %3839, align 8, !tbaa !33
  store i64 %3846, ptr %3837, align 8, !tbaa !38
  br label %8570

3847:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3848 = load i64, ptr @simtime, align 8, !tbaa !13
  %3849 = add i64 %3848, 100
  store i64 %3849, ptr @simtime, align 8, !tbaa !13
  %3850 = getelementptr inbounds i8, ptr %0, i64 64
  %3851 = load i64, ptr %3850, align 8, !tbaa !38
  %3852 = getelementptr inbounds i8, ptr %0, i64 40
  %3853 = load i64, ptr %3852, align 8, !tbaa !33
  %3854 = xor i64 %3853, %3851
  store i64 %3854, ptr %3852, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3855 = load i64, ptr @simtime, align 8, !tbaa !13
  %3856 = add i64 %3855, 100
  store i64 %3856, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3857 = load i64, ptr @simtime, align 8, !tbaa !13
  %3858 = add i64 %3857, 100
  store i64 %3858, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3859 = load i64, ptr %3852, align 8, !tbaa !33
  store i64 %3859, ptr %3850, align 8, !tbaa !38
  br label %8570

3860:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3861 = load i64, ptr @simtime, align 8, !tbaa !13
  %3862 = add i64 %3861, 100
  store i64 %3862, ptr @simtime, align 8, !tbaa !13
  %3863 = getelementptr inbounds i8, ptr %0, i64 64
  %3864 = load i64, ptr %3863, align 8, !tbaa !38
  %3865 = getelementptr inbounds i8, ptr %0, i64 40
  %3866 = load i64, ptr %3865, align 8, !tbaa !33
  %3867 = or i64 %3866, %3864
  store i64 %3867, ptr %3865, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3868 = load i64, ptr @simtime, align 8, !tbaa !13
  %3869 = add i64 %3868, 100
  store i64 %3869, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3870 = load i64, ptr @simtime, align 8, !tbaa !13
  %3871 = add i64 %3870, 100
  store i64 %3871, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3872:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3873 = load i64, ptr @simtime, align 8, !tbaa !13
  %3874 = add i64 %3873, 100
  store i64 %3874, ptr @simtime, align 8, !tbaa !13
  %3875 = getelementptr inbounds i8, ptr %0, i64 64
  %3876 = load i64, ptr %3875, align 8, !tbaa !38
  %3877 = getelementptr inbounds i8, ptr %0, i64 40
  %3878 = load i64, ptr %3877, align 8, !tbaa !33
  %3879 = or i64 %3878, %3876
  store i64 %3879, ptr %3877, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3880 = load i64, ptr @simtime, align 8, !tbaa !13
  %3881 = add i64 %3880, 100
  store i64 %3881, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3882 = load i64, ptr @simtime, align 8, !tbaa !13
  %3883 = add i64 %3882, 100
  store i64 %3883, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3884:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3885 = load i64, ptr @simtime, align 8, !tbaa !13
  %3886 = add i64 %3885, 100
  store i64 %3886, ptr @simtime, align 8, !tbaa !13
  %3887 = getelementptr inbounds i8, ptr %0, i64 64
  %3888 = load i64, ptr %3887, align 8, !tbaa !38
  %3889 = getelementptr inbounds i8, ptr %0, i64 40
  %3890 = load i64, ptr %3889, align 8, !tbaa !33
  %3891 = or i64 %3890, %3888
  store i64 %3891, ptr %3889, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3892 = load i64, ptr @simtime, align 8, !tbaa !13
  %3893 = add i64 %3892, 100
  store i64 %3893, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3894 = load i64, ptr @simtime, align 8, !tbaa !13
  %3895 = add i64 %3894, 100
  store i64 %3895, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3896 = load i64, ptr %3889, align 8, !tbaa !33
  store i64 %3896, ptr %3887, align 8, !tbaa !38
  br label %8570

3897:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3898 = load i64, ptr @simtime, align 8, !tbaa !13
  %3899 = add i64 %3898, 100
  store i64 %3899, ptr @simtime, align 8, !tbaa !13
  %3900 = getelementptr inbounds i8, ptr %0, i64 64
  %3901 = load i64, ptr %3900, align 8, !tbaa !38
  %3902 = getelementptr inbounds i8, ptr %0, i64 40
  %3903 = load i64, ptr %3902, align 8, !tbaa !33
  %3904 = or i64 %3903, %3901
  store i64 %3904, ptr %3902, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3905 = load i64, ptr @simtime, align 8, !tbaa !13
  %3906 = add i64 %3905, 100
  store i64 %3906, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3907 = load i64, ptr @simtime, align 8, !tbaa !13
  %3908 = add i64 %3907, 100
  store i64 %3908, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3909 = load i64, ptr %3902, align 8, !tbaa !33
  store i64 %3909, ptr %3900, align 8, !tbaa !38
  br label %8570

3910:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3911 = load i64, ptr @simtime, align 8, !tbaa !13
  %3912 = add i64 %3911, 100
  store i64 %3912, ptr @simtime, align 8, !tbaa !13
  %3913 = getelementptr inbounds i8, ptr %0, i64 64
  %3914 = load i64, ptr %3913, align 8, !tbaa !38
  %3915 = getelementptr inbounds i8, ptr %0, i64 40
  %3916 = load i64, ptr %3915, align 8, !tbaa !33
  %3917 = or i64 %3916, %3914
  store i64 %3917, ptr %3915, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3918 = load i64, ptr @simtime, align 8, !tbaa !13
  %3919 = add i64 %3918, 100
  store i64 %3919, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3920 = load i64, ptr %3915, align 8, !tbaa !33
  %3921 = xor i64 %3920, 68719476735
  store i64 %3921, ptr %3915, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3922 = load i64, ptr @simtime, align 8, !tbaa !13
  %3923 = add i64 %3922, 100
  store i64 %3923, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3924:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3925 = load i64, ptr @simtime, align 8, !tbaa !13
  %3926 = add i64 %3925, 100
  store i64 %3926, ptr @simtime, align 8, !tbaa !13
  %3927 = getelementptr inbounds i8, ptr %0, i64 64
  %3928 = load i64, ptr %3927, align 8, !tbaa !38
  %3929 = getelementptr inbounds i8, ptr %0, i64 40
  %3930 = load i64, ptr %3929, align 8, !tbaa !33
  %3931 = or i64 %3930, %3928
  store i64 %3931, ptr %3929, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3932 = load i64, ptr @simtime, align 8, !tbaa !13
  %3933 = add i64 %3932, 100
  store i64 %3933, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3934 = load i64, ptr %3929, align 8, !tbaa !33
  %3935 = xor i64 %3934, 68719476735
  store i64 %3935, ptr %3929, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3936 = load i64, ptr @simtime, align 8, !tbaa !13
  %3937 = add i64 %3936, 100
  store i64 %3937, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3938:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3939 = load i64, ptr @simtime, align 8, !tbaa !13
  %3940 = add i64 %3939, 100
  store i64 %3940, ptr @simtime, align 8, !tbaa !13
  %3941 = getelementptr inbounds i8, ptr %0, i64 64
  %3942 = load i64, ptr %3941, align 8, !tbaa !38
  %3943 = getelementptr inbounds i8, ptr %0, i64 40
  %3944 = load i64, ptr %3943, align 8, !tbaa !33
  %3945 = or i64 %3944, %3942
  store i64 %3945, ptr %3943, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3946 = load i64, ptr @simtime, align 8, !tbaa !13
  %3947 = add i64 %3946, 100
  store i64 %3947, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3948 = load i64, ptr %3943, align 8, !tbaa !33
  %3949 = xor i64 %3948, 68719476735
  store i64 %3949, ptr %3943, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3950 = load i64, ptr @simtime, align 8, !tbaa !13
  %3951 = add i64 %3950, 100
  store i64 %3951, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3952 = load i64, ptr %3943, align 8, !tbaa !33
  store i64 %3952, ptr %3941, align 8, !tbaa !38
  br label %8570

3953:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3954 = load i64, ptr @simtime, align 8, !tbaa !13
  %3955 = add i64 %3954, 100
  store i64 %3955, ptr @simtime, align 8, !tbaa !13
  %3956 = getelementptr inbounds i8, ptr %0, i64 64
  %3957 = load i64, ptr %3956, align 8, !tbaa !38
  %3958 = getelementptr inbounds i8, ptr %0, i64 40
  %3959 = load i64, ptr %3958, align 8, !tbaa !33
  %3960 = or i64 %3959, %3957
  store i64 %3960, ptr %3958, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3961 = load i64, ptr @simtime, align 8, !tbaa !13
  %3962 = add i64 %3961, 100
  store i64 %3962, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3963 = load i64, ptr %3958, align 8, !tbaa !33
  %3964 = xor i64 %3963, 68719476735
  store i64 %3964, ptr %3958, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3965 = load i64, ptr @simtime, align 8, !tbaa !13
  %3966 = add i64 %3965, 100
  store i64 %3966, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %3967 = load i64, ptr %3958, align 8, !tbaa !33
  store i64 %3967, ptr %3956, align 8, !tbaa !38
  br label %8570

3968:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3969 = load i64, ptr @simtime, align 8, !tbaa !13
  %3970 = add i64 %3969, 100
  store i64 %3970, ptr @simtime, align 8, !tbaa !13
  %3971 = getelementptr inbounds i8, ptr %0, i64 64
  %3972 = load i64, ptr %3971, align 8, !tbaa !38
  %3973 = getelementptr inbounds i8, ptr %0, i64 40
  %3974 = load i64, ptr %3973, align 8, !tbaa !33
  %3975 = xor i64 %3974, %3972
  store i64 %3975, ptr %3973, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3976 = load i64, ptr @simtime, align 8, !tbaa !13
  %3977 = add i64 %3976, 100
  store i64 %3977, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3978 = load i64, ptr %3973, align 8, !tbaa !33
  %3979 = xor i64 %3978, 68719476735
  store i64 %3979, ptr %3973, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3980 = load i64, ptr @simtime, align 8, !tbaa !13
  %3981 = add i64 %3980, 100
  store i64 %3981, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3982:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3983 = load i64, ptr @simtime, align 8, !tbaa !13
  %3984 = add i64 %3983, 100
  store i64 %3984, ptr @simtime, align 8, !tbaa !13
  %3985 = getelementptr inbounds i8, ptr %0, i64 64
  %3986 = load i64, ptr %3985, align 8, !tbaa !38
  %3987 = getelementptr inbounds i8, ptr %0, i64 40
  %3988 = load i64, ptr %3987, align 8, !tbaa !33
  %3989 = xor i64 %3988, %3986
  store i64 %3989, ptr %3987, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %3990 = load i64, ptr @simtime, align 8, !tbaa !13
  %3991 = add i64 %3990, 100
  store i64 %3991, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %3992 = load i64, ptr %3987, align 8, !tbaa !33
  %3993 = xor i64 %3992, 68719476735
  store i64 %3993, ptr %3987, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %3994 = load i64, ptr @simtime, align 8, !tbaa !13
  %3995 = add i64 %3994, 100
  store i64 %3995, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

3996:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %3997 = load i64, ptr @simtime, align 8, !tbaa !13
  %3998 = add i64 %3997, 100
  store i64 %3998, ptr @simtime, align 8, !tbaa !13
  %3999 = getelementptr inbounds i8, ptr %0, i64 64
  %4000 = load i64, ptr %3999, align 8, !tbaa !38
  %4001 = getelementptr inbounds i8, ptr %0, i64 40
  %4002 = load i64, ptr %4001, align 8, !tbaa !33
  %4003 = xor i64 %4002, %4000
  store i64 %4003, ptr %4001, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4004 = load i64, ptr @simtime, align 8, !tbaa !13
  %4005 = add i64 %4004, 100
  store i64 %4005, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4006 = load i64, ptr %4001, align 8, !tbaa !33
  %4007 = xor i64 %4006, 68719476735
  store i64 %4007, ptr %4001, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4008 = load i64, ptr @simtime, align 8, !tbaa !13
  %4009 = add i64 %4008, 100
  store i64 %4009, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4010 = load i64, ptr %4001, align 8, !tbaa !33
  store i64 %4010, ptr %3999, align 8, !tbaa !38
  br label %8570

4011:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4012 = load i64, ptr @simtime, align 8, !tbaa !13
  %4013 = add i64 %4012, 100
  store i64 %4013, ptr @simtime, align 8, !tbaa !13
  %4014 = getelementptr inbounds i8, ptr %0, i64 64
  %4015 = load i64, ptr %4014, align 8, !tbaa !38
  %4016 = getelementptr inbounds i8, ptr %0, i64 40
  %4017 = load i64, ptr %4016, align 8, !tbaa !33
  %4018 = xor i64 %4017, %4015
  store i64 %4018, ptr %4016, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4019 = load i64, ptr @simtime, align 8, !tbaa !13
  %4020 = add i64 %4019, 100
  store i64 %4020, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4021 = load i64, ptr %4016, align 8, !tbaa !33
  %4022 = xor i64 %4021, 68719476735
  store i64 %4022, ptr %4016, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4023 = load i64, ptr @simtime, align 8, !tbaa !13
  %4024 = add i64 %4023, 100
  store i64 %4024, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4025 = load i64, ptr %4016, align 8, !tbaa !33
  store i64 %4025, ptr %4014, align 8, !tbaa !38
  br label %8570

4026:                                             ; preds = %._crit_edge
  %4027 = getelementptr inbounds i8, ptr %0, i64 40
  %4028 = load i64, ptr %4027, align 8, !tbaa !33
  %4029 = xor i64 %4028, 68719476735
  store i64 %4029, ptr %4027, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4030 = load i64, ptr @simtime, align 8, !tbaa !13
  %4031 = add i64 %4030, 100
  store i64 %4031, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4032 = load i64, ptr @simtime, align 8, !tbaa !13
  %4033 = add i64 %4032, 100
  store i64 %4033, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4034 = load i64, ptr @simtime, align 8, !tbaa !13
  %4035 = add i64 %4034, 100
  store i64 %4035, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4036:                                             ; preds = %._crit_edge
  %4037 = getelementptr inbounds i8, ptr %0, i64 40
  %4038 = load i64, ptr %4037, align 8, !tbaa !33
  %4039 = xor i64 %4038, 68719476735
  store i64 %4039, ptr %4037, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4040 = load i64, ptr @simtime, align 8, !tbaa !13
  %4041 = add i64 %4040, 100
  store i64 %4041, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4042 = load i64, ptr @simtime, align 8, !tbaa !13
  %4043 = add i64 %4042, 100
  store i64 %4043, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4044 = load i64, ptr @simtime, align 8, !tbaa !13
  %4045 = add i64 %4044, 100
  store i64 %4045, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4046:                                             ; preds = %._crit_edge
  %4047 = getelementptr inbounds i8, ptr %0, i64 40
  %4048 = load i64, ptr %4047, align 8, !tbaa !33
  %4049 = xor i64 %4048, 68719476735
  store i64 %4049, ptr %4047, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4050 = load i64, ptr @simtime, align 8, !tbaa !13
  %4051 = add i64 %4050, 100
  store i64 %4051, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4052 = load i64, ptr @simtime, align 8, !tbaa !13
  %4053 = add i64 %4052, 100
  store i64 %4053, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4054 = load i64, ptr @simtime, align 8, !tbaa !13
  %4055 = add i64 %4054, 100
  store i64 %4055, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4056 = load i64, ptr %4047, align 8, !tbaa !33
  %4057 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %4056, ptr %4057, align 8, !tbaa !38
  br label %8570

4058:                                             ; preds = %._crit_edge
  %4059 = getelementptr inbounds i8, ptr %0, i64 40
  %4060 = load i64, ptr %4059, align 8, !tbaa !33
  %4061 = xor i64 %4060, 68719476735
  store i64 %4061, ptr %4059, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4062 = load i64, ptr @simtime, align 8, !tbaa !13
  %4063 = add i64 %4062, 100
  store i64 %4063, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4064 = load i64, ptr @simtime, align 8, !tbaa !13
  %4065 = add i64 %4064, 100
  store i64 %4065, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4066 = load i64, ptr @simtime, align 8, !tbaa !13
  %4067 = add i64 %4066, 100
  store i64 %4067, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4068 = load i64, ptr %4059, align 8, !tbaa !33
  %4069 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %4068, ptr %4069, align 8, !tbaa !38
  br label %8570

4070:                                             ; preds = %._crit_edge
  %4071 = getelementptr inbounds i8, ptr %0, i64 40
  %4072 = load i64, ptr %4071, align 8, !tbaa !33
  %4073 = xor i64 %4072, 68719476735
  store i64 %4073, ptr %4071, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4074 = load i64, ptr @simtime, align 8, !tbaa !13
  %4075 = add i64 %4074, 100
  store i64 %4075, ptr @simtime, align 8, !tbaa !13
  %4076 = getelementptr inbounds i8, ptr %0, i64 64
  %4077 = load i64, ptr %4076, align 8, !tbaa !38
  %4078 = load i64, ptr %4071, align 8, !tbaa !33
  %4079 = or i64 %4078, %4077
  store i64 %4079, ptr %4071, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4080 = load i64, ptr @simtime, align 8, !tbaa !13
  %4081 = add i64 %4080, 100
  store i64 %4081, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4082 = load i64, ptr @simtime, align 8, !tbaa !13
  %4083 = add i64 %4082, 100
  store i64 %4083, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4084:                                             ; preds = %._crit_edge
  %4085 = getelementptr inbounds i8, ptr %0, i64 40
  %4086 = load i64, ptr %4085, align 8, !tbaa !33
  %4087 = xor i64 %4086, 68719476735
  store i64 %4087, ptr %4085, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4088 = load i64, ptr @simtime, align 8, !tbaa !13
  %4089 = add i64 %4088, 100
  store i64 %4089, ptr @simtime, align 8, !tbaa !13
  %4090 = getelementptr inbounds i8, ptr %0, i64 64
  %4091 = load i64, ptr %4090, align 8, !tbaa !38
  %4092 = load i64, ptr %4085, align 8, !tbaa !33
  %4093 = or i64 %4092, %4091
  store i64 %4093, ptr %4085, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4094 = load i64, ptr @simtime, align 8, !tbaa !13
  %4095 = add i64 %4094, 100
  store i64 %4095, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4096 = load i64, ptr @simtime, align 8, !tbaa !13
  %4097 = add i64 %4096, 100
  store i64 %4097, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4098:                                             ; preds = %._crit_edge
  %4099 = getelementptr inbounds i8, ptr %0, i64 40
  %4100 = load i64, ptr %4099, align 8, !tbaa !33
  %4101 = xor i64 %4100, 68719476735
  store i64 %4101, ptr %4099, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4102 = load i64, ptr @simtime, align 8, !tbaa !13
  %4103 = add i64 %4102, 100
  store i64 %4103, ptr @simtime, align 8, !tbaa !13
  %4104 = getelementptr inbounds i8, ptr %0, i64 64
  %4105 = load i64, ptr %4104, align 8, !tbaa !38
  %4106 = load i64, ptr %4099, align 8, !tbaa !33
  %4107 = or i64 %4106, %4105
  store i64 %4107, ptr %4099, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4108 = load i64, ptr @simtime, align 8, !tbaa !13
  %4109 = add i64 %4108, 100
  store i64 %4109, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4110 = load i64, ptr @simtime, align 8, !tbaa !13
  %4111 = add i64 %4110, 100
  store i64 %4111, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4112 = load i64, ptr %4099, align 8, !tbaa !33
  store i64 %4112, ptr %4104, align 8, !tbaa !38
  br label %8570

4113:                                             ; preds = %._crit_edge
  %4114 = getelementptr inbounds i8, ptr %0, i64 40
  %4115 = load i64, ptr %4114, align 8, !tbaa !33
  %4116 = xor i64 %4115, 68719476735
  store i64 %4116, ptr %4114, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4117 = load i64, ptr @simtime, align 8, !tbaa !13
  %4118 = add i64 %4117, 100
  store i64 %4118, ptr @simtime, align 8, !tbaa !13
  %4119 = getelementptr inbounds i8, ptr %0, i64 64
  %4120 = load i64, ptr %4119, align 8, !tbaa !38
  %4121 = load i64, ptr %4114, align 8, !tbaa !33
  %4122 = or i64 %4121, %4120
  store i64 %4122, ptr %4114, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4123 = load i64, ptr @simtime, align 8, !tbaa !13
  %4124 = add i64 %4123, 100
  store i64 %4124, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4125 = load i64, ptr @simtime, align 8, !tbaa !13
  %4126 = add i64 %4125, 100
  store i64 %4126, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4127 = load i64, ptr %4114, align 8, !tbaa !33
  store i64 %4127, ptr %4119, align 8, !tbaa !38
  br label %8570

4128:                                             ; preds = %._crit_edge
  %4129 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4129, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4130 = load i64, ptr @simtime, align 8, !tbaa !13
  %4131 = add i64 %4130, 100
  store i64 %4131, ptr @simtime, align 8, !tbaa !13
  %4132 = getelementptr inbounds i8, ptr %0, i64 64
  %4133 = load i64, ptr %4132, align 8, !tbaa !38
  %4134 = load i64, ptr %4129, align 8, !tbaa !33
  %4135 = xor i64 %4134, %4133
  store i64 %4135, ptr %4129, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4136 = load i64, ptr @simtime, align 8, !tbaa !13
  %4137 = add i64 %4136, 100
  store i64 %4137, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4138 = load i64, ptr %4129, align 8, !tbaa !33
  %4139 = xor i64 %4138, 68719476735
  store i64 %4139, ptr %4129, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4140 = load i64, ptr @simtime, align 8, !tbaa !13
  %4141 = add i64 %4140, 100
  store i64 %4141, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4142:                                             ; preds = %._crit_edge
  %4143 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4143, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4144 = load i64, ptr @simtime, align 8, !tbaa !13
  %4145 = add i64 %4144, 100
  store i64 %4145, ptr @simtime, align 8, !tbaa !13
  %4146 = getelementptr inbounds i8, ptr %0, i64 64
  %4147 = load i64, ptr %4146, align 8, !tbaa !38
  %4148 = load i64, ptr %4143, align 8, !tbaa !33
  %4149 = xor i64 %4148, %4147
  store i64 %4149, ptr %4143, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4150 = load i64, ptr @simtime, align 8, !tbaa !13
  %4151 = add i64 %4150, 100
  store i64 %4151, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4152 = load i64, ptr %4143, align 8, !tbaa !33
  %4153 = xor i64 %4152, 68719476735
  store i64 %4153, ptr %4143, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4154 = load i64, ptr @simtime, align 8, !tbaa !13
  %4155 = add i64 %4154, 100
  store i64 %4155, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4156:                                             ; preds = %._crit_edge
  %4157 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4157, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4158 = load i64, ptr @simtime, align 8, !tbaa !13
  %4159 = add i64 %4158, 100
  store i64 %4159, ptr @simtime, align 8, !tbaa !13
  %4160 = getelementptr inbounds i8, ptr %0, i64 64
  %4161 = load i64, ptr %4160, align 8, !tbaa !38
  %4162 = load i64, ptr %4157, align 8, !tbaa !33
  %4163 = xor i64 %4162, %4161
  store i64 %4163, ptr %4157, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4164 = load i64, ptr @simtime, align 8, !tbaa !13
  %4165 = add i64 %4164, 100
  store i64 %4165, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4166 = load i64, ptr %4157, align 8, !tbaa !33
  %4167 = xor i64 %4166, 68719476735
  store i64 %4167, ptr %4157, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4168 = load i64, ptr @simtime, align 8, !tbaa !13
  %4169 = add i64 %4168, 100
  store i64 %4169, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4170 = load i64, ptr %4157, align 8, !tbaa !33
  store i64 %4170, ptr %4160, align 8, !tbaa !38
  br label %8570

4171:                                             ; preds = %._crit_edge
  %4172 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4172, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4173 = load i64, ptr @simtime, align 8, !tbaa !13
  %4174 = add i64 %4173, 100
  store i64 %4174, ptr @simtime, align 8, !tbaa !13
  %4175 = getelementptr inbounds i8, ptr %0, i64 64
  %4176 = load i64, ptr %4175, align 8, !tbaa !38
  %4177 = load i64, ptr %4172, align 8, !tbaa !33
  %4178 = xor i64 %4177, %4176
  store i64 %4178, ptr %4172, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4179 = load i64, ptr @simtime, align 8, !tbaa !13
  %4180 = add i64 %4179, 100
  store i64 %4180, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4181 = load i64, ptr %4172, align 8, !tbaa !33
  %4182 = xor i64 %4181, 68719476735
  store i64 %4182, ptr %4172, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4183 = load i64, ptr @simtime, align 8, !tbaa !13
  %4184 = add i64 %4183, 100
  store i64 %4184, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4185 = load i64, ptr %4172, align 8, !tbaa !33
  store i64 %4185, ptr %4175, align 8, !tbaa !38
  br label %8570

4186:                                             ; preds = %._crit_edge
  %4187 = getelementptr inbounds i8, ptr %0, i64 40
  %4188 = load i64, ptr %4187, align 8, !tbaa !33
  %4189 = xor i64 %4188, 68719476735
  store i64 %4189, ptr %4187, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4190 = load i64, ptr @simtime, align 8, !tbaa !13
  %4191 = add i64 %4190, 100
  store i64 %4191, ptr @simtime, align 8, !tbaa !13
  %4192 = getelementptr inbounds i8, ptr %0, i64 64
  %4193 = load i64, ptr %4192, align 8, !tbaa !38
  %4194 = load i64, ptr %4187, align 8, !tbaa !33
  %4195 = and i64 %4194, %4193
  store i64 %4195, ptr %4187, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4196 = load i64, ptr @simtime, align 8, !tbaa !13
  %4197 = add i64 %4196, 100
  store i64 %4197, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4198 = load i64, ptr %4187, align 8, !tbaa !33
  %4199 = xor i64 %4198, 68719476735
  store i64 %4199, ptr %4187, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4200 = load i64, ptr @simtime, align 8, !tbaa !13
  %4201 = add i64 %4200, 100
  store i64 %4201, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4202:                                             ; preds = %._crit_edge
  %4203 = getelementptr inbounds i8, ptr %0, i64 40
  %4204 = load i64, ptr %4203, align 8, !tbaa !33
  %4205 = xor i64 %4204, 68719476735
  store i64 %4205, ptr %4203, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4206 = load i64, ptr @simtime, align 8, !tbaa !13
  %4207 = add i64 %4206, 100
  store i64 %4207, ptr @simtime, align 8, !tbaa !13
  %4208 = getelementptr inbounds i8, ptr %0, i64 64
  %4209 = load i64, ptr %4208, align 8, !tbaa !38
  %4210 = load i64, ptr %4203, align 8, !tbaa !33
  %4211 = and i64 %4210, %4209
  store i64 %4211, ptr %4203, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4212 = load i64, ptr @simtime, align 8, !tbaa !13
  %4213 = add i64 %4212, 100
  store i64 %4213, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4214 = load i64, ptr %4203, align 8, !tbaa !33
  %4215 = xor i64 %4214, 68719476735
  store i64 %4215, ptr %4203, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4216 = load i64, ptr @simtime, align 8, !tbaa !13
  %4217 = add i64 %4216, 100
  store i64 %4217, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4218:                                             ; preds = %._crit_edge
  %4219 = getelementptr inbounds i8, ptr %0, i64 40
  %4220 = load i64, ptr %4219, align 8, !tbaa !33
  %4221 = xor i64 %4220, 68719476735
  store i64 %4221, ptr %4219, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4222 = load i64, ptr @simtime, align 8, !tbaa !13
  %4223 = add i64 %4222, 100
  store i64 %4223, ptr @simtime, align 8, !tbaa !13
  %4224 = getelementptr inbounds i8, ptr %0, i64 64
  %4225 = load i64, ptr %4224, align 8, !tbaa !38
  %4226 = load i64, ptr %4219, align 8, !tbaa !33
  %4227 = and i64 %4226, %4225
  store i64 %4227, ptr %4219, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4228 = load i64, ptr @simtime, align 8, !tbaa !13
  %4229 = add i64 %4228, 100
  store i64 %4229, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4230 = load i64, ptr %4219, align 8, !tbaa !33
  %4231 = xor i64 %4230, 68719476735
  store i64 %4231, ptr %4219, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4232 = load i64, ptr @simtime, align 8, !tbaa !13
  %4233 = add i64 %4232, 100
  store i64 %4233, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4234 = load i64, ptr %4219, align 8, !tbaa !33
  store i64 %4234, ptr %4224, align 8, !tbaa !38
  br label %8570

4235:                                             ; preds = %._crit_edge
  %4236 = getelementptr inbounds i8, ptr %0, i64 40
  %4237 = load i64, ptr %4236, align 8, !tbaa !33
  %4238 = xor i64 %4237, 68719476735
  store i64 %4238, ptr %4236, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4239 = load i64, ptr @simtime, align 8, !tbaa !13
  %4240 = add i64 %4239, 100
  store i64 %4240, ptr @simtime, align 8, !tbaa !13
  %4241 = getelementptr inbounds i8, ptr %0, i64 64
  %4242 = load i64, ptr %4241, align 8, !tbaa !38
  %4243 = load i64, ptr %4236, align 8, !tbaa !33
  %4244 = and i64 %4243, %4242
  store i64 %4244, ptr %4236, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4245 = load i64, ptr @simtime, align 8, !tbaa !13
  %4246 = add i64 %4245, 100
  store i64 %4246, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4247 = load i64, ptr %4236, align 8, !tbaa !33
  %4248 = xor i64 %4247, 68719476735
  store i64 %4248, ptr %4236, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4249 = load i64, ptr @simtime, align 8, !tbaa !13
  %4250 = add i64 %4249, 100
  store i64 %4250, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4251 = load i64, ptr %4236, align 8, !tbaa !33
  store i64 %4251, ptr %4241, align 8, !tbaa !38
  br label %8570

4252:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4253 = load i64, ptr @simtime, align 8, !tbaa !13
  %4254 = add i64 %4253, 100
  store i64 %4254, ptr @simtime, align 8, !tbaa !13
  %4255 = getelementptr inbounds i8, ptr %0, i64 64
  %4256 = load i64, ptr %4255, align 8, !tbaa !38
  %4257 = getelementptr inbounds i8, ptr %0, i64 40
  %4258 = load i64, ptr %4257, align 8, !tbaa !33
  %4259 = and i64 %4258, %4256
  store i64 %4259, ptr %4257, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4260 = load i64, ptr @simtime, align 8, !tbaa !13
  %4261 = add i64 %4260, 100
  store i64 %4261, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4262 = load i64, ptr %4257, align 8, !tbaa !33
  %4263 = xor i64 %4262, 68719476735
  store i64 %4263, ptr %4257, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4264 = load i64, ptr @simtime, align 8, !tbaa !13
  %4265 = add i64 %4264, 100
  store i64 %4265, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4266:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4267 = load i64, ptr @simtime, align 8, !tbaa !13
  %4268 = add i64 %4267, 100
  store i64 %4268, ptr @simtime, align 8, !tbaa !13
  %4269 = getelementptr inbounds i8, ptr %0, i64 64
  %4270 = load i64, ptr %4269, align 8, !tbaa !38
  %4271 = getelementptr inbounds i8, ptr %0, i64 40
  %4272 = load i64, ptr %4271, align 8, !tbaa !33
  %4273 = and i64 %4272, %4270
  store i64 %4273, ptr %4271, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4274 = load i64, ptr @simtime, align 8, !tbaa !13
  %4275 = add i64 %4274, 100
  store i64 %4275, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4276 = load i64, ptr %4271, align 8, !tbaa !33
  %4277 = xor i64 %4276, 68719476735
  store i64 %4277, ptr %4271, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4278 = load i64, ptr @simtime, align 8, !tbaa !13
  %4279 = add i64 %4278, 100
  store i64 %4279, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4280:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4281 = load i64, ptr @simtime, align 8, !tbaa !13
  %4282 = add i64 %4281, 100
  store i64 %4282, ptr @simtime, align 8, !tbaa !13
  %4283 = getelementptr inbounds i8, ptr %0, i64 64
  %4284 = load i64, ptr %4283, align 8, !tbaa !38
  %4285 = getelementptr inbounds i8, ptr %0, i64 40
  %4286 = load i64, ptr %4285, align 8, !tbaa !33
  %4287 = and i64 %4286, %4284
  store i64 %4287, ptr %4285, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4288 = load i64, ptr @simtime, align 8, !tbaa !13
  %4289 = add i64 %4288, 100
  store i64 %4289, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4290 = load i64, ptr %4285, align 8, !tbaa !33
  %4291 = xor i64 %4290, 68719476735
  store i64 %4291, ptr %4285, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4292 = load i64, ptr @simtime, align 8, !tbaa !13
  %4293 = add i64 %4292, 100
  store i64 %4293, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4294 = load i64, ptr %4285, align 8, !tbaa !33
  store i64 %4294, ptr %4283, align 8, !tbaa !38
  br label %8570

4295:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4296 = load i64, ptr @simtime, align 8, !tbaa !13
  %4297 = add i64 %4296, 100
  store i64 %4297, ptr @simtime, align 8, !tbaa !13
  %4298 = getelementptr inbounds i8, ptr %0, i64 64
  %4299 = load i64, ptr %4298, align 8, !tbaa !38
  %4300 = getelementptr inbounds i8, ptr %0, i64 40
  %4301 = load i64, ptr %4300, align 8, !tbaa !33
  %4302 = and i64 %4301, %4299
  store i64 %4302, ptr %4300, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4303 = load i64, ptr @simtime, align 8, !tbaa !13
  %4304 = add i64 %4303, 100
  store i64 %4304, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4305 = load i64, ptr %4300, align 8, !tbaa !33
  %4306 = xor i64 %4305, 68719476735
  store i64 %4306, ptr %4300, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4307 = load i64, ptr @simtime, align 8, !tbaa !13
  %4308 = add i64 %4307, 100
  store i64 %4308, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4309 = load i64, ptr %4300, align 8, !tbaa !33
  store i64 %4309, ptr %4298, align 8, !tbaa !38
  br label %8570

4310:                                             ; preds = %._crit_edge
  %4311 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4311, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4312 = load i64, ptr @simtime, align 8, !tbaa !13
  %4313 = add i64 %4312, 100
  store i64 %4313, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4314 = load i64, ptr @simtime, align 8, !tbaa !13
  %4315 = add i64 %4314, 100
  store i64 %4315, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4316 = load i64, ptr %4311, align 8, !tbaa !33
  %4317 = xor i64 %4316, 68719476735
  store i64 %4317, ptr %4311, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4318 = load i64, ptr @simtime, align 8, !tbaa !13
  %4319 = add i64 %4318, 100
  store i64 %4319, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4320:                                             ; preds = %._crit_edge
  %4321 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4321, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4322 = load i64, ptr @simtime, align 8, !tbaa !13
  %4323 = add i64 %4322, 100
  store i64 %4323, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4324 = load i64, ptr @simtime, align 8, !tbaa !13
  %4325 = add i64 %4324, 100
  store i64 %4325, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4326 = load i64, ptr %4321, align 8, !tbaa !33
  %4327 = xor i64 %4326, 68719476735
  store i64 %4327, ptr %4321, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4328 = load i64, ptr @simtime, align 8, !tbaa !13
  %4329 = add i64 %4328, 100
  store i64 %4329, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4330:                                             ; preds = %._crit_edge
  %4331 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4331, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4332 = load i64, ptr @simtime, align 8, !tbaa !13
  %4333 = add i64 %4332, 100
  store i64 %4333, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4334 = load i64, ptr @simtime, align 8, !tbaa !13
  %4335 = add i64 %4334, 100
  store i64 %4335, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4336 = load i64, ptr %4331, align 8, !tbaa !33
  %4337 = xor i64 %4336, 68719476735
  store i64 %4337, ptr %4331, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4338 = load i64, ptr @simtime, align 8, !tbaa !13
  %4339 = add i64 %4338, 100
  store i64 %4339, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4340 = load i64, ptr %4331, align 8, !tbaa !33
  %4341 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %4340, ptr %4341, align 8, !tbaa !38
  br label %8570

4342:                                             ; preds = %._crit_edge
  %4343 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4343, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4344 = load i64, ptr @simtime, align 8, !tbaa !13
  %4345 = add i64 %4344, 100
  store i64 %4345, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4346 = load i64, ptr @simtime, align 8, !tbaa !13
  %4347 = add i64 %4346, 100
  store i64 %4347, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4348 = load i64, ptr %4343, align 8, !tbaa !33
  %4349 = xor i64 %4348, 68719476735
  store i64 %4349, ptr %4343, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4350 = load i64, ptr @simtime, align 8, !tbaa !13
  %4351 = add i64 %4350, 100
  store i64 %4351, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4352 = load i64, ptr %4343, align 8, !tbaa !33
  %4353 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %4352, ptr %4353, align 8, !tbaa !38
  br label %8570

4354:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4355 = load i64, ptr @simtime, align 8, !tbaa !13
  %4356 = add i64 %4355, 100
  store i64 %4356, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4357 = load i64, ptr @simtime, align 8, !tbaa !13
  %4358 = add i64 %4357, 100
  store i64 %4358, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4359 = getelementptr inbounds i8, ptr %0, i64 64
  %4360 = load i64, ptr %4359, align 8, !tbaa !38
  %4361 = and i64 %4360, 68719214592
  %4362 = getelementptr inbounds i8, ptr %0, i64 40
  %4363 = load i64, ptr %4362, align 8, !tbaa !33
  %4364 = and i64 %4363, 262143
  %4365 = or disjoint i64 %4364, %4361
  store i64 %4365, ptr %4362, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4366 = load i64, ptr @simtime, align 8, !tbaa !13
  %4367 = add i64 %4366, 100
  store i64 %4367, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4368:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4369 = load i64, ptr @simtime, align 8, !tbaa !13
  %4370 = add i64 %4369, 100
  store i64 %4370, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4371 = load i64, ptr @simtime, align 8, !tbaa !13
  %4372 = add i64 %4371, 100
  store i64 %4372, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4373 = getelementptr inbounds i8, ptr %0, i64 64
  %4374 = load i64, ptr %4373, align 8, !tbaa !38
  %4375 = and i64 %4374, 68719214592
  %4376 = getelementptr inbounds i8, ptr %0, i64 40
  %4377 = load i64, ptr %4376, align 8, !tbaa !33
  %4378 = and i64 %4377, 262143
  %4379 = or disjoint i64 %4378, %4375
  store i64 %4379, ptr %4376, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4380 = load i64, ptr @simtime, align 8, !tbaa !13
  %4381 = add i64 %4380, 100
  store i64 %4381, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4382:                                             ; preds = %._crit_edge
  %4383 = getelementptr inbounds i8, ptr %0, i64 64
  %4384 = load i64, ptr %4383, align 8, !tbaa !38
  %4385 = getelementptr inbounds i8, ptr %0, i64 40
  %4386 = load i64, ptr %4385, align 8, !tbaa !33
  store i64 %4386, ptr %4383, align 8, !tbaa !38
  store i64 %4384, ptr %4385, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4387 = load i64, ptr @simtime, align 8, !tbaa !13
  %4388 = add i64 %4387, 100
  store i64 %4388, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4389 = load i64, ptr @simtime, align 8, !tbaa !13
  %4390 = add i64 %4389, 100
  store i64 %4390, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4391 = load i64, ptr %4383, align 8, !tbaa !38
  %4392 = and i64 %4391, 68719214592
  %4393 = load i64, ptr %4385, align 8, !tbaa !33
  %4394 = and i64 %4393, 262143
  %4395 = or disjoint i64 %4394, %4392
  store i64 %4395, ptr %4385, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4396 = load i64, ptr @simtime, align 8, !tbaa !13
  %4397 = add i64 %4396, 100
  store i64 %4397, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4398 = load i64, ptr %4385, align 8, !tbaa !33
  store i64 %4398, ptr %4383, align 8, !tbaa !38
  br label %8570

4399:                                             ; preds = %._crit_edge
  %4400 = getelementptr inbounds i8, ptr %0, i64 64
  %4401 = load i64, ptr %4400, align 8, !tbaa !38
  %4402 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %4401, ptr %4402, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4403 = load i64, ptr @simtime, align 8, !tbaa !13
  %4404 = add i64 %4403, 100
  store i64 %4404, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4405 = load i64, ptr @simtime, align 8, !tbaa !13
  %4406 = add i64 %4405, 100
  store i64 %4406, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4407 = load i64, ptr %4400, align 8, !tbaa !38
  %4408 = and i64 %4407, 68719214592
  %4409 = load i64, ptr %4402, align 8, !tbaa !33
  %4410 = and i64 %4409, 262143
  %4411 = or disjoint i64 %4410, %4408
  store i64 %4411, ptr %4402, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4412 = load i64, ptr @simtime, align 8, !tbaa !13
  %4413 = add i64 %4412, 100
  store i64 %4413, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4414 = load i64, ptr %4402, align 8, !tbaa !33
  store i64 %4414, ptr %4400, align 8, !tbaa !38
  br label %8570

4415:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4416 = load i64, ptr @simtime, align 8, !tbaa !13
  %4417 = add i64 %4416, 100
  store i64 %4417, ptr @simtime, align 8, !tbaa !13
  %4418 = getelementptr inbounds i8, ptr %0, i64 64
  %4419 = load i64, ptr %4418, align 8, !tbaa !38
  %4420 = shl i64 %4419, 18
  %4421 = lshr i64 %4419, 18
  %4422 = or i64 %4420, %4421
  %4423 = and i64 %4422, 68719476735
  store i64 %4423, ptr %4418, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4424 = load i64, ptr @simtime, align 8, !tbaa !13
  %4425 = add i64 %4424, 100
  store i64 %4425, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4426 = load i64, ptr %4418, align 8, !tbaa !38
  %4427 = and i64 %4426, 68719214592
  %4428 = getelementptr inbounds i8, ptr %0, i64 40
  %4429 = load i64, ptr %4428, align 8, !tbaa !33
  %4430 = and i64 %4429, 262143
  %4431 = or disjoint i64 %4430, %4427
  store i64 %4431, ptr %4428, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4432 = load i64, ptr @simtime, align 8, !tbaa !13
  %4433 = add i64 %4432, 100
  store i64 %4433, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4434:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4435 = load i64, ptr @simtime, align 8, !tbaa !13
  %4436 = add i64 %4435, 100
  store i64 %4436, ptr @simtime, align 8, !tbaa !13
  %4437 = getelementptr inbounds i8, ptr %0, i64 64
  %4438 = load i64, ptr %4437, align 8, !tbaa !38
  %4439 = shl i64 %4438, 18
  %4440 = lshr i64 %4438, 18
  %4441 = or i64 %4439, %4440
  %4442 = and i64 %4441, 68719476735
  store i64 %4442, ptr %4437, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4443 = load i64, ptr @simtime, align 8, !tbaa !13
  %4444 = add i64 %4443, 100
  store i64 %4444, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4445 = load i64, ptr %4437, align 8, !tbaa !38
  %4446 = and i64 %4445, 68719214592
  %4447 = getelementptr inbounds i8, ptr %0, i64 40
  %4448 = load i64, ptr %4447, align 8, !tbaa !33
  %4449 = and i64 %4448, 262143
  %4450 = or disjoint i64 %4449, %4446
  store i64 %4450, ptr %4447, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4451 = load i64, ptr @simtime, align 8, !tbaa !13
  %4452 = add i64 %4451, 100
  store i64 %4452, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4453:                                             ; preds = %._crit_edge
  %4454 = getelementptr inbounds i8, ptr %0, i64 64
  %4455 = load i64, ptr %4454, align 8, !tbaa !38
  %4456 = getelementptr inbounds i8, ptr %0, i64 40
  %4457 = load i64, ptr %4456, align 8, !tbaa !33
  store i64 %4457, ptr %4454, align 8, !tbaa !38
  store i64 %4455, ptr %4456, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4458 = load i64, ptr @simtime, align 8, !tbaa !13
  %4459 = add i64 %4458, 100
  store i64 %4459, ptr @simtime, align 8, !tbaa !13
  %4460 = load i64, ptr %4454, align 8, !tbaa !38
  %4461 = shl i64 %4460, 18
  %4462 = lshr i64 %4460, 18
  %4463 = or i64 %4461, %4462
  %4464 = and i64 %4463, 68719476735
  store i64 %4464, ptr %4454, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4465 = load i64, ptr @simtime, align 8, !tbaa !13
  %4466 = add i64 %4465, 100
  store i64 %4466, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4467 = load i64, ptr %4454, align 8, !tbaa !38
  %4468 = and i64 %4467, 68719214592
  %4469 = load i64, ptr %4456, align 8, !tbaa !33
  %4470 = and i64 %4469, 262143
  %4471 = or disjoint i64 %4470, %4468
  store i64 %4471, ptr %4456, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4472 = load i64, ptr @simtime, align 8, !tbaa !13
  %4473 = add i64 %4472, 100
  store i64 %4473, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4474 = load i64, ptr %4456, align 8, !tbaa !33
  store i64 %4474, ptr %4454, align 8, !tbaa !38
  br label %8570

4475:                                             ; preds = %._crit_edge
  %4476 = getelementptr inbounds i8, ptr %0, i64 64
  %4477 = load i64, ptr %4476, align 8, !tbaa !38
  %4478 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %4477, ptr %4478, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4479 = load i64, ptr @simtime, align 8, !tbaa !13
  %4480 = add i64 %4479, 100
  store i64 %4480, ptr @simtime, align 8, !tbaa !13
  %4481 = load i64, ptr %4476, align 8, !tbaa !38
  %4482 = shl i64 %4481, 18
  %4483 = lshr i64 %4481, 18
  %4484 = or i64 %4482, %4483
  %4485 = and i64 %4484, 68719476735
  store i64 %4485, ptr %4476, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4486 = load i64, ptr @simtime, align 8, !tbaa !13
  %4487 = add i64 %4486, 100
  store i64 %4487, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4488 = load i64, ptr %4476, align 8, !tbaa !38
  %4489 = and i64 %4488, 68719214592
  %4490 = load i64, ptr %4478, align 8, !tbaa !33
  %4491 = and i64 %4490, 262143
  %4492 = or disjoint i64 %4491, %4489
  store i64 %4492, ptr %4478, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4493 = load i64, ptr @simtime, align 8, !tbaa !13
  %4494 = add i64 %4493, 100
  store i64 %4494, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4495 = load i64, ptr %4478, align 8, !tbaa !33
  store i64 %4495, ptr %4476, align 8, !tbaa !38
  br label %8570

4496:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4497 = load i64, ptr @simtime, align 8, !tbaa !13
  %4498 = add i64 %4497, 100
  store i64 %4498, ptr @simtime, align 8, !tbaa !13
  %4499 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4499, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4500 = load i64, ptr @simtime, align 8, !tbaa !13
  %4501 = add i64 %4500, 100
  store i64 %4501, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4502 = getelementptr inbounds i8, ptr %0, i64 64
  %4503 = load i64, ptr %4502, align 8, !tbaa !38
  %4504 = and i64 %4503, 68719214592
  %4505 = load i64, ptr %4499, align 8, !tbaa !33
  %4506 = and i64 %4505, 262143
  %4507 = or disjoint i64 %4506, %4504
  store i64 %4507, ptr %4499, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4508 = load i64, ptr @simtime, align 8, !tbaa !13
  %4509 = add i64 %4508, 100
  store i64 %4509, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4510:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4511 = load i64, ptr @simtime, align 8, !tbaa !13
  %4512 = add i64 %4511, 100
  store i64 %4512, ptr @simtime, align 8, !tbaa !13
  %4513 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4513, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4514 = load i64, ptr @simtime, align 8, !tbaa !13
  %4515 = add i64 %4514, 100
  store i64 %4515, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4516 = getelementptr inbounds i8, ptr %0, i64 64
  %4517 = load i64, ptr %4516, align 8, !tbaa !38
  %4518 = and i64 %4517, 68719214592
  %4519 = load i64, ptr %4513, align 8, !tbaa !33
  %4520 = and i64 %4519, 262143
  %4521 = or disjoint i64 %4520, %4518
  store i64 %4521, ptr %4513, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4522 = load i64, ptr @simtime, align 8, !tbaa !13
  %4523 = add i64 %4522, 100
  store i64 %4523, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4524:                                             ; preds = %._crit_edge
  %4525 = getelementptr inbounds i8, ptr %0, i64 64
  %4526 = load i64, ptr %4525, align 8, !tbaa !38
  %4527 = getelementptr inbounds i8, ptr %0, i64 40
  %4528 = load i64, ptr %4527, align 8, !tbaa !33
  store i64 %4528, ptr %4525, align 8, !tbaa !38
  store i64 %4526, ptr %4527, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4529 = load i64, ptr @simtime, align 8, !tbaa !13
  %4530 = add i64 %4529, 100
  store i64 %4530, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %4527, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4531 = load i64, ptr @simtime, align 8, !tbaa !13
  %4532 = add i64 %4531, 100
  store i64 %4532, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4533 = load i64, ptr %4525, align 8, !tbaa !38
  %4534 = and i64 %4533, 68719214592
  %4535 = load i64, ptr %4527, align 8, !tbaa !33
  %4536 = and i64 %4535, 262143
  %4537 = or disjoint i64 %4536, %4534
  store i64 %4537, ptr %4527, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4538 = load i64, ptr @simtime, align 8, !tbaa !13
  %4539 = add i64 %4538, 100
  store i64 %4539, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4540 = load i64, ptr %4527, align 8, !tbaa !33
  store i64 %4540, ptr %4525, align 8, !tbaa !38
  br label %8570

4541:                                             ; preds = %._crit_edge
  %4542 = getelementptr inbounds i8, ptr %0, i64 64
  %4543 = load i64, ptr %4542, align 8, !tbaa !38
  %4544 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %4543, ptr %4544, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4545 = load i64, ptr @simtime, align 8, !tbaa !13
  %4546 = add i64 %4545, 100
  store i64 %4546, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %4544, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4547 = load i64, ptr @simtime, align 8, !tbaa !13
  %4548 = add i64 %4547, 100
  store i64 %4548, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4549 = load i64, ptr %4542, align 8, !tbaa !38
  %4550 = and i64 %4549, 68719214592
  %4551 = load i64, ptr %4544, align 8, !tbaa !33
  %4552 = and i64 %4551, 262143
  %4553 = or disjoint i64 %4552, %4550
  store i64 %4553, ptr %4544, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4554 = load i64, ptr @simtime, align 8, !tbaa !13
  %4555 = add i64 %4554, 100
  store i64 %4555, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4556 = load i64, ptr %4544, align 8, !tbaa !33
  store i64 %4556, ptr %4542, align 8, !tbaa !38
  br label %8570

4557:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4558 = load i64, ptr @simtime, align 8, !tbaa !13
  %4559 = add i64 %4558, 100
  store i64 %4559, ptr @simtime, align 8, !tbaa !13
  %4560 = getelementptr inbounds i8, ptr %0, i64 64
  %4561 = load i64, ptr %4560, align 8, !tbaa !38
  %4562 = shl i64 %4561, 18
  %4563 = lshr i64 %4561, 18
  %4564 = or i64 %4562, %4563
  %4565 = and i64 %4564, 68719476735
  store i64 %4565, ptr %4560, align 8, !tbaa !38
  %4566 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4566, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4567 = load i64, ptr @simtime, align 8, !tbaa !13
  %4568 = add i64 %4567, 100
  store i64 %4568, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4569 = load i64, ptr %4560, align 8, !tbaa !38
  %4570 = and i64 %4569, 68719214592
  %4571 = load i64, ptr %4566, align 8, !tbaa !33
  %4572 = and i64 %4571, 262143
  %4573 = or disjoint i64 %4572, %4570
  store i64 %4573, ptr %4566, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4574 = load i64, ptr @simtime, align 8, !tbaa !13
  %4575 = add i64 %4574, 100
  store i64 %4575, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4576:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4577 = load i64, ptr @simtime, align 8, !tbaa !13
  %4578 = add i64 %4577, 100
  store i64 %4578, ptr @simtime, align 8, !tbaa !13
  %4579 = getelementptr inbounds i8, ptr %0, i64 64
  %4580 = load i64, ptr %4579, align 8, !tbaa !38
  %4581 = shl i64 %4580, 18
  %4582 = lshr i64 %4580, 18
  %4583 = or i64 %4581, %4582
  %4584 = and i64 %4583, 68719476735
  store i64 %4584, ptr %4579, align 8, !tbaa !38
  %4585 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4585, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4586 = load i64, ptr @simtime, align 8, !tbaa !13
  %4587 = add i64 %4586, 100
  store i64 %4587, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4588 = load i64, ptr %4579, align 8, !tbaa !38
  %4589 = and i64 %4588, 68719214592
  %4590 = load i64, ptr %4585, align 8, !tbaa !33
  %4591 = and i64 %4590, 262143
  %4592 = or disjoint i64 %4591, %4589
  store i64 %4592, ptr %4585, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4593 = load i64, ptr @simtime, align 8, !tbaa !13
  %4594 = add i64 %4593, 100
  store i64 %4594, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4595:                                             ; preds = %._crit_edge
  %4596 = getelementptr inbounds i8, ptr %0, i64 64
  %4597 = load i64, ptr %4596, align 8, !tbaa !38
  %4598 = getelementptr inbounds i8, ptr %0, i64 40
  %4599 = load i64, ptr %4598, align 8, !tbaa !33
  store i64 %4599, ptr %4596, align 8, !tbaa !38
  store i64 %4597, ptr %4598, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4600 = load i64, ptr @simtime, align 8, !tbaa !13
  %4601 = add i64 %4600, 100
  store i64 %4601, ptr @simtime, align 8, !tbaa !13
  %4602 = load i64, ptr %4596, align 8, !tbaa !38
  %4603 = shl i64 %4602, 18
  %4604 = lshr i64 %4602, 18
  %4605 = or i64 %4603, %4604
  %4606 = and i64 %4605, 68719476735
  store i64 %4606, ptr %4596, align 8, !tbaa !38
  store i64 0, ptr %4598, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4607 = load i64, ptr @simtime, align 8, !tbaa !13
  %4608 = add i64 %4607, 100
  store i64 %4608, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4609 = load i64, ptr %4596, align 8, !tbaa !38
  %4610 = and i64 %4609, 68719214592
  %4611 = load i64, ptr %4598, align 8, !tbaa !33
  %4612 = and i64 %4611, 262143
  %4613 = or disjoint i64 %4612, %4610
  store i64 %4613, ptr %4598, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4614 = load i64, ptr @simtime, align 8, !tbaa !13
  %4615 = add i64 %4614, 100
  store i64 %4615, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4616 = load i64, ptr %4598, align 8, !tbaa !33
  store i64 %4616, ptr %4596, align 8, !tbaa !38
  br label %8570

4617:                                             ; preds = %._crit_edge
  %4618 = getelementptr inbounds i8, ptr %0, i64 64
  %4619 = load i64, ptr %4618, align 8, !tbaa !38
  %4620 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %4619, ptr %4620, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4621 = load i64, ptr @simtime, align 8, !tbaa !13
  %4622 = add i64 %4621, 100
  store i64 %4622, ptr @simtime, align 8, !tbaa !13
  %4623 = load i64, ptr %4618, align 8, !tbaa !38
  %4624 = shl i64 %4623, 18
  %4625 = lshr i64 %4623, 18
  %4626 = or i64 %4624, %4625
  %4627 = and i64 %4626, 68719476735
  store i64 %4627, ptr %4618, align 8, !tbaa !38
  store i64 0, ptr %4620, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4628 = load i64, ptr @simtime, align 8, !tbaa !13
  %4629 = add i64 %4628, 100
  store i64 %4629, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4630 = load i64, ptr %4618, align 8, !tbaa !38
  %4631 = and i64 %4630, 68719214592
  %4632 = load i64, ptr %4620, align 8, !tbaa !33
  %4633 = and i64 %4632, 262143
  %4634 = or disjoint i64 %4633, %4631
  store i64 %4634, ptr %4620, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4635 = load i64, ptr @simtime, align 8, !tbaa !13
  %4636 = add i64 %4635, 100
  store i64 %4636, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4637 = load i64, ptr %4620, align 8, !tbaa !33
  store i64 %4637, ptr %4618, align 8, !tbaa !38
  br label %8570

4638:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4639 = load i64, ptr @simtime, align 8, !tbaa !13
  %4640 = add i64 %4639, 100
  store i64 %4640, ptr @simtime, align 8, !tbaa !13
  %4641 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4641, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4642 = load i64, ptr @simtime, align 8, !tbaa !13
  %4643 = add i64 %4642, 100
  store i64 %4643, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4644 = getelementptr inbounds i8, ptr %0, i64 64
  %4645 = load i64, ptr %4644, align 8, !tbaa !38
  %4646 = and i64 %4645, 68719214592
  %4647 = load i64, ptr %4641, align 8, !tbaa !33
  %4648 = and i64 %4647, 262143
  %4649 = or disjoint i64 %4648, %4646
  %4650 = xor i64 %4649, 262143
  store i64 %4650, ptr %4641, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4651 = load i64, ptr @simtime, align 8, !tbaa !13
  %4652 = add i64 %4651, 100
  store i64 %4652, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4653:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4654 = load i64, ptr @simtime, align 8, !tbaa !13
  %4655 = add i64 %4654, 100
  store i64 %4655, ptr @simtime, align 8, !tbaa !13
  %4656 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4656, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4657 = load i64, ptr @simtime, align 8, !tbaa !13
  %4658 = add i64 %4657, 100
  store i64 %4658, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4659 = getelementptr inbounds i8, ptr %0, i64 64
  %4660 = load i64, ptr %4659, align 8, !tbaa !38
  %4661 = and i64 %4660, 68719214592
  %4662 = load i64, ptr %4656, align 8, !tbaa !33
  %4663 = and i64 %4662, 262143
  %4664 = or disjoint i64 %4663, %4661
  %4665 = xor i64 %4664, 262143
  store i64 %4665, ptr %4656, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4666 = load i64, ptr @simtime, align 8, !tbaa !13
  %4667 = add i64 %4666, 100
  store i64 %4667, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4668:                                             ; preds = %._crit_edge
  %4669 = getelementptr inbounds i8, ptr %0, i64 64
  %4670 = load i64, ptr %4669, align 8, !tbaa !38
  %4671 = getelementptr inbounds i8, ptr %0, i64 40
  %4672 = load i64, ptr %4671, align 8, !tbaa !33
  store i64 %4672, ptr %4669, align 8, !tbaa !38
  store i64 %4670, ptr %4671, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4673 = load i64, ptr @simtime, align 8, !tbaa !13
  %4674 = add i64 %4673, 100
  store i64 %4674, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %4671, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4675 = load i64, ptr @simtime, align 8, !tbaa !13
  %4676 = add i64 %4675, 100
  store i64 %4676, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4677 = load i64, ptr %4669, align 8, !tbaa !38
  %4678 = and i64 %4677, 68719214592
  %4679 = load i64, ptr %4671, align 8, !tbaa !33
  %4680 = and i64 %4679, 262143
  %4681 = or disjoint i64 %4680, %4678
  %4682 = xor i64 %4681, 262143
  store i64 %4682, ptr %4671, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4683 = load i64, ptr @simtime, align 8, !tbaa !13
  %4684 = add i64 %4683, 100
  store i64 %4684, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4685 = load i64, ptr %4671, align 8, !tbaa !33
  store i64 %4685, ptr %4669, align 8, !tbaa !38
  br label %8570

4686:                                             ; preds = %._crit_edge
  %4687 = getelementptr inbounds i8, ptr %0, i64 64
  %4688 = load i64, ptr %4687, align 8, !tbaa !38
  %4689 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %4688, ptr %4689, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4690 = load i64, ptr @simtime, align 8, !tbaa !13
  %4691 = add i64 %4690, 100
  store i64 %4691, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %4689, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4692 = load i64, ptr @simtime, align 8, !tbaa !13
  %4693 = add i64 %4692, 100
  store i64 %4693, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4694 = load i64, ptr %4687, align 8, !tbaa !38
  %4695 = and i64 %4694, 68719214592
  %4696 = load i64, ptr %4689, align 8, !tbaa !33
  %4697 = and i64 %4696, 262143
  %4698 = or disjoint i64 %4697, %4695
  %4699 = xor i64 %4698, 262143
  store i64 %4699, ptr %4689, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4700 = load i64, ptr @simtime, align 8, !tbaa !13
  %4701 = add i64 %4700, 100
  store i64 %4701, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4702 = load i64, ptr %4689, align 8, !tbaa !33
  store i64 %4702, ptr %4687, align 8, !tbaa !38
  br label %8570

4703:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4704 = load i64, ptr @simtime, align 8, !tbaa !13
  %4705 = add i64 %4704, 100
  store i64 %4705, ptr @simtime, align 8, !tbaa !13
  %4706 = getelementptr inbounds i8, ptr %0, i64 64
  %4707 = load i64, ptr %4706, align 8, !tbaa !38
  %4708 = shl i64 %4707, 18
  %4709 = lshr i64 %4707, 18
  %4710 = or i64 %4708, %4709
  %4711 = and i64 %4710, 68719476735
  store i64 %4711, ptr %4706, align 8, !tbaa !38
  %4712 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4712, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4713 = load i64, ptr @simtime, align 8, !tbaa !13
  %4714 = add i64 %4713, 100
  store i64 %4714, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4715 = load i64, ptr %4706, align 8, !tbaa !38
  %4716 = and i64 %4715, 68719214592
  %4717 = load i64, ptr %4712, align 8, !tbaa !33
  %4718 = and i64 %4717, 262143
  %4719 = or disjoint i64 %4718, %4716
  %4720 = xor i64 %4719, 262143
  store i64 %4720, ptr %4712, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4721 = load i64, ptr @simtime, align 8, !tbaa !13
  %4722 = add i64 %4721, 100
  store i64 %4722, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4723:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4724 = load i64, ptr @simtime, align 8, !tbaa !13
  %4725 = add i64 %4724, 100
  store i64 %4725, ptr @simtime, align 8, !tbaa !13
  %4726 = getelementptr inbounds i8, ptr %0, i64 64
  %4727 = load i64, ptr %4726, align 8, !tbaa !38
  %4728 = shl i64 %4727, 18
  %4729 = lshr i64 %4727, 18
  %4730 = or i64 %4728, %4729
  %4731 = and i64 %4730, 68719476735
  store i64 %4731, ptr %4726, align 8, !tbaa !38
  %4732 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4732, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4733 = load i64, ptr @simtime, align 8, !tbaa !13
  %4734 = add i64 %4733, 100
  store i64 %4734, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4735 = load i64, ptr %4726, align 8, !tbaa !38
  %4736 = and i64 %4735, 68719214592
  %4737 = load i64, ptr %4732, align 8, !tbaa !33
  %4738 = and i64 %4737, 262143
  %4739 = or disjoint i64 %4738, %4736
  %4740 = xor i64 %4739, 262143
  store i64 %4740, ptr %4732, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4741 = load i64, ptr @simtime, align 8, !tbaa !13
  %4742 = add i64 %4741, 100
  store i64 %4742, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4743:                                             ; preds = %._crit_edge
  %4744 = getelementptr inbounds i8, ptr %0, i64 64
  %4745 = load i64, ptr %4744, align 8, !tbaa !38
  %4746 = getelementptr inbounds i8, ptr %0, i64 40
  %4747 = load i64, ptr %4746, align 8, !tbaa !33
  store i64 %4747, ptr %4744, align 8, !tbaa !38
  store i64 %4745, ptr %4746, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4748 = load i64, ptr @simtime, align 8, !tbaa !13
  %4749 = add i64 %4748, 100
  store i64 %4749, ptr @simtime, align 8, !tbaa !13
  %4750 = load i64, ptr %4744, align 8, !tbaa !38
  %4751 = shl i64 %4750, 18
  %4752 = lshr i64 %4750, 18
  %4753 = or i64 %4751, %4752
  %4754 = and i64 %4753, 68719476735
  store i64 %4754, ptr %4744, align 8, !tbaa !38
  store i64 0, ptr %4746, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4755 = load i64, ptr @simtime, align 8, !tbaa !13
  %4756 = add i64 %4755, 100
  store i64 %4756, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4757 = load i64, ptr %4744, align 8, !tbaa !38
  %4758 = and i64 %4757, 68719214592
  %4759 = load i64, ptr %4746, align 8, !tbaa !33
  %4760 = and i64 %4759, 262143
  %4761 = or disjoint i64 %4760, %4758
  %4762 = xor i64 %4761, 262143
  store i64 %4762, ptr %4746, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4763 = load i64, ptr @simtime, align 8, !tbaa !13
  %4764 = add i64 %4763, 100
  store i64 %4764, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4765 = load i64, ptr %4746, align 8, !tbaa !33
  store i64 %4765, ptr %4744, align 8, !tbaa !38
  br label %8570

4766:                                             ; preds = %._crit_edge
  %4767 = getelementptr inbounds i8, ptr %0, i64 64
  %4768 = load i64, ptr %4767, align 8, !tbaa !38
  %4769 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %4768, ptr %4769, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4770 = load i64, ptr @simtime, align 8, !tbaa !13
  %4771 = add i64 %4770, 100
  store i64 %4771, ptr @simtime, align 8, !tbaa !13
  %4772 = load i64, ptr %4767, align 8, !tbaa !38
  %4773 = shl i64 %4772, 18
  %4774 = lshr i64 %4772, 18
  %4775 = or i64 %4773, %4774
  %4776 = and i64 %4775, 68719476735
  store i64 %4776, ptr %4767, align 8, !tbaa !38
  store i64 0, ptr %4769, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4777 = load i64, ptr @simtime, align 8, !tbaa !13
  %4778 = add i64 %4777, 100
  store i64 %4778, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4779 = load i64, ptr %4767, align 8, !tbaa !38
  %4780 = and i64 %4779, 68719214592
  %4781 = load i64, ptr %4769, align 8, !tbaa !33
  %4782 = and i64 %4781, 262143
  %4783 = or disjoint i64 %4782, %4780
  %4784 = xor i64 %4783, 262143
  store i64 %4784, ptr %4769, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4785 = load i64, ptr @simtime, align 8, !tbaa !13
  %4786 = add i64 %4785, 100
  store i64 %4786, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4787 = load i64, ptr %4769, align 8, !tbaa !33
  store i64 %4787, ptr %4767, align 8, !tbaa !38
  br label %8570

4788:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4789 = load i64, ptr @simtime, align 8, !tbaa !13
  %4790 = add i64 %4789, 100
  store i64 %4790, ptr @simtime, align 8, !tbaa !13
  %4791 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4791, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4792 = load i64, ptr @simtime, align 8, !tbaa !13
  %4793 = add i64 %4792, 100
  store i64 %4793, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4794 = getelementptr inbounds i8, ptr %0, i64 64
  %4795 = load i64, ptr %4794, align 8, !tbaa !38
  %4796 = and i64 %4795, 68719214592
  %4797 = load i64, ptr %4791, align 8, !tbaa !33
  %4798 = and i64 %4797, 262143
  %4799 = or disjoint i64 %4798, %4796
  %4800 = and i64 %4795, 34359738368
  %.not6340 = icmp eq i64 %4800, 0
  %4801 = xor i64 %4799, 262143
  %spec.select6535 = select i1 %.not6340, i64 %4799, i64 %4801
  store i64 %spec.select6535, ptr %4791, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4802 = load i64, ptr @simtime, align 8, !tbaa !13
  %4803 = add i64 %4802, 100
  store i64 %4803, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4804:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4805 = load i64, ptr @simtime, align 8, !tbaa !13
  %4806 = add i64 %4805, 100
  store i64 %4806, ptr @simtime, align 8, !tbaa !13
  %4807 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4808 = load i64, ptr @simtime, align 8, !tbaa !13
  %4809 = add i64 %4808, 100
  store i64 %4809, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4810 = getelementptr inbounds i8, ptr %0, i64 64
  %4811 = load i64, ptr %4810, align 8, !tbaa !38
  %4812 = and i64 %4811, 68719214592
  %4813 = load i64, ptr %4807, align 8, !tbaa !33
  %4814 = and i64 %4813, 262143
  %4815 = or disjoint i64 %4814, %4812
  %4816 = and i64 %4811, 34359738368
  %.not6338 = icmp eq i64 %4816, 0
  %4817 = xor i64 %4815, 262143
  %spec.select6536 = select i1 %.not6338, i64 %4815, i64 %4817
  store i64 %spec.select6536, ptr %4807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4818 = load i64, ptr @simtime, align 8, !tbaa !13
  %4819 = add i64 %4818, 100
  store i64 %4819, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4820:                                             ; preds = %._crit_edge
  %4821 = getelementptr inbounds i8, ptr %0, i64 64
  %4822 = load i64, ptr %4821, align 8, !tbaa !38
  %4823 = getelementptr inbounds i8, ptr %0, i64 40
  %4824 = load i64, ptr %4823, align 8, !tbaa !33
  store i64 %4824, ptr %4821, align 8, !tbaa !38
  store i64 %4822, ptr %4823, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4825 = load i64, ptr @simtime, align 8, !tbaa !13
  %4826 = add i64 %4825, 100
  store i64 %4826, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %4823, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4827 = load i64, ptr @simtime, align 8, !tbaa !13
  %4828 = add i64 %4827, 100
  store i64 %4828, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4829 = load i64, ptr %4821, align 8, !tbaa !38
  %4830 = and i64 %4829, 68719214592
  %4831 = load i64, ptr %4823, align 8, !tbaa !33
  %4832 = and i64 %4831, 262143
  %4833 = or disjoint i64 %4832, %4830
  %4834 = and i64 %4829, 34359738368
  %.not6336 = icmp eq i64 %4834, 0
  %4835 = xor i64 %4833, 262143
  %spec.select6537 = select i1 %.not6336, i64 %4833, i64 %4835
  store i64 %spec.select6537, ptr %4823, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4836 = load i64, ptr @simtime, align 8, !tbaa !13
  %4837 = add i64 %4836, 100
  store i64 %4837, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4838 = load i64, ptr %4823, align 8, !tbaa !33
  store i64 %4838, ptr %4821, align 8, !tbaa !38
  br label %8570

4839:                                             ; preds = %._crit_edge
  %4840 = getelementptr inbounds i8, ptr %0, i64 64
  %4841 = load i64, ptr %4840, align 8, !tbaa !38
  %4842 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %4841, ptr %4842, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4843 = load i64, ptr @simtime, align 8, !tbaa !13
  %4844 = add i64 %4843, 100
  store i64 %4844, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %4842, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4845 = load i64, ptr @simtime, align 8, !tbaa !13
  %4846 = add i64 %4845, 100
  store i64 %4846, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4847 = load i64, ptr %4840, align 8, !tbaa !38
  %4848 = and i64 %4847, 68719214592
  %4849 = load i64, ptr %4842, align 8, !tbaa !33
  %4850 = and i64 %4849, 262143
  %4851 = or disjoint i64 %4850, %4848
  %4852 = and i64 %4847, 34359738368
  %.not6334 = icmp eq i64 %4852, 0
  %4853 = xor i64 %4851, 262143
  %spec.select6538 = select i1 %.not6334, i64 %4851, i64 %4853
  store i64 %spec.select6538, ptr %4842, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4854 = load i64, ptr @simtime, align 8, !tbaa !13
  %4855 = add i64 %4854, 100
  store i64 %4855, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4856 = load i64, ptr %4842, align 8, !tbaa !33
  store i64 %4856, ptr %4840, align 8, !tbaa !38
  br label %8570

4857:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4858 = load i64, ptr @simtime, align 8, !tbaa !13
  %4859 = add i64 %4858, 100
  store i64 %4859, ptr @simtime, align 8, !tbaa !13
  %4860 = getelementptr inbounds i8, ptr %0, i64 64
  %4861 = load i64, ptr %4860, align 8, !tbaa !38
  %4862 = shl i64 %4861, 18
  %4863 = lshr i64 %4861, 18
  %4864 = or i64 %4862, %4863
  %4865 = and i64 %4864, 68719476735
  store i64 %4865, ptr %4860, align 8, !tbaa !38
  %4866 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4866, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4867 = load i64, ptr @simtime, align 8, !tbaa !13
  %4868 = add i64 %4867, 100
  store i64 %4868, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4869 = load i64, ptr %4860, align 8, !tbaa !38
  %4870 = and i64 %4869, 68719214592
  %4871 = load i64, ptr %4866, align 8, !tbaa !33
  %4872 = and i64 %4871, 262143
  %4873 = or disjoint i64 %4872, %4870
  %4874 = and i64 %4869, 34359738368
  %.not6332 = icmp eq i64 %4874, 0
  %4875 = xor i64 %4873, 262143
  %spec.select6539 = select i1 %.not6332, i64 %4873, i64 %4875
  store i64 %spec.select6539, ptr %4866, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4876 = load i64, ptr @simtime, align 8, !tbaa !13
  %4877 = add i64 %4876, 100
  store i64 %4877, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4878:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4879 = load i64, ptr @simtime, align 8, !tbaa !13
  %4880 = add i64 %4879, 100
  store i64 %4880, ptr @simtime, align 8, !tbaa !13
  %4881 = getelementptr inbounds i8, ptr %0, i64 64
  %4882 = load i64, ptr %4881, align 8, !tbaa !38
  %4883 = shl i64 %4882, 18
  %4884 = lshr i64 %4882, 18
  %4885 = or i64 %4883, %4884
  %4886 = and i64 %4885, 68719476735
  store i64 %4886, ptr %4881, align 8, !tbaa !38
  %4887 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %4887, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4888 = load i64, ptr @simtime, align 8, !tbaa !13
  %4889 = add i64 %4888, 100
  store i64 %4889, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4890 = load i64, ptr %4881, align 8, !tbaa !38
  %4891 = and i64 %4890, 68719214592
  %4892 = load i64, ptr %4887, align 8, !tbaa !33
  %4893 = and i64 %4892, 262143
  %4894 = or disjoint i64 %4893, %4891
  %4895 = and i64 %4890, 34359738368
  %.not6330 = icmp eq i64 %4895, 0
  %4896 = xor i64 %4894, 262143
  %spec.select6540 = select i1 %.not6330, i64 %4894, i64 %4896
  store i64 %spec.select6540, ptr %4887, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4897 = load i64, ptr @simtime, align 8, !tbaa !13
  %4898 = add i64 %4897, 100
  store i64 %4898, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4899:                                             ; preds = %._crit_edge
  %4900 = getelementptr inbounds i8, ptr %0, i64 64
  %4901 = load i64, ptr %4900, align 8, !tbaa !38
  %4902 = getelementptr inbounds i8, ptr %0, i64 40
  %4903 = load i64, ptr %4902, align 8, !tbaa !33
  store i64 %4903, ptr %4900, align 8, !tbaa !38
  store i64 %4901, ptr %4902, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4904 = load i64, ptr @simtime, align 8, !tbaa !13
  %4905 = add i64 %4904, 100
  store i64 %4905, ptr @simtime, align 8, !tbaa !13
  %4906 = load i64, ptr %4900, align 8, !tbaa !38
  %4907 = shl i64 %4906, 18
  %4908 = lshr i64 %4906, 18
  %4909 = or i64 %4907, %4908
  %4910 = and i64 %4909, 68719476735
  store i64 %4910, ptr %4900, align 8, !tbaa !38
  store i64 0, ptr %4902, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4911 = load i64, ptr @simtime, align 8, !tbaa !13
  %4912 = add i64 %4911, 100
  store i64 %4912, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4913 = load i64, ptr %4900, align 8, !tbaa !38
  %4914 = and i64 %4913, 68719214592
  %4915 = load i64, ptr %4902, align 8, !tbaa !33
  %4916 = and i64 %4915, 262143
  %4917 = or disjoint i64 %4916, %4914
  %4918 = and i64 %4913, 34359738368
  %.not6328 = icmp eq i64 %4918, 0
  %4919 = xor i64 %4917, 262143
  %spec.select6541 = select i1 %.not6328, i64 %4917, i64 %4919
  store i64 %spec.select6541, ptr %4902, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4920 = load i64, ptr @simtime, align 8, !tbaa !13
  %4921 = add i64 %4920, 100
  store i64 %4921, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4922 = load i64, ptr %4902, align 8, !tbaa !33
  store i64 %4922, ptr %4900, align 8, !tbaa !38
  br label %8570

4923:                                             ; preds = %._crit_edge
  %4924 = getelementptr inbounds i8, ptr %0, i64 64
  %4925 = load i64, ptr %4924, align 8, !tbaa !38
  %4926 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %4925, ptr %4926, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4927 = load i64, ptr @simtime, align 8, !tbaa !13
  %4928 = add i64 %4927, 100
  store i64 %4928, ptr @simtime, align 8, !tbaa !13
  %4929 = load i64, ptr %4924, align 8, !tbaa !38
  %4930 = shl i64 %4929, 18
  %4931 = lshr i64 %4929, 18
  %4932 = or i64 %4930, %4931
  %4933 = and i64 %4932, 68719476735
  store i64 %4933, ptr %4924, align 8, !tbaa !38
  store i64 0, ptr %4926, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4934 = load i64, ptr @simtime, align 8, !tbaa !13
  %4935 = add i64 %4934, 100
  store i64 %4935, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4936 = load i64, ptr %4924, align 8, !tbaa !38
  %4937 = and i64 %4936, 68719214592
  %4938 = load i64, ptr %4926, align 8, !tbaa !33
  %4939 = and i64 %4938, 262143
  %4940 = or disjoint i64 %4939, %4937
  %4941 = and i64 %4936, 34359738368
  %.not6326 = icmp eq i64 %4941, 0
  %4942 = xor i64 %4940, 262143
  %spec.select6542 = select i1 %.not6326, i64 %4940, i64 %4942
  store i64 %spec.select6542, ptr %4926, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4943 = load i64, ptr @simtime, align 8, !tbaa !13
  %4944 = add i64 %4943, 100
  store i64 %4944, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4945 = load i64, ptr %4926, align 8, !tbaa !33
  store i64 %4945, ptr %4924, align 8, !tbaa !38
  br label %8570

4946:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4947 = load i64, ptr @simtime, align 8, !tbaa !13
  %4948 = add i64 %4947, 100
  store i64 %4948, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4949 = load i64, ptr @simtime, align 8, !tbaa !13
  %4950 = add i64 %4949, 100
  store i64 %4950, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4951 = getelementptr inbounds i8, ptr %0, i64 40
  %4952 = load i64, ptr %4951, align 8, !tbaa !33
  %4953 = and i64 %4952, 68719214592
  %4954 = getelementptr inbounds i8, ptr %0, i64 64
  %4955 = load i64, ptr %4954, align 8, !tbaa !38
  %4956 = and i64 %4955, 262143
  %4957 = or disjoint i64 %4956, %4953
  store i64 %4957, ptr %4951, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4958 = load i64, ptr @simtime, align 8, !tbaa !13
  %4959 = add i64 %4958, 100
  store i64 %4959, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4960:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4961 = load i64, ptr @simtime, align 8, !tbaa !13
  %4962 = add i64 %4961, 100
  store i64 %4962, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4963 = load i64, ptr @simtime, align 8, !tbaa !13
  %4964 = add i64 %4963, 100
  store i64 %4964, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4965 = getelementptr inbounds i8, ptr %0, i64 40
  %4966 = load i64, ptr %4965, align 8, !tbaa !33
  %4967 = and i64 %4966, 68719214592
  %4968 = getelementptr inbounds i8, ptr %0, i64 64
  %4969 = load i64, ptr %4968, align 8, !tbaa !38
  %4970 = and i64 %4969, 262143
  %4971 = or disjoint i64 %4970, %4967
  store i64 %4971, ptr %4965, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4972 = load i64, ptr @simtime, align 8, !tbaa !13
  %4973 = add i64 %4972, 100
  store i64 %4973, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

4974:                                             ; preds = %._crit_edge
  %4975 = getelementptr inbounds i8, ptr %0, i64 64
  %4976 = load i64, ptr %4975, align 8, !tbaa !38
  %4977 = getelementptr inbounds i8, ptr %0, i64 40
  %4978 = load i64, ptr %4977, align 8, !tbaa !33
  store i64 %4978, ptr %4975, align 8, !tbaa !38
  store i64 %4976, ptr %4977, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4979 = load i64, ptr @simtime, align 8, !tbaa !13
  %4980 = add i64 %4979, 100
  store i64 %4980, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4981 = load i64, ptr @simtime, align 8, !tbaa !13
  %4982 = add i64 %4981, 100
  store i64 %4982, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4983 = load i64, ptr %4977, align 8, !tbaa !33
  %4984 = and i64 %4983, 68719214592
  %4985 = load i64, ptr %4975, align 8, !tbaa !38
  %4986 = and i64 %4985, 262143
  %4987 = or disjoint i64 %4986, %4984
  store i64 %4987, ptr %4977, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %4988 = load i64, ptr @simtime, align 8, !tbaa !13
  %4989 = add i64 %4988, 100
  store i64 %4989, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %4990 = load i64, ptr %4977, align 8, !tbaa !33
  store i64 %4990, ptr %4975, align 8, !tbaa !38
  br label %8570

4991:                                             ; preds = %._crit_edge
  %4992 = getelementptr inbounds i8, ptr %0, i64 64
  %4993 = load i64, ptr %4992, align 8, !tbaa !38
  %4994 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %4993, ptr %4994, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %4995 = load i64, ptr @simtime, align 8, !tbaa !13
  %4996 = add i64 %4995, 100
  store i64 %4996, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %4997 = load i64, ptr @simtime, align 8, !tbaa !13
  %4998 = add i64 %4997, 100
  store i64 %4998, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %4999 = load i64, ptr %4994, align 8, !tbaa !33
  %5000 = and i64 %4999, 68719214592
  %5001 = load i64, ptr %4992, align 8, !tbaa !38
  %5002 = and i64 %5001, 262143
  %5003 = or disjoint i64 %5002, %5000
  store i64 %5003, ptr %4994, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5004 = load i64, ptr @simtime, align 8, !tbaa !13
  %5005 = add i64 %5004, 100
  store i64 %5005, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5006 = load i64, ptr %4994, align 8, !tbaa !33
  store i64 %5006, ptr %4992, align 8, !tbaa !38
  br label %8570

5007:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5008 = load i64, ptr @simtime, align 8, !tbaa !13
  %5009 = add i64 %5008, 100
  store i64 %5009, ptr @simtime, align 8, !tbaa !13
  %5010 = getelementptr inbounds i8, ptr %0, i64 64
  %5011 = load i64, ptr %5010, align 8, !tbaa !38
  %5012 = shl i64 %5011, 18
  %5013 = lshr i64 %5011, 18
  %5014 = or i64 %5012, %5013
  %5015 = and i64 %5014, 68719476735
  store i64 %5015, ptr %5010, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5016 = load i64, ptr @simtime, align 8, !tbaa !13
  %5017 = add i64 %5016, 100
  store i64 %5017, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5018 = getelementptr inbounds i8, ptr %0, i64 40
  %5019 = load i64, ptr %5018, align 8, !tbaa !33
  %5020 = and i64 %5019, 68719214592
  %5021 = load i64, ptr %5010, align 8, !tbaa !38
  %5022 = and i64 %5021, 262143
  %5023 = or disjoint i64 %5022, %5020
  store i64 %5023, ptr %5018, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5024 = load i64, ptr @simtime, align 8, !tbaa !13
  %5025 = add i64 %5024, 100
  store i64 %5025, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5026:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5027 = load i64, ptr @simtime, align 8, !tbaa !13
  %5028 = add i64 %5027, 100
  store i64 %5028, ptr @simtime, align 8, !tbaa !13
  %5029 = getelementptr inbounds i8, ptr %0, i64 64
  %5030 = load i64, ptr %5029, align 8, !tbaa !38
  %5031 = shl i64 %5030, 18
  %5032 = lshr i64 %5030, 18
  %5033 = or i64 %5031, %5032
  %5034 = and i64 %5033, 68719476735
  store i64 %5034, ptr %5029, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5035 = load i64, ptr @simtime, align 8, !tbaa !13
  %5036 = add i64 %5035, 100
  store i64 %5036, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5037 = getelementptr inbounds i8, ptr %0, i64 40
  %5038 = load i64, ptr %5037, align 8, !tbaa !33
  %5039 = and i64 %5038, 68719214592
  %5040 = load i64, ptr %5029, align 8, !tbaa !38
  %5041 = and i64 %5040, 262143
  %5042 = or disjoint i64 %5041, %5039
  store i64 %5042, ptr %5037, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5043 = load i64, ptr @simtime, align 8, !tbaa !13
  %5044 = add i64 %5043, 100
  store i64 %5044, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5045:                                             ; preds = %._crit_edge
  %5046 = getelementptr inbounds i8, ptr %0, i64 64
  %5047 = load i64, ptr %5046, align 8, !tbaa !38
  %5048 = getelementptr inbounds i8, ptr %0, i64 40
  %5049 = load i64, ptr %5048, align 8, !tbaa !33
  store i64 %5049, ptr %5046, align 8, !tbaa !38
  store i64 %5047, ptr %5048, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5050 = load i64, ptr @simtime, align 8, !tbaa !13
  %5051 = add i64 %5050, 100
  store i64 %5051, ptr @simtime, align 8, !tbaa !13
  %5052 = load i64, ptr %5046, align 8, !tbaa !38
  %5053 = shl i64 %5052, 18
  %5054 = lshr i64 %5052, 18
  %5055 = or i64 %5053, %5054
  %5056 = and i64 %5055, 68719476735
  store i64 %5056, ptr %5046, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5057 = load i64, ptr @simtime, align 8, !tbaa !13
  %5058 = add i64 %5057, 100
  store i64 %5058, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5059 = load i64, ptr %5048, align 8, !tbaa !33
  %5060 = and i64 %5059, 68719214592
  %5061 = load i64, ptr %5046, align 8, !tbaa !38
  %5062 = and i64 %5061, 262143
  %5063 = or disjoint i64 %5062, %5060
  store i64 %5063, ptr %5048, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5064 = load i64, ptr @simtime, align 8, !tbaa !13
  %5065 = add i64 %5064, 100
  store i64 %5065, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5066 = load i64, ptr %5048, align 8, !tbaa !33
  store i64 %5066, ptr %5046, align 8, !tbaa !38
  br label %8570

5067:                                             ; preds = %._crit_edge
  %5068 = getelementptr inbounds i8, ptr %0, i64 64
  %5069 = load i64, ptr %5068, align 8, !tbaa !38
  %5070 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %5069, ptr %5070, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5071 = load i64, ptr @simtime, align 8, !tbaa !13
  %5072 = add i64 %5071, 100
  store i64 %5072, ptr @simtime, align 8, !tbaa !13
  %5073 = load i64, ptr %5068, align 8, !tbaa !38
  %5074 = shl i64 %5073, 18
  %5075 = lshr i64 %5073, 18
  %5076 = or i64 %5074, %5075
  %5077 = and i64 %5076, 68719476735
  store i64 %5077, ptr %5068, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5078 = load i64, ptr @simtime, align 8, !tbaa !13
  %5079 = add i64 %5078, 100
  store i64 %5079, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5080 = load i64, ptr %5070, align 8, !tbaa !33
  %5081 = and i64 %5080, 68719214592
  %5082 = load i64, ptr %5068, align 8, !tbaa !38
  %5083 = and i64 %5082, 262143
  %5084 = or disjoint i64 %5083, %5081
  store i64 %5084, ptr %5070, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5085 = load i64, ptr @simtime, align 8, !tbaa !13
  %5086 = add i64 %5085, 100
  store i64 %5086, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5087 = load i64, ptr %5070, align 8, !tbaa !33
  store i64 %5087, ptr %5068, align 8, !tbaa !38
  br label %8570

5088:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5089 = load i64, ptr @simtime, align 8, !tbaa !13
  %5090 = add i64 %5089, 100
  store i64 %5090, ptr @simtime, align 8, !tbaa !13
  %5091 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5091, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5092 = load i64, ptr @simtime, align 8, !tbaa !13
  %5093 = add i64 %5092, 100
  store i64 %5093, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5094 = load i64, ptr %5091, align 8, !tbaa !33
  %5095 = and i64 %5094, 68719214592
  %5096 = getelementptr inbounds i8, ptr %0, i64 64
  %5097 = load i64, ptr %5096, align 8, !tbaa !38
  %5098 = and i64 %5097, 262143
  %5099 = or disjoint i64 %5098, %5095
  store i64 %5099, ptr %5091, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5100 = load i64, ptr @simtime, align 8, !tbaa !13
  %5101 = add i64 %5100, 100
  store i64 %5101, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5102:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5103 = load i64, ptr @simtime, align 8, !tbaa !13
  %5104 = add i64 %5103, 100
  store i64 %5104, ptr @simtime, align 8, !tbaa !13
  %5105 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5105, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5106 = load i64, ptr @simtime, align 8, !tbaa !13
  %5107 = add i64 %5106, 100
  store i64 %5107, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5108 = load i64, ptr %5105, align 8, !tbaa !33
  %5109 = and i64 %5108, 68719214592
  %5110 = getelementptr inbounds i8, ptr %0, i64 64
  %5111 = load i64, ptr %5110, align 8, !tbaa !38
  %5112 = and i64 %5111, 262143
  %5113 = or disjoint i64 %5112, %5109
  store i64 %5113, ptr %5105, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5114 = load i64, ptr @simtime, align 8, !tbaa !13
  %5115 = add i64 %5114, 100
  store i64 %5115, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5116:                                             ; preds = %._crit_edge
  %5117 = getelementptr inbounds i8, ptr %0, i64 64
  %5118 = load i64, ptr %5117, align 8, !tbaa !38
  %5119 = getelementptr inbounds i8, ptr %0, i64 40
  %5120 = load i64, ptr %5119, align 8, !tbaa !33
  store i64 %5120, ptr %5117, align 8, !tbaa !38
  store i64 %5118, ptr %5119, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5121 = load i64, ptr @simtime, align 8, !tbaa !13
  %5122 = add i64 %5121, 100
  store i64 %5122, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %5119, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5123 = load i64, ptr @simtime, align 8, !tbaa !13
  %5124 = add i64 %5123, 100
  store i64 %5124, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5125 = load i64, ptr %5119, align 8, !tbaa !33
  %5126 = and i64 %5125, 68719214592
  %5127 = load i64, ptr %5117, align 8, !tbaa !38
  %5128 = and i64 %5127, 262143
  %5129 = or disjoint i64 %5128, %5126
  store i64 %5129, ptr %5119, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5130 = load i64, ptr @simtime, align 8, !tbaa !13
  %5131 = add i64 %5130, 100
  store i64 %5131, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5132 = load i64, ptr %5119, align 8, !tbaa !33
  store i64 %5132, ptr %5117, align 8, !tbaa !38
  br label %8570

5133:                                             ; preds = %._crit_edge
  %5134 = getelementptr inbounds i8, ptr %0, i64 64
  %5135 = load i64, ptr %5134, align 8, !tbaa !38
  %5136 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %5135, ptr %5136, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5137 = load i64, ptr @simtime, align 8, !tbaa !13
  %5138 = add i64 %5137, 100
  store i64 %5138, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %5136, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5139 = load i64, ptr @simtime, align 8, !tbaa !13
  %5140 = add i64 %5139, 100
  store i64 %5140, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5141 = load i64, ptr %5136, align 8, !tbaa !33
  %5142 = and i64 %5141, 68719214592
  %5143 = load i64, ptr %5134, align 8, !tbaa !38
  %5144 = and i64 %5143, 262143
  %5145 = or disjoint i64 %5144, %5142
  store i64 %5145, ptr %5136, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5146 = load i64, ptr @simtime, align 8, !tbaa !13
  %5147 = add i64 %5146, 100
  store i64 %5147, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5148 = load i64, ptr %5136, align 8, !tbaa !33
  store i64 %5148, ptr %5134, align 8, !tbaa !38
  br label %8570

5149:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5150 = load i64, ptr @simtime, align 8, !tbaa !13
  %5151 = add i64 %5150, 100
  store i64 %5151, ptr @simtime, align 8, !tbaa !13
  %5152 = getelementptr inbounds i8, ptr %0, i64 64
  %5153 = load i64, ptr %5152, align 8, !tbaa !38
  %5154 = shl i64 %5153, 18
  %5155 = lshr i64 %5153, 18
  %5156 = or i64 %5154, %5155
  %5157 = and i64 %5156, 68719476735
  store i64 %5157, ptr %5152, align 8, !tbaa !38
  %5158 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5158, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5159 = load i64, ptr @simtime, align 8, !tbaa !13
  %5160 = add i64 %5159, 100
  store i64 %5160, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5161 = load i64, ptr %5158, align 8, !tbaa !33
  %5162 = and i64 %5161, 68719214592
  %5163 = load i64, ptr %5152, align 8, !tbaa !38
  %5164 = and i64 %5163, 262143
  %5165 = or disjoint i64 %5164, %5162
  store i64 %5165, ptr %5158, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5166 = load i64, ptr @simtime, align 8, !tbaa !13
  %5167 = add i64 %5166, 100
  store i64 %5167, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5168:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5169 = load i64, ptr @simtime, align 8, !tbaa !13
  %5170 = add i64 %5169, 100
  store i64 %5170, ptr @simtime, align 8, !tbaa !13
  %5171 = getelementptr inbounds i8, ptr %0, i64 64
  %5172 = load i64, ptr %5171, align 8, !tbaa !38
  %5173 = shl i64 %5172, 18
  %5174 = lshr i64 %5172, 18
  %5175 = or i64 %5173, %5174
  %5176 = and i64 %5175, 68719476735
  store i64 %5176, ptr %5171, align 8, !tbaa !38
  %5177 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5177, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5178 = load i64, ptr @simtime, align 8, !tbaa !13
  %5179 = add i64 %5178, 100
  store i64 %5179, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5180 = load i64, ptr %5177, align 8, !tbaa !33
  %5181 = and i64 %5180, 68719214592
  %5182 = load i64, ptr %5171, align 8, !tbaa !38
  %5183 = and i64 %5182, 262143
  %5184 = or disjoint i64 %5183, %5181
  store i64 %5184, ptr %5177, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5185 = load i64, ptr @simtime, align 8, !tbaa !13
  %5186 = add i64 %5185, 100
  store i64 %5186, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5187:                                             ; preds = %._crit_edge
  %5188 = getelementptr inbounds i8, ptr %0, i64 64
  %5189 = load i64, ptr %5188, align 8, !tbaa !38
  %5190 = getelementptr inbounds i8, ptr %0, i64 40
  %5191 = load i64, ptr %5190, align 8, !tbaa !33
  store i64 %5191, ptr %5188, align 8, !tbaa !38
  store i64 %5189, ptr %5190, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5192 = load i64, ptr @simtime, align 8, !tbaa !13
  %5193 = add i64 %5192, 100
  store i64 %5193, ptr @simtime, align 8, !tbaa !13
  %5194 = load i64, ptr %5188, align 8, !tbaa !38
  %5195 = shl i64 %5194, 18
  %5196 = lshr i64 %5194, 18
  %5197 = or i64 %5195, %5196
  %5198 = and i64 %5197, 68719476735
  store i64 %5198, ptr %5188, align 8, !tbaa !38
  store i64 0, ptr %5190, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5199 = load i64, ptr @simtime, align 8, !tbaa !13
  %5200 = add i64 %5199, 100
  store i64 %5200, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5201 = load i64, ptr %5190, align 8, !tbaa !33
  %5202 = and i64 %5201, 68719214592
  %5203 = load i64, ptr %5188, align 8, !tbaa !38
  %5204 = and i64 %5203, 262143
  %5205 = or disjoint i64 %5204, %5202
  store i64 %5205, ptr %5190, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5206 = load i64, ptr @simtime, align 8, !tbaa !13
  %5207 = add i64 %5206, 100
  store i64 %5207, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5208 = load i64, ptr %5190, align 8, !tbaa !33
  store i64 %5208, ptr %5188, align 8, !tbaa !38
  br label %8570

5209:                                             ; preds = %._crit_edge
  %5210 = getelementptr inbounds i8, ptr %0, i64 64
  %5211 = load i64, ptr %5210, align 8, !tbaa !38
  %5212 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %5211, ptr %5212, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5213 = load i64, ptr @simtime, align 8, !tbaa !13
  %5214 = add i64 %5213, 100
  store i64 %5214, ptr @simtime, align 8, !tbaa !13
  %5215 = load i64, ptr %5210, align 8, !tbaa !38
  %5216 = shl i64 %5215, 18
  %5217 = lshr i64 %5215, 18
  %5218 = or i64 %5216, %5217
  %5219 = and i64 %5218, 68719476735
  store i64 %5219, ptr %5210, align 8, !tbaa !38
  store i64 0, ptr %5212, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5220 = load i64, ptr @simtime, align 8, !tbaa !13
  %5221 = add i64 %5220, 100
  store i64 %5221, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5222 = load i64, ptr %5212, align 8, !tbaa !33
  %5223 = and i64 %5222, 68719214592
  %5224 = load i64, ptr %5210, align 8, !tbaa !38
  %5225 = and i64 %5224, 262143
  %5226 = or disjoint i64 %5225, %5223
  store i64 %5226, ptr %5212, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5227 = load i64, ptr @simtime, align 8, !tbaa !13
  %5228 = add i64 %5227, 100
  store i64 %5228, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5229 = load i64, ptr %5212, align 8, !tbaa !33
  store i64 %5229, ptr %5210, align 8, !tbaa !38
  br label %8570

5230:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5231 = load i64, ptr @simtime, align 8, !tbaa !13
  %5232 = add i64 %5231, 100
  store i64 %5232, ptr @simtime, align 8, !tbaa !13
  %5233 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5233, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5234 = load i64, ptr @simtime, align 8, !tbaa !13
  %5235 = add i64 %5234, 100
  store i64 %5235, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5236 = load i64, ptr %5233, align 8, !tbaa !33
  %5237 = and i64 %5236, 68719214592
  %5238 = getelementptr inbounds i8, ptr %0, i64 64
  %5239 = load i64, ptr %5238, align 8, !tbaa !38
  %5240 = and i64 %5239, 262143
  %5241 = or disjoint i64 %5240, %5237
  %5242 = xor i64 %5241, 68719214592
  store i64 %5242, ptr %5233, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5243 = load i64, ptr @simtime, align 8, !tbaa !13
  %5244 = add i64 %5243, 100
  store i64 %5244, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5245:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5246 = load i64, ptr @simtime, align 8, !tbaa !13
  %5247 = add i64 %5246, 100
  store i64 %5247, ptr @simtime, align 8, !tbaa !13
  %5248 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5248, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5249 = load i64, ptr @simtime, align 8, !tbaa !13
  %5250 = add i64 %5249, 100
  store i64 %5250, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5251 = load i64, ptr %5248, align 8, !tbaa !33
  %5252 = and i64 %5251, 68719214592
  %5253 = getelementptr inbounds i8, ptr %0, i64 64
  %5254 = load i64, ptr %5253, align 8, !tbaa !38
  %5255 = and i64 %5254, 262143
  %5256 = or disjoint i64 %5255, %5252
  %5257 = xor i64 %5256, 68719214592
  store i64 %5257, ptr %5248, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5258 = load i64, ptr @simtime, align 8, !tbaa !13
  %5259 = add i64 %5258, 100
  store i64 %5259, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5260:                                             ; preds = %._crit_edge
  %5261 = getelementptr inbounds i8, ptr %0, i64 64
  %5262 = load i64, ptr %5261, align 8, !tbaa !38
  %5263 = getelementptr inbounds i8, ptr %0, i64 40
  %5264 = load i64, ptr %5263, align 8, !tbaa !33
  store i64 %5264, ptr %5261, align 8, !tbaa !38
  store i64 %5262, ptr %5263, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5265 = load i64, ptr @simtime, align 8, !tbaa !13
  %5266 = add i64 %5265, 100
  store i64 %5266, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %5263, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5267 = load i64, ptr @simtime, align 8, !tbaa !13
  %5268 = add i64 %5267, 100
  store i64 %5268, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5269 = load i64, ptr %5263, align 8, !tbaa !33
  %5270 = and i64 %5269, 68719214592
  %5271 = load i64, ptr %5261, align 8, !tbaa !38
  %5272 = and i64 %5271, 262143
  %5273 = or disjoint i64 %5272, %5270
  %5274 = xor i64 %5273, 68719214592
  store i64 %5274, ptr %5263, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5275 = load i64, ptr @simtime, align 8, !tbaa !13
  %5276 = add i64 %5275, 100
  store i64 %5276, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5277 = load i64, ptr %5263, align 8, !tbaa !33
  store i64 %5277, ptr %5261, align 8, !tbaa !38
  br label %8570

5278:                                             ; preds = %._crit_edge
  %5279 = getelementptr inbounds i8, ptr %0, i64 64
  %5280 = load i64, ptr %5279, align 8, !tbaa !38
  %5281 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %5280, ptr %5281, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5282 = load i64, ptr @simtime, align 8, !tbaa !13
  %5283 = add i64 %5282, 100
  store i64 %5283, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %5281, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5284 = load i64, ptr @simtime, align 8, !tbaa !13
  %5285 = add i64 %5284, 100
  store i64 %5285, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5286 = load i64, ptr %5281, align 8, !tbaa !33
  %5287 = and i64 %5286, 68719214592
  %5288 = load i64, ptr %5279, align 8, !tbaa !38
  %5289 = and i64 %5288, 262143
  %5290 = or disjoint i64 %5289, %5287
  %5291 = xor i64 %5290, 68719214592
  store i64 %5291, ptr %5281, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5292 = load i64, ptr @simtime, align 8, !tbaa !13
  %5293 = add i64 %5292, 100
  store i64 %5293, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5294 = load i64, ptr %5281, align 8, !tbaa !33
  store i64 %5294, ptr %5279, align 8, !tbaa !38
  br label %8570

5295:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5296 = load i64, ptr @simtime, align 8, !tbaa !13
  %5297 = add i64 %5296, 100
  store i64 %5297, ptr @simtime, align 8, !tbaa !13
  %5298 = getelementptr inbounds i8, ptr %0, i64 64
  %5299 = load i64, ptr %5298, align 8, !tbaa !38
  %5300 = shl i64 %5299, 18
  %5301 = lshr i64 %5299, 18
  %5302 = or i64 %5300, %5301
  %5303 = and i64 %5302, 68719476735
  store i64 %5303, ptr %5298, align 8, !tbaa !38
  %5304 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5304, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5305 = load i64, ptr @simtime, align 8, !tbaa !13
  %5306 = add i64 %5305, 100
  store i64 %5306, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5307 = load i64, ptr %5304, align 8, !tbaa !33
  %5308 = and i64 %5307, 68719214592
  %5309 = load i64, ptr %5298, align 8, !tbaa !38
  %5310 = and i64 %5309, 262143
  %5311 = or disjoint i64 %5310, %5308
  %5312 = xor i64 %5311, 68719214592
  store i64 %5312, ptr %5304, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5313 = load i64, ptr @simtime, align 8, !tbaa !13
  %5314 = add i64 %5313, 100
  store i64 %5314, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5315:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5316 = load i64, ptr @simtime, align 8, !tbaa !13
  %5317 = add i64 %5316, 100
  store i64 %5317, ptr @simtime, align 8, !tbaa !13
  %5318 = getelementptr inbounds i8, ptr %0, i64 64
  %5319 = load i64, ptr %5318, align 8, !tbaa !38
  %5320 = shl i64 %5319, 18
  %5321 = lshr i64 %5319, 18
  %5322 = or i64 %5320, %5321
  %5323 = and i64 %5322, 68719476735
  store i64 %5323, ptr %5318, align 8, !tbaa !38
  %5324 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5324, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5325 = load i64, ptr @simtime, align 8, !tbaa !13
  %5326 = add i64 %5325, 100
  store i64 %5326, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5327 = load i64, ptr %5324, align 8, !tbaa !33
  %5328 = and i64 %5327, 68719214592
  %5329 = load i64, ptr %5318, align 8, !tbaa !38
  %5330 = and i64 %5329, 262143
  %5331 = or disjoint i64 %5330, %5328
  %5332 = xor i64 %5331, 68719214592
  store i64 %5332, ptr %5324, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5333 = load i64, ptr @simtime, align 8, !tbaa !13
  %5334 = add i64 %5333, 100
  store i64 %5334, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5335:                                             ; preds = %._crit_edge
  %5336 = getelementptr inbounds i8, ptr %0, i64 64
  %5337 = load i64, ptr %5336, align 8, !tbaa !38
  %5338 = getelementptr inbounds i8, ptr %0, i64 40
  %5339 = load i64, ptr %5338, align 8, !tbaa !33
  store i64 %5339, ptr %5336, align 8, !tbaa !38
  store i64 %5337, ptr %5338, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5340 = load i64, ptr @simtime, align 8, !tbaa !13
  %5341 = add i64 %5340, 100
  store i64 %5341, ptr @simtime, align 8, !tbaa !13
  %5342 = load i64, ptr %5336, align 8, !tbaa !38
  %5343 = shl i64 %5342, 18
  %5344 = lshr i64 %5342, 18
  %5345 = or i64 %5343, %5344
  %5346 = and i64 %5345, 68719476735
  store i64 %5346, ptr %5336, align 8, !tbaa !38
  store i64 0, ptr %5338, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5347 = load i64, ptr @simtime, align 8, !tbaa !13
  %5348 = add i64 %5347, 100
  store i64 %5348, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5349 = load i64, ptr %5338, align 8, !tbaa !33
  %5350 = and i64 %5349, 68719214592
  %5351 = load i64, ptr %5336, align 8, !tbaa !38
  %5352 = and i64 %5351, 262143
  %5353 = or disjoint i64 %5352, %5350
  %5354 = xor i64 %5353, 68719214592
  store i64 %5354, ptr %5338, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5355 = load i64, ptr @simtime, align 8, !tbaa !13
  %5356 = add i64 %5355, 100
  store i64 %5356, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5357 = load i64, ptr %5338, align 8, !tbaa !33
  store i64 %5357, ptr %5336, align 8, !tbaa !38
  br label %8570

5358:                                             ; preds = %._crit_edge
  %5359 = getelementptr inbounds i8, ptr %0, i64 64
  %5360 = load i64, ptr %5359, align 8, !tbaa !38
  %5361 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %5360, ptr %5361, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5362 = load i64, ptr @simtime, align 8, !tbaa !13
  %5363 = add i64 %5362, 100
  store i64 %5363, ptr @simtime, align 8, !tbaa !13
  %5364 = load i64, ptr %5359, align 8, !tbaa !38
  %5365 = shl i64 %5364, 18
  %5366 = lshr i64 %5364, 18
  %5367 = or i64 %5365, %5366
  %5368 = and i64 %5367, 68719476735
  store i64 %5368, ptr %5359, align 8, !tbaa !38
  store i64 0, ptr %5361, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5369 = load i64, ptr @simtime, align 8, !tbaa !13
  %5370 = add i64 %5369, 100
  store i64 %5370, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5371 = load i64, ptr %5361, align 8, !tbaa !33
  %5372 = and i64 %5371, 68719214592
  %5373 = load i64, ptr %5359, align 8, !tbaa !38
  %5374 = and i64 %5373, 262143
  %5375 = or disjoint i64 %5374, %5372
  %5376 = xor i64 %5375, 68719214592
  store i64 %5376, ptr %5361, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5377 = load i64, ptr @simtime, align 8, !tbaa !13
  %5378 = add i64 %5377, 100
  store i64 %5378, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5379 = load i64, ptr %5361, align 8, !tbaa !33
  store i64 %5379, ptr %5359, align 8, !tbaa !38
  br label %8570

5380:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5381 = load i64, ptr @simtime, align 8, !tbaa !13
  %5382 = add i64 %5381, 100
  store i64 %5382, ptr @simtime, align 8, !tbaa !13
  %5383 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5383, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5384 = load i64, ptr @simtime, align 8, !tbaa !13
  %5385 = add i64 %5384, 100
  store i64 %5385, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5386 = load i64, ptr %5383, align 8, !tbaa !33
  %5387 = and i64 %5386, 68719214592
  %5388 = getelementptr inbounds i8, ptr %0, i64 64
  %5389 = load i64, ptr %5388, align 8, !tbaa !38
  %5390 = and i64 %5389, 262143
  %5391 = or disjoint i64 %5390, %5387
  %5392 = and i64 %5389, 131072
  %.not6324 = icmp eq i64 %5392, 0
  %5393 = xor i64 %5391, 68719214592
  %spec.select6543 = select i1 %.not6324, i64 %5391, i64 %5393
  store i64 %spec.select6543, ptr %5383, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5394 = load i64, ptr @simtime, align 8, !tbaa !13
  %5395 = add i64 %5394, 100
  store i64 %5395, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5396:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5397 = load i64, ptr @simtime, align 8, !tbaa !13
  %5398 = add i64 %5397, 100
  store i64 %5398, ptr @simtime, align 8, !tbaa !13
  %5399 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5399, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5400 = load i64, ptr @simtime, align 8, !tbaa !13
  %5401 = add i64 %5400, 100
  store i64 %5401, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5402 = load i64, ptr %5399, align 8, !tbaa !33
  %5403 = and i64 %5402, 68719214592
  %5404 = getelementptr inbounds i8, ptr %0, i64 64
  %5405 = load i64, ptr %5404, align 8, !tbaa !38
  %5406 = and i64 %5405, 262143
  %5407 = or disjoint i64 %5406, %5403
  %5408 = and i64 %5405, 131072
  %.not6322 = icmp eq i64 %5408, 0
  %5409 = xor i64 %5407, 68719214592
  %spec.select6544 = select i1 %.not6322, i64 %5407, i64 %5409
  store i64 %spec.select6544, ptr %5399, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5410 = load i64, ptr @simtime, align 8, !tbaa !13
  %5411 = add i64 %5410, 100
  store i64 %5411, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5412:                                             ; preds = %._crit_edge
  %5413 = getelementptr inbounds i8, ptr %0, i64 64
  %5414 = load i64, ptr %5413, align 8, !tbaa !38
  %5415 = getelementptr inbounds i8, ptr %0, i64 40
  %5416 = load i64, ptr %5415, align 8, !tbaa !33
  store i64 %5416, ptr %5413, align 8, !tbaa !38
  store i64 %5414, ptr %5415, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5417 = load i64, ptr @simtime, align 8, !tbaa !13
  %5418 = add i64 %5417, 100
  store i64 %5418, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %5415, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5419 = load i64, ptr @simtime, align 8, !tbaa !13
  %5420 = add i64 %5419, 100
  store i64 %5420, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5421 = load i64, ptr %5415, align 8, !tbaa !33
  %5422 = and i64 %5421, 68719214592
  %5423 = load i64, ptr %5413, align 8, !tbaa !38
  %5424 = and i64 %5423, 262143
  %5425 = or disjoint i64 %5424, %5422
  %5426 = and i64 %5423, 131072
  %.not6320 = icmp eq i64 %5426, 0
  %5427 = xor i64 %5425, 68719214592
  %spec.select6545 = select i1 %.not6320, i64 %5425, i64 %5427
  store i64 %spec.select6545, ptr %5415, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5428 = load i64, ptr @simtime, align 8, !tbaa !13
  %5429 = add i64 %5428, 100
  store i64 %5429, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5430 = load i64, ptr %5415, align 8, !tbaa !33
  store i64 %5430, ptr %5413, align 8, !tbaa !38
  br label %8570

5431:                                             ; preds = %._crit_edge
  %5432 = getelementptr inbounds i8, ptr %0, i64 64
  %5433 = load i64, ptr %5432, align 8, !tbaa !38
  %5434 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %5433, ptr %5434, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5435 = load i64, ptr @simtime, align 8, !tbaa !13
  %5436 = add i64 %5435, 100
  store i64 %5436, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %5434, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5437 = load i64, ptr @simtime, align 8, !tbaa !13
  %5438 = add i64 %5437, 100
  store i64 %5438, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5439 = load i64, ptr %5434, align 8, !tbaa !33
  %5440 = and i64 %5439, 68719214592
  %5441 = load i64, ptr %5432, align 8, !tbaa !38
  %5442 = and i64 %5441, 262143
  %5443 = or disjoint i64 %5442, %5440
  %5444 = and i64 %5441, 131072
  %.not6318 = icmp eq i64 %5444, 0
  %5445 = xor i64 %5443, 68719214592
  %spec.select6546 = select i1 %.not6318, i64 %5443, i64 %5445
  store i64 %spec.select6546, ptr %5434, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5446 = load i64, ptr @simtime, align 8, !tbaa !13
  %5447 = add i64 %5446, 100
  store i64 %5447, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5448 = load i64, ptr %5434, align 8, !tbaa !33
  store i64 %5448, ptr %5432, align 8, !tbaa !38
  br label %8570

5449:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5450 = load i64, ptr @simtime, align 8, !tbaa !13
  %5451 = add i64 %5450, 100
  store i64 %5451, ptr @simtime, align 8, !tbaa !13
  %5452 = getelementptr inbounds i8, ptr %0, i64 64
  %5453 = load i64, ptr %5452, align 8, !tbaa !38
  %5454 = shl i64 %5453, 18
  %5455 = lshr i64 %5453, 18
  %5456 = or i64 %5454, %5455
  %5457 = and i64 %5456, 68719476735
  store i64 %5457, ptr %5452, align 8, !tbaa !38
  %5458 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5458, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5459 = load i64, ptr @simtime, align 8, !tbaa !13
  %5460 = add i64 %5459, 100
  store i64 %5460, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5461 = load i64, ptr %5458, align 8, !tbaa !33
  %5462 = and i64 %5461, 68719214592
  %5463 = load i64, ptr %5452, align 8, !tbaa !38
  %5464 = and i64 %5463, 262143
  %5465 = or disjoint i64 %5464, %5462
  %5466 = and i64 %5463, 131072
  %.not6316 = icmp eq i64 %5466, 0
  %5467 = xor i64 %5465, 68719214592
  %spec.select6547 = select i1 %.not6316, i64 %5465, i64 %5467
  store i64 %spec.select6547, ptr %5458, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5468 = load i64, ptr @simtime, align 8, !tbaa !13
  %5469 = add i64 %5468, 100
  store i64 %5469, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5470:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5471 = load i64, ptr @simtime, align 8, !tbaa !13
  %5472 = add i64 %5471, 100
  store i64 %5472, ptr @simtime, align 8, !tbaa !13
  %5473 = getelementptr inbounds i8, ptr %0, i64 64
  %5474 = load i64, ptr %5473, align 8, !tbaa !38
  %5475 = shl i64 %5474, 18
  %5476 = lshr i64 %5474, 18
  %5477 = or i64 %5475, %5476
  %5478 = and i64 %5477, 68719476735
  store i64 %5478, ptr %5473, align 8, !tbaa !38
  %5479 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %5479, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5480 = load i64, ptr @simtime, align 8, !tbaa !13
  %5481 = add i64 %5480, 100
  store i64 %5481, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5482 = load i64, ptr %5479, align 8, !tbaa !33
  %5483 = and i64 %5482, 68719214592
  %5484 = load i64, ptr %5473, align 8, !tbaa !38
  %5485 = and i64 %5484, 262143
  %5486 = or disjoint i64 %5485, %5483
  %5487 = and i64 %5484, 131072
  %.not6314 = icmp eq i64 %5487, 0
  %5488 = xor i64 %5486, 68719214592
  %spec.select6548 = select i1 %.not6314, i64 %5486, i64 %5488
  store i64 %spec.select6548, ptr %5479, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5489 = load i64, ptr @simtime, align 8, !tbaa !13
  %5490 = add i64 %5489, 100
  store i64 %5490, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

5491:                                             ; preds = %._crit_edge
  %5492 = getelementptr inbounds i8, ptr %0, i64 64
  %5493 = load i64, ptr %5492, align 8, !tbaa !38
  %5494 = getelementptr inbounds i8, ptr %0, i64 40
  %5495 = load i64, ptr %5494, align 8, !tbaa !33
  store i64 %5495, ptr %5492, align 8, !tbaa !38
  store i64 %5493, ptr %5494, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5496 = load i64, ptr @simtime, align 8, !tbaa !13
  %5497 = add i64 %5496, 100
  store i64 %5497, ptr @simtime, align 8, !tbaa !13
  %5498 = load i64, ptr %5492, align 8, !tbaa !38
  %5499 = shl i64 %5498, 18
  %5500 = lshr i64 %5498, 18
  %5501 = or i64 %5499, %5500
  %5502 = and i64 %5501, 68719476735
  store i64 %5502, ptr %5492, align 8, !tbaa !38
  store i64 0, ptr %5494, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5503 = load i64, ptr @simtime, align 8, !tbaa !13
  %5504 = add i64 %5503, 100
  store i64 %5504, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5505 = load i64, ptr %5494, align 8, !tbaa !33
  %5506 = and i64 %5505, 68719214592
  %5507 = load i64, ptr %5492, align 8, !tbaa !38
  %5508 = and i64 %5507, 262143
  %5509 = or disjoint i64 %5508, %5506
  %5510 = and i64 %5507, 131072
  %.not6312 = icmp eq i64 %5510, 0
  %5511 = xor i64 %5509, 68719214592
  %spec.select6549 = select i1 %.not6312, i64 %5509, i64 %5511
  store i64 %spec.select6549, ptr %5494, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5512 = load i64, ptr @simtime, align 8, !tbaa !13
  %5513 = add i64 %5512, 100
  store i64 %5513, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5514 = load i64, ptr %5494, align 8, !tbaa !33
  store i64 %5514, ptr %5492, align 8, !tbaa !38
  br label %8570

5515:                                             ; preds = %._crit_edge
  %5516 = getelementptr inbounds i8, ptr %0, i64 64
  %5517 = load i64, ptr %5516, align 8, !tbaa !38
  %5518 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %5517, ptr %5518, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5519 = load i64, ptr @simtime, align 8, !tbaa !13
  %5520 = add i64 %5519, 100
  store i64 %5520, ptr @simtime, align 8, !tbaa !13
  %5521 = load i64, ptr %5516, align 8, !tbaa !38
  %5522 = shl i64 %5521, 18
  %5523 = lshr i64 %5521, 18
  %5524 = or i64 %5522, %5523
  %5525 = and i64 %5524, 68719476735
  store i64 %5525, ptr %5516, align 8, !tbaa !38
  store i64 0, ptr %5518, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5526 = load i64, ptr @simtime, align 8, !tbaa !13
  %5527 = add i64 %5526, 100
  store i64 %5527, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5528 = load i64, ptr %5518, align 8, !tbaa !33
  %5529 = and i64 %5528, 68719214592
  %5530 = load i64, ptr %5516, align 8, !tbaa !38
  %5531 = and i64 %5530, 262143
  %5532 = or disjoint i64 %5531, %5529
  %5533 = and i64 %5530, 131072
  %.not6311 = icmp eq i64 %5533, 0
  %5534 = xor i64 %5532, 68719214592
  %spec.select6550 = select i1 %.not6311, i64 %5532, i64 %5534
  store i64 %spec.select6550, ptr %5518, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5535 = load i64, ptr @simtime, align 8, !tbaa !13
  %5536 = add i64 %5535, 100
  store i64 %5536, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5537 = load i64, ptr %5518, align 8, !tbaa !33
  store i64 %5537, ptr %5516, align 8, !tbaa !38
  br label %8570

5538:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5539 = load i64, ptr @simtime, align 8, !tbaa !13
  %5540 = add i64 %5539, 100
  store i64 %5540, ptr @simtime, align 8, !tbaa !13
  %5541 = getelementptr inbounds i8, ptr %0, i64 40
  %5542 = load i64, ptr %5541, align 8, !tbaa !33
  %5543 = getelementptr inbounds i8, ptr %0, i64 64
  %5544 = load i64, ptr %5543, align 8, !tbaa !38
  %5545 = and i64 %5544, %5542
  store i64 %5545, ptr %5543, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5546 = load i64, ptr @simtime, align 8, !tbaa !13
  %5547 = add i64 %5546, 100
  store i64 %5547, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5548 = load i64, ptr %5543, align 8, !tbaa !38
  %5549 = load i64, ptr %5541, align 8, !tbaa !33
  store i64 %5549, ptr %5543, align 8, !tbaa !38
  store i64 %5548, ptr %5541, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5550 = load i64, ptr @simtime, align 8, !tbaa !13
  %5551 = add i64 %5550, 100
  store i64 %5551, ptr @simtime, align 8, !tbaa !13
  %5552 = load i64, ptr %5541, align 8, !tbaa !33
  %5553 = xor i64 %5552, 68719476735
  store i64 %5553, ptr %5541, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5554 = load i64, ptr @simtime, align 8, !tbaa !13
  %5555 = add i64 %5554, 100
  store i64 %5555, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5556 = load i64, ptr @simtime, align 8, !tbaa !13
  %5557 = add i64 %5556, 100
  store i64 %5557, ptr @simtime, align 8, !tbaa !13
  %5558 = load i64, ptr %5541, align 8, !tbaa !33
  %5559 = xor i64 %5558, 68719476735
  store i64 %5559, ptr %5541, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5560 = load i64, ptr @simtime, align 8, !tbaa !13
  %5561 = add i64 %5560, 100
  store i64 %5561, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5562 = load i64, ptr @simtime, align 8, !tbaa !13
  %5563 = add i64 %5562, 200
  store i64 %5563, ptr @simtime, align 8, !tbaa !13
  %5564 = load i64, ptr %5543, align 8, !tbaa !38
  %5565 = load i64, ptr %5541, align 8, !tbaa !33
  store i64 %5565, ptr %5543, align 8, !tbaa !38
  store i64 %5564, ptr %5541, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5566 = load i64, ptr @simtime, align 8, !tbaa !13
  %5567 = add i64 %5566, 200
  store i64 %5567, ptr @simtime, align 8, !tbaa !13
  br label %8570

5568:                                             ; preds = %._crit_edge
  %5569 = getelementptr inbounds i8, ptr %0, i64 64
  %5570 = load i64, ptr %5569, align 8, !tbaa !38
  %5571 = shl i64 %5570, 18
  %5572 = lshr i64 %5570, 18
  %5573 = or i64 %5571, %5572
  %5574 = and i64 %5573, 68719476735
  store i64 %5574, ptr %5569, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5575 = load i64, ptr @simtime, align 8, !tbaa !13
  %5576 = add i64 %5575, 100
  store i64 %5576, ptr @simtime, align 8, !tbaa !13
  %5577 = getelementptr inbounds i8, ptr %0, i64 40
  %5578 = load i64, ptr %5577, align 8, !tbaa !33
  %5579 = load i64, ptr %5569, align 8, !tbaa !38
  %5580 = and i64 %5579, %5578
  store i64 %5580, ptr %5569, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5581 = load i64, ptr @simtime, align 8, !tbaa !13
  %5582 = add i64 %5581, 100
  store i64 %5582, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5583 = load i64, ptr %5569, align 8, !tbaa !38
  %5584 = load i64, ptr %5577, align 8, !tbaa !33
  store i64 %5584, ptr %5569, align 8, !tbaa !38
  store i64 %5583, ptr %5577, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5585 = load i64, ptr @simtime, align 8, !tbaa !13
  %5586 = add i64 %5585, 100
  store i64 %5586, ptr @simtime, align 8, !tbaa !13
  %5587 = load i64, ptr %5577, align 8, !tbaa !33
  %5588 = xor i64 %5587, 68719476735
  store i64 %5588, ptr %5577, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5589 = load i64, ptr @simtime, align 8, !tbaa !13
  %5590 = add i64 %5589, 100
  store i64 %5590, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5591 = load i64, ptr @simtime, align 8, !tbaa !13
  %5592 = add i64 %5591, 100
  store i64 %5592, ptr @simtime, align 8, !tbaa !13
  %5593 = load i64, ptr %5577, align 8, !tbaa !33
  %5594 = xor i64 %5593, 68719476735
  store i64 %5594, ptr %5577, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5595 = load i64, ptr @simtime, align 8, !tbaa !13
  %5596 = add i64 %5595, 100
  store i64 %5596, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5597 = load i64, ptr @simtime, align 8, !tbaa !13
  %5598 = add i64 %5597, 200
  store i64 %5598, ptr @simtime, align 8, !tbaa !13
  %5599 = load i64, ptr %5569, align 8, !tbaa !38
  %5600 = load i64, ptr %5577, align 8, !tbaa !33
  store i64 %5600, ptr %5569, align 8, !tbaa !38
  store i64 %5599, ptr %5577, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5601 = load i64, ptr @simtime, align 8, !tbaa !13
  %5602 = add i64 %5601, 200
  store i64 %5602, ptr @simtime, align 8, !tbaa !13
  br label %8570

5603:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5604 = load i64, ptr @simtime, align 8, !tbaa !13
  %5605 = add i64 %5604, 100
  store i64 %5605, ptr @simtime, align 8, !tbaa !13
  %5606 = getelementptr inbounds i8, ptr %0, i64 40
  %5607 = load i64, ptr %5606, align 8, !tbaa !33
  %5608 = getelementptr inbounds i8, ptr %0, i64 64
  %5609 = load i64, ptr %5608, align 8, !tbaa !38
  %5610 = and i64 %5609, %5607
  store i64 %5610, ptr %5608, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5611 = load i64, ptr @simtime, align 8, !tbaa !13
  %5612 = add i64 %5611, 100
  store i64 %5612, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5613 = load i64, ptr %5608, align 8, !tbaa !38
  %5614 = load i64, ptr %5606, align 8, !tbaa !33
  store i64 %5614, ptr %5608, align 8, !tbaa !38
  store i64 %5613, ptr %5606, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5615 = load i64, ptr @simtime, align 8, !tbaa !13
  %5616 = add i64 %5615, 100
  store i64 %5616, ptr @simtime, align 8, !tbaa !13
  %5617 = load i64, ptr %5606, align 8, !tbaa !33
  %5618 = xor i64 %5617, 68719476735
  store i64 %5618, ptr %5606, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5619 = load i64, ptr @simtime, align 8, !tbaa !13
  %5620 = add i64 %5619, 100
  store i64 %5620, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5621 = load i64, ptr @simtime, align 8, !tbaa !13
  %5622 = add i64 %5621, 100
  store i64 %5622, ptr @simtime, align 8, !tbaa !13
  %5623 = load i64, ptr %5606, align 8, !tbaa !33
  %5624 = xor i64 %5623, 68719476735
  store i64 %5624, ptr %5606, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5625 = load i64, ptr @simtime, align 8, !tbaa !13
  %5626 = add i64 %5625, 100
  store i64 %5626, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5627 = load i64, ptr @simtime, align 8, !tbaa !13
  %5628 = add i64 %5627, 200
  store i64 %5628, ptr @simtime, align 8, !tbaa !13
  %5629 = load i64, ptr %5606, align 8, !tbaa !33
  %5630 = icmp eq i64 %5629, 0
  br i1 %5630, label %5631, label %5636

5631:                                             ; preds = %5603
  %5632 = getelementptr inbounds i8, ptr %0, i64 88
  %5633 = load i32, ptr %5632, align 8, !tbaa !31
  %5634 = add i32 %5633, 1
  %5635 = and i32 %5634, 262143
  store i32 %5635, ptr %5632, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6620 = load i64, ptr %5606, align 8, !tbaa !33
  br label %5636

5636:                                             ; preds = %5631, %5603
  %5637 = phi i64 [ %.pre6620, %5631 ], [ %5629, %5603 ]
  %5638 = load i64, ptr %5608, align 8, !tbaa !38
  store i64 %5637, ptr %5608, align 8, !tbaa !38
  store i64 %5638, ptr %5606, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5639 = load i64, ptr @simtime, align 8, !tbaa !13
  %5640 = add i64 %5639, 200
  store i64 %5640, ptr @simtime, align 8, !tbaa !13
  %5641 = load i64, ptr %5606, align 8, !tbaa !33
  store i64 %5641, ptr %5608, align 8, !tbaa !38
  br label %8570

5642:                                             ; preds = %._crit_edge
  %5643 = getelementptr inbounds i8, ptr %0, i64 64
  %5644 = load i64, ptr %5643, align 8, !tbaa !38
  %5645 = shl i64 %5644, 18
  %5646 = lshr i64 %5644, 18
  %5647 = or i64 %5645, %5646
  %5648 = and i64 %5647, 68719476735
  store i64 %5648, ptr %5643, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5649 = load i64, ptr @simtime, align 8, !tbaa !13
  %5650 = add i64 %5649, 100
  store i64 %5650, ptr @simtime, align 8, !tbaa !13
  %5651 = getelementptr inbounds i8, ptr %0, i64 40
  %5652 = load i64, ptr %5651, align 8, !tbaa !33
  %5653 = load i64, ptr %5643, align 8, !tbaa !38
  %5654 = and i64 %5653, %5652
  store i64 %5654, ptr %5643, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5655 = load i64, ptr @simtime, align 8, !tbaa !13
  %5656 = add i64 %5655, 100
  store i64 %5656, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5657 = load i64, ptr %5643, align 8, !tbaa !38
  %5658 = load i64, ptr %5651, align 8, !tbaa !33
  store i64 %5658, ptr %5643, align 8, !tbaa !38
  store i64 %5657, ptr %5651, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5659 = load i64, ptr @simtime, align 8, !tbaa !13
  %5660 = add i64 %5659, 100
  store i64 %5660, ptr @simtime, align 8, !tbaa !13
  %5661 = load i64, ptr %5651, align 8, !tbaa !33
  %5662 = xor i64 %5661, 68719476735
  store i64 %5662, ptr %5651, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5663 = load i64, ptr @simtime, align 8, !tbaa !13
  %5664 = add i64 %5663, 100
  store i64 %5664, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5665 = load i64, ptr @simtime, align 8, !tbaa !13
  %5666 = add i64 %5665, 100
  store i64 %5666, ptr @simtime, align 8, !tbaa !13
  %5667 = load i64, ptr %5651, align 8, !tbaa !33
  %5668 = xor i64 %5667, 68719476735
  store i64 %5668, ptr %5651, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5669 = load i64, ptr @simtime, align 8, !tbaa !13
  %5670 = add i64 %5669, 100
  store i64 %5670, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5671 = load i64, ptr @simtime, align 8, !tbaa !13
  %5672 = add i64 %5671, 200
  store i64 %5672, ptr @simtime, align 8, !tbaa !13
  %5673 = load i64, ptr %5651, align 8, !tbaa !33
  %5674 = icmp eq i64 %5673, 0
  br i1 %5674, label %5675, label %5680

5675:                                             ; preds = %5642
  %5676 = getelementptr inbounds i8, ptr %0, i64 88
  %5677 = load i32, ptr %5676, align 8, !tbaa !31
  %5678 = add i32 %5677, 1
  %5679 = and i32 %5678, 262143
  store i32 %5679, ptr %5676, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6619 = load i64, ptr %5651, align 8, !tbaa !33
  br label %5680

5680:                                             ; preds = %5675, %5642
  %5681 = phi i64 [ %.pre6619, %5675 ], [ %5673, %5642 ]
  %5682 = load i64, ptr %5643, align 8, !tbaa !38
  store i64 %5681, ptr %5643, align 8, !tbaa !38
  store i64 %5682, ptr %5651, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5683 = load i64, ptr @simtime, align 8, !tbaa !13
  %5684 = add i64 %5683, 200
  store i64 %5684, ptr @simtime, align 8, !tbaa !13
  %5685 = load i64, ptr %5651, align 8, !tbaa !33
  store i64 %5685, ptr %5643, align 8, !tbaa !38
  br label %8570

5686:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5687 = load i64, ptr @simtime, align 8, !tbaa !13
  %5688 = add i64 %5687, 100
  store i64 %5688, ptr @simtime, align 8, !tbaa !13
  %5689 = getelementptr inbounds i8, ptr %0, i64 40
  %5690 = load i64, ptr %5689, align 8, !tbaa !33
  %5691 = getelementptr inbounds i8, ptr %0, i64 64
  %5692 = load i64, ptr %5691, align 8, !tbaa !38
  %5693 = and i64 %5692, %5690
  store i64 %5693, ptr %5691, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5694 = load i64, ptr @simtime, align 8, !tbaa !13
  %5695 = add i64 %5694, 100
  store i64 %5695, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5696 = load i64, ptr %5691, align 8, !tbaa !38
  %5697 = load i64, ptr %5689, align 8, !tbaa !33
  store i64 %5697, ptr %5691, align 8, !tbaa !38
  store i64 %5696, ptr %5689, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5698 = load i64, ptr @simtime, align 8, !tbaa !13
  %5699 = add i64 %5698, 100
  store i64 %5699, ptr @simtime, align 8, !tbaa !13
  %5700 = load i64, ptr %5689, align 8, !tbaa !33
  %5701 = xor i64 %5700, 68719476735
  store i64 %5701, ptr %5689, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5702 = load i64, ptr @simtime, align 8, !tbaa !13
  %5703 = add i64 %5702, 100
  store i64 %5703, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5704 = load i64, ptr @simtime, align 8, !tbaa !13
  %5705 = add i64 %5704, 100
  store i64 %5705, ptr @simtime, align 8, !tbaa !13
  %5706 = load i64, ptr %5689, align 8, !tbaa !33
  %5707 = xor i64 %5706, 68719476735
  store i64 %5707, ptr %5689, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5708 = load i64, ptr @simtime, align 8, !tbaa !13
  %5709 = add i64 %5708, 100
  store i64 %5709, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5710 = load i64, ptr @simtime, align 8, !tbaa !13
  %5711 = add i64 %5710, 200
  store i64 %5711, ptr @simtime, align 8, !tbaa !13
  %5712 = getelementptr inbounds i8, ptr %0, i64 88
  %5713 = load i32, ptr %5712, align 8, !tbaa !31
  %5714 = add i32 %5713, 1
  %5715 = and i32 %5714, 262143
  store i32 %5715, ptr %5712, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %5716 = load i64, ptr %5691, align 8, !tbaa !38
  %5717 = load i64, ptr %5689, align 8, !tbaa !33
  store i64 %5717, ptr %5691, align 8, !tbaa !38
  store i64 %5716, ptr %5689, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5718 = load i64, ptr @simtime, align 8, !tbaa !13
  %5719 = add i64 %5718, 200
  store i64 %5719, ptr @simtime, align 8, !tbaa !13
  br label %8570

5720:                                             ; preds = %._crit_edge
  %5721 = getelementptr inbounds i8, ptr %0, i64 64
  %5722 = load i64, ptr %5721, align 8, !tbaa !38
  %5723 = shl i64 %5722, 18
  %5724 = lshr i64 %5722, 18
  %5725 = or i64 %5723, %5724
  %5726 = and i64 %5725, 68719476735
  store i64 %5726, ptr %5721, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5727 = load i64, ptr @simtime, align 8, !tbaa !13
  %5728 = add i64 %5727, 100
  store i64 %5728, ptr @simtime, align 8, !tbaa !13
  %5729 = getelementptr inbounds i8, ptr %0, i64 40
  %5730 = load i64, ptr %5729, align 8, !tbaa !33
  %5731 = load i64, ptr %5721, align 8, !tbaa !38
  %5732 = and i64 %5731, %5730
  store i64 %5732, ptr %5721, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5733 = load i64, ptr @simtime, align 8, !tbaa !13
  %5734 = add i64 %5733, 100
  store i64 %5734, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5735 = load i64, ptr %5721, align 8, !tbaa !38
  %5736 = load i64, ptr %5729, align 8, !tbaa !33
  store i64 %5736, ptr %5721, align 8, !tbaa !38
  store i64 %5735, ptr %5729, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5737 = load i64, ptr @simtime, align 8, !tbaa !13
  %5738 = add i64 %5737, 100
  store i64 %5738, ptr @simtime, align 8, !tbaa !13
  %5739 = load i64, ptr %5729, align 8, !tbaa !33
  %5740 = xor i64 %5739, 68719476735
  store i64 %5740, ptr %5729, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5741 = load i64, ptr @simtime, align 8, !tbaa !13
  %5742 = add i64 %5741, 100
  store i64 %5742, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5743 = load i64, ptr @simtime, align 8, !tbaa !13
  %5744 = add i64 %5743, 100
  store i64 %5744, ptr @simtime, align 8, !tbaa !13
  %5745 = load i64, ptr %5729, align 8, !tbaa !33
  %5746 = xor i64 %5745, 68719476735
  store i64 %5746, ptr %5729, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5747 = load i64, ptr @simtime, align 8, !tbaa !13
  %5748 = add i64 %5747, 100
  store i64 %5748, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5749 = load i64, ptr @simtime, align 8, !tbaa !13
  %5750 = add i64 %5749, 200
  store i64 %5750, ptr @simtime, align 8, !tbaa !13
  %5751 = getelementptr inbounds i8, ptr %0, i64 88
  %5752 = load i32, ptr %5751, align 8, !tbaa !31
  %5753 = add i32 %5752, 1
  %5754 = and i32 %5753, 262143
  store i32 %5754, ptr %5751, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %5755 = load i64, ptr %5721, align 8, !tbaa !38
  %5756 = load i64, ptr %5729, align 8, !tbaa !33
  store i64 %5756, ptr %5721, align 8, !tbaa !38
  store i64 %5755, ptr %5729, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5757 = load i64, ptr @simtime, align 8, !tbaa !13
  %5758 = add i64 %5757, 200
  store i64 %5758, ptr @simtime, align 8, !tbaa !13
  br label %8570

5759:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5760 = load i64, ptr @simtime, align 8, !tbaa !13
  %5761 = add i64 %5760, 100
  store i64 %5761, ptr @simtime, align 8, !tbaa !13
  %5762 = getelementptr inbounds i8, ptr %0, i64 40
  %5763 = load i64, ptr %5762, align 8, !tbaa !33
  %5764 = getelementptr inbounds i8, ptr %0, i64 64
  %5765 = load i64, ptr %5764, align 8, !tbaa !38
  %5766 = and i64 %5765, %5763
  store i64 %5766, ptr %5764, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5767 = load i64, ptr @simtime, align 8, !tbaa !13
  %5768 = add i64 %5767, 100
  store i64 %5768, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5769 = load i64, ptr %5764, align 8, !tbaa !38
  %5770 = load i64, ptr %5762, align 8, !tbaa !33
  store i64 %5770, ptr %5764, align 8, !tbaa !38
  store i64 %5769, ptr %5762, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5771 = load i64, ptr @simtime, align 8, !tbaa !13
  %5772 = add i64 %5771, 100
  store i64 %5772, ptr @simtime, align 8, !tbaa !13
  %5773 = load i64, ptr %5762, align 8, !tbaa !33
  %5774 = xor i64 %5773, 68719476735
  store i64 %5774, ptr %5762, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5775 = load i64, ptr @simtime, align 8, !tbaa !13
  %5776 = add i64 %5775, 100
  store i64 %5776, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5777 = load i64, ptr @simtime, align 8, !tbaa !13
  %5778 = add i64 %5777, 100
  store i64 %5778, ptr @simtime, align 8, !tbaa !13
  %5779 = load i64, ptr %5762, align 8, !tbaa !33
  %5780 = xor i64 %5779, 68719476735
  store i64 %5780, ptr %5762, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5781 = load i64, ptr @simtime, align 8, !tbaa !13
  %5782 = add i64 %5781, 100
  store i64 %5782, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5783 = load i64, ptr @simtime, align 8, !tbaa !13
  %5784 = add i64 %5783, 200
  store i64 %5784, ptr @simtime, align 8, !tbaa !13
  %5785 = load i64, ptr %5762, align 8, !tbaa !33
  %5786 = icmp eq i64 %5785, 0
  br i1 %5786, label %5792, label %5787

5787:                                             ; preds = %5759
  %5788 = getelementptr inbounds i8, ptr %0, i64 88
  %5789 = load i32, ptr %5788, align 8, !tbaa !31
  %5790 = add i32 %5789, 1
  %5791 = and i32 %5790, 262143
  store i32 %5791, ptr %5788, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6618 = load i64, ptr %5762, align 8, !tbaa !33
  br label %5792

5792:                                             ; preds = %5787, %5759
  %5793 = phi i64 [ %.pre6618, %5787 ], [ 0, %5759 ]
  %5794 = load i64, ptr %5764, align 8, !tbaa !38
  store i64 %5793, ptr %5764, align 8, !tbaa !38
  store i64 %5794, ptr %5762, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5795 = load i64, ptr @simtime, align 8, !tbaa !13
  %5796 = add i64 %5795, 200
  store i64 %5796, ptr @simtime, align 8, !tbaa !13
  %5797 = load i64, ptr %5762, align 8, !tbaa !33
  store i64 %5797, ptr %5764, align 8, !tbaa !38
  br label %8570

5798:                                             ; preds = %._crit_edge
  %5799 = getelementptr inbounds i8, ptr %0, i64 64
  %5800 = load i64, ptr %5799, align 8, !tbaa !38
  %5801 = shl i64 %5800, 18
  %5802 = lshr i64 %5800, 18
  %5803 = or i64 %5801, %5802
  %5804 = and i64 %5803, 68719476735
  store i64 %5804, ptr %5799, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5805 = load i64, ptr @simtime, align 8, !tbaa !13
  %5806 = add i64 %5805, 100
  store i64 %5806, ptr @simtime, align 8, !tbaa !13
  %5807 = getelementptr inbounds i8, ptr %0, i64 40
  %5808 = load i64, ptr %5807, align 8, !tbaa !33
  %5809 = load i64, ptr %5799, align 8, !tbaa !38
  %5810 = and i64 %5809, %5808
  store i64 %5810, ptr %5799, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5811 = load i64, ptr @simtime, align 8, !tbaa !13
  %5812 = add i64 %5811, 100
  store i64 %5812, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5813 = load i64, ptr %5799, align 8, !tbaa !38
  %5814 = load i64, ptr %5807, align 8, !tbaa !33
  store i64 %5814, ptr %5799, align 8, !tbaa !38
  store i64 %5813, ptr %5807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5815 = load i64, ptr @simtime, align 8, !tbaa !13
  %5816 = add i64 %5815, 100
  store i64 %5816, ptr @simtime, align 8, !tbaa !13
  %5817 = load i64, ptr %5807, align 8, !tbaa !33
  %5818 = xor i64 %5817, 68719476735
  store i64 %5818, ptr %5807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5819 = load i64, ptr @simtime, align 8, !tbaa !13
  %5820 = add i64 %5819, 100
  store i64 %5820, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5821 = load i64, ptr @simtime, align 8, !tbaa !13
  %5822 = add i64 %5821, 100
  store i64 %5822, ptr @simtime, align 8, !tbaa !13
  %5823 = load i64, ptr %5807, align 8, !tbaa !33
  %5824 = xor i64 %5823, 68719476735
  store i64 %5824, ptr %5807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5825 = load i64, ptr @simtime, align 8, !tbaa !13
  %5826 = add i64 %5825, 100
  store i64 %5826, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5827 = load i64, ptr @simtime, align 8, !tbaa !13
  %5828 = add i64 %5827, 200
  store i64 %5828, ptr @simtime, align 8, !tbaa !13
  %5829 = load i64, ptr %5807, align 8, !tbaa !33
  %5830 = icmp eq i64 %5829, 0
  br i1 %5830, label %5836, label %5831

5831:                                             ; preds = %5798
  %5832 = getelementptr inbounds i8, ptr %0, i64 88
  %5833 = load i32, ptr %5832, align 8, !tbaa !31
  %5834 = add i32 %5833, 1
  %5835 = and i32 %5834, 262143
  store i32 %5835, ptr %5832, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6617 = load i64, ptr %5807, align 8, !tbaa !33
  br label %5836

5836:                                             ; preds = %5831, %5798
  %5837 = phi i64 [ %.pre6617, %5831 ], [ 0, %5798 ]
  %5838 = load i64, ptr %5799, align 8, !tbaa !38
  store i64 %5837, ptr %5799, align 8, !tbaa !38
  store i64 %5838, ptr %5807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5839 = load i64, ptr @simtime, align 8, !tbaa !13
  %5840 = add i64 %5839, 200
  store i64 %5840, ptr @simtime, align 8, !tbaa !13
  %5841 = load i64, ptr %5807, align 8, !tbaa !33
  store i64 %5841, ptr %5799, align 8, !tbaa !38
  br label %8570

5842:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5843 = load i64, ptr @simtime, align 8, !tbaa !13
  %5844 = add i64 %5843, 100
  store i64 %5844, ptr @simtime, align 8, !tbaa !13
  %5845 = getelementptr inbounds i8, ptr %0, i64 40
  %5846 = load i64, ptr %5845, align 8, !tbaa !33
  %5847 = getelementptr inbounds i8, ptr %0, i64 64
  %5848 = load i64, ptr %5847, align 8, !tbaa !38
  %5849 = and i64 %5848, %5846
  store i64 %5849, ptr %5847, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5850 = load i64, ptr @simtime, align 8, !tbaa !13
  %5851 = add i64 %5850, 100
  store i64 %5851, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5852 = load i64, ptr %5847, align 8, !tbaa !38
  %5853 = load i64, ptr %5845, align 8, !tbaa !33
  store i64 %5853, ptr %5847, align 8, !tbaa !38
  store i64 %5852, ptr %5845, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5854 = load i64, ptr @simtime, align 8, !tbaa !13
  %5855 = add i64 %5854, 100
  store i64 %5855, ptr @simtime, align 8, !tbaa !13
  %5856 = load i64, ptr %5845, align 8, !tbaa !33
  %5857 = xor i64 %5856, 68719476735
  store i64 %5857, ptr %5845, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5858 = load i64, ptr @simtime, align 8, !tbaa !13
  %5859 = add i64 %5858, 100
  store i64 %5859, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5860 = load i64, ptr @simtime, align 8, !tbaa !13
  %5861 = add i64 %5860, 100
  store i64 %5861, ptr @simtime, align 8, !tbaa !13
  %5862 = load i64, ptr %5845, align 8, !tbaa !33
  %5863 = xor i64 %5862, 68719476735
  store i64 %5863, ptr %5845, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5864 = load i64, ptr @simtime, align 8, !tbaa !13
  %5865 = add i64 %5864, 100
  store i64 %5865, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5866 = load i64, ptr @simtime, align 8, !tbaa !13
  %5867 = add i64 %5866, 200
  store i64 %5867, ptr @simtime, align 8, !tbaa !13
  %5868 = load i64, ptr %5847, align 8, !tbaa !38
  %5869 = load i64, ptr %5845, align 8, !tbaa !33
  store i64 %5869, ptr %5847, align 8, !tbaa !38
  store i64 %5868, ptr %5845, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5870 = load i64, ptr @simtime, align 8, !tbaa !13
  %5871 = add i64 %5870, 200
  store i64 %5871, ptr @simtime, align 8, !tbaa !13
  br label %8570

5872:                                             ; preds = %._crit_edge
  %5873 = getelementptr inbounds i8, ptr %0, i64 64
  %5874 = load i64, ptr %5873, align 8, !tbaa !38
  %5875 = shl i64 %5874, 18
  %5876 = lshr i64 %5874, 18
  %5877 = or i64 %5875, %5876
  %5878 = and i64 %5877, 68719476735
  store i64 %5878, ptr %5873, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5879 = load i64, ptr @simtime, align 8, !tbaa !13
  %5880 = add i64 %5879, 100
  store i64 %5880, ptr @simtime, align 8, !tbaa !13
  %5881 = getelementptr inbounds i8, ptr %0, i64 40
  %5882 = load i64, ptr %5881, align 8, !tbaa !33
  %5883 = load i64, ptr %5873, align 8, !tbaa !38
  %5884 = and i64 %5883, %5882
  store i64 %5884, ptr %5873, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5885 = load i64, ptr @simtime, align 8, !tbaa !13
  %5886 = add i64 %5885, 100
  store i64 %5886, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5887 = load i64, ptr %5873, align 8, !tbaa !38
  %5888 = load i64, ptr %5881, align 8, !tbaa !33
  store i64 %5888, ptr %5873, align 8, !tbaa !38
  store i64 %5887, ptr %5881, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5889 = load i64, ptr @simtime, align 8, !tbaa !13
  %5890 = add i64 %5889, 100
  store i64 %5890, ptr @simtime, align 8, !tbaa !13
  %5891 = load i64, ptr %5881, align 8, !tbaa !33
  %5892 = xor i64 %5891, 68719476735
  store i64 %5892, ptr %5881, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5893 = load i64, ptr @simtime, align 8, !tbaa !13
  %5894 = add i64 %5893, 100
  store i64 %5894, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5895 = load i64, ptr @simtime, align 8, !tbaa !13
  %5896 = add i64 %5895, 100
  store i64 %5896, ptr @simtime, align 8, !tbaa !13
  %5897 = load i64, ptr %5881, align 8, !tbaa !33
  %5898 = xor i64 %5897, 68719476735
  store i64 %5898, ptr %5881, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5899 = load i64, ptr @simtime, align 8, !tbaa !13
  %5900 = add i64 %5899, 100
  store i64 %5900, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5901 = load i64, ptr @simtime, align 8, !tbaa !13
  %5902 = add i64 %5901, 200
  store i64 %5902, ptr @simtime, align 8, !tbaa !13
  %5903 = load i64, ptr %5873, align 8, !tbaa !38
  %5904 = load i64, ptr %5881, align 8, !tbaa !33
  store i64 %5904, ptr %5873, align 8, !tbaa !38
  store i64 %5903, ptr %5881, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5905 = load i64, ptr @simtime, align 8, !tbaa !13
  %5906 = add i64 %5905, 200
  store i64 %5906, ptr @simtime, align 8, !tbaa !13
  br label %8570

5907:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5908 = load i64, ptr @simtime, align 8, !tbaa !13
  %5909 = add i64 %5908, 100
  store i64 %5909, ptr @simtime, align 8, !tbaa !13
  %5910 = getelementptr inbounds i8, ptr %0, i64 40
  %5911 = load i64, ptr %5910, align 8, !tbaa !33
  %5912 = getelementptr inbounds i8, ptr %0, i64 64
  %5913 = load i64, ptr %5912, align 8, !tbaa !38
  %5914 = and i64 %5913, %5911
  store i64 %5914, ptr %5912, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5915 = load i64, ptr @simtime, align 8, !tbaa !13
  %5916 = add i64 %5915, 100
  store i64 %5916, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5917 = load i64, ptr %5912, align 8, !tbaa !38
  %5918 = load i64, ptr %5910, align 8, !tbaa !33
  store i64 %5918, ptr %5912, align 8, !tbaa !38
  store i64 %5917, ptr %5910, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5919 = load i64, ptr @simtime, align 8, !tbaa !13
  %5920 = add i64 %5919, 100
  store i64 %5920, ptr @simtime, align 8, !tbaa !13
  %5921 = load i64, ptr %5910, align 8, !tbaa !33
  %5922 = xor i64 %5921, 68719476735
  store i64 %5922, ptr %5910, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5923 = load i64, ptr @simtime, align 8, !tbaa !13
  %5924 = add i64 %5923, 100
  store i64 %5924, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5925 = load i64, ptr @simtime, align 8, !tbaa !13
  %5926 = add i64 %5925, 100
  store i64 %5926, ptr @simtime, align 8, !tbaa !13
  %5927 = load i64, ptr %5910, align 8, !tbaa !33
  %5928 = xor i64 %5927, 68719476735
  store i64 %5928, ptr %5910, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5929 = load i64, ptr @simtime, align 8, !tbaa !13
  %5930 = add i64 %5929, 100
  store i64 %5930, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5931 = load i64, ptr @simtime, align 8, !tbaa !13
  %5932 = add i64 %5931, 200
  store i64 %5932, ptr @simtime, align 8, !tbaa !13
  %5933 = load i64, ptr %5910, align 8, !tbaa !33
  %5934 = icmp eq i64 %5933, 0
  br i1 %5934, label %5935, label %5940

5935:                                             ; preds = %5907
  %5936 = getelementptr inbounds i8, ptr %0, i64 88
  %5937 = load i32, ptr %5936, align 8, !tbaa !31
  %5938 = add i32 %5937, 1
  %5939 = and i32 %5938, 262143
  store i32 %5939, ptr %5936, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6616 = load i64, ptr %5910, align 8, !tbaa !33
  br label %5940

5940:                                             ; preds = %5935, %5907
  %5941 = phi i64 [ %.pre6616, %5935 ], [ %5933, %5907 ]
  %5942 = load i64, ptr %5912, align 8, !tbaa !38
  store i64 %5941, ptr %5912, align 8, !tbaa !38
  store i64 %5942, ptr %5910, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5943 = load i64, ptr @simtime, align 8, !tbaa !13
  %5944 = add i64 %5943, 200
  store i64 %5944, ptr @simtime, align 8, !tbaa !13
  %5945 = load i64, ptr %5910, align 8, !tbaa !33
  store i64 %5945, ptr %5912, align 8, !tbaa !38
  br label %8570

5946:                                             ; preds = %._crit_edge
  %5947 = getelementptr inbounds i8, ptr %0, i64 64
  %5948 = load i64, ptr %5947, align 8, !tbaa !38
  %5949 = shl i64 %5948, 18
  %5950 = lshr i64 %5948, 18
  %5951 = or i64 %5949, %5950
  %5952 = and i64 %5951, 68719476735
  store i64 %5952, ptr %5947, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5953 = load i64, ptr @simtime, align 8, !tbaa !13
  %5954 = add i64 %5953, 100
  store i64 %5954, ptr @simtime, align 8, !tbaa !13
  %5955 = getelementptr inbounds i8, ptr %0, i64 40
  %5956 = load i64, ptr %5955, align 8, !tbaa !33
  %5957 = load i64, ptr %5947, align 8, !tbaa !38
  %5958 = and i64 %5957, %5956
  store i64 %5958, ptr %5947, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5959 = load i64, ptr @simtime, align 8, !tbaa !13
  %5960 = add i64 %5959, 100
  store i64 %5960, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %5961 = load i64, ptr %5947, align 8, !tbaa !38
  %5962 = load i64, ptr %5955, align 8, !tbaa !33
  store i64 %5962, ptr %5947, align 8, !tbaa !38
  store i64 %5961, ptr %5955, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %5963 = load i64, ptr @simtime, align 8, !tbaa !13
  %5964 = add i64 %5963, 100
  store i64 %5964, ptr @simtime, align 8, !tbaa !13
  %5965 = load i64, ptr %5955, align 8, !tbaa !33
  %5966 = xor i64 %5965, 68719476735
  store i64 %5966, ptr %5955, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %5967 = load i64, ptr @simtime, align 8, !tbaa !13
  %5968 = add i64 %5967, 100
  store i64 %5968, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %5969 = load i64, ptr @simtime, align 8, !tbaa !13
  %5970 = add i64 %5969, 100
  store i64 %5970, ptr @simtime, align 8, !tbaa !13
  %5971 = load i64, ptr %5955, align 8, !tbaa !33
  %5972 = xor i64 %5971, 68719476735
  store i64 %5972, ptr %5955, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %5973 = load i64, ptr @simtime, align 8, !tbaa !13
  %5974 = add i64 %5973, 100
  store i64 %5974, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %5975 = load i64, ptr @simtime, align 8, !tbaa !13
  %5976 = add i64 %5975, 200
  store i64 %5976, ptr @simtime, align 8, !tbaa !13
  %5977 = load i64, ptr %5955, align 8, !tbaa !33
  %5978 = icmp eq i64 %5977, 0
  br i1 %5978, label %5979, label %5984

5979:                                             ; preds = %5946
  %5980 = getelementptr inbounds i8, ptr %0, i64 88
  %5981 = load i32, ptr %5980, align 8, !tbaa !31
  %5982 = add i32 %5981, 1
  %5983 = and i32 %5982, 262143
  store i32 %5983, ptr %5980, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6615 = load i64, ptr %5955, align 8, !tbaa !33
  br label %5984

5984:                                             ; preds = %5979, %5946
  %5985 = phi i64 [ %.pre6615, %5979 ], [ %5977, %5946 ]
  %5986 = load i64, ptr %5947, align 8, !tbaa !38
  store i64 %5985, ptr %5947, align 8, !tbaa !38
  store i64 %5986, ptr %5955, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %5987 = load i64, ptr @simtime, align 8, !tbaa !13
  %5988 = add i64 %5987, 200
  store i64 %5988, ptr @simtime, align 8, !tbaa !13
  %5989 = load i64, ptr %5955, align 8, !tbaa !33
  store i64 %5989, ptr %5947, align 8, !tbaa !38
  br label %8570

5990:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %5991 = load i64, ptr @simtime, align 8, !tbaa !13
  %5992 = add i64 %5991, 100
  store i64 %5992, ptr @simtime, align 8, !tbaa !13
  %5993 = getelementptr inbounds i8, ptr %0, i64 40
  %5994 = load i64, ptr %5993, align 8, !tbaa !33
  %5995 = getelementptr inbounds i8, ptr %0, i64 64
  %5996 = load i64, ptr %5995, align 8, !tbaa !38
  %5997 = and i64 %5996, %5994
  store i64 %5997, ptr %5995, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %5998 = load i64, ptr @simtime, align 8, !tbaa !13
  %5999 = add i64 %5998, 100
  store i64 %5999, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6000 = load i64, ptr %5995, align 8, !tbaa !38
  %6001 = load i64, ptr %5993, align 8, !tbaa !33
  store i64 %6001, ptr %5995, align 8, !tbaa !38
  store i64 %6000, ptr %5993, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6002 = load i64, ptr @simtime, align 8, !tbaa !13
  %6003 = add i64 %6002, 100
  store i64 %6003, ptr @simtime, align 8, !tbaa !13
  %6004 = load i64, ptr %5993, align 8, !tbaa !33
  %6005 = xor i64 %6004, 68719476735
  store i64 %6005, ptr %5993, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6006 = load i64, ptr @simtime, align 8, !tbaa !13
  %6007 = add i64 %6006, 100
  store i64 %6007, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6008 = load i64, ptr @simtime, align 8, !tbaa !13
  %6009 = add i64 %6008, 100
  store i64 %6009, ptr @simtime, align 8, !tbaa !13
  %6010 = load i64, ptr %5993, align 8, !tbaa !33
  %6011 = xor i64 %6010, 68719476735
  store i64 %6011, ptr %5993, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6012 = load i64, ptr @simtime, align 8, !tbaa !13
  %6013 = add i64 %6012, 100
  store i64 %6013, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6014 = load i64, ptr @simtime, align 8, !tbaa !13
  %6015 = add i64 %6014, 200
  store i64 %6015, ptr @simtime, align 8, !tbaa !13
  %6016 = getelementptr inbounds i8, ptr %0, i64 88
  %6017 = load i32, ptr %6016, align 8, !tbaa !31
  %6018 = add i32 %6017, 1
  %6019 = and i32 %6018, 262143
  store i32 %6019, ptr %6016, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %6020 = load i64, ptr %5995, align 8, !tbaa !38
  %6021 = load i64, ptr %5993, align 8, !tbaa !33
  store i64 %6021, ptr %5995, align 8, !tbaa !38
  store i64 %6020, ptr %5993, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6022 = load i64, ptr @simtime, align 8, !tbaa !13
  %6023 = add i64 %6022, 200
  store i64 %6023, ptr @simtime, align 8, !tbaa !13
  br label %8570

6024:                                             ; preds = %._crit_edge
  %6025 = getelementptr inbounds i8, ptr %0, i64 64
  %6026 = load i64, ptr %6025, align 8, !tbaa !38
  %6027 = shl i64 %6026, 18
  %6028 = lshr i64 %6026, 18
  %6029 = or i64 %6027, %6028
  %6030 = and i64 %6029, 68719476735
  store i64 %6030, ptr %6025, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6031 = load i64, ptr @simtime, align 8, !tbaa !13
  %6032 = add i64 %6031, 100
  store i64 %6032, ptr @simtime, align 8, !tbaa !13
  %6033 = getelementptr inbounds i8, ptr %0, i64 40
  %6034 = load i64, ptr %6033, align 8, !tbaa !33
  %6035 = load i64, ptr %6025, align 8, !tbaa !38
  %6036 = and i64 %6035, %6034
  store i64 %6036, ptr %6025, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6037 = load i64, ptr @simtime, align 8, !tbaa !13
  %6038 = add i64 %6037, 100
  store i64 %6038, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6039 = load i64, ptr %6025, align 8, !tbaa !38
  %6040 = load i64, ptr %6033, align 8, !tbaa !33
  store i64 %6040, ptr %6025, align 8, !tbaa !38
  store i64 %6039, ptr %6033, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6041 = load i64, ptr @simtime, align 8, !tbaa !13
  %6042 = add i64 %6041, 100
  store i64 %6042, ptr @simtime, align 8, !tbaa !13
  %6043 = load i64, ptr %6033, align 8, !tbaa !33
  %6044 = xor i64 %6043, 68719476735
  store i64 %6044, ptr %6033, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6045 = load i64, ptr @simtime, align 8, !tbaa !13
  %6046 = add i64 %6045, 100
  store i64 %6046, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6047 = load i64, ptr @simtime, align 8, !tbaa !13
  %6048 = add i64 %6047, 100
  store i64 %6048, ptr @simtime, align 8, !tbaa !13
  %6049 = load i64, ptr %6033, align 8, !tbaa !33
  %6050 = xor i64 %6049, 68719476735
  store i64 %6050, ptr %6033, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6051 = load i64, ptr @simtime, align 8, !tbaa !13
  %6052 = add i64 %6051, 100
  store i64 %6052, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6053 = load i64, ptr @simtime, align 8, !tbaa !13
  %6054 = add i64 %6053, 200
  store i64 %6054, ptr @simtime, align 8, !tbaa !13
  %6055 = getelementptr inbounds i8, ptr %0, i64 88
  %6056 = load i32, ptr %6055, align 8, !tbaa !31
  %6057 = add i32 %6056, 1
  %6058 = and i32 %6057, 262143
  store i32 %6058, ptr %6055, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %6059 = load i64, ptr %6025, align 8, !tbaa !38
  %6060 = load i64, ptr %6033, align 8, !tbaa !33
  store i64 %6060, ptr %6025, align 8, !tbaa !38
  store i64 %6059, ptr %6033, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6061 = load i64, ptr @simtime, align 8, !tbaa !13
  %6062 = add i64 %6061, 200
  store i64 %6062, ptr @simtime, align 8, !tbaa !13
  br label %8570

6063:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6064 = load i64, ptr @simtime, align 8, !tbaa !13
  %6065 = add i64 %6064, 100
  store i64 %6065, ptr @simtime, align 8, !tbaa !13
  %6066 = getelementptr inbounds i8, ptr %0, i64 40
  %6067 = load i64, ptr %6066, align 8, !tbaa !33
  %6068 = getelementptr inbounds i8, ptr %0, i64 64
  %6069 = load i64, ptr %6068, align 8, !tbaa !38
  %6070 = and i64 %6069, %6067
  store i64 %6070, ptr %6068, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6071 = load i64, ptr @simtime, align 8, !tbaa !13
  %6072 = add i64 %6071, 100
  store i64 %6072, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6073 = load i64, ptr %6068, align 8, !tbaa !38
  %6074 = load i64, ptr %6066, align 8, !tbaa !33
  store i64 %6074, ptr %6068, align 8, !tbaa !38
  store i64 %6073, ptr %6066, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6075 = load i64, ptr @simtime, align 8, !tbaa !13
  %6076 = add i64 %6075, 100
  store i64 %6076, ptr @simtime, align 8, !tbaa !13
  %6077 = load i64, ptr %6066, align 8, !tbaa !33
  %6078 = xor i64 %6077, 68719476735
  store i64 %6078, ptr %6066, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6079 = load i64, ptr @simtime, align 8, !tbaa !13
  %6080 = add i64 %6079, 100
  store i64 %6080, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6081 = load i64, ptr @simtime, align 8, !tbaa !13
  %6082 = add i64 %6081, 100
  store i64 %6082, ptr @simtime, align 8, !tbaa !13
  %6083 = load i64, ptr %6066, align 8, !tbaa !33
  %6084 = xor i64 %6083, 68719476735
  store i64 %6084, ptr %6066, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6085 = load i64, ptr @simtime, align 8, !tbaa !13
  %6086 = add i64 %6085, 100
  store i64 %6086, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6087 = load i64, ptr @simtime, align 8, !tbaa !13
  %6088 = add i64 %6087, 200
  store i64 %6088, ptr @simtime, align 8, !tbaa !13
  %6089 = load i64, ptr %6066, align 8, !tbaa !33
  %6090 = icmp eq i64 %6089, 0
  br i1 %6090, label %6096, label %6091

6091:                                             ; preds = %6063
  %6092 = getelementptr inbounds i8, ptr %0, i64 88
  %6093 = load i32, ptr %6092, align 8, !tbaa !31
  %6094 = add i32 %6093, 1
  %6095 = and i32 %6094, 262143
  store i32 %6095, ptr %6092, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6614 = load i64, ptr %6066, align 8, !tbaa !33
  br label %6096

6096:                                             ; preds = %6091, %6063
  %6097 = phi i64 [ %.pre6614, %6091 ], [ 0, %6063 ]
  %6098 = load i64, ptr %6068, align 8, !tbaa !38
  store i64 %6097, ptr %6068, align 8, !tbaa !38
  store i64 %6098, ptr %6066, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6099 = load i64, ptr @simtime, align 8, !tbaa !13
  %6100 = add i64 %6099, 200
  store i64 %6100, ptr @simtime, align 8, !tbaa !13
  %6101 = load i64, ptr %6066, align 8, !tbaa !33
  store i64 %6101, ptr %6068, align 8, !tbaa !38
  br label %8570

6102:                                             ; preds = %._crit_edge
  %6103 = getelementptr inbounds i8, ptr %0, i64 64
  %6104 = load i64, ptr %6103, align 8, !tbaa !38
  %6105 = shl i64 %6104, 18
  %6106 = lshr i64 %6104, 18
  %6107 = or i64 %6105, %6106
  %6108 = and i64 %6107, 68719476735
  store i64 %6108, ptr %6103, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6109 = load i64, ptr @simtime, align 8, !tbaa !13
  %6110 = add i64 %6109, 100
  store i64 %6110, ptr @simtime, align 8, !tbaa !13
  %6111 = getelementptr inbounds i8, ptr %0, i64 40
  %6112 = load i64, ptr %6111, align 8, !tbaa !33
  %6113 = load i64, ptr %6103, align 8, !tbaa !38
  %6114 = and i64 %6113, %6112
  store i64 %6114, ptr %6103, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6115 = load i64, ptr @simtime, align 8, !tbaa !13
  %6116 = add i64 %6115, 100
  store i64 %6116, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6117 = load i64, ptr %6103, align 8, !tbaa !38
  %6118 = load i64, ptr %6111, align 8, !tbaa !33
  store i64 %6118, ptr %6103, align 8, !tbaa !38
  store i64 %6117, ptr %6111, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6119 = load i64, ptr @simtime, align 8, !tbaa !13
  %6120 = add i64 %6119, 100
  store i64 %6120, ptr @simtime, align 8, !tbaa !13
  %6121 = load i64, ptr %6111, align 8, !tbaa !33
  %6122 = xor i64 %6121, 68719476735
  store i64 %6122, ptr %6111, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6123 = load i64, ptr @simtime, align 8, !tbaa !13
  %6124 = add i64 %6123, 100
  store i64 %6124, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6125 = load i64, ptr @simtime, align 8, !tbaa !13
  %6126 = add i64 %6125, 100
  store i64 %6126, ptr @simtime, align 8, !tbaa !13
  %6127 = load i64, ptr %6111, align 8, !tbaa !33
  %6128 = xor i64 %6127, 68719476735
  store i64 %6128, ptr %6111, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6129 = load i64, ptr @simtime, align 8, !tbaa !13
  %6130 = add i64 %6129, 100
  store i64 %6130, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6131 = load i64, ptr @simtime, align 8, !tbaa !13
  %6132 = add i64 %6131, 200
  store i64 %6132, ptr @simtime, align 8, !tbaa !13
  %6133 = load i64, ptr %6111, align 8, !tbaa !33
  %6134 = icmp eq i64 %6133, 0
  br i1 %6134, label %6140, label %6135

6135:                                             ; preds = %6102
  %6136 = getelementptr inbounds i8, ptr %0, i64 88
  %6137 = load i32, ptr %6136, align 8, !tbaa !31
  %6138 = add i32 %6137, 1
  %6139 = and i32 %6138, 262143
  store i32 %6139, ptr %6136, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6613 = load i64, ptr %6111, align 8, !tbaa !33
  br label %6140

6140:                                             ; preds = %6135, %6102
  %6141 = phi i64 [ %.pre6613, %6135 ], [ 0, %6102 ]
  %6142 = load i64, ptr %6103, align 8, !tbaa !38
  store i64 %6141, ptr %6103, align 8, !tbaa !38
  store i64 %6142, ptr %6111, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6143 = load i64, ptr @simtime, align 8, !tbaa !13
  %6144 = add i64 %6143, 200
  store i64 %6144, ptr @simtime, align 8, !tbaa !13
  %6145 = load i64, ptr %6111, align 8, !tbaa !33
  store i64 %6145, ptr %6103, align 8, !tbaa !38
  br label %8570

6146:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6147 = load i64, ptr @simtime, align 8, !tbaa !13
  %6148 = add i64 %6147, 100
  store i64 %6148, ptr @simtime, align 8, !tbaa !13
  %6149 = getelementptr inbounds i8, ptr %0, i64 40
  %6150 = load i64, ptr %6149, align 8, !tbaa !33
  %6151 = getelementptr inbounds i8, ptr %0, i64 64
  %6152 = load i64, ptr %6151, align 8, !tbaa !38
  %6153 = and i64 %6152, %6150
  store i64 %6153, ptr %6151, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6154 = load i64, ptr @simtime, align 8, !tbaa !13
  %6155 = add i64 %6154, 100
  store i64 %6155, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6156 = load i64, ptr %6151, align 8, !tbaa !38
  %6157 = load i64, ptr %6149, align 8, !tbaa !33
  store i64 %6157, ptr %6151, align 8, !tbaa !38
  store i64 %6156, ptr %6149, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6158 = load i64, ptr @simtime, align 8, !tbaa !13
  %6159 = add i64 %6158, 100
  store i64 %6159, ptr @simtime, align 8, !tbaa !13
  %6160 = load i64, ptr %6149, align 8, !tbaa !33
  %6161 = xor i64 %6160, 68719476735
  store i64 %6161, ptr %6149, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6162 = load i64, ptr @simtime, align 8, !tbaa !13
  %6163 = add i64 %6162, 100
  store i64 %6163, ptr @simtime, align 8, !tbaa !13
  %6164 = load i64, ptr %6149, align 8, !tbaa !33
  %6165 = load i64, ptr %6151, align 8, !tbaa !38
  %6166 = and i64 %6165, %6164
  store i64 %6166, ptr %6151, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6167 = load i64, ptr @simtime, align 8, !tbaa !13
  %6168 = add i64 %6167, 100
  store i64 %6168, ptr @simtime, align 8, !tbaa !13
  %6169 = load i64, ptr %6149, align 8, !tbaa !33
  %6170 = xor i64 %6169, 68719476735
  store i64 %6170, ptr %6149, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6171 = load i64, ptr @simtime, align 8, !tbaa !13
  %6172 = add i64 %6171, 100
  store i64 %6172, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6173 = load i64, ptr @simtime, align 8, !tbaa !13
  %6174 = add i64 %6173, 200
  store i64 %6174, ptr @simtime, align 8, !tbaa !13
  %6175 = load i64, ptr %6151, align 8, !tbaa !38
  %6176 = load i64, ptr %6149, align 8, !tbaa !33
  store i64 %6176, ptr %6151, align 8, !tbaa !38
  store i64 %6175, ptr %6149, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6177 = load i64, ptr @simtime, align 8, !tbaa !13
  %6178 = add i64 %6177, 200
  store i64 %6178, ptr @simtime, align 8, !tbaa !13
  br label %8570

6179:                                             ; preds = %._crit_edge
  %6180 = getelementptr inbounds i8, ptr %0, i64 64
  %6181 = load i64, ptr %6180, align 8, !tbaa !38
  %6182 = shl i64 %6181, 18
  %6183 = lshr i64 %6181, 18
  %6184 = or i64 %6182, %6183
  %6185 = and i64 %6184, 68719476735
  store i64 %6185, ptr %6180, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6186 = load i64, ptr @simtime, align 8, !tbaa !13
  %6187 = add i64 %6186, 100
  store i64 %6187, ptr @simtime, align 8, !tbaa !13
  %6188 = getelementptr inbounds i8, ptr %0, i64 40
  %6189 = load i64, ptr %6188, align 8, !tbaa !33
  %6190 = load i64, ptr %6180, align 8, !tbaa !38
  %6191 = and i64 %6190, %6189
  store i64 %6191, ptr %6180, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6192 = load i64, ptr @simtime, align 8, !tbaa !13
  %6193 = add i64 %6192, 100
  store i64 %6193, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6194 = load i64, ptr %6180, align 8, !tbaa !38
  %6195 = load i64, ptr %6188, align 8, !tbaa !33
  store i64 %6195, ptr %6180, align 8, !tbaa !38
  store i64 %6194, ptr %6188, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6196 = load i64, ptr @simtime, align 8, !tbaa !13
  %6197 = add i64 %6196, 100
  store i64 %6197, ptr @simtime, align 8, !tbaa !13
  %6198 = load i64, ptr %6188, align 8, !tbaa !33
  %6199 = xor i64 %6198, 68719476735
  store i64 %6199, ptr %6188, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6200 = load i64, ptr @simtime, align 8, !tbaa !13
  %6201 = add i64 %6200, 100
  store i64 %6201, ptr @simtime, align 8, !tbaa !13
  %6202 = load i64, ptr %6188, align 8, !tbaa !33
  %6203 = load i64, ptr %6180, align 8, !tbaa !38
  %6204 = and i64 %6203, %6202
  store i64 %6204, ptr %6180, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6205 = load i64, ptr @simtime, align 8, !tbaa !13
  %6206 = add i64 %6205, 100
  store i64 %6206, ptr @simtime, align 8, !tbaa !13
  %6207 = load i64, ptr %6188, align 8, !tbaa !33
  %6208 = xor i64 %6207, 68719476735
  store i64 %6208, ptr %6188, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6209 = load i64, ptr @simtime, align 8, !tbaa !13
  %6210 = add i64 %6209, 100
  store i64 %6210, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6211 = load i64, ptr @simtime, align 8, !tbaa !13
  %6212 = add i64 %6211, 200
  store i64 %6212, ptr @simtime, align 8, !tbaa !13
  %6213 = load i64, ptr %6180, align 8, !tbaa !38
  %6214 = load i64, ptr %6188, align 8, !tbaa !33
  store i64 %6214, ptr %6180, align 8, !tbaa !38
  store i64 %6213, ptr %6188, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6215 = load i64, ptr @simtime, align 8, !tbaa !13
  %6216 = add i64 %6215, 200
  store i64 %6216, ptr @simtime, align 8, !tbaa !13
  br label %8570

6217:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6218 = load i64, ptr @simtime, align 8, !tbaa !13
  %6219 = add i64 %6218, 100
  store i64 %6219, ptr @simtime, align 8, !tbaa !13
  %6220 = getelementptr inbounds i8, ptr %0, i64 40
  %6221 = load i64, ptr %6220, align 8, !tbaa !33
  %6222 = getelementptr inbounds i8, ptr %0, i64 64
  %6223 = load i64, ptr %6222, align 8, !tbaa !38
  %6224 = and i64 %6223, %6221
  store i64 %6224, ptr %6222, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6225 = load i64, ptr @simtime, align 8, !tbaa !13
  %6226 = add i64 %6225, 100
  store i64 %6226, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6227 = load i64, ptr %6222, align 8, !tbaa !38
  %6228 = load i64, ptr %6220, align 8, !tbaa !33
  store i64 %6228, ptr %6222, align 8, !tbaa !38
  store i64 %6227, ptr %6220, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6229 = load i64, ptr @simtime, align 8, !tbaa !13
  %6230 = add i64 %6229, 100
  store i64 %6230, ptr @simtime, align 8, !tbaa !13
  %6231 = load i64, ptr %6220, align 8, !tbaa !33
  %6232 = xor i64 %6231, 68719476735
  store i64 %6232, ptr %6220, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6233 = load i64, ptr @simtime, align 8, !tbaa !13
  %6234 = add i64 %6233, 100
  store i64 %6234, ptr @simtime, align 8, !tbaa !13
  %6235 = load i64, ptr %6220, align 8, !tbaa !33
  %6236 = load i64, ptr %6222, align 8, !tbaa !38
  %6237 = and i64 %6236, %6235
  store i64 %6237, ptr %6222, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6238 = load i64, ptr @simtime, align 8, !tbaa !13
  %6239 = add i64 %6238, 100
  store i64 %6239, ptr @simtime, align 8, !tbaa !13
  %6240 = load i64, ptr %6220, align 8, !tbaa !33
  %6241 = xor i64 %6240, 68719476735
  store i64 %6241, ptr %6220, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6242 = load i64, ptr @simtime, align 8, !tbaa !13
  %6243 = add i64 %6242, 100
  store i64 %6243, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6244 = load i64, ptr @simtime, align 8, !tbaa !13
  %6245 = add i64 %6244, 200
  store i64 %6245, ptr @simtime, align 8, !tbaa !13
  %6246 = load i64, ptr %6220, align 8, !tbaa !33
  %6247 = icmp eq i64 %6246, 0
  br i1 %6247, label %6248, label %6253

6248:                                             ; preds = %6217
  %6249 = getelementptr inbounds i8, ptr %0, i64 88
  %6250 = load i32, ptr %6249, align 8, !tbaa !31
  %6251 = add i32 %6250, 1
  %6252 = and i32 %6251, 262143
  store i32 %6252, ptr %6249, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6612 = load i64, ptr %6220, align 8, !tbaa !33
  br label %6253

6253:                                             ; preds = %6248, %6217
  %6254 = phi i64 [ %.pre6612, %6248 ], [ %6246, %6217 ]
  %6255 = load i64, ptr %6222, align 8, !tbaa !38
  store i64 %6254, ptr %6222, align 8, !tbaa !38
  store i64 %6255, ptr %6220, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6256 = load i64, ptr @simtime, align 8, !tbaa !13
  %6257 = add i64 %6256, 200
  store i64 %6257, ptr @simtime, align 8, !tbaa !13
  %6258 = load i64, ptr %6220, align 8, !tbaa !33
  store i64 %6258, ptr %6222, align 8, !tbaa !38
  br label %8570

6259:                                             ; preds = %._crit_edge
  %6260 = getelementptr inbounds i8, ptr %0, i64 64
  %6261 = load i64, ptr %6260, align 8, !tbaa !38
  %6262 = shl i64 %6261, 18
  %6263 = lshr i64 %6261, 18
  %6264 = or i64 %6262, %6263
  %6265 = and i64 %6264, 68719476735
  store i64 %6265, ptr %6260, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6266 = load i64, ptr @simtime, align 8, !tbaa !13
  %6267 = add i64 %6266, 100
  store i64 %6267, ptr @simtime, align 8, !tbaa !13
  %6268 = getelementptr inbounds i8, ptr %0, i64 40
  %6269 = load i64, ptr %6268, align 8, !tbaa !33
  %6270 = load i64, ptr %6260, align 8, !tbaa !38
  %6271 = and i64 %6270, %6269
  store i64 %6271, ptr %6260, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6272 = load i64, ptr @simtime, align 8, !tbaa !13
  %6273 = add i64 %6272, 100
  store i64 %6273, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6274 = load i64, ptr %6260, align 8, !tbaa !38
  %6275 = load i64, ptr %6268, align 8, !tbaa !33
  store i64 %6275, ptr %6260, align 8, !tbaa !38
  store i64 %6274, ptr %6268, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6276 = load i64, ptr @simtime, align 8, !tbaa !13
  %6277 = add i64 %6276, 100
  store i64 %6277, ptr @simtime, align 8, !tbaa !13
  %6278 = load i64, ptr %6268, align 8, !tbaa !33
  %6279 = xor i64 %6278, 68719476735
  store i64 %6279, ptr %6268, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6280 = load i64, ptr @simtime, align 8, !tbaa !13
  %6281 = add i64 %6280, 100
  store i64 %6281, ptr @simtime, align 8, !tbaa !13
  %6282 = load i64, ptr %6268, align 8, !tbaa !33
  %6283 = load i64, ptr %6260, align 8, !tbaa !38
  %6284 = and i64 %6283, %6282
  store i64 %6284, ptr %6260, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6285 = load i64, ptr @simtime, align 8, !tbaa !13
  %6286 = add i64 %6285, 100
  store i64 %6286, ptr @simtime, align 8, !tbaa !13
  %6287 = load i64, ptr %6268, align 8, !tbaa !33
  %6288 = xor i64 %6287, 68719476735
  store i64 %6288, ptr %6268, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6289 = load i64, ptr @simtime, align 8, !tbaa !13
  %6290 = add i64 %6289, 100
  store i64 %6290, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6291 = load i64, ptr @simtime, align 8, !tbaa !13
  %6292 = add i64 %6291, 200
  store i64 %6292, ptr @simtime, align 8, !tbaa !13
  %6293 = load i64, ptr %6268, align 8, !tbaa !33
  %6294 = icmp eq i64 %6293, 0
  br i1 %6294, label %6295, label %6300

6295:                                             ; preds = %6259
  %6296 = getelementptr inbounds i8, ptr %0, i64 88
  %6297 = load i32, ptr %6296, align 8, !tbaa !31
  %6298 = add i32 %6297, 1
  %6299 = and i32 %6298, 262143
  store i32 %6299, ptr %6296, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6611 = load i64, ptr %6268, align 8, !tbaa !33
  br label %6300

6300:                                             ; preds = %6295, %6259
  %6301 = phi i64 [ %.pre6611, %6295 ], [ %6293, %6259 ]
  %6302 = load i64, ptr %6260, align 8, !tbaa !38
  store i64 %6301, ptr %6260, align 8, !tbaa !38
  store i64 %6302, ptr %6268, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6303 = load i64, ptr @simtime, align 8, !tbaa !13
  %6304 = add i64 %6303, 200
  store i64 %6304, ptr @simtime, align 8, !tbaa !13
  %6305 = load i64, ptr %6268, align 8, !tbaa !33
  store i64 %6305, ptr %6260, align 8, !tbaa !38
  br label %8570

6306:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6307 = load i64, ptr @simtime, align 8, !tbaa !13
  %6308 = add i64 %6307, 100
  store i64 %6308, ptr @simtime, align 8, !tbaa !13
  %6309 = getelementptr inbounds i8, ptr %0, i64 40
  %6310 = load i64, ptr %6309, align 8, !tbaa !33
  %6311 = getelementptr inbounds i8, ptr %0, i64 64
  %6312 = load i64, ptr %6311, align 8, !tbaa !38
  %6313 = and i64 %6312, %6310
  store i64 %6313, ptr %6311, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6314 = load i64, ptr @simtime, align 8, !tbaa !13
  %6315 = add i64 %6314, 100
  store i64 %6315, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6316 = load i64, ptr %6311, align 8, !tbaa !38
  %6317 = load i64, ptr %6309, align 8, !tbaa !33
  store i64 %6317, ptr %6311, align 8, !tbaa !38
  store i64 %6316, ptr %6309, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6318 = load i64, ptr @simtime, align 8, !tbaa !13
  %6319 = add i64 %6318, 100
  store i64 %6319, ptr @simtime, align 8, !tbaa !13
  %6320 = load i64, ptr %6309, align 8, !tbaa !33
  %6321 = xor i64 %6320, 68719476735
  store i64 %6321, ptr %6309, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6322 = load i64, ptr @simtime, align 8, !tbaa !13
  %6323 = add i64 %6322, 100
  store i64 %6323, ptr @simtime, align 8, !tbaa !13
  %6324 = load i64, ptr %6309, align 8, !tbaa !33
  %6325 = load i64, ptr %6311, align 8, !tbaa !38
  %6326 = and i64 %6325, %6324
  store i64 %6326, ptr %6311, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6327 = load i64, ptr @simtime, align 8, !tbaa !13
  %6328 = add i64 %6327, 100
  store i64 %6328, ptr @simtime, align 8, !tbaa !13
  %6329 = load i64, ptr %6309, align 8, !tbaa !33
  %6330 = xor i64 %6329, 68719476735
  store i64 %6330, ptr %6309, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6331 = load i64, ptr @simtime, align 8, !tbaa !13
  %6332 = add i64 %6331, 100
  store i64 %6332, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6333 = load i64, ptr @simtime, align 8, !tbaa !13
  %6334 = add i64 %6333, 200
  store i64 %6334, ptr @simtime, align 8, !tbaa !13
  %6335 = getelementptr inbounds i8, ptr %0, i64 88
  %6336 = load i32, ptr %6335, align 8, !tbaa !31
  %6337 = add i32 %6336, 1
  %6338 = and i32 %6337, 262143
  store i32 %6338, ptr %6335, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %6339 = load i64, ptr %6311, align 8, !tbaa !38
  %6340 = load i64, ptr %6309, align 8, !tbaa !33
  store i64 %6340, ptr %6311, align 8, !tbaa !38
  store i64 %6339, ptr %6309, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6341 = load i64, ptr @simtime, align 8, !tbaa !13
  %6342 = add i64 %6341, 200
  store i64 %6342, ptr @simtime, align 8, !tbaa !13
  br label %8570

6343:                                             ; preds = %._crit_edge
  %6344 = getelementptr inbounds i8, ptr %0, i64 64
  %6345 = load i64, ptr %6344, align 8, !tbaa !38
  %6346 = shl i64 %6345, 18
  %6347 = lshr i64 %6345, 18
  %6348 = or i64 %6346, %6347
  %6349 = and i64 %6348, 68719476735
  store i64 %6349, ptr %6344, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6350 = load i64, ptr @simtime, align 8, !tbaa !13
  %6351 = add i64 %6350, 100
  store i64 %6351, ptr @simtime, align 8, !tbaa !13
  %6352 = getelementptr inbounds i8, ptr %0, i64 40
  %6353 = load i64, ptr %6352, align 8, !tbaa !33
  %6354 = load i64, ptr %6344, align 8, !tbaa !38
  %6355 = and i64 %6354, %6353
  store i64 %6355, ptr %6344, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6356 = load i64, ptr @simtime, align 8, !tbaa !13
  %6357 = add i64 %6356, 100
  store i64 %6357, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6358 = load i64, ptr %6344, align 8, !tbaa !38
  %6359 = load i64, ptr %6352, align 8, !tbaa !33
  store i64 %6359, ptr %6344, align 8, !tbaa !38
  store i64 %6358, ptr %6352, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6360 = load i64, ptr @simtime, align 8, !tbaa !13
  %6361 = add i64 %6360, 100
  store i64 %6361, ptr @simtime, align 8, !tbaa !13
  %6362 = load i64, ptr %6352, align 8, !tbaa !33
  %6363 = xor i64 %6362, 68719476735
  store i64 %6363, ptr %6352, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6364 = load i64, ptr @simtime, align 8, !tbaa !13
  %6365 = add i64 %6364, 100
  store i64 %6365, ptr @simtime, align 8, !tbaa !13
  %6366 = load i64, ptr %6352, align 8, !tbaa !33
  %6367 = load i64, ptr %6344, align 8, !tbaa !38
  %6368 = and i64 %6367, %6366
  store i64 %6368, ptr %6344, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6369 = load i64, ptr @simtime, align 8, !tbaa !13
  %6370 = add i64 %6369, 100
  store i64 %6370, ptr @simtime, align 8, !tbaa !13
  %6371 = load i64, ptr %6352, align 8, !tbaa !33
  %6372 = xor i64 %6371, 68719476735
  store i64 %6372, ptr %6352, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6373 = load i64, ptr @simtime, align 8, !tbaa !13
  %6374 = add i64 %6373, 100
  store i64 %6374, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6375 = load i64, ptr @simtime, align 8, !tbaa !13
  %6376 = add i64 %6375, 200
  store i64 %6376, ptr @simtime, align 8, !tbaa !13
  %6377 = getelementptr inbounds i8, ptr %0, i64 88
  %6378 = load i32, ptr %6377, align 8, !tbaa !31
  %6379 = add i32 %6378, 1
  %6380 = and i32 %6379, 262143
  store i32 %6380, ptr %6377, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %6381 = load i64, ptr %6344, align 8, !tbaa !38
  %6382 = load i64, ptr %6352, align 8, !tbaa !33
  store i64 %6382, ptr %6344, align 8, !tbaa !38
  store i64 %6381, ptr %6352, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6383 = load i64, ptr @simtime, align 8, !tbaa !13
  %6384 = add i64 %6383, 200
  store i64 %6384, ptr @simtime, align 8, !tbaa !13
  br label %8570

6385:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6386 = load i64, ptr @simtime, align 8, !tbaa !13
  %6387 = add i64 %6386, 100
  store i64 %6387, ptr @simtime, align 8, !tbaa !13
  %6388 = getelementptr inbounds i8, ptr %0, i64 40
  %6389 = load i64, ptr %6388, align 8, !tbaa !33
  %6390 = getelementptr inbounds i8, ptr %0, i64 64
  %6391 = load i64, ptr %6390, align 8, !tbaa !38
  %6392 = and i64 %6391, %6389
  store i64 %6392, ptr %6390, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6393 = load i64, ptr @simtime, align 8, !tbaa !13
  %6394 = add i64 %6393, 100
  store i64 %6394, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6395 = load i64, ptr %6390, align 8, !tbaa !38
  %6396 = load i64, ptr %6388, align 8, !tbaa !33
  store i64 %6396, ptr %6390, align 8, !tbaa !38
  store i64 %6395, ptr %6388, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6397 = load i64, ptr @simtime, align 8, !tbaa !13
  %6398 = add i64 %6397, 100
  store i64 %6398, ptr @simtime, align 8, !tbaa !13
  %6399 = load i64, ptr %6388, align 8, !tbaa !33
  %6400 = xor i64 %6399, 68719476735
  store i64 %6400, ptr %6388, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6401 = load i64, ptr @simtime, align 8, !tbaa !13
  %6402 = add i64 %6401, 100
  store i64 %6402, ptr @simtime, align 8, !tbaa !13
  %6403 = load i64, ptr %6388, align 8, !tbaa !33
  %6404 = load i64, ptr %6390, align 8, !tbaa !38
  %6405 = and i64 %6404, %6403
  store i64 %6405, ptr %6390, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6406 = load i64, ptr @simtime, align 8, !tbaa !13
  %6407 = add i64 %6406, 100
  store i64 %6407, ptr @simtime, align 8, !tbaa !13
  %6408 = load i64, ptr %6388, align 8, !tbaa !33
  %6409 = xor i64 %6408, 68719476735
  store i64 %6409, ptr %6388, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6410 = load i64, ptr @simtime, align 8, !tbaa !13
  %6411 = add i64 %6410, 100
  store i64 %6411, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6412 = load i64, ptr @simtime, align 8, !tbaa !13
  %6413 = add i64 %6412, 200
  store i64 %6413, ptr @simtime, align 8, !tbaa !13
  %6414 = load i64, ptr %6388, align 8, !tbaa !33
  %6415 = icmp eq i64 %6414, 0
  br i1 %6415, label %6421, label %6416

6416:                                             ; preds = %6385
  %6417 = getelementptr inbounds i8, ptr %0, i64 88
  %6418 = load i32, ptr %6417, align 8, !tbaa !31
  %6419 = add i32 %6418, 1
  %6420 = and i32 %6419, 262143
  store i32 %6420, ptr %6417, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6610 = load i64, ptr %6388, align 8, !tbaa !33
  br label %6421

6421:                                             ; preds = %6416, %6385
  %6422 = phi i64 [ %.pre6610, %6416 ], [ 0, %6385 ]
  %6423 = load i64, ptr %6390, align 8, !tbaa !38
  store i64 %6422, ptr %6390, align 8, !tbaa !38
  store i64 %6423, ptr %6388, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6424 = load i64, ptr @simtime, align 8, !tbaa !13
  %6425 = add i64 %6424, 200
  store i64 %6425, ptr @simtime, align 8, !tbaa !13
  %6426 = load i64, ptr %6388, align 8, !tbaa !33
  store i64 %6426, ptr %6390, align 8, !tbaa !38
  br label %8570

6427:                                             ; preds = %._crit_edge
  %6428 = getelementptr inbounds i8, ptr %0, i64 64
  %6429 = load i64, ptr %6428, align 8, !tbaa !38
  %6430 = shl i64 %6429, 18
  %6431 = lshr i64 %6429, 18
  %6432 = or i64 %6430, %6431
  %6433 = and i64 %6432, 68719476735
  store i64 %6433, ptr %6428, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6434 = load i64, ptr @simtime, align 8, !tbaa !13
  %6435 = add i64 %6434, 100
  store i64 %6435, ptr @simtime, align 8, !tbaa !13
  %6436 = getelementptr inbounds i8, ptr %0, i64 40
  %6437 = load i64, ptr %6436, align 8, !tbaa !33
  %6438 = load i64, ptr %6428, align 8, !tbaa !38
  %6439 = and i64 %6438, %6437
  store i64 %6439, ptr %6428, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6440 = load i64, ptr @simtime, align 8, !tbaa !13
  %6441 = add i64 %6440, 100
  store i64 %6441, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6442 = load i64, ptr %6428, align 8, !tbaa !38
  %6443 = load i64, ptr %6436, align 8, !tbaa !33
  store i64 %6443, ptr %6428, align 8, !tbaa !38
  store i64 %6442, ptr %6436, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6444 = load i64, ptr @simtime, align 8, !tbaa !13
  %6445 = add i64 %6444, 100
  store i64 %6445, ptr @simtime, align 8, !tbaa !13
  %6446 = load i64, ptr %6436, align 8, !tbaa !33
  %6447 = xor i64 %6446, 68719476735
  store i64 %6447, ptr %6436, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6448 = load i64, ptr @simtime, align 8, !tbaa !13
  %6449 = add i64 %6448, 100
  store i64 %6449, ptr @simtime, align 8, !tbaa !13
  %6450 = load i64, ptr %6436, align 8, !tbaa !33
  %6451 = load i64, ptr %6428, align 8, !tbaa !38
  %6452 = and i64 %6451, %6450
  store i64 %6452, ptr %6428, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6453 = load i64, ptr @simtime, align 8, !tbaa !13
  %6454 = add i64 %6453, 100
  store i64 %6454, ptr @simtime, align 8, !tbaa !13
  %6455 = load i64, ptr %6436, align 8, !tbaa !33
  %6456 = xor i64 %6455, 68719476735
  store i64 %6456, ptr %6436, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6457 = load i64, ptr @simtime, align 8, !tbaa !13
  %6458 = add i64 %6457, 100
  store i64 %6458, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6459 = load i64, ptr @simtime, align 8, !tbaa !13
  %6460 = add i64 %6459, 200
  store i64 %6460, ptr @simtime, align 8, !tbaa !13
  %6461 = load i64, ptr %6436, align 8, !tbaa !33
  %6462 = icmp eq i64 %6461, 0
  br i1 %6462, label %6468, label %6463

6463:                                             ; preds = %6427
  %6464 = getelementptr inbounds i8, ptr %0, i64 88
  %6465 = load i32, ptr %6464, align 8, !tbaa !31
  %6466 = add i32 %6465, 1
  %6467 = and i32 %6466, 262143
  store i32 %6467, ptr %6464, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6609 = load i64, ptr %6436, align 8, !tbaa !33
  br label %6468

6468:                                             ; preds = %6463, %6427
  %6469 = phi i64 [ %.pre6609, %6463 ], [ 0, %6427 ]
  %6470 = load i64, ptr %6428, align 8, !tbaa !38
  store i64 %6469, ptr %6428, align 8, !tbaa !38
  store i64 %6470, ptr %6436, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6471 = load i64, ptr @simtime, align 8, !tbaa !13
  %6472 = add i64 %6471, 200
  store i64 %6472, ptr @simtime, align 8, !tbaa !13
  %6473 = load i64, ptr %6436, align 8, !tbaa !33
  store i64 %6473, ptr %6428, align 8, !tbaa !38
  br label %8570

6474:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6475 = load i64, ptr @simtime, align 8, !tbaa !13
  %6476 = add i64 %6475, 100
  store i64 %6476, ptr @simtime, align 8, !tbaa !13
  %6477 = getelementptr inbounds i8, ptr %0, i64 40
  %6478 = load i64, ptr %6477, align 8, !tbaa !33
  %6479 = getelementptr inbounds i8, ptr %0, i64 64
  %6480 = load i64, ptr %6479, align 8, !tbaa !38
  %6481 = and i64 %6480, %6478
  store i64 %6481, ptr %6479, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6482 = load i64, ptr @simtime, align 8, !tbaa !13
  %6483 = add i64 %6482, 100
  store i64 %6483, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6484 = load i64, ptr %6479, align 8, !tbaa !38
  %6485 = load i64, ptr %6477, align 8, !tbaa !33
  store i64 %6485, ptr %6479, align 8, !tbaa !38
  store i64 %6484, ptr %6477, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6486 = load i64, ptr @simtime, align 8, !tbaa !13
  %6487 = add i64 %6486, 100
  store i64 %6487, ptr @simtime, align 8, !tbaa !13
  %6488 = load i64, ptr %6477, align 8, !tbaa !33
  %6489 = xor i64 %6488, 68719476735
  store i64 %6489, ptr %6477, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6490 = load i64, ptr @simtime, align 8, !tbaa !13
  %6491 = add i64 %6490, 100
  store i64 %6491, ptr @simtime, align 8, !tbaa !13
  %6492 = load i64, ptr %6477, align 8, !tbaa !33
  %6493 = load i64, ptr %6479, align 8, !tbaa !38
  %6494 = and i64 %6493, %6492
  store i64 %6494, ptr %6479, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6495 = load i64, ptr @simtime, align 8, !tbaa !13
  %6496 = add i64 %6495, 100
  store i64 %6496, ptr @simtime, align 8, !tbaa !13
  %6497 = load i64, ptr %6477, align 8, !tbaa !33
  %6498 = xor i64 %6497, 68719476735
  store i64 %6498, ptr %6477, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6499 = load i64, ptr @simtime, align 8, !tbaa !13
  %6500 = add i64 %6499, 100
  store i64 %6500, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6501 = load i64, ptr @simtime, align 8, !tbaa !13
  %6502 = add i64 %6501, 200
  store i64 %6502, ptr @simtime, align 8, !tbaa !13
  %6503 = load i64, ptr %6479, align 8, !tbaa !38
  %6504 = load i64, ptr %6477, align 8, !tbaa !33
  store i64 %6504, ptr %6479, align 8, !tbaa !38
  store i64 %6503, ptr %6477, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6505 = load i64, ptr @simtime, align 8, !tbaa !13
  %6506 = add i64 %6505, 200
  store i64 %6506, ptr @simtime, align 8, !tbaa !13
  br label %8570

6507:                                             ; preds = %._crit_edge
  %6508 = getelementptr inbounds i8, ptr %0, i64 64
  %6509 = load i64, ptr %6508, align 8, !tbaa !38
  %6510 = shl i64 %6509, 18
  %6511 = lshr i64 %6509, 18
  %6512 = or i64 %6510, %6511
  %6513 = and i64 %6512, 68719476735
  store i64 %6513, ptr %6508, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6514 = load i64, ptr @simtime, align 8, !tbaa !13
  %6515 = add i64 %6514, 100
  store i64 %6515, ptr @simtime, align 8, !tbaa !13
  %6516 = getelementptr inbounds i8, ptr %0, i64 40
  %6517 = load i64, ptr %6516, align 8, !tbaa !33
  %6518 = load i64, ptr %6508, align 8, !tbaa !38
  %6519 = and i64 %6518, %6517
  store i64 %6519, ptr %6508, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6520 = load i64, ptr @simtime, align 8, !tbaa !13
  %6521 = add i64 %6520, 100
  store i64 %6521, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6522 = load i64, ptr %6508, align 8, !tbaa !38
  %6523 = load i64, ptr %6516, align 8, !tbaa !33
  store i64 %6523, ptr %6508, align 8, !tbaa !38
  store i64 %6522, ptr %6516, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6524 = load i64, ptr @simtime, align 8, !tbaa !13
  %6525 = add i64 %6524, 100
  store i64 %6525, ptr @simtime, align 8, !tbaa !13
  %6526 = load i64, ptr %6516, align 8, !tbaa !33
  %6527 = xor i64 %6526, 68719476735
  store i64 %6527, ptr %6516, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6528 = load i64, ptr @simtime, align 8, !tbaa !13
  %6529 = add i64 %6528, 100
  store i64 %6529, ptr @simtime, align 8, !tbaa !13
  %6530 = load i64, ptr %6516, align 8, !tbaa !33
  %6531 = load i64, ptr %6508, align 8, !tbaa !38
  %6532 = and i64 %6531, %6530
  store i64 %6532, ptr %6508, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6533 = load i64, ptr @simtime, align 8, !tbaa !13
  %6534 = add i64 %6533, 100
  store i64 %6534, ptr @simtime, align 8, !tbaa !13
  %6535 = load i64, ptr %6516, align 8, !tbaa !33
  %6536 = xor i64 %6535, 68719476735
  store i64 %6536, ptr %6516, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6537 = load i64, ptr @simtime, align 8, !tbaa !13
  %6538 = add i64 %6537, 100
  store i64 %6538, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6539 = load i64, ptr @simtime, align 8, !tbaa !13
  %6540 = add i64 %6539, 200
  store i64 %6540, ptr @simtime, align 8, !tbaa !13
  %6541 = load i64, ptr %6508, align 8, !tbaa !38
  %6542 = load i64, ptr %6516, align 8, !tbaa !33
  store i64 %6542, ptr %6508, align 8, !tbaa !38
  store i64 %6541, ptr %6516, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6543 = load i64, ptr @simtime, align 8, !tbaa !13
  %6544 = add i64 %6543, 200
  store i64 %6544, ptr @simtime, align 8, !tbaa !13
  br label %8570

6545:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6546 = load i64, ptr @simtime, align 8, !tbaa !13
  %6547 = add i64 %6546, 100
  store i64 %6547, ptr @simtime, align 8, !tbaa !13
  %6548 = getelementptr inbounds i8, ptr %0, i64 40
  %6549 = load i64, ptr %6548, align 8, !tbaa !33
  %6550 = getelementptr inbounds i8, ptr %0, i64 64
  %6551 = load i64, ptr %6550, align 8, !tbaa !38
  %6552 = and i64 %6551, %6549
  store i64 %6552, ptr %6550, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6553 = load i64, ptr @simtime, align 8, !tbaa !13
  %6554 = add i64 %6553, 100
  store i64 %6554, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6555 = load i64, ptr %6550, align 8, !tbaa !38
  %6556 = load i64, ptr %6548, align 8, !tbaa !33
  store i64 %6556, ptr %6550, align 8, !tbaa !38
  store i64 %6555, ptr %6548, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6557 = load i64, ptr @simtime, align 8, !tbaa !13
  %6558 = add i64 %6557, 100
  store i64 %6558, ptr @simtime, align 8, !tbaa !13
  %6559 = load i64, ptr %6548, align 8, !tbaa !33
  %6560 = xor i64 %6559, 68719476735
  store i64 %6560, ptr %6548, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6561 = load i64, ptr @simtime, align 8, !tbaa !13
  %6562 = add i64 %6561, 100
  store i64 %6562, ptr @simtime, align 8, !tbaa !13
  %6563 = load i64, ptr %6548, align 8, !tbaa !33
  %6564 = load i64, ptr %6550, align 8, !tbaa !38
  %6565 = and i64 %6564, %6563
  store i64 %6565, ptr %6550, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6566 = load i64, ptr @simtime, align 8, !tbaa !13
  %6567 = add i64 %6566, 100
  store i64 %6567, ptr @simtime, align 8, !tbaa !13
  %6568 = load i64, ptr %6548, align 8, !tbaa !33
  %6569 = xor i64 %6568, 68719476735
  store i64 %6569, ptr %6548, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6570 = load i64, ptr @simtime, align 8, !tbaa !13
  %6571 = add i64 %6570, 100
  store i64 %6571, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6572 = load i64, ptr @simtime, align 8, !tbaa !13
  %6573 = add i64 %6572, 200
  store i64 %6573, ptr @simtime, align 8, !tbaa !13
  %6574 = load i64, ptr %6548, align 8, !tbaa !33
  %6575 = icmp eq i64 %6574, 0
  br i1 %6575, label %6576, label %6581

6576:                                             ; preds = %6545
  %6577 = getelementptr inbounds i8, ptr %0, i64 88
  %6578 = load i32, ptr %6577, align 8, !tbaa !31
  %6579 = add i32 %6578, 1
  %6580 = and i32 %6579, 262143
  store i32 %6580, ptr %6577, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6608 = load i64, ptr %6548, align 8, !tbaa !33
  br label %6581

6581:                                             ; preds = %6576, %6545
  %6582 = phi i64 [ %.pre6608, %6576 ], [ %6574, %6545 ]
  %6583 = load i64, ptr %6550, align 8, !tbaa !38
  store i64 %6582, ptr %6550, align 8, !tbaa !38
  store i64 %6583, ptr %6548, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6584 = load i64, ptr @simtime, align 8, !tbaa !13
  %6585 = add i64 %6584, 200
  store i64 %6585, ptr @simtime, align 8, !tbaa !13
  %6586 = load i64, ptr %6548, align 8, !tbaa !33
  store i64 %6586, ptr %6550, align 8, !tbaa !38
  br label %8570

6587:                                             ; preds = %._crit_edge
  %6588 = getelementptr inbounds i8, ptr %0, i64 64
  %6589 = load i64, ptr %6588, align 8, !tbaa !38
  %6590 = shl i64 %6589, 18
  %6591 = lshr i64 %6589, 18
  %6592 = or i64 %6590, %6591
  %6593 = and i64 %6592, 68719476735
  store i64 %6593, ptr %6588, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6594 = load i64, ptr @simtime, align 8, !tbaa !13
  %6595 = add i64 %6594, 100
  store i64 %6595, ptr @simtime, align 8, !tbaa !13
  %6596 = getelementptr inbounds i8, ptr %0, i64 40
  %6597 = load i64, ptr %6596, align 8, !tbaa !33
  %6598 = load i64, ptr %6588, align 8, !tbaa !38
  %6599 = and i64 %6598, %6597
  store i64 %6599, ptr %6588, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6600 = load i64, ptr @simtime, align 8, !tbaa !13
  %6601 = add i64 %6600, 100
  store i64 %6601, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6602 = load i64, ptr %6588, align 8, !tbaa !38
  %6603 = load i64, ptr %6596, align 8, !tbaa !33
  store i64 %6603, ptr %6588, align 8, !tbaa !38
  store i64 %6602, ptr %6596, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6604 = load i64, ptr @simtime, align 8, !tbaa !13
  %6605 = add i64 %6604, 100
  store i64 %6605, ptr @simtime, align 8, !tbaa !13
  %6606 = load i64, ptr %6596, align 8, !tbaa !33
  %6607 = xor i64 %6606, 68719476735
  store i64 %6607, ptr %6596, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6608 = load i64, ptr @simtime, align 8, !tbaa !13
  %6609 = add i64 %6608, 100
  store i64 %6609, ptr @simtime, align 8, !tbaa !13
  %6610 = load i64, ptr %6596, align 8, !tbaa !33
  %6611 = load i64, ptr %6588, align 8, !tbaa !38
  %6612 = and i64 %6611, %6610
  store i64 %6612, ptr %6588, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6613 = load i64, ptr @simtime, align 8, !tbaa !13
  %6614 = add i64 %6613, 100
  store i64 %6614, ptr @simtime, align 8, !tbaa !13
  %6615 = load i64, ptr %6596, align 8, !tbaa !33
  %6616 = xor i64 %6615, 68719476735
  store i64 %6616, ptr %6596, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6617 = load i64, ptr @simtime, align 8, !tbaa !13
  %6618 = add i64 %6617, 100
  store i64 %6618, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6619 = load i64, ptr @simtime, align 8, !tbaa !13
  %6620 = add i64 %6619, 200
  store i64 %6620, ptr @simtime, align 8, !tbaa !13
  %6621 = load i64, ptr %6596, align 8, !tbaa !33
  %6622 = icmp eq i64 %6621, 0
  br i1 %6622, label %6623, label %6628

6623:                                             ; preds = %6587
  %6624 = getelementptr inbounds i8, ptr %0, i64 88
  %6625 = load i32, ptr %6624, align 8, !tbaa !31
  %6626 = add i32 %6625, 1
  %6627 = and i32 %6626, 262143
  store i32 %6627, ptr %6624, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6607 = load i64, ptr %6596, align 8, !tbaa !33
  br label %6628

6628:                                             ; preds = %6623, %6587
  %6629 = phi i64 [ %.pre6607, %6623 ], [ %6621, %6587 ]
  %6630 = load i64, ptr %6588, align 8, !tbaa !38
  store i64 %6629, ptr %6588, align 8, !tbaa !38
  store i64 %6630, ptr %6596, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6631 = load i64, ptr @simtime, align 8, !tbaa !13
  %6632 = add i64 %6631, 200
  store i64 %6632, ptr @simtime, align 8, !tbaa !13
  %6633 = load i64, ptr %6596, align 8, !tbaa !33
  store i64 %6633, ptr %6588, align 8, !tbaa !38
  br label %8570

6634:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6635 = load i64, ptr @simtime, align 8, !tbaa !13
  %6636 = add i64 %6635, 100
  store i64 %6636, ptr @simtime, align 8, !tbaa !13
  %6637 = getelementptr inbounds i8, ptr %0, i64 40
  %6638 = load i64, ptr %6637, align 8, !tbaa !33
  %6639 = getelementptr inbounds i8, ptr %0, i64 64
  %6640 = load i64, ptr %6639, align 8, !tbaa !38
  %6641 = and i64 %6640, %6638
  store i64 %6641, ptr %6639, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6642 = load i64, ptr @simtime, align 8, !tbaa !13
  %6643 = add i64 %6642, 100
  store i64 %6643, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6644 = load i64, ptr %6639, align 8, !tbaa !38
  %6645 = load i64, ptr %6637, align 8, !tbaa !33
  store i64 %6645, ptr %6639, align 8, !tbaa !38
  store i64 %6644, ptr %6637, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6646 = load i64, ptr @simtime, align 8, !tbaa !13
  %6647 = add i64 %6646, 100
  store i64 %6647, ptr @simtime, align 8, !tbaa !13
  %6648 = load i64, ptr %6637, align 8, !tbaa !33
  %6649 = xor i64 %6648, 68719476735
  store i64 %6649, ptr %6637, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6650 = load i64, ptr @simtime, align 8, !tbaa !13
  %6651 = add i64 %6650, 100
  store i64 %6651, ptr @simtime, align 8, !tbaa !13
  %6652 = load i64, ptr %6637, align 8, !tbaa !33
  %6653 = load i64, ptr %6639, align 8, !tbaa !38
  %6654 = and i64 %6653, %6652
  store i64 %6654, ptr %6639, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6655 = load i64, ptr @simtime, align 8, !tbaa !13
  %6656 = add i64 %6655, 100
  store i64 %6656, ptr @simtime, align 8, !tbaa !13
  %6657 = load i64, ptr %6637, align 8, !tbaa !33
  %6658 = xor i64 %6657, 68719476735
  store i64 %6658, ptr %6637, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6659 = load i64, ptr @simtime, align 8, !tbaa !13
  %6660 = add i64 %6659, 100
  store i64 %6660, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6661 = load i64, ptr @simtime, align 8, !tbaa !13
  %6662 = add i64 %6661, 200
  store i64 %6662, ptr @simtime, align 8, !tbaa !13
  %6663 = getelementptr inbounds i8, ptr %0, i64 88
  %6664 = load i32, ptr %6663, align 8, !tbaa !31
  %6665 = add i32 %6664, 1
  %6666 = and i32 %6665, 262143
  store i32 %6666, ptr %6663, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %6667 = load i64, ptr %6639, align 8, !tbaa !38
  %6668 = load i64, ptr %6637, align 8, !tbaa !33
  store i64 %6668, ptr %6639, align 8, !tbaa !38
  store i64 %6667, ptr %6637, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6669 = load i64, ptr @simtime, align 8, !tbaa !13
  %6670 = add i64 %6669, 200
  store i64 %6670, ptr @simtime, align 8, !tbaa !13
  br label %8570

6671:                                             ; preds = %._crit_edge
  %6672 = getelementptr inbounds i8, ptr %0, i64 64
  %6673 = load i64, ptr %6672, align 8, !tbaa !38
  %6674 = shl i64 %6673, 18
  %6675 = lshr i64 %6673, 18
  %6676 = or i64 %6674, %6675
  %6677 = and i64 %6676, 68719476735
  store i64 %6677, ptr %6672, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6678 = load i64, ptr @simtime, align 8, !tbaa !13
  %6679 = add i64 %6678, 100
  store i64 %6679, ptr @simtime, align 8, !tbaa !13
  %6680 = getelementptr inbounds i8, ptr %0, i64 40
  %6681 = load i64, ptr %6680, align 8, !tbaa !33
  %6682 = load i64, ptr %6672, align 8, !tbaa !38
  %6683 = and i64 %6682, %6681
  store i64 %6683, ptr %6672, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6684 = load i64, ptr @simtime, align 8, !tbaa !13
  %6685 = add i64 %6684, 100
  store i64 %6685, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6686 = load i64, ptr %6672, align 8, !tbaa !38
  %6687 = load i64, ptr %6680, align 8, !tbaa !33
  store i64 %6687, ptr %6672, align 8, !tbaa !38
  store i64 %6686, ptr %6680, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6688 = load i64, ptr @simtime, align 8, !tbaa !13
  %6689 = add i64 %6688, 100
  store i64 %6689, ptr @simtime, align 8, !tbaa !13
  %6690 = load i64, ptr %6680, align 8, !tbaa !33
  %6691 = xor i64 %6690, 68719476735
  store i64 %6691, ptr %6680, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6692 = load i64, ptr @simtime, align 8, !tbaa !13
  %6693 = add i64 %6692, 100
  store i64 %6693, ptr @simtime, align 8, !tbaa !13
  %6694 = load i64, ptr %6680, align 8, !tbaa !33
  %6695 = load i64, ptr %6672, align 8, !tbaa !38
  %6696 = and i64 %6695, %6694
  store i64 %6696, ptr %6672, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6697 = load i64, ptr @simtime, align 8, !tbaa !13
  %6698 = add i64 %6697, 100
  store i64 %6698, ptr @simtime, align 8, !tbaa !13
  %6699 = load i64, ptr %6680, align 8, !tbaa !33
  %6700 = xor i64 %6699, 68719476735
  store i64 %6700, ptr %6680, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6701 = load i64, ptr @simtime, align 8, !tbaa !13
  %6702 = add i64 %6701, 100
  store i64 %6702, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6703 = load i64, ptr @simtime, align 8, !tbaa !13
  %6704 = add i64 %6703, 200
  store i64 %6704, ptr @simtime, align 8, !tbaa !13
  %6705 = getelementptr inbounds i8, ptr %0, i64 88
  %6706 = load i32, ptr %6705, align 8, !tbaa !31
  %6707 = add i32 %6706, 1
  %6708 = and i32 %6707, 262143
  store i32 %6708, ptr %6705, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %6709 = load i64, ptr %6672, align 8, !tbaa !38
  %6710 = load i64, ptr %6680, align 8, !tbaa !33
  store i64 %6710, ptr %6672, align 8, !tbaa !38
  store i64 %6709, ptr %6680, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6711 = load i64, ptr @simtime, align 8, !tbaa !13
  %6712 = add i64 %6711, 200
  store i64 %6712, ptr @simtime, align 8, !tbaa !13
  br label %8570

6713:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6714 = load i64, ptr @simtime, align 8, !tbaa !13
  %6715 = add i64 %6714, 100
  store i64 %6715, ptr @simtime, align 8, !tbaa !13
  %6716 = getelementptr inbounds i8, ptr %0, i64 40
  %6717 = load i64, ptr %6716, align 8, !tbaa !33
  %6718 = getelementptr inbounds i8, ptr %0, i64 64
  %6719 = load i64, ptr %6718, align 8, !tbaa !38
  %6720 = and i64 %6719, %6717
  store i64 %6720, ptr %6718, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6721 = load i64, ptr @simtime, align 8, !tbaa !13
  %6722 = add i64 %6721, 100
  store i64 %6722, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6723 = load i64, ptr %6718, align 8, !tbaa !38
  %6724 = load i64, ptr %6716, align 8, !tbaa !33
  store i64 %6724, ptr %6718, align 8, !tbaa !38
  store i64 %6723, ptr %6716, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6725 = load i64, ptr @simtime, align 8, !tbaa !13
  %6726 = add i64 %6725, 100
  store i64 %6726, ptr @simtime, align 8, !tbaa !13
  %6727 = load i64, ptr %6716, align 8, !tbaa !33
  %6728 = xor i64 %6727, 68719476735
  store i64 %6728, ptr %6716, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6729 = load i64, ptr @simtime, align 8, !tbaa !13
  %6730 = add i64 %6729, 100
  store i64 %6730, ptr @simtime, align 8, !tbaa !13
  %6731 = load i64, ptr %6716, align 8, !tbaa !33
  %6732 = load i64, ptr %6718, align 8, !tbaa !38
  %6733 = and i64 %6732, %6731
  store i64 %6733, ptr %6718, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6734 = load i64, ptr @simtime, align 8, !tbaa !13
  %6735 = add i64 %6734, 100
  store i64 %6735, ptr @simtime, align 8, !tbaa !13
  %6736 = load i64, ptr %6716, align 8, !tbaa !33
  %6737 = xor i64 %6736, 68719476735
  store i64 %6737, ptr %6716, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6738 = load i64, ptr @simtime, align 8, !tbaa !13
  %6739 = add i64 %6738, 100
  store i64 %6739, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6740 = load i64, ptr @simtime, align 8, !tbaa !13
  %6741 = add i64 %6740, 200
  store i64 %6741, ptr @simtime, align 8, !tbaa !13
  %6742 = load i64, ptr %6716, align 8, !tbaa !33
  %6743 = icmp eq i64 %6742, 0
  br i1 %6743, label %6749, label %6744

6744:                                             ; preds = %6713
  %6745 = getelementptr inbounds i8, ptr %0, i64 88
  %6746 = load i32, ptr %6745, align 8, !tbaa !31
  %6747 = add i32 %6746, 1
  %6748 = and i32 %6747, 262143
  store i32 %6748, ptr %6745, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6606 = load i64, ptr %6716, align 8, !tbaa !33
  br label %6749

6749:                                             ; preds = %6744, %6713
  %6750 = phi i64 [ %.pre6606, %6744 ], [ 0, %6713 ]
  %6751 = load i64, ptr %6718, align 8, !tbaa !38
  store i64 %6750, ptr %6718, align 8, !tbaa !38
  store i64 %6751, ptr %6716, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6752 = load i64, ptr @simtime, align 8, !tbaa !13
  %6753 = add i64 %6752, 200
  store i64 %6753, ptr @simtime, align 8, !tbaa !13
  %6754 = load i64, ptr %6716, align 8, !tbaa !33
  store i64 %6754, ptr %6718, align 8, !tbaa !38
  br label %8570

6755:                                             ; preds = %._crit_edge
  %6756 = getelementptr inbounds i8, ptr %0, i64 64
  %6757 = load i64, ptr %6756, align 8, !tbaa !38
  %6758 = shl i64 %6757, 18
  %6759 = lshr i64 %6757, 18
  %6760 = or i64 %6758, %6759
  %6761 = and i64 %6760, 68719476735
  store i64 %6761, ptr %6756, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6762 = load i64, ptr @simtime, align 8, !tbaa !13
  %6763 = add i64 %6762, 100
  store i64 %6763, ptr @simtime, align 8, !tbaa !13
  %6764 = getelementptr inbounds i8, ptr %0, i64 40
  %6765 = load i64, ptr %6764, align 8, !tbaa !33
  %6766 = load i64, ptr %6756, align 8, !tbaa !38
  %6767 = and i64 %6766, %6765
  store i64 %6767, ptr %6756, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6768 = load i64, ptr @simtime, align 8, !tbaa !13
  %6769 = add i64 %6768, 100
  store i64 %6769, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6770 = load i64, ptr %6756, align 8, !tbaa !38
  %6771 = load i64, ptr %6764, align 8, !tbaa !33
  store i64 %6771, ptr %6756, align 8, !tbaa !38
  store i64 %6770, ptr %6764, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6772 = load i64, ptr @simtime, align 8, !tbaa !13
  %6773 = add i64 %6772, 100
  store i64 %6773, ptr @simtime, align 8, !tbaa !13
  %6774 = load i64, ptr %6764, align 8, !tbaa !33
  %6775 = xor i64 %6774, 68719476735
  store i64 %6775, ptr %6764, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6776 = load i64, ptr @simtime, align 8, !tbaa !13
  %6777 = add i64 %6776, 100
  store i64 %6777, ptr @simtime, align 8, !tbaa !13
  %6778 = load i64, ptr %6764, align 8, !tbaa !33
  %6779 = load i64, ptr %6756, align 8, !tbaa !38
  %6780 = and i64 %6779, %6778
  store i64 %6780, ptr %6756, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6781 = load i64, ptr @simtime, align 8, !tbaa !13
  %6782 = add i64 %6781, 100
  store i64 %6782, ptr @simtime, align 8, !tbaa !13
  %6783 = load i64, ptr %6764, align 8, !tbaa !33
  %6784 = xor i64 %6783, 68719476735
  store i64 %6784, ptr %6764, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6785 = load i64, ptr @simtime, align 8, !tbaa !13
  %6786 = add i64 %6785, 100
  store i64 %6786, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6787 = load i64, ptr @simtime, align 8, !tbaa !13
  %6788 = add i64 %6787, 200
  store i64 %6788, ptr @simtime, align 8, !tbaa !13
  %6789 = load i64, ptr %6764, align 8, !tbaa !33
  %6790 = icmp eq i64 %6789, 0
  br i1 %6790, label %6796, label %6791

6791:                                             ; preds = %6755
  %6792 = getelementptr inbounds i8, ptr %0, i64 88
  %6793 = load i32, ptr %6792, align 8, !tbaa !31
  %6794 = add i32 %6793, 1
  %6795 = and i32 %6794, 262143
  store i32 %6795, ptr %6792, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6605 = load i64, ptr %6764, align 8, !tbaa !33
  br label %6796

6796:                                             ; preds = %6791, %6755
  %6797 = phi i64 [ %.pre6605, %6791 ], [ 0, %6755 ]
  %6798 = load i64, ptr %6756, align 8, !tbaa !38
  store i64 %6797, ptr %6756, align 8, !tbaa !38
  store i64 %6798, ptr %6764, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6799 = load i64, ptr @simtime, align 8, !tbaa !13
  %6800 = add i64 %6799, 200
  store i64 %6800, ptr @simtime, align 8, !tbaa !13
  %6801 = load i64, ptr %6764, align 8, !tbaa !33
  store i64 %6801, ptr %6756, align 8, !tbaa !38
  br label %8570

6802:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6803 = load i64, ptr @simtime, align 8, !tbaa !13
  %6804 = add i64 %6803, 100
  store i64 %6804, ptr @simtime, align 8, !tbaa !13
  %6805 = getelementptr inbounds i8, ptr %0, i64 64
  %6806 = load i64, ptr %6805, align 8, !tbaa !38
  %6807 = getelementptr inbounds i8, ptr %0, i64 40
  %6808 = load i64, ptr %6807, align 8, !tbaa !33
  %6809 = and i64 %6808, %6806
  %6810 = xor i64 %6808, %6806
  store i64 %6810, ptr %6807, align 8, !tbaa !33
  store i64 %6809, ptr %6805, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6811 = load i64, ptr @simtime, align 8, !tbaa !13
  %6812 = add i64 %6811, 100
  store i64 %6812, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6813 = load i64, ptr %6805, align 8, !tbaa !38
  %6814 = load i64, ptr %6807, align 8, !tbaa !33
  store i64 %6814, ptr %6805, align 8, !tbaa !38
  store i64 %6813, ptr %6807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6815 = load i64, ptr @simtime, align 8, !tbaa !13
  %6816 = add i64 %6815, 100
  store i64 %6816, ptr @simtime, align 8, !tbaa !13
  %6817 = load i64, ptr %6807, align 8, !tbaa !33
  %6818 = xor i64 %6817, 68719476735
  store i64 %6818, ptr %6807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6819 = load i64, ptr @simtime, align 8, !tbaa !13
  %6820 = add i64 %6819, 100
  store i64 %6820, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6821 = load i64, ptr @simtime, align 8, !tbaa !13
  %6822 = add i64 %6821, 100
  store i64 %6822, ptr @simtime, align 8, !tbaa !13
  %6823 = load i64, ptr %6807, align 8, !tbaa !33
  %6824 = xor i64 %6823, 68719476735
  store i64 %6824, ptr %6807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6825 = load i64, ptr @simtime, align 8, !tbaa !13
  %6826 = add i64 %6825, 100
  store i64 %6826, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6827 = load i64, ptr @simtime, align 8, !tbaa !13
  %6828 = add i64 %6827, 200
  store i64 %6828, ptr @simtime, align 8, !tbaa !13
  %6829 = load i64, ptr %6805, align 8, !tbaa !38
  %6830 = load i64, ptr %6807, align 8, !tbaa !33
  store i64 %6830, ptr %6805, align 8, !tbaa !38
  store i64 %6829, ptr %6807, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6831 = load i64, ptr @simtime, align 8, !tbaa !13
  %6832 = add i64 %6831, 200
  store i64 %6832, ptr @simtime, align 8, !tbaa !13
  br label %8570

6833:                                             ; preds = %._crit_edge
  %6834 = getelementptr inbounds i8, ptr %0, i64 64
  %6835 = load i64, ptr %6834, align 8, !tbaa !38
  %6836 = shl i64 %6835, 18
  %6837 = lshr i64 %6835, 18
  %6838 = or i64 %6836, %6837
  %6839 = and i64 %6838, 68719476735
  store i64 %6839, ptr %6834, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6840 = load i64, ptr @simtime, align 8, !tbaa !13
  %6841 = add i64 %6840, 100
  store i64 %6841, ptr @simtime, align 8, !tbaa !13
  %6842 = load i64, ptr %6834, align 8, !tbaa !38
  %6843 = getelementptr inbounds i8, ptr %0, i64 40
  %6844 = load i64, ptr %6843, align 8, !tbaa !33
  %6845 = and i64 %6844, %6842
  %6846 = xor i64 %6844, %6842
  store i64 %6846, ptr %6843, align 8, !tbaa !33
  store i64 %6845, ptr %6834, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6847 = load i64, ptr @simtime, align 8, !tbaa !13
  %6848 = add i64 %6847, 100
  store i64 %6848, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6849 = load i64, ptr %6834, align 8, !tbaa !38
  %6850 = load i64, ptr %6843, align 8, !tbaa !33
  store i64 %6850, ptr %6834, align 8, !tbaa !38
  store i64 %6849, ptr %6843, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6851 = load i64, ptr @simtime, align 8, !tbaa !13
  %6852 = add i64 %6851, 100
  store i64 %6852, ptr @simtime, align 8, !tbaa !13
  %6853 = load i64, ptr %6843, align 8, !tbaa !33
  %6854 = xor i64 %6853, 68719476735
  store i64 %6854, ptr %6843, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6855 = load i64, ptr @simtime, align 8, !tbaa !13
  %6856 = add i64 %6855, 100
  store i64 %6856, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6857 = load i64, ptr @simtime, align 8, !tbaa !13
  %6858 = add i64 %6857, 100
  store i64 %6858, ptr @simtime, align 8, !tbaa !13
  %6859 = load i64, ptr %6843, align 8, !tbaa !33
  %6860 = xor i64 %6859, 68719476735
  store i64 %6860, ptr %6843, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6861 = load i64, ptr @simtime, align 8, !tbaa !13
  %6862 = add i64 %6861, 100
  store i64 %6862, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6863 = load i64, ptr @simtime, align 8, !tbaa !13
  %6864 = add i64 %6863, 200
  store i64 %6864, ptr @simtime, align 8, !tbaa !13
  %6865 = load i64, ptr %6834, align 8, !tbaa !38
  %6866 = load i64, ptr %6843, align 8, !tbaa !33
  store i64 %6866, ptr %6834, align 8, !tbaa !38
  store i64 %6865, ptr %6843, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6867 = load i64, ptr @simtime, align 8, !tbaa !13
  %6868 = add i64 %6867, 200
  store i64 %6868, ptr @simtime, align 8, !tbaa !13
  br label %8570

6869:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6870 = load i64, ptr @simtime, align 8, !tbaa !13
  %6871 = add i64 %6870, 100
  store i64 %6871, ptr @simtime, align 8, !tbaa !13
  %6872 = getelementptr inbounds i8, ptr %0, i64 64
  %6873 = load i64, ptr %6872, align 8, !tbaa !38
  %6874 = getelementptr inbounds i8, ptr %0, i64 40
  %6875 = load i64, ptr %6874, align 8, !tbaa !33
  %6876 = and i64 %6875, %6873
  %6877 = xor i64 %6875, %6873
  store i64 %6877, ptr %6874, align 8, !tbaa !33
  store i64 %6876, ptr %6872, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6878 = load i64, ptr @simtime, align 8, !tbaa !13
  %6879 = add i64 %6878, 100
  store i64 %6879, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6880 = load i64, ptr %6872, align 8, !tbaa !38
  %6881 = load i64, ptr %6874, align 8, !tbaa !33
  store i64 %6881, ptr %6872, align 8, !tbaa !38
  store i64 %6880, ptr %6874, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6882 = load i64, ptr @simtime, align 8, !tbaa !13
  %6883 = add i64 %6882, 100
  store i64 %6883, ptr @simtime, align 8, !tbaa !13
  %6884 = load i64, ptr %6874, align 8, !tbaa !33
  %6885 = xor i64 %6884, 68719476735
  store i64 %6885, ptr %6874, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6886 = load i64, ptr @simtime, align 8, !tbaa !13
  %6887 = add i64 %6886, 100
  store i64 %6887, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6888 = load i64, ptr @simtime, align 8, !tbaa !13
  %6889 = add i64 %6888, 100
  store i64 %6889, ptr @simtime, align 8, !tbaa !13
  %6890 = load i64, ptr %6874, align 8, !tbaa !33
  %6891 = xor i64 %6890, 68719476735
  store i64 %6891, ptr %6874, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6892 = load i64, ptr @simtime, align 8, !tbaa !13
  %6893 = add i64 %6892, 100
  store i64 %6893, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6894 = load i64, ptr @simtime, align 8, !tbaa !13
  %6895 = add i64 %6894, 200
  store i64 %6895, ptr @simtime, align 8, !tbaa !13
  %6896 = load i64, ptr %6874, align 8, !tbaa !33
  %6897 = icmp eq i64 %6896, 0
  br i1 %6897, label %6898, label %6903

6898:                                             ; preds = %6869
  %6899 = getelementptr inbounds i8, ptr %0, i64 88
  %6900 = load i32, ptr %6899, align 8, !tbaa !31
  %6901 = add i32 %6900, 1
  %6902 = and i32 %6901, 262143
  store i32 %6902, ptr %6899, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6604 = load i64, ptr %6874, align 8, !tbaa !33
  br label %6903

6903:                                             ; preds = %6898, %6869
  %6904 = phi i64 [ %.pre6604, %6898 ], [ %6896, %6869 ]
  %6905 = load i64, ptr %6872, align 8, !tbaa !38
  store i64 %6904, ptr %6872, align 8, !tbaa !38
  store i64 %6905, ptr %6874, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6906 = load i64, ptr @simtime, align 8, !tbaa !13
  %6907 = add i64 %6906, 200
  store i64 %6907, ptr @simtime, align 8, !tbaa !13
  %6908 = load i64, ptr %6874, align 8, !tbaa !33
  store i64 %6908, ptr %6872, align 8, !tbaa !38
  br label %8570

6909:                                             ; preds = %._crit_edge
  %6910 = getelementptr inbounds i8, ptr %0, i64 64
  %6911 = load i64, ptr %6910, align 8, !tbaa !38
  %6912 = shl i64 %6911, 18
  %6913 = lshr i64 %6911, 18
  %6914 = or i64 %6912, %6913
  %6915 = and i64 %6914, 68719476735
  store i64 %6915, ptr %6910, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6916 = load i64, ptr @simtime, align 8, !tbaa !13
  %6917 = add i64 %6916, 100
  store i64 %6917, ptr @simtime, align 8, !tbaa !13
  %6918 = load i64, ptr %6910, align 8, !tbaa !38
  %6919 = getelementptr inbounds i8, ptr %0, i64 40
  %6920 = load i64, ptr %6919, align 8, !tbaa !33
  %6921 = and i64 %6920, %6918
  %6922 = xor i64 %6920, %6918
  store i64 %6922, ptr %6919, align 8, !tbaa !33
  store i64 %6921, ptr %6910, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6923 = load i64, ptr @simtime, align 8, !tbaa !13
  %6924 = add i64 %6923, 100
  store i64 %6924, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6925 = load i64, ptr %6910, align 8, !tbaa !38
  %6926 = load i64, ptr %6919, align 8, !tbaa !33
  store i64 %6926, ptr %6910, align 8, !tbaa !38
  store i64 %6925, ptr %6919, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6927 = load i64, ptr @simtime, align 8, !tbaa !13
  %6928 = add i64 %6927, 100
  store i64 %6928, ptr @simtime, align 8, !tbaa !13
  %6929 = load i64, ptr %6919, align 8, !tbaa !33
  %6930 = xor i64 %6929, 68719476735
  store i64 %6930, ptr %6919, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6931 = load i64, ptr @simtime, align 8, !tbaa !13
  %6932 = add i64 %6931, 100
  store i64 %6932, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6933 = load i64, ptr @simtime, align 8, !tbaa !13
  %6934 = add i64 %6933, 100
  store i64 %6934, ptr @simtime, align 8, !tbaa !13
  %6935 = load i64, ptr %6919, align 8, !tbaa !33
  %6936 = xor i64 %6935, 68719476735
  store i64 %6936, ptr %6919, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6937 = load i64, ptr @simtime, align 8, !tbaa !13
  %6938 = add i64 %6937, 100
  store i64 %6938, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6939 = load i64, ptr @simtime, align 8, !tbaa !13
  %6940 = add i64 %6939, 200
  store i64 %6940, ptr @simtime, align 8, !tbaa !13
  %6941 = load i64, ptr %6919, align 8, !tbaa !33
  %6942 = icmp eq i64 %6941, 0
  br i1 %6942, label %6943, label %6948

6943:                                             ; preds = %6909
  %6944 = getelementptr inbounds i8, ptr %0, i64 88
  %6945 = load i32, ptr %6944, align 8, !tbaa !31
  %6946 = add i32 %6945, 1
  %6947 = and i32 %6946, 262143
  store i32 %6947, ptr %6944, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6603 = load i64, ptr %6919, align 8, !tbaa !33
  br label %6948

6948:                                             ; preds = %6943, %6909
  %6949 = phi i64 [ %.pre6603, %6943 ], [ %6941, %6909 ]
  %6950 = load i64, ptr %6910, align 8, !tbaa !38
  store i64 %6949, ptr %6910, align 8, !tbaa !38
  store i64 %6950, ptr %6919, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6951 = load i64, ptr @simtime, align 8, !tbaa !13
  %6952 = add i64 %6951, 200
  store i64 %6952, ptr @simtime, align 8, !tbaa !13
  %6953 = load i64, ptr %6919, align 8, !tbaa !33
  store i64 %6953, ptr %6910, align 8, !tbaa !38
  br label %8570

6954:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6955 = load i64, ptr @simtime, align 8, !tbaa !13
  %6956 = add i64 %6955, 100
  store i64 %6956, ptr @simtime, align 8, !tbaa !13
  %6957 = getelementptr inbounds i8, ptr %0, i64 64
  %6958 = load i64, ptr %6957, align 8, !tbaa !38
  %6959 = getelementptr inbounds i8, ptr %0, i64 40
  %6960 = load i64, ptr %6959, align 8, !tbaa !33
  %6961 = and i64 %6960, %6958
  %6962 = xor i64 %6960, %6958
  store i64 %6962, ptr %6959, align 8, !tbaa !33
  store i64 %6961, ptr %6957, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %6963 = load i64, ptr @simtime, align 8, !tbaa !13
  %6964 = add i64 %6963, 100
  store i64 %6964, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %6965 = load i64, ptr %6957, align 8, !tbaa !38
  %6966 = load i64, ptr %6959, align 8, !tbaa !33
  store i64 %6966, ptr %6957, align 8, !tbaa !38
  store i64 %6965, ptr %6959, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %6967 = load i64, ptr @simtime, align 8, !tbaa !13
  %6968 = add i64 %6967, 100
  store i64 %6968, ptr @simtime, align 8, !tbaa !13
  %6969 = load i64, ptr %6959, align 8, !tbaa !33
  %6970 = xor i64 %6969, 68719476735
  store i64 %6970, ptr %6959, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %6971 = load i64, ptr @simtime, align 8, !tbaa !13
  %6972 = add i64 %6971, 100
  store i64 %6972, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %6973 = load i64, ptr @simtime, align 8, !tbaa !13
  %6974 = add i64 %6973, 100
  store i64 %6974, ptr @simtime, align 8, !tbaa !13
  %6975 = load i64, ptr %6959, align 8, !tbaa !33
  %6976 = xor i64 %6975, 68719476735
  store i64 %6976, ptr %6959, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %6977 = load i64, ptr @simtime, align 8, !tbaa !13
  %6978 = add i64 %6977, 100
  store i64 %6978, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %6979 = load i64, ptr @simtime, align 8, !tbaa !13
  %6980 = add i64 %6979, 200
  store i64 %6980, ptr @simtime, align 8, !tbaa !13
  %6981 = getelementptr inbounds i8, ptr %0, i64 88
  %6982 = load i32, ptr %6981, align 8, !tbaa !31
  %6983 = add i32 %6982, 1
  %6984 = and i32 %6983, 262143
  store i32 %6984, ptr %6981, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %6985 = load i64, ptr %6957, align 8, !tbaa !38
  %6986 = load i64, ptr %6959, align 8, !tbaa !33
  store i64 %6986, ptr %6957, align 8, !tbaa !38
  store i64 %6985, ptr %6959, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %6987 = load i64, ptr @simtime, align 8, !tbaa !13
  %6988 = add i64 %6987, 200
  store i64 %6988, ptr @simtime, align 8, !tbaa !13
  br label %8570

6989:                                             ; preds = %._crit_edge
  %6990 = getelementptr inbounds i8, ptr %0, i64 64
  %6991 = load i64, ptr %6990, align 8, !tbaa !38
  %6992 = shl i64 %6991, 18
  %6993 = lshr i64 %6991, 18
  %6994 = or i64 %6992, %6993
  %6995 = and i64 %6994, 68719476735
  store i64 %6995, ptr %6990, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %6996 = load i64, ptr @simtime, align 8, !tbaa !13
  %6997 = add i64 %6996, 100
  store i64 %6997, ptr @simtime, align 8, !tbaa !13
  %6998 = load i64, ptr %6990, align 8, !tbaa !38
  %6999 = getelementptr inbounds i8, ptr %0, i64 40
  %7000 = load i64, ptr %6999, align 8, !tbaa !33
  %7001 = and i64 %7000, %6998
  %7002 = xor i64 %7000, %6998
  store i64 %7002, ptr %6999, align 8, !tbaa !33
  store i64 %7001, ptr %6990, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7003 = load i64, ptr @simtime, align 8, !tbaa !13
  %7004 = add i64 %7003, 100
  store i64 %7004, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7005 = load i64, ptr %6990, align 8, !tbaa !38
  %7006 = load i64, ptr %6999, align 8, !tbaa !33
  store i64 %7006, ptr %6990, align 8, !tbaa !38
  store i64 %7005, ptr %6999, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7007 = load i64, ptr @simtime, align 8, !tbaa !13
  %7008 = add i64 %7007, 100
  store i64 %7008, ptr @simtime, align 8, !tbaa !13
  %7009 = load i64, ptr %6999, align 8, !tbaa !33
  %7010 = xor i64 %7009, 68719476735
  store i64 %7010, ptr %6999, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7011 = load i64, ptr @simtime, align 8, !tbaa !13
  %7012 = add i64 %7011, 100
  store i64 %7012, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7013 = load i64, ptr @simtime, align 8, !tbaa !13
  %7014 = add i64 %7013, 100
  store i64 %7014, ptr @simtime, align 8, !tbaa !13
  %7015 = load i64, ptr %6999, align 8, !tbaa !33
  %7016 = xor i64 %7015, 68719476735
  store i64 %7016, ptr %6999, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7017 = load i64, ptr @simtime, align 8, !tbaa !13
  %7018 = add i64 %7017, 100
  store i64 %7018, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7019 = load i64, ptr @simtime, align 8, !tbaa !13
  %7020 = add i64 %7019, 200
  store i64 %7020, ptr @simtime, align 8, !tbaa !13
  %7021 = getelementptr inbounds i8, ptr %0, i64 88
  %7022 = load i32, ptr %7021, align 8, !tbaa !31
  %7023 = add i32 %7022, 1
  %7024 = and i32 %7023, 262143
  store i32 %7024, ptr %7021, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %7025 = load i64, ptr %6990, align 8, !tbaa !38
  %7026 = load i64, ptr %6999, align 8, !tbaa !33
  store i64 %7026, ptr %6990, align 8, !tbaa !38
  store i64 %7025, ptr %6999, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7027 = load i64, ptr @simtime, align 8, !tbaa !13
  %7028 = add i64 %7027, 200
  store i64 %7028, ptr @simtime, align 8, !tbaa !13
  br label %8570

7029:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7030 = load i64, ptr @simtime, align 8, !tbaa !13
  %7031 = add i64 %7030, 100
  store i64 %7031, ptr @simtime, align 8, !tbaa !13
  %7032 = getelementptr inbounds i8, ptr %0, i64 64
  %7033 = load i64, ptr %7032, align 8, !tbaa !38
  %7034 = getelementptr inbounds i8, ptr %0, i64 40
  %7035 = load i64, ptr %7034, align 8, !tbaa !33
  %7036 = and i64 %7035, %7033
  %7037 = xor i64 %7035, %7033
  store i64 %7037, ptr %7034, align 8, !tbaa !33
  store i64 %7036, ptr %7032, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7038 = load i64, ptr @simtime, align 8, !tbaa !13
  %7039 = add i64 %7038, 100
  store i64 %7039, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7040 = load i64, ptr %7032, align 8, !tbaa !38
  %7041 = load i64, ptr %7034, align 8, !tbaa !33
  store i64 %7041, ptr %7032, align 8, !tbaa !38
  store i64 %7040, ptr %7034, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7042 = load i64, ptr @simtime, align 8, !tbaa !13
  %7043 = add i64 %7042, 100
  store i64 %7043, ptr @simtime, align 8, !tbaa !13
  %7044 = load i64, ptr %7034, align 8, !tbaa !33
  %7045 = xor i64 %7044, 68719476735
  store i64 %7045, ptr %7034, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7046 = load i64, ptr @simtime, align 8, !tbaa !13
  %7047 = add i64 %7046, 100
  store i64 %7047, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7048 = load i64, ptr @simtime, align 8, !tbaa !13
  %7049 = add i64 %7048, 100
  store i64 %7049, ptr @simtime, align 8, !tbaa !13
  %7050 = load i64, ptr %7034, align 8, !tbaa !33
  %7051 = xor i64 %7050, 68719476735
  store i64 %7051, ptr %7034, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7052 = load i64, ptr @simtime, align 8, !tbaa !13
  %7053 = add i64 %7052, 100
  store i64 %7053, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7054 = load i64, ptr @simtime, align 8, !tbaa !13
  %7055 = add i64 %7054, 200
  store i64 %7055, ptr @simtime, align 8, !tbaa !13
  %7056 = load i64, ptr %7034, align 8, !tbaa !33
  %7057 = icmp eq i64 %7056, 0
  br i1 %7057, label %7063, label %7058

7058:                                             ; preds = %7029
  %7059 = getelementptr inbounds i8, ptr %0, i64 88
  %7060 = load i32, ptr %7059, align 8, !tbaa !31
  %7061 = add i32 %7060, 1
  %7062 = and i32 %7061, 262143
  store i32 %7062, ptr %7059, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6602 = load i64, ptr %7034, align 8, !tbaa !33
  br label %7063

7063:                                             ; preds = %7058, %7029
  %7064 = phi i64 [ %.pre6602, %7058 ], [ 0, %7029 ]
  %7065 = load i64, ptr %7032, align 8, !tbaa !38
  store i64 %7064, ptr %7032, align 8, !tbaa !38
  store i64 %7065, ptr %7034, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7066 = load i64, ptr @simtime, align 8, !tbaa !13
  %7067 = add i64 %7066, 200
  store i64 %7067, ptr @simtime, align 8, !tbaa !13
  %7068 = load i64, ptr %7034, align 8, !tbaa !33
  store i64 %7068, ptr %7032, align 8, !tbaa !38
  br label %8570

7069:                                             ; preds = %._crit_edge
  %7070 = getelementptr inbounds i8, ptr %0, i64 64
  %7071 = load i64, ptr %7070, align 8, !tbaa !38
  %7072 = shl i64 %7071, 18
  %7073 = lshr i64 %7071, 18
  %7074 = or i64 %7072, %7073
  %7075 = and i64 %7074, 68719476735
  store i64 %7075, ptr %7070, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7076 = load i64, ptr @simtime, align 8, !tbaa !13
  %7077 = add i64 %7076, 100
  store i64 %7077, ptr @simtime, align 8, !tbaa !13
  %7078 = load i64, ptr %7070, align 8, !tbaa !38
  %7079 = getelementptr inbounds i8, ptr %0, i64 40
  %7080 = load i64, ptr %7079, align 8, !tbaa !33
  %7081 = and i64 %7080, %7078
  %7082 = xor i64 %7080, %7078
  store i64 %7082, ptr %7079, align 8, !tbaa !33
  store i64 %7081, ptr %7070, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7083 = load i64, ptr @simtime, align 8, !tbaa !13
  %7084 = add i64 %7083, 100
  store i64 %7084, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7085 = load i64, ptr %7070, align 8, !tbaa !38
  %7086 = load i64, ptr %7079, align 8, !tbaa !33
  store i64 %7086, ptr %7070, align 8, !tbaa !38
  store i64 %7085, ptr %7079, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7087 = load i64, ptr @simtime, align 8, !tbaa !13
  %7088 = add i64 %7087, 100
  store i64 %7088, ptr @simtime, align 8, !tbaa !13
  %7089 = load i64, ptr %7079, align 8, !tbaa !33
  %7090 = xor i64 %7089, 68719476735
  store i64 %7090, ptr %7079, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7091 = load i64, ptr @simtime, align 8, !tbaa !13
  %7092 = add i64 %7091, 100
  store i64 %7092, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7093 = load i64, ptr @simtime, align 8, !tbaa !13
  %7094 = add i64 %7093, 100
  store i64 %7094, ptr @simtime, align 8, !tbaa !13
  %7095 = load i64, ptr %7079, align 8, !tbaa !33
  %7096 = xor i64 %7095, 68719476735
  store i64 %7096, ptr %7079, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7097 = load i64, ptr @simtime, align 8, !tbaa !13
  %7098 = add i64 %7097, 100
  store i64 %7098, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7099 = load i64, ptr @simtime, align 8, !tbaa !13
  %7100 = add i64 %7099, 200
  store i64 %7100, ptr @simtime, align 8, !tbaa !13
  %7101 = load i64, ptr %7079, align 8, !tbaa !33
  %7102 = icmp eq i64 %7101, 0
  br i1 %7102, label %7108, label %7103

7103:                                             ; preds = %7069
  %7104 = getelementptr inbounds i8, ptr %0, i64 88
  %7105 = load i32, ptr %7104, align 8, !tbaa !31
  %7106 = add i32 %7105, 1
  %7107 = and i32 %7106, 262143
  store i32 %7107, ptr %7104, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6601 = load i64, ptr %7079, align 8, !tbaa !33
  br label %7108

7108:                                             ; preds = %7103, %7069
  %7109 = phi i64 [ %.pre6601, %7103 ], [ 0, %7069 ]
  %7110 = load i64, ptr %7070, align 8, !tbaa !38
  store i64 %7109, ptr %7070, align 8, !tbaa !38
  store i64 %7110, ptr %7079, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7111 = load i64, ptr @simtime, align 8, !tbaa !13
  %7112 = add i64 %7111, 200
  store i64 %7112, ptr @simtime, align 8, !tbaa !13
  %7113 = load i64, ptr %7079, align 8, !tbaa !33
  store i64 %7113, ptr %7070, align 8, !tbaa !38
  br label %8570

7114:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7115 = load i64, ptr @simtime, align 8, !tbaa !13
  %7116 = add i64 %7115, 100
  store i64 %7116, ptr @simtime, align 8, !tbaa !13
  %7117 = getelementptr inbounds i8, ptr %0, i64 64
  %7118 = load i64, ptr %7117, align 8, !tbaa !38
  %7119 = getelementptr inbounds i8, ptr %0, i64 40
  %7120 = load i64, ptr %7119, align 8, !tbaa !33
  %7121 = and i64 %7120, %7118
  %7122 = xor i64 %7120, %7118
  store i64 %7122, ptr %7119, align 8, !tbaa !33
  store i64 %7121, ptr %7117, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7123 = load i64, ptr @simtime, align 8, !tbaa !13
  %7124 = add i64 %7123, 100
  store i64 %7124, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7125 = load i64, ptr %7117, align 8, !tbaa !38
  %7126 = load i64, ptr %7119, align 8, !tbaa !33
  store i64 %7126, ptr %7117, align 8, !tbaa !38
  store i64 %7125, ptr %7119, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7127 = load i64, ptr @simtime, align 8, !tbaa !13
  %7128 = add i64 %7127, 100
  store i64 %7128, ptr @simtime, align 8, !tbaa !13
  %7129 = load i64, ptr %7119, align 8, !tbaa !33
  %7130 = xor i64 %7129, 68719476735
  store i64 %7130, ptr %7119, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7131 = load i64, ptr @simtime, align 8, !tbaa !13
  %7132 = add i64 %7131, 100
  store i64 %7132, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7133 = load i64, ptr @simtime, align 8, !tbaa !13
  %7134 = add i64 %7133, 100
  store i64 %7134, ptr @simtime, align 8, !tbaa !13
  %7135 = load i64, ptr %7119, align 8, !tbaa !33
  %7136 = xor i64 %7135, 68719476735
  store i64 %7136, ptr %7119, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7137 = load i64, ptr @simtime, align 8, !tbaa !13
  %7138 = add i64 %7137, 100
  store i64 %7138, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7139 = load i64, ptr @simtime, align 8, !tbaa !13
  %7140 = add i64 %7139, 200
  store i64 %7140, ptr @simtime, align 8, !tbaa !13
  %7141 = load i64, ptr %7117, align 8, !tbaa !38
  %7142 = load i64, ptr %7119, align 8, !tbaa !33
  store i64 %7142, ptr %7117, align 8, !tbaa !38
  store i64 %7141, ptr %7119, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7143 = load i64, ptr @simtime, align 8, !tbaa !13
  %7144 = add i64 %7143, 200
  store i64 %7144, ptr @simtime, align 8, !tbaa !13
  br label %8570

7145:                                             ; preds = %._crit_edge
  %7146 = getelementptr inbounds i8, ptr %0, i64 64
  %7147 = load i64, ptr %7146, align 8, !tbaa !38
  %7148 = shl i64 %7147, 18
  %7149 = lshr i64 %7147, 18
  %7150 = or i64 %7148, %7149
  %7151 = and i64 %7150, 68719476735
  store i64 %7151, ptr %7146, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7152 = load i64, ptr @simtime, align 8, !tbaa !13
  %7153 = add i64 %7152, 100
  store i64 %7153, ptr @simtime, align 8, !tbaa !13
  %7154 = load i64, ptr %7146, align 8, !tbaa !38
  %7155 = getelementptr inbounds i8, ptr %0, i64 40
  %7156 = load i64, ptr %7155, align 8, !tbaa !33
  %7157 = and i64 %7156, %7154
  %7158 = xor i64 %7156, %7154
  store i64 %7158, ptr %7155, align 8, !tbaa !33
  store i64 %7157, ptr %7146, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7159 = load i64, ptr @simtime, align 8, !tbaa !13
  %7160 = add i64 %7159, 100
  store i64 %7160, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7161 = load i64, ptr %7146, align 8, !tbaa !38
  %7162 = load i64, ptr %7155, align 8, !tbaa !33
  store i64 %7162, ptr %7146, align 8, !tbaa !38
  store i64 %7161, ptr %7155, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7163 = load i64, ptr @simtime, align 8, !tbaa !13
  %7164 = add i64 %7163, 100
  store i64 %7164, ptr @simtime, align 8, !tbaa !13
  %7165 = load i64, ptr %7155, align 8, !tbaa !33
  %7166 = xor i64 %7165, 68719476735
  store i64 %7166, ptr %7155, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7167 = load i64, ptr @simtime, align 8, !tbaa !13
  %7168 = add i64 %7167, 100
  store i64 %7168, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7169 = load i64, ptr @simtime, align 8, !tbaa !13
  %7170 = add i64 %7169, 100
  store i64 %7170, ptr @simtime, align 8, !tbaa !13
  %7171 = load i64, ptr %7155, align 8, !tbaa !33
  %7172 = xor i64 %7171, 68719476735
  store i64 %7172, ptr %7155, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7173 = load i64, ptr @simtime, align 8, !tbaa !13
  %7174 = add i64 %7173, 100
  store i64 %7174, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7175 = load i64, ptr @simtime, align 8, !tbaa !13
  %7176 = add i64 %7175, 200
  store i64 %7176, ptr @simtime, align 8, !tbaa !13
  %7177 = load i64, ptr %7146, align 8, !tbaa !38
  %7178 = load i64, ptr %7155, align 8, !tbaa !33
  store i64 %7178, ptr %7146, align 8, !tbaa !38
  store i64 %7177, ptr %7155, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7179 = load i64, ptr @simtime, align 8, !tbaa !13
  %7180 = add i64 %7179, 200
  store i64 %7180, ptr @simtime, align 8, !tbaa !13
  br label %8570

7181:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7182 = load i64, ptr @simtime, align 8, !tbaa !13
  %7183 = add i64 %7182, 100
  store i64 %7183, ptr @simtime, align 8, !tbaa !13
  %7184 = getelementptr inbounds i8, ptr %0, i64 64
  %7185 = load i64, ptr %7184, align 8, !tbaa !38
  %7186 = getelementptr inbounds i8, ptr %0, i64 40
  %7187 = load i64, ptr %7186, align 8, !tbaa !33
  %7188 = and i64 %7187, %7185
  %7189 = xor i64 %7187, %7185
  store i64 %7189, ptr %7186, align 8, !tbaa !33
  store i64 %7188, ptr %7184, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7190 = load i64, ptr @simtime, align 8, !tbaa !13
  %7191 = add i64 %7190, 100
  store i64 %7191, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7192 = load i64, ptr %7184, align 8, !tbaa !38
  %7193 = load i64, ptr %7186, align 8, !tbaa !33
  store i64 %7193, ptr %7184, align 8, !tbaa !38
  store i64 %7192, ptr %7186, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7194 = load i64, ptr @simtime, align 8, !tbaa !13
  %7195 = add i64 %7194, 100
  store i64 %7195, ptr @simtime, align 8, !tbaa !13
  %7196 = load i64, ptr %7186, align 8, !tbaa !33
  %7197 = xor i64 %7196, 68719476735
  store i64 %7197, ptr %7186, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7198 = load i64, ptr @simtime, align 8, !tbaa !13
  %7199 = add i64 %7198, 100
  store i64 %7199, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7200 = load i64, ptr @simtime, align 8, !tbaa !13
  %7201 = add i64 %7200, 100
  store i64 %7201, ptr @simtime, align 8, !tbaa !13
  %7202 = load i64, ptr %7186, align 8, !tbaa !33
  %7203 = xor i64 %7202, 68719476735
  store i64 %7203, ptr %7186, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7204 = load i64, ptr @simtime, align 8, !tbaa !13
  %7205 = add i64 %7204, 100
  store i64 %7205, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7206 = load i64, ptr @simtime, align 8, !tbaa !13
  %7207 = add i64 %7206, 200
  store i64 %7207, ptr @simtime, align 8, !tbaa !13
  %7208 = load i64, ptr %7186, align 8, !tbaa !33
  %7209 = icmp eq i64 %7208, 0
  br i1 %7209, label %7210, label %7215

7210:                                             ; preds = %7181
  %7211 = getelementptr inbounds i8, ptr %0, i64 88
  %7212 = load i32, ptr %7211, align 8, !tbaa !31
  %7213 = add i32 %7212, 1
  %7214 = and i32 %7213, 262143
  store i32 %7214, ptr %7211, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6600 = load i64, ptr %7186, align 8, !tbaa !33
  br label %7215

7215:                                             ; preds = %7210, %7181
  %7216 = phi i64 [ %.pre6600, %7210 ], [ %7208, %7181 ]
  %7217 = load i64, ptr %7184, align 8, !tbaa !38
  store i64 %7216, ptr %7184, align 8, !tbaa !38
  store i64 %7217, ptr %7186, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7218 = load i64, ptr @simtime, align 8, !tbaa !13
  %7219 = add i64 %7218, 200
  store i64 %7219, ptr @simtime, align 8, !tbaa !13
  %7220 = load i64, ptr %7186, align 8, !tbaa !33
  store i64 %7220, ptr %7184, align 8, !tbaa !38
  br label %8570

7221:                                             ; preds = %._crit_edge
  %7222 = getelementptr inbounds i8, ptr %0, i64 64
  %7223 = load i64, ptr %7222, align 8, !tbaa !38
  %7224 = shl i64 %7223, 18
  %7225 = lshr i64 %7223, 18
  %7226 = or i64 %7224, %7225
  %7227 = and i64 %7226, 68719476735
  store i64 %7227, ptr %7222, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7228 = load i64, ptr @simtime, align 8, !tbaa !13
  %7229 = add i64 %7228, 100
  store i64 %7229, ptr @simtime, align 8, !tbaa !13
  %7230 = load i64, ptr %7222, align 8, !tbaa !38
  %7231 = getelementptr inbounds i8, ptr %0, i64 40
  %7232 = load i64, ptr %7231, align 8, !tbaa !33
  %7233 = and i64 %7232, %7230
  %7234 = xor i64 %7232, %7230
  store i64 %7234, ptr %7231, align 8, !tbaa !33
  store i64 %7233, ptr %7222, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7235 = load i64, ptr @simtime, align 8, !tbaa !13
  %7236 = add i64 %7235, 100
  store i64 %7236, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7237 = load i64, ptr %7222, align 8, !tbaa !38
  %7238 = load i64, ptr %7231, align 8, !tbaa !33
  store i64 %7238, ptr %7222, align 8, !tbaa !38
  store i64 %7237, ptr %7231, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7239 = load i64, ptr @simtime, align 8, !tbaa !13
  %7240 = add i64 %7239, 100
  store i64 %7240, ptr @simtime, align 8, !tbaa !13
  %7241 = load i64, ptr %7231, align 8, !tbaa !33
  %7242 = xor i64 %7241, 68719476735
  store i64 %7242, ptr %7231, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7243 = load i64, ptr @simtime, align 8, !tbaa !13
  %7244 = add i64 %7243, 100
  store i64 %7244, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7245 = load i64, ptr @simtime, align 8, !tbaa !13
  %7246 = add i64 %7245, 100
  store i64 %7246, ptr @simtime, align 8, !tbaa !13
  %7247 = load i64, ptr %7231, align 8, !tbaa !33
  %7248 = xor i64 %7247, 68719476735
  store i64 %7248, ptr %7231, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7249 = load i64, ptr @simtime, align 8, !tbaa !13
  %7250 = add i64 %7249, 100
  store i64 %7250, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7251 = load i64, ptr @simtime, align 8, !tbaa !13
  %7252 = add i64 %7251, 200
  store i64 %7252, ptr @simtime, align 8, !tbaa !13
  %7253 = load i64, ptr %7231, align 8, !tbaa !33
  %7254 = icmp eq i64 %7253, 0
  br i1 %7254, label %7255, label %7260

7255:                                             ; preds = %7221
  %7256 = getelementptr inbounds i8, ptr %0, i64 88
  %7257 = load i32, ptr %7256, align 8, !tbaa !31
  %7258 = add i32 %7257, 1
  %7259 = and i32 %7258, 262143
  store i32 %7259, ptr %7256, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6599 = load i64, ptr %7231, align 8, !tbaa !33
  br label %7260

7260:                                             ; preds = %7255, %7221
  %7261 = phi i64 [ %.pre6599, %7255 ], [ %7253, %7221 ]
  %7262 = load i64, ptr %7222, align 8, !tbaa !38
  store i64 %7261, ptr %7222, align 8, !tbaa !38
  store i64 %7262, ptr %7231, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7263 = load i64, ptr @simtime, align 8, !tbaa !13
  %7264 = add i64 %7263, 200
  store i64 %7264, ptr @simtime, align 8, !tbaa !13
  %7265 = load i64, ptr %7231, align 8, !tbaa !33
  store i64 %7265, ptr %7222, align 8, !tbaa !38
  br label %8570

7266:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7267 = load i64, ptr @simtime, align 8, !tbaa !13
  %7268 = add i64 %7267, 100
  store i64 %7268, ptr @simtime, align 8, !tbaa !13
  %7269 = getelementptr inbounds i8, ptr %0, i64 64
  %7270 = load i64, ptr %7269, align 8, !tbaa !38
  %7271 = getelementptr inbounds i8, ptr %0, i64 40
  %7272 = load i64, ptr %7271, align 8, !tbaa !33
  %7273 = and i64 %7272, %7270
  %7274 = xor i64 %7272, %7270
  store i64 %7274, ptr %7271, align 8, !tbaa !33
  store i64 %7273, ptr %7269, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7275 = load i64, ptr @simtime, align 8, !tbaa !13
  %7276 = add i64 %7275, 100
  store i64 %7276, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7277 = load i64, ptr %7269, align 8, !tbaa !38
  %7278 = load i64, ptr %7271, align 8, !tbaa !33
  store i64 %7278, ptr %7269, align 8, !tbaa !38
  store i64 %7277, ptr %7271, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7279 = load i64, ptr @simtime, align 8, !tbaa !13
  %7280 = add i64 %7279, 100
  store i64 %7280, ptr @simtime, align 8, !tbaa !13
  %7281 = load i64, ptr %7271, align 8, !tbaa !33
  %7282 = xor i64 %7281, 68719476735
  store i64 %7282, ptr %7271, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7283 = load i64, ptr @simtime, align 8, !tbaa !13
  %7284 = add i64 %7283, 100
  store i64 %7284, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7285 = load i64, ptr @simtime, align 8, !tbaa !13
  %7286 = add i64 %7285, 100
  store i64 %7286, ptr @simtime, align 8, !tbaa !13
  %7287 = load i64, ptr %7271, align 8, !tbaa !33
  %7288 = xor i64 %7287, 68719476735
  store i64 %7288, ptr %7271, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7289 = load i64, ptr @simtime, align 8, !tbaa !13
  %7290 = add i64 %7289, 100
  store i64 %7290, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7291 = load i64, ptr @simtime, align 8, !tbaa !13
  %7292 = add i64 %7291, 200
  store i64 %7292, ptr @simtime, align 8, !tbaa !13
  %7293 = getelementptr inbounds i8, ptr %0, i64 88
  %7294 = load i32, ptr %7293, align 8, !tbaa !31
  %7295 = add i32 %7294, 1
  %7296 = and i32 %7295, 262143
  store i32 %7296, ptr %7293, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %7297 = load i64, ptr %7269, align 8, !tbaa !38
  %7298 = load i64, ptr %7271, align 8, !tbaa !33
  store i64 %7298, ptr %7269, align 8, !tbaa !38
  store i64 %7297, ptr %7271, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7299 = load i64, ptr @simtime, align 8, !tbaa !13
  %7300 = add i64 %7299, 200
  store i64 %7300, ptr @simtime, align 8, !tbaa !13
  br label %8570

7301:                                             ; preds = %._crit_edge
  %7302 = getelementptr inbounds i8, ptr %0, i64 64
  %7303 = load i64, ptr %7302, align 8, !tbaa !38
  %7304 = shl i64 %7303, 18
  %7305 = lshr i64 %7303, 18
  %7306 = or i64 %7304, %7305
  %7307 = and i64 %7306, 68719476735
  store i64 %7307, ptr %7302, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7308 = load i64, ptr @simtime, align 8, !tbaa !13
  %7309 = add i64 %7308, 100
  store i64 %7309, ptr @simtime, align 8, !tbaa !13
  %7310 = load i64, ptr %7302, align 8, !tbaa !38
  %7311 = getelementptr inbounds i8, ptr %0, i64 40
  %7312 = load i64, ptr %7311, align 8, !tbaa !33
  %7313 = and i64 %7312, %7310
  %7314 = xor i64 %7312, %7310
  store i64 %7314, ptr %7311, align 8, !tbaa !33
  store i64 %7313, ptr %7302, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7315 = load i64, ptr @simtime, align 8, !tbaa !13
  %7316 = add i64 %7315, 100
  store i64 %7316, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7317 = load i64, ptr %7302, align 8, !tbaa !38
  %7318 = load i64, ptr %7311, align 8, !tbaa !33
  store i64 %7318, ptr %7302, align 8, !tbaa !38
  store i64 %7317, ptr %7311, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7319 = load i64, ptr @simtime, align 8, !tbaa !13
  %7320 = add i64 %7319, 100
  store i64 %7320, ptr @simtime, align 8, !tbaa !13
  %7321 = load i64, ptr %7311, align 8, !tbaa !33
  %7322 = xor i64 %7321, 68719476735
  store i64 %7322, ptr %7311, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7323 = load i64, ptr @simtime, align 8, !tbaa !13
  %7324 = add i64 %7323, 100
  store i64 %7324, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7325 = load i64, ptr @simtime, align 8, !tbaa !13
  %7326 = add i64 %7325, 100
  store i64 %7326, ptr @simtime, align 8, !tbaa !13
  %7327 = load i64, ptr %7311, align 8, !tbaa !33
  %7328 = xor i64 %7327, 68719476735
  store i64 %7328, ptr %7311, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7329 = load i64, ptr @simtime, align 8, !tbaa !13
  %7330 = add i64 %7329, 100
  store i64 %7330, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7331 = load i64, ptr @simtime, align 8, !tbaa !13
  %7332 = add i64 %7331, 200
  store i64 %7332, ptr @simtime, align 8, !tbaa !13
  %7333 = getelementptr inbounds i8, ptr %0, i64 88
  %7334 = load i32, ptr %7333, align 8, !tbaa !31
  %7335 = add i32 %7334, 1
  %7336 = and i32 %7335, 262143
  store i32 %7336, ptr %7333, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %7337 = load i64, ptr %7302, align 8, !tbaa !38
  %7338 = load i64, ptr %7311, align 8, !tbaa !33
  store i64 %7338, ptr %7302, align 8, !tbaa !38
  store i64 %7337, ptr %7311, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7339 = load i64, ptr @simtime, align 8, !tbaa !13
  %7340 = add i64 %7339, 200
  store i64 %7340, ptr @simtime, align 8, !tbaa !13
  br label %8570

7341:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7342 = load i64, ptr @simtime, align 8, !tbaa !13
  %7343 = add i64 %7342, 100
  store i64 %7343, ptr @simtime, align 8, !tbaa !13
  %7344 = getelementptr inbounds i8, ptr %0, i64 64
  %7345 = load i64, ptr %7344, align 8, !tbaa !38
  %7346 = getelementptr inbounds i8, ptr %0, i64 40
  %7347 = load i64, ptr %7346, align 8, !tbaa !33
  %7348 = and i64 %7347, %7345
  %7349 = xor i64 %7347, %7345
  store i64 %7349, ptr %7346, align 8, !tbaa !33
  store i64 %7348, ptr %7344, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7350 = load i64, ptr @simtime, align 8, !tbaa !13
  %7351 = add i64 %7350, 100
  store i64 %7351, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7352 = load i64, ptr %7344, align 8, !tbaa !38
  %7353 = load i64, ptr %7346, align 8, !tbaa !33
  store i64 %7353, ptr %7344, align 8, !tbaa !38
  store i64 %7352, ptr %7346, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7354 = load i64, ptr @simtime, align 8, !tbaa !13
  %7355 = add i64 %7354, 100
  store i64 %7355, ptr @simtime, align 8, !tbaa !13
  %7356 = load i64, ptr %7346, align 8, !tbaa !33
  %7357 = xor i64 %7356, 68719476735
  store i64 %7357, ptr %7346, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7358 = load i64, ptr @simtime, align 8, !tbaa !13
  %7359 = add i64 %7358, 100
  store i64 %7359, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7360 = load i64, ptr @simtime, align 8, !tbaa !13
  %7361 = add i64 %7360, 100
  store i64 %7361, ptr @simtime, align 8, !tbaa !13
  %7362 = load i64, ptr %7346, align 8, !tbaa !33
  %7363 = xor i64 %7362, 68719476735
  store i64 %7363, ptr %7346, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7364 = load i64, ptr @simtime, align 8, !tbaa !13
  %7365 = add i64 %7364, 100
  store i64 %7365, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7366 = load i64, ptr @simtime, align 8, !tbaa !13
  %7367 = add i64 %7366, 200
  store i64 %7367, ptr @simtime, align 8, !tbaa !13
  %7368 = load i64, ptr %7346, align 8, !tbaa !33
  %7369 = icmp eq i64 %7368, 0
  br i1 %7369, label %7375, label %7370

7370:                                             ; preds = %7341
  %7371 = getelementptr inbounds i8, ptr %0, i64 88
  %7372 = load i32, ptr %7371, align 8, !tbaa !31
  %7373 = add i32 %7372, 1
  %7374 = and i32 %7373, 262143
  store i32 %7374, ptr %7371, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6598 = load i64, ptr %7346, align 8, !tbaa !33
  br label %7375

7375:                                             ; preds = %7370, %7341
  %7376 = phi i64 [ %.pre6598, %7370 ], [ 0, %7341 ]
  %7377 = load i64, ptr %7344, align 8, !tbaa !38
  store i64 %7376, ptr %7344, align 8, !tbaa !38
  store i64 %7377, ptr %7346, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7378 = load i64, ptr @simtime, align 8, !tbaa !13
  %7379 = add i64 %7378, 200
  store i64 %7379, ptr @simtime, align 8, !tbaa !13
  %7380 = load i64, ptr %7346, align 8, !tbaa !33
  store i64 %7380, ptr %7344, align 8, !tbaa !38
  br label %8570

7381:                                             ; preds = %._crit_edge
  %7382 = getelementptr inbounds i8, ptr %0, i64 64
  %7383 = load i64, ptr %7382, align 8, !tbaa !38
  %7384 = shl i64 %7383, 18
  %7385 = lshr i64 %7383, 18
  %7386 = or i64 %7384, %7385
  %7387 = and i64 %7386, 68719476735
  store i64 %7387, ptr %7382, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7388 = load i64, ptr @simtime, align 8, !tbaa !13
  %7389 = add i64 %7388, 100
  store i64 %7389, ptr @simtime, align 8, !tbaa !13
  %7390 = load i64, ptr %7382, align 8, !tbaa !38
  %7391 = getelementptr inbounds i8, ptr %0, i64 40
  %7392 = load i64, ptr %7391, align 8, !tbaa !33
  %7393 = and i64 %7392, %7390
  %7394 = xor i64 %7392, %7390
  store i64 %7394, ptr %7391, align 8, !tbaa !33
  store i64 %7393, ptr %7382, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7395 = load i64, ptr @simtime, align 8, !tbaa !13
  %7396 = add i64 %7395, 100
  store i64 %7396, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7397 = load i64, ptr %7382, align 8, !tbaa !38
  %7398 = load i64, ptr %7391, align 8, !tbaa !33
  store i64 %7398, ptr %7382, align 8, !tbaa !38
  store i64 %7397, ptr %7391, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7399 = load i64, ptr @simtime, align 8, !tbaa !13
  %7400 = add i64 %7399, 100
  store i64 %7400, ptr @simtime, align 8, !tbaa !13
  %7401 = load i64, ptr %7391, align 8, !tbaa !33
  %7402 = xor i64 %7401, 68719476735
  store i64 %7402, ptr %7391, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7403 = load i64, ptr @simtime, align 8, !tbaa !13
  %7404 = add i64 %7403, 100
  store i64 %7404, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7405 = load i64, ptr @simtime, align 8, !tbaa !13
  %7406 = add i64 %7405, 100
  store i64 %7406, ptr @simtime, align 8, !tbaa !13
  %7407 = load i64, ptr %7391, align 8, !tbaa !33
  %7408 = xor i64 %7407, 68719476735
  store i64 %7408, ptr %7391, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7409 = load i64, ptr @simtime, align 8, !tbaa !13
  %7410 = add i64 %7409, 100
  store i64 %7410, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7411 = load i64, ptr @simtime, align 8, !tbaa !13
  %7412 = add i64 %7411, 200
  store i64 %7412, ptr @simtime, align 8, !tbaa !13
  %7413 = load i64, ptr %7391, align 8, !tbaa !33
  %7414 = icmp eq i64 %7413, 0
  br i1 %7414, label %7420, label %7415

7415:                                             ; preds = %7381
  %7416 = getelementptr inbounds i8, ptr %0, i64 88
  %7417 = load i32, ptr %7416, align 8, !tbaa !31
  %7418 = add i32 %7417, 1
  %7419 = and i32 %7418, 262143
  store i32 %7419, ptr %7416, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6597 = load i64, ptr %7391, align 8, !tbaa !33
  br label %7420

7420:                                             ; preds = %7415, %7381
  %7421 = phi i64 [ %.pre6597, %7415 ], [ 0, %7381 ]
  %7422 = load i64, ptr %7382, align 8, !tbaa !38
  store i64 %7421, ptr %7382, align 8, !tbaa !38
  store i64 %7422, ptr %7391, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7423 = load i64, ptr @simtime, align 8, !tbaa !13
  %7424 = add i64 %7423, 200
  store i64 %7424, ptr @simtime, align 8, !tbaa !13
  %7425 = load i64, ptr %7391, align 8, !tbaa !33
  store i64 %7425, ptr %7382, align 8, !tbaa !38
  br label %8570

7426:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7427 = load i64, ptr @simtime, align 8, !tbaa !13
  %7428 = add i64 %7427, 100
  store i64 %7428, ptr @simtime, align 8, !tbaa !13
  %7429 = getelementptr inbounds i8, ptr %0, i64 64
  %7430 = load i64, ptr %7429, align 8, !tbaa !38
  %7431 = getelementptr inbounds i8, ptr %0, i64 40
  %7432 = load i64, ptr %7431, align 8, !tbaa !33
  %7433 = and i64 %7432, %7430
  %7434 = or i64 %7432, %7430
  store i64 %7434, ptr %7431, align 8, !tbaa !33
  store i64 %7433, ptr %7429, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7435 = load i64, ptr @simtime, align 8, !tbaa !13
  %7436 = add i64 %7435, 100
  store i64 %7436, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7437 = load i64, ptr %7429, align 8, !tbaa !38
  %7438 = load i64, ptr %7431, align 8, !tbaa !33
  store i64 %7438, ptr %7429, align 8, !tbaa !38
  store i64 %7437, ptr %7431, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7439 = load i64, ptr @simtime, align 8, !tbaa !13
  %7440 = add i64 %7439, 100
  store i64 %7440, ptr @simtime, align 8, !tbaa !13
  %7441 = load i64, ptr %7431, align 8, !tbaa !33
  %7442 = xor i64 %7441, 68719476735
  store i64 %7442, ptr %7431, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7443 = load i64, ptr @simtime, align 8, !tbaa !13
  %7444 = add i64 %7443, 100
  store i64 %7444, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7445 = load i64, ptr @simtime, align 8, !tbaa !13
  %7446 = add i64 %7445, 100
  store i64 %7446, ptr @simtime, align 8, !tbaa !13
  %7447 = load i64, ptr %7431, align 8, !tbaa !33
  %7448 = xor i64 %7447, 68719476735
  store i64 %7448, ptr %7431, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7449 = load i64, ptr @simtime, align 8, !tbaa !13
  %7450 = add i64 %7449, 100
  store i64 %7450, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7451 = load i64, ptr @simtime, align 8, !tbaa !13
  %7452 = add i64 %7451, 200
  store i64 %7452, ptr @simtime, align 8, !tbaa !13
  %7453 = load i64, ptr %7429, align 8, !tbaa !38
  %7454 = load i64, ptr %7431, align 8, !tbaa !33
  store i64 %7454, ptr %7429, align 8, !tbaa !38
  store i64 %7453, ptr %7431, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7455 = load i64, ptr @simtime, align 8, !tbaa !13
  %7456 = add i64 %7455, 200
  store i64 %7456, ptr @simtime, align 8, !tbaa !13
  br label %8570

7457:                                             ; preds = %._crit_edge
  %7458 = getelementptr inbounds i8, ptr %0, i64 64
  %7459 = load i64, ptr %7458, align 8, !tbaa !38
  %7460 = shl i64 %7459, 18
  %7461 = lshr i64 %7459, 18
  %7462 = or i64 %7460, %7461
  %7463 = and i64 %7462, 68719476735
  store i64 %7463, ptr %7458, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7464 = load i64, ptr @simtime, align 8, !tbaa !13
  %7465 = add i64 %7464, 100
  store i64 %7465, ptr @simtime, align 8, !tbaa !13
  %7466 = load i64, ptr %7458, align 8, !tbaa !38
  %7467 = getelementptr inbounds i8, ptr %0, i64 40
  %7468 = load i64, ptr %7467, align 8, !tbaa !33
  %7469 = and i64 %7468, %7466
  %7470 = or i64 %7468, %7466
  store i64 %7470, ptr %7467, align 8, !tbaa !33
  store i64 %7469, ptr %7458, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7471 = load i64, ptr @simtime, align 8, !tbaa !13
  %7472 = add i64 %7471, 100
  store i64 %7472, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7473 = load i64, ptr %7458, align 8, !tbaa !38
  %7474 = load i64, ptr %7467, align 8, !tbaa !33
  store i64 %7474, ptr %7458, align 8, !tbaa !38
  store i64 %7473, ptr %7467, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7475 = load i64, ptr @simtime, align 8, !tbaa !13
  %7476 = add i64 %7475, 100
  store i64 %7476, ptr @simtime, align 8, !tbaa !13
  %7477 = load i64, ptr %7467, align 8, !tbaa !33
  %7478 = xor i64 %7477, 68719476735
  store i64 %7478, ptr %7467, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7479 = load i64, ptr @simtime, align 8, !tbaa !13
  %7480 = add i64 %7479, 100
  store i64 %7480, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7481 = load i64, ptr @simtime, align 8, !tbaa !13
  %7482 = add i64 %7481, 100
  store i64 %7482, ptr @simtime, align 8, !tbaa !13
  %7483 = load i64, ptr %7467, align 8, !tbaa !33
  %7484 = xor i64 %7483, 68719476735
  store i64 %7484, ptr %7467, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7485 = load i64, ptr @simtime, align 8, !tbaa !13
  %7486 = add i64 %7485, 100
  store i64 %7486, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7487 = load i64, ptr @simtime, align 8, !tbaa !13
  %7488 = add i64 %7487, 200
  store i64 %7488, ptr @simtime, align 8, !tbaa !13
  %7489 = load i64, ptr %7458, align 8, !tbaa !38
  %7490 = load i64, ptr %7467, align 8, !tbaa !33
  store i64 %7490, ptr %7458, align 8, !tbaa !38
  store i64 %7489, ptr %7467, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7491 = load i64, ptr @simtime, align 8, !tbaa !13
  %7492 = add i64 %7491, 200
  store i64 %7492, ptr @simtime, align 8, !tbaa !13
  br label %8570

7493:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7494 = load i64, ptr @simtime, align 8, !tbaa !13
  %7495 = add i64 %7494, 100
  store i64 %7495, ptr @simtime, align 8, !tbaa !13
  %7496 = getelementptr inbounds i8, ptr %0, i64 64
  %7497 = load i64, ptr %7496, align 8, !tbaa !38
  %7498 = getelementptr inbounds i8, ptr %0, i64 40
  %7499 = load i64, ptr %7498, align 8, !tbaa !33
  %7500 = and i64 %7499, %7497
  %7501 = or i64 %7499, %7497
  store i64 %7501, ptr %7498, align 8, !tbaa !33
  store i64 %7500, ptr %7496, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7502 = load i64, ptr @simtime, align 8, !tbaa !13
  %7503 = add i64 %7502, 100
  store i64 %7503, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7504 = load i64, ptr %7496, align 8, !tbaa !38
  %7505 = load i64, ptr %7498, align 8, !tbaa !33
  store i64 %7505, ptr %7496, align 8, !tbaa !38
  store i64 %7504, ptr %7498, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7506 = load i64, ptr @simtime, align 8, !tbaa !13
  %7507 = add i64 %7506, 100
  store i64 %7507, ptr @simtime, align 8, !tbaa !13
  %7508 = load i64, ptr %7498, align 8, !tbaa !33
  %7509 = xor i64 %7508, 68719476735
  store i64 %7509, ptr %7498, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7510 = load i64, ptr @simtime, align 8, !tbaa !13
  %7511 = add i64 %7510, 100
  store i64 %7511, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7512 = load i64, ptr @simtime, align 8, !tbaa !13
  %7513 = add i64 %7512, 100
  store i64 %7513, ptr @simtime, align 8, !tbaa !13
  %7514 = load i64, ptr %7498, align 8, !tbaa !33
  %7515 = xor i64 %7514, 68719476735
  store i64 %7515, ptr %7498, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7516 = load i64, ptr @simtime, align 8, !tbaa !13
  %7517 = add i64 %7516, 100
  store i64 %7517, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7518 = load i64, ptr @simtime, align 8, !tbaa !13
  %7519 = add i64 %7518, 200
  store i64 %7519, ptr @simtime, align 8, !tbaa !13
  %7520 = load i64, ptr %7498, align 8, !tbaa !33
  %7521 = icmp eq i64 %7520, 0
  br i1 %7521, label %7522, label %7527

7522:                                             ; preds = %7493
  %7523 = getelementptr inbounds i8, ptr %0, i64 88
  %7524 = load i32, ptr %7523, align 8, !tbaa !31
  %7525 = add i32 %7524, 1
  %7526 = and i32 %7525, 262143
  store i32 %7526, ptr %7523, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6596 = load i64, ptr %7498, align 8, !tbaa !33
  br label %7527

7527:                                             ; preds = %7522, %7493
  %7528 = phi i64 [ %.pre6596, %7522 ], [ %7520, %7493 ]
  %7529 = load i64, ptr %7496, align 8, !tbaa !38
  store i64 %7528, ptr %7496, align 8, !tbaa !38
  store i64 %7529, ptr %7498, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7530 = load i64, ptr @simtime, align 8, !tbaa !13
  %7531 = add i64 %7530, 200
  store i64 %7531, ptr @simtime, align 8, !tbaa !13
  %7532 = load i64, ptr %7498, align 8, !tbaa !33
  store i64 %7532, ptr %7496, align 8, !tbaa !38
  br label %8570

7533:                                             ; preds = %._crit_edge
  %7534 = getelementptr inbounds i8, ptr %0, i64 64
  %7535 = load i64, ptr %7534, align 8, !tbaa !38
  %7536 = shl i64 %7535, 18
  %7537 = lshr i64 %7535, 18
  %7538 = or i64 %7536, %7537
  %7539 = and i64 %7538, 68719476735
  store i64 %7539, ptr %7534, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7540 = load i64, ptr @simtime, align 8, !tbaa !13
  %7541 = add i64 %7540, 100
  store i64 %7541, ptr @simtime, align 8, !tbaa !13
  %7542 = load i64, ptr %7534, align 8, !tbaa !38
  %7543 = getelementptr inbounds i8, ptr %0, i64 40
  %7544 = load i64, ptr %7543, align 8, !tbaa !33
  %7545 = and i64 %7544, %7542
  %7546 = or i64 %7544, %7542
  store i64 %7546, ptr %7543, align 8, !tbaa !33
  store i64 %7545, ptr %7534, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7547 = load i64, ptr @simtime, align 8, !tbaa !13
  %7548 = add i64 %7547, 100
  store i64 %7548, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7549 = load i64, ptr %7534, align 8, !tbaa !38
  %7550 = load i64, ptr %7543, align 8, !tbaa !33
  store i64 %7550, ptr %7534, align 8, !tbaa !38
  store i64 %7549, ptr %7543, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7551 = load i64, ptr @simtime, align 8, !tbaa !13
  %7552 = add i64 %7551, 100
  store i64 %7552, ptr @simtime, align 8, !tbaa !13
  %7553 = load i64, ptr %7543, align 8, !tbaa !33
  %7554 = xor i64 %7553, 68719476735
  store i64 %7554, ptr %7543, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7555 = load i64, ptr @simtime, align 8, !tbaa !13
  %7556 = add i64 %7555, 100
  store i64 %7556, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7557 = load i64, ptr @simtime, align 8, !tbaa !13
  %7558 = add i64 %7557, 100
  store i64 %7558, ptr @simtime, align 8, !tbaa !13
  %7559 = load i64, ptr %7543, align 8, !tbaa !33
  %7560 = xor i64 %7559, 68719476735
  store i64 %7560, ptr %7543, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7561 = load i64, ptr @simtime, align 8, !tbaa !13
  %7562 = add i64 %7561, 100
  store i64 %7562, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7563 = load i64, ptr @simtime, align 8, !tbaa !13
  %7564 = add i64 %7563, 200
  store i64 %7564, ptr @simtime, align 8, !tbaa !13
  %7565 = load i64, ptr %7543, align 8, !tbaa !33
  %7566 = icmp eq i64 %7565, 0
  br i1 %7566, label %7567, label %7572

7567:                                             ; preds = %7533
  %7568 = getelementptr inbounds i8, ptr %0, i64 88
  %7569 = load i32, ptr %7568, align 8, !tbaa !31
  %7570 = add i32 %7569, 1
  %7571 = and i32 %7570, 262143
  store i32 %7571, ptr %7568, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6595 = load i64, ptr %7543, align 8, !tbaa !33
  br label %7572

7572:                                             ; preds = %7567, %7533
  %7573 = phi i64 [ %.pre6595, %7567 ], [ %7565, %7533 ]
  %7574 = load i64, ptr %7534, align 8, !tbaa !38
  store i64 %7573, ptr %7534, align 8, !tbaa !38
  store i64 %7574, ptr %7543, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7575 = load i64, ptr @simtime, align 8, !tbaa !13
  %7576 = add i64 %7575, 200
  store i64 %7576, ptr @simtime, align 8, !tbaa !13
  %7577 = load i64, ptr %7543, align 8, !tbaa !33
  store i64 %7577, ptr %7534, align 8, !tbaa !38
  br label %8570

7578:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7579 = load i64, ptr @simtime, align 8, !tbaa !13
  %7580 = add i64 %7579, 100
  store i64 %7580, ptr @simtime, align 8, !tbaa !13
  %7581 = getelementptr inbounds i8, ptr %0, i64 64
  %7582 = load i64, ptr %7581, align 8, !tbaa !38
  %7583 = getelementptr inbounds i8, ptr %0, i64 40
  %7584 = load i64, ptr %7583, align 8, !tbaa !33
  %7585 = and i64 %7584, %7582
  %7586 = or i64 %7584, %7582
  store i64 %7586, ptr %7583, align 8, !tbaa !33
  store i64 %7585, ptr %7581, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7587 = load i64, ptr @simtime, align 8, !tbaa !13
  %7588 = add i64 %7587, 100
  store i64 %7588, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7589 = load i64, ptr %7581, align 8, !tbaa !38
  %7590 = load i64, ptr %7583, align 8, !tbaa !33
  store i64 %7590, ptr %7581, align 8, !tbaa !38
  store i64 %7589, ptr %7583, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7591 = load i64, ptr @simtime, align 8, !tbaa !13
  %7592 = add i64 %7591, 100
  store i64 %7592, ptr @simtime, align 8, !tbaa !13
  %7593 = load i64, ptr %7583, align 8, !tbaa !33
  %7594 = xor i64 %7593, 68719476735
  store i64 %7594, ptr %7583, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7595 = load i64, ptr @simtime, align 8, !tbaa !13
  %7596 = add i64 %7595, 100
  store i64 %7596, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7597 = load i64, ptr @simtime, align 8, !tbaa !13
  %7598 = add i64 %7597, 100
  store i64 %7598, ptr @simtime, align 8, !tbaa !13
  %7599 = load i64, ptr %7583, align 8, !tbaa !33
  %7600 = xor i64 %7599, 68719476735
  store i64 %7600, ptr %7583, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7601 = load i64, ptr @simtime, align 8, !tbaa !13
  %7602 = add i64 %7601, 100
  store i64 %7602, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7603 = load i64, ptr @simtime, align 8, !tbaa !13
  %7604 = add i64 %7603, 200
  store i64 %7604, ptr @simtime, align 8, !tbaa !13
  %7605 = getelementptr inbounds i8, ptr %0, i64 88
  %7606 = load i32, ptr %7605, align 8, !tbaa !31
  %7607 = add i32 %7606, 1
  %7608 = and i32 %7607, 262143
  store i32 %7608, ptr %7605, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %7609 = load i64, ptr %7581, align 8, !tbaa !38
  %7610 = load i64, ptr %7583, align 8, !tbaa !33
  store i64 %7610, ptr %7581, align 8, !tbaa !38
  store i64 %7609, ptr %7583, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7611 = load i64, ptr @simtime, align 8, !tbaa !13
  %7612 = add i64 %7611, 200
  store i64 %7612, ptr @simtime, align 8, !tbaa !13
  br label %8570

7613:                                             ; preds = %._crit_edge
  %7614 = getelementptr inbounds i8, ptr %0, i64 64
  %7615 = load i64, ptr %7614, align 8, !tbaa !38
  %7616 = shl i64 %7615, 18
  %7617 = lshr i64 %7615, 18
  %7618 = or i64 %7616, %7617
  %7619 = and i64 %7618, 68719476735
  store i64 %7619, ptr %7614, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7620 = load i64, ptr @simtime, align 8, !tbaa !13
  %7621 = add i64 %7620, 100
  store i64 %7621, ptr @simtime, align 8, !tbaa !13
  %7622 = load i64, ptr %7614, align 8, !tbaa !38
  %7623 = getelementptr inbounds i8, ptr %0, i64 40
  %7624 = load i64, ptr %7623, align 8, !tbaa !33
  %7625 = and i64 %7624, %7622
  %7626 = or i64 %7624, %7622
  store i64 %7626, ptr %7623, align 8, !tbaa !33
  store i64 %7625, ptr %7614, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7627 = load i64, ptr @simtime, align 8, !tbaa !13
  %7628 = add i64 %7627, 100
  store i64 %7628, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7629 = load i64, ptr %7614, align 8, !tbaa !38
  %7630 = load i64, ptr %7623, align 8, !tbaa !33
  store i64 %7630, ptr %7614, align 8, !tbaa !38
  store i64 %7629, ptr %7623, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7631 = load i64, ptr @simtime, align 8, !tbaa !13
  %7632 = add i64 %7631, 100
  store i64 %7632, ptr @simtime, align 8, !tbaa !13
  %7633 = load i64, ptr %7623, align 8, !tbaa !33
  %7634 = xor i64 %7633, 68719476735
  store i64 %7634, ptr %7623, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7635 = load i64, ptr @simtime, align 8, !tbaa !13
  %7636 = add i64 %7635, 100
  store i64 %7636, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7637 = load i64, ptr @simtime, align 8, !tbaa !13
  %7638 = add i64 %7637, 100
  store i64 %7638, ptr @simtime, align 8, !tbaa !13
  %7639 = load i64, ptr %7623, align 8, !tbaa !33
  %7640 = xor i64 %7639, 68719476735
  store i64 %7640, ptr %7623, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7641 = load i64, ptr @simtime, align 8, !tbaa !13
  %7642 = add i64 %7641, 100
  store i64 %7642, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7643 = load i64, ptr @simtime, align 8, !tbaa !13
  %7644 = add i64 %7643, 200
  store i64 %7644, ptr @simtime, align 8, !tbaa !13
  %7645 = getelementptr inbounds i8, ptr %0, i64 88
  %7646 = load i32, ptr %7645, align 8, !tbaa !31
  %7647 = add i32 %7646, 1
  %7648 = and i32 %7647, 262143
  store i32 %7648, ptr %7645, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %7649 = load i64, ptr %7614, align 8, !tbaa !38
  %7650 = load i64, ptr %7623, align 8, !tbaa !33
  store i64 %7650, ptr %7614, align 8, !tbaa !38
  store i64 %7649, ptr %7623, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7651 = load i64, ptr @simtime, align 8, !tbaa !13
  %7652 = add i64 %7651, 200
  store i64 %7652, ptr @simtime, align 8, !tbaa !13
  br label %8570

7653:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7654 = load i64, ptr @simtime, align 8, !tbaa !13
  %7655 = add i64 %7654, 100
  store i64 %7655, ptr @simtime, align 8, !tbaa !13
  %7656 = getelementptr inbounds i8, ptr %0, i64 64
  %7657 = load i64, ptr %7656, align 8, !tbaa !38
  %7658 = getelementptr inbounds i8, ptr %0, i64 40
  %7659 = load i64, ptr %7658, align 8, !tbaa !33
  %7660 = and i64 %7659, %7657
  %7661 = or i64 %7659, %7657
  store i64 %7661, ptr %7658, align 8, !tbaa !33
  store i64 %7660, ptr %7656, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7662 = load i64, ptr @simtime, align 8, !tbaa !13
  %7663 = add i64 %7662, 100
  store i64 %7663, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7664 = load i64, ptr %7656, align 8, !tbaa !38
  %7665 = load i64, ptr %7658, align 8, !tbaa !33
  store i64 %7665, ptr %7656, align 8, !tbaa !38
  store i64 %7664, ptr %7658, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7666 = load i64, ptr @simtime, align 8, !tbaa !13
  %7667 = add i64 %7666, 100
  store i64 %7667, ptr @simtime, align 8, !tbaa !13
  %7668 = load i64, ptr %7658, align 8, !tbaa !33
  %7669 = xor i64 %7668, 68719476735
  store i64 %7669, ptr %7658, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7670 = load i64, ptr @simtime, align 8, !tbaa !13
  %7671 = add i64 %7670, 100
  store i64 %7671, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7672 = load i64, ptr @simtime, align 8, !tbaa !13
  %7673 = add i64 %7672, 100
  store i64 %7673, ptr @simtime, align 8, !tbaa !13
  %7674 = load i64, ptr %7658, align 8, !tbaa !33
  %7675 = xor i64 %7674, 68719476735
  store i64 %7675, ptr %7658, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7676 = load i64, ptr @simtime, align 8, !tbaa !13
  %7677 = add i64 %7676, 100
  store i64 %7677, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7678 = load i64, ptr @simtime, align 8, !tbaa !13
  %7679 = add i64 %7678, 200
  store i64 %7679, ptr @simtime, align 8, !tbaa !13
  %7680 = load i64, ptr %7658, align 8, !tbaa !33
  %7681 = icmp eq i64 %7680, 0
  br i1 %7681, label %7687, label %7682

7682:                                             ; preds = %7653
  %7683 = getelementptr inbounds i8, ptr %0, i64 88
  %7684 = load i32, ptr %7683, align 8, !tbaa !31
  %7685 = add i32 %7684, 1
  %7686 = and i32 %7685, 262143
  store i32 %7686, ptr %7683, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6594 = load i64, ptr %7658, align 8, !tbaa !33
  br label %7687

7687:                                             ; preds = %7682, %7653
  %7688 = phi i64 [ %.pre6594, %7682 ], [ 0, %7653 ]
  %7689 = load i64, ptr %7656, align 8, !tbaa !38
  store i64 %7688, ptr %7656, align 8, !tbaa !38
  store i64 %7689, ptr %7658, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7690 = load i64, ptr @simtime, align 8, !tbaa !13
  %7691 = add i64 %7690, 200
  store i64 %7691, ptr @simtime, align 8, !tbaa !13
  %7692 = load i64, ptr %7658, align 8, !tbaa !33
  store i64 %7692, ptr %7656, align 8, !tbaa !38
  br label %8570

7693:                                             ; preds = %._crit_edge
  %7694 = getelementptr inbounds i8, ptr %0, i64 64
  %7695 = load i64, ptr %7694, align 8, !tbaa !38
  %7696 = shl i64 %7695, 18
  %7697 = lshr i64 %7695, 18
  %7698 = or i64 %7696, %7697
  %7699 = and i64 %7698, 68719476735
  store i64 %7699, ptr %7694, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7700 = load i64, ptr @simtime, align 8, !tbaa !13
  %7701 = add i64 %7700, 100
  store i64 %7701, ptr @simtime, align 8, !tbaa !13
  %7702 = load i64, ptr %7694, align 8, !tbaa !38
  %7703 = getelementptr inbounds i8, ptr %0, i64 40
  %7704 = load i64, ptr %7703, align 8, !tbaa !33
  %7705 = and i64 %7704, %7702
  %7706 = or i64 %7704, %7702
  store i64 %7706, ptr %7703, align 8, !tbaa !33
  store i64 %7705, ptr %7694, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7707 = load i64, ptr @simtime, align 8, !tbaa !13
  %7708 = add i64 %7707, 100
  store i64 %7708, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7709 = load i64, ptr %7694, align 8, !tbaa !38
  %7710 = load i64, ptr %7703, align 8, !tbaa !33
  store i64 %7710, ptr %7694, align 8, !tbaa !38
  store i64 %7709, ptr %7703, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7711 = load i64, ptr @simtime, align 8, !tbaa !13
  %7712 = add i64 %7711, 100
  store i64 %7712, ptr @simtime, align 8, !tbaa !13
  %7713 = load i64, ptr %7703, align 8, !tbaa !33
  %7714 = xor i64 %7713, 68719476735
  store i64 %7714, ptr %7703, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7715 = load i64, ptr @simtime, align 8, !tbaa !13
  %7716 = add i64 %7715, 100
  store i64 %7716, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7717 = load i64, ptr @simtime, align 8, !tbaa !13
  %7718 = add i64 %7717, 100
  store i64 %7718, ptr @simtime, align 8, !tbaa !13
  %7719 = load i64, ptr %7703, align 8, !tbaa !33
  %7720 = xor i64 %7719, 68719476735
  store i64 %7720, ptr %7703, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7721 = load i64, ptr @simtime, align 8, !tbaa !13
  %7722 = add i64 %7721, 100
  store i64 %7722, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7723 = load i64, ptr @simtime, align 8, !tbaa !13
  %7724 = add i64 %7723, 200
  store i64 %7724, ptr @simtime, align 8, !tbaa !13
  %7725 = load i64, ptr %7703, align 8, !tbaa !33
  %7726 = icmp eq i64 %7725, 0
  br i1 %7726, label %7732, label %7727

7727:                                             ; preds = %7693
  %7728 = getelementptr inbounds i8, ptr %0, i64 88
  %7729 = load i32, ptr %7728, align 8, !tbaa !31
  %7730 = add i32 %7729, 1
  %7731 = and i32 %7730, 262143
  store i32 %7731, ptr %7728, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6593 = load i64, ptr %7703, align 8, !tbaa !33
  br label %7732

7732:                                             ; preds = %7727, %7693
  %7733 = phi i64 [ %.pre6593, %7727 ], [ 0, %7693 ]
  %7734 = load i64, ptr %7694, align 8, !tbaa !38
  store i64 %7733, ptr %7694, align 8, !tbaa !38
  store i64 %7734, ptr %7703, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7735 = load i64, ptr @simtime, align 8, !tbaa !13
  %7736 = add i64 %7735, 200
  store i64 %7736, ptr @simtime, align 8, !tbaa !13
  %7737 = load i64, ptr %7703, align 8, !tbaa !33
  store i64 %7737, ptr %7694, align 8, !tbaa !38
  br label %8570

7738:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7739 = load i64, ptr @simtime, align 8, !tbaa !13
  %7740 = add i64 %7739, 100
  store i64 %7740, ptr @simtime, align 8, !tbaa !13
  %7741 = getelementptr inbounds i8, ptr %0, i64 64
  %7742 = load i64, ptr %7741, align 8, !tbaa !38
  %7743 = getelementptr inbounds i8, ptr %0, i64 40
  %7744 = load i64, ptr %7743, align 8, !tbaa !33
  %7745 = and i64 %7744, %7742
  %7746 = or i64 %7744, %7742
  store i64 %7746, ptr %7743, align 8, !tbaa !33
  store i64 %7745, ptr %7741, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7747 = load i64, ptr @simtime, align 8, !tbaa !13
  %7748 = add i64 %7747, 100
  store i64 %7748, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7749 = load i64, ptr %7741, align 8, !tbaa !38
  %7750 = load i64, ptr %7743, align 8, !tbaa !33
  store i64 %7750, ptr %7741, align 8, !tbaa !38
  store i64 %7749, ptr %7743, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7751 = load i64, ptr @simtime, align 8, !tbaa !13
  %7752 = add i64 %7751, 100
  store i64 %7752, ptr @simtime, align 8, !tbaa !13
  %7753 = load i64, ptr %7743, align 8, !tbaa !33
  %7754 = xor i64 %7753, 68719476735
  store i64 %7754, ptr %7743, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7755 = load i64, ptr @simtime, align 8, !tbaa !13
  %7756 = add i64 %7755, 100
  store i64 %7756, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7757 = load i64, ptr @simtime, align 8, !tbaa !13
  %7758 = add i64 %7757, 100
  store i64 %7758, ptr @simtime, align 8, !tbaa !13
  %7759 = load i64, ptr %7743, align 8, !tbaa !33
  %7760 = xor i64 %7759, 68719476735
  store i64 %7760, ptr %7743, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7761 = load i64, ptr @simtime, align 8, !tbaa !13
  %7762 = add i64 %7761, 100
  store i64 %7762, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7763 = load i64, ptr @simtime, align 8, !tbaa !13
  %7764 = add i64 %7763, 200
  store i64 %7764, ptr @simtime, align 8, !tbaa !13
  %7765 = load i64, ptr %7741, align 8, !tbaa !38
  %7766 = load i64, ptr %7743, align 8, !tbaa !33
  store i64 %7766, ptr %7741, align 8, !tbaa !38
  store i64 %7765, ptr %7743, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7767 = load i64, ptr @simtime, align 8, !tbaa !13
  %7768 = add i64 %7767, 200
  store i64 %7768, ptr @simtime, align 8, !tbaa !13
  br label %8570

7769:                                             ; preds = %._crit_edge
  %7770 = getelementptr inbounds i8, ptr %0, i64 64
  %7771 = load i64, ptr %7770, align 8, !tbaa !38
  %7772 = shl i64 %7771, 18
  %7773 = lshr i64 %7771, 18
  %7774 = or i64 %7772, %7773
  %7775 = and i64 %7774, 68719476735
  store i64 %7775, ptr %7770, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7776 = load i64, ptr @simtime, align 8, !tbaa !13
  %7777 = add i64 %7776, 100
  store i64 %7777, ptr @simtime, align 8, !tbaa !13
  %7778 = load i64, ptr %7770, align 8, !tbaa !38
  %7779 = getelementptr inbounds i8, ptr %0, i64 40
  %7780 = load i64, ptr %7779, align 8, !tbaa !33
  %7781 = and i64 %7780, %7778
  %7782 = or i64 %7780, %7778
  store i64 %7782, ptr %7779, align 8, !tbaa !33
  store i64 %7781, ptr %7770, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7783 = load i64, ptr @simtime, align 8, !tbaa !13
  %7784 = add i64 %7783, 100
  store i64 %7784, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7785 = load i64, ptr %7770, align 8, !tbaa !38
  %7786 = load i64, ptr %7779, align 8, !tbaa !33
  store i64 %7786, ptr %7770, align 8, !tbaa !38
  store i64 %7785, ptr %7779, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7787 = load i64, ptr @simtime, align 8, !tbaa !13
  %7788 = add i64 %7787, 100
  store i64 %7788, ptr @simtime, align 8, !tbaa !13
  %7789 = load i64, ptr %7779, align 8, !tbaa !33
  %7790 = xor i64 %7789, 68719476735
  store i64 %7790, ptr %7779, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7791 = load i64, ptr @simtime, align 8, !tbaa !13
  %7792 = add i64 %7791, 100
  store i64 %7792, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7793 = load i64, ptr @simtime, align 8, !tbaa !13
  %7794 = add i64 %7793, 100
  store i64 %7794, ptr @simtime, align 8, !tbaa !13
  %7795 = load i64, ptr %7779, align 8, !tbaa !33
  %7796 = xor i64 %7795, 68719476735
  store i64 %7796, ptr %7779, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7797 = load i64, ptr @simtime, align 8, !tbaa !13
  %7798 = add i64 %7797, 100
  store i64 %7798, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7799 = load i64, ptr @simtime, align 8, !tbaa !13
  %7800 = add i64 %7799, 200
  store i64 %7800, ptr @simtime, align 8, !tbaa !13
  %7801 = load i64, ptr %7770, align 8, !tbaa !38
  %7802 = load i64, ptr %7779, align 8, !tbaa !33
  store i64 %7802, ptr %7770, align 8, !tbaa !38
  store i64 %7801, ptr %7779, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7803 = load i64, ptr @simtime, align 8, !tbaa !13
  %7804 = add i64 %7803, 200
  store i64 %7804, ptr @simtime, align 8, !tbaa !13
  br label %8570

7805:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7806 = load i64, ptr @simtime, align 8, !tbaa !13
  %7807 = add i64 %7806, 100
  store i64 %7807, ptr @simtime, align 8, !tbaa !13
  %7808 = getelementptr inbounds i8, ptr %0, i64 64
  %7809 = load i64, ptr %7808, align 8, !tbaa !38
  %7810 = getelementptr inbounds i8, ptr %0, i64 40
  %7811 = load i64, ptr %7810, align 8, !tbaa !33
  %7812 = and i64 %7811, %7809
  %7813 = or i64 %7811, %7809
  store i64 %7813, ptr %7810, align 8, !tbaa !33
  store i64 %7812, ptr %7808, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7814 = load i64, ptr @simtime, align 8, !tbaa !13
  %7815 = add i64 %7814, 100
  store i64 %7815, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7816 = load i64, ptr %7808, align 8, !tbaa !38
  %7817 = load i64, ptr %7810, align 8, !tbaa !33
  store i64 %7817, ptr %7808, align 8, !tbaa !38
  store i64 %7816, ptr %7810, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7818 = load i64, ptr @simtime, align 8, !tbaa !13
  %7819 = add i64 %7818, 100
  store i64 %7819, ptr @simtime, align 8, !tbaa !13
  %7820 = load i64, ptr %7810, align 8, !tbaa !33
  %7821 = xor i64 %7820, 68719476735
  store i64 %7821, ptr %7810, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7822 = load i64, ptr @simtime, align 8, !tbaa !13
  %7823 = add i64 %7822, 100
  store i64 %7823, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7824 = load i64, ptr @simtime, align 8, !tbaa !13
  %7825 = add i64 %7824, 100
  store i64 %7825, ptr @simtime, align 8, !tbaa !13
  %7826 = load i64, ptr %7810, align 8, !tbaa !33
  %7827 = xor i64 %7826, 68719476735
  store i64 %7827, ptr %7810, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7828 = load i64, ptr @simtime, align 8, !tbaa !13
  %7829 = add i64 %7828, 100
  store i64 %7829, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7830 = load i64, ptr @simtime, align 8, !tbaa !13
  %7831 = add i64 %7830, 200
  store i64 %7831, ptr @simtime, align 8, !tbaa !13
  %7832 = load i64, ptr %7810, align 8, !tbaa !33
  %7833 = icmp eq i64 %7832, 0
  br i1 %7833, label %7834, label %7839

7834:                                             ; preds = %7805
  %7835 = getelementptr inbounds i8, ptr %0, i64 88
  %7836 = load i32, ptr %7835, align 8, !tbaa !31
  %7837 = add i32 %7836, 1
  %7838 = and i32 %7837, 262143
  store i32 %7838, ptr %7835, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6592 = load i64, ptr %7810, align 8, !tbaa !33
  br label %7839

7839:                                             ; preds = %7834, %7805
  %7840 = phi i64 [ %.pre6592, %7834 ], [ %7832, %7805 ]
  %7841 = load i64, ptr %7808, align 8, !tbaa !38
  store i64 %7840, ptr %7808, align 8, !tbaa !38
  store i64 %7841, ptr %7810, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7842 = load i64, ptr @simtime, align 8, !tbaa !13
  %7843 = add i64 %7842, 200
  store i64 %7843, ptr @simtime, align 8, !tbaa !13
  %7844 = load i64, ptr %7810, align 8, !tbaa !33
  store i64 %7844, ptr %7808, align 8, !tbaa !38
  br label %8570

7845:                                             ; preds = %._crit_edge
  %7846 = getelementptr inbounds i8, ptr %0, i64 64
  %7847 = load i64, ptr %7846, align 8, !tbaa !38
  %7848 = shl i64 %7847, 18
  %7849 = lshr i64 %7847, 18
  %7850 = or i64 %7848, %7849
  %7851 = and i64 %7850, 68719476735
  store i64 %7851, ptr %7846, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7852 = load i64, ptr @simtime, align 8, !tbaa !13
  %7853 = add i64 %7852, 100
  store i64 %7853, ptr @simtime, align 8, !tbaa !13
  %7854 = load i64, ptr %7846, align 8, !tbaa !38
  %7855 = getelementptr inbounds i8, ptr %0, i64 40
  %7856 = load i64, ptr %7855, align 8, !tbaa !33
  %7857 = and i64 %7856, %7854
  %7858 = or i64 %7856, %7854
  store i64 %7858, ptr %7855, align 8, !tbaa !33
  store i64 %7857, ptr %7846, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7859 = load i64, ptr @simtime, align 8, !tbaa !13
  %7860 = add i64 %7859, 100
  store i64 %7860, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7861 = load i64, ptr %7846, align 8, !tbaa !38
  %7862 = load i64, ptr %7855, align 8, !tbaa !33
  store i64 %7862, ptr %7846, align 8, !tbaa !38
  store i64 %7861, ptr %7855, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7863 = load i64, ptr @simtime, align 8, !tbaa !13
  %7864 = add i64 %7863, 100
  store i64 %7864, ptr @simtime, align 8, !tbaa !13
  %7865 = load i64, ptr %7855, align 8, !tbaa !33
  %7866 = xor i64 %7865, 68719476735
  store i64 %7866, ptr %7855, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7867 = load i64, ptr @simtime, align 8, !tbaa !13
  %7868 = add i64 %7867, 100
  store i64 %7868, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7869 = load i64, ptr @simtime, align 8, !tbaa !13
  %7870 = add i64 %7869, 100
  store i64 %7870, ptr @simtime, align 8, !tbaa !13
  %7871 = load i64, ptr %7855, align 8, !tbaa !33
  %7872 = xor i64 %7871, 68719476735
  store i64 %7872, ptr %7855, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7873 = load i64, ptr @simtime, align 8, !tbaa !13
  %7874 = add i64 %7873, 100
  store i64 %7874, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7875 = load i64, ptr @simtime, align 8, !tbaa !13
  %7876 = add i64 %7875, 200
  store i64 %7876, ptr @simtime, align 8, !tbaa !13
  %7877 = load i64, ptr %7855, align 8, !tbaa !33
  %7878 = icmp eq i64 %7877, 0
  br i1 %7878, label %7879, label %7884

7879:                                             ; preds = %7845
  %7880 = getelementptr inbounds i8, ptr %0, i64 88
  %7881 = load i32, ptr %7880, align 8, !tbaa !31
  %7882 = add i32 %7881, 1
  %7883 = and i32 %7882, 262143
  store i32 %7883, ptr %7880, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6591 = load i64, ptr %7855, align 8, !tbaa !33
  br label %7884

7884:                                             ; preds = %7879, %7845
  %7885 = phi i64 [ %.pre6591, %7879 ], [ %7877, %7845 ]
  %7886 = load i64, ptr %7846, align 8, !tbaa !38
  store i64 %7885, ptr %7846, align 8, !tbaa !38
  store i64 %7886, ptr %7855, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7887 = load i64, ptr @simtime, align 8, !tbaa !13
  %7888 = add i64 %7887, 200
  store i64 %7888, ptr @simtime, align 8, !tbaa !13
  %7889 = load i64, ptr %7855, align 8, !tbaa !33
  store i64 %7889, ptr %7846, align 8, !tbaa !38
  br label %8570

7890:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7891 = load i64, ptr @simtime, align 8, !tbaa !13
  %7892 = add i64 %7891, 100
  store i64 %7892, ptr @simtime, align 8, !tbaa !13
  %7893 = getelementptr inbounds i8, ptr %0, i64 64
  %7894 = load i64, ptr %7893, align 8, !tbaa !38
  %7895 = getelementptr inbounds i8, ptr %0, i64 40
  %7896 = load i64, ptr %7895, align 8, !tbaa !33
  %7897 = and i64 %7896, %7894
  %7898 = or i64 %7896, %7894
  store i64 %7898, ptr %7895, align 8, !tbaa !33
  store i64 %7897, ptr %7893, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7899 = load i64, ptr @simtime, align 8, !tbaa !13
  %7900 = add i64 %7899, 100
  store i64 %7900, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7901 = load i64, ptr %7893, align 8, !tbaa !38
  %7902 = load i64, ptr %7895, align 8, !tbaa !33
  store i64 %7902, ptr %7893, align 8, !tbaa !38
  store i64 %7901, ptr %7895, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7903 = load i64, ptr @simtime, align 8, !tbaa !13
  %7904 = add i64 %7903, 100
  store i64 %7904, ptr @simtime, align 8, !tbaa !13
  %7905 = load i64, ptr %7895, align 8, !tbaa !33
  %7906 = xor i64 %7905, 68719476735
  store i64 %7906, ptr %7895, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7907 = load i64, ptr @simtime, align 8, !tbaa !13
  %7908 = add i64 %7907, 100
  store i64 %7908, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7909 = load i64, ptr @simtime, align 8, !tbaa !13
  %7910 = add i64 %7909, 100
  store i64 %7910, ptr @simtime, align 8, !tbaa !13
  %7911 = load i64, ptr %7895, align 8, !tbaa !33
  %7912 = xor i64 %7911, 68719476735
  store i64 %7912, ptr %7895, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7913 = load i64, ptr @simtime, align 8, !tbaa !13
  %7914 = add i64 %7913, 100
  store i64 %7914, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7915 = load i64, ptr @simtime, align 8, !tbaa !13
  %7916 = add i64 %7915, 200
  store i64 %7916, ptr @simtime, align 8, !tbaa !13
  %7917 = getelementptr inbounds i8, ptr %0, i64 88
  %7918 = load i32, ptr %7917, align 8, !tbaa !31
  %7919 = add i32 %7918, 1
  %7920 = and i32 %7919, 262143
  store i32 %7920, ptr %7917, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %7921 = load i64, ptr %7893, align 8, !tbaa !38
  %7922 = load i64, ptr %7895, align 8, !tbaa !33
  store i64 %7922, ptr %7893, align 8, !tbaa !38
  store i64 %7921, ptr %7895, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7923 = load i64, ptr @simtime, align 8, !tbaa !13
  %7924 = add i64 %7923, 200
  store i64 %7924, ptr @simtime, align 8, !tbaa !13
  br label %8570

7925:                                             ; preds = %._crit_edge
  %7926 = getelementptr inbounds i8, ptr %0, i64 64
  %7927 = load i64, ptr %7926, align 8, !tbaa !38
  %7928 = shl i64 %7927, 18
  %7929 = lshr i64 %7927, 18
  %7930 = or i64 %7928, %7929
  %7931 = and i64 %7930, 68719476735
  store i64 %7931, ptr %7926, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7932 = load i64, ptr @simtime, align 8, !tbaa !13
  %7933 = add i64 %7932, 100
  store i64 %7933, ptr @simtime, align 8, !tbaa !13
  %7934 = load i64, ptr %7926, align 8, !tbaa !38
  %7935 = getelementptr inbounds i8, ptr %0, i64 40
  %7936 = load i64, ptr %7935, align 8, !tbaa !33
  %7937 = and i64 %7936, %7934
  %7938 = or i64 %7936, %7934
  store i64 %7938, ptr %7935, align 8, !tbaa !33
  store i64 %7937, ptr %7926, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7939 = load i64, ptr @simtime, align 8, !tbaa !13
  %7940 = add i64 %7939, 100
  store i64 %7940, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7941 = load i64, ptr %7926, align 8, !tbaa !38
  %7942 = load i64, ptr %7935, align 8, !tbaa !33
  store i64 %7942, ptr %7926, align 8, !tbaa !38
  store i64 %7941, ptr %7935, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7943 = load i64, ptr @simtime, align 8, !tbaa !13
  %7944 = add i64 %7943, 100
  store i64 %7944, ptr @simtime, align 8, !tbaa !13
  %7945 = load i64, ptr %7935, align 8, !tbaa !33
  %7946 = xor i64 %7945, 68719476735
  store i64 %7946, ptr %7935, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7947 = load i64, ptr @simtime, align 8, !tbaa !13
  %7948 = add i64 %7947, 100
  store i64 %7948, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7949 = load i64, ptr @simtime, align 8, !tbaa !13
  %7950 = add i64 %7949, 100
  store i64 %7950, ptr @simtime, align 8, !tbaa !13
  %7951 = load i64, ptr %7935, align 8, !tbaa !33
  %7952 = xor i64 %7951, 68719476735
  store i64 %7952, ptr %7935, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7953 = load i64, ptr @simtime, align 8, !tbaa !13
  %7954 = add i64 %7953, 100
  store i64 %7954, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7955 = load i64, ptr @simtime, align 8, !tbaa !13
  %7956 = add i64 %7955, 200
  store i64 %7956, ptr @simtime, align 8, !tbaa !13
  %7957 = getelementptr inbounds i8, ptr %0, i64 88
  %7958 = load i32, ptr %7957, align 8, !tbaa !31
  %7959 = add i32 %7958, 1
  %7960 = and i32 %7959, 262143
  store i32 %7960, ptr %7957, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %7961 = load i64, ptr %7926, align 8, !tbaa !38
  %7962 = load i64, ptr %7935, align 8, !tbaa !33
  store i64 %7962, ptr %7926, align 8, !tbaa !38
  store i64 %7961, ptr %7935, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %7963 = load i64, ptr @simtime, align 8, !tbaa !13
  %7964 = add i64 %7963, 200
  store i64 %7964, ptr @simtime, align 8, !tbaa !13
  br label %8570

7965:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %7966 = load i64, ptr @simtime, align 8, !tbaa !13
  %7967 = add i64 %7966, 100
  store i64 %7967, ptr @simtime, align 8, !tbaa !13
  %7968 = getelementptr inbounds i8, ptr %0, i64 64
  %7969 = load i64, ptr %7968, align 8, !tbaa !38
  %7970 = getelementptr inbounds i8, ptr %0, i64 40
  %7971 = load i64, ptr %7970, align 8, !tbaa !33
  %7972 = and i64 %7971, %7969
  %7973 = or i64 %7971, %7969
  store i64 %7973, ptr %7970, align 8, !tbaa !33
  store i64 %7972, ptr %7968, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %7974 = load i64, ptr @simtime, align 8, !tbaa !13
  %7975 = add i64 %7974, 100
  store i64 %7975, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %7976 = load i64, ptr %7968, align 8, !tbaa !38
  %7977 = load i64, ptr %7970, align 8, !tbaa !33
  store i64 %7977, ptr %7968, align 8, !tbaa !38
  store i64 %7976, ptr %7970, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %7978 = load i64, ptr @simtime, align 8, !tbaa !13
  %7979 = add i64 %7978, 100
  store i64 %7979, ptr @simtime, align 8, !tbaa !13
  %7980 = load i64, ptr %7970, align 8, !tbaa !33
  %7981 = xor i64 %7980, 68719476735
  store i64 %7981, ptr %7970, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %7982 = load i64, ptr @simtime, align 8, !tbaa !13
  %7983 = add i64 %7982, 100
  store i64 %7983, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %7984 = load i64, ptr @simtime, align 8, !tbaa !13
  %7985 = add i64 %7984, 100
  store i64 %7985, ptr @simtime, align 8, !tbaa !13
  %7986 = load i64, ptr %7970, align 8, !tbaa !33
  %7987 = xor i64 %7986, 68719476735
  store i64 %7987, ptr %7970, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %7988 = load i64, ptr @simtime, align 8, !tbaa !13
  %7989 = add i64 %7988, 100
  store i64 %7989, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %7990 = load i64, ptr @simtime, align 8, !tbaa !13
  %7991 = add i64 %7990, 200
  store i64 %7991, ptr @simtime, align 8, !tbaa !13
  %7992 = load i64, ptr %7970, align 8, !tbaa !33
  %7993 = icmp eq i64 %7992, 0
  br i1 %7993, label %7999, label %7994

7994:                                             ; preds = %7965
  %7995 = getelementptr inbounds i8, ptr %0, i64 88
  %7996 = load i32, ptr %7995, align 8, !tbaa !31
  %7997 = add i32 %7996, 1
  %7998 = and i32 %7997, 262143
  store i32 %7998, ptr %7995, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6590 = load i64, ptr %7970, align 8, !tbaa !33
  br label %7999

7999:                                             ; preds = %7994, %7965
  %8000 = phi i64 [ %.pre6590, %7994 ], [ 0, %7965 ]
  %8001 = load i64, ptr %7968, align 8, !tbaa !38
  store i64 %8000, ptr %7968, align 8, !tbaa !38
  store i64 %8001, ptr %7970, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8002 = load i64, ptr @simtime, align 8, !tbaa !13
  %8003 = add i64 %8002, 200
  store i64 %8003, ptr @simtime, align 8, !tbaa !13
  %8004 = load i64, ptr %7970, align 8, !tbaa !33
  store i64 %8004, ptr %7968, align 8, !tbaa !38
  br label %8570

8005:                                             ; preds = %._crit_edge
  %8006 = getelementptr inbounds i8, ptr %0, i64 64
  %8007 = load i64, ptr %8006, align 8, !tbaa !38
  %8008 = shl i64 %8007, 18
  %8009 = lshr i64 %8007, 18
  %8010 = or i64 %8008, %8009
  %8011 = and i64 %8010, 68719476735
  store i64 %8011, ptr %8006, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8012 = load i64, ptr @simtime, align 8, !tbaa !13
  %8013 = add i64 %8012, 100
  store i64 %8013, ptr @simtime, align 8, !tbaa !13
  %8014 = load i64, ptr %8006, align 8, !tbaa !38
  %8015 = getelementptr inbounds i8, ptr %0, i64 40
  %8016 = load i64, ptr %8015, align 8, !tbaa !33
  %8017 = and i64 %8016, %8014
  %8018 = or i64 %8016, %8014
  store i64 %8018, ptr %8015, align 8, !tbaa !33
  store i64 %8017, ptr %8006, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8019 = load i64, ptr @simtime, align 8, !tbaa !13
  %8020 = add i64 %8019, 100
  store i64 %8020, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8021 = load i64, ptr %8006, align 8, !tbaa !38
  %8022 = load i64, ptr %8015, align 8, !tbaa !33
  store i64 %8022, ptr %8006, align 8, !tbaa !38
  store i64 %8021, ptr %8015, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8023 = load i64, ptr @simtime, align 8, !tbaa !13
  %8024 = add i64 %8023, 100
  store i64 %8024, ptr @simtime, align 8, !tbaa !13
  %8025 = load i64, ptr %8015, align 8, !tbaa !33
  %8026 = xor i64 %8025, 68719476735
  store i64 %8026, ptr %8015, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8027 = load i64, ptr @simtime, align 8, !tbaa !13
  %8028 = add i64 %8027, 100
  store i64 %8028, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8029 = load i64, ptr @simtime, align 8, !tbaa !13
  %8030 = add i64 %8029, 100
  store i64 %8030, ptr @simtime, align 8, !tbaa !13
  %8031 = load i64, ptr %8015, align 8, !tbaa !33
  %8032 = xor i64 %8031, 68719476735
  store i64 %8032, ptr %8015, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8033 = load i64, ptr @simtime, align 8, !tbaa !13
  %8034 = add i64 %8033, 100
  store i64 %8034, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8035 = load i64, ptr @simtime, align 8, !tbaa !13
  %8036 = add i64 %8035, 200
  store i64 %8036, ptr @simtime, align 8, !tbaa !13
  %8037 = load i64, ptr %8015, align 8, !tbaa !33
  %8038 = icmp eq i64 %8037, 0
  br i1 %8038, label %8044, label %8039

8039:                                             ; preds = %8005
  %8040 = getelementptr inbounds i8, ptr %0, i64 88
  %8041 = load i32, ptr %8040, align 8, !tbaa !31
  %8042 = add i32 %8041, 1
  %8043 = and i32 %8042, 262143
  store i32 %8043, ptr %8040, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %.pre6589 = load i64, ptr %8015, align 8, !tbaa !33
  br label %8044

8044:                                             ; preds = %8039, %8005
  %8045 = phi i64 [ %.pre6589, %8039 ], [ 0, %8005 ]
  %8046 = load i64, ptr %8006, align 8, !tbaa !38
  store i64 %8045, ptr %8006, align 8, !tbaa !38
  store i64 %8046, ptr %8015, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8047 = load i64, ptr @simtime, align 8, !tbaa !13
  %8048 = add i64 %8047, 200
  store i64 %8048, ptr @simtime, align 8, !tbaa !13
  %8049 = load i64, ptr %8015, align 8, !tbaa !33
  store i64 %8049, ptr %8006, align 8, !tbaa !38
  br label %8570

8050:                                             ; preds = %._crit_edge
  %8051 = getelementptr inbounds i8, ptr %0, i64 64
  %8052 = load i64, ptr %8051, align 8, !tbaa !38
  %8053 = getelementptr inbounds i8, ptr %0, i64 40
  %8054 = load i64, ptr %8053, align 8, !tbaa !33
  store i64 %8054, ptr %8051, align 8, !tbaa !38
  store i64 %8052, ptr %8053, align 8, !tbaa !33
  br label %8055

8055:                                             ; preds = %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %._crit_edge, %8050
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8056 = load i64, ptr @simtime, align 8, !tbaa !13
  %8057 = add i64 %8056, 100
  store i64 %8057, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8058 = load i64, ptr @simtime, align 8, !tbaa !13
  %8059 = add i64 %8058, 100
  store i64 %8059, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8060 = load i64, ptr @simtime, align 8, !tbaa !13
  %8061 = add i64 %8060, 100
  store i64 %8061, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

8062:                                             ; preds = %._crit_edge
  %8063 = getelementptr inbounds i8, ptr %0, i64 64
  %8064 = load i64, ptr %8063, align 8, !tbaa !38
  %8065 = getelementptr inbounds i8, ptr %0, i64 40
  %8066 = load i64, ptr %8065, align 8, !tbaa !33
  store i64 %8066, ptr %8063, align 8, !tbaa !38
  store i64 %8064, ptr %8065, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8067 = load i64, ptr @simtime, align 8, !tbaa !13
  %8068 = add i64 %8067, 100
  store i64 %8068, ptr @simtime, align 8, !tbaa !13
  %8069 = load i64, ptr %8063, align 8, !tbaa !38
  %8070 = shl i64 %8069, 18
  %8071 = lshr i64 %8069, 18
  %8072 = or i64 %8070, %8071
  %8073 = and i64 %8072, 68719476735
  store i64 %8073, ptr %8063, align 8, !tbaa !38
  %8074 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %8074, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8075 = load i64, ptr @simtime, align 8, !tbaa !13
  %8076 = add i64 %8075, 100
  store i64 %8076, ptr @simtime, align 8, !tbaa !13
  %8077 = load i64, ptr %8063, align 8, !tbaa !38
  %8078 = load i32, ptr %8074, align 4, !tbaa !30
  %8079 = trunc i64 %8077 to i32
  %8080 = and i32 %8079, 262143
  %8081 = or i32 %8080, %8078
  store i32 %8081, ptr %8074, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8082 = load i64, ptr %8063, align 8, !tbaa !38
  %8083 = getelementptr inbounds i8, ptr %0, i64 48
  %8084 = load i64, ptr %8083, align 8, !tbaa !59
  store i64 %8084, ptr %8063, align 8, !tbaa !38
  store i64 %8082, ptr %8083, align 8, !tbaa !59
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.128)
  %8085 = getelementptr inbounds i8, ptr %0, i64 132
  store i8 1, ptr %8085, align 4, !tbaa !100
  tail call void @wrrq(ptr noundef nonnull %0, i32 noundef 22)
  br label %8870

8086:                                             ; preds = %._crit_edge
  %8087 = getelementptr inbounds i8, ptr %0, i64 132
  store i8 0, ptr %8087, align 4, !tbaa !100
  %8088 = getelementptr inbounds i8, ptr %0, i64 48
  %8089 = load i64, ptr %8088, align 8, !tbaa !59
  %8090 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %8089, ptr %8090, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.129)
  %8091 = load i64, ptr @simtime, align 8, !tbaa !13
  %8092 = add i64 %8091, 100
  store i64 %8092, ptr @simtime, align 8, !tbaa !13
  %8093 = load i64, ptr %8090, align 8, !tbaa !38
  %8094 = getelementptr inbounds i8, ptr %0, i64 40
  %8095 = load i64, ptr %8094, align 8, !tbaa !33
  store i64 %8095, ptr %8090, align 8, !tbaa !38
  store i64 %8093, ptr %8094, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.130)
  %8096 = load i64, ptr @simtime, align 8, !tbaa !13
  %8097 = add i64 %8096, 100
  store i64 %8097, ptr @simtime, align 8, !tbaa !13
  %8098 = load i64, ptr %8094, align 8, !tbaa !33
  %8099 = and i64 %8098, 262143
  store i64 %8099, ptr %8094, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.131)
  %8100 = load i64, ptr @simtime, align 8, !tbaa !13
  %8101 = add i64 %8100, 100
  store i64 %8101, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.132)
  %8102 = getelementptr inbounds i8, ptr %0, i64 139
  store i8 1, ptr %8102, align 1, !tbaa !101
  tail call void @ar_sub(ptr noundef nonnull %0)
  store i8 0, ptr %8102, align 1, !tbaa !101
  %8103 = load i64, ptr %8090, align 8, !tbaa !38
  %8104 = load i64, ptr %8088, align 8, !tbaa !59
  store i64 %8104, ptr %8090, align 8, !tbaa !38
  store i64 %8103, ptr %8088, align 8, !tbaa !59
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.133)
  %8105 = load i64, ptr @simtime, align 8, !tbaa !13
  %8106 = add i64 %8105, 100
  store i64 %8106, ptr @simtime, align 8, !tbaa !13
  %8107 = load i64, ptr %8090, align 8, !tbaa !38
  %8108 = load i64, ptr %8094, align 8, !tbaa !33
  store i64 %8108, ptr %8090, align 8, !tbaa !38
  store i64 %8107, ptr %8094, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.134)
  %8109 = getelementptr inbounds i8, ptr %0, i64 120
  %8110 = load i8, ptr %8109, align 8, !tbaa !47
  %8111 = getelementptr inbounds i8, ptr %0, i64 180
  %8112 = load i8, ptr %8111, align 4, !tbaa !48
  %8113 = and i8 %8112, %8110
  tail call void @pir_set(ptr noundef nonnull %0, i8 noundef zeroext %8113)
  %8114 = load i64, ptr @simtime, align 8, !tbaa !13
  %8115 = add i64 %8114, 100
  store i64 %8115, ptr @simtime, align 8, !tbaa !13
  %8116 = load i64, ptr %8090, align 8, !tbaa !38
  %8117 = load i64, ptr %8088, align 8, !tbaa !59
  store i64 %8117, ptr %8090, align 8, !tbaa !38
  store i64 %8116, ptr %8088, align 8, !tbaa !59
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.135)
  %8118 = getelementptr inbounds i8, ptr %0, i64 140
  store i8 1, ptr %8118, align 4, !tbaa !102
  tail call void @ar_inc_ltrt(ptr noundef nonnull %0)
  store i8 0, ptr %8118, align 4, !tbaa !102
  %8119 = load i64, ptr %8088, align 8, !tbaa !59
  %8120 = and i64 %8119, 34359738368
  %.not6308 = icmp eq i64 %8120, 0
  br i1 %.not6308, label %8121, label %8129

8121:                                             ; preds = %8086
  %8122 = getelementptr inbounds i8, ptr %0, i64 88
  %8123 = load i32, ptr %8122, align 8, !tbaa !31
  %8124 = add i32 %8123, 1
  %8125 = and i32 %8124, 262143
  store i32 %8125, ptr %8122, align 8, !tbaa !31
  %8126 = getelementptr inbounds i8, ptr %0, i64 12
  %8127 = load i32, ptr %8126, align 4, !tbaa !17
  %8128 = or i32 %8127, 1024
  store i32 %8128, ptr %8126, align 4, !tbaa !17
  br label %8129

8129:                                             ; preds = %8121, %8086
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.136)
  %8130 = load i64, ptr %8088, align 8, !tbaa !59
  %8131 = and i64 %8130, 34359738368
  %.not6309 = icmp eq i64 %8131, 0
  br i1 %.not6309, label %8570, label %8132

8132:                                             ; preds = %8129
  %8133 = getelementptr inbounds i8, ptr %0, i64 183
  %8134 = load i8, ptr %8133, align 1, !tbaa !49
  %.not6310 = icmp eq i8 %8134, 0
  br i1 %.not6310, label %8135, label %8570

8135:                                             ; preds = %8132
  %8136 = load i64, ptr %8090, align 8, !tbaa !38
  %8137 = load i64, ptr %8094, align 8, !tbaa !33
  store i64 %8137, ptr %8090, align 8, !tbaa !38
  store i64 %8136, ptr %8094, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.137)
  %8138 = load i64, ptr @simtime, align 8, !tbaa !13
  %8139 = add i64 %8138, 100
  store i64 %8139, ptr @simtime, align 8, !tbaa !13
  br label %406

8140:                                             ; preds = %._crit_edge, %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8141 = load i64, ptr @simtime, align 8, !tbaa !13
  %8142 = add i64 %8141, 100
  store i64 %8142, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8143 = load i64, ptr @simtime, align 8, !tbaa !13
  %8144 = add i64 %8143, 100
  store i64 %8144, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8145 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %8145, align 1, !tbaa !74
  tail call void @ar_inc_ltrt(ptr noundef nonnull %0)
  store i8 0, ptr %8145, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8146 = load i64, ptr @simtime, align 8, !tbaa !13
  %8147 = add i64 %8146, 100
  store i64 %8147, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8148 = load i64, ptr @simtime, align 8, !tbaa !13
  %8149 = add i64 %8148, 100
  store i64 %8149, ptr @simtime, align 8, !tbaa !13
  %8150 = getelementptr inbounds i8, ptr %0, i64 40
  %8151 = load i64, ptr %8150, align 8, !tbaa !33
  %8152 = lshr i64 %8151, 35
  %8153 = trunc nuw nsw i64 %8152 to i32
  %8154 = load i32, ptr %11, align 4, !tbaa !16
  %8155 = xor i32 %8154, %8153
  %8156 = and i32 %8155, 1
  %8157 = icmp eq i32 %8156, 0
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8158 = load i64, ptr @simtime, align 8, !tbaa !13
  %8159 = add i64 %8158, 100
  store i64 %8159, ptr @simtime, align 8, !tbaa !13
  br i1 %8157, label %8160, label %.critedge6552

8160:                                             ; preds = %8140
  %8161 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %8161, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8162 = load i64, ptr @simtime, align 8, !tbaa !13
  %8163 = getelementptr inbounds i8, ptr %0, i64 92
  %8164 = load i32, ptr %8163, align 4, !tbaa !30
  %8165 = load i32, ptr %8161, align 8, !tbaa !31
  %8166 = or i32 %8165, %8164
  store i32 %8166, ptr %8161, align 8, !tbaa !31
  br label %8168

.critedge6552:                                    ; preds = %8140
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8167 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %8168

8168:                                             ; preds = %.critedge6552, %8160
  %.sink6585.in = phi i64 [ %8162, %8160 ], [ %8167, %.critedge6552 ]
  %.sink6585 = add i64 %.sink6585.in, 100
  store i64 %.sink6585, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8169 = load i64, ptr @simtime, align 8, !tbaa !13
  %8170 = add i64 %8169, 200
  store i64 %8170, ptr @simtime, align 8, !tbaa !13
  br i1 %8157, label %8171, label %8172

8171:                                             ; preds = %8168
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %8172

8172:                                             ; preds = %8171, %8168
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8173 = load i64, ptr @simtime, align 8, !tbaa !13
  %8174 = add i64 %8173, 200
  store i64 %8174, ptr @simtime, align 8, !tbaa !13
  br label %8570

8175:                                             ; preds = %._crit_edge
  %8176 = getelementptr inbounds i8, ptr %0, i64 100
  %8177 = load i32, ptr %8176, align 4, !tbaa !53
  %8178 = and i32 %8177, 128
  %.not6302 = icmp eq i32 %8178, 0
  br i1 %.not6302, label %8180, label %8179

8179:                                             ; preds = %8175
  tail call void @clr_run(ptr noundef nonnull %0)
  %.pre = load i32, ptr %8176, align 4, !tbaa !53
  br label %8180

8180:                                             ; preds = %8179, %8175
  %8181 = phi i32 [ %.pre, %8179 ], [ %8177, %8175 ]
  %8182 = and i32 %8181, 64
  %.not6303 = icmp eq i32 %8182, 0
  br i1 %.not6303, label %8184, label %8183

8183:                                             ; preds = %8180
  tail call void @ar_flag_clr(ptr noundef nonnull %0)
  br label %8184

8184:                                             ; preds = %8183, %8180
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8185 = load i64, ptr @simtime, align 8, !tbaa !13
  %8186 = add i64 %8185, 100
  store i64 %8186, ptr @simtime, align 8, !tbaa !13
  %8187 = load i32, ptr %8176, align 4, !tbaa !53
  %8188 = and i32 %8187, 256
  %.not6304 = icmp eq i32 %8188, 0
  br i1 %.not6304, label %8190, label %8189

8189:                                             ; preds = %8184
  tail call void @pi_rst(ptr noundef nonnull %0)
  %.pre6587 = load i32, ptr %8176, align 4, !tbaa !53
  br label %8190

8190:                                             ; preds = %8189, %8184
  %8191 = phi i32 [ %.pre6587, %8189 ], [ %8187, %8184 ]
  %8192 = and i32 %8191, 64
  %.not6305 = icmp eq i32 %8192, 0
  br i1 %.not6305, label %8194, label %8193

8193:                                             ; preds = %8190
  tail call void @ar_flag_set(ptr noundef nonnull %0)
  %.pre6588 = load i32, ptr %8176, align 4, !tbaa !53
  br label %8194

8194:                                             ; preds = %8193, %8190
  %8195 = phi i32 [ %.pre6588, %8193 ], [ %8191, %8190 ]
  %8196 = and i32 %8195, 32
  %.not6306 = icmp eq i32 %8196, 0
  br i1 %.not6306, label %8199, label %8197

8197:                                             ; preds = %8194
  %8198 = getelementptr inbounds i8, ptr %0, i64 185
  store i8 1, ptr %8198, align 1, !tbaa !103
  br label %8199

8199:                                             ; preds = %8197, %8194
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8200 = load i64, ptr @simtime, align 8, !tbaa !13
  %8201 = add i64 %8200, 100
  store i64 %8201, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8202 = load i64, ptr @simtime, align 8, !tbaa !13
  %8203 = add i64 %8202, 100
  store i64 %8203, ptr @simtime, align 8, !tbaa !13
  %8204 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 0, ptr %8204, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8205 = load i64, ptr @simtime, align 8, !tbaa !13
  %8206 = add i64 %8205, 100
  store i64 %8206, ptr @simtime, align 8, !tbaa !13
  %8207 = getelementptr inbounds i8, ptr %0, i64 88
  %8208 = load i32, ptr %8207, align 8, !tbaa !31
  %8209 = zext i32 %8208 to i64
  %8210 = load i64, ptr %8204, align 8, !tbaa !38
  %8211 = or i64 %8210, %8209
  store i64 %8211, ptr %8204, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8212 = load i64, ptr @simtime, align 8, !tbaa !13
  %8213 = add i64 %8212, 100
  store i64 %8213, ptr @simtime, align 8, !tbaa !13
  store i32 0, ptr %8207, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8214 = load i64, ptr @simtime, align 8, !tbaa !13
  %8215 = add i64 %8214, 100
  store i64 %8215, ptr @simtime, align 8, !tbaa !13
  %8216 = getelementptr inbounds i8, ptr %0, i64 92
  %8217 = load i32, ptr %8216, align 4, !tbaa !30
  %8218 = load i32, ptr %8207, align 8, !tbaa !31
  %8219 = or i32 %8218, %8217
  store i32 %8219, ptr %8207, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8220 = load i64, ptr @simtime, align 8, !tbaa !13
  %8221 = add i64 %8220, 200
  store i64 %8221, ptr @simtime, align 8, !tbaa !13
  %8222 = load i32, ptr %8176, align 4, !tbaa !53
  %8223 = and i32 %8222, 64
  %.not6307 = icmp eq i32 %8223, 0
  br i1 %.not6307, label %8224, label %8225

8224:                                             ; preds = %8199
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %8225

8225:                                             ; preds = %8224, %8199
  store i32 0, ptr %8216, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8226 = load i64, ptr @simtime, align 8, !tbaa !13
  %8227 = add i64 %8226, 200
  store i64 %8227, ptr @simtime, align 8, !tbaa !13
  %8228 = load i64, ptr %8204, align 8, !tbaa !38
  %8229 = load i32, ptr %8216, align 4, !tbaa !30
  %8230 = trunc i64 %8228 to i32
  %8231 = and i32 %8230, 262143
  %8232 = or i32 %8231, %8229
  store i32 %8232, ptr %8216, align 4, !tbaa !30
  br label %8570

8233:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8234 = load i64, ptr @simtime, align 8, !tbaa !13
  %8235 = add i64 %8234, 100
  store i64 %8235, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8236 = load i64, ptr @simtime, align 8, !tbaa !13
  %8237 = add i64 %8236, 100
  store i64 %8237, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8238 = load i64, ptr @simtime, align 8, !tbaa !13
  %8239 = add i64 %8238, 100
  store i64 %8239, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8240 = load i64, ptr @simtime, align 8, !tbaa !13
  %8241 = add i64 %8240, 100
  store i64 %8241, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8242 = load i64, ptr @simtime, align 8, !tbaa !13
  %8243 = add i64 %8242, 100
  store i64 %8243, ptr @simtime, align 8, !tbaa !13
  %8244 = getelementptr inbounds i8, ptr %0, i64 100
  %8245 = load i32, ptr %8244, align 4, !tbaa !53
  %8246 = getelementptr inbounds i8, ptr %0, i64 221
  %8247 = load i8, ptr %8246, align 1, !tbaa !104, !range !19, !noundef !20
  %8248 = zext nneg i8 %8247 to i32
  %8249 = shl nuw nsw i32 %8248, 8
  %8250 = getelementptr inbounds i8, ptr %0, i64 219
  %8251 = load i8, ptr %8250, align 1, !tbaa !105, !range !19, !noundef !20
  %8252 = shl nuw i8 %8251, 7
  %8253 = zext i8 %8252 to i32
  %8254 = or disjoint i32 %8249, %8253
  %8255 = getelementptr inbounds i8, ptr %0, i64 220
  %8256 = load i8, ptr %8255, align 4, !tbaa !106, !range !19, !noundef !20
  %8257 = shl nuw nsw i8 %8256, 6
  %8258 = zext nneg i8 %8257 to i32
  %8259 = or disjoint i32 %8254, %8258
  %8260 = getelementptr inbounds i8, ptr %0, i64 222
  %8261 = load i8, ptr %8260, align 2, !tbaa !107, !range !19, !noundef !20
  %8262 = shl nuw nsw i8 %8261, 5
  %8263 = zext nneg i8 %8262 to i32
  %8264 = or disjoint i32 %8259, %8263
  %8265 = and i32 %8245, %8264
  %.not6301 = icmp eq i32 %8265, 0
  br i1 %.not6301, label %.critedge6556, label %8266

8266:                                             ; preds = %8233
  %8267 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %8267, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8268 = load i64, ptr @simtime, align 8, !tbaa !13
  %8269 = getelementptr inbounds i8, ptr %0, i64 92
  %8270 = load i32, ptr %8269, align 4, !tbaa !30
  %8271 = load i32, ptr %8267, align 8, !tbaa !31
  %8272 = or i32 %8271, %8270
  store i32 %8272, ptr %8267, align 8, !tbaa !31
  br label %8274

.critedge6556:                                    ; preds = %8233
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8273 = load i64, ptr @simtime, align 8, !tbaa !13
  br label %8274

8274:                                             ; preds = %.critedge6556, %8266
  %.sink6586.in = phi i64 [ %8273, %.critedge6556 ], [ %8268, %8266 ]
  %.sink6586 = add i64 %.sink6586.in, 100
  store i64 %.sink6586, ptr @simtime, align 8
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8275 = load i64, ptr @simtime, align 8, !tbaa !13
  %8276 = add i64 %8275, 200
  store i64 %8276, ptr @simtime, align 8, !tbaa !13
  br i1 %.not6301, label %8278, label %8277

8277:                                             ; preds = %8274
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %8278

8278:                                             ; preds = %8277, %8274
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8279 = load i64, ptr @simtime, align 8, !tbaa !13
  %8280 = add i64 %8279, 200
  store i64 %8280, ptr @simtime, align 8, !tbaa !13
  tail call void @ar_jfcl_clr(ptr noundef nonnull %0)
  br label %8570

8281:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8282 = load i64, ptr @simtime, align 8, !tbaa !13
  %8283 = add i64 %8282, 100
  store i64 %8283, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8284 = load i64, ptr @simtime, align 8, !tbaa !13
  %8285 = add i64 %8284, 100
  store i64 %8285, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @mr_clr(ptr noundef nonnull %0)
  br label %.sink.split

8286:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8287 = load i64, ptr @simtime, align 8, !tbaa !13
  %8288 = add i64 %8287, 100
  store i64 %8288, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8289 = load i64, ptr @simtime, align 8, !tbaa !13
  %8290 = add i64 %8289, 100
  store i64 %8290, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8291 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %8291, align 1, !tbaa !74
  tail call void @ar_inc_ltrt(ptr noundef nonnull %0)
  store i8 0, ptr %8291, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8292 = load i64, ptr @simtime, align 8, !tbaa !13
  %8293 = add i64 %8292, 100
  store i64 %8293, ptr @simtime, align 8, !tbaa !13
  %8294 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 0, ptr %8294, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8295 = load i64, ptr @simtime, align 8, !tbaa !13
  %8296 = add i64 %8295, 100
  store i64 %8296, ptr @simtime, align 8, !tbaa !13
  %8297 = getelementptr inbounds i8, ptr %0, i64 88
  %8298 = load i32, ptr %8297, align 8, !tbaa !31
  %8299 = zext i32 %8298 to i64
  %8300 = load i64, ptr %8294, align 8, !tbaa !38
  %8301 = or i64 %8300, %8299
  store i64 %8301, ptr %8294, align 8, !tbaa !38
  tail call void @mb_fm_misc_bits(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8302 = load i64, ptr @simtime, align 8, !tbaa !13
  %8303 = add i64 %8302, 100
  store i64 %8303, ptr @simtime, align 8, !tbaa !13
  store i32 0, ptr %8297, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8304 = load i64, ptr @simtime, align 8, !tbaa !13
  %8305 = add i64 %8304, 100
  store i64 %8305, ptr @simtime, align 8, !tbaa !13
  %8306 = getelementptr inbounds i8, ptr %0, i64 92
  %8307 = load i32, ptr %8306, align 4, !tbaa !30
  %8308 = load i32, ptr %8297, align 8, !tbaa !31
  %8309 = or i32 %8308, %8307
  store i32 %8309, ptr %8297, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8310 = load i64, ptr @simtime, align 8, !tbaa !13
  %8311 = add i64 %8310, 200
  store i64 %8311, ptr @simtime, align 8, !tbaa !13
  %8312 = load i64, ptr %8294, align 8, !tbaa !38
  %8313 = getelementptr inbounds i8, ptr %0, i64 40
  %8314 = load i64, ptr %8313, align 8, !tbaa !33
  store i64 %8314, ptr %8294, align 8, !tbaa !38
  store i64 %8312, ptr %8313, align 8, !tbaa !33
  tail call void @pc_chg(ptr noundef nonnull %0)
  store i32 0, ptr %8306, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8315 = load i64, ptr @simtime, align 8, !tbaa !13
  %8316 = add i64 %8315, 200
  store i64 %8316, ptr @simtime, align 8, !tbaa !13
  %8317 = load i64, ptr %8294, align 8, !tbaa !38
  %8318 = load i32, ptr %8306, align 4, !tbaa !30
  %8319 = trunc i64 %8317 to i32
  %8320 = and i32 %8319, 262143
  %8321 = or i32 %8320, %8318
  store i32 %8321, ptr %8306, align 4, !tbaa !30
  %8322 = load i64, ptr %8313, align 8, !tbaa !33
  store i64 %8322, ptr %8294, align 8, !tbaa !38
  store i64 %8317, ptr %8313, align 8, !tbaa !33
  %8323 = getelementptr inbounds i8, ptr %0, i64 217
  %8324 = load i8, ptr %8323, align 1, !tbaa !64, !range !19, !noundef !20
  %8325 = trunc nuw i8 %8324 to i1
  br i1 %8325, label %8326, label %8570

8326:                                             ; preds = %8286
  tail call void @cpa_set_pdl_ov(ptr noundef nonnull %0)
  br label %8570

8327:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8328 = load i64, ptr @simtime, align 8, !tbaa !13
  %8329 = add i64 %8328, 100
  store i64 %8329, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8330 = load i64, ptr @simtime, align 8, !tbaa !13
  %8331 = add i64 %8330, 100
  store i64 %8331, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8332 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %8332, align 1, !tbaa !74
  tail call void @ar_inc_ltrt(ptr noundef nonnull %0)
  store i8 0, ptr %8332, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8333 = load i64, ptr @simtime, align 8, !tbaa !13
  %8334 = add i64 %8333, 100
  store i64 %8334, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8335 = load i64, ptr @simtime, align 8, !tbaa !13
  %8336 = add i64 %8335, 100
  store i64 %8336, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8337 = load i64, ptr @simtime, align 8, !tbaa !13
  %8338 = add i64 %8337, 100
  store i64 %8338, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8339 = load i64, ptr @simtime, align 8, !tbaa !13
  %8340 = add i64 %8339, 100
  store i64 %8340, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8341 = load i64, ptr @simtime, align 8, !tbaa !13
  %8342 = add i64 %8341, 200
  store i64 %8342, ptr @simtime, align 8, !tbaa !13
  %8343 = getelementptr inbounds i8, ptr %0, i64 64
  %8344 = load i64, ptr %8343, align 8, !tbaa !38
  %8345 = getelementptr inbounds i8, ptr %0, i64 40
  %8346 = load i64, ptr %8345, align 8, !tbaa !33
  store i64 %8346, ptr %8343, align 8, !tbaa !38
  store i64 %8344, ptr %8345, align 8, !tbaa !33
  %8347 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %8347, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8348 = load i64, ptr @simtime, align 8, !tbaa !13
  %8349 = add i64 %8348, 200
  store i64 %8349, ptr @simtime, align 8, !tbaa !13
  %8350 = load i64, ptr %8343, align 8, !tbaa !38
  %8351 = load i32, ptr %8347, align 4, !tbaa !30
  %8352 = trunc i64 %8350 to i32
  %8353 = and i32 %8352, 262143
  %8354 = or i32 %8353, %8351
  store i32 %8354, ptr %8347, align 4, !tbaa !30
  %8355 = load i64, ptr %8345, align 8, !tbaa !33
  store i64 %8355, ptr %8343, align 8, !tbaa !38
  store i64 %8350, ptr %8345, align 8, !tbaa !33
  %8356 = getelementptr inbounds i8, ptr %0, i64 217
  %8357 = load i8, ptr %8356, align 1, !tbaa !64, !range !19, !noundef !20
  %8358 = trunc nuw i8 %8357 to i1
  br i1 %8358, label %8359, label %8570

8359:                                             ; preds = %8327
  tail call void @cpa_set_pdl_ov(ptr noundef nonnull %0)
  br label %8570

8360:                                             ; preds = %._crit_edge
  %8361 = getelementptr inbounds i8, ptr %0, i64 48
  %8362 = load i64, ptr %8361, align 8, !tbaa !59
  %8363 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %8362, ptr %8363, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8364 = load i64, ptr @simtime, align 8, !tbaa !13
  %8365 = add i64 %8364, 100
  store i64 %8365, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8366 = load i64, ptr @simtime, align 8, !tbaa !13
  %8367 = add i64 %8366, 100
  store i64 %8367, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8368 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %8368, align 1, !tbaa !74
  tail call void @ar_dec_ltrt(ptr noundef nonnull %0)
  store i8 0, ptr %8368, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8369 = load i64, ptr @simtime, align 8, !tbaa !13
  %8370 = add i64 %8369, 100
  store i64 %8370, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8371 = load i64, ptr @simtime, align 8, !tbaa !13
  %8372 = add i64 %8371, 100
  store i64 %8372, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8373 = load i64, ptr @simtime, align 8, !tbaa !13
  %8374 = add i64 %8373, 100
  store i64 %8374, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8375 = load i64, ptr @simtime, align 8, !tbaa !13
  %8376 = add i64 %8375, 100
  store i64 %8376, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8377 = load i64, ptr @simtime, align 8, !tbaa !13
  %8378 = add i64 %8377, 200
  store i64 %8378, ptr @simtime, align 8, !tbaa !13
  %8379 = load i64, ptr %8363, align 8, !tbaa !38
  %8380 = getelementptr inbounds i8, ptr %0, i64 40
  %8381 = load i64, ptr %8380, align 8, !tbaa !33
  store i64 %8381, ptr %8363, align 8, !tbaa !38
  store i64 %8379, ptr %8380, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8382 = load i64, ptr @simtime, align 8, !tbaa !13
  %8383 = add i64 %8382, 200
  store i64 %8383, ptr @simtime, align 8, !tbaa !13
  %8384 = load i64, ptr %8363, align 8, !tbaa !38
  %8385 = load i64, ptr %8380, align 8, !tbaa !33
  store i64 %8385, ptr %8363, align 8, !tbaa !38
  store i64 %8384, ptr %8380, align 8, !tbaa !33
  %8386 = getelementptr inbounds i8, ptr %0, i64 217
  %8387 = load i8, ptr %8386, align 1, !tbaa !64, !range !19, !noundef !20
  %8388 = trunc nuw i8 %8387 to i1
  br i1 %8388, label %8389, label %8570

8389:                                             ; preds = %8360
  tail call void @cpa_set_pdl_ov(ptr noundef nonnull %0)
  br label %8570

8390:                                             ; preds = %._crit_edge
  %8391 = getelementptr inbounds i8, ptr %0, i64 48
  %8392 = load i64, ptr %8391, align 8, !tbaa !59
  %8393 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %8392, ptr %8393, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8394 = load i64, ptr @simtime, align 8, !tbaa !13
  %8395 = add i64 %8394, 100
  store i64 %8395, ptr @simtime, align 8, !tbaa !13
  %8396 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %8396, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8397 = load i64, ptr @simtime, align 8, !tbaa !13
  %8398 = add i64 %8397, 100
  store i64 %8398, ptr @simtime, align 8, !tbaa !13
  %8399 = load i64, ptr %8393, align 8, !tbaa !38
  %8400 = load i32, ptr %8396, align 4, !tbaa !30
  %8401 = trunc i64 %8399 to i32
  %8402 = and i32 %8401, 262143
  %8403 = or i32 %8402, %8400
  store i32 %8403, ptr %8396, align 4, !tbaa !30
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8404 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %8404, align 1, !tbaa !74
  tail call void @ar_dec_ltrt(ptr noundef nonnull %0)
  store i8 0, ptr %8404, align 1, !tbaa !74
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8405 = load i64, ptr @simtime, align 8, !tbaa !13
  %8406 = add i64 %8405, 100
  store i64 %8406, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8407 = load i64, ptr @simtime, align 8, !tbaa !13
  %8408 = add i64 %8407, 100
  store i64 %8408, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8409 = load i64, ptr @simtime, align 8, !tbaa !13
  %8410 = add i64 %8409, 100
  store i64 %8410, ptr @simtime, align 8, !tbaa !13
  %8411 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %8411, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8412 = load i64, ptr @simtime, align 8, !tbaa !13
  %8413 = add i64 %8412, 100
  store i64 %8413, ptr @simtime, align 8, !tbaa !13
  %8414 = load i32, ptr %8396, align 4, !tbaa !30
  %8415 = load i32, ptr %8411, align 8, !tbaa !31
  %8416 = or i32 %8415, %8414
  store i32 %8416, ptr %8411, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8417 = load i64, ptr @simtime, align 8, !tbaa !13
  %8418 = add i64 %8417, 200
  store i64 %8418, ptr @simtime, align 8, !tbaa !13
  %8419 = load i64, ptr %8393, align 8, !tbaa !38
  %8420 = getelementptr inbounds i8, ptr %0, i64 40
  %8421 = load i64, ptr %8420, align 8, !tbaa !33
  store i64 %8421, ptr %8393, align 8, !tbaa !38
  store i64 %8419, ptr %8420, align 8, !tbaa !33
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8422 = load i64, ptr @simtime, align 8, !tbaa !13
  %8423 = add i64 %8422, 200
  store i64 %8423, ptr @simtime, align 8, !tbaa !13
  %8424 = load i64, ptr %8393, align 8, !tbaa !38
  %8425 = load i64, ptr %8420, align 8, !tbaa !33
  store i64 %8425, ptr %8393, align 8, !tbaa !38
  store i64 %8424, ptr %8420, align 8, !tbaa !33
  %8426 = getelementptr inbounds i8, ptr %0, i64 217
  %8427 = load i8, ptr %8426, align 1, !tbaa !64, !range !19, !noundef !20
  %8428 = trunc nuw i8 %8427 to i1
  br i1 %8428, label %8429, label %8570

8429:                                             ; preds = %8390
  tail call void @cpa_set_pdl_ov(ptr noundef nonnull %0)
  br label %8570

8430:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8431 = load i64, ptr @simtime, align 8, !tbaa !13
  %8432 = add i64 %8431, 100
  store i64 %8432, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8433 = load i64, ptr @simtime, align 8, !tbaa !13
  %8434 = add i64 %8433, 100
  store i64 %8434, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8435 = load i64, ptr @simtime, align 8, !tbaa !13
  %8436 = add i64 %8435, 100
  store i64 %8436, ptr @simtime, align 8, !tbaa !13
  %8437 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 0, ptr %8437, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8438 = load i64, ptr @simtime, align 8, !tbaa !13
  %8439 = add i64 %8438, 100
  store i64 %8439, ptr @simtime, align 8, !tbaa !13
  %8440 = getelementptr inbounds i8, ptr %0, i64 88
  %8441 = load i32, ptr %8440, align 8, !tbaa !31
  %8442 = zext i32 %8441 to i64
  %8443 = load i64, ptr %8437, align 8, !tbaa !38
  %8444 = or i64 %8443, %8442
  store i64 %8444, ptr %8437, align 8, !tbaa !38
  tail call void @mb_fm_misc_bits(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8445 = load i64, ptr @simtime, align 8, !tbaa !13
  %8446 = add i64 %8445, 100
  store i64 %8446, ptr @simtime, align 8, !tbaa !13
  store i32 0, ptr %8440, align 8, !tbaa !31
  %8447 = getelementptr inbounds i8, ptr %0, i64 186
  %8448 = load i8, ptr %8447, align 2, !tbaa !50, !range !19, !noundef !20
  %8449 = trunc nuw i8 %8448 to i1
  br i1 %8449, label %8454, label %8450

8450:                                             ; preds = %8430
  %8451 = getelementptr inbounds i8, ptr %0, i64 188
  %8452 = load i8, ptr %8451, align 4, !tbaa !41, !range !19, !noundef !20
  %8453 = trunc nuw i8 %8452 to i1
  br i1 %8453, label %8454, label %8456

8454:                                             ; preds = %8450, %8430
  %8455 = getelementptr inbounds i8, ptr %0, i64 184
  store i8 0, ptr %8455, align 8, !tbaa !108
  br label %8456

8456:                                             ; preds = %8454, %8450
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8457 = load i64, ptr @simtime, align 8, !tbaa !13
  %8458 = add i64 %8457, 100
  store i64 %8458, ptr @simtime, align 8, !tbaa !13
  %8459 = getelementptr inbounds i8, ptr %0, i64 92
  %8460 = load i32, ptr %8459, align 4, !tbaa !30
  %8461 = load i32, ptr %8440, align 8, !tbaa !31
  %8462 = or i32 %8461, %8460
  store i32 %8462, ptr %8440, align 8, !tbaa !31
  %8463 = getelementptr inbounds i8, ptr %0, i64 188
  store i8 0, ptr %8463, align 4, !tbaa !41
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8464 = load i64, ptr @simtime, align 8, !tbaa !13
  %8465 = add i64 %8464, 200
  store i64 %8465, ptr @simtime, align 8, !tbaa !13
  %8466 = load i32, ptr %8440, align 8, !tbaa !31
  %8467 = add i32 %8466, 1
  %8468 = and i32 %8467, 262143
  store i32 %8468, ptr %8440, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  %8469 = getelementptr inbounds i8, ptr %0, i64 175
  store i8 0, ptr %8469, align 1, !tbaa !92
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8470 = load i64, ptr @simtime, align 8, !tbaa !13
  %8471 = add i64 %8470, 200
  store i64 %8471, ptr @simtime, align 8, !tbaa !13
  br label %8570

8472:                                             ; preds = %._crit_edge
  %8473 = getelementptr inbounds i8, ptr %0, i64 64
  %8474 = load i64, ptr %8473, align 8, !tbaa !38
  %8475 = getelementptr inbounds i8, ptr %0, i64 40
  %8476 = load i64, ptr %8475, align 8, !tbaa !33
  store i64 %8476, ptr %8473, align 8, !tbaa !38
  store i64 %8474, ptr %8475, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8477 = load i64, ptr @simtime, align 8, !tbaa !13
  %8478 = add i64 %8477, 100
  store i64 %8478, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8479 = load i64, ptr @simtime, align 8, !tbaa !13
  %8480 = add i64 %8479, 100
  store i64 %8480, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8481 = load i64, ptr @simtime, align 8, !tbaa !13
  %8482 = add i64 %8481, 100
  store i64 %8482, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %8473, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8483 = load i64, ptr @simtime, align 8, !tbaa !13
  %8484 = add i64 %8483, 100
  store i64 %8484, ptr @simtime, align 8, !tbaa !13
  %8485 = getelementptr inbounds i8, ptr %0, i64 88
  %8486 = load i32, ptr %8485, align 8, !tbaa !31
  %8487 = zext i32 %8486 to i64
  %8488 = load i64, ptr %8473, align 8, !tbaa !38
  %8489 = or i64 %8488, %8487
  store i64 %8489, ptr %8473, align 8, !tbaa !38
  tail call void @mb_fm_misc_bits(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8490 = load i64, ptr @simtime, align 8, !tbaa !13
  %8491 = add i64 %8490, 100
  store i64 %8491, ptr @simtime, align 8, !tbaa !13
  store i32 0, ptr %8485, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8492 = load i64, ptr @simtime, align 8, !tbaa !13
  %8493 = add i64 %8492, 100
  store i64 %8493, ptr @simtime, align 8, !tbaa !13
  %8494 = getelementptr inbounds i8, ptr %0, i64 92
  %8495 = load i32, ptr %8494, align 4, !tbaa !30
  %8496 = load i32, ptr %8485, align 8, !tbaa !31
  %8497 = or i32 %8496, %8495
  store i32 %8497, ptr %8485, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8498 = load i64, ptr @simtime, align 8, !tbaa !13
  %8499 = add i64 %8498, 200
  store i64 %8499, ptr @simtime, align 8, !tbaa !13
  %8500 = load i64, ptr %8473, align 8, !tbaa !38
  %8501 = load i64, ptr %8475, align 8, !tbaa !33
  store i64 %8501, ptr %8473, align 8, !tbaa !38
  store i64 %8500, ptr %8475, align 8, !tbaa !33
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8502 = load i64, ptr @simtime, align 8, !tbaa !13
  %8503 = add i64 %8502, 200
  store i64 %8503, ptr @simtime, align 8, !tbaa !13
  br label %8570

8504:                                             ; preds = %._crit_edge
  %8505 = getelementptr inbounds i8, ptr %0, i64 64
  %8506 = load i64, ptr %8505, align 8, !tbaa !38
  %8507 = shl i64 %8506, 18
  %8508 = lshr i64 %8506, 18
  %8509 = or i64 %8507, %8508
  %8510 = and i64 %8509, 68719476735
  store i64 %8510, ptr %8505, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8511 = load i64, ptr @simtime, align 8, !tbaa !13
  %8512 = add i64 %8511, 100
  store i64 %8512, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8513 = load i64, ptr @simtime, align 8, !tbaa !13
  %8514 = add i64 %8513, 100
  store i64 %8514, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8515 = load i64, ptr @simtime, align 8, !tbaa !13
  %8516 = add i64 %8515, 100
  store i64 %8516, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8517 = load i64, ptr @simtime, align 8, !tbaa !13
  %8518 = add i64 %8517, 100
  store i64 %8518, ptr @simtime, align 8, !tbaa !13
  %8519 = getelementptr inbounds i8, ptr %0, i64 88
  %8520 = load i32, ptr %8519, align 8, !tbaa !31
  %8521 = zext i32 %8520 to i64
  %8522 = load i64, ptr %8505, align 8, !tbaa !38
  %8523 = or i64 %8522, %8521
  store i64 %8523, ptr %8505, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8524 = load i64, ptr @simtime, align 8, !tbaa !13
  %8525 = add i64 %8524, 100
  store i64 %8525, ptr @simtime, align 8, !tbaa !13
  store i32 0, ptr %8519, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8526 = load i64, ptr @simtime, align 8, !tbaa !13
  %8527 = add i64 %8526, 100
  store i64 %8527, ptr @simtime, align 8, !tbaa !13
  %8528 = getelementptr inbounds i8, ptr %0, i64 92
  %8529 = load i32, ptr %8528, align 4, !tbaa !30
  %8530 = load i32, ptr %8519, align 8, !tbaa !31
  %8531 = or i32 %8530, %8529
  store i32 %8531, ptr %8519, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8532 = load i64, ptr @simtime, align 8, !tbaa !13
  %8533 = add i64 %8532, 200
  store i64 %8533, ptr @simtime, align 8, !tbaa !13
  %8534 = load i64, ptr %8505, align 8, !tbaa !38
  %8535 = getelementptr inbounds i8, ptr %0, i64 40
  %8536 = load i64, ptr %8535, align 8, !tbaa !33
  store i64 %8536, ptr %8505, align 8, !tbaa !38
  store i64 %8534, ptr %8535, align 8, !tbaa !33
  %8537 = load i32, ptr %8519, align 8, !tbaa !31
  %8538 = add i32 %8537, 1
  %8539 = and i32 %8538, 262143
  store i32 %8539, ptr %8519, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8540 = load i64, ptr @simtime, align 8, !tbaa !13
  %8541 = add i64 %8540, 200
  store i64 %8541, ptr @simtime, align 8, !tbaa !13
  br label %8570

8542:                                             ; preds = %._crit_edge
  %8543 = getelementptr inbounds i8, ptr %0, i64 48
  %8544 = load i64, ptr %8543, align 8, !tbaa !59
  %8545 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %8544, ptr %8545, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8546 = load i64, ptr @simtime, align 8, !tbaa !13
  %8547 = add i64 %8546, 100
  store i64 %8547, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8548 = load i64, ptr @simtime, align 8, !tbaa !13
  %8549 = add i64 %8548, 100
  store i64 %8549, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8550 = load i64, ptr @simtime, align 8, !tbaa !13
  %8551 = add i64 %8550, 100
  store i64 %8551, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8552 = load i64, ptr @simtime, align 8, !tbaa !13
  %8553 = add i64 %8552, 100
  store i64 %8553, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8554 = load i64, ptr @simtime, align 8, !tbaa !13
  %8555 = add i64 %8554, 100
  store i64 %8555, ptr @simtime, align 8, !tbaa !13
  %8556 = getelementptr inbounds i8, ptr %0, i64 88
  store i32 0, ptr %8556, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  %8557 = load i64, ptr @simtime, align 8, !tbaa !13
  %8558 = add i64 %8557, 100
  store i64 %8558, ptr @simtime, align 8, !tbaa !13
  %8559 = getelementptr inbounds i8, ptr %0, i64 92
  %8560 = load i32, ptr %8559, align 4, !tbaa !30
  %8561 = load i32, ptr %8556, align 8, !tbaa !31
  %8562 = or i32 %8561, %8560
  store i32 %8562, ptr %8556, align 8, !tbaa !31
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8563 = load i64, ptr @simtime, align 8, !tbaa !13
  %8564 = add i64 %8563, 200
  store i64 %8564, ptr @simtime, align 8, !tbaa !13
  %8565 = load i64, ptr %8545, align 8, !tbaa !38
  %8566 = getelementptr inbounds i8, ptr %0, i64 40
  %8567 = load i64, ptr %8566, align 8, !tbaa !33
  store i64 %8567, ptr %8545, align 8, !tbaa !38
  store i64 %8565, ptr %8566, align 8, !tbaa !33
  tail call void @pc_chg(ptr noundef nonnull %0)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8568 = load i64, ptr @simtime, align 8, !tbaa !13
  %8569 = add i64 %8568, 200
  store i64 %8569, ptr @simtime, align 8, !tbaa !13
  br label %8570

8570:                                             ; preds = %8752, %.thread6560, %8390, %8429, %8360, %8389, %8327, %8359, %8286, %8326, %8129, %8132, %1398, %1404, %1408, %1375, %1381, %1385, %1302, %1316, %1320, %1283, %1297, %1301, %1204, %1224, %1228, %1179, %1199, %1203, %1121, %1134, %1138, %1103, %1116, %1120, %1093, %1099, %835, %839, %8823, %8792, %8697, %8542, %8504, %8472, %8456, %8278, %8225, %8172, %8055, %8044, %7999, %7925, %7890, %7884, %7839, %7769, %7738, %7732, %7687, %7613, %7578, %7572, %7527, %7457, %7426, %7420, %7375, %7301, %7266, %7260, %7215, %7145, %7114, %7108, %7063, %6989, %6954, %6948, %6903, %6833, %6802, %6796, %6749, %6671, %6634, %6628, %6581, %6507, %6474, %6468, %6421, %6343, %6306, %6300, %6253, %6179, %6146, %6140, %6096, %6024, %5990, %5984, %5940, %5872, %5842, %5836, %5792, %5720, %5686, %5680, %5636, %5568, %5538, %5515, %5491, %5470, %5449, %5431, %5412, %5396, %5380, %5358, %5335, %5315, %5295, %5278, %5260, %5245, %5230, %5209, %5187, %5168, %5149, %5133, %5116, %5102, %5088, %5067, %5045, %5026, %5007, %4991, %4974, %4960, %4946, %4923, %4899, %4878, %4857, %4839, %4820, %4804, %4788, %4766, %4743, %4723, %4703, %4686, %4668, %4653, %4638, %4617, %4595, %4576, %4557, %4541, %4524, %4510, %4496, %4475, %4453, %4434, %4415, %4399, %4382, %4368, %4354, %4342, %4330, %4320, %4310, %4295, %4280, %4266, %4252, %4235, %4218, %4202, %4186, %4171, %4156, %4142, %4128, %4113, %4098, %4084, %4070, %4058, %4046, %4036, %4026, %4011, %3996, %3982, %3968, %3953, %3938, %3924, %3910, %3897, %3884, %3872, %3860, %3847, %3834, %3822, %3810, %3800, %3790, %3783, %3776, %3759, %3742, %3726, %3710, %3697, %3684, %3672, %3660, %3645, %3630, %3616, %3602, %3589, %3576, %3564, %3552, %3542, %3532, %3524, %3516, %3512, %3481, %3452, %3400, %3396, %3365, %3335, %3287, %3284, %3253, %3224, %3174, %3171, %3140, %3110, %3065, %3061, %3030, %3001, %2949, %2945, %2914, %2884, %2836, %2833, %2802, %2773, %2723, %2720, %2689, %2659, %2614, %2610, %2580, %2552, %2502, %2498, %2468, %2439, %2393, %2390, %2360, %2332, %2284, %2281, %2251, %2222, %2179, %2176, %2142, %2116, %2064, %2061, %2027, %2000, %1952, %1949, %1915, %1889, %1837, %1834, %1800, %1773, %1725, %1715, %1705, %1698, %1691, %1681, %1671, %1664, %1657, %1642, %1632, %1609, %1599, %1576, %1566, %1543, %1533, %1510, %1500, %1477, %1467, %1457, %1432, %1361, %1340, %1281, %1254, %1177, %1157, %950, %936, %607
  %8571 = getelementptr inbounds i8, ptr %0, i64 177
  %8572 = load i8, ptr %8571, align 1, !tbaa !46, !range !19, !noundef !20
  %8573 = trunc nuw i8 %8572 to i1
  br i1 %8573, label %8574, label %8584

8574:                                             ; preds = %8570
  %8575 = getelementptr inbounds i8, ptr %0, i64 12
  %8576 = load i32, ptr %8575, align 4, !tbaa !17
  %8577 = and i32 %8576, 2
  %.not6423 = icmp eq i32 %8577, 0
  br i1 %.not6423, label %8583, label %8578

8578:                                             ; preds = %8574
  %8579 = getelementptr inbounds i8, ptr %0, i64 178
  %8580 = load i8, ptr %8579, align 2, !tbaa !52, !range !19, !noundef !20
  %8581 = trunc nuw i8 %8580 to i1
  %8582 = and i32 %8576, 32768
  %.not6424 = icmp eq i32 %8582, 0
  %or.cond6559 = or i1 %.not6424, %8581
  br i1 %or.cond6559, label %8584, label %8583

8583:                                             ; preds = %8578, %8574
  tail call void @pi_exit(ptr noundef nonnull %0)
  br label %8584

8584:                                             ; preds = %8583, %8578, %8570
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.138)
  %8585 = getelementptr inbounds i8, ptr %0, i64 12
  %8586 = load i32, ptr %8585, align 4, !tbaa !17
  %8587 = and i32 %8586, 8192
  %.not6425 = icmp eq i32 %8587, 0
  br i1 %.not6425, label %8590, label %8588

8588:                                             ; preds = %8584
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.139)
  %8589 = getelementptr inbounds i8, ptr %0, i64 128
  store i8 1, ptr %8589, align 8, !tbaa !109
  tail call void @wrrq(ptr noundef nonnull %0, i32 noundef 18)
  br label %8870

8590:                                             ; preds = %8584
  %8591 = and i32 %8586, 512
  %.not6426 = icmp eq i32 %8591, 0
  br i1 %.not6426, label %8594, label %8592

8592:                                             ; preds = %8590
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.140)
  %8593 = getelementptr inbounds i8, ptr %0, i64 128
  store i8 1, ptr %8593, align 8, !tbaa !109
  tail call void @wrrs(ptr noundef nonnull %0, i32 noundef 18)
  br label %8870

8594:                                             ; preds = %._crit_edge._crit_edge, %8590
  %8595 = phi i32 [ %.pre6626, %._crit_edge._crit_edge ], [ %8586, %8590 ]
  %8596 = getelementptr inbounds i8, ptr %0, i64 128
  store i8 0, ptr %8596, align 8, !tbaa !109
  %8597 = getelementptr inbounds i8, ptr %0, i64 12
  %8598 = and i32 %8595, 1024
  %.not6427 = icmp eq i32 %8598, 0
  br i1 %.not6427, label %8599, label %8601

8599:                                             ; preds = %8594
  %8600 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %8600, align 4, !tbaa !30
  br label %8601

8601:                                             ; preds = %8599, %8594
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.141)
  %8602 = load i32, ptr %8597, align 4, !tbaa !17
  %8603 = and i32 %8602, 1024
  %.not6428 = icmp eq i32 %8603, 0
  br i1 %.not6428, label %8604, label %8632

8604:                                             ; preds = %8601
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.142)
  %8605 = load i64, ptr @simtime, align 8, !tbaa !13
  %8606 = add i64 %8605, 100
  store i64 %8606, ptr @simtime, align 8, !tbaa !13
  %8607 = getelementptr inbounds i8, ptr %0, i64 100
  %8608 = load i32, ptr %8607, align 4, !tbaa !53
  %8609 = lshr i32 %8608, 5
  %8610 = and i32 %8609, 15
  %8611 = getelementptr inbounds i8, ptr %0, i64 92
  %8612 = load i32, ptr %8611, align 4, !tbaa !30
  %8613 = or i32 %8610, %8612
  store i32 %8613, ptr %8611, align 4, !tbaa !30
  %8614 = getelementptr inbounds i8, ptr %0, i64 40
  %8615 = load i64, ptr %8614, align 8, !tbaa !33
  %8616 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %8615, ptr %8616, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.143)
  %8617 = getelementptr inbounds i8, ptr %0, i64 129
  store i8 1, ptr %8617, align 1, !tbaa !110
  tail call void @wrrq(ptr noundef nonnull %0, i32 noundef 19)
  br label %8870

8618:                                             ; preds = %._crit_edge
  %8619 = getelementptr inbounds i8, ptr %0, i64 129
  store i8 0, ptr %8619, align 1, !tbaa !110
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.144)
  %8620 = getelementptr inbounds i8, ptr %0, i64 12
  %8621 = load i32, ptr %8620, align 4, !tbaa !17
  %8622 = and i32 %8621, 4096
  %.not = icmp eq i32 %8622, 0
  br i1 %.not, label %8632, label %8623

8623:                                             ; preds = %8618
  %8624 = getelementptr inbounds i8, ptr %0, i64 92
  %8625 = load i32, ptr %8624, align 4, !tbaa !30
  %8626 = add i32 %8625, 1
  %8627 = and i32 %8626, 15
  store i32 %8627, ptr %8624, align 4, !tbaa !30
  %8628 = getelementptr inbounds i8, ptr %0, i64 48
  %8629 = load i64, ptr %8628, align 8, !tbaa !59
  %8630 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %8629, ptr %8630, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.145)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.146)
  %8631 = getelementptr inbounds i8, ptr %0, i64 130
  store i8 1, ptr %8631, align 2, !tbaa !111
  tail call void @wrrq(ptr noundef nonnull %0, i32 noundef 20)
  br label %8870

8632:                                             ; preds = %737, %907, %1091, %8618, %8601, %._crit_edge
  %8633 = getelementptr inbounds i8, ptr %0, i64 130
  store i8 0, ptr %8633, align 2, !tbaa !111
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.147)
  %8634 = getelementptr inbounds i8, ptr %0, i64 33
  %8635 = load i8, ptr %8634, align 1, !tbaa !43, !range !19, !noundef !20
  %8636 = trunc nuw i8 %8635 to i1
  br i1 %8636, label %8637, label %8647

8637:                                             ; preds = %8632
  %8638 = getelementptr inbounds i8, ptr %0, i64 36
  %8639 = load i8, ptr %8638, align 4, !tbaa !44, !range !19, !noundef !20
  %8640 = trunc nuw i8 %8639 to i1
  br i1 %8640, label %8645, label %8641

8641:                                             ; preds = %8637
  %8642 = getelementptr inbounds i8, ptr %0, i64 37
  %8643 = load i8, ptr %8642, align 1, !tbaa !62, !range !19, !noundef !20
  %8644 = trunc nuw i8 %8643 to i1
  br i1 %8644, label %8645, label %8646

8645:                                             ; preds = %8641, %8637
  store i32 9, ptr %11, align 4, !tbaa !16
  br label %8870

8646:                                             ; preds = %8641
  store i32 10, ptr %11, align 4, !tbaa !16
  br label %8870

8647:                                             ; preds = %8632
  store i32 0, ptr %0, align 8, !tbaa !40
  br label %8870

8648:                                             ; preds = %._crit_edge, %._crit_edge
  %8649 = getelementptr inbounds i8, ptr %0, i64 64
  %8650 = load i64, ptr %8649, align 8, !tbaa !38
  %8651 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %8650, ptr %8651, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8652 = load i64, ptr @simtime, align 8, !tbaa !13
  %8653 = add i64 %8652, 100
  store i64 %8653, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8654 = load i64, ptr @simtime, align 8, !tbaa !13
  %8655 = add i64 %8654, 100
  store i64 %8655, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8656 = getelementptr inbounds i8, ptr %0, i64 137
  store i8 1, ptr %8656, align 1, !tbaa !74
  tail call void @ar_inc_ltrt(ptr noundef nonnull %0)
  store i8 0, ptr %8656, align 1, !tbaa !74
  %8657 = load i64, ptr %8649, align 8, !tbaa !38
  %8658 = load i64, ptr %8651, align 8, !tbaa !33
  store i64 %8658, ptr %8649, align 8, !tbaa !38
  store i64 %8657, ptr %8651, align 8, !tbaa !33
  %8659 = getelementptr inbounds i8, ptr %0, i64 188
  store i8 0, ptr %8659, align 4, !tbaa !41
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.148)
  %8660 = getelementptr inbounds i8, ptr %0, i64 133
  store i8 1, ptr %8660, align 1, !tbaa !112
  tail call void @wrrs(ptr noundef nonnull %0, i32 noundef 23)
  br label %8870

8661:                                             ; preds = %._crit_edge
  %8662 = getelementptr inbounds i8, ptr %0, i64 133
  store i8 0, ptr %8662, align 1, !tbaa !112
  %8663 = getelementptr inbounds i8, ptr %0, i64 100
  %8664 = load i32, ptr %8663, align 4, !tbaa !53
  %8665 = or i32 %8664, 32
  store i32 %8665, ptr %8663, align 4, !tbaa !53
  %8666 = getelementptr inbounds i8, ptr %0, i64 92
  store i32 0, ptr %8666, align 4, !tbaa !30
  %8667 = getelementptr inbounds i8, ptr %0, i64 177
  %8668 = load i8, ptr %8667, align 1, !tbaa !46, !range !19, !noundef !20
  %8669 = trunc nuw i8 %8668 to i1
  %8670 = getelementptr inbounds i8, ptr %0, i64 217
  %8671 = load i8, ptr %8670, align 1, !tbaa !64, !range !19, !noundef !20
  %8672 = trunc nuw i8 %8671 to i1
  br i1 %8669, label %8673, label %8676

8673:                                             ; preds = %8661
  br i1 %8672, label %8674, label %8682

8674:                                             ; preds = %8673
  %8675 = getelementptr inbounds i8, ptr %0, i64 178
  store i8 1, ptr %8675, align 2, !tbaa !52
  br label %8682

8676:                                             ; preds = %8661
  br i1 %8672, label %8682, label %8677

8677:                                             ; preds = %8676
  %8678 = getelementptr inbounds i8, ptr %0, i64 88
  %8679 = load i32, ptr %8678, align 8, !tbaa !31
  %8680 = add i32 %8679, 1
  %8681 = and i32 %8680, 262143
  store i32 %8681, ptr %8678, align 8, !tbaa !31
  br label %8682

8682:                                             ; preds = %8676, %8677, %8673, %8674
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.149)
  %8683 = load i64, ptr @simtime, align 8, !tbaa !13
  %8684 = add i64 %8683, 200
  store i64 %8684, ptr @simtime, align 8, !tbaa !13
  br label %393

8685:                                             ; preds = %._crit_edge
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8686 = load i64, ptr @simtime, align 8, !tbaa !13
  %8687 = add i64 %8686, 100
  store i64 %8687, ptr @simtime, align 8, !tbaa !13
  %8688 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 0, ptr %8688, align 8, !tbaa !33
  %8689 = getelementptr inbounds i8, ptr %0, i64 177
  %8690 = load i8, ptr %8689, align 1, !tbaa !46, !range !19, !noundef !20
  %8691 = trunc nuw i8 %8690 to i1
  br i1 %8691, label %8692, label %8697

8692:                                             ; preds = %8685
  %8693 = getelementptr inbounds i8, ptr %0, i64 178
  %8694 = load i8, ptr %8693, align 2, !tbaa !52, !range !19, !noundef !20
  %8695 = trunc nuw i8 %8694 to i1
  br i1 %8695, label %8697, label %8696

8696:                                             ; preds = %8692
  tail call void @pi_rst(ptr noundef nonnull %0)
  br label %8697

8697:                                             ; preds = %8696, %8692, %8685
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8698 = load i64, ptr @simtime, align 8, !tbaa !13
  %8699 = add i64 %8698, 100
  store i64 %8699, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8700 = getelementptr inbounds i8, ptr %0, i64 173
  store i8 1, ptr %8700, align 1, !tbaa !113
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8701 = getelementptr inbounds i8, ptr %0, i64 100
  %8702 = load i32, ptr %8701, align 4, !tbaa !53
  %8703 = lshr i32 %8702, 8
  %8704 = and i32 %8703, 127
  %8705 = zext nneg i32 %8704 to i64
  %8706 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %8705
  %8707 = load ptr, ptr %8706, align 8, !tbaa !114
  %8708 = getelementptr inbounds i8, ptr %8707, i64 16
  %8709 = load ptr, ptr %8708, align 8, !tbaa !116
  tail call void %8709(ptr noundef nonnull %0, ptr noundef %8707, i32 noundef 4) #2
  %8710 = load i64, ptr @simtime, align 8, !tbaa !13
  %8711 = add i64 %8710, 1000
  store i64 %8711, ptr @simtime, align 8, !tbaa !13
  store i8 0, ptr %8700, align 1, !tbaa !113
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.150)
  %8712 = load i64, ptr @simtime, align 8, !tbaa !13
  %8713 = add i64 %8712, 1000
  store i64 %8713, ptr @simtime, align 8, !tbaa !13
  %8714 = getelementptr inbounds i8, ptr %0, i64 112
  %8715 = load i64, ptr %8714, align 8, !tbaa !118
  %8716 = load i64, ptr %8688, align 8, !tbaa !33
  %8717 = or i64 %8716, %8715
  store i64 %8717, ptr %8688, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.151)
  %8718 = load i64, ptr @simtime, align 8, !tbaa !13
  %8719 = add i64 %8718, 200
  store i64 %8719, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %8714, align 8, !tbaa !118
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8720 = load i64, ptr %8688, align 8, !tbaa !33
  %8721 = getelementptr inbounds i8, ptr %0, i64 64
  store i64 %8720, ptr %8721, align 8, !tbaa !38
  br label %8570

8722:                                             ; preds = %._crit_edge, %._crit_edge, %._crit_edge
  %8723 = getelementptr inbounds i8, ptr %0, i64 64
  %8724 = load i64, ptr %8723, align 8, !tbaa !38
  %8725 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %8724, ptr %8725, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8726 = load i64, ptr @simtime, align 8, !tbaa !13
  %8727 = add i64 %8726, 100
  store i64 %8727, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %8725, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8728 = load i64, ptr @simtime, align 8, !tbaa !13
  %8729 = add i64 %8728, 100
  store i64 %8729, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8730 = getelementptr inbounds i8, ptr %0, i64 173
  store i8 1, ptr %8730, align 1, !tbaa !113
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8731 = getelementptr inbounds i8, ptr %0, i64 112
  store i64 0, ptr %8731, align 8, !tbaa !118
  %8732 = getelementptr inbounds i8, ptr %0, i64 100
  %8733 = load i32, ptr %8732, align 4, !tbaa !53
  %8734 = lshr i32 %8733, 8
  %8735 = and i32 %8734, 127
  %8736 = zext nneg i32 %8735 to i64
  %8737 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %8736
  %8738 = load ptr, ptr %8737, align 8, !tbaa !114
  %8739 = getelementptr inbounds i8, ptr %8738, i64 16
  %8740 = load ptr, ptr %8739, align 8, !tbaa !116
  tail call void %8740(ptr noundef nonnull %0, ptr noundef %8738, i32 noundef 5) #2
  %8741 = load i64, ptr @simtime, align 8, !tbaa !13
  %8742 = add i64 %8741, 1000
  store i64 %8742, ptr @simtime, align 8, !tbaa !13
  store i8 0, ptr %8730, align 1, !tbaa !113
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.150)
  %8743 = load i64, ptr @simtime, align 8, !tbaa !13
  %8744 = add i64 %8743, 1000
  store i64 %8744, ptr @simtime, align 8, !tbaa !13
  %8745 = load i64, ptr %8731, align 8, !tbaa !118
  %8746 = load i64, ptr %8725, align 8, !tbaa !33
  %8747 = or i64 %8746, %8745
  store i64 %8747, ptr %8725, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.151)
  %8748 = load i64, ptr @simtime, align 8, !tbaa !13
  %8749 = add i64 %8748, 200
  store i64 %8749, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %8731, align 8, !tbaa !118
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  %8750 = load i32, ptr %11, align 4, !tbaa !16
  %8751 = icmp eq i32 %8750, 5
  br i1 %8751, label %8752, label %8754

8752:                                             ; preds = %8722
  %8753 = load i64, ptr %8725, align 8, !tbaa !33
  store i64 %8753, ptr %8723, align 8, !tbaa !38
  br label %8570

8754:                                             ; preds = %8722
  %8755 = load i64, ptr @simtime, align 8, !tbaa !13
  %8756 = add i64 %8755, 100
  store i64 %8756, ptr @simtime, align 8, !tbaa !13
  %8757 = load i64, ptr %8723, align 8, !tbaa !38
  %8758 = load i64, ptr %8725, align 8, !tbaa !33
  %8759 = and i64 %8758, %8757
  store i64 %8759, ptr %8725, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.125)
  %8760 = load i64, ptr @simtime, align 8, !tbaa !13
  %8761 = add i64 %8760, 100
  store i64 %8761, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.126)
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.127)
  %8762 = load i64, ptr @simtime, align 8, !tbaa !13
  %8763 = add i64 %8762, 200
  store i64 %8763, ptr @simtime, align 8, !tbaa !13
  %8764 = load i32, ptr %11, align 4, !tbaa !16
  switch i32 %8764, label %.thread6560 [
    i32 6, label %8765
    i32 7, label %8768
  ]

8765:                                             ; preds = %8754
  %8766 = load i64, ptr %8725, align 8, !tbaa !33
  %8767 = icmp eq i64 %8766, 0
  br i1 %8767, label %8771, label %.thread6560

8768:                                             ; preds = %8754
  %8769 = load i64, ptr %8725, align 8, !tbaa !33
  %8770 = icmp eq i64 %8769, 0
  br i1 %8770, label %.thread6560, label %8771

8771:                                             ; preds = %8768, %8765
  %8772 = getelementptr inbounds i8, ptr %0, i64 88
  %8773 = load i32, ptr %8772, align 8, !tbaa !31
  %8774 = add i32 %8773, 1
  %8775 = and i32 %8774, 262143
  store i32 %8775, ptr %8772, align 8, !tbaa !31
  tail call void @pc_chg(ptr noundef nonnull %0)
  br label %.thread6560

.thread6560:                                      ; preds = %8754, %8765, %8771, %8768
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.121)
  %8776 = load i64, ptr @simtime, align 8, !tbaa !13
  %8777 = add i64 %8776, 200
  store i64 %8777, ptr @simtime, align 8, !tbaa !13
  br label %8570

8778:                                             ; preds = %._crit_edge
  %8779 = getelementptr inbounds i8, ptr %0, i64 64
  %8780 = load i64, ptr %8779, align 8, !tbaa !38
  %8781 = getelementptr inbounds i8, ptr %0, i64 40
  store i64 %8780, ptr %8781, align 8, !tbaa !33
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8782 = load i64, ptr @simtime, align 8, !tbaa !13
  %8783 = add i64 %8782, 100
  store i64 %8783, ptr @simtime, align 8, !tbaa !13
  %8784 = getelementptr inbounds i8, ptr %0, i64 177
  %8785 = load i8, ptr %8784, align 1, !tbaa !46, !range !19, !noundef !20
  %8786 = trunc nuw i8 %8785 to i1
  br i1 %8786, label %8787, label %8792

8787:                                             ; preds = %8778
  %8788 = getelementptr inbounds i8, ptr %0, i64 178
  %8789 = load i8, ptr %8788, align 2, !tbaa !52, !range !19, !noundef !20
  %8790 = trunc nuw i8 %8789 to i1
  br i1 %8790, label %8792, label %8791

8791:                                             ; preds = %8787
  tail call void @pi_rst(ptr noundef nonnull %0)
  br label %8792

8792:                                             ; preds = %8791, %8787, %8778
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8793 = load i64, ptr @simtime, align 8, !tbaa !13
  %8794 = add i64 %8793, 100
  store i64 %8794, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8795 = getelementptr inbounds i8, ptr %0, i64 173
  store i8 1, ptr %8795, align 1, !tbaa !113
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8796 = load i64, ptr %8781, align 8, !tbaa !33
  %8797 = getelementptr inbounds i8, ptr %0, i64 112
  %8798 = load i64, ptr %8797, align 8, !tbaa !118
  %8799 = or i64 %8798, %8796
  store i64 %8799, ptr %8797, align 8, !tbaa !118
  %8800 = load i64, ptr @simtime, align 8, !tbaa !13
  %8801 = add i64 %8800, 1000
  store i64 %8801, ptr @simtime, align 8, !tbaa !13
  store i8 0, ptr %8795, align 1, !tbaa !113
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.150)
  %8802 = getelementptr inbounds i8, ptr %0, i64 100
  %8803 = load i32, ptr %8802, align 4, !tbaa !53
  %8804 = lshr i32 %8803, 8
  %8805 = and i32 %8804, 127
  %8806 = zext nneg i32 %8805 to i64
  %8807 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %8806
  %8808 = load ptr, ptr %8807, align 8, !tbaa !114
  %8809 = getelementptr inbounds i8, ptr %8808, i64 16
  %8810 = load ptr, ptr %8809, align 8, !tbaa !116
  tail call void %8810(ptr noundef nonnull %0, ptr noundef %8808, i32 noundef 2) #2
  %8811 = load i64, ptr @simtime, align 8, !tbaa !13
  %8812 = add i64 %8811, 1000
  store i64 %8812, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.151)
  %8813 = load i32, ptr %8802, align 4, !tbaa !53
  %8814 = lshr i32 %8813, 8
  %8815 = and i32 %8814, 127
  %8816 = zext nneg i32 %8815 to i64
  %8817 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %8816
  %8818 = load ptr, ptr %8817, align 8, !tbaa !114
  %8819 = getelementptr inbounds i8, ptr %8818, i64 16
  %8820 = load ptr, ptr %8819, align 8, !tbaa !116
  tail call void %8820(ptr noundef nonnull %0, ptr noundef %8818, i32 noundef 3) #2
  %8821 = load i64, ptr @simtime, align 8, !tbaa !13
  %8822 = add i64 %8821, 200
  store i64 %8822, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %8797, align 8, !tbaa !118
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

8823:                                             ; preds = %._crit_edge
  %8824 = getelementptr inbounds i8, ptr %0, i64 64
  %8825 = load i64, ptr %8824, align 8, !tbaa !38
  %8826 = shl i64 %8825, 18
  %8827 = lshr i64 %8825, 18
  %8828 = or i64 %8826, %8827
  %8829 = and i64 %8828, 68719476735
  store i64 %8829, ptr %8824, align 8, !tbaa !38
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.41)
  %8830 = load i64, ptr @simtime, align 8, !tbaa !13
  %8831 = add i64 %8830, 100
  store i64 %8831, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.42)
  %8832 = load i64, ptr @simtime, align 8, !tbaa !13
  %8833 = add i64 %8832, 100
  store i64 %8833, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.43)
  %8834 = load i64, ptr %8824, align 8, !tbaa !38
  %8835 = and i64 %8834, 68719214592
  %8836 = getelementptr inbounds i8, ptr %0, i64 40
  %8837 = load i64, ptr %8836, align 8, !tbaa !33
  %8838 = and i64 %8837, 262143
  %8839 = or disjoint i64 %8838, %8835
  store i64 %8839, ptr %8836, align 8, !tbaa !33
  %8840 = getelementptr inbounds i8, ptr %0, i64 173
  store i8 1, ptr %8840, align 1, !tbaa !113
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.65)
  %8841 = load i64, ptr %8836, align 8, !tbaa !33
  %8842 = getelementptr inbounds i8, ptr %0, i64 112
  %8843 = load i64, ptr %8842, align 8, !tbaa !118
  %8844 = or i64 %8843, %8841
  store i64 %8844, ptr %8842, align 8, !tbaa !118
  %8845 = load i64, ptr @simtime, align 8, !tbaa !13
  %8846 = add i64 %8845, 1000
  store i64 %8846, ptr @simtime, align 8, !tbaa !13
  store i8 0, ptr %8840, align 1, !tbaa !113
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.150)
  %8847 = getelementptr inbounds i8, ptr %0, i64 100
  %8848 = load i32, ptr %8847, align 4, !tbaa !53
  %8849 = lshr i32 %8848, 8
  %8850 = and i32 %8849, 127
  %8851 = zext nneg i32 %8850 to i64
  %8852 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %8851
  %8853 = load ptr, ptr %8852, align 8, !tbaa !114
  %8854 = getelementptr inbounds i8, ptr %8853, i64 16
  %8855 = load ptr, ptr %8854, align 8, !tbaa !116
  tail call void %8855(ptr noundef nonnull %0, ptr noundef %8853, i32 noundef 0) #2
  %8856 = load i64, ptr @simtime, align 8, !tbaa !13
  %8857 = add i64 %8856, 1000
  store i64 %8857, ptr @simtime, align 8, !tbaa !13
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.151)
  %8858 = load i32, ptr %8847, align 4, !tbaa !53
  %8859 = lshr i32 %8858, 8
  %8860 = and i32 %8859, 127
  %8861 = zext nneg i32 %8860 to i64
  %8862 = getelementptr inbounds [128 x ptr], ptr @devs_code, i64 0, i64 %8861
  %8863 = load ptr, ptr %8862, align 8, !tbaa !114
  %8864 = getelementptr inbounds i8, ptr %8863, i64 16
  %8865 = load ptr, ptr %8864, align 8, !tbaa !116
  tail call void %8865(ptr noundef nonnull %0, ptr noundef %8863, i32 noundef 1) #2
  %8866 = load i64, ptr @simtime, align 8, !tbaa !13
  %8867 = add i64 %8866, 200
  store i64 %8867, ptr @simtime, align 8, !tbaa !13
  store i64 0, ptr %8842, align 8, !tbaa !118
  tail call void @pulse(ptr noundef nonnull %0, ptr noundef nonnull @.str.122)
  br label %8570

8868:                                             ; preds = %._crit_edge
  %8869 = tail call i32 (ptr, ...) @printf(ptr noundef nonnull dereferenceable(1) @.str.152, i32 noundef %12)
  store i32 0, ptr %0, align 8, !tbaa !40
  br label %8870

8870:                                             ; preds = %243, %8647, %8646, %8645, %239, %247, %220, %224, %8868, %8648, %8623, %8604, %8592, %8588, %8062, %905, %555, %535, %530, %480, %476, %451, %397, %383, %363, %358, %302, %277, %205, %197
  ret void
}

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

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

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

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

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

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

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

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

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

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

; Function Attrs: nounwind uwtable
declare hidden i32 @divide(ptr noundef) local_unnamed_addr #0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { nounwind }

!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, !11, i64 376}
!6 = !{!"PDP6", !7, i64 0, !7, i64 4, !7, i64 8, !7, i64 12, !10, i64 16, !10, i64 17, !10, i64 18, !10, i64 19, !10, i64 20, !10, i64 21, !10, i64 22, !10, i64 23, !10, i64 24, !10, i64 25, !10, i64 26, !10, i64 27, !10, i64 28, !10, i64 29, !10, i64 30, !10, i64 31, !10, i64 32, !10, i64 33, !10, i64 34, !10, i64 35, !10, i64 36, !10, i64 37, !10, i64 38, !10, i64 39, !11, i64 40, !11, i64 48, !8, i64 56, !11, i64 64, !11, i64 72, !11, i64 80, !7, i64 88, !7, i64 92, !7, i64 96, !7, i64 100, !7, i64 104, !7, i64 108, !11, i64 112, !8, i64 120, !10, i64 121, !10, i64 122, !10, i64 123, !10, i64 124, !10, i64 125, !10, i64 126, !10, i64 127, !10, i64 128, !10, i64 129, !10, i64 130, !10, i64 131, !10, i64 132, !10, i64 133, !10, i64 134, !10, i64 135, !10, i64 136, !10, i64 137, !10, i64 138, !10, i64 139, !10, i64 140, !10, i64 141, !10, i64 142, !10, i64 143, !10, i64 144, !10, i64 145, !10, i64 146, !10, i64 147, !10, i64 148, !10, i64 149, !10, i64 150, !10, i64 151, !10, i64 152, !10, i64 153, !10, i64 154, !10, i64 155, !10, i64 156, !10, i64 157, !10, i64 158, !10, i64 159, !10, i64 160, !10, i64 161, !10, i64 162, !10, i64 163, !10, i64 164, !10, i64 165, !10, i64 166, !10, i64 167, !10, i64 168, !10, i64 169, !10, i64 170, !10, i64 171, !10, i64 172, !10, i64 173, !10, i64 174, !10, i64 175, !10, i64 176, !10, i64 177, !10, i64 178, !10, i64 179, !8, i64 180, !8, i64 181, !8, i64 182, !8, i64 183, !10, i64 184, !10, i64 185, !10, i64 186, !10, i64 187, !10, i64 188, !7, i64 192, !7, i64 196, !7, i64 200, !10, i64 204, !10, i64 205, !10, i64 206, !10, i64 207, !10, i64 208, !10, i64 209, !10, i64 210, !10, i64 211, !10, i64 212, !10, i64 213, !10, i64 214, !10, i64 215, !8, i64 216, !10, i64 217, !10, i64 218, !10, i64 219, !10, i64 220, !10, i64 221, !10, i64 222, !10, i64 223, !10, i64 224, !10, i64 225, !10, i64 226, !10, i64 227, !10, i64 228, !10, i64 229, !8, i64 230, !7, i64 232, !7, i64 236, !11, i64 240, !11, i64 248, !11, i64 256, !10, i64 264, !10, i64 265, !10, i64 266, !8, i64 267, !11, i64 272, !10, i64 280, !10, i64 281, !10, i64 282, !7, i64 284, !12, i64 288, !11, i64 304, !8, i64 312, !10, i64 313, !10, i64 314, !10, i64 315, !8, i64 316, !10, i64 317, !10, i64 318, !8, i64 319, !7, i64 320, !7, i64 324, !12, i64 328, !7, i64 340, !11, i64 344, !11, i64 352, !12, i64 360, !10, i64 372, !11, i64 376, !11, i64 384, !11, i64 392, !11, i64 400, !11, i64 408, !10, i64 416, !11, i64 424}
!7 = !{!"int", !8, i64 0}
!8 = !{!"omnipotent char", !9, i64 0}
!9 = !{!"Simple C/C++ TBAA"}
!10 = !{!"_Bool", !8, i64 0}
!11 = !{!"long long", !8, i64 0}
!12 = !{!"FD", !7, i64 0, !7, i64 4, !7, i64 8}
!13 = !{!11, !11, i64 0}
!14 = distinct !{!14, !15}
!15 = !{!"llvm.loop.mustprogress"}
!16 = !{!6, !7, i64 4}
!17 = !{!6, !7, i64 12}
!18 = !{!6, !10, i64 17}
!19 = !{i8 0, i8 2}
!20 = !{}
!21 = !{!6, !10, i64 16}
!22 = !{!6, !10, i64 21}
!23 = !{!6, !10, i64 22}
!24 = !{!6, !10, i64 23}
!25 = !{!6, !10, i64 24}
!26 = !{!6, !10, i64 25}
!27 = !{!6, !10, i64 27}
!28 = !{!6, !10, i64 26}
!29 = !{!6, !10, i64 19}
!30 = !{!6, !7, i64 92}
!31 = !{!6, !7, i64 88}
!32 = !{!6, !10, i64 34}
!33 = !{!6, !11, i64 40}
!34 = !{!6, !10, i64 38}
!35 = !{!6, !10, i64 39}
!36 = !{!6, !7, i64 96}
!37 = !{!6, !11, i64 80}
!38 = !{!6, !11, i64 64}
!39 = !{!6, !10, i64 121}
!40 = !{!6, !7, i64 0}
!41 = !{!6, !10, i64 188}
!42 = !{!6, !11, i64 72}
!43 = !{!6, !10, i64 33}
!44 = !{!6, !10, i64 36}
!45 = !{!6, !10, i64 122}
!46 = !{!6, !10, i64 177}
!47 = !{!6, !8, i64 120}
!48 = !{!6, !8, i64 180}
!49 = !{!6, !8, i64 183}
!50 = !{!6, !10, i64 186}
!51 = !{!6, !10, i64 416}
!52 = !{!6, !10, i64 178}
!53 = !{!6, !7, i64 100}
!54 = !{!6, !10, i64 123}
!55 = !{!6, !10, i64 187}
!56 = !{!6, !10, i64 124}
!57 = !{!6, !10, i64 136}
!58 = !{!6, !10, i64 125}
!59 = !{!6, !11, i64 48}
!60 = !{!6, !10, i64 126}
!61 = !{!6, !10, i64 127}
!62 = !{!6, !10, i64 37}
!63 = !{!6, !10, i64 20}
!64 = !{!6, !10, i64 217}
!65 = !{!6, !10, i64 218}
!66 = !{!6, !7, i64 8}
!67 = !{!6, !10, i64 131}
!68 = !{!6, !7, i64 108}
!69 = !{!6, !10, i64 158}
!70 = !{!6, !10, i64 167}
!71 = !{!6, !10, i64 159}
!72 = !{!6, !10, i64 156}
!73 = !{!6, !10, i64 141}
!74 = !{!6, !10, i64 137}
!75 = !{!6, !10, i64 162}
!76 = !{!6, !10, i64 165}
!77 = !{!6, !7, i64 104}
!78 = !{!6, !10, i64 169}
!79 = !{!6, !10, i64 163}
!80 = !{!6, !10, i64 166}
!81 = !{!6, !10, i64 171}
!82 = !{!6, !10, i64 144}
!83 = distinct !{!83, !15}
!84 = !{!6, !10, i64 170}
!85 = !{!6, !10, i64 143}
!86 = !{!6, !10, i64 168}
!87 = !{!6, !10, i64 157}
!88 = !{!6, !10, i64 138}
!89 = !{!6, !10, i64 134}
!90 = !{!6, !10, i64 153}
!91 = !{!6, !10, i64 174}
!92 = !{!6, !10, i64 175}
!93 = !{!6, !10, i64 154}
!94 = !{!6, !10, i64 155}
!95 = !{!6, !10, i64 172}
!96 = !{!6, !10, i64 164}
!97 = !{!6, !10, i64 145}
!98 = !{!6, !10, i64 146}
!99 = !{!6, !10, i64 152}
!100 = !{!6, !10, i64 132}
!101 = !{!6, !10, i64 139}
!102 = !{!6, !10, i64 140}
!103 = !{!6, !10, i64 185}
!104 = !{!6, !10, i64 221}
!105 = !{!6, !10, i64 219}
!106 = !{!6, !10, i64 220}
!107 = !{!6, !10, i64 222}
!108 = !{!6, !10, i64 184}
!109 = !{!6, !10, i64 128}
!110 = !{!6, !10, i64 129}
!111 = !{!6, !10, i64 130}
!112 = !{!6, !10, i64 133}
!113 = !{!6, !10, i64 173}
!114 = !{!115, !115, i64 0}
!115 = !{!"any pointer", !8, i64 0}
!116 = !{!117, !115, i64 16}
!117 = !{!"IOdev", !8, i64 0, !7, i64 4, !115, i64 8, !115, i64 16, !115, i64 24}
!118 = !{!6, !11, i64 112}


; Effective O3 passes: BDCEPass,CorrelatedValuePropagationPass,DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,MergedLoadStoreMotionPass,ReassociatePass,SROAPass,SimplifyCFGPass,TailCallElimPass