Created
December 13, 2020 22:36
-
-
Save tekknolagi/68fcf14010b8994028070374031cac4a to your computer and use it in GitHub Desktop.
Advent of Code Handheld Halting Compiler
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
def compile(prog): | |
result = ( | |
"#include <stdbool.h>\n" | |
"#include <stdio.h>\n" | |
"#include <string.h>\n" | |
"int execute() {\n" | |
"int acc = 0;\n" | |
f"int counters[{len(prog)}];\n" | |
"memset(counters, 0, sizeof counters);\n" | |
) | |
pc = 0 | |
while pc < len(prog): | |
ins, arg = prog[pc] | |
result += f"label_{pc}: " | |
if ins == "jmp": | |
result += f"goto label_{pc + arg};\n" | |
elif ins == "nop": | |
result += f"// nop {arg}\n" | |
elif ins == "acc": | |
result += f"acc += {arg};\n" | |
else: | |
raise RuntimeError(f"unhandled instruction {ins}") | |
pc += 1 | |
result += f"label_{pc}: " | |
result += "return acc;\n" | |
result += "}\n" | |
result += """ | |
int main() { | |
printf("Result: %d\\n", execute()); | |
return 0; | |
} | |
""" | |
return result | |
def main(filename): | |
with open(filename, "r") as f: | |
prog = [] | |
for line in f: | |
ins, arg = line.rstrip().split() | |
prog.append((ins, int(arg))) | |
print(compile(prog)) | |
if __name__ == "__main__": | |
# first arg: filename | |
main(*sys.argv[1:]) | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
laurel% objdump -D out.o | |
out.o: file format elf64-x86-64 | |
Disassembly of section .text: | |
0000000000000000 <execute>: | |
0: eb fe jmp 0 <execute> | |
Disassembly of section .text.startup: | |
0000000000000000 <main>: | |
0: eb fe jmp 0 <main> | |
Disassembly of section .comment: | |
0000000000000000 <.comment>: | |
0: 00 47 43 add %al,0x43(%rdi) | |
3: 43 3a 20 rex.XB cmp (%r8),%spl | |
6: 28 47 4e sub %al,0x4e(%rdi) | |
9: 55 push %rbp | |
a: 29 20 sub %esp,(%rax) | |
c: 31 30 xor %esi,(%rax) | |
e: 2e 32 2e xor %cs:(%rsi),%ch | |
11: 31 20 xor %esp,(%rax) | |
13: 32 30 xor (%rax),%dh | |
15: 32 30 xor (%rax),%dh | |
17: 31 30 xor %esi,(%rax) | |
19: 31 36 xor %esi,(%rsi) | |
1b: 20 28 and %ch,(%rax) | |
1d: 52 push %rdx | |
1e: 65 64 20 48 61 gs and %cl,%fs:0x61(%rax) | |
23: 74 20 je 45 <execute+0x45> | |
25: 31 30 xor %esi,(%rax) | |
27: 2e 32 2e xor %cs:(%rsi),%ch | |
2a: 31 .byte 0x31 | |
2b: 2d .byte 0x2d | |
2c: 36 29 00 sub %eax,%ss:(%rax) | |
Disassembly of section .eh_frame: | |
0000000000000000 <.eh_frame>: | |
0: 14 00 adc $0x0,%al | |
2: 00 00 add %al,(%rax) | |
4: 00 00 add %al,(%rax) | |
6: 00 00 add %al,(%rax) | |
8: 01 7a 52 add %edi,0x52(%rdx) | |
b: 00 01 add %al,(%rcx) | |
d: 78 10 js 1f <.eh_frame+0x1f> | |
f: 01 1b add %ebx,(%rbx) | |
11: 0c 07 or $0x7,%al | |
13: 08 90 01 00 00 10 or %dl,0x10000001(%rax) | |
19: 00 00 add %al,(%rax) | |
1b: 00 1c 00 add %bl,(%rax,%rax,1) | |
1e: 00 00 add %al,(%rax) | |
20: 00 00 add %al,(%rax) | |
22: 00 00 add %al,(%rax) | |
24: 02 00 add (%rax),%al | |
26: 00 00 add %al,(%rax) | |
28: 00 00 add %al,(%rax) | |
2a: 00 00 add %al,(%rax) | |
2c: 10 00 adc %al,(%rax) | |
2e: 00 00 add %al,(%rax) | |
30: 30 00 xor %al,(%rax) | |
32: 00 00 add %al,(%rax) | |
34: 00 00 add %al,(%rax) | |
36: 00 00 add %al,(%rax) | |
38: 02 00 add (%rax),%al | |
3a: 00 00 add %al,(%rax) | |
3c: 00 00 add %al,(%rax) | |
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdbool.h> | |
#include <stdio.h> | |
#include <string.h> | |
int execute() { | |
int acc = 0; | |
int counters[625]; | |
memset(counters, 0, sizeof counters); | |
label_0: | |
goto label_301; | |
label_1: | |
acc += 27; | |
label_2: // nop 299 | |
label_3: | |
goto label_171; | |
label_4: | |
acc += 0; | |
label_5: | |
acc += 48; | |
label_6: | |
acc += -5; | |
label_7: | |
goto label_427; | |
label_8: | |
goto label_163; | |
label_9: | |
acc += -16; | |
label_10: | |
acc += -15; | |
label_11: // nop 582 | |
label_12: | |
acc += -5; | |
label_13: | |
goto label_503; | |
label_14: | |
acc += 10; | |
label_15: // nop 300 | |
label_16: | |
acc += -2; | |
label_17: | |
acc += -1; | |
label_18: | |
goto label_270; | |
label_19: | |
goto label_21; | |
label_20: | |
goto label_254; | |
label_21: | |
acc += 36; | |
label_22: | |
acc += 50; | |
label_23: | |
goto label_587; | |
label_24: | |
goto label_126; | |
label_25: | |
goto label_498; | |
label_26: | |
acc += 37; | |
label_27: | |
acc += 1; | |
label_28: | |
acc += 20; | |
label_29: | |
goto label_384; | |
label_30: | |
acc += 28; | |
label_31: | |
acc += -14; | |
label_32: | |
acc += 22; | |
label_33: | |
goto label_362; | |
label_34: | |
acc += 44; | |
label_35: | |
goto label_36; | |
label_36: | |
goto label_59; | |
label_37: // nop 312 | |
label_38: | |
goto label_289; | |
label_39: | |
acc += 12; | |
label_40: | |
acc += 39; | |
label_41: | |
acc += 33; | |
label_42: | |
goto label_21; | |
label_43: | |
acc += 28; | |
label_44: | |
acc += 14; | |
label_45: | |
acc += 42; | |
label_46: | |
acc += 33; | |
label_47: | |
goto label_549; | |
label_48: | |
goto label_171; | |
label_49: | |
acc += 24; | |
label_50: | |
goto label_61; | |
label_51: | |
acc += -8; | |
label_52: // nop 218 | |
label_53: // nop 516 | |
label_54: | |
goto label_298; | |
label_55: | |
goto label_19; | |
label_56: // nop 192 | |
label_57: | |
acc += -11; | |
label_58: | |
goto label_158; | |
label_59: | |
goto label_358; | |
label_60: | |
goto label_460; | |
label_61: | |
acc += 29; | |
label_62: | |
acc += 13; | |
label_63: | |
goto label_64; | |
label_64: | |
acc += 45; | |
label_65: | |
goto label_523; | |
label_66: | |
acc += 6; | |
label_67: | |
acc += 15; | |
label_68: | |
goto label_610; | |
label_69: | |
acc += 38; | |
label_70: | |
acc += -15; | |
label_71: | |
acc += -15; | |
label_72: | |
acc += -11; | |
label_73: | |
goto label_547; | |
label_74: | |
acc += 0; | |
label_75: | |
acc += 1; | |
label_76: | |
goto label_131; | |
label_77: | |
acc += 14; | |
label_78: | |
acc += 13; | |
label_79: | |
acc += 37; | |
label_80: | |
acc += -18; | |
label_81: | |
goto label_176; | |
label_82: | |
goto label_9; | |
label_83: | |
acc += 25; | |
label_84: | |
goto label_30; | |
label_85: | |
goto label_498; | |
label_86: | |
acc += -17; | |
label_87: | |
acc += 25; | |
label_88: | |
acc += 22; | |
label_89: | |
goto label_494; | |
label_90: | |
goto label_241; | |
label_91: | |
goto label_92; | |
label_92: | |
acc += -14; | |
label_93: | |
acc += 33; | |
label_94: | |
acc += 30; | |
label_95: | |
goto label_9; | |
label_96: | |
acc += 32; | |
label_97: | |
acc += -3; | |
label_98: | |
acc += 26; | |
label_99: | |
acc += 7; | |
label_100: | |
goto label_593; | |
label_101: | |
acc += 44; | |
label_102: | |
goto label_103; | |
label_103: // nop 357 | |
label_104: | |
acc += 47; | |
label_105: | |
goto label_517; | |
label_106: | |
goto label_427; | |
label_107: | |
acc += -5; | |
label_108: | |
goto label_120; | |
label_109: | |
acc += 18; | |
label_110: | |
acc += -1; | |
label_111: | |
acc += 29; | |
label_112: | |
goto label_542; | |
label_113: | |
acc += 35; | |
label_114: | |
acc += 34; | |
label_115: | |
goto label_116; | |
label_116: | |
acc += -6; | |
label_117: | |
goto label_301; | |
label_118: | |
acc += -12; | |
label_119: | |
goto label_83; | |
label_120: | |
acc += 22; | |
label_121: | |
acc += -5; | |
label_122: | |
acc += 14; | |
label_123: | |
acc += 0; | |
label_124: | |
goto label_322; | |
label_125: | |
goto label_418; | |
label_126: // nop 76 | |
label_127: | |
acc += 8; | |
label_128: | |
acc += 13; | |
label_129: | |
goto label_593; | |
label_130: | |
goto label_439; | |
label_131: | |
acc += -19; | |
label_132: | |
acc += 27; | |
label_133: | |
acc += -10; | |
label_134: | |
goto label_163; | |
label_135: | |
acc += -17; | |
label_136: | |
goto label_59; | |
label_137: | |
acc += 49; | |
label_138: // nop 224 | |
label_139: | |
acc += 0; | |
label_140: | |
goto label_217; | |
label_141: | |
acc += 35; | |
label_142: | |
acc += 3; | |
label_143: | |
goto label_460; | |
label_144: // nop 27 | |
label_145: | |
acc += 6; | |
label_146: | |
goto label_310; | |
label_147: | |
acc += 10; | |
label_148: | |
acc += 41; | |
label_149: | |
acc += -2; | |
label_150: | |
acc += -8; | |
label_151: | |
goto label_498; | |
label_152: | |
acc += 14; | |
label_153: // nop 148 | |
label_154: | |
goto label_456; | |
label_155: | |
acc += 21; | |
label_156: | |
acc += 8; | |
label_157: | |
goto label_439; | |
label_158: | |
acc += 3; | |
label_159: | |
acc += 12; | |
label_160: | |
goto label_298; | |
label_161: | |
acc += -10; | |
label_162: | |
goto label_473; | |
label_163: | |
acc += -6; | |
label_164: | |
acc += -10; | |
label_165: | |
acc += 13; | |
label_166: | |
goto label_282; | |
label_167: | |
acc += 31; | |
label_168: | |
acc += 39; | |
label_169: | |
acc += 28; | |
label_170: | |
goto label_414; | |
label_171: // nop 59 | |
label_172: | |
acc += 16; | |
label_173: | |
goto label_174; | |
label_174: | |
goto label_610; | |
label_175: | |
goto label_144; | |
label_176: | |
acc += -12; | |
label_177: | |
acc += 43; | |
label_178: | |
goto label_43; | |
label_179: | |
acc += -1; | |
label_180: | |
acc += 35; | |
label_181: | |
acc += 50; | |
label_182: | |
acc += 0; | |
label_183: | |
goto label_581; | |
label_184: | |
goto label_101; | |
label_185: | |
acc += 40; | |
label_186: | |
acc += 26; | |
label_187: | |
acc += -8; | |
label_188: | |
goto label_581; | |
label_189: | |
acc += 28; | |
label_190: | |
acc += -7; | |
label_191: | |
acc += 43; | |
label_192: | |
goto label_423; | |
label_193: | |
goto label_171; | |
label_194: | |
acc += -1; | |
label_195: | |
acc += -18; | |
label_196: | |
acc += 19; | |
label_197: | |
goto label_86; | |
label_198: | |
acc += 38; | |
label_199: | |
acc += 21; | |
label_200: | |
acc += 7; | |
label_201: | |
goto label_335; | |
label_202: | |
acc += 8; | |
label_203: | |
acc += 18; | |
label_204: | |
acc += -9; | |
label_205: | |
acc += -7; | |
label_206: | |
goto label_230; | |
label_207: | |
acc += 5; | |
label_208: | |
acc += 0; | |
label_209: | |
goto label_163; | |
label_210: | |
acc += 2; | |
label_211: | |
acc += -12; | |
label_212: | |
acc += -17; | |
label_213: | |
acc += 36; | |
label_214: | |
goto label_126; | |
label_215: // nop -71 | |
label_216: | |
goto label_397; | |
label_217: | |
goto label_202; | |
label_218: | |
goto label_270; | |
label_219: | |
acc += 15; | |
label_220: | |
acc += 0; | |
label_221: | |
goto label_189; | |
label_222: | |
acc += -6; | |
label_223: // nop 166 | |
label_224: | |
acc += 10; | |
label_225: | |
acc += 38; | |
label_226: | |
goto label_349; | |
label_227: | |
acc += 9; | |
label_228: | |
goto label_77; | |
label_229: | |
goto label_460; | |
label_230: | |
goto label_231; | |
label_231: | |
acc += 34; | |
label_232: | |
goto label_418; | |
label_233: | |
goto label_329; | |
label_234: | |
acc += 48; | |
label_235: | |
acc += 9; | |
label_236: | |
goto label_434; | |
label_237: | |
acc += 7; | |
label_238: | |
acc += 35; | |
label_239: | |
acc += 22; | |
label_240: | |
goto label_322; | |
label_241: // nop 1 | |
label_242: // nop -156 | |
label_243: // nop -49 | |
label_244: | |
goto label_335; | |
label_245: | |
acc += 8; | |
label_246: | |
acc += -17; | |
label_247: | |
goto label_194; | |
label_248: | |
acc += 29; | |
label_249: // nop 283 | |
label_250: | |
acc += -2; | |
label_251: // nop 50 | |
label_252: | |
goto label_542; | |
label_253: | |
goto label_549; | |
label_254: | |
goto label_473; | |
label_255: | |
goto label_523; | |
label_256: | |
goto label_137; | |
label_257: // nop 353 | |
label_258: | |
goto label_101; | |
label_259: | |
acc += 21; | |
label_260: | |
acc += 30; | |
label_261: | |
goto label_606; | |
label_262: | |
acc += -9; | |
label_263: | |
goto label_144; | |
label_264: | |
acc += 0; | |
label_265: | |
goto label_69; | |
label_266: | |
acc += 33; | |
label_267: | |
acc += 0; | |
label_268: | |
acc += 1; | |
label_269: | |
goto label_21; | |
label_270: | |
acc += 15; | |
label_271: | |
goto label_227; | |
label_272: | |
acc += 9; | |
label_273: | |
acc += 46; | |
label_274: | |
acc += 50; | |
label_275: | |
goto label_532; | |
label_276: | |
acc += -6; | |
label_277: | |
acc += -16; | |
label_278: | |
goto label_598; | |
label_279: | |
acc += 35; | |
label_280: // nop -4 | |
label_281: | |
goto label_276; | |
label_282: | |
acc += 30; | |
label_283: | |
acc += 27; | |
label_284: | |
goto label_285; | |
label_285: | |
goto label_581; | |
label_286: | |
acc += 8; | |
label_287: | |
acc += 40; | |
label_288: | |
goto label_498; | |
label_289: | |
acc += -14; | |
label_290: | |
acc += 34; | |
label_291: | |
acc += 42; | |
label_292: | |
goto label_465; | |
label_293: | |
acc += 16; | |
label_294: | |
acc += 47; | |
label_295: | |
acc += 11; | |
label_296: | |
acc += 32; | |
label_297: | |
goto label_91; | |
label_298: | |
goto label_259; | |
label_299: | |
acc += 45; | |
label_300: | |
goto label_547; | |
label_301: | |
acc += -17; | |
label_302: // nop 261 | |
label_303: // nop -254 | |
label_304: | |
acc += 48; | |
label_305: | |
goto label_367; | |
label_306: | |
acc += 50; | |
label_307: | |
acc += 26; | |
label_308: | |
acc += 1; | |
label_309: | |
goto label_439; | |
label_310: | |
acc += -14; | |
label_311: // nop 47 | |
label_312: | |
acc += -9; | |
label_313: | |
goto label_37; | |
label_314: | |
goto label_210; | |
label_315: | |
goto label_450; | |
label_316: | |
acc += 40; | |
label_317: | |
goto label_21; | |
label_318: | |
goto label_329; | |
label_319: | |
acc += 2; | |
label_320: | |
acc += -17; | |
label_321: | |
goto label_83; | |
label_322: | |
acc += 34; | |
label_323: | |
acc += 37; | |
label_324: | |
goto label_158; | |
label_325: // nop -205 | |
label_326: | |
acc += -4; | |
label_327: | |
acc += 22; | |
label_328: | |
goto label_384; | |
label_329: | |
acc += 1; | |
label_330: // nop -210 | |
label_331: // nop -30 | |
label_332: | |
acc += -18; | |
label_333: | |
goto label_83; | |
label_334: | |
goto label_227; | |
label_335: | |
acc += 45; | |
label_336: | |
acc += 50; | |
label_337: | |
acc += 3; | |
label_338: | |
acc += 3; | |
label_339: | |
goto label_276; | |
label_340: | |
acc += 35; | |
label_341: | |
goto label_342; | |
label_342: | |
acc += -5; | |
label_343: // nop 255 | |
label_344: | |
goto label_598; | |
label_345: | |
goto label_555; | |
label_346: | |
acc += 10; | |
label_347: | |
acc += 7; | |
label_348: | |
goto label_555; | |
label_349: | |
acc += 17; | |
label_350: | |
acc += 25; | |
label_351: // nop -22 | |
label_352: | |
goto label_414; | |
label_353: | |
acc += 35; | |
label_354: | |
acc += 18; | |
label_355: | |
acc += 22; | |
label_356: | |
acc += 10; | |
label_357: | |
goto label_171; | |
label_358: | |
acc += 24; | |
label_359: | |
acc += 32; | |
label_360: | |
goto label_329; | |
label_361: | |
goto label_230; | |
label_362: | |
goto label_25; | |
label_363: | |
acc += 41; | |
label_364: | |
acc += -10; | |
label_365: | |
acc += 42; | |
label_366: | |
goto label_573; | |
label_367: | |
acc += -16; | |
label_368: | |
acc += -14; | |
label_369: // nop -225 | |
label_370: | |
acc += -15; | |
label_371: | |
goto label_441; | |
label_372: // nop -303 | |
label_373: | |
acc += -10; | |
label_374: | |
acc += 11; | |
label_375: | |
acc += 17; | |
label_376: | |
goto label_610; | |
label_377: | |
acc += -8; | |
label_378: | |
acc += 33; | |
label_379: | |
goto label_248; | |
label_380: | |
acc += -9; | |
label_381: | |
acc += -12; | |
label_382: | |
acc += 31; | |
label_383: | |
goto label_358; | |
label_384: // nop -277 | |
label_385: | |
acc += 22; | |
label_386: | |
goto label_113; | |
label_387: | |
acc += 19; | |
label_388: | |
goto label_144; | |
label_389: | |
acc += -8; | |
label_390: // nop 220 | |
label_391: | |
acc += 48; | |
label_392: | |
goto label_131; | |
label_393: | |
acc += 23; | |
label_394: | |
acc += 11; | |
label_395: | |
acc += -16; | |
label_396: | |
goto label_349; | |
label_397: | |
acc += 50; | |
label_398: | |
acc += -9; | |
label_399: | |
acc += 23; | |
label_400: | |
goto label_362; | |
label_401: | |
goto label_547; | |
label_402: // nop -168 | |
label_403: | |
goto label_315; | |
label_404: | |
acc += 37; | |
label_405: | |
acc += 36; | |
label_406: | |
acc += 43; | |
label_407: | |
acc += -7; | |
label_408: | |
goto label_555; | |
label_409: | |
goto label_410; | |
label_410: | |
acc += 42; | |
label_411: | |
goto label_59; | |
label_412: | |
acc += 39; | |
label_413: | |
goto label_489; | |
label_414: | |
acc += 47; | |
label_415: | |
goto label_503; | |
label_416: | |
acc += -2; | |
label_417: | |
goto label_315; | |
label_418: | |
acc += 20; | |
label_419: | |
goto label_563; | |
label_420: | |
acc += 47; | |
label_421: | |
acc += 25; | |
label_422: | |
goto label_367; | |
label_423: // nop -65 | |
label_424: | |
goto label_49; | |
label_425: | |
acc += 8; | |
label_426: | |
goto label_587; | |
label_427: | |
acc += 46; | |
label_428: | |
acc += 5; | |
label_429: | |
acc += 16; | |
label_430: | |
goto label_483; | |
label_431: | |
acc += 27; | |
label_432: | |
acc += 1; | |
label_433: | |
goto label_427; | |
label_434: | |
goto label_227; | |
label_435: | |
acc += -6; | |
label_436: | |
acc += 27; | |
label_437: // nop 126 | |
label_438: | |
goto label_241; | |
label_439: | |
goto label_329; | |
label_440: | |
goto label_563; | |
label_441: | |
acc += 13; | |
label_442: | |
acc += 31; | |
label_443: // nop 22 | |
label_444: | |
acc += 41; | |
label_445: | |
goto label_318; | |
label_446: | |
acc += -7; | |
label_447: // nop -386 | |
label_448: | |
acc += 0; | |
label_449: | |
goto label_384; | |
label_450: | |
goto label_144; | |
label_451: | |
acc += 44; | |
label_452: | |
acc += 19; | |
label_453: | |
acc += 42; | |
label_454: | |
acc += 29; | |
label_455: | |
goto label_547; | |
label_456: | |
acc += 42; | |
label_457: // nop -156 | |
label_458: | |
goto label_402; | |
label_459: | |
goto label_113; | |
label_460: // nop 95 | |
label_461: | |
acc += -6; | |
label_462: | |
acc += -19; | |
label_463: | |
goto label_171; | |
label_464: | |
goto label_21; | |
label_465: | |
acc += -12; | |
label_466: | |
acc += -18; | |
label_467: | |
goto label_569; | |
label_468: // nop 35 | |
label_469: | |
acc += 44; | |
label_470: | |
acc += 27; | |
label_471: // nop -122 | |
label_472: | |
goto label_569; | |
label_473: | |
goto label_91; | |
label_474: | |
goto label_389; | |
label_475: | |
acc += -9; | |
label_476: // nop -324 | |
label_477: | |
goto label_55; | |
label_478: | |
acc += -9; | |
label_479: | |
acc += 25; | |
label_480: | |
acc += 38; | |
label_481: | |
acc += -3; | |
label_482: | |
goto label_184; | |
label_483: | |
acc += -2; | |
label_484: | |
acc += 26; | |
label_485: | |
acc += 14; | |
label_486: | |
goto label_234; | |
label_487: | |
acc += 4; | |
label_488: | |
goto label_563; | |
label_489: | |
acc += 17; | |
label_490: // nop -208 | |
label_491: | |
goto label_256; | |
label_492: | |
acc += 19; | |
label_493: | |
goto label_171; | |
label_494: | |
acc += 14; | |
label_495: | |
acc += -3; | |
label_496: | |
goto label_620; | |
label_497: | |
goto label_276; | |
label_498: | |
goto label_489; | |
label_499: | |
acc += 0; | |
label_500: | |
acc += 45; | |
label_501: | |
acc += -3; | |
label_502: | |
goto label_126; | |
label_503: | |
acc += 20; | |
label_504: | |
acc += -3; | |
label_505: | |
acc += 17; | |
label_506: | |
acc += 19; | |
label_507: | |
goto label_107; | |
label_508: | |
acc += -16; | |
label_509: | |
acc += 25; | |
label_510: | |
goto label_473; | |
label_511: | |
goto label_194; | |
label_512: | |
acc += 31; | |
label_513: | |
acc += 19; | |
label_514: | |
acc += 24; | |
label_515: | |
acc += 9; | |
label_516: | |
goto label_335; | |
label_517: | |
acc += 35; | |
label_518: | |
goto label_30; | |
label_519: | |
acc += -13; | |
label_520: | |
acc += 26; | |
label_521: | |
acc += -2; | |
label_522: | |
goto label_184; | |
label_523: | |
acc += -1; | |
label_524: | |
acc += 17; | |
label_525: | |
acc += 44; | |
label_526: // nop -262 | |
label_527: | |
goto label_441; | |
label_528: | |
acc += 17; | |
label_529: | |
acc += -1; | |
label_530: | |
acc += 23; | |
label_531: | |
goto label_610; | |
label_532: | |
acc += -5; | |
label_533: | |
acc += 18; | |
label_534: | |
goto label_535; | |
label_535: | |
acc += 12; | |
label_536: | |
goto label_409; | |
label_537: | |
acc += 1; | |
label_538: | |
acc += 35; | |
label_539: | |
acc += -10; | |
label_540: | |
acc += 14; | |
label_541: | |
goto label_189; | |
label_542: | |
acc += 39; | |
label_543: // nop 67 | |
label_544: | |
goto label_254; | |
label_545: | |
acc += -13; | |
label_546: | |
goto label_587; | |
label_547: | |
goto label_397; | |
label_548: | |
goto label_427; | |
label_549: | |
acc += 7; | |
label_550: | |
goto label_219; | |
label_551: | |
acc += 42; | |
label_552: // nop -389 | |
label_553: | |
acc += 4; | |
label_554: | |
goto label_547; | |
label_555: | |
acc += -17; | |
label_556: | |
acc += -8; | |
label_557: | |
acc += -4; | |
label_558: | |
goto label_349; | |
label_559: | |
acc += 42; | |
label_560: | |
acc += 39; | |
label_561: | |
acc += 43; | |
label_562: | |
goto label_256; | |
label_563: | |
acc += -18; | |
label_564: | |
acc += -16; | |
label_565: | |
acc += 13; | |
label_566: | |
goto label_152; | |
label_567: | |
acc += 3; | |
label_568: | |
goto label_126; | |
label_569: // nop 41 | |
label_570: | |
acc += -12; | |
label_571: | |
goto label_377; | |
label_572: | |
goto label_69; | |
label_573: | |
acc += -18; | |
label_574: | |
acc += 35; | |
label_575: | |
acc += -4; | |
label_576: | |
acc += 18; | |
label_577: | |
goto label_184; | |
label_578: // nop -348 | |
label_579: | |
acc += -7; | |
label_580: | |
goto label_59; | |
label_581: | |
acc += 48; | |
label_582: | |
acc += -19; | |
label_583: | |
acc += -3; | |
label_584: | |
acc += 44; | |
label_585: | |
goto label_587; | |
label_586: | |
goto label_460; | |
label_587: // nop -474 | |
label_588: | |
acc += -9; | |
label_589: | |
acc += -2; | |
label_590: | |
acc += 35; | |
label_591: | |
goto label_4; | |
label_592: | |
goto label_264; | |
label_593: | |
acc += -14; | |
label_594: // nop -468 | |
label_595: | |
acc += 39; | |
label_596: | |
goto label_439; | |
label_597: | |
goto label_59; | |
label_598: | |
acc += 0; | |
label_599: // nop -264 | |
label_600: | |
acc += 19; | |
label_601: // nop -266 | |
label_602: | |
goto label_511; | |
label_603: | |
acc += 20; | |
label_604: | |
acc += 14; | |
label_605: | |
goto label_276; | |
label_606: | |
acc += -11; | |
label_607: | |
acc += 8; | |
label_608: | |
goto label_389; | |
label_609: | |
goto label_289; | |
label_610: | |
acc += 10; | |
label_611: | |
acc += 49; | |
label_612: // nop -603 | |
label_613: | |
acc += 49; | |
label_614: | |
goto label_270; | |
label_615: // nop -356 | |
label_616: // nop -93 | |
label_617: | |
acc += 27; | |
label_618: | |
acc += 24; | |
label_619: | |
goto label_137; | |
label_620: // nop -126 | |
label_621: // nop -345 | |
label_622: | |
acc += 6; | |
label_623: | |
acc += 3; | |
label_624: | |
goto label_625; | |
label_625: | |
return acc; | |
} | |
int main() { | |
printf("Result: %d\n", execute()); | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment