Create a gist now

Instantly share code, notes, and snippets.

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