You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

4561 lines
133 KiB

@SHIFT_TABLE = global [16 x i32] zeroinitializer
declare i32 @getint()
declare float @getfloat()
declare i32 @getarray(i32* %arg.a)
declare i32 @getfarray(float* %arg.a)
declare i32 @getch()
declare void @putint(i32 %arg.x)
declare void @putfloat(float %arg.x)
declare void @putarray(i32 %arg.n, i32* %arg.a)
declare void @putfarray(i32 %arg.n, float* %arg.a)
declare void @putch(i32 %arg.x)
declare void @starttime()
declare void @stoptime()
define i32 @long_func() {
entry:
%t0 = alloca i32
store i32 0, i32* %t0
%t1 = alloca i32
store i32 0, i32* %t1
%t2 = alloca i32
store i32 0, i32* %t2
%t3 = alloca i32
store i32 0, i32* %t3
%t4 = alloca i32
store i32 0, i32* %t4
%t5 = alloca i32
store i32 2, i32* %t5
%t6 = alloca i32
store i32 0, i32* %t6
%t7 = alloca i32
store i32 1, i32* %t7
br label %while.cond.1
while.cond.1:
%t8 = load i32, i32* %t6
%t9 = icmp sgt i32 %t8, 0
%t10 = icmp ne i32 %t9, 0
br i1 %t10, label %while.body.2, label %while.end.3
while.body.2:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t11 = load i32, i32* %t6
store i32 %t11, i32* %t2
store i32 1, i32* %t3
br label %while.cond.4
while.end.3:
%t557 = load i32, i32* %t7
store i32 %t557, i32* %t0
%t558 = load i32, i32* %t0
call void @putint(i32 %t558)
call void @putch(i32 10)
%t561 = alloca i32
store i32 2, i32* %t561
%t562 = alloca i32
store i32 1, i32* %t562
%t563 = alloca i32
store i32 1, i32* %t563
br label %while.cond.182
while.cond.4:
%t12 = load i32, i32* %t1
%t13 = icmp slt i32 %t12, 16
%t14 = icmp ne i32 %t13, 0
br i1 %t14, label %while.body.5, label %while.end.6
while.body.5:
%t15 = load i32, i32* %t2
%t16 = srem i32 %t15, 2
%t17 = icmp ne i32 %t16, 0
br i1 %t17, label %land.rhs.9, label %if.end.8
while.end.6:
%t32 = load i32, i32* %t0
%t33 = icmp ne i32 %t32, 0
br i1 %t33, label %if.then.10, label %if.end.11
if.then.7:
%t21 = load i32, i32* %t0
%t22 = load i32, i32* %t1
%t23 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t22
%t24 = load i32, i32* %t23
%t25 = add i32 %t21, %t24
store i32 %t25, i32* %t0
br label %if.end.8
if.end.8:
%t26 = load i32, i32* %t2
%t27 = sdiv i32 %t26, 2
store i32 %t27, i32* %t2
%t28 = load i32, i32* %t3
%t29 = sdiv i32 %t28, 2
store i32 %t29, i32* %t3
%t30 = load i32, i32* %t1
%t31 = add i32 %t30, 1
store i32 %t31, i32* %t1
br label %while.cond.4
land.rhs.9:
%t18 = load i32, i32* %t3
%t19 = srem i32 %t18, 2
%t20 = icmp ne i32 %t19, 0
br i1 %t20, label %if.then.7, label %if.end.8
if.then.10:
%t34 = alloca i32
%t35 = load i32, i32* %t7
store i32 %t35, i32* %t34
%t36 = alloca i32
%t37 = load i32, i32* %t5
store i32 %t37, i32* %t36
%t38 = alloca i32
store i32 0, i32* %t38
br label %while.cond.12
if.end.11:
%t279 = alloca i32
%t280 = load i32, i32* %t5
store i32 %t280, i32* %t279
%t281 = alloca i32
%t282 = load i32, i32* %t5
store i32 %t282, i32* %t281
%t283 = alloca i32
store i32 0, i32* %t283
br label %while.cond.91
while.cond.12:
%t39 = load i32, i32* %t36
%t40 = icmp ne i32 %t39, 0
br i1 %t40, label %while.body.13, label %while.end.14
while.body.13:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t41 = load i32, i32* %t36
store i32 %t41, i32* %t2
store i32 1, i32* %t3
br label %while.cond.15
while.end.14:
%t277 = load i32, i32* %t38
store i32 %t277, i32* %t0
%t278 = load i32, i32* %t0
store i32 %t278, i32* %t7
br label %if.end.11
while.cond.15:
%t42 = load i32, i32* %t1
%t43 = icmp slt i32 %t42, 16
%t44 = icmp ne i32 %t43, 0
br i1 %t44, label %while.body.16, label %while.end.17
while.body.16:
%t45 = load i32, i32* %t2
%t46 = srem i32 %t45, 2
%t47 = icmp ne i32 %t46, 0
br i1 %t47, label %land.rhs.20, label %if.end.19
while.end.17:
%t62 = load i32, i32* %t0
%t63 = icmp ne i32 %t62, 0
br i1 %t63, label %if.then.21, label %if.end.22
if.then.18:
%t51 = load i32, i32* %t0
%t52 = load i32, i32* %t1
%t53 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t52
%t54 = load i32, i32* %t53
%t55 = add i32 %t51, %t54
store i32 %t55, i32* %t0
br label %if.end.19
if.end.19:
%t56 = load i32, i32* %t2
%t57 = sdiv i32 %t56, 2
store i32 %t57, i32* %t2
%t58 = load i32, i32* %t3
%t59 = sdiv i32 %t58, 2
store i32 %t59, i32* %t3
%t60 = load i32, i32* %t1
%t61 = add i32 %t60, 1
store i32 %t61, i32* %t1
br label %while.cond.15
land.rhs.20:
%t48 = load i32, i32* %t3
%t49 = srem i32 %t48, 2
%t50 = icmp ne i32 %t49, 0
br i1 %t50, label %if.then.18, label %if.end.19
if.then.21:
%t64 = alloca i32
%t65 = load i32, i32* %t38
store i32 %t65, i32* %t64
%t66 = alloca i32
%t67 = load i32, i32* %t34
store i32 %t67, i32* %t66
%t68 = alloca i32
store i32 0, i32* %t68
br label %while.cond.23
if.end.22:
%t154 = alloca i32
%t155 = load i32, i32* %t34
store i32 %t155, i32* %t154
%t156 = alloca i32
%t157 = load i32, i32* %t34
store i32 %t157, i32* %t156
%t158 = alloca i32
store i32 0, i32* %t158
br label %while.cond.51
while.cond.23:
%t69 = load i32, i32* %t66
%t70 = icmp ne i32 %t69, 0
br i1 %t70, label %while.body.24, label %while.end.25
while.body.24:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t71 = load i32, i32* %t64
store i32 %t71, i32* %t2
%t72 = load i32, i32* %t66
store i32 %t72, i32* %t3
br label %while.cond.26
while.end.25:
%t152 = load i32, i32* %t64
store i32 %t152, i32* %t0
%t153 = load i32, i32* %t0
store i32 %t153, i32* %t38
br label %if.end.22
while.cond.26:
%t73 = load i32, i32* %t1
%t74 = icmp slt i32 %t73, 16
%t75 = icmp ne i32 %t74, 0
br i1 %t75, label %while.body.27, label %while.end.28
while.body.27:
%t76 = load i32, i32* %t2
%t77 = srem i32 %t76, 2
%t78 = icmp ne i32 %t77, 0
br i1 %t78, label %if.then.29, label %if.else.31
while.end.28:
%t102 = load i32, i32* %t0
store i32 %t102, i32* %t68
store i32 0, i32* %t0
store i32 0, i32* %t1
%t103 = load i32, i32* %t64
store i32 %t103, i32* %t2
%t104 = load i32, i32* %t66
store i32 %t104, i32* %t3
br label %while.cond.36
if.then.29:
%t79 = load i32, i32* %t3
%t80 = srem i32 %t79, 2
%t81 = icmp eq i32 %t80, 0
%t82 = icmp ne i32 %t81, 0
br i1 %t82, label %if.then.32, label %if.end.33
if.end.30:
%t96 = load i32, i32* %t2
%t97 = sdiv i32 %t96, 2
store i32 %t97, i32* %t2
%t98 = load i32, i32* %t3
%t99 = sdiv i32 %t98, 2
store i32 %t99, i32* %t3
%t100 = load i32, i32* %t1
%t101 = add i32 %t100, 1
store i32 %t101, i32* %t1
br label %while.cond.26
if.else.31:
%t88 = load i32, i32* %t3
%t89 = srem i32 %t88, 2
%t90 = icmp ne i32 %t89, 0
br i1 %t90, label %if.then.34, label %if.end.35
if.then.32:
%t83 = load i32, i32* %t0
%t84 = load i32, i32* %t1
%t85 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t84
%t86 = load i32, i32* %t85
%t87 = add i32 %t83, %t86
store i32 %t87, i32* %t0
br label %if.end.33
if.end.33:
br label %if.end.30
if.then.34:
%t91 = load i32, i32* %t0
%t92 = load i32, i32* %t1
%t93 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t92
%t94 = load i32, i32* %t93
%t95 = add i32 %t91, %t94
store i32 %t95, i32* %t0
br label %if.end.35
if.end.35:
br label %if.end.30
while.cond.36:
%t105 = load i32, i32* %t1
%t106 = icmp slt i32 %t105, 16
%t107 = icmp ne i32 %t106, 0
br i1 %t107, label %while.body.37, label %while.end.38
while.body.37:
%t108 = load i32, i32* %t2
%t109 = srem i32 %t108, 2
%t110 = icmp ne i32 %t109, 0
br i1 %t110, label %land.rhs.41, label %if.end.40
while.end.38:
%t125 = load i32, i32* %t0
store i32 %t125, i32* %t66
br i1 0, label %if.then.42, label %if.else.44
if.then.39:
%t114 = load i32, i32* %t0
%t115 = load i32, i32* %t1
%t116 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t115
%t117 = load i32, i32* %t116
%t118 = add i32 %t114, %t117
store i32 %t118, i32* %t0
br label %if.end.40
if.end.40:
%t119 = load i32, i32* %t2
%t120 = sdiv i32 %t119, 2
store i32 %t120, i32* %t2
%t121 = load i32, i32* %t3
%t122 = sdiv i32 %t121, 2
store i32 %t122, i32* %t3
%t123 = load i32, i32* %t1
%t124 = add i32 %t123, 1
store i32 %t124, i32* %t1
br label %while.cond.36
land.rhs.41:
%t111 = load i32, i32* %t3
%t112 = srem i32 %t111, 2
%t113 = icmp ne i32 %t112, 0
br i1 %t113, label %if.then.39, label %if.end.40
if.then.42:
store i32 0, i32* %t0
br label %if.end.43
if.end.43:
%t150 = load i32, i32* %t0
store i32 %t150, i32* %t66
%t151 = load i32, i32* %t68
store i32 %t151, i32* %t64
br label %while.cond.23
if.else.44:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t126 = load i32, i32* %t66
%t127 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t128 = load i32, i32* %t127
%t129 = mul i32 %t126, %t128
store i32 %t129, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.45
while.cond.45:
%t130 = load i32, i32* %t1
%t131 = icmp slt i32 %t130, 16
%t132 = icmp ne i32 %t131, 0
br i1 %t132, label %while.body.46, label %while.end.47
while.body.46:
%t133 = load i32, i32* %t2
%t134 = srem i32 %t133, 2
%t135 = icmp ne i32 %t134, 0
br i1 %t135, label %land.rhs.50, label %if.end.49
while.end.47:
br label %if.end.43
if.then.48:
%t139 = load i32, i32* %t0
%t140 = load i32, i32* %t1
%t141 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t140
%t142 = load i32, i32* %t141
%t143 = add i32 %t139, %t142
store i32 %t143, i32* %t0
br label %if.end.49
if.end.49:
%t144 = load i32, i32* %t2
%t145 = sdiv i32 %t144, 2
store i32 %t145, i32* %t2
%t146 = load i32, i32* %t3
%t147 = sdiv i32 %t146, 2
store i32 %t147, i32* %t3
%t148 = load i32, i32* %t1
%t149 = add i32 %t148, 1
store i32 %t149, i32* %t1
br label %while.cond.45
land.rhs.50:
%t136 = load i32, i32* %t3
%t137 = srem i32 %t136, 2
%t138 = icmp ne i32 %t137, 0
br i1 %t138, label %if.then.48, label %if.end.49
while.cond.51:
%t159 = load i32, i32* %t156
%t160 = icmp ne i32 %t159, 0
br i1 %t160, label %while.body.52, label %while.end.53
while.body.52:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t161 = load i32, i32* %t154
store i32 %t161, i32* %t2
%t162 = load i32, i32* %t156
store i32 %t162, i32* %t3
br label %while.cond.54
while.end.53:
%t242 = load i32, i32* %t154
store i32 %t242, i32* %t0
%t243 = load i32, i32* %t0
store i32 %t243, i32* %t34
%t244 = load i32, i32* %t36
store i32 %t244, i32* %t2
store i32 1, i32* %t3
%t245 = load i32, i32* %t3
%t246 = icmp sge i32 %t245, 15
%t247 = icmp ne i32 %t246, 0
br i1 %t247, label %if.then.79, label %if.else.81
while.cond.54:
%t163 = load i32, i32* %t1
%t164 = icmp slt i32 %t163, 16
%t165 = icmp ne i32 %t164, 0
br i1 %t165, label %while.body.55, label %while.end.56
while.body.55:
%t166 = load i32, i32* %t2
%t167 = srem i32 %t166, 2
%t168 = icmp ne i32 %t167, 0
br i1 %t168, label %if.then.57, label %if.else.59
while.end.56:
%t192 = load i32, i32* %t0
store i32 %t192, i32* %t158
store i32 0, i32* %t0
store i32 0, i32* %t1
%t193 = load i32, i32* %t154
store i32 %t193, i32* %t2
%t194 = load i32, i32* %t156
store i32 %t194, i32* %t3
br label %while.cond.64
if.then.57:
%t169 = load i32, i32* %t3
%t170 = srem i32 %t169, 2
%t171 = icmp eq i32 %t170, 0
%t172 = icmp ne i32 %t171, 0
br i1 %t172, label %if.then.60, label %if.end.61
if.end.58:
%t186 = load i32, i32* %t2
%t187 = sdiv i32 %t186, 2
store i32 %t187, i32* %t2
%t188 = load i32, i32* %t3
%t189 = sdiv i32 %t188, 2
store i32 %t189, i32* %t3
%t190 = load i32, i32* %t1
%t191 = add i32 %t190, 1
store i32 %t191, i32* %t1
br label %while.cond.54
if.else.59:
%t178 = load i32, i32* %t3
%t179 = srem i32 %t178, 2
%t180 = icmp ne i32 %t179, 0
br i1 %t180, label %if.then.62, label %if.end.63
if.then.60:
%t173 = load i32, i32* %t0
%t174 = load i32, i32* %t1
%t175 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t174
%t176 = load i32, i32* %t175
%t177 = add i32 %t173, %t176
store i32 %t177, i32* %t0
br label %if.end.61
if.end.61:
br label %if.end.58
if.then.62:
%t181 = load i32, i32* %t0
%t182 = load i32, i32* %t1
%t183 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t182
%t184 = load i32, i32* %t183
%t185 = add i32 %t181, %t184
store i32 %t185, i32* %t0
br label %if.end.63
if.end.63:
br label %if.end.58
while.cond.64:
%t195 = load i32, i32* %t1
%t196 = icmp slt i32 %t195, 16
%t197 = icmp ne i32 %t196, 0
br i1 %t197, label %while.body.65, label %while.end.66
while.body.65:
%t198 = load i32, i32* %t2
%t199 = srem i32 %t198, 2
%t200 = icmp ne i32 %t199, 0
br i1 %t200, label %land.rhs.69, label %if.end.68
while.end.66:
%t215 = load i32, i32* %t0
store i32 %t215, i32* %t156
br i1 0, label %if.then.70, label %if.else.72
if.then.67:
%t204 = load i32, i32* %t0
%t205 = load i32, i32* %t1
%t206 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t205
%t207 = load i32, i32* %t206
%t208 = add i32 %t204, %t207
store i32 %t208, i32* %t0
br label %if.end.68
if.end.68:
%t209 = load i32, i32* %t2
%t210 = sdiv i32 %t209, 2
store i32 %t210, i32* %t2
%t211 = load i32, i32* %t3
%t212 = sdiv i32 %t211, 2
store i32 %t212, i32* %t3
%t213 = load i32, i32* %t1
%t214 = add i32 %t213, 1
store i32 %t214, i32* %t1
br label %while.cond.64
land.rhs.69:
%t201 = load i32, i32* %t3
%t202 = srem i32 %t201, 2
%t203 = icmp ne i32 %t202, 0
br i1 %t203, label %if.then.67, label %if.end.68
if.then.70:
store i32 0, i32* %t0
br label %if.end.71
if.end.71:
%t240 = load i32, i32* %t0
store i32 %t240, i32* %t156
%t241 = load i32, i32* %t158
store i32 %t241, i32* %t154
br label %while.cond.51
if.else.72:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t216 = load i32, i32* %t156
%t217 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t218 = load i32, i32* %t217
%t219 = mul i32 %t216, %t218
store i32 %t219, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.73
while.cond.73:
%t220 = load i32, i32* %t1
%t221 = icmp slt i32 %t220, 16
%t222 = icmp ne i32 %t221, 0
br i1 %t222, label %while.body.74, label %while.end.75
while.body.74:
%t223 = load i32, i32* %t2
%t224 = srem i32 %t223, 2
%t225 = icmp ne i32 %t224, 0
br i1 %t225, label %land.rhs.78, label %if.end.77
while.end.75:
br label %if.end.71
if.then.76:
%t229 = load i32, i32* %t0
%t230 = load i32, i32* %t1
%t231 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t230
%t232 = load i32, i32* %t231
%t233 = add i32 %t229, %t232
store i32 %t233, i32* %t0
br label %if.end.77
if.end.77:
%t234 = load i32, i32* %t2
%t235 = sdiv i32 %t234, 2
store i32 %t235, i32* %t2
%t236 = load i32, i32* %t3
%t237 = sdiv i32 %t236, 2
store i32 %t237, i32* %t3
%t238 = load i32, i32* %t1
%t239 = add i32 %t238, 1
store i32 %t239, i32* %t1
br label %while.cond.73
land.rhs.78:
%t226 = load i32, i32* %t3
%t227 = srem i32 %t226, 2
%t228 = icmp ne i32 %t227, 0
br i1 %t228, label %if.then.76, label %if.end.77
if.then.79:
%t248 = load i32, i32* %t2
%t249 = icmp slt i32 %t248, 0
%t250 = icmp ne i32 %t249, 0
br i1 %t250, label %if.then.82, label %if.else.84
if.end.80:
%t276 = load i32, i32* %t0
store i32 %t276, i32* %t36
br label %while.cond.12
if.else.81:
%t251 = load i32, i32* %t3
%t252 = icmp sgt i32 %t251, 0
%t253 = icmp ne i32 %t252, 0
br i1 %t253, label %if.then.85, label %if.else.87
if.then.82:
store i32 65535, i32* %t0
br label %if.end.83
if.end.83:
br label %if.end.80
if.else.84:
store i32 0, i32* %t0
br label %if.end.83
if.then.85:
%t254 = load i32, i32* %t2
%t255 = icmp sgt i32 %t254, 32767
%t256 = icmp ne i32 %t255, 0
br i1 %t256, label %if.then.88, label %if.else.90
if.end.86:
br label %if.end.80
if.else.87:
%t275 = load i32, i32* %t2
store i32 %t275, i32* %t0
br label %if.end.86
if.then.88:
%t257 = load i32, i32* %t2
%t258 = load i32, i32* %t3
%t259 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t258
%t260 = load i32, i32* %t259
%t261 = sdiv i32 %t257, %t260
store i32 %t261, i32* %t2
%t262 = load i32, i32* %t2
%t263 = add i32 %t262, 65536
%t264 = load i32, i32* %t3
%t265 = sub i32 15, %t264
%t266 = add i32 %t265, 1
%t267 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t266
%t268 = load i32, i32* %t267
%t269 = sub i32 %t263, %t268
store i32 %t269, i32* %t0
br label %if.end.89
if.end.89:
br label %if.end.86
if.else.90:
%t270 = load i32, i32* %t2
%t271 = load i32, i32* %t3
%t272 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t271
%t273 = load i32, i32* %t272
%t274 = sdiv i32 %t270, %t273
store i32 %t274, i32* %t0
br label %if.end.89
while.cond.91:
%t284 = load i32, i32* %t281
%t285 = icmp ne i32 %t284, 0
br i1 %t285, label %while.body.92, label %while.end.93
while.body.92:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t286 = load i32, i32* %t281
store i32 %t286, i32* %t2
store i32 1, i32* %t3
br label %while.cond.94
while.end.93:
%t522 = load i32, i32* %t283
store i32 %t522, i32* %t0
%t523 = load i32, i32* %t0
store i32 %t523, i32* %t5
%t524 = load i32, i32* %t6
store i32 %t524, i32* %t2
store i32 1, i32* %t3
%t525 = load i32, i32* %t3
%t526 = icmp sge i32 %t525, 15
%t527 = icmp ne i32 %t526, 0
br i1 %t527, label %if.then.170, label %if.else.172
while.cond.94:
%t287 = load i32, i32* %t1
%t288 = icmp slt i32 %t287, 16
%t289 = icmp ne i32 %t288, 0
br i1 %t289, label %while.body.95, label %while.end.96
while.body.95:
%t290 = load i32, i32* %t2
%t291 = srem i32 %t290, 2
%t292 = icmp ne i32 %t291, 0
br i1 %t292, label %land.rhs.99, label %if.end.98
while.end.96:
%t307 = load i32, i32* %t0
%t308 = icmp ne i32 %t307, 0
br i1 %t308, label %if.then.100, label %if.end.101
if.then.97:
%t296 = load i32, i32* %t0
%t297 = load i32, i32* %t1
%t298 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t297
%t299 = load i32, i32* %t298
%t300 = add i32 %t296, %t299
store i32 %t300, i32* %t0
br label %if.end.98
if.end.98:
%t301 = load i32, i32* %t2
%t302 = sdiv i32 %t301, 2
store i32 %t302, i32* %t2
%t303 = load i32, i32* %t3
%t304 = sdiv i32 %t303, 2
store i32 %t304, i32* %t3
%t305 = load i32, i32* %t1
%t306 = add i32 %t305, 1
store i32 %t306, i32* %t1
br label %while.cond.94
land.rhs.99:
%t293 = load i32, i32* %t3
%t294 = srem i32 %t293, 2
%t295 = icmp ne i32 %t294, 0
br i1 %t295, label %if.then.97, label %if.end.98
if.then.100:
%t309 = alloca i32
%t310 = load i32, i32* %t283
store i32 %t310, i32* %t309
%t311 = alloca i32
%t312 = load i32, i32* %t279
store i32 %t312, i32* %t311
%t313 = alloca i32
store i32 0, i32* %t313
br label %while.cond.102
if.end.101:
%t399 = alloca i32
%t400 = load i32, i32* %t279
store i32 %t400, i32* %t399
%t401 = alloca i32
%t402 = load i32, i32* %t279
store i32 %t402, i32* %t401
%t403 = alloca i32
store i32 0, i32* %t403
br label %while.cond.130
while.cond.102:
%t314 = load i32, i32* %t311
%t315 = icmp ne i32 %t314, 0
br i1 %t315, label %while.body.103, label %while.end.104
while.body.103:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t316 = load i32, i32* %t309
store i32 %t316, i32* %t2
%t317 = load i32, i32* %t311
store i32 %t317, i32* %t3
br label %while.cond.105
while.end.104:
%t397 = load i32, i32* %t309
store i32 %t397, i32* %t0
%t398 = load i32, i32* %t0
store i32 %t398, i32* %t283
br label %if.end.101
while.cond.105:
%t318 = load i32, i32* %t1
%t319 = icmp slt i32 %t318, 16
%t320 = icmp ne i32 %t319, 0
br i1 %t320, label %while.body.106, label %while.end.107
while.body.106:
%t321 = load i32, i32* %t2
%t322 = srem i32 %t321, 2
%t323 = icmp ne i32 %t322, 0
br i1 %t323, label %if.then.108, label %if.else.110
while.end.107:
%t347 = load i32, i32* %t0
store i32 %t347, i32* %t313
store i32 0, i32* %t0
store i32 0, i32* %t1
%t348 = load i32, i32* %t309
store i32 %t348, i32* %t2
%t349 = load i32, i32* %t311
store i32 %t349, i32* %t3
br label %while.cond.115
if.then.108:
%t324 = load i32, i32* %t3
%t325 = srem i32 %t324, 2
%t326 = icmp eq i32 %t325, 0
%t327 = icmp ne i32 %t326, 0
br i1 %t327, label %if.then.111, label %if.end.112
if.end.109:
%t341 = load i32, i32* %t2
%t342 = sdiv i32 %t341, 2
store i32 %t342, i32* %t2
%t343 = load i32, i32* %t3
%t344 = sdiv i32 %t343, 2
store i32 %t344, i32* %t3
%t345 = load i32, i32* %t1
%t346 = add i32 %t345, 1
store i32 %t346, i32* %t1
br label %while.cond.105
if.else.110:
%t333 = load i32, i32* %t3
%t334 = srem i32 %t333, 2
%t335 = icmp ne i32 %t334, 0
br i1 %t335, label %if.then.113, label %if.end.114
if.then.111:
%t328 = load i32, i32* %t0
%t329 = load i32, i32* %t1
%t330 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t329
%t331 = load i32, i32* %t330
%t332 = add i32 %t328, %t331
store i32 %t332, i32* %t0
br label %if.end.112
if.end.112:
br label %if.end.109
if.then.113:
%t336 = load i32, i32* %t0
%t337 = load i32, i32* %t1
%t338 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t337
%t339 = load i32, i32* %t338
%t340 = add i32 %t336, %t339
store i32 %t340, i32* %t0
br label %if.end.114
if.end.114:
br label %if.end.109
while.cond.115:
%t350 = load i32, i32* %t1
%t351 = icmp slt i32 %t350, 16
%t352 = icmp ne i32 %t351, 0
br i1 %t352, label %while.body.116, label %while.end.117
while.body.116:
%t353 = load i32, i32* %t2
%t354 = srem i32 %t353, 2
%t355 = icmp ne i32 %t354, 0
br i1 %t355, label %land.rhs.120, label %if.end.119
while.end.117:
%t370 = load i32, i32* %t0
store i32 %t370, i32* %t311
br i1 0, label %if.then.121, label %if.else.123
if.then.118:
%t359 = load i32, i32* %t0
%t360 = load i32, i32* %t1
%t361 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t360
%t362 = load i32, i32* %t361
%t363 = add i32 %t359, %t362
store i32 %t363, i32* %t0
br label %if.end.119
if.end.119:
%t364 = load i32, i32* %t2
%t365 = sdiv i32 %t364, 2
store i32 %t365, i32* %t2
%t366 = load i32, i32* %t3
%t367 = sdiv i32 %t366, 2
store i32 %t367, i32* %t3
%t368 = load i32, i32* %t1
%t369 = add i32 %t368, 1
store i32 %t369, i32* %t1
br label %while.cond.115
land.rhs.120:
%t356 = load i32, i32* %t3
%t357 = srem i32 %t356, 2
%t358 = icmp ne i32 %t357, 0
br i1 %t358, label %if.then.118, label %if.end.119
if.then.121:
store i32 0, i32* %t0
br label %if.end.122
if.end.122:
%t395 = load i32, i32* %t0
store i32 %t395, i32* %t311
%t396 = load i32, i32* %t313
store i32 %t396, i32* %t309
br label %while.cond.102
if.else.123:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t371 = load i32, i32* %t311
%t372 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t373 = load i32, i32* %t372
%t374 = mul i32 %t371, %t373
store i32 %t374, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.124
while.cond.124:
%t375 = load i32, i32* %t1
%t376 = icmp slt i32 %t375, 16
%t377 = icmp ne i32 %t376, 0
br i1 %t377, label %while.body.125, label %while.end.126
while.body.125:
%t378 = load i32, i32* %t2
%t379 = srem i32 %t378, 2
%t380 = icmp ne i32 %t379, 0
br i1 %t380, label %land.rhs.129, label %if.end.128
while.end.126:
br label %if.end.122
if.then.127:
%t384 = load i32, i32* %t0
%t385 = load i32, i32* %t1
%t386 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t385
%t387 = load i32, i32* %t386
%t388 = add i32 %t384, %t387
store i32 %t388, i32* %t0
br label %if.end.128
if.end.128:
%t389 = load i32, i32* %t2
%t390 = sdiv i32 %t389, 2
store i32 %t390, i32* %t2
%t391 = load i32, i32* %t3
%t392 = sdiv i32 %t391, 2
store i32 %t392, i32* %t3
%t393 = load i32, i32* %t1
%t394 = add i32 %t393, 1
store i32 %t394, i32* %t1
br label %while.cond.124
land.rhs.129:
%t381 = load i32, i32* %t3
%t382 = srem i32 %t381, 2
%t383 = icmp ne i32 %t382, 0
br i1 %t383, label %if.then.127, label %if.end.128
while.cond.130:
%t404 = load i32, i32* %t401
%t405 = icmp ne i32 %t404, 0
br i1 %t405, label %while.body.131, label %while.end.132
while.body.131:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t406 = load i32, i32* %t399
store i32 %t406, i32* %t2
%t407 = load i32, i32* %t401
store i32 %t407, i32* %t3
br label %while.cond.133
while.end.132:
%t487 = load i32, i32* %t399
store i32 %t487, i32* %t0
%t488 = load i32, i32* %t0
store i32 %t488, i32* %t279
%t489 = load i32, i32* %t281
store i32 %t489, i32* %t2
store i32 1, i32* %t3
%t490 = load i32, i32* %t3
%t491 = icmp sge i32 %t490, 15
%t492 = icmp ne i32 %t491, 0
br i1 %t492, label %if.then.158, label %if.else.160
while.cond.133:
%t408 = load i32, i32* %t1
%t409 = icmp slt i32 %t408, 16
%t410 = icmp ne i32 %t409, 0
br i1 %t410, label %while.body.134, label %while.end.135
while.body.134:
%t411 = load i32, i32* %t2
%t412 = srem i32 %t411, 2
%t413 = icmp ne i32 %t412, 0
br i1 %t413, label %if.then.136, label %if.else.138
while.end.135:
%t437 = load i32, i32* %t0
store i32 %t437, i32* %t403
store i32 0, i32* %t0
store i32 0, i32* %t1
%t438 = load i32, i32* %t399
store i32 %t438, i32* %t2
%t439 = load i32, i32* %t401
store i32 %t439, i32* %t3
br label %while.cond.143
if.then.136:
%t414 = load i32, i32* %t3
%t415 = srem i32 %t414, 2
%t416 = icmp eq i32 %t415, 0
%t417 = icmp ne i32 %t416, 0
br i1 %t417, label %if.then.139, label %if.end.140
if.end.137:
%t431 = load i32, i32* %t2
%t432 = sdiv i32 %t431, 2
store i32 %t432, i32* %t2
%t433 = load i32, i32* %t3
%t434 = sdiv i32 %t433, 2
store i32 %t434, i32* %t3
%t435 = load i32, i32* %t1
%t436 = add i32 %t435, 1
store i32 %t436, i32* %t1
br label %while.cond.133
if.else.138:
%t423 = load i32, i32* %t3
%t424 = srem i32 %t423, 2
%t425 = icmp ne i32 %t424, 0
br i1 %t425, label %if.then.141, label %if.end.142
if.then.139:
%t418 = load i32, i32* %t0
%t419 = load i32, i32* %t1
%t420 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t419
%t421 = load i32, i32* %t420
%t422 = add i32 %t418, %t421
store i32 %t422, i32* %t0
br label %if.end.140
if.end.140:
br label %if.end.137
if.then.141:
%t426 = load i32, i32* %t0
%t427 = load i32, i32* %t1
%t428 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t427
%t429 = load i32, i32* %t428
%t430 = add i32 %t426, %t429
store i32 %t430, i32* %t0
br label %if.end.142
if.end.142:
br label %if.end.137
while.cond.143:
%t440 = load i32, i32* %t1
%t441 = icmp slt i32 %t440, 16
%t442 = icmp ne i32 %t441, 0
br i1 %t442, label %while.body.144, label %while.end.145
while.body.144:
%t443 = load i32, i32* %t2
%t444 = srem i32 %t443, 2
%t445 = icmp ne i32 %t444, 0
br i1 %t445, label %land.rhs.148, label %if.end.147
while.end.145:
%t460 = load i32, i32* %t0
store i32 %t460, i32* %t401
br i1 0, label %if.then.149, label %if.else.151
if.then.146:
%t449 = load i32, i32* %t0
%t450 = load i32, i32* %t1
%t451 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t450
%t452 = load i32, i32* %t451
%t453 = add i32 %t449, %t452
store i32 %t453, i32* %t0
br label %if.end.147
if.end.147:
%t454 = load i32, i32* %t2
%t455 = sdiv i32 %t454, 2
store i32 %t455, i32* %t2
%t456 = load i32, i32* %t3
%t457 = sdiv i32 %t456, 2
store i32 %t457, i32* %t3
%t458 = load i32, i32* %t1
%t459 = add i32 %t458, 1
store i32 %t459, i32* %t1
br label %while.cond.143
land.rhs.148:
%t446 = load i32, i32* %t3
%t447 = srem i32 %t446, 2
%t448 = icmp ne i32 %t447, 0
br i1 %t448, label %if.then.146, label %if.end.147
if.then.149:
store i32 0, i32* %t0
br label %if.end.150
if.end.150:
%t485 = load i32, i32* %t0
store i32 %t485, i32* %t401
%t486 = load i32, i32* %t403
store i32 %t486, i32* %t399
br label %while.cond.130
if.else.151:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t461 = load i32, i32* %t401
%t462 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t463 = load i32, i32* %t462
%t464 = mul i32 %t461, %t463
store i32 %t464, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.152
while.cond.152:
%t465 = load i32, i32* %t1
%t466 = icmp slt i32 %t465, 16
%t467 = icmp ne i32 %t466, 0
br i1 %t467, label %while.body.153, label %while.end.154
while.body.153:
%t468 = load i32, i32* %t2
%t469 = srem i32 %t468, 2
%t470 = icmp ne i32 %t469, 0
br i1 %t470, label %land.rhs.157, label %if.end.156
while.end.154:
br label %if.end.150
if.then.155:
%t474 = load i32, i32* %t0
%t475 = load i32, i32* %t1
%t476 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t475
%t477 = load i32, i32* %t476
%t478 = add i32 %t474, %t477
store i32 %t478, i32* %t0
br label %if.end.156
if.end.156:
%t479 = load i32, i32* %t2
%t480 = sdiv i32 %t479, 2
store i32 %t480, i32* %t2
%t481 = load i32, i32* %t3
%t482 = sdiv i32 %t481, 2
store i32 %t482, i32* %t3
%t483 = load i32, i32* %t1
%t484 = add i32 %t483, 1
store i32 %t484, i32* %t1
br label %while.cond.152
land.rhs.157:
%t471 = load i32, i32* %t3
%t472 = srem i32 %t471, 2
%t473 = icmp ne i32 %t472, 0
br i1 %t473, label %if.then.155, label %if.end.156
if.then.158:
%t493 = load i32, i32* %t2
%t494 = icmp slt i32 %t493, 0
%t495 = icmp ne i32 %t494, 0
br i1 %t495, label %if.then.161, label %if.else.163
if.end.159:
%t521 = load i32, i32* %t0
store i32 %t521, i32* %t281
br label %while.cond.91
if.else.160:
%t496 = load i32, i32* %t3
%t497 = icmp sgt i32 %t496, 0
%t498 = icmp ne i32 %t497, 0
br i1 %t498, label %if.then.164, label %if.else.166
if.then.161:
store i32 65535, i32* %t0
br label %if.end.162
if.end.162:
br label %if.end.159
if.else.163:
store i32 0, i32* %t0
br label %if.end.162
if.then.164:
%t499 = load i32, i32* %t2
%t500 = icmp sgt i32 %t499, 32767
%t501 = icmp ne i32 %t500, 0
br i1 %t501, label %if.then.167, label %if.else.169
if.end.165:
br label %if.end.159
if.else.166:
%t520 = load i32, i32* %t2
store i32 %t520, i32* %t0
br label %if.end.165
if.then.167:
%t502 = load i32, i32* %t2
%t503 = load i32, i32* %t3
%t504 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t503
%t505 = load i32, i32* %t504
%t506 = sdiv i32 %t502, %t505
store i32 %t506, i32* %t2
%t507 = load i32, i32* %t2
%t508 = add i32 %t507, 65536
%t509 = load i32, i32* %t3
%t510 = sub i32 15, %t509
%t511 = add i32 %t510, 1
%t512 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t511
%t513 = load i32, i32* %t512
%t514 = sub i32 %t508, %t513
store i32 %t514, i32* %t0
br label %if.end.168
if.end.168:
br label %if.end.165
if.else.169:
%t515 = load i32, i32* %t2
%t516 = load i32, i32* %t3
%t517 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t516
%t518 = load i32, i32* %t517
%t519 = sdiv i32 %t515, %t518
store i32 %t519, i32* %t0
br label %if.end.168
if.then.170:
%t528 = load i32, i32* %t2
%t529 = icmp slt i32 %t528, 0
%t530 = icmp ne i32 %t529, 0
br i1 %t530, label %if.then.173, label %if.else.175
if.end.171:
%t556 = load i32, i32* %t0
store i32 %t556, i32* %t6
br label %while.cond.1
if.else.172:
%t531 = load i32, i32* %t3
%t532 = icmp sgt i32 %t531, 0
%t533 = icmp ne i32 %t532, 0
br i1 %t533, label %if.then.176, label %if.else.178
if.then.173:
store i32 65535, i32* %t0
br label %if.end.174
if.end.174:
br label %if.end.171
if.else.175:
store i32 0, i32* %t0
br label %if.end.174
if.then.176:
%t534 = load i32, i32* %t2
%t535 = icmp sgt i32 %t534, 32767
%t536 = icmp ne i32 %t535, 0
br i1 %t536, label %if.then.179, label %if.else.181
if.end.177:
br label %if.end.171
if.else.178:
%t555 = load i32, i32* %t2
store i32 %t555, i32* %t0
br label %if.end.177
if.then.179:
%t537 = load i32, i32* %t2
%t538 = load i32, i32* %t3
%t539 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t538
%t540 = load i32, i32* %t539
%t541 = sdiv i32 %t537, %t540
store i32 %t541, i32* %t2
%t542 = load i32, i32* %t2
%t543 = add i32 %t542, 65536
%t544 = load i32, i32* %t3
%t545 = sub i32 15, %t544
%t546 = add i32 %t545, 1
%t547 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t546
%t548 = load i32, i32* %t547
%t549 = sub i32 %t543, %t548
store i32 %t549, i32* %t0
br label %if.end.180
if.end.180:
br label %if.end.177
if.else.181:
%t550 = load i32, i32* %t2
%t551 = load i32, i32* %t3
%t552 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t551
%t553 = load i32, i32* %t552
%t554 = sdiv i32 %t550, %t553
store i32 %t554, i32* %t0
br label %if.end.180
while.cond.182:
%t564 = load i32, i32* %t562
%t565 = icmp sgt i32 %t564, 0
%t566 = icmp ne i32 %t565, 0
br i1 %t566, label %while.body.183, label %while.end.184
while.body.183:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t567 = load i32, i32* %t562
store i32 %t567, i32* %t2
store i32 1, i32* %t3
br label %while.cond.185
while.end.184:
%t1113 = load i32, i32* %t563
store i32 %t1113, i32* %t0
%t1114 = load i32, i32* %t0
call void @putint(i32 %t1114)
call void @putch(i32 10)
store i32 2, i32* %t4
br label %while.cond.363
while.cond.185:
%t568 = load i32, i32* %t1
%t569 = icmp slt i32 %t568, 16
%t570 = icmp ne i32 %t569, 0
br i1 %t570, label %while.body.186, label %while.end.187
while.body.186:
%t571 = load i32, i32* %t2
%t572 = srem i32 %t571, 2
%t573 = icmp ne i32 %t572, 0
br i1 %t573, label %land.rhs.190, label %if.end.189
while.end.187:
%t588 = load i32, i32* %t0
%t589 = icmp ne i32 %t588, 0
br i1 %t589, label %if.then.191, label %if.end.192
if.then.188:
%t577 = load i32, i32* %t0
%t578 = load i32, i32* %t1
%t579 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t578
%t580 = load i32, i32* %t579
%t581 = add i32 %t577, %t580
store i32 %t581, i32* %t0
br label %if.end.189
if.end.189:
%t582 = load i32, i32* %t2
%t583 = sdiv i32 %t582, 2
store i32 %t583, i32* %t2
%t584 = load i32, i32* %t3
%t585 = sdiv i32 %t584, 2
store i32 %t585, i32* %t3
%t586 = load i32, i32* %t1
%t587 = add i32 %t586, 1
store i32 %t587, i32* %t1
br label %while.cond.185
land.rhs.190:
%t574 = load i32, i32* %t3
%t575 = srem i32 %t574, 2
%t576 = icmp ne i32 %t575, 0
br i1 %t576, label %if.then.188, label %if.end.189
if.then.191:
%t590 = alloca i32
%t591 = load i32, i32* %t563
store i32 %t591, i32* %t590
%t592 = alloca i32
%t593 = load i32, i32* %t561
store i32 %t593, i32* %t592
%t594 = alloca i32
store i32 0, i32* %t594
br label %while.cond.193
if.end.192:
%t835 = alloca i32
%t836 = load i32, i32* %t561
store i32 %t836, i32* %t835
%t837 = alloca i32
%t838 = load i32, i32* %t561
store i32 %t838, i32* %t837
%t839 = alloca i32
store i32 0, i32* %t839
br label %while.cond.272
while.cond.193:
%t595 = load i32, i32* %t592
%t596 = icmp ne i32 %t595, 0
br i1 %t596, label %while.body.194, label %while.end.195
while.body.194:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t597 = load i32, i32* %t592
store i32 %t597, i32* %t2
store i32 1, i32* %t3
br label %while.cond.196
while.end.195:
%t833 = load i32, i32* %t594
store i32 %t833, i32* %t0
%t834 = load i32, i32* %t0
store i32 %t834, i32* %t563
br label %if.end.192
while.cond.196:
%t598 = load i32, i32* %t1
%t599 = icmp slt i32 %t598, 16
%t600 = icmp ne i32 %t599, 0
br i1 %t600, label %while.body.197, label %while.end.198
while.body.197:
%t601 = load i32, i32* %t2
%t602 = srem i32 %t601, 2
%t603 = icmp ne i32 %t602, 0
br i1 %t603, label %land.rhs.201, label %if.end.200
while.end.198:
%t618 = load i32, i32* %t0
%t619 = icmp ne i32 %t618, 0
br i1 %t619, label %if.then.202, label %if.end.203
if.then.199:
%t607 = load i32, i32* %t0
%t608 = load i32, i32* %t1
%t609 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t608
%t610 = load i32, i32* %t609
%t611 = add i32 %t607, %t610
store i32 %t611, i32* %t0
br label %if.end.200
if.end.200:
%t612 = load i32, i32* %t2
%t613 = sdiv i32 %t612, 2
store i32 %t613, i32* %t2
%t614 = load i32, i32* %t3
%t615 = sdiv i32 %t614, 2
store i32 %t615, i32* %t3
%t616 = load i32, i32* %t1
%t617 = add i32 %t616, 1
store i32 %t617, i32* %t1
br label %while.cond.196
land.rhs.201:
%t604 = load i32, i32* %t3
%t605 = srem i32 %t604, 2
%t606 = icmp ne i32 %t605, 0
br i1 %t606, label %if.then.199, label %if.end.200
if.then.202:
%t620 = alloca i32
%t621 = load i32, i32* %t594
store i32 %t621, i32* %t620
%t622 = alloca i32
%t623 = load i32, i32* %t590
store i32 %t623, i32* %t622
%t624 = alloca i32
store i32 0, i32* %t624
br label %while.cond.204
if.end.203:
%t710 = alloca i32
%t711 = load i32, i32* %t590
store i32 %t711, i32* %t710
%t712 = alloca i32
%t713 = load i32, i32* %t590
store i32 %t713, i32* %t712
%t714 = alloca i32
store i32 0, i32* %t714
br label %while.cond.232
while.cond.204:
%t625 = load i32, i32* %t622
%t626 = icmp ne i32 %t625, 0
br i1 %t626, label %while.body.205, label %while.end.206
while.body.205:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t627 = load i32, i32* %t620
store i32 %t627, i32* %t2
%t628 = load i32, i32* %t622
store i32 %t628, i32* %t3
br label %while.cond.207
while.end.206:
%t708 = load i32, i32* %t620
store i32 %t708, i32* %t0
%t709 = load i32, i32* %t0
store i32 %t709, i32* %t594
br label %if.end.203
while.cond.207:
%t629 = load i32, i32* %t1
%t630 = icmp slt i32 %t629, 16
%t631 = icmp ne i32 %t630, 0
br i1 %t631, label %while.body.208, label %while.end.209
while.body.208:
%t632 = load i32, i32* %t2
%t633 = srem i32 %t632, 2
%t634 = icmp ne i32 %t633, 0
br i1 %t634, label %if.then.210, label %if.else.212
while.end.209:
%t658 = load i32, i32* %t0
store i32 %t658, i32* %t624
store i32 0, i32* %t0
store i32 0, i32* %t1
%t659 = load i32, i32* %t620
store i32 %t659, i32* %t2
%t660 = load i32, i32* %t622
store i32 %t660, i32* %t3
br label %while.cond.217
if.then.210:
%t635 = load i32, i32* %t3
%t636 = srem i32 %t635, 2
%t637 = icmp eq i32 %t636, 0
%t638 = icmp ne i32 %t637, 0
br i1 %t638, label %if.then.213, label %if.end.214
if.end.211:
%t652 = load i32, i32* %t2
%t653 = sdiv i32 %t652, 2
store i32 %t653, i32* %t2
%t654 = load i32, i32* %t3
%t655 = sdiv i32 %t654, 2
store i32 %t655, i32* %t3
%t656 = load i32, i32* %t1
%t657 = add i32 %t656, 1
store i32 %t657, i32* %t1
br label %while.cond.207
if.else.212:
%t644 = load i32, i32* %t3
%t645 = srem i32 %t644, 2
%t646 = icmp ne i32 %t645, 0
br i1 %t646, label %if.then.215, label %if.end.216
if.then.213:
%t639 = load i32, i32* %t0
%t640 = load i32, i32* %t1
%t641 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t640
%t642 = load i32, i32* %t641
%t643 = add i32 %t639, %t642
store i32 %t643, i32* %t0
br label %if.end.214
if.end.214:
br label %if.end.211
if.then.215:
%t647 = load i32, i32* %t0
%t648 = load i32, i32* %t1
%t649 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t648
%t650 = load i32, i32* %t649
%t651 = add i32 %t647, %t650
store i32 %t651, i32* %t0
br label %if.end.216
if.end.216:
br label %if.end.211
while.cond.217:
%t661 = load i32, i32* %t1
%t662 = icmp slt i32 %t661, 16
%t663 = icmp ne i32 %t662, 0
br i1 %t663, label %while.body.218, label %while.end.219
while.body.218:
%t664 = load i32, i32* %t2
%t665 = srem i32 %t664, 2
%t666 = icmp ne i32 %t665, 0
br i1 %t666, label %land.rhs.222, label %if.end.221
while.end.219:
%t681 = load i32, i32* %t0
store i32 %t681, i32* %t622
br i1 0, label %if.then.223, label %if.else.225
if.then.220:
%t670 = load i32, i32* %t0
%t671 = load i32, i32* %t1
%t672 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t671
%t673 = load i32, i32* %t672
%t674 = add i32 %t670, %t673
store i32 %t674, i32* %t0
br label %if.end.221
if.end.221:
%t675 = load i32, i32* %t2
%t676 = sdiv i32 %t675, 2
store i32 %t676, i32* %t2
%t677 = load i32, i32* %t3
%t678 = sdiv i32 %t677, 2
store i32 %t678, i32* %t3
%t679 = load i32, i32* %t1
%t680 = add i32 %t679, 1
store i32 %t680, i32* %t1
br label %while.cond.217
land.rhs.222:
%t667 = load i32, i32* %t3
%t668 = srem i32 %t667, 2
%t669 = icmp ne i32 %t668, 0
br i1 %t669, label %if.then.220, label %if.end.221
if.then.223:
store i32 0, i32* %t0
br label %if.end.224
if.end.224:
%t706 = load i32, i32* %t0
store i32 %t706, i32* %t622
%t707 = load i32, i32* %t624
store i32 %t707, i32* %t620
br label %while.cond.204
if.else.225:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t682 = load i32, i32* %t622
%t683 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t684 = load i32, i32* %t683
%t685 = mul i32 %t682, %t684
store i32 %t685, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.226
while.cond.226:
%t686 = load i32, i32* %t1
%t687 = icmp slt i32 %t686, 16
%t688 = icmp ne i32 %t687, 0
br i1 %t688, label %while.body.227, label %while.end.228
while.body.227:
%t689 = load i32, i32* %t2
%t690 = srem i32 %t689, 2
%t691 = icmp ne i32 %t690, 0
br i1 %t691, label %land.rhs.231, label %if.end.230
while.end.228:
br label %if.end.224
if.then.229:
%t695 = load i32, i32* %t0
%t696 = load i32, i32* %t1
%t697 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t696
%t698 = load i32, i32* %t697
%t699 = add i32 %t695, %t698
store i32 %t699, i32* %t0
br label %if.end.230
if.end.230:
%t700 = load i32, i32* %t2
%t701 = sdiv i32 %t700, 2
store i32 %t701, i32* %t2
%t702 = load i32, i32* %t3
%t703 = sdiv i32 %t702, 2
store i32 %t703, i32* %t3
%t704 = load i32, i32* %t1
%t705 = add i32 %t704, 1
store i32 %t705, i32* %t1
br label %while.cond.226
land.rhs.231:
%t692 = load i32, i32* %t3
%t693 = srem i32 %t692, 2
%t694 = icmp ne i32 %t693, 0
br i1 %t694, label %if.then.229, label %if.end.230
while.cond.232:
%t715 = load i32, i32* %t712
%t716 = icmp ne i32 %t715, 0
br i1 %t716, label %while.body.233, label %while.end.234
while.body.233:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t717 = load i32, i32* %t710
store i32 %t717, i32* %t2
%t718 = load i32, i32* %t712
store i32 %t718, i32* %t3
br label %while.cond.235
while.end.234:
%t798 = load i32, i32* %t710
store i32 %t798, i32* %t0
%t799 = load i32, i32* %t0
store i32 %t799, i32* %t590
%t800 = load i32, i32* %t592
store i32 %t800, i32* %t2
store i32 1, i32* %t3
%t801 = load i32, i32* %t3
%t802 = icmp sge i32 %t801, 15
%t803 = icmp ne i32 %t802, 0
br i1 %t803, label %if.then.260, label %if.else.262
while.cond.235:
%t719 = load i32, i32* %t1
%t720 = icmp slt i32 %t719, 16
%t721 = icmp ne i32 %t720, 0
br i1 %t721, label %while.body.236, label %while.end.237
while.body.236:
%t722 = load i32, i32* %t2
%t723 = srem i32 %t722, 2
%t724 = icmp ne i32 %t723, 0
br i1 %t724, label %if.then.238, label %if.else.240
while.end.237:
%t748 = load i32, i32* %t0
store i32 %t748, i32* %t714
store i32 0, i32* %t0
store i32 0, i32* %t1
%t749 = load i32, i32* %t710
store i32 %t749, i32* %t2
%t750 = load i32, i32* %t712
store i32 %t750, i32* %t3
br label %while.cond.245
if.then.238:
%t725 = load i32, i32* %t3
%t726 = srem i32 %t725, 2
%t727 = icmp eq i32 %t726, 0
%t728 = icmp ne i32 %t727, 0
br i1 %t728, label %if.then.241, label %if.end.242
if.end.239:
%t742 = load i32, i32* %t2
%t743 = sdiv i32 %t742, 2
store i32 %t743, i32* %t2
%t744 = load i32, i32* %t3
%t745 = sdiv i32 %t744, 2
store i32 %t745, i32* %t3
%t746 = load i32, i32* %t1
%t747 = add i32 %t746, 1
store i32 %t747, i32* %t1
br label %while.cond.235
if.else.240:
%t734 = load i32, i32* %t3
%t735 = srem i32 %t734, 2
%t736 = icmp ne i32 %t735, 0
br i1 %t736, label %if.then.243, label %if.end.244
if.then.241:
%t729 = load i32, i32* %t0
%t730 = load i32, i32* %t1
%t731 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t730
%t732 = load i32, i32* %t731
%t733 = add i32 %t729, %t732
store i32 %t733, i32* %t0
br label %if.end.242
if.end.242:
br label %if.end.239
if.then.243:
%t737 = load i32, i32* %t0
%t738 = load i32, i32* %t1
%t739 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t738
%t740 = load i32, i32* %t739
%t741 = add i32 %t737, %t740
store i32 %t741, i32* %t0
br label %if.end.244
if.end.244:
br label %if.end.239
while.cond.245:
%t751 = load i32, i32* %t1
%t752 = icmp slt i32 %t751, 16
%t753 = icmp ne i32 %t752, 0
br i1 %t753, label %while.body.246, label %while.end.247
while.body.246:
%t754 = load i32, i32* %t2
%t755 = srem i32 %t754, 2
%t756 = icmp ne i32 %t755, 0
br i1 %t756, label %land.rhs.250, label %if.end.249
while.end.247:
%t771 = load i32, i32* %t0
store i32 %t771, i32* %t712
br i1 0, label %if.then.251, label %if.else.253
if.then.248:
%t760 = load i32, i32* %t0
%t761 = load i32, i32* %t1
%t762 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t761
%t763 = load i32, i32* %t762
%t764 = add i32 %t760, %t763
store i32 %t764, i32* %t0
br label %if.end.249
if.end.249:
%t765 = load i32, i32* %t2
%t766 = sdiv i32 %t765, 2
store i32 %t766, i32* %t2
%t767 = load i32, i32* %t3
%t768 = sdiv i32 %t767, 2
store i32 %t768, i32* %t3
%t769 = load i32, i32* %t1
%t770 = add i32 %t769, 1
store i32 %t770, i32* %t1
br label %while.cond.245
land.rhs.250:
%t757 = load i32, i32* %t3
%t758 = srem i32 %t757, 2
%t759 = icmp ne i32 %t758, 0
br i1 %t759, label %if.then.248, label %if.end.249
if.then.251:
store i32 0, i32* %t0
br label %if.end.252
if.end.252:
%t796 = load i32, i32* %t0
store i32 %t796, i32* %t712
%t797 = load i32, i32* %t714
store i32 %t797, i32* %t710
br label %while.cond.232
if.else.253:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t772 = load i32, i32* %t712
%t773 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t774 = load i32, i32* %t773
%t775 = mul i32 %t772, %t774
store i32 %t775, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.254
while.cond.254:
%t776 = load i32, i32* %t1
%t777 = icmp slt i32 %t776, 16
%t778 = icmp ne i32 %t777, 0
br i1 %t778, label %while.body.255, label %while.end.256
while.body.255:
%t779 = load i32, i32* %t2
%t780 = srem i32 %t779, 2
%t781 = icmp ne i32 %t780, 0
br i1 %t781, label %land.rhs.259, label %if.end.258
while.end.256:
br label %if.end.252
if.then.257:
%t785 = load i32, i32* %t0
%t786 = load i32, i32* %t1
%t787 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t786
%t788 = load i32, i32* %t787
%t789 = add i32 %t785, %t788
store i32 %t789, i32* %t0
br label %if.end.258
if.end.258:
%t790 = load i32, i32* %t2
%t791 = sdiv i32 %t790, 2
store i32 %t791, i32* %t2
%t792 = load i32, i32* %t3
%t793 = sdiv i32 %t792, 2
store i32 %t793, i32* %t3
%t794 = load i32, i32* %t1
%t795 = add i32 %t794, 1
store i32 %t795, i32* %t1
br label %while.cond.254
land.rhs.259:
%t782 = load i32, i32* %t3
%t783 = srem i32 %t782, 2
%t784 = icmp ne i32 %t783, 0
br i1 %t784, label %if.then.257, label %if.end.258
if.then.260:
%t804 = load i32, i32* %t2
%t805 = icmp slt i32 %t804, 0
%t806 = icmp ne i32 %t805, 0
br i1 %t806, label %if.then.263, label %if.else.265
if.end.261:
%t832 = load i32, i32* %t0
store i32 %t832, i32* %t592
br label %while.cond.193
if.else.262:
%t807 = load i32, i32* %t3
%t808 = icmp sgt i32 %t807, 0
%t809 = icmp ne i32 %t808, 0
br i1 %t809, label %if.then.266, label %if.else.268
if.then.263:
store i32 65535, i32* %t0
br label %if.end.264
if.end.264:
br label %if.end.261
if.else.265:
store i32 0, i32* %t0
br label %if.end.264
if.then.266:
%t810 = load i32, i32* %t2
%t811 = icmp sgt i32 %t810, 32767
%t812 = icmp ne i32 %t811, 0
br i1 %t812, label %if.then.269, label %if.else.271
if.end.267:
br label %if.end.261
if.else.268:
%t831 = load i32, i32* %t2
store i32 %t831, i32* %t0
br label %if.end.267
if.then.269:
%t813 = load i32, i32* %t2
%t814 = load i32, i32* %t3
%t815 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t814
%t816 = load i32, i32* %t815
%t817 = sdiv i32 %t813, %t816
store i32 %t817, i32* %t2
%t818 = load i32, i32* %t2
%t819 = add i32 %t818, 65536
%t820 = load i32, i32* %t3
%t821 = sub i32 15, %t820
%t822 = add i32 %t821, 1
%t823 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t822
%t824 = load i32, i32* %t823
%t825 = sub i32 %t819, %t824
store i32 %t825, i32* %t0
br label %if.end.270
if.end.270:
br label %if.end.267
if.else.271:
%t826 = load i32, i32* %t2
%t827 = load i32, i32* %t3
%t828 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t827
%t829 = load i32, i32* %t828
%t830 = sdiv i32 %t826, %t829
store i32 %t830, i32* %t0
br label %if.end.270
while.cond.272:
%t840 = load i32, i32* %t837
%t841 = icmp ne i32 %t840, 0
br i1 %t841, label %while.body.273, label %while.end.274
while.body.273:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t842 = load i32, i32* %t837
store i32 %t842, i32* %t2
store i32 1, i32* %t3
br label %while.cond.275
while.end.274:
%t1078 = load i32, i32* %t839
store i32 %t1078, i32* %t0
%t1079 = load i32, i32* %t0
store i32 %t1079, i32* %t561
%t1080 = load i32, i32* %t562
store i32 %t1080, i32* %t2
store i32 1, i32* %t3
%t1081 = load i32, i32* %t3
%t1082 = icmp sge i32 %t1081, 15
%t1083 = icmp ne i32 %t1082, 0
br i1 %t1083, label %if.then.351, label %if.else.353
while.cond.275:
%t843 = load i32, i32* %t1
%t844 = icmp slt i32 %t843, 16
%t845 = icmp ne i32 %t844, 0
br i1 %t845, label %while.body.276, label %while.end.277
while.body.276:
%t846 = load i32, i32* %t2
%t847 = srem i32 %t846, 2
%t848 = icmp ne i32 %t847, 0
br i1 %t848, label %land.rhs.280, label %if.end.279
while.end.277:
%t863 = load i32, i32* %t0
%t864 = icmp ne i32 %t863, 0
br i1 %t864, label %if.then.281, label %if.end.282
if.then.278:
%t852 = load i32, i32* %t0
%t853 = load i32, i32* %t1
%t854 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t853
%t855 = load i32, i32* %t854
%t856 = add i32 %t852, %t855
store i32 %t856, i32* %t0
br label %if.end.279
if.end.279:
%t857 = load i32, i32* %t2
%t858 = sdiv i32 %t857, 2
store i32 %t858, i32* %t2
%t859 = load i32, i32* %t3
%t860 = sdiv i32 %t859, 2
store i32 %t860, i32* %t3
%t861 = load i32, i32* %t1
%t862 = add i32 %t861, 1
store i32 %t862, i32* %t1
br label %while.cond.275
land.rhs.280:
%t849 = load i32, i32* %t3
%t850 = srem i32 %t849, 2
%t851 = icmp ne i32 %t850, 0
br i1 %t851, label %if.then.278, label %if.end.279
if.then.281:
%t865 = alloca i32
%t866 = load i32, i32* %t839
store i32 %t866, i32* %t865
%t867 = alloca i32
%t868 = load i32, i32* %t835
store i32 %t868, i32* %t867
%t869 = alloca i32
store i32 0, i32* %t869
br label %while.cond.283
if.end.282:
%t955 = alloca i32
%t956 = load i32, i32* %t835
store i32 %t956, i32* %t955
%t957 = alloca i32
%t958 = load i32, i32* %t835
store i32 %t958, i32* %t957
%t959 = alloca i32
store i32 0, i32* %t959
br label %while.cond.311
while.cond.283:
%t870 = load i32, i32* %t867
%t871 = icmp ne i32 %t870, 0
br i1 %t871, label %while.body.284, label %while.end.285
while.body.284:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t872 = load i32, i32* %t865
store i32 %t872, i32* %t2
%t873 = load i32, i32* %t867
store i32 %t873, i32* %t3
br label %while.cond.286
while.end.285:
%t953 = load i32, i32* %t865
store i32 %t953, i32* %t0
%t954 = load i32, i32* %t0
store i32 %t954, i32* %t839
br label %if.end.282
while.cond.286:
%t874 = load i32, i32* %t1
%t875 = icmp slt i32 %t874, 16
%t876 = icmp ne i32 %t875, 0
br i1 %t876, label %while.body.287, label %while.end.288
while.body.287:
%t877 = load i32, i32* %t2
%t878 = srem i32 %t877, 2
%t879 = icmp ne i32 %t878, 0
br i1 %t879, label %if.then.289, label %if.else.291
while.end.288:
%t903 = load i32, i32* %t0
store i32 %t903, i32* %t869
store i32 0, i32* %t0
store i32 0, i32* %t1
%t904 = load i32, i32* %t865
store i32 %t904, i32* %t2
%t905 = load i32, i32* %t867
store i32 %t905, i32* %t3
br label %while.cond.296
if.then.289:
%t880 = load i32, i32* %t3
%t881 = srem i32 %t880, 2
%t882 = icmp eq i32 %t881, 0
%t883 = icmp ne i32 %t882, 0
br i1 %t883, label %if.then.292, label %if.end.293
if.end.290:
%t897 = load i32, i32* %t2
%t898 = sdiv i32 %t897, 2
store i32 %t898, i32* %t2
%t899 = load i32, i32* %t3
%t900 = sdiv i32 %t899, 2
store i32 %t900, i32* %t3
%t901 = load i32, i32* %t1
%t902 = add i32 %t901, 1
store i32 %t902, i32* %t1
br label %while.cond.286
if.else.291:
%t889 = load i32, i32* %t3
%t890 = srem i32 %t889, 2
%t891 = icmp ne i32 %t890, 0
br i1 %t891, label %if.then.294, label %if.end.295
if.then.292:
%t884 = load i32, i32* %t0
%t885 = load i32, i32* %t1
%t886 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t885
%t887 = load i32, i32* %t886
%t888 = add i32 %t884, %t887
store i32 %t888, i32* %t0
br label %if.end.293
if.end.293:
br label %if.end.290
if.then.294:
%t892 = load i32, i32* %t0
%t893 = load i32, i32* %t1
%t894 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t893
%t895 = load i32, i32* %t894
%t896 = add i32 %t892, %t895
store i32 %t896, i32* %t0
br label %if.end.295
if.end.295:
br label %if.end.290
while.cond.296:
%t906 = load i32, i32* %t1
%t907 = icmp slt i32 %t906, 16
%t908 = icmp ne i32 %t907, 0
br i1 %t908, label %while.body.297, label %while.end.298
while.body.297:
%t909 = load i32, i32* %t2
%t910 = srem i32 %t909, 2
%t911 = icmp ne i32 %t910, 0
br i1 %t911, label %land.rhs.301, label %if.end.300
while.end.298:
%t926 = load i32, i32* %t0
store i32 %t926, i32* %t867
br i1 0, label %if.then.302, label %if.else.304
if.then.299:
%t915 = load i32, i32* %t0
%t916 = load i32, i32* %t1
%t917 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t916
%t918 = load i32, i32* %t917
%t919 = add i32 %t915, %t918
store i32 %t919, i32* %t0
br label %if.end.300
if.end.300:
%t920 = load i32, i32* %t2
%t921 = sdiv i32 %t920, 2
store i32 %t921, i32* %t2
%t922 = load i32, i32* %t3
%t923 = sdiv i32 %t922, 2
store i32 %t923, i32* %t3
%t924 = load i32, i32* %t1
%t925 = add i32 %t924, 1
store i32 %t925, i32* %t1
br label %while.cond.296
land.rhs.301:
%t912 = load i32, i32* %t3
%t913 = srem i32 %t912, 2
%t914 = icmp ne i32 %t913, 0
br i1 %t914, label %if.then.299, label %if.end.300
if.then.302:
store i32 0, i32* %t0
br label %if.end.303
if.end.303:
%t951 = load i32, i32* %t0
store i32 %t951, i32* %t867
%t952 = load i32, i32* %t869
store i32 %t952, i32* %t865
br label %while.cond.283
if.else.304:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t927 = load i32, i32* %t867
%t928 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t929 = load i32, i32* %t928
%t930 = mul i32 %t927, %t929
store i32 %t930, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.305
while.cond.305:
%t931 = load i32, i32* %t1
%t932 = icmp slt i32 %t931, 16
%t933 = icmp ne i32 %t932, 0
br i1 %t933, label %while.body.306, label %while.end.307
while.body.306:
%t934 = load i32, i32* %t2
%t935 = srem i32 %t934, 2
%t936 = icmp ne i32 %t935, 0
br i1 %t936, label %land.rhs.310, label %if.end.309
while.end.307:
br label %if.end.303
if.then.308:
%t940 = load i32, i32* %t0
%t941 = load i32, i32* %t1
%t942 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t941
%t943 = load i32, i32* %t942
%t944 = add i32 %t940, %t943
store i32 %t944, i32* %t0
br label %if.end.309
if.end.309:
%t945 = load i32, i32* %t2
%t946 = sdiv i32 %t945, 2
store i32 %t946, i32* %t2
%t947 = load i32, i32* %t3
%t948 = sdiv i32 %t947, 2
store i32 %t948, i32* %t3
%t949 = load i32, i32* %t1
%t950 = add i32 %t949, 1
store i32 %t950, i32* %t1
br label %while.cond.305
land.rhs.310:
%t937 = load i32, i32* %t3
%t938 = srem i32 %t937, 2
%t939 = icmp ne i32 %t938, 0
br i1 %t939, label %if.then.308, label %if.end.309
while.cond.311:
%t960 = load i32, i32* %t957
%t961 = icmp ne i32 %t960, 0
br i1 %t961, label %while.body.312, label %while.end.313
while.body.312:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t962 = load i32, i32* %t955
store i32 %t962, i32* %t2
%t963 = load i32, i32* %t957
store i32 %t963, i32* %t3
br label %while.cond.314
while.end.313:
%t1043 = load i32, i32* %t955
store i32 %t1043, i32* %t0
%t1044 = load i32, i32* %t0
store i32 %t1044, i32* %t835
%t1045 = load i32, i32* %t837
store i32 %t1045, i32* %t2
store i32 1, i32* %t3
%t1046 = load i32, i32* %t3
%t1047 = icmp sge i32 %t1046, 15
%t1048 = icmp ne i32 %t1047, 0
br i1 %t1048, label %if.then.339, label %if.else.341
while.cond.314:
%t964 = load i32, i32* %t1
%t965 = icmp slt i32 %t964, 16
%t966 = icmp ne i32 %t965, 0
br i1 %t966, label %while.body.315, label %while.end.316
while.body.315:
%t967 = load i32, i32* %t2
%t968 = srem i32 %t967, 2
%t969 = icmp ne i32 %t968, 0
br i1 %t969, label %if.then.317, label %if.else.319
while.end.316:
%t993 = load i32, i32* %t0
store i32 %t993, i32* %t959
store i32 0, i32* %t0
store i32 0, i32* %t1
%t994 = load i32, i32* %t955
store i32 %t994, i32* %t2
%t995 = load i32, i32* %t957
store i32 %t995, i32* %t3
br label %while.cond.324
if.then.317:
%t970 = load i32, i32* %t3
%t971 = srem i32 %t970, 2
%t972 = icmp eq i32 %t971, 0
%t973 = icmp ne i32 %t972, 0
br i1 %t973, label %if.then.320, label %if.end.321
if.end.318:
%t987 = load i32, i32* %t2
%t988 = sdiv i32 %t987, 2
store i32 %t988, i32* %t2
%t989 = load i32, i32* %t3
%t990 = sdiv i32 %t989, 2
store i32 %t990, i32* %t3
%t991 = load i32, i32* %t1
%t992 = add i32 %t991, 1
store i32 %t992, i32* %t1
br label %while.cond.314
if.else.319:
%t979 = load i32, i32* %t3
%t980 = srem i32 %t979, 2
%t981 = icmp ne i32 %t980, 0
br i1 %t981, label %if.then.322, label %if.end.323
if.then.320:
%t974 = load i32, i32* %t0
%t975 = load i32, i32* %t1
%t976 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t975
%t977 = load i32, i32* %t976
%t978 = add i32 %t974, %t977
store i32 %t978, i32* %t0
br label %if.end.321
if.end.321:
br label %if.end.318
if.then.322:
%t982 = load i32, i32* %t0
%t983 = load i32, i32* %t1
%t984 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t983
%t985 = load i32, i32* %t984
%t986 = add i32 %t982, %t985
store i32 %t986, i32* %t0
br label %if.end.323
if.end.323:
br label %if.end.318
while.cond.324:
%t996 = load i32, i32* %t1
%t997 = icmp slt i32 %t996, 16
%t998 = icmp ne i32 %t997, 0
br i1 %t998, label %while.body.325, label %while.end.326
while.body.325:
%t999 = load i32, i32* %t2
%t1000 = srem i32 %t999, 2
%t1001 = icmp ne i32 %t1000, 0
br i1 %t1001, label %land.rhs.329, label %if.end.328
while.end.326:
%t1016 = load i32, i32* %t0
store i32 %t1016, i32* %t957
br i1 0, label %if.then.330, label %if.else.332
if.then.327:
%t1005 = load i32, i32* %t0
%t1006 = load i32, i32* %t1
%t1007 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1006
%t1008 = load i32, i32* %t1007
%t1009 = add i32 %t1005, %t1008
store i32 %t1009, i32* %t0
br label %if.end.328
if.end.328:
%t1010 = load i32, i32* %t2
%t1011 = sdiv i32 %t1010, 2
store i32 %t1011, i32* %t2
%t1012 = load i32, i32* %t3
%t1013 = sdiv i32 %t1012, 2
store i32 %t1013, i32* %t3
%t1014 = load i32, i32* %t1
%t1015 = add i32 %t1014, 1
store i32 %t1015, i32* %t1
br label %while.cond.324
land.rhs.329:
%t1002 = load i32, i32* %t3
%t1003 = srem i32 %t1002, 2
%t1004 = icmp ne i32 %t1003, 0
br i1 %t1004, label %if.then.327, label %if.end.328
if.then.330:
store i32 0, i32* %t0
br label %if.end.331
if.end.331:
%t1041 = load i32, i32* %t0
store i32 %t1041, i32* %t957
%t1042 = load i32, i32* %t959
store i32 %t1042, i32* %t955
br label %while.cond.311
if.else.332:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1017 = load i32, i32* %t957
%t1018 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t1019 = load i32, i32* %t1018
%t1020 = mul i32 %t1017, %t1019
store i32 %t1020, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.333
while.cond.333:
%t1021 = load i32, i32* %t1
%t1022 = icmp slt i32 %t1021, 16
%t1023 = icmp ne i32 %t1022, 0
br i1 %t1023, label %while.body.334, label %while.end.335
while.body.334:
%t1024 = load i32, i32* %t2
%t1025 = srem i32 %t1024, 2
%t1026 = icmp ne i32 %t1025, 0
br i1 %t1026, label %land.rhs.338, label %if.end.337
while.end.335:
br label %if.end.331
if.then.336:
%t1030 = load i32, i32* %t0
%t1031 = load i32, i32* %t1
%t1032 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1031
%t1033 = load i32, i32* %t1032
%t1034 = add i32 %t1030, %t1033
store i32 %t1034, i32* %t0
br label %if.end.337
if.end.337:
%t1035 = load i32, i32* %t2
%t1036 = sdiv i32 %t1035, 2
store i32 %t1036, i32* %t2
%t1037 = load i32, i32* %t3
%t1038 = sdiv i32 %t1037, 2
store i32 %t1038, i32* %t3
%t1039 = load i32, i32* %t1
%t1040 = add i32 %t1039, 1
store i32 %t1040, i32* %t1
br label %while.cond.333
land.rhs.338:
%t1027 = load i32, i32* %t3
%t1028 = srem i32 %t1027, 2
%t1029 = icmp ne i32 %t1028, 0
br i1 %t1029, label %if.then.336, label %if.end.337
if.then.339:
%t1049 = load i32, i32* %t2
%t1050 = icmp slt i32 %t1049, 0
%t1051 = icmp ne i32 %t1050, 0
br i1 %t1051, label %if.then.342, label %if.else.344
if.end.340:
%t1077 = load i32, i32* %t0
store i32 %t1077, i32* %t837
br label %while.cond.272
if.else.341:
%t1052 = load i32, i32* %t3
%t1053 = icmp sgt i32 %t1052, 0
%t1054 = icmp ne i32 %t1053, 0
br i1 %t1054, label %if.then.345, label %if.else.347
if.then.342:
store i32 65535, i32* %t0
br label %if.end.343
if.end.343:
br label %if.end.340
if.else.344:
store i32 0, i32* %t0
br label %if.end.343
if.then.345:
%t1055 = load i32, i32* %t2
%t1056 = icmp sgt i32 %t1055, 32767
%t1057 = icmp ne i32 %t1056, 0
br i1 %t1057, label %if.then.348, label %if.else.350
if.end.346:
br label %if.end.340
if.else.347:
%t1076 = load i32, i32* %t2
store i32 %t1076, i32* %t0
br label %if.end.346
if.then.348:
%t1058 = load i32, i32* %t2
%t1059 = load i32, i32* %t3
%t1060 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1059
%t1061 = load i32, i32* %t1060
%t1062 = sdiv i32 %t1058, %t1061
store i32 %t1062, i32* %t2
%t1063 = load i32, i32* %t2
%t1064 = add i32 %t1063, 65536
%t1065 = load i32, i32* %t3
%t1066 = sub i32 15, %t1065
%t1067 = add i32 %t1066, 1
%t1068 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1067
%t1069 = load i32, i32* %t1068
%t1070 = sub i32 %t1064, %t1069
store i32 %t1070, i32* %t0
br label %if.end.349
if.end.349:
br label %if.end.346
if.else.350:
%t1071 = load i32, i32* %t2
%t1072 = load i32, i32* %t3
%t1073 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1072
%t1074 = load i32, i32* %t1073
%t1075 = sdiv i32 %t1071, %t1074
store i32 %t1075, i32* %t0
br label %if.end.349
if.then.351:
%t1084 = load i32, i32* %t2
%t1085 = icmp slt i32 %t1084, 0
%t1086 = icmp ne i32 %t1085, 0
br i1 %t1086, label %if.then.354, label %if.else.356
if.end.352:
%t1112 = load i32, i32* %t0
store i32 %t1112, i32* %t562
br label %while.cond.182
if.else.353:
%t1087 = load i32, i32* %t3
%t1088 = icmp sgt i32 %t1087, 0
%t1089 = icmp ne i32 %t1088, 0
br i1 %t1089, label %if.then.357, label %if.else.359
if.then.354:
store i32 65535, i32* %t0
br label %if.end.355
if.end.355:
br label %if.end.352
if.else.356:
store i32 0, i32* %t0
br label %if.end.355
if.then.357:
%t1090 = load i32, i32* %t2
%t1091 = icmp sgt i32 %t1090, 32767
%t1092 = icmp ne i32 %t1091, 0
br i1 %t1092, label %if.then.360, label %if.else.362
if.end.358:
br label %if.end.352
if.else.359:
%t1111 = load i32, i32* %t2
store i32 %t1111, i32* %t0
br label %if.end.358
if.then.360:
%t1093 = load i32, i32* %t2
%t1094 = load i32, i32* %t3
%t1095 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1094
%t1096 = load i32, i32* %t1095
%t1097 = sdiv i32 %t1093, %t1096
store i32 %t1097, i32* %t2
%t1098 = load i32, i32* %t2
%t1099 = add i32 %t1098, 65536
%t1100 = load i32, i32* %t3
%t1101 = sub i32 15, %t1100
%t1102 = add i32 %t1101, 1
%t1103 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1102
%t1104 = load i32, i32* %t1103
%t1105 = sub i32 %t1099, %t1104
store i32 %t1105, i32* %t0
br label %if.end.361
if.end.361:
br label %if.end.358
if.else.362:
%t1106 = load i32, i32* %t2
%t1107 = load i32, i32* %t3
%t1108 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1107
%t1109 = load i32, i32* %t1108
%t1110 = sdiv i32 %t1106, %t1109
store i32 %t1110, i32* %t0
br label %if.end.361
while.cond.363:
%t1117 = load i32, i32* %t4
%t1118 = icmp slt i32 %t1117, 16
%t1119 = icmp ne i32 %t1118, 0
br i1 %t1119, label %while.body.364, label %while.end.365
while.body.364:
%t1120 = alloca i32
store i32 2, i32* %t1120
%t1121 = alloca i32
%t1122 = load i32, i32* %t4
store i32 %t1122, i32* %t1121
%t1123 = alloca i32
store i32 1, i32* %t1123
br label %while.cond.366
while.end.365:
store i32 0, i32* %t4
br label %while.cond.547
while.cond.366:
%t1124 = load i32, i32* %t1121
%t1125 = icmp sgt i32 %t1124, 0
%t1126 = icmp ne i32 %t1125, 0
br i1 %t1126, label %while.body.367, label %while.end.368
while.body.367:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1127 = load i32, i32* %t1121
store i32 %t1127, i32* %t2
store i32 1, i32* %t3
br label %while.cond.369
while.end.368:
%t1673 = load i32, i32* %t1123
store i32 %t1673, i32* %t0
%t1674 = load i32, i32* %t0
call void @putint(i32 %t1674)
call void @putch(i32 10)
%t1677 = load i32, i32* %t4
%t1678 = add i32 %t1677, 1
store i32 %t1678, i32* %t4
br label %while.cond.363
while.cond.369:
%t1128 = load i32, i32* %t1
%t1129 = icmp slt i32 %t1128, 16
%t1130 = icmp ne i32 %t1129, 0
br i1 %t1130, label %while.body.370, label %while.end.371
while.body.370:
%t1131 = load i32, i32* %t2
%t1132 = srem i32 %t1131, 2
%t1133 = icmp ne i32 %t1132, 0
br i1 %t1133, label %land.rhs.374, label %if.end.373
while.end.371:
%t1148 = load i32, i32* %t0
%t1149 = icmp ne i32 %t1148, 0
br i1 %t1149, label %if.then.375, label %if.end.376
if.then.372:
%t1137 = load i32, i32* %t0
%t1138 = load i32, i32* %t1
%t1139 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1138
%t1140 = load i32, i32* %t1139
%t1141 = add i32 %t1137, %t1140
store i32 %t1141, i32* %t0
br label %if.end.373
if.end.373:
%t1142 = load i32, i32* %t2
%t1143 = sdiv i32 %t1142, 2
store i32 %t1143, i32* %t2
%t1144 = load i32, i32* %t3
%t1145 = sdiv i32 %t1144, 2
store i32 %t1145, i32* %t3
%t1146 = load i32, i32* %t1
%t1147 = add i32 %t1146, 1
store i32 %t1147, i32* %t1
br label %while.cond.369
land.rhs.374:
%t1134 = load i32, i32* %t3
%t1135 = srem i32 %t1134, 2
%t1136 = icmp ne i32 %t1135, 0
br i1 %t1136, label %if.then.372, label %if.end.373
if.then.375:
%t1150 = alloca i32
%t1151 = load i32, i32* %t1123
store i32 %t1151, i32* %t1150
%t1152 = alloca i32
%t1153 = load i32, i32* %t1120
store i32 %t1153, i32* %t1152
%t1154 = alloca i32
store i32 0, i32* %t1154
br label %while.cond.377
if.end.376:
%t1395 = alloca i32
%t1396 = load i32, i32* %t1120
store i32 %t1396, i32* %t1395
%t1397 = alloca i32
%t1398 = load i32, i32* %t1120
store i32 %t1398, i32* %t1397
%t1399 = alloca i32
store i32 0, i32* %t1399
br label %while.cond.456
while.cond.377:
%t1155 = load i32, i32* %t1152
%t1156 = icmp ne i32 %t1155, 0
br i1 %t1156, label %while.body.378, label %while.end.379
while.body.378:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1157 = load i32, i32* %t1152
store i32 %t1157, i32* %t2
store i32 1, i32* %t3
br label %while.cond.380
while.end.379:
%t1393 = load i32, i32* %t1154
store i32 %t1393, i32* %t0
%t1394 = load i32, i32* %t0
store i32 %t1394, i32* %t1123
br label %if.end.376
while.cond.380:
%t1158 = load i32, i32* %t1
%t1159 = icmp slt i32 %t1158, 16
%t1160 = icmp ne i32 %t1159, 0
br i1 %t1160, label %while.body.381, label %while.end.382
while.body.381:
%t1161 = load i32, i32* %t2
%t1162 = srem i32 %t1161, 2
%t1163 = icmp ne i32 %t1162, 0
br i1 %t1163, label %land.rhs.385, label %if.end.384
while.end.382:
%t1178 = load i32, i32* %t0
%t1179 = icmp ne i32 %t1178, 0
br i1 %t1179, label %if.then.386, label %if.end.387
if.then.383:
%t1167 = load i32, i32* %t0
%t1168 = load i32, i32* %t1
%t1169 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1168
%t1170 = load i32, i32* %t1169
%t1171 = add i32 %t1167, %t1170
store i32 %t1171, i32* %t0
br label %if.end.384
if.end.384:
%t1172 = load i32, i32* %t2
%t1173 = sdiv i32 %t1172, 2
store i32 %t1173, i32* %t2
%t1174 = load i32, i32* %t3
%t1175 = sdiv i32 %t1174, 2
store i32 %t1175, i32* %t3
%t1176 = load i32, i32* %t1
%t1177 = add i32 %t1176, 1
store i32 %t1177, i32* %t1
br label %while.cond.380
land.rhs.385:
%t1164 = load i32, i32* %t3
%t1165 = srem i32 %t1164, 2
%t1166 = icmp ne i32 %t1165, 0
br i1 %t1166, label %if.then.383, label %if.end.384
if.then.386:
%t1180 = alloca i32
%t1181 = load i32, i32* %t1154
store i32 %t1181, i32* %t1180
%t1182 = alloca i32
%t1183 = load i32, i32* %t1150
store i32 %t1183, i32* %t1182
%t1184 = alloca i32
store i32 0, i32* %t1184
br label %while.cond.388
if.end.387:
%t1270 = alloca i32
%t1271 = load i32, i32* %t1150
store i32 %t1271, i32* %t1270
%t1272 = alloca i32
%t1273 = load i32, i32* %t1150
store i32 %t1273, i32* %t1272
%t1274 = alloca i32
store i32 0, i32* %t1274
br label %while.cond.416
while.cond.388:
%t1185 = load i32, i32* %t1182
%t1186 = icmp ne i32 %t1185, 0
br i1 %t1186, label %while.body.389, label %while.end.390
while.body.389:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1187 = load i32, i32* %t1180
store i32 %t1187, i32* %t2
%t1188 = load i32, i32* %t1182
store i32 %t1188, i32* %t3
br label %while.cond.391
while.end.390:
%t1268 = load i32, i32* %t1180
store i32 %t1268, i32* %t0
%t1269 = load i32, i32* %t0
store i32 %t1269, i32* %t1154
br label %if.end.387
while.cond.391:
%t1189 = load i32, i32* %t1
%t1190 = icmp slt i32 %t1189, 16
%t1191 = icmp ne i32 %t1190, 0
br i1 %t1191, label %while.body.392, label %while.end.393
while.body.392:
%t1192 = load i32, i32* %t2
%t1193 = srem i32 %t1192, 2
%t1194 = icmp ne i32 %t1193, 0
br i1 %t1194, label %if.then.394, label %if.else.396
while.end.393:
%t1218 = load i32, i32* %t0
store i32 %t1218, i32* %t1184
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1219 = load i32, i32* %t1180
store i32 %t1219, i32* %t2
%t1220 = load i32, i32* %t1182
store i32 %t1220, i32* %t3
br label %while.cond.401
if.then.394:
%t1195 = load i32, i32* %t3
%t1196 = srem i32 %t1195, 2
%t1197 = icmp eq i32 %t1196, 0
%t1198 = icmp ne i32 %t1197, 0
br i1 %t1198, label %if.then.397, label %if.end.398
if.end.395:
%t1212 = load i32, i32* %t2
%t1213 = sdiv i32 %t1212, 2
store i32 %t1213, i32* %t2
%t1214 = load i32, i32* %t3
%t1215 = sdiv i32 %t1214, 2
store i32 %t1215, i32* %t3
%t1216 = load i32, i32* %t1
%t1217 = add i32 %t1216, 1
store i32 %t1217, i32* %t1
br label %while.cond.391
if.else.396:
%t1204 = load i32, i32* %t3
%t1205 = srem i32 %t1204, 2
%t1206 = icmp ne i32 %t1205, 0
br i1 %t1206, label %if.then.399, label %if.end.400
if.then.397:
%t1199 = load i32, i32* %t0
%t1200 = load i32, i32* %t1
%t1201 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1200
%t1202 = load i32, i32* %t1201
%t1203 = add i32 %t1199, %t1202
store i32 %t1203, i32* %t0
br label %if.end.398
if.end.398:
br label %if.end.395
if.then.399:
%t1207 = load i32, i32* %t0
%t1208 = load i32, i32* %t1
%t1209 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1208
%t1210 = load i32, i32* %t1209
%t1211 = add i32 %t1207, %t1210
store i32 %t1211, i32* %t0
br label %if.end.400
if.end.400:
br label %if.end.395
while.cond.401:
%t1221 = load i32, i32* %t1
%t1222 = icmp slt i32 %t1221, 16
%t1223 = icmp ne i32 %t1222, 0
br i1 %t1223, label %while.body.402, label %while.end.403
while.body.402:
%t1224 = load i32, i32* %t2
%t1225 = srem i32 %t1224, 2
%t1226 = icmp ne i32 %t1225, 0
br i1 %t1226, label %land.rhs.406, label %if.end.405
while.end.403:
%t1241 = load i32, i32* %t0
store i32 %t1241, i32* %t1182
br i1 0, label %if.then.407, label %if.else.409
if.then.404:
%t1230 = load i32, i32* %t0
%t1231 = load i32, i32* %t1
%t1232 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1231
%t1233 = load i32, i32* %t1232
%t1234 = add i32 %t1230, %t1233
store i32 %t1234, i32* %t0
br label %if.end.405
if.end.405:
%t1235 = load i32, i32* %t2
%t1236 = sdiv i32 %t1235, 2
store i32 %t1236, i32* %t2
%t1237 = load i32, i32* %t3
%t1238 = sdiv i32 %t1237, 2
store i32 %t1238, i32* %t3
%t1239 = load i32, i32* %t1
%t1240 = add i32 %t1239, 1
store i32 %t1240, i32* %t1
br label %while.cond.401
land.rhs.406:
%t1227 = load i32, i32* %t3
%t1228 = srem i32 %t1227, 2
%t1229 = icmp ne i32 %t1228, 0
br i1 %t1229, label %if.then.404, label %if.end.405
if.then.407:
store i32 0, i32* %t0
br label %if.end.408
if.end.408:
%t1266 = load i32, i32* %t0
store i32 %t1266, i32* %t1182
%t1267 = load i32, i32* %t1184
store i32 %t1267, i32* %t1180
br label %while.cond.388
if.else.409:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1242 = load i32, i32* %t1182
%t1243 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t1244 = load i32, i32* %t1243
%t1245 = mul i32 %t1242, %t1244
store i32 %t1245, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.410
while.cond.410:
%t1246 = load i32, i32* %t1
%t1247 = icmp slt i32 %t1246, 16
%t1248 = icmp ne i32 %t1247, 0
br i1 %t1248, label %while.body.411, label %while.end.412
while.body.411:
%t1249 = load i32, i32* %t2
%t1250 = srem i32 %t1249, 2
%t1251 = icmp ne i32 %t1250, 0
br i1 %t1251, label %land.rhs.415, label %if.end.414
while.end.412:
br label %if.end.408
if.then.413:
%t1255 = load i32, i32* %t0
%t1256 = load i32, i32* %t1
%t1257 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1256
%t1258 = load i32, i32* %t1257
%t1259 = add i32 %t1255, %t1258
store i32 %t1259, i32* %t0
br label %if.end.414
if.end.414:
%t1260 = load i32, i32* %t2
%t1261 = sdiv i32 %t1260, 2
store i32 %t1261, i32* %t2
%t1262 = load i32, i32* %t3
%t1263 = sdiv i32 %t1262, 2
store i32 %t1263, i32* %t3
%t1264 = load i32, i32* %t1
%t1265 = add i32 %t1264, 1
store i32 %t1265, i32* %t1
br label %while.cond.410
land.rhs.415:
%t1252 = load i32, i32* %t3
%t1253 = srem i32 %t1252, 2
%t1254 = icmp ne i32 %t1253, 0
br i1 %t1254, label %if.then.413, label %if.end.414
while.cond.416:
%t1275 = load i32, i32* %t1272
%t1276 = icmp ne i32 %t1275, 0
br i1 %t1276, label %while.body.417, label %while.end.418
while.body.417:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1277 = load i32, i32* %t1270
store i32 %t1277, i32* %t2
%t1278 = load i32, i32* %t1272
store i32 %t1278, i32* %t3
br label %while.cond.419
while.end.418:
%t1358 = load i32, i32* %t1270
store i32 %t1358, i32* %t0
%t1359 = load i32, i32* %t0
store i32 %t1359, i32* %t1150
%t1360 = load i32, i32* %t1152
store i32 %t1360, i32* %t2
store i32 1, i32* %t3
%t1361 = load i32, i32* %t3
%t1362 = icmp sge i32 %t1361, 15
%t1363 = icmp ne i32 %t1362, 0
br i1 %t1363, label %if.then.444, label %if.else.446
while.cond.419:
%t1279 = load i32, i32* %t1
%t1280 = icmp slt i32 %t1279, 16
%t1281 = icmp ne i32 %t1280, 0
br i1 %t1281, label %while.body.420, label %while.end.421
while.body.420:
%t1282 = load i32, i32* %t2
%t1283 = srem i32 %t1282, 2
%t1284 = icmp ne i32 %t1283, 0
br i1 %t1284, label %if.then.422, label %if.else.424
while.end.421:
%t1308 = load i32, i32* %t0
store i32 %t1308, i32* %t1274
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1309 = load i32, i32* %t1270
store i32 %t1309, i32* %t2
%t1310 = load i32, i32* %t1272
store i32 %t1310, i32* %t3
br label %while.cond.429
if.then.422:
%t1285 = load i32, i32* %t3
%t1286 = srem i32 %t1285, 2
%t1287 = icmp eq i32 %t1286, 0
%t1288 = icmp ne i32 %t1287, 0
br i1 %t1288, label %if.then.425, label %if.end.426
if.end.423:
%t1302 = load i32, i32* %t2
%t1303 = sdiv i32 %t1302, 2
store i32 %t1303, i32* %t2
%t1304 = load i32, i32* %t3
%t1305 = sdiv i32 %t1304, 2
store i32 %t1305, i32* %t3
%t1306 = load i32, i32* %t1
%t1307 = add i32 %t1306, 1
store i32 %t1307, i32* %t1
br label %while.cond.419
if.else.424:
%t1294 = load i32, i32* %t3
%t1295 = srem i32 %t1294, 2
%t1296 = icmp ne i32 %t1295, 0
br i1 %t1296, label %if.then.427, label %if.end.428
if.then.425:
%t1289 = load i32, i32* %t0
%t1290 = load i32, i32* %t1
%t1291 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1290
%t1292 = load i32, i32* %t1291
%t1293 = add i32 %t1289, %t1292
store i32 %t1293, i32* %t0
br label %if.end.426
if.end.426:
br label %if.end.423
if.then.427:
%t1297 = load i32, i32* %t0
%t1298 = load i32, i32* %t1
%t1299 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1298
%t1300 = load i32, i32* %t1299
%t1301 = add i32 %t1297, %t1300
store i32 %t1301, i32* %t0
br label %if.end.428
if.end.428:
br label %if.end.423
while.cond.429:
%t1311 = load i32, i32* %t1
%t1312 = icmp slt i32 %t1311, 16
%t1313 = icmp ne i32 %t1312, 0
br i1 %t1313, label %while.body.430, label %while.end.431
while.body.430:
%t1314 = load i32, i32* %t2
%t1315 = srem i32 %t1314, 2
%t1316 = icmp ne i32 %t1315, 0
br i1 %t1316, label %land.rhs.434, label %if.end.433
while.end.431:
%t1331 = load i32, i32* %t0
store i32 %t1331, i32* %t1272
br i1 0, label %if.then.435, label %if.else.437
if.then.432:
%t1320 = load i32, i32* %t0
%t1321 = load i32, i32* %t1
%t1322 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1321
%t1323 = load i32, i32* %t1322
%t1324 = add i32 %t1320, %t1323
store i32 %t1324, i32* %t0
br label %if.end.433
if.end.433:
%t1325 = load i32, i32* %t2
%t1326 = sdiv i32 %t1325, 2
store i32 %t1326, i32* %t2
%t1327 = load i32, i32* %t3
%t1328 = sdiv i32 %t1327, 2
store i32 %t1328, i32* %t3
%t1329 = load i32, i32* %t1
%t1330 = add i32 %t1329, 1
store i32 %t1330, i32* %t1
br label %while.cond.429
land.rhs.434:
%t1317 = load i32, i32* %t3
%t1318 = srem i32 %t1317, 2
%t1319 = icmp ne i32 %t1318, 0
br i1 %t1319, label %if.then.432, label %if.end.433
if.then.435:
store i32 0, i32* %t0
br label %if.end.436
if.end.436:
%t1356 = load i32, i32* %t0
store i32 %t1356, i32* %t1272
%t1357 = load i32, i32* %t1274
store i32 %t1357, i32* %t1270
br label %while.cond.416
if.else.437:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1332 = load i32, i32* %t1272
%t1333 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t1334 = load i32, i32* %t1333
%t1335 = mul i32 %t1332, %t1334
store i32 %t1335, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.438
while.cond.438:
%t1336 = load i32, i32* %t1
%t1337 = icmp slt i32 %t1336, 16
%t1338 = icmp ne i32 %t1337, 0
br i1 %t1338, label %while.body.439, label %while.end.440
while.body.439:
%t1339 = load i32, i32* %t2
%t1340 = srem i32 %t1339, 2
%t1341 = icmp ne i32 %t1340, 0
br i1 %t1341, label %land.rhs.443, label %if.end.442
while.end.440:
br label %if.end.436
if.then.441:
%t1345 = load i32, i32* %t0
%t1346 = load i32, i32* %t1
%t1347 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1346
%t1348 = load i32, i32* %t1347
%t1349 = add i32 %t1345, %t1348
store i32 %t1349, i32* %t0
br label %if.end.442
if.end.442:
%t1350 = load i32, i32* %t2
%t1351 = sdiv i32 %t1350, 2
store i32 %t1351, i32* %t2
%t1352 = load i32, i32* %t3
%t1353 = sdiv i32 %t1352, 2
store i32 %t1353, i32* %t3
%t1354 = load i32, i32* %t1
%t1355 = add i32 %t1354, 1
store i32 %t1355, i32* %t1
br label %while.cond.438
land.rhs.443:
%t1342 = load i32, i32* %t3
%t1343 = srem i32 %t1342, 2
%t1344 = icmp ne i32 %t1343, 0
br i1 %t1344, label %if.then.441, label %if.end.442
if.then.444:
%t1364 = load i32, i32* %t2
%t1365 = icmp slt i32 %t1364, 0
%t1366 = icmp ne i32 %t1365, 0
br i1 %t1366, label %if.then.447, label %if.else.449
if.end.445:
%t1392 = load i32, i32* %t0
store i32 %t1392, i32* %t1152
br label %while.cond.377
if.else.446:
%t1367 = load i32, i32* %t3
%t1368 = icmp sgt i32 %t1367, 0
%t1369 = icmp ne i32 %t1368, 0
br i1 %t1369, label %if.then.450, label %if.else.452
if.then.447:
store i32 65535, i32* %t0
br label %if.end.448
if.end.448:
br label %if.end.445
if.else.449:
store i32 0, i32* %t0
br label %if.end.448
if.then.450:
%t1370 = load i32, i32* %t2
%t1371 = icmp sgt i32 %t1370, 32767
%t1372 = icmp ne i32 %t1371, 0
br i1 %t1372, label %if.then.453, label %if.else.455
if.end.451:
br label %if.end.445
if.else.452:
%t1391 = load i32, i32* %t2
store i32 %t1391, i32* %t0
br label %if.end.451
if.then.453:
%t1373 = load i32, i32* %t2
%t1374 = load i32, i32* %t3
%t1375 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1374
%t1376 = load i32, i32* %t1375
%t1377 = sdiv i32 %t1373, %t1376
store i32 %t1377, i32* %t2
%t1378 = load i32, i32* %t2
%t1379 = add i32 %t1378, 65536
%t1380 = load i32, i32* %t3
%t1381 = sub i32 15, %t1380
%t1382 = add i32 %t1381, 1
%t1383 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1382
%t1384 = load i32, i32* %t1383
%t1385 = sub i32 %t1379, %t1384
store i32 %t1385, i32* %t0
br label %if.end.454
if.end.454:
br label %if.end.451
if.else.455:
%t1386 = load i32, i32* %t2
%t1387 = load i32, i32* %t3
%t1388 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1387
%t1389 = load i32, i32* %t1388
%t1390 = sdiv i32 %t1386, %t1389
store i32 %t1390, i32* %t0
br label %if.end.454
while.cond.456:
%t1400 = load i32, i32* %t1397
%t1401 = icmp ne i32 %t1400, 0
br i1 %t1401, label %while.body.457, label %while.end.458
while.body.457:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1402 = load i32, i32* %t1397
store i32 %t1402, i32* %t2
store i32 1, i32* %t3
br label %while.cond.459
while.end.458:
%t1638 = load i32, i32* %t1399
store i32 %t1638, i32* %t0
%t1639 = load i32, i32* %t0
store i32 %t1639, i32* %t1120
%t1640 = load i32, i32* %t1121
store i32 %t1640, i32* %t2
store i32 1, i32* %t3
%t1641 = load i32, i32* %t3
%t1642 = icmp sge i32 %t1641, 15
%t1643 = icmp ne i32 %t1642, 0
br i1 %t1643, label %if.then.535, label %if.else.537
while.cond.459:
%t1403 = load i32, i32* %t1
%t1404 = icmp slt i32 %t1403, 16
%t1405 = icmp ne i32 %t1404, 0
br i1 %t1405, label %while.body.460, label %while.end.461
while.body.460:
%t1406 = load i32, i32* %t2
%t1407 = srem i32 %t1406, 2
%t1408 = icmp ne i32 %t1407, 0
br i1 %t1408, label %land.rhs.464, label %if.end.463
while.end.461:
%t1423 = load i32, i32* %t0
%t1424 = icmp ne i32 %t1423, 0
br i1 %t1424, label %if.then.465, label %if.end.466
if.then.462:
%t1412 = load i32, i32* %t0
%t1413 = load i32, i32* %t1
%t1414 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1413
%t1415 = load i32, i32* %t1414
%t1416 = add i32 %t1412, %t1415
store i32 %t1416, i32* %t0
br label %if.end.463
if.end.463:
%t1417 = load i32, i32* %t2
%t1418 = sdiv i32 %t1417, 2
store i32 %t1418, i32* %t2
%t1419 = load i32, i32* %t3
%t1420 = sdiv i32 %t1419, 2
store i32 %t1420, i32* %t3
%t1421 = load i32, i32* %t1
%t1422 = add i32 %t1421, 1
store i32 %t1422, i32* %t1
br label %while.cond.459
land.rhs.464:
%t1409 = load i32, i32* %t3
%t1410 = srem i32 %t1409, 2
%t1411 = icmp ne i32 %t1410, 0
br i1 %t1411, label %if.then.462, label %if.end.463
if.then.465:
%t1425 = alloca i32
%t1426 = load i32, i32* %t1399
store i32 %t1426, i32* %t1425
%t1427 = alloca i32
%t1428 = load i32, i32* %t1395
store i32 %t1428, i32* %t1427
%t1429 = alloca i32
store i32 0, i32* %t1429
br label %while.cond.467
if.end.466:
%t1515 = alloca i32
%t1516 = load i32, i32* %t1395
store i32 %t1516, i32* %t1515
%t1517 = alloca i32
%t1518 = load i32, i32* %t1395
store i32 %t1518, i32* %t1517
%t1519 = alloca i32
store i32 0, i32* %t1519
br label %while.cond.495
while.cond.467:
%t1430 = load i32, i32* %t1427
%t1431 = icmp ne i32 %t1430, 0
br i1 %t1431, label %while.body.468, label %while.end.469
while.body.468:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1432 = load i32, i32* %t1425
store i32 %t1432, i32* %t2
%t1433 = load i32, i32* %t1427
store i32 %t1433, i32* %t3
br label %while.cond.470
while.end.469:
%t1513 = load i32, i32* %t1425
store i32 %t1513, i32* %t0
%t1514 = load i32, i32* %t0
store i32 %t1514, i32* %t1399
br label %if.end.466
while.cond.470:
%t1434 = load i32, i32* %t1
%t1435 = icmp slt i32 %t1434, 16
%t1436 = icmp ne i32 %t1435, 0
br i1 %t1436, label %while.body.471, label %while.end.472
while.body.471:
%t1437 = load i32, i32* %t2
%t1438 = srem i32 %t1437, 2
%t1439 = icmp ne i32 %t1438, 0
br i1 %t1439, label %if.then.473, label %if.else.475
while.end.472:
%t1463 = load i32, i32* %t0
store i32 %t1463, i32* %t1429
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1464 = load i32, i32* %t1425
store i32 %t1464, i32* %t2
%t1465 = load i32, i32* %t1427
store i32 %t1465, i32* %t3
br label %while.cond.480
if.then.473:
%t1440 = load i32, i32* %t3
%t1441 = srem i32 %t1440, 2
%t1442 = icmp eq i32 %t1441, 0
%t1443 = icmp ne i32 %t1442, 0
br i1 %t1443, label %if.then.476, label %if.end.477
if.end.474:
%t1457 = load i32, i32* %t2
%t1458 = sdiv i32 %t1457, 2
store i32 %t1458, i32* %t2
%t1459 = load i32, i32* %t3
%t1460 = sdiv i32 %t1459, 2
store i32 %t1460, i32* %t3
%t1461 = load i32, i32* %t1
%t1462 = add i32 %t1461, 1
store i32 %t1462, i32* %t1
br label %while.cond.470
if.else.475:
%t1449 = load i32, i32* %t3
%t1450 = srem i32 %t1449, 2
%t1451 = icmp ne i32 %t1450, 0
br i1 %t1451, label %if.then.478, label %if.end.479
if.then.476:
%t1444 = load i32, i32* %t0
%t1445 = load i32, i32* %t1
%t1446 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1445
%t1447 = load i32, i32* %t1446
%t1448 = add i32 %t1444, %t1447
store i32 %t1448, i32* %t0
br label %if.end.477
if.end.477:
br label %if.end.474
if.then.478:
%t1452 = load i32, i32* %t0
%t1453 = load i32, i32* %t1
%t1454 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1453
%t1455 = load i32, i32* %t1454
%t1456 = add i32 %t1452, %t1455
store i32 %t1456, i32* %t0
br label %if.end.479
if.end.479:
br label %if.end.474
while.cond.480:
%t1466 = load i32, i32* %t1
%t1467 = icmp slt i32 %t1466, 16
%t1468 = icmp ne i32 %t1467, 0
br i1 %t1468, label %while.body.481, label %while.end.482
while.body.481:
%t1469 = load i32, i32* %t2
%t1470 = srem i32 %t1469, 2
%t1471 = icmp ne i32 %t1470, 0
br i1 %t1471, label %land.rhs.485, label %if.end.484
while.end.482:
%t1486 = load i32, i32* %t0
store i32 %t1486, i32* %t1427
br i1 0, label %if.then.486, label %if.else.488
if.then.483:
%t1475 = load i32, i32* %t0
%t1476 = load i32, i32* %t1
%t1477 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1476
%t1478 = load i32, i32* %t1477
%t1479 = add i32 %t1475, %t1478
store i32 %t1479, i32* %t0
br label %if.end.484
if.end.484:
%t1480 = load i32, i32* %t2
%t1481 = sdiv i32 %t1480, 2
store i32 %t1481, i32* %t2
%t1482 = load i32, i32* %t3
%t1483 = sdiv i32 %t1482, 2
store i32 %t1483, i32* %t3
%t1484 = load i32, i32* %t1
%t1485 = add i32 %t1484, 1
store i32 %t1485, i32* %t1
br label %while.cond.480
land.rhs.485:
%t1472 = load i32, i32* %t3
%t1473 = srem i32 %t1472, 2
%t1474 = icmp ne i32 %t1473, 0
br i1 %t1474, label %if.then.483, label %if.end.484
if.then.486:
store i32 0, i32* %t0
br label %if.end.487
if.end.487:
%t1511 = load i32, i32* %t0
store i32 %t1511, i32* %t1427
%t1512 = load i32, i32* %t1429
store i32 %t1512, i32* %t1425
br label %while.cond.467
if.else.488:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1487 = load i32, i32* %t1427
%t1488 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t1489 = load i32, i32* %t1488
%t1490 = mul i32 %t1487, %t1489
store i32 %t1490, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.489
while.cond.489:
%t1491 = load i32, i32* %t1
%t1492 = icmp slt i32 %t1491, 16
%t1493 = icmp ne i32 %t1492, 0
br i1 %t1493, label %while.body.490, label %while.end.491
while.body.490:
%t1494 = load i32, i32* %t2
%t1495 = srem i32 %t1494, 2
%t1496 = icmp ne i32 %t1495, 0
br i1 %t1496, label %land.rhs.494, label %if.end.493
while.end.491:
br label %if.end.487
if.then.492:
%t1500 = load i32, i32* %t0
%t1501 = load i32, i32* %t1
%t1502 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1501
%t1503 = load i32, i32* %t1502
%t1504 = add i32 %t1500, %t1503
store i32 %t1504, i32* %t0
br label %if.end.493
if.end.493:
%t1505 = load i32, i32* %t2
%t1506 = sdiv i32 %t1505, 2
store i32 %t1506, i32* %t2
%t1507 = load i32, i32* %t3
%t1508 = sdiv i32 %t1507, 2
store i32 %t1508, i32* %t3
%t1509 = load i32, i32* %t1
%t1510 = add i32 %t1509, 1
store i32 %t1510, i32* %t1
br label %while.cond.489
land.rhs.494:
%t1497 = load i32, i32* %t3
%t1498 = srem i32 %t1497, 2
%t1499 = icmp ne i32 %t1498, 0
br i1 %t1499, label %if.then.492, label %if.end.493
while.cond.495:
%t1520 = load i32, i32* %t1517
%t1521 = icmp ne i32 %t1520, 0
br i1 %t1521, label %while.body.496, label %while.end.497
while.body.496:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1522 = load i32, i32* %t1515
store i32 %t1522, i32* %t2
%t1523 = load i32, i32* %t1517
store i32 %t1523, i32* %t3
br label %while.cond.498
while.end.497:
%t1603 = load i32, i32* %t1515
store i32 %t1603, i32* %t0
%t1604 = load i32, i32* %t0
store i32 %t1604, i32* %t1395
%t1605 = load i32, i32* %t1397
store i32 %t1605, i32* %t2
store i32 1, i32* %t3
%t1606 = load i32, i32* %t3
%t1607 = icmp sge i32 %t1606, 15
%t1608 = icmp ne i32 %t1607, 0
br i1 %t1608, label %if.then.523, label %if.else.525
while.cond.498:
%t1524 = load i32, i32* %t1
%t1525 = icmp slt i32 %t1524, 16
%t1526 = icmp ne i32 %t1525, 0
br i1 %t1526, label %while.body.499, label %while.end.500
while.body.499:
%t1527 = load i32, i32* %t2
%t1528 = srem i32 %t1527, 2
%t1529 = icmp ne i32 %t1528, 0
br i1 %t1529, label %if.then.501, label %if.else.503
while.end.500:
%t1553 = load i32, i32* %t0
store i32 %t1553, i32* %t1519
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1554 = load i32, i32* %t1515
store i32 %t1554, i32* %t2
%t1555 = load i32, i32* %t1517
store i32 %t1555, i32* %t3
br label %while.cond.508
if.then.501:
%t1530 = load i32, i32* %t3
%t1531 = srem i32 %t1530, 2
%t1532 = icmp eq i32 %t1531, 0
%t1533 = icmp ne i32 %t1532, 0
br i1 %t1533, label %if.then.504, label %if.end.505
if.end.502:
%t1547 = load i32, i32* %t2
%t1548 = sdiv i32 %t1547, 2
store i32 %t1548, i32* %t2
%t1549 = load i32, i32* %t3
%t1550 = sdiv i32 %t1549, 2
store i32 %t1550, i32* %t3
%t1551 = load i32, i32* %t1
%t1552 = add i32 %t1551, 1
store i32 %t1552, i32* %t1
br label %while.cond.498
if.else.503:
%t1539 = load i32, i32* %t3
%t1540 = srem i32 %t1539, 2
%t1541 = icmp ne i32 %t1540, 0
br i1 %t1541, label %if.then.506, label %if.end.507
if.then.504:
%t1534 = load i32, i32* %t0
%t1535 = load i32, i32* %t1
%t1536 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1535
%t1537 = load i32, i32* %t1536
%t1538 = add i32 %t1534, %t1537
store i32 %t1538, i32* %t0
br label %if.end.505
if.end.505:
br label %if.end.502
if.then.506:
%t1542 = load i32, i32* %t0
%t1543 = load i32, i32* %t1
%t1544 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1543
%t1545 = load i32, i32* %t1544
%t1546 = add i32 %t1542, %t1545
store i32 %t1546, i32* %t0
br label %if.end.507
if.end.507:
br label %if.end.502
while.cond.508:
%t1556 = load i32, i32* %t1
%t1557 = icmp slt i32 %t1556, 16
%t1558 = icmp ne i32 %t1557, 0
br i1 %t1558, label %while.body.509, label %while.end.510
while.body.509:
%t1559 = load i32, i32* %t2
%t1560 = srem i32 %t1559, 2
%t1561 = icmp ne i32 %t1560, 0
br i1 %t1561, label %land.rhs.513, label %if.end.512
while.end.510:
%t1576 = load i32, i32* %t0
store i32 %t1576, i32* %t1517
br i1 0, label %if.then.514, label %if.else.516
if.then.511:
%t1565 = load i32, i32* %t0
%t1566 = load i32, i32* %t1
%t1567 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1566
%t1568 = load i32, i32* %t1567
%t1569 = add i32 %t1565, %t1568
store i32 %t1569, i32* %t0
br label %if.end.512
if.end.512:
%t1570 = load i32, i32* %t2
%t1571 = sdiv i32 %t1570, 2
store i32 %t1571, i32* %t2
%t1572 = load i32, i32* %t3
%t1573 = sdiv i32 %t1572, 2
store i32 %t1573, i32* %t3
%t1574 = load i32, i32* %t1
%t1575 = add i32 %t1574, 1
store i32 %t1575, i32* %t1
br label %while.cond.508
land.rhs.513:
%t1562 = load i32, i32* %t3
%t1563 = srem i32 %t1562, 2
%t1564 = icmp ne i32 %t1563, 0
br i1 %t1564, label %if.then.511, label %if.end.512
if.then.514:
store i32 0, i32* %t0
br label %if.end.515
if.end.515:
%t1601 = load i32, i32* %t0
store i32 %t1601, i32* %t1517
%t1602 = load i32, i32* %t1519
store i32 %t1602, i32* %t1515
br label %while.cond.495
if.else.516:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1577 = load i32, i32* %t1517
%t1578 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t1579 = load i32, i32* %t1578
%t1580 = mul i32 %t1577, %t1579
store i32 %t1580, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.517
while.cond.517:
%t1581 = load i32, i32* %t1
%t1582 = icmp slt i32 %t1581, 16
%t1583 = icmp ne i32 %t1582, 0
br i1 %t1583, label %while.body.518, label %while.end.519
while.body.518:
%t1584 = load i32, i32* %t2
%t1585 = srem i32 %t1584, 2
%t1586 = icmp ne i32 %t1585, 0
br i1 %t1586, label %land.rhs.522, label %if.end.521
while.end.519:
br label %if.end.515
if.then.520:
%t1590 = load i32, i32* %t0
%t1591 = load i32, i32* %t1
%t1592 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1591
%t1593 = load i32, i32* %t1592
%t1594 = add i32 %t1590, %t1593
store i32 %t1594, i32* %t0
br label %if.end.521
if.end.521:
%t1595 = load i32, i32* %t2
%t1596 = sdiv i32 %t1595, 2
store i32 %t1596, i32* %t2
%t1597 = load i32, i32* %t3
%t1598 = sdiv i32 %t1597, 2
store i32 %t1598, i32* %t3
%t1599 = load i32, i32* %t1
%t1600 = add i32 %t1599, 1
store i32 %t1600, i32* %t1
br label %while.cond.517
land.rhs.522:
%t1587 = load i32, i32* %t3
%t1588 = srem i32 %t1587, 2
%t1589 = icmp ne i32 %t1588, 0
br i1 %t1589, label %if.then.520, label %if.end.521
if.then.523:
%t1609 = load i32, i32* %t2
%t1610 = icmp slt i32 %t1609, 0
%t1611 = icmp ne i32 %t1610, 0
br i1 %t1611, label %if.then.526, label %if.else.528
if.end.524:
%t1637 = load i32, i32* %t0
store i32 %t1637, i32* %t1397
br label %while.cond.456
if.else.525:
%t1612 = load i32, i32* %t3
%t1613 = icmp sgt i32 %t1612, 0
%t1614 = icmp ne i32 %t1613, 0
br i1 %t1614, label %if.then.529, label %if.else.531
if.then.526:
store i32 65535, i32* %t0
br label %if.end.527
if.end.527:
br label %if.end.524
if.else.528:
store i32 0, i32* %t0
br label %if.end.527
if.then.529:
%t1615 = load i32, i32* %t2
%t1616 = icmp sgt i32 %t1615, 32767
%t1617 = icmp ne i32 %t1616, 0
br i1 %t1617, label %if.then.532, label %if.else.534
if.end.530:
br label %if.end.524
if.else.531:
%t1636 = load i32, i32* %t2
store i32 %t1636, i32* %t0
br label %if.end.530
if.then.532:
%t1618 = load i32, i32* %t2
%t1619 = load i32, i32* %t3
%t1620 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1619
%t1621 = load i32, i32* %t1620
%t1622 = sdiv i32 %t1618, %t1621
store i32 %t1622, i32* %t2
%t1623 = load i32, i32* %t2
%t1624 = add i32 %t1623, 65536
%t1625 = load i32, i32* %t3
%t1626 = sub i32 15, %t1625
%t1627 = add i32 %t1626, 1
%t1628 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1627
%t1629 = load i32, i32* %t1628
%t1630 = sub i32 %t1624, %t1629
store i32 %t1630, i32* %t0
br label %if.end.533
if.end.533:
br label %if.end.530
if.else.534:
%t1631 = load i32, i32* %t2
%t1632 = load i32, i32* %t3
%t1633 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1632
%t1634 = load i32, i32* %t1633
%t1635 = sdiv i32 %t1631, %t1634
store i32 %t1635, i32* %t0
br label %if.end.533
if.then.535:
%t1644 = load i32, i32* %t2
%t1645 = icmp slt i32 %t1644, 0
%t1646 = icmp ne i32 %t1645, 0
br i1 %t1646, label %if.then.538, label %if.else.540
if.end.536:
%t1672 = load i32, i32* %t0
store i32 %t1672, i32* %t1121
br label %while.cond.366
if.else.537:
%t1647 = load i32, i32* %t3
%t1648 = icmp sgt i32 %t1647, 0
%t1649 = icmp ne i32 %t1648, 0
br i1 %t1649, label %if.then.541, label %if.else.543
if.then.538:
store i32 65535, i32* %t0
br label %if.end.539
if.end.539:
br label %if.end.536
if.else.540:
store i32 0, i32* %t0
br label %if.end.539
if.then.541:
%t1650 = load i32, i32* %t2
%t1651 = icmp sgt i32 %t1650, 32767
%t1652 = icmp ne i32 %t1651, 0
br i1 %t1652, label %if.then.544, label %if.else.546
if.end.542:
br label %if.end.536
if.else.543:
%t1671 = load i32, i32* %t2
store i32 %t1671, i32* %t0
br label %if.end.542
if.then.544:
%t1653 = load i32, i32* %t2
%t1654 = load i32, i32* %t3
%t1655 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1654
%t1656 = load i32, i32* %t1655
%t1657 = sdiv i32 %t1653, %t1656
store i32 %t1657, i32* %t2
%t1658 = load i32, i32* %t2
%t1659 = add i32 %t1658, 65536
%t1660 = load i32, i32* %t3
%t1661 = sub i32 15, %t1660
%t1662 = add i32 %t1661, 1
%t1663 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1662
%t1664 = load i32, i32* %t1663
%t1665 = sub i32 %t1659, %t1664
store i32 %t1665, i32* %t0
br label %if.end.545
if.end.545:
br label %if.end.542
if.else.546:
%t1666 = load i32, i32* %t2
%t1667 = load i32, i32* %t3
%t1668 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1667
%t1669 = load i32, i32* %t1668
%t1670 = sdiv i32 %t1666, %t1669
store i32 %t1670, i32* %t0
br label %if.end.545
while.cond.547:
%t1679 = load i32, i32* %t4
%t1680 = icmp slt i32 %t1679, 16
%t1681 = icmp ne i32 %t1680, 0
br i1 %t1681, label %while.body.548, label %while.end.549
while.body.548:
%t1682 = alloca i32
store i32 2, i32* %t1682
%t1683 = alloca i32
%t1684 = load i32, i32* %t4
store i32 %t1684, i32* %t1683
%t1685 = alloca i32
store i32 1, i32* %t1685
br label %while.cond.550
while.end.549:
ret i32 0
while.cond.550:
%t1686 = load i32, i32* %t1683
%t1687 = icmp sgt i32 %t1686, 0
%t1688 = icmp ne i32 %t1687, 0
br i1 %t1688, label %while.body.551, label %while.end.552
while.body.551:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1689 = load i32, i32* %t1683
store i32 %t1689, i32* %t2
store i32 1, i32* %t3
br label %while.cond.553
while.end.552:
%t2235 = load i32, i32* %t1685
store i32 %t2235, i32* %t0
%t2236 = load i32, i32* %t4
%t2237 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2236
%t2238 = load i32, i32* %t2237
%t2239 = load i32, i32* %t0
%t2240 = icmp ne i32 %t2238, %t2239
%t2241 = icmp ne i32 %t2240, 0
br i1 %t2241, label %if.then.731, label %if.end.732
while.cond.553:
%t1690 = load i32, i32* %t1
%t1691 = icmp slt i32 %t1690, 16
%t1692 = icmp ne i32 %t1691, 0
br i1 %t1692, label %while.body.554, label %while.end.555
while.body.554:
%t1693 = load i32, i32* %t2
%t1694 = srem i32 %t1693, 2
%t1695 = icmp ne i32 %t1694, 0
br i1 %t1695, label %land.rhs.558, label %if.end.557
while.end.555:
%t1710 = load i32, i32* %t0
%t1711 = icmp ne i32 %t1710, 0
br i1 %t1711, label %if.then.559, label %if.end.560
if.then.556:
%t1699 = load i32, i32* %t0
%t1700 = load i32, i32* %t1
%t1701 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1700
%t1702 = load i32, i32* %t1701
%t1703 = add i32 %t1699, %t1702
store i32 %t1703, i32* %t0
br label %if.end.557
if.end.557:
%t1704 = load i32, i32* %t2
%t1705 = sdiv i32 %t1704, 2
store i32 %t1705, i32* %t2
%t1706 = load i32, i32* %t3
%t1707 = sdiv i32 %t1706, 2
store i32 %t1707, i32* %t3
%t1708 = load i32, i32* %t1
%t1709 = add i32 %t1708, 1
store i32 %t1709, i32* %t1
br label %while.cond.553
land.rhs.558:
%t1696 = load i32, i32* %t3
%t1697 = srem i32 %t1696, 2
%t1698 = icmp ne i32 %t1697, 0
br i1 %t1698, label %if.then.556, label %if.end.557
if.then.559:
%t1712 = alloca i32
%t1713 = load i32, i32* %t1685
store i32 %t1713, i32* %t1712
%t1714 = alloca i32
%t1715 = load i32, i32* %t1682
store i32 %t1715, i32* %t1714
%t1716 = alloca i32
store i32 0, i32* %t1716
br label %while.cond.561
if.end.560:
%t1957 = alloca i32
%t1958 = load i32, i32* %t1682
store i32 %t1958, i32* %t1957
%t1959 = alloca i32
%t1960 = load i32, i32* %t1682
store i32 %t1960, i32* %t1959
%t1961 = alloca i32
store i32 0, i32* %t1961
br label %while.cond.640
while.cond.561:
%t1717 = load i32, i32* %t1714
%t1718 = icmp ne i32 %t1717, 0
br i1 %t1718, label %while.body.562, label %while.end.563
while.body.562:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1719 = load i32, i32* %t1714
store i32 %t1719, i32* %t2
store i32 1, i32* %t3
br label %while.cond.564
while.end.563:
%t1955 = load i32, i32* %t1716
store i32 %t1955, i32* %t0
%t1956 = load i32, i32* %t0
store i32 %t1956, i32* %t1685
br label %if.end.560
while.cond.564:
%t1720 = load i32, i32* %t1
%t1721 = icmp slt i32 %t1720, 16
%t1722 = icmp ne i32 %t1721, 0
br i1 %t1722, label %while.body.565, label %while.end.566
while.body.565:
%t1723 = load i32, i32* %t2
%t1724 = srem i32 %t1723, 2
%t1725 = icmp ne i32 %t1724, 0
br i1 %t1725, label %land.rhs.569, label %if.end.568
while.end.566:
%t1740 = load i32, i32* %t0
%t1741 = icmp ne i32 %t1740, 0
br i1 %t1741, label %if.then.570, label %if.end.571
if.then.567:
%t1729 = load i32, i32* %t0
%t1730 = load i32, i32* %t1
%t1731 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1730
%t1732 = load i32, i32* %t1731
%t1733 = add i32 %t1729, %t1732
store i32 %t1733, i32* %t0
br label %if.end.568
if.end.568:
%t1734 = load i32, i32* %t2
%t1735 = sdiv i32 %t1734, 2
store i32 %t1735, i32* %t2
%t1736 = load i32, i32* %t3
%t1737 = sdiv i32 %t1736, 2
store i32 %t1737, i32* %t3
%t1738 = load i32, i32* %t1
%t1739 = add i32 %t1738, 1
store i32 %t1739, i32* %t1
br label %while.cond.564
land.rhs.569:
%t1726 = load i32, i32* %t3
%t1727 = srem i32 %t1726, 2
%t1728 = icmp ne i32 %t1727, 0
br i1 %t1728, label %if.then.567, label %if.end.568
if.then.570:
%t1742 = alloca i32
%t1743 = load i32, i32* %t1716
store i32 %t1743, i32* %t1742
%t1744 = alloca i32
%t1745 = load i32, i32* %t1712
store i32 %t1745, i32* %t1744
%t1746 = alloca i32
store i32 0, i32* %t1746
br label %while.cond.572
if.end.571:
%t1832 = alloca i32
%t1833 = load i32, i32* %t1712
store i32 %t1833, i32* %t1832
%t1834 = alloca i32
%t1835 = load i32, i32* %t1712
store i32 %t1835, i32* %t1834
%t1836 = alloca i32
store i32 0, i32* %t1836
br label %while.cond.600
while.cond.572:
%t1747 = load i32, i32* %t1744
%t1748 = icmp ne i32 %t1747, 0
br i1 %t1748, label %while.body.573, label %while.end.574
while.body.573:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1749 = load i32, i32* %t1742
store i32 %t1749, i32* %t2
%t1750 = load i32, i32* %t1744
store i32 %t1750, i32* %t3
br label %while.cond.575
while.end.574:
%t1830 = load i32, i32* %t1742
store i32 %t1830, i32* %t0
%t1831 = load i32, i32* %t0
store i32 %t1831, i32* %t1716
br label %if.end.571
while.cond.575:
%t1751 = load i32, i32* %t1
%t1752 = icmp slt i32 %t1751, 16
%t1753 = icmp ne i32 %t1752, 0
br i1 %t1753, label %while.body.576, label %while.end.577
while.body.576:
%t1754 = load i32, i32* %t2
%t1755 = srem i32 %t1754, 2
%t1756 = icmp ne i32 %t1755, 0
br i1 %t1756, label %if.then.578, label %if.else.580
while.end.577:
%t1780 = load i32, i32* %t0
store i32 %t1780, i32* %t1746
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1781 = load i32, i32* %t1742
store i32 %t1781, i32* %t2
%t1782 = load i32, i32* %t1744
store i32 %t1782, i32* %t3
br label %while.cond.585
if.then.578:
%t1757 = load i32, i32* %t3
%t1758 = srem i32 %t1757, 2
%t1759 = icmp eq i32 %t1758, 0
%t1760 = icmp ne i32 %t1759, 0
br i1 %t1760, label %if.then.581, label %if.end.582
if.end.579:
%t1774 = load i32, i32* %t2
%t1775 = sdiv i32 %t1774, 2
store i32 %t1775, i32* %t2
%t1776 = load i32, i32* %t3
%t1777 = sdiv i32 %t1776, 2
store i32 %t1777, i32* %t3
%t1778 = load i32, i32* %t1
%t1779 = add i32 %t1778, 1
store i32 %t1779, i32* %t1
br label %while.cond.575
if.else.580:
%t1766 = load i32, i32* %t3
%t1767 = srem i32 %t1766, 2
%t1768 = icmp ne i32 %t1767, 0
br i1 %t1768, label %if.then.583, label %if.end.584
if.then.581:
%t1761 = load i32, i32* %t0
%t1762 = load i32, i32* %t1
%t1763 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1762
%t1764 = load i32, i32* %t1763
%t1765 = add i32 %t1761, %t1764
store i32 %t1765, i32* %t0
br label %if.end.582
if.end.582:
br label %if.end.579
if.then.583:
%t1769 = load i32, i32* %t0
%t1770 = load i32, i32* %t1
%t1771 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1770
%t1772 = load i32, i32* %t1771
%t1773 = add i32 %t1769, %t1772
store i32 %t1773, i32* %t0
br label %if.end.584
if.end.584:
br label %if.end.579
while.cond.585:
%t1783 = load i32, i32* %t1
%t1784 = icmp slt i32 %t1783, 16
%t1785 = icmp ne i32 %t1784, 0
br i1 %t1785, label %while.body.586, label %while.end.587
while.body.586:
%t1786 = load i32, i32* %t2
%t1787 = srem i32 %t1786, 2
%t1788 = icmp ne i32 %t1787, 0
br i1 %t1788, label %land.rhs.590, label %if.end.589
while.end.587:
%t1803 = load i32, i32* %t0
store i32 %t1803, i32* %t1744
br i1 0, label %if.then.591, label %if.else.593
if.then.588:
%t1792 = load i32, i32* %t0
%t1793 = load i32, i32* %t1
%t1794 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1793
%t1795 = load i32, i32* %t1794
%t1796 = add i32 %t1792, %t1795
store i32 %t1796, i32* %t0
br label %if.end.589
if.end.589:
%t1797 = load i32, i32* %t2
%t1798 = sdiv i32 %t1797, 2
store i32 %t1798, i32* %t2
%t1799 = load i32, i32* %t3
%t1800 = sdiv i32 %t1799, 2
store i32 %t1800, i32* %t3
%t1801 = load i32, i32* %t1
%t1802 = add i32 %t1801, 1
store i32 %t1802, i32* %t1
br label %while.cond.585
land.rhs.590:
%t1789 = load i32, i32* %t3
%t1790 = srem i32 %t1789, 2
%t1791 = icmp ne i32 %t1790, 0
br i1 %t1791, label %if.then.588, label %if.end.589
if.then.591:
store i32 0, i32* %t0
br label %if.end.592
if.end.592:
%t1828 = load i32, i32* %t0
store i32 %t1828, i32* %t1744
%t1829 = load i32, i32* %t1746
store i32 %t1829, i32* %t1742
br label %while.cond.572
if.else.593:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1804 = load i32, i32* %t1744
%t1805 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t1806 = load i32, i32* %t1805
%t1807 = mul i32 %t1804, %t1806
store i32 %t1807, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.594
while.cond.594:
%t1808 = load i32, i32* %t1
%t1809 = icmp slt i32 %t1808, 16
%t1810 = icmp ne i32 %t1809, 0
br i1 %t1810, label %while.body.595, label %while.end.596
while.body.595:
%t1811 = load i32, i32* %t2
%t1812 = srem i32 %t1811, 2
%t1813 = icmp ne i32 %t1812, 0
br i1 %t1813, label %land.rhs.599, label %if.end.598
while.end.596:
br label %if.end.592
if.then.597:
%t1817 = load i32, i32* %t0
%t1818 = load i32, i32* %t1
%t1819 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1818
%t1820 = load i32, i32* %t1819
%t1821 = add i32 %t1817, %t1820
store i32 %t1821, i32* %t0
br label %if.end.598
if.end.598:
%t1822 = load i32, i32* %t2
%t1823 = sdiv i32 %t1822, 2
store i32 %t1823, i32* %t2
%t1824 = load i32, i32* %t3
%t1825 = sdiv i32 %t1824, 2
store i32 %t1825, i32* %t3
%t1826 = load i32, i32* %t1
%t1827 = add i32 %t1826, 1
store i32 %t1827, i32* %t1
br label %while.cond.594
land.rhs.599:
%t1814 = load i32, i32* %t3
%t1815 = srem i32 %t1814, 2
%t1816 = icmp ne i32 %t1815, 0
br i1 %t1816, label %if.then.597, label %if.end.598
while.cond.600:
%t1837 = load i32, i32* %t1834
%t1838 = icmp ne i32 %t1837, 0
br i1 %t1838, label %while.body.601, label %while.end.602
while.body.601:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1839 = load i32, i32* %t1832
store i32 %t1839, i32* %t2
%t1840 = load i32, i32* %t1834
store i32 %t1840, i32* %t3
br label %while.cond.603
while.end.602:
%t1920 = load i32, i32* %t1832
store i32 %t1920, i32* %t0
%t1921 = load i32, i32* %t0
store i32 %t1921, i32* %t1712
%t1922 = load i32, i32* %t1714
store i32 %t1922, i32* %t2
store i32 1, i32* %t3
%t1923 = load i32, i32* %t3
%t1924 = icmp sge i32 %t1923, 15
%t1925 = icmp ne i32 %t1924, 0
br i1 %t1925, label %if.then.628, label %if.else.630
while.cond.603:
%t1841 = load i32, i32* %t1
%t1842 = icmp slt i32 %t1841, 16
%t1843 = icmp ne i32 %t1842, 0
br i1 %t1843, label %while.body.604, label %while.end.605
while.body.604:
%t1844 = load i32, i32* %t2
%t1845 = srem i32 %t1844, 2
%t1846 = icmp ne i32 %t1845, 0
br i1 %t1846, label %if.then.606, label %if.else.608
while.end.605:
%t1870 = load i32, i32* %t0
store i32 %t1870, i32* %t1836
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1871 = load i32, i32* %t1832
store i32 %t1871, i32* %t2
%t1872 = load i32, i32* %t1834
store i32 %t1872, i32* %t3
br label %while.cond.613
if.then.606:
%t1847 = load i32, i32* %t3
%t1848 = srem i32 %t1847, 2
%t1849 = icmp eq i32 %t1848, 0
%t1850 = icmp ne i32 %t1849, 0
br i1 %t1850, label %if.then.609, label %if.end.610
if.end.607:
%t1864 = load i32, i32* %t2
%t1865 = sdiv i32 %t1864, 2
store i32 %t1865, i32* %t2
%t1866 = load i32, i32* %t3
%t1867 = sdiv i32 %t1866, 2
store i32 %t1867, i32* %t3
%t1868 = load i32, i32* %t1
%t1869 = add i32 %t1868, 1
store i32 %t1869, i32* %t1
br label %while.cond.603
if.else.608:
%t1856 = load i32, i32* %t3
%t1857 = srem i32 %t1856, 2
%t1858 = icmp ne i32 %t1857, 0
br i1 %t1858, label %if.then.611, label %if.end.612
if.then.609:
%t1851 = load i32, i32* %t0
%t1852 = load i32, i32* %t1
%t1853 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1852
%t1854 = load i32, i32* %t1853
%t1855 = add i32 %t1851, %t1854
store i32 %t1855, i32* %t0
br label %if.end.610
if.end.610:
br label %if.end.607
if.then.611:
%t1859 = load i32, i32* %t0
%t1860 = load i32, i32* %t1
%t1861 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1860
%t1862 = load i32, i32* %t1861
%t1863 = add i32 %t1859, %t1862
store i32 %t1863, i32* %t0
br label %if.end.612
if.end.612:
br label %if.end.607
while.cond.613:
%t1873 = load i32, i32* %t1
%t1874 = icmp slt i32 %t1873, 16
%t1875 = icmp ne i32 %t1874, 0
br i1 %t1875, label %while.body.614, label %while.end.615
while.body.614:
%t1876 = load i32, i32* %t2
%t1877 = srem i32 %t1876, 2
%t1878 = icmp ne i32 %t1877, 0
br i1 %t1878, label %land.rhs.618, label %if.end.617
while.end.615:
%t1893 = load i32, i32* %t0
store i32 %t1893, i32* %t1834
br i1 0, label %if.then.619, label %if.else.621
if.then.616:
%t1882 = load i32, i32* %t0
%t1883 = load i32, i32* %t1
%t1884 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1883
%t1885 = load i32, i32* %t1884
%t1886 = add i32 %t1882, %t1885
store i32 %t1886, i32* %t0
br label %if.end.617
if.end.617:
%t1887 = load i32, i32* %t2
%t1888 = sdiv i32 %t1887, 2
store i32 %t1888, i32* %t2
%t1889 = load i32, i32* %t3
%t1890 = sdiv i32 %t1889, 2
store i32 %t1890, i32* %t3
%t1891 = load i32, i32* %t1
%t1892 = add i32 %t1891, 1
store i32 %t1892, i32* %t1
br label %while.cond.613
land.rhs.618:
%t1879 = load i32, i32* %t3
%t1880 = srem i32 %t1879, 2
%t1881 = icmp ne i32 %t1880, 0
br i1 %t1881, label %if.then.616, label %if.end.617
if.then.619:
store i32 0, i32* %t0
br label %if.end.620
if.end.620:
%t1918 = load i32, i32* %t0
store i32 %t1918, i32* %t1834
%t1919 = load i32, i32* %t1836
store i32 %t1919, i32* %t1832
br label %while.cond.600
if.else.621:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1894 = load i32, i32* %t1834
%t1895 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t1896 = load i32, i32* %t1895
%t1897 = mul i32 %t1894, %t1896
store i32 %t1897, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.622
while.cond.622:
%t1898 = load i32, i32* %t1
%t1899 = icmp slt i32 %t1898, 16
%t1900 = icmp ne i32 %t1899, 0
br i1 %t1900, label %while.body.623, label %while.end.624
while.body.623:
%t1901 = load i32, i32* %t2
%t1902 = srem i32 %t1901, 2
%t1903 = icmp ne i32 %t1902, 0
br i1 %t1903, label %land.rhs.627, label %if.end.626
while.end.624:
br label %if.end.620
if.then.625:
%t1907 = load i32, i32* %t0
%t1908 = load i32, i32* %t1
%t1909 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1908
%t1910 = load i32, i32* %t1909
%t1911 = add i32 %t1907, %t1910
store i32 %t1911, i32* %t0
br label %if.end.626
if.end.626:
%t1912 = load i32, i32* %t2
%t1913 = sdiv i32 %t1912, 2
store i32 %t1913, i32* %t2
%t1914 = load i32, i32* %t3
%t1915 = sdiv i32 %t1914, 2
store i32 %t1915, i32* %t3
%t1916 = load i32, i32* %t1
%t1917 = add i32 %t1916, 1
store i32 %t1917, i32* %t1
br label %while.cond.622
land.rhs.627:
%t1904 = load i32, i32* %t3
%t1905 = srem i32 %t1904, 2
%t1906 = icmp ne i32 %t1905, 0
br i1 %t1906, label %if.then.625, label %if.end.626
if.then.628:
%t1926 = load i32, i32* %t2
%t1927 = icmp slt i32 %t1926, 0
%t1928 = icmp ne i32 %t1927, 0
br i1 %t1928, label %if.then.631, label %if.else.633
if.end.629:
%t1954 = load i32, i32* %t0
store i32 %t1954, i32* %t1714
br label %while.cond.561
if.else.630:
%t1929 = load i32, i32* %t3
%t1930 = icmp sgt i32 %t1929, 0
%t1931 = icmp ne i32 %t1930, 0
br i1 %t1931, label %if.then.634, label %if.else.636
if.then.631:
store i32 65535, i32* %t0
br label %if.end.632
if.end.632:
br label %if.end.629
if.else.633:
store i32 0, i32* %t0
br label %if.end.632
if.then.634:
%t1932 = load i32, i32* %t2
%t1933 = icmp sgt i32 %t1932, 32767
%t1934 = icmp ne i32 %t1933, 0
br i1 %t1934, label %if.then.637, label %if.else.639
if.end.635:
br label %if.end.629
if.else.636:
%t1953 = load i32, i32* %t2
store i32 %t1953, i32* %t0
br label %if.end.635
if.then.637:
%t1935 = load i32, i32* %t2
%t1936 = load i32, i32* %t3
%t1937 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1936
%t1938 = load i32, i32* %t1937
%t1939 = sdiv i32 %t1935, %t1938
store i32 %t1939, i32* %t2
%t1940 = load i32, i32* %t2
%t1941 = add i32 %t1940, 65536
%t1942 = load i32, i32* %t3
%t1943 = sub i32 15, %t1942
%t1944 = add i32 %t1943, 1
%t1945 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1944
%t1946 = load i32, i32* %t1945
%t1947 = sub i32 %t1941, %t1946
store i32 %t1947, i32* %t0
br label %if.end.638
if.end.638:
br label %if.end.635
if.else.639:
%t1948 = load i32, i32* %t2
%t1949 = load i32, i32* %t3
%t1950 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1949
%t1951 = load i32, i32* %t1950
%t1952 = sdiv i32 %t1948, %t1951
store i32 %t1952, i32* %t0
br label %if.end.638
while.cond.640:
%t1962 = load i32, i32* %t1959
%t1963 = icmp ne i32 %t1962, 0
br i1 %t1963, label %while.body.641, label %while.end.642
while.body.641:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1964 = load i32, i32* %t1959
store i32 %t1964, i32* %t2
store i32 1, i32* %t3
br label %while.cond.643
while.end.642:
%t2200 = load i32, i32* %t1961
store i32 %t2200, i32* %t0
%t2201 = load i32, i32* %t0
store i32 %t2201, i32* %t1682
%t2202 = load i32, i32* %t1683
store i32 %t2202, i32* %t2
store i32 1, i32* %t3
%t2203 = load i32, i32* %t3
%t2204 = icmp sge i32 %t2203, 15
%t2205 = icmp ne i32 %t2204, 0
br i1 %t2205, label %if.then.719, label %if.else.721
while.cond.643:
%t1965 = load i32, i32* %t1
%t1966 = icmp slt i32 %t1965, 16
%t1967 = icmp ne i32 %t1966, 0
br i1 %t1967, label %while.body.644, label %while.end.645
while.body.644:
%t1968 = load i32, i32* %t2
%t1969 = srem i32 %t1968, 2
%t1970 = icmp ne i32 %t1969, 0
br i1 %t1970, label %land.rhs.648, label %if.end.647
while.end.645:
%t1985 = load i32, i32* %t0
%t1986 = icmp ne i32 %t1985, 0
br i1 %t1986, label %if.then.649, label %if.end.650
if.then.646:
%t1974 = load i32, i32* %t0
%t1975 = load i32, i32* %t1
%t1976 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t1975
%t1977 = load i32, i32* %t1976
%t1978 = add i32 %t1974, %t1977
store i32 %t1978, i32* %t0
br label %if.end.647
if.end.647:
%t1979 = load i32, i32* %t2
%t1980 = sdiv i32 %t1979, 2
store i32 %t1980, i32* %t2
%t1981 = load i32, i32* %t3
%t1982 = sdiv i32 %t1981, 2
store i32 %t1982, i32* %t3
%t1983 = load i32, i32* %t1
%t1984 = add i32 %t1983, 1
store i32 %t1984, i32* %t1
br label %while.cond.643
land.rhs.648:
%t1971 = load i32, i32* %t3
%t1972 = srem i32 %t1971, 2
%t1973 = icmp ne i32 %t1972, 0
br i1 %t1973, label %if.then.646, label %if.end.647
if.then.649:
%t1987 = alloca i32
%t1988 = load i32, i32* %t1961
store i32 %t1988, i32* %t1987
%t1989 = alloca i32
%t1990 = load i32, i32* %t1957
store i32 %t1990, i32* %t1989
%t1991 = alloca i32
store i32 0, i32* %t1991
br label %while.cond.651
if.end.650:
%t2077 = alloca i32
%t2078 = load i32, i32* %t1957
store i32 %t2078, i32* %t2077
%t2079 = alloca i32
%t2080 = load i32, i32* %t1957
store i32 %t2080, i32* %t2079
%t2081 = alloca i32
store i32 0, i32* %t2081
br label %while.cond.679
while.cond.651:
%t1992 = load i32, i32* %t1989
%t1993 = icmp ne i32 %t1992, 0
br i1 %t1993, label %while.body.652, label %while.end.653
while.body.652:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t1994 = load i32, i32* %t1987
store i32 %t1994, i32* %t2
%t1995 = load i32, i32* %t1989
store i32 %t1995, i32* %t3
br label %while.cond.654
while.end.653:
%t2075 = load i32, i32* %t1987
store i32 %t2075, i32* %t0
%t2076 = load i32, i32* %t0
store i32 %t2076, i32* %t1961
br label %if.end.650
while.cond.654:
%t1996 = load i32, i32* %t1
%t1997 = icmp slt i32 %t1996, 16
%t1998 = icmp ne i32 %t1997, 0
br i1 %t1998, label %while.body.655, label %while.end.656
while.body.655:
%t1999 = load i32, i32* %t2
%t2000 = srem i32 %t1999, 2
%t2001 = icmp ne i32 %t2000, 0
br i1 %t2001, label %if.then.657, label %if.else.659
while.end.656:
%t2025 = load i32, i32* %t0
store i32 %t2025, i32* %t1991
store i32 0, i32* %t0
store i32 0, i32* %t1
%t2026 = load i32, i32* %t1987
store i32 %t2026, i32* %t2
%t2027 = load i32, i32* %t1989
store i32 %t2027, i32* %t3
br label %while.cond.664
if.then.657:
%t2002 = load i32, i32* %t3
%t2003 = srem i32 %t2002, 2
%t2004 = icmp eq i32 %t2003, 0
%t2005 = icmp ne i32 %t2004, 0
br i1 %t2005, label %if.then.660, label %if.end.661
if.end.658:
%t2019 = load i32, i32* %t2
%t2020 = sdiv i32 %t2019, 2
store i32 %t2020, i32* %t2
%t2021 = load i32, i32* %t3
%t2022 = sdiv i32 %t2021, 2
store i32 %t2022, i32* %t3
%t2023 = load i32, i32* %t1
%t2024 = add i32 %t2023, 1
store i32 %t2024, i32* %t1
br label %while.cond.654
if.else.659:
%t2011 = load i32, i32* %t3
%t2012 = srem i32 %t2011, 2
%t2013 = icmp ne i32 %t2012, 0
br i1 %t2013, label %if.then.662, label %if.end.663
if.then.660:
%t2006 = load i32, i32* %t0
%t2007 = load i32, i32* %t1
%t2008 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2007
%t2009 = load i32, i32* %t2008
%t2010 = add i32 %t2006, %t2009
store i32 %t2010, i32* %t0
br label %if.end.661
if.end.661:
br label %if.end.658
if.then.662:
%t2014 = load i32, i32* %t0
%t2015 = load i32, i32* %t1
%t2016 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2015
%t2017 = load i32, i32* %t2016
%t2018 = add i32 %t2014, %t2017
store i32 %t2018, i32* %t0
br label %if.end.663
if.end.663:
br label %if.end.658
while.cond.664:
%t2028 = load i32, i32* %t1
%t2029 = icmp slt i32 %t2028, 16
%t2030 = icmp ne i32 %t2029, 0
br i1 %t2030, label %while.body.665, label %while.end.666
while.body.665:
%t2031 = load i32, i32* %t2
%t2032 = srem i32 %t2031, 2
%t2033 = icmp ne i32 %t2032, 0
br i1 %t2033, label %land.rhs.669, label %if.end.668
while.end.666:
%t2048 = load i32, i32* %t0
store i32 %t2048, i32* %t1989
br i1 0, label %if.then.670, label %if.else.672
if.then.667:
%t2037 = load i32, i32* %t0
%t2038 = load i32, i32* %t1
%t2039 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2038
%t2040 = load i32, i32* %t2039
%t2041 = add i32 %t2037, %t2040
store i32 %t2041, i32* %t0
br label %if.end.668
if.end.668:
%t2042 = load i32, i32* %t2
%t2043 = sdiv i32 %t2042, 2
store i32 %t2043, i32* %t2
%t2044 = load i32, i32* %t3
%t2045 = sdiv i32 %t2044, 2
store i32 %t2045, i32* %t3
%t2046 = load i32, i32* %t1
%t2047 = add i32 %t2046, 1
store i32 %t2047, i32* %t1
br label %while.cond.664
land.rhs.669:
%t2034 = load i32, i32* %t3
%t2035 = srem i32 %t2034, 2
%t2036 = icmp ne i32 %t2035, 0
br i1 %t2036, label %if.then.667, label %if.end.668
if.then.670:
store i32 0, i32* %t0
br label %if.end.671
if.end.671:
%t2073 = load i32, i32* %t0
store i32 %t2073, i32* %t1989
%t2074 = load i32, i32* %t1991
store i32 %t2074, i32* %t1987
br label %while.cond.651
if.else.672:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t2049 = load i32, i32* %t1989
%t2050 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t2051 = load i32, i32* %t2050
%t2052 = mul i32 %t2049, %t2051
store i32 %t2052, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.673
while.cond.673:
%t2053 = load i32, i32* %t1
%t2054 = icmp slt i32 %t2053, 16
%t2055 = icmp ne i32 %t2054, 0
br i1 %t2055, label %while.body.674, label %while.end.675
while.body.674:
%t2056 = load i32, i32* %t2
%t2057 = srem i32 %t2056, 2
%t2058 = icmp ne i32 %t2057, 0
br i1 %t2058, label %land.rhs.678, label %if.end.677
while.end.675:
br label %if.end.671
if.then.676:
%t2062 = load i32, i32* %t0
%t2063 = load i32, i32* %t1
%t2064 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2063
%t2065 = load i32, i32* %t2064
%t2066 = add i32 %t2062, %t2065
store i32 %t2066, i32* %t0
br label %if.end.677
if.end.677:
%t2067 = load i32, i32* %t2
%t2068 = sdiv i32 %t2067, 2
store i32 %t2068, i32* %t2
%t2069 = load i32, i32* %t3
%t2070 = sdiv i32 %t2069, 2
store i32 %t2070, i32* %t3
%t2071 = load i32, i32* %t1
%t2072 = add i32 %t2071, 1
store i32 %t2072, i32* %t1
br label %while.cond.673
land.rhs.678:
%t2059 = load i32, i32* %t3
%t2060 = srem i32 %t2059, 2
%t2061 = icmp ne i32 %t2060, 0
br i1 %t2061, label %if.then.676, label %if.end.677
while.cond.679:
%t2082 = load i32, i32* %t2079
%t2083 = icmp ne i32 %t2082, 0
br i1 %t2083, label %while.body.680, label %while.end.681
while.body.680:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t2084 = load i32, i32* %t2077
store i32 %t2084, i32* %t2
%t2085 = load i32, i32* %t2079
store i32 %t2085, i32* %t3
br label %while.cond.682
while.end.681:
%t2165 = load i32, i32* %t2077
store i32 %t2165, i32* %t0
%t2166 = load i32, i32* %t0
store i32 %t2166, i32* %t1957
%t2167 = load i32, i32* %t1959
store i32 %t2167, i32* %t2
store i32 1, i32* %t3
%t2168 = load i32, i32* %t3
%t2169 = icmp sge i32 %t2168, 15
%t2170 = icmp ne i32 %t2169, 0
br i1 %t2170, label %if.then.707, label %if.else.709
while.cond.682:
%t2086 = load i32, i32* %t1
%t2087 = icmp slt i32 %t2086, 16
%t2088 = icmp ne i32 %t2087, 0
br i1 %t2088, label %while.body.683, label %while.end.684
while.body.683:
%t2089 = load i32, i32* %t2
%t2090 = srem i32 %t2089, 2
%t2091 = icmp ne i32 %t2090, 0
br i1 %t2091, label %if.then.685, label %if.else.687
while.end.684:
%t2115 = load i32, i32* %t0
store i32 %t2115, i32* %t2081
store i32 0, i32* %t0
store i32 0, i32* %t1
%t2116 = load i32, i32* %t2077
store i32 %t2116, i32* %t2
%t2117 = load i32, i32* %t2079
store i32 %t2117, i32* %t3
br label %while.cond.692
if.then.685:
%t2092 = load i32, i32* %t3
%t2093 = srem i32 %t2092, 2
%t2094 = icmp eq i32 %t2093, 0
%t2095 = icmp ne i32 %t2094, 0
br i1 %t2095, label %if.then.688, label %if.end.689
if.end.686:
%t2109 = load i32, i32* %t2
%t2110 = sdiv i32 %t2109, 2
store i32 %t2110, i32* %t2
%t2111 = load i32, i32* %t3
%t2112 = sdiv i32 %t2111, 2
store i32 %t2112, i32* %t3
%t2113 = load i32, i32* %t1
%t2114 = add i32 %t2113, 1
store i32 %t2114, i32* %t1
br label %while.cond.682
if.else.687:
%t2101 = load i32, i32* %t3
%t2102 = srem i32 %t2101, 2
%t2103 = icmp ne i32 %t2102, 0
br i1 %t2103, label %if.then.690, label %if.end.691
if.then.688:
%t2096 = load i32, i32* %t0
%t2097 = load i32, i32* %t1
%t2098 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2097
%t2099 = load i32, i32* %t2098
%t2100 = add i32 %t2096, %t2099
store i32 %t2100, i32* %t0
br label %if.end.689
if.end.689:
br label %if.end.686
if.then.690:
%t2104 = load i32, i32* %t0
%t2105 = load i32, i32* %t1
%t2106 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2105
%t2107 = load i32, i32* %t2106
%t2108 = add i32 %t2104, %t2107
store i32 %t2108, i32* %t0
br label %if.end.691
if.end.691:
br label %if.end.686
while.cond.692:
%t2118 = load i32, i32* %t1
%t2119 = icmp slt i32 %t2118, 16
%t2120 = icmp ne i32 %t2119, 0
br i1 %t2120, label %while.body.693, label %while.end.694
while.body.693:
%t2121 = load i32, i32* %t2
%t2122 = srem i32 %t2121, 2
%t2123 = icmp ne i32 %t2122, 0
br i1 %t2123, label %land.rhs.697, label %if.end.696
while.end.694:
%t2138 = load i32, i32* %t0
store i32 %t2138, i32* %t2079
br i1 0, label %if.then.698, label %if.else.700
if.then.695:
%t2127 = load i32, i32* %t0
%t2128 = load i32, i32* %t1
%t2129 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2128
%t2130 = load i32, i32* %t2129
%t2131 = add i32 %t2127, %t2130
store i32 %t2131, i32* %t0
br label %if.end.696
if.end.696:
%t2132 = load i32, i32* %t2
%t2133 = sdiv i32 %t2132, 2
store i32 %t2133, i32* %t2
%t2134 = load i32, i32* %t3
%t2135 = sdiv i32 %t2134, 2
store i32 %t2135, i32* %t3
%t2136 = load i32, i32* %t1
%t2137 = add i32 %t2136, 1
store i32 %t2137, i32* %t1
br label %while.cond.692
land.rhs.697:
%t2124 = load i32, i32* %t3
%t2125 = srem i32 %t2124, 2
%t2126 = icmp ne i32 %t2125, 0
br i1 %t2126, label %if.then.695, label %if.end.696
if.then.698:
store i32 0, i32* %t0
br label %if.end.699
if.end.699:
%t2163 = load i32, i32* %t0
store i32 %t2163, i32* %t2079
%t2164 = load i32, i32* %t2081
store i32 %t2164, i32* %t2077
br label %while.cond.679
if.else.700:
store i32 0, i32* %t0
store i32 0, i32* %t1
%t2139 = load i32, i32* %t2079
%t2140 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 1
%t2141 = load i32, i32* %t2140
%t2142 = mul i32 %t2139, %t2141
store i32 %t2142, i32* %t2
store i32 65535, i32* %t3
br label %while.cond.701
while.cond.701:
%t2143 = load i32, i32* %t1
%t2144 = icmp slt i32 %t2143, 16
%t2145 = icmp ne i32 %t2144, 0
br i1 %t2145, label %while.body.702, label %while.end.703
while.body.702:
%t2146 = load i32, i32* %t2
%t2147 = srem i32 %t2146, 2
%t2148 = icmp ne i32 %t2147, 0
br i1 %t2148, label %land.rhs.706, label %if.end.705
while.end.703:
br label %if.end.699
if.then.704:
%t2152 = load i32, i32* %t0
%t2153 = load i32, i32* %t1
%t2154 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2153
%t2155 = load i32, i32* %t2154
%t2156 = add i32 %t2152, %t2155
store i32 %t2156, i32* %t0
br label %if.end.705
if.end.705:
%t2157 = load i32, i32* %t2
%t2158 = sdiv i32 %t2157, 2
store i32 %t2158, i32* %t2
%t2159 = load i32, i32* %t3
%t2160 = sdiv i32 %t2159, 2
store i32 %t2160, i32* %t3
%t2161 = load i32, i32* %t1
%t2162 = add i32 %t2161, 1
store i32 %t2162, i32* %t1
br label %while.cond.701
land.rhs.706:
%t2149 = load i32, i32* %t3
%t2150 = srem i32 %t2149, 2
%t2151 = icmp ne i32 %t2150, 0
br i1 %t2151, label %if.then.704, label %if.end.705
if.then.707:
%t2171 = load i32, i32* %t2
%t2172 = icmp slt i32 %t2171, 0
%t2173 = icmp ne i32 %t2172, 0
br i1 %t2173, label %if.then.710, label %if.else.712
if.end.708:
%t2199 = load i32, i32* %t0
store i32 %t2199, i32* %t1959
br label %while.cond.640
if.else.709:
%t2174 = load i32, i32* %t3
%t2175 = icmp sgt i32 %t2174, 0
%t2176 = icmp ne i32 %t2175, 0
br i1 %t2176, label %if.then.713, label %if.else.715
if.then.710:
store i32 65535, i32* %t0
br label %if.end.711
if.end.711:
br label %if.end.708
if.else.712:
store i32 0, i32* %t0
br label %if.end.711
if.then.713:
%t2177 = load i32, i32* %t2
%t2178 = icmp sgt i32 %t2177, 32767
%t2179 = icmp ne i32 %t2178, 0
br i1 %t2179, label %if.then.716, label %if.else.718
if.end.714:
br label %if.end.708
if.else.715:
%t2198 = load i32, i32* %t2
store i32 %t2198, i32* %t0
br label %if.end.714
if.then.716:
%t2180 = load i32, i32* %t2
%t2181 = load i32, i32* %t3
%t2182 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2181
%t2183 = load i32, i32* %t2182
%t2184 = sdiv i32 %t2180, %t2183
store i32 %t2184, i32* %t2
%t2185 = load i32, i32* %t2
%t2186 = add i32 %t2185, 65536
%t2187 = load i32, i32* %t3
%t2188 = sub i32 15, %t2187
%t2189 = add i32 %t2188, 1
%t2190 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2189
%t2191 = load i32, i32* %t2190
%t2192 = sub i32 %t2186, %t2191
store i32 %t2192, i32* %t0
br label %if.end.717
if.end.717:
br label %if.end.714
if.else.718:
%t2193 = load i32, i32* %t2
%t2194 = load i32, i32* %t3
%t2195 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2194
%t2196 = load i32, i32* %t2195
%t2197 = sdiv i32 %t2193, %t2196
store i32 %t2197, i32* %t0
br label %if.end.717
if.then.719:
%t2206 = load i32, i32* %t2
%t2207 = icmp slt i32 %t2206, 0
%t2208 = icmp ne i32 %t2207, 0
br i1 %t2208, label %if.then.722, label %if.else.724
if.end.720:
%t2234 = load i32, i32* %t0
store i32 %t2234, i32* %t1683
br label %while.cond.550
if.else.721:
%t2209 = load i32, i32* %t3
%t2210 = icmp sgt i32 %t2209, 0
%t2211 = icmp ne i32 %t2210, 0
br i1 %t2211, label %if.then.725, label %if.else.727
if.then.722:
store i32 65535, i32* %t0
br label %if.end.723
if.end.723:
br label %if.end.720
if.else.724:
store i32 0, i32* %t0
br label %if.end.723
if.then.725:
%t2212 = load i32, i32* %t2
%t2213 = icmp sgt i32 %t2212, 32767
%t2214 = icmp ne i32 %t2213, 0
br i1 %t2214, label %if.then.728, label %if.else.730
if.end.726:
br label %if.end.720
if.else.727:
%t2233 = load i32, i32* %t2
store i32 %t2233, i32* %t0
br label %if.end.726
if.then.728:
%t2215 = load i32, i32* %t2
%t2216 = load i32, i32* %t3
%t2217 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2216
%t2218 = load i32, i32* %t2217
%t2219 = sdiv i32 %t2215, %t2218
store i32 %t2219, i32* %t2
%t2220 = load i32, i32* %t2
%t2221 = add i32 %t2220, 65536
%t2222 = load i32, i32* %t3
%t2223 = sub i32 15, %t2222
%t2224 = add i32 %t2223, 1
%t2225 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2224
%t2226 = load i32, i32* %t2225
%t2227 = sub i32 %t2221, %t2226
store i32 %t2227, i32* %t0
br label %if.end.729
if.end.729:
br label %if.end.726
if.else.730:
%t2228 = load i32, i32* %t2
%t2229 = load i32, i32* %t3
%t2230 = getelementptr inbounds [16 x i32], [16 x i32]* @SHIFT_TABLE, i32 0, i32 %t2229
%t2231 = load i32, i32* %t2230
%t2232 = sdiv i32 %t2228, %t2231
store i32 %t2232, i32* %t0
br label %if.end.729
if.then.731:
ret i32 1
if.end.732:
%t2242 = load i32, i32* %t4
%t2243 = add i32 %t2242, 1
store i32 %t2243, i32* %t4
br label %while.cond.547
}
define i32 @main() {
entry:
%t2244 = call i32 @long_func()
ret i32 %t2244
}