From 8a81aa6453e29aacc1f80a99e1e82f39d804da4d Mon Sep 17 00:00:00 2001 From: tevador Date: Sun, 4 Nov 2018 14:38:02 +0100 Subject: [PATCH] Branch prediction test programs --- tests/branch_prediction/branch_always.c | 2839 +++++++++++++++++ tests/branch_prediction/branch_mixed.c | 2839 +++++++++++++++++ tests/branch_prediction/branch_predictably.c | 2967 ++++++++++++++++++ tests/branch_prediction/branch_randomly.c | 2839 +++++++++++++++++ tests/branch_prediction/makefile | 16 + tests/branch_prediction/prof.h | 333 ++ 6 files changed, 11833 insertions(+) create mode 100644 tests/branch_prediction/branch_always.c create mode 100644 tests/branch_prediction/branch_mixed.c create mode 100644 tests/branch_prediction/branch_predictably.c create mode 100644 tests/branch_prediction/branch_randomly.c create mode 100644 tests/branch_prediction/makefile create mode 100644 tests/branch_prediction/prof.h diff --git a/tests/branch_prediction/branch_always.c b/tests/branch_prediction/branch_always.c new file mode 100644 index 0000000..6e95260 --- /dev/null +++ b/tests/branch_prediction/branch_always.c @@ -0,0 +1,2839 @@ +#include "stdint.h" +#include "stdlib.h" +#include "stdio.h" +#define PROF_USER_EVENTS_ONLY +#define PROF_EVENT_LIST \ + PROF_EVENT_HW(BRANCH_INSTRUCTIONS) \ + PROF_EVENT_HW(BRANCH_MISSES) \ + PROF_EVENT_SW(TASK_CLOCK) +#include "prof.h" +int main(int argc, char** argv) { + uint64_t ic = argc > 1 ? atoi(argv[1]) : 65536; + uint64_t ss = 0; + uint64_t branches = 0; + uint32_t state = 0; + uint32_t state2 = 123456789; + void* stack[65536]; + PROF_START(); + i_0: + if(ic-- == 0) goto end; + i_1: + if(ic-- == 0) goto end; + i_2: + if(ic-- == 0) goto end; + i_3: + if(ic-- == 0) goto end; + i_4: + if(ic-- == 0) goto end; + i_5: + if(ic-- == 0) goto end; + i_6: + if(ic-- == 0) goto end; + i_7: + if(ic-- == 0) goto end; + i_8: + if(ic-- == 0) goto end; + i_9: + if(ic-- == 0) goto end; + i_10: + if(ic-- == 0) goto end; + i_11: + if(ic-- == 0) goto end; + i_12: + if(ic-- == 0) goto end; + i_13: + if(ic-- == 0) goto end; + i_14: + if(ic-- == 0) goto end; + i_15: + if(ic-- == 0) goto end; + i_16: + if(ic-- == 0) goto end; + i_17: + if(ic-- == 0) goto end; + i_18: + if(ic-- == 0) goto end; + i_19: + if(ic-- == 0) goto end; + i_20: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_21; + stack[ss++] = ret; + goto i_261; + } + i_21: + if(ic-- == 0) goto end; + i_22: + if(ic-- == 0) goto end; + i_23: + if(ic-- == 0) goto end; + i_24: + if(ic-- == 0) goto end; + i_25: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_26; + stack[ss++] = ret; + goto i_281; + } + i_26: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_27; + void* target = stack[--ss]; + goto *target; + } + i_27: + if(ic-- == 0) goto end; + i_28: + if(ic-- == 0) goto end; + i_29: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_30; + void* target = stack[--ss]; + goto *target; + } + i_30: + if(ic-- == 0) goto end; + i_31: + if(ic-- == 0) goto end; + i_32: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_33; + stack[ss++] = ret; + goto i_136; + } + i_33: + if(ic-- == 0) goto end; + i_34: + if(ic-- == 0) goto end; + i_35: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_36; + void* target = stack[--ss]; + goto *target; + } + i_36: + if(ic-- == 0) goto end; + i_37: + if(ic-- == 0) goto end; + i_38: + if(ic-- == 0) goto end; + i_39: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_40; + stack[ss++] = ret; + goto i_232; + } + i_40: + if(ic-- == 0) goto end; + i_41: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_42; + void* target = stack[--ss]; + goto *target; + } + i_42: + if(ic-- == 0) goto end; + i_43: + if(ic-- == 0) goto end; + i_44: + if(ic-- == 0) goto end; + i_45: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_46; + stack[ss++] = ret; + goto i_171; + } + i_46: + if(ic-- == 0) goto end; + i_47: + if(ic-- == 0) goto end; + i_48: + if(ic-- == 0) goto end; + i_49: + if(ic-- == 0) goto end; + i_50: + if(ic-- == 0) goto end; + i_51: + if(ic-- == 0) goto end; + i_52: + if(ic-- == 0) goto end; + i_53: + if(ic-- == 0) goto end; + i_54: + if(ic-- == 0) goto end; + i_55: + if(ic-- == 0) goto end; + i_56: + if(ic-- == 0) goto end; + i_57: + if(ic-- == 0) goto end; + i_58: + if(ic-- == 0) goto end; + i_59: + if(ic-- == 0) goto end; + i_60: + if(ic-- == 0) goto end; + i_61: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_62; + void* target = stack[--ss]; + goto *target; + } + i_62: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_63; + stack[ss++] = ret; + goto i_231; + } + i_63: + if(ic-- == 0) goto end; + i_64: + if(ic-- == 0) goto end; + i_65: + if(ic-- == 0) goto end; + i_66: + if(ic-- == 0) goto end; + i_67: + if(ic-- == 0) goto end; + i_68: + if(ic-- == 0) goto end; + i_69: + if(ic-- == 0) goto end; + i_70: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_71; + stack[ss++] = ret; + goto i_135; + } + i_71: + if(ic-- == 0) goto end; + i_72: + if(ic-- == 0) goto end; + i_73: + if(ic-- == 0) goto end; + i_74: + if(ic-- == 0) goto end; + i_75: + if(ic-- == 0) goto end; + i_76: + if(ic-- == 0) goto end; + i_77: + if(ic-- == 0) goto end; + i_78: + if(ic-- == 0) goto end; + i_79: + if(ic-- == 0) goto end; + i_80: + if(ic-- == 0) goto end; + i_81: + if(ic-- == 0) goto end; + i_82: + if(ic-- == 0) goto end; + i_83: + if(ic-- == 0) goto end; + i_84: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_85; + stack[ss++] = ret; + goto i_221; + } + i_85: + if(ic-- == 0) goto end; + i_86: + if(ic-- == 0) goto end; + i_87: + if(ic-- == 0) goto end; + i_88: + if(ic-- == 0) goto end; + i_89: + if(ic-- == 0) goto end; + i_90: + if(ic-- == 0) goto end; + i_91: + if(ic-- == 0) goto end; + i_92: + if(ic-- == 0) goto end; + i_93: + if(ic-- == 0) goto end; + i_94: + if(ic-- == 0) goto end; + i_95: + if(ic-- == 0) goto end; + i_96: + if(ic-- == 0) goto end; + i_97: + if(ic-- == 0) goto end; + i_98: + if(ic-- == 0) goto end; + i_99: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_100; + stack[ss++] = ret; + goto i_103; + } + i_100: + if(ic-- == 0) goto end; + i_101: + if(ic-- == 0) goto end; + i_102: + if(ic-- == 0) goto end; + i_103: + if(ic-- == 0) goto end; + i_104: + if(ic-- == 0) goto end; + i_105: + if(ic-- == 0) goto end; + i_106: + if(ic-- == 0) goto end; + i_107: + if(ic-- == 0) goto end; + i_108: + if(ic-- == 0) goto end; + i_109: + if(ic-- == 0) goto end; + i_110: + if(ic-- == 0) goto end; + i_111: + if(ic-- == 0) goto end; + i_112: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_113; + void* target = stack[--ss]; + goto *target; + } + i_113: + if(ic-- == 0) goto end; + i_114: + if(ic-- == 0) goto end; + i_115: + if(ic-- == 0) goto end; + i_116: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_117; + void* target = stack[--ss]; + goto *target; + } + i_117: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_118; + stack[ss++] = ret; + goto i_260; + } + i_118: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_119; + void* target = stack[--ss]; + goto *target; + } + i_119: + if(ic-- == 0) goto end; + i_120: + if(ic-- == 0) goto end; + i_121: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_122; + void* target = stack[--ss]; + goto *target; + } + i_122: + if(ic-- == 0) goto end; + i_123: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_124; + void* target = stack[--ss]; + goto *target; + } + i_124: + if(ic-- == 0) goto end; + i_125: + if(ic-- == 0) goto end; + i_126: + if(ic-- == 0) goto end; + i_127: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_128; + stack[ss++] = ret; + goto i_157; + } + i_128: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_129; + stack[ss++] = ret; + goto i_164; + } + i_129: + if(ic-- == 0) goto end; + i_130: + if(ic-- == 0) goto end; + i_131: + if(ic-- == 0) goto end; + i_132: + if(ic-- == 0) goto end; + i_133: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_134; + void* target = stack[--ss]; + goto *target; + } + i_134: + if(ic-- == 0) goto end; + i_135: + if(ic-- == 0) goto end; + i_136: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_137; + stack[ss++] = ret; + goto i_160; + } + i_137: + if(ic-- == 0) goto end; + i_138: + if(ic-- == 0) goto end; + i_139: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_140; + stack[ss++] = ret; + goto i_346; + } + i_140: + if(ic-- == 0) goto end; + i_141: + if(ic-- == 0) goto end; + i_142: + if(ic-- == 0) goto end; + i_143: + if(ic-- == 0) goto end; + i_144: + if(ic-- == 0) goto end; + i_145: + if(ic-- == 0) goto end; + i_146: + if(ic-- == 0) goto end; + i_147: + if(ic-- == 0) goto end; + i_148: + if(ic-- == 0) goto end; + i_149: + if(ic-- == 0) goto end; + i_150: + if(ic-- == 0) goto end; + i_151: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_152; + stack[ss++] = ret; + goto i_161; + } + i_152: + if(ic-- == 0) goto end; + i_153: + if(ic-- == 0) goto end; + i_154: + if(ic-- == 0) goto end; + i_155: + if(ic-- == 0) goto end; + i_156: + if(ic-- == 0) goto end; + i_157: + if(ic-- == 0) goto end; + i_158: + if(ic-- == 0) goto end; + i_159: + if(ic-- == 0) goto end; + i_160: + if(ic-- == 0) goto end; + i_161: + if(ic-- == 0) goto end; + i_162: + if(ic-- == 0) goto end; + i_163: + if(ic-- == 0) goto end; + i_164: + if(ic-- == 0) goto end; + i_165: + if(ic-- == 0) goto end; + i_166: + if(ic-- == 0) goto end; + i_167: + if(ic-- == 0) goto end; + i_168: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_169; + void* target = stack[--ss]; + goto *target; + } + i_169: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_170; + void* target = stack[--ss]; + goto *target; + } + i_170: + if(ic-- == 0) goto end; + i_171: + if(ic-- == 0) goto end; + i_172: + if(ic-- == 0) goto end; + i_173: + if(ic-- == 0) goto end; + i_174: + if(ic-- == 0) goto end; + i_175: + if(ic-- == 0) goto end; + i_176: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_177; + void* target = stack[--ss]; + goto *target; + } + i_177: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_178; + void* target = stack[--ss]; + goto *target; + } + i_178: + if(ic-- == 0) goto end; + i_179: + if(ic-- == 0) goto end; + i_180: + if(ic-- == 0) goto end; + i_181: + if(ic-- == 0) goto end; + i_182: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_183; + stack[ss++] = ret; + goto i_415; + } + i_183: + if(ic-- == 0) goto end; + i_184: + if(ic-- == 0) goto end; + i_185: + if(ic-- == 0) goto end; + i_186: + if(ic-- == 0) goto end; + i_187: + if(ic-- == 0) goto end; + i_188: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_189; + stack[ss++] = ret; + goto i_343; + } + i_189: + if(ic-- == 0) goto end; + i_190: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_191; + stack[ss++] = ret; + goto i_268; + } + i_191: + if(ic-- == 0) goto end; + i_192: + if(ic-- == 0) goto end; + i_193: + if(ic-- == 0) goto end; + i_194: + if(ic-- == 0) goto end; + i_195: + if(ic-- == 0) goto end; + i_196: + if(ic-- == 0) goto end; + i_197: + if(ic-- == 0) goto end; + i_198: + if(ic-- == 0) goto end; + i_199: + if(ic-- == 0) goto end; + i_200: + if(ic-- == 0) goto end; + i_201: + if(ic-- == 0) goto end; + i_202: + if(ic-- == 0) goto end; + i_203: + if(ic-- == 0) goto end; + i_204: + if(ic-- == 0) goto end; + i_205: + if(ic-- == 0) goto end; + i_206: + if(ic-- == 0) goto end; + i_207: + if(ic-- == 0) goto end; + i_208: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_209; + stack[ss++] = ret; + goto i_442; + } + i_209: + if(ic-- == 0) goto end; + i_210: + if(ic-- == 0) goto end; + i_211: + if(ic-- == 0) goto end; + i_212: + if(ic-- == 0) goto end; + i_213: + if(ic-- == 0) goto end; + i_214: + if(ic-- == 0) goto end; + i_215: + if(ic-- == 0) goto end; + i_216: + if(ic-- == 0) goto end; + i_217: + if(ic-- == 0) goto end; + i_218: + if(ic-- == 0) goto end; + i_219: + if(ic-- == 0) goto end; + i_220: + if(ic-- == 0) goto end; + i_221: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_222; + stack[ss++] = ret; + goto i_406; + } + i_222: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_223; + stack[ss++] = ret; + goto i_394; + } + i_223: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_224; + stack[ss++] = ret; + goto i_466; + } + i_224: + if(ic-- == 0) goto end; + i_225: + if(ic-- == 0) goto end; + i_226: + if(ic-- == 0) goto end; + i_227: + if(ic-- == 0) goto end; + i_228: + if(ic-- == 0) goto end; + i_229: + if(ic-- == 0) goto end; + i_230: + if(ic-- == 0) goto end; + i_231: + if(ic-- == 0) goto end; + i_232: + if(ic-- == 0) goto end; + i_233: + if(ic-- == 0) goto end; + i_234: + if(ic-- == 0) goto end; + i_235: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_236; + stack[ss++] = ret; + goto i_385; + } + i_236: + if(ic-- == 0) goto end; + i_237: + if(ic-- == 0) goto end; + i_238: + if(ic-- == 0) goto end; + i_239: + if(ic-- == 0) goto end; + i_240: + if(ic-- == 0) goto end; + i_241: + if(ic-- == 0) goto end; + i_242: + if(ic-- == 0) goto end; + i_243: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_244; + stack[ss++] = ret; + goto i_402; + } + i_244: + if(ic-- == 0) goto end; + i_245: + if(ic-- == 0) goto end; + i_246: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_247; + stack[ss++] = ret; + goto i_249; + } + i_247: + if(ic-- == 0) goto end; + i_248: + if(ic-- == 0) goto end; + i_249: + if(ic-- == 0) goto end; + i_250: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_251; + void* target = stack[--ss]; + goto *target; + } + i_251: + if(ic-- == 0) goto end; + i_252: + if(ic-- == 0) goto end; + i_253: + if(ic-- == 0) goto end; + i_254: + if(ic-- == 0) goto end; + i_255: + if(ic-- == 0) goto end; + i_256: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_257; + stack[ss++] = ret; + goto i_420; + } + i_257: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_258; + stack[ss++] = ret; + goto i_330; + } + i_258: + if(ic-- == 0) goto end; + i_259: + if(ic-- == 0) goto end; + i_260: + if(ic-- == 0) goto end; + i_261: + if(ic-- == 0) goto end; + i_262: + if(ic-- == 0) goto end; + i_263: + if(ic-- == 0) goto end; + i_264: + if(ic-- == 0) goto end; + i_265: + if(ic-- == 0) goto end; + i_266: + if(ic-- == 0) goto end; + i_267: + if(ic-- == 0) goto end; + i_268: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_269; + stack[ss++] = ret; + goto i_395; + } + i_269: + if(ic-- == 0) goto end; + i_270: + if(ic-- == 0) goto end; + i_271: + if(ic-- == 0) goto end; + i_272: + if(ic-- == 0) goto end; + i_273: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_274; + void* target = stack[--ss]; + goto *target; + } + i_274: + if(ic-- == 0) goto end; + i_275: + if(ic-- == 0) goto end; + i_276: + if(ic-- == 0) goto end; + i_277: + if(ic-- == 0) goto end; + i_278: + if(ic-- == 0) goto end; + i_279: + if(ic-- == 0) goto end; + i_280: + if(ic-- == 0) goto end; + i_281: + if(ic-- == 0) goto end; + i_282: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_283; + stack[ss++] = ret; + goto i_317; + } + i_283: + if(ic-- == 0) goto end; + i_284: + if(ic-- == 0) goto end; + i_285: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_286; + void* target = stack[--ss]; + goto *target; + } + i_286: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_287; + void* target = stack[--ss]; + goto *target; + } + i_287: + if(ic-- == 0) goto end; + i_288: + if(ic-- == 0) goto end; + i_289: + if(ic-- == 0) goto end; + i_290: + if(ic-- == 0) goto end; + i_291: + if(ic-- == 0) goto end; + i_292: + if(ic-- == 0) goto end; + i_293: + if(ic-- == 0) goto end; + i_294: + if(ic-- == 0) goto end; + i_295: + if(ic-- == 0) goto end; + i_296: + if(ic-- == 0) goto end; + i_297: + if(ic-- == 0) goto end; + i_298: + if(ic-- == 0) goto end; + i_299: + if(ic-- == 0) goto end; + i_300: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_301; + stack[ss++] = ret; + goto i_457; + } + i_301: + if(ic-- == 0) goto end; + i_302: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_303; + void* target = stack[--ss]; + goto *target; + } + i_303: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_304; + stack[ss++] = ret; + goto i_508; + } + i_304: + if(ic-- == 0) goto end; + i_305: + if(ic-- == 0) goto end; + i_306: + if(ic-- == 0) goto end; + i_307: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_308; + void* target = stack[--ss]; + goto *target; + } + i_308: + if(ic-- == 0) goto end; + i_309: + if(ic-- == 0) goto end; + i_310: + if(ic-- == 0) goto end; + i_311: + if(ic-- == 0) goto end; + i_312: + if(ic-- == 0) goto end; + i_313: + if(ic-- == 0) goto end; + i_314: + if(ic-- == 0) goto end; + i_315: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_316; + stack[ss++] = ret; + goto i_413; + } + i_316: + if(ic-- == 0) goto end; + i_317: + if(ic-- == 0) goto end; + i_318: + if(ic-- == 0) goto end; + i_319: + if(ic-- == 0) goto end; + i_320: + if(ic-- == 0) goto end; + i_321: + if(ic-- == 0) goto end; + i_322: + if(ic-- == 0) goto end; + i_323: + if(ic-- == 0) goto end; + i_324: + if(ic-- == 0) goto end; + i_325: + if(ic-- == 0) goto end; + i_326: + if(ic-- == 0) goto end; + i_327: + if(ic-- == 0) goto end; + i_328: + if(ic-- == 0) goto end; + i_329: + if(ic-- == 0) goto end; + i_330: + if(ic-- == 0) goto end; + i_331: + if(ic-- == 0) goto end; + i_332: + if(ic-- == 0) goto end; + i_333: + if(ic-- == 0) goto end; + i_334: + if(ic-- == 0) goto end; + i_335: + if(ic-- == 0) goto end; + i_336: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_337; + void* target = stack[--ss]; + goto *target; + } + i_337: + if(ic-- == 0) goto end; + i_338: + if(ic-- == 0) goto end; + i_339: + if(ic-- == 0) goto end; + i_340: + if(ic-- == 0) goto end; + i_341: + if(ic-- == 0) goto end; + i_342: + if(ic-- == 0) goto end; + i_343: + if(ic-- == 0) goto end; + i_344: + if(ic-- == 0) goto end; + i_345: + if(ic-- == 0) goto end; + i_346: + if(ic-- == 0) goto end; + i_347: + if(ic-- == 0) goto end; + i_348: + if(ic-- == 0) goto end; + i_349: + if(ic-- == 0) goto end; + i_350: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_351; + stack[ss++] = ret; + goto i_541; + } + i_351: + if(ic-- == 0) goto end; + i_352: + if(ic-- == 0) goto end; + i_353: + if(ic-- == 0) goto end; + i_354: + if(ic-- == 0) goto end; + i_355: + if(ic-- == 0) goto end; + i_356: + if(ic-- == 0) goto end; + i_357: + if(ic-- == 0) goto end; + i_358: + if(ic-- == 0) goto end; + i_359: + if(ic-- == 0) goto end; + i_360: + if(ic-- == 0) goto end; + i_361: + if(ic-- == 0) goto end; + i_362: + if(ic-- == 0) goto end; + i_363: + if(ic-- == 0) goto end; + i_364: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_365; + void* target = stack[--ss]; + goto *target; + } + i_365: + if(ic-- == 0) goto end; + i_366: + if(ic-- == 0) goto end; + i_367: + if(ic-- == 0) goto end; + i_368: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_369; + stack[ss++] = ret; + goto i_403; + } + i_369: + if(ic-- == 0) goto end; + i_370: + if(ic-- == 0) goto end; + i_371: + if(ic-- == 0) goto end; + i_372: + if(ic-- == 0) goto end; + i_373: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_374; + stack[ss++] = ret; + goto i_564; + } + i_374: + if(ic-- == 0) goto end; + i_375: + if(ic-- == 0) goto end; + i_376: + if(ic-- == 0) goto end; + i_377: + if(ic-- == 0) goto end; + i_378: + if(ic-- == 0) goto end; + i_379: + if(ic-- == 0) goto end; + i_380: + if(ic-- == 0) goto end; + i_381: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_382; + stack[ss++] = ret; + goto i_547; + } + i_382: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_383; + void* target = stack[--ss]; + goto *target; + } + i_383: + if(ic-- == 0) goto end; + i_384: + if(ic-- == 0) goto end; + i_385: + if(ic-- == 0) goto end; + i_386: + if(ic-- == 0) goto end; + i_387: + if(ic-- == 0) goto end; + i_388: + if(ic-- == 0) goto end; + i_389: + if(ic-- == 0) goto end; + i_390: + if(ic-- == 0) goto end; + i_391: + if(ic-- == 0) goto end; + i_392: + if(ic-- == 0) goto end; + i_393: + if(ic-- == 0) goto end; + i_394: + if(ic-- == 0) goto end; + i_395: + if(ic-- == 0) goto end; + i_396: + if(ic-- == 0) goto end; + i_397: + if(ic-- == 0) goto end; + i_398: + if(ic-- == 0) goto end; + i_399: + if(ic-- == 0) goto end; + i_400: + if(ic-- == 0) goto end; + i_401: + if(ic-- == 0) goto end; + i_402: + if(ic-- == 0) goto end; + i_403: + if(ic-- == 0) goto end; + i_404: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_405; + stack[ss++] = ret; + goto i_424; + } + i_405: + if(ic-- == 0) goto end; + i_406: + if(ic-- == 0) goto end; + i_407: + if(ic-- == 0) goto end; + i_408: + if(ic-- == 0) goto end; + i_409: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_410; + void* target = stack[--ss]; + goto *target; + } + i_410: + if(ic-- == 0) goto end; + i_411: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_412; + void* target = stack[--ss]; + goto *target; + } + i_412: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_413; + stack[ss++] = ret; + goto i_591; + } + i_413: + if(ic-- == 0) goto end; + i_414: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_415; + void* target = stack[--ss]; + goto *target; + } + i_415: + if(ic-- == 0) goto end; + i_416: + if(ic-- == 0) goto end; + i_417: + if(ic-- == 0) goto end; + i_418: + if(ic-- == 0) goto end; + i_419: + if(ic-- == 0) goto end; + i_420: + if(ic-- == 0) goto end; + i_421: + if(ic-- == 0) goto end; + i_422: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_423; + void* target = stack[--ss]; + goto *target; + } + i_423: + if(ic-- == 0) goto end; + i_424: + if(ic-- == 0) goto end; + i_425: + if(ic-- == 0) goto end; + i_426: + if(ic-- == 0) goto end; + i_427: + if(ic-- == 0) goto end; + i_428: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_429; + stack[ss++] = ret; + goto i_463; + } + i_429: + if(ic-- == 0) goto end; + i_430: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_431; + stack[ss++] = ret; + goto i_668; + } + i_431: + if(ic-- == 0) goto end; + i_432: + if(ic-- == 0) goto end; + i_433: + if(ic-- == 0) goto end; + i_434: + if(ic-- == 0) goto end; + i_435: + if(ic-- == 0) goto end; + i_436: + if(ic-- == 0) goto end; + i_437: + if(ic-- == 0) goto end; + i_438: + if(ic-- == 0) goto end; + i_439: + if(ic-- == 0) goto end; + i_440: + if(ic-- == 0) goto end; + i_441: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_442; + stack[ss++] = ret; + goto i_570; + } + i_442: + if(ic-- == 0) goto end; + i_443: + if(ic-- == 0) goto end; + i_444: + if(ic-- == 0) goto end; + i_445: + if(ic-- == 0) goto end; + i_446: + if(ic-- == 0) goto end; + i_447: + if(ic-- == 0) goto end; + i_448: + if(ic-- == 0) goto end; + i_449: + if(ic-- == 0) goto end; + i_450: + if(ic-- == 0) goto end; + i_451: + if(ic-- == 0) goto end; + i_452: + if(ic-- == 0) goto end; + i_453: + if(ic-- == 0) goto end; + i_454: + if(ic-- == 0) goto end; + i_455: + if(ic-- == 0) goto end; + i_456: + if(ic-- == 0) goto end; + i_457: + if(ic-- == 0) goto end; + i_458: + if(ic-- == 0) goto end; + i_459: + if(ic-- == 0) goto end; + i_460: + if(ic-- == 0) goto end; + i_461: + if(ic-- == 0) goto end; + i_462: + if(ic-- == 0) goto end; + i_463: + if(ic-- == 0) goto end; + i_464: + if(ic-- == 0) goto end; + i_465: + if(ic-- == 0) goto end; + i_466: + if(ic-- == 0) goto end; + i_467: + if(ic-- == 0) goto end; + i_468: + if(ic-- == 0) goto end; + i_469: + if(ic-- == 0) goto end; + i_470: + if(ic-- == 0) goto end; + i_471: + if(ic-- == 0) goto end; + i_472: + if(ic-- == 0) goto end; + i_473: + if(ic-- == 0) goto end; + i_474: + if(ic-- == 0) goto end; + i_475: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_476; + stack[ss++] = ret; + goto i_657; + } + i_476: + if(ic-- == 0) goto end; + i_477: + if(ic-- == 0) goto end; + i_478: + if(ic-- == 0) goto end; + i_479: + if(ic-- == 0) goto end; + i_480: + if(ic-- == 0) goto end; + i_481: + if(ic-- == 0) goto end; + i_482: + if(ic-- == 0) goto end; + i_483: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_484; + void* target = stack[--ss]; + goto *target; + } + i_484: + if(ic-- == 0) goto end; + i_485: + if(ic-- == 0) goto end; + i_486: + if(ic-- == 0) goto end; + i_487: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_488; + void* target = stack[--ss]; + goto *target; + } + i_488: + if(ic-- == 0) goto end; + i_489: + if(ic-- == 0) goto end; + i_490: + if(ic-- == 0) goto end; + i_491: + if(ic-- == 0) goto end; + i_492: + if(ic-- == 0) goto end; + i_493: + if(ic-- == 0) goto end; + i_494: + if(ic-- == 0) goto end; + i_495: + if(ic-- == 0) goto end; + i_496: + if(ic-- == 0) goto end; + i_497: + if(ic-- == 0) goto end; + i_498: + if(ic-- == 0) goto end; + i_499: + if(ic-- == 0) goto end; + i_500: + if(ic-- == 0) goto end; + i_501: + if(ic-- == 0) goto end; + i_502: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_503; + void* target = stack[--ss]; + goto *target; + } + i_503: + if(ic-- == 0) goto end; + i_504: + if(ic-- == 0) goto end; + i_505: + if(ic-- == 0) goto end; + i_506: + if(ic-- == 0) goto end; + i_507: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_508; + stack[ss++] = ret; + goto i_730; + } + i_508: + if(ic-- == 0) goto end; + i_509: + if(ic-- == 0) goto end; + i_510: + if(ic-- == 0) goto end; + i_511: + if(ic-- == 0) goto end; + i_512: + if(ic-- == 0) goto end; + i_513: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_514; + stack[ss++] = ret; + goto i_570; + } + i_514: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_515; + stack[ss++] = ret; + goto i_521; + } + i_515: + if(ic-- == 0) goto end; + i_516: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_517; + stack[ss++] = ret; + goto i_765; + } + i_517: + if(ic-- == 0) goto end; + i_518: + if(ic-- == 0) goto end; + i_519: + if(ic-- == 0) goto end; + i_520: + if(ic-- == 0) goto end; + i_521: + if(ic-- == 0) goto end; + i_522: + if(ic-- == 0) goto end; + i_523: + if(ic-- == 0) goto end; + i_524: + if(ic-- == 0) goto end; + i_525: + if(ic-- == 0) goto end; + i_526: + if(ic-- == 0) goto end; + i_527: + if(ic-- == 0) goto end; + i_528: + if(ic-- == 0) goto end; + i_529: + if(ic-- == 0) goto end; + i_530: + if(ic-- == 0) goto end; + i_531: + if(ic-- == 0) goto end; + i_532: + if(ic-- == 0) goto end; + i_533: + if(ic-- == 0) goto end; + i_534: + if(ic-- == 0) goto end; + i_535: + if(ic-- == 0) goto end; + i_536: + if(ic-- == 0) goto end; + i_537: + if(ic-- == 0) goto end; + i_538: + if(ic-- == 0) goto end; + i_539: + if(ic-- == 0) goto end; + i_540: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_541; + void* target = stack[--ss]; + goto *target; + } + i_541: + if(ic-- == 0) goto end; + i_542: + if(ic-- == 0) goto end; + i_543: + if(ic-- == 0) goto end; + i_544: + if(ic-- == 0) goto end; + i_545: + if(ic-- == 0) goto end; + i_546: + if(ic-- == 0) goto end; + i_547: + if(ic-- == 0) goto end; + i_548: + if(ic-- == 0) goto end; + i_549: + if(ic-- == 0) goto end; + i_550: + if(ic-- == 0) goto end; + i_551: + if(ic-- == 0) goto end; + i_552: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_553; + stack[ss++] = ret; + goto i_604; + } + i_553: + if(ic-- == 0) goto end; + i_554: + if(ic-- == 0) goto end; + i_555: + if(ic-- == 0) goto end; + i_556: + if(ic-- == 0) goto end; + i_557: + if(ic-- == 0) goto end; + i_558: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_559; + stack[ss++] = ret; + goto i_645; + } + i_559: + if(ic-- == 0) goto end; + i_560: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_561; + stack[ss++] = ret; + goto i_656; + } + i_561: + if(ic-- == 0) goto end; + i_562: + if(ic-- == 0) goto end; + i_563: + if(ic-- == 0) goto end; + i_564: + if(ic-- == 0) goto end; + i_565: + if(ic-- == 0) goto end; + i_566: + if(ic-- == 0) goto end; + i_567: + if(ic-- == 0) goto end; + i_568: + if(ic-- == 0) goto end; + i_569: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_570; + stack[ss++] = ret; + goto i_637; + } + i_570: + if(ic-- == 0) goto end; + i_571: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_572; + void* target = stack[--ss]; + goto *target; + } + i_572: + if(ic-- == 0) goto end; + i_573: + if(ic-- == 0) goto end; + i_574: + if(ic-- == 0) goto end; + i_575: + if(ic-- == 0) goto end; + i_576: + if(ic-- == 0) goto end; + i_577: + if(ic-- == 0) goto end; + i_578: + if(ic-- == 0) goto end; + i_579: + if(ic-- == 0) goto end; + i_580: + if(ic-- == 0) goto end; + i_581: + if(ic-- == 0) goto end; + i_582: + if(ic-- == 0) goto end; + i_583: + if(ic-- == 0) goto end; + i_584: + if(ic-- == 0) goto end; + i_585: + if(ic-- == 0) goto end; + i_586: + if(ic-- == 0) goto end; + i_587: + if(ic-- == 0) goto end; + i_588: + if(ic-- == 0) goto end; + i_589: + if(ic-- == 0) goto end; + i_590: + if(ic-- == 0) goto end; + i_591: + if(ic-- == 0) goto end; + i_592: + if(ic-- == 0) goto end; + i_593: + if(ic-- == 0) goto end; + i_594: + if(ic-- == 0) goto end; + i_595: + if(ic-- == 0) goto end; + i_596: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_597; + stack[ss++] = ret; + goto i_622; + } + i_597: + if(ic-- == 0) goto end; + i_598: + if(ic-- == 0) goto end; + i_599: + if(ic-- == 0) goto end; + i_600: + if(ic-- == 0) goto end; + i_601: + if(ic-- == 0) goto end; + i_602: + if(ic-- == 0) goto end; + i_603: + if(ic-- == 0) goto end; + i_604: + if(ic-- == 0) goto end; + i_605: + if(ic-- == 0) goto end; + i_606: + if(ic-- == 0) goto end; + i_607: + if(ic-- == 0) goto end; + i_608: + if(ic-- == 0) goto end; + i_609: + if(ic-- == 0) goto end; + i_610: + if(ic-- == 0) goto end; + i_611: + if(ic-- == 0) goto end; + i_612: + if(ic-- == 0) goto end; + i_613: + if(ic-- == 0) goto end; + i_614: + if(ic-- == 0) goto end; + i_615: + if(ic-- == 0) goto end; + i_616: + if(ic-- == 0) goto end; + i_617: + if(ic-- == 0) goto end; + i_618: + if(ic-- == 0) goto end; + i_619: + if(ic-- == 0) goto end; + i_620: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_621; + stack[ss++] = ret; + goto i_666; + } + i_621: + if(ic-- == 0) goto end; + i_622: + if(ic-- == 0) goto end; + i_623: + if(ic-- == 0) goto end; + i_624: + if(ic-- == 0) goto end; + i_625: + if(ic-- == 0) goto end; + i_626: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_627; + void* target = stack[--ss]; + goto *target; + } + i_627: + if(ic-- == 0) goto end; + i_628: + if(ic-- == 0) goto end; + i_629: + if(ic-- == 0) goto end; + i_630: + if(ic-- == 0) goto end; + i_631: + if(ic-- == 0) goto end; + i_632: + if(ic-- == 0) goto end; + i_633: + if(ic-- == 0) goto end; + i_634: + if(ic-- == 0) goto end; + i_635: + if(ic-- == 0) goto end; + i_636: + if(ic-- == 0) goto end; + i_637: + if(ic-- == 0) goto end; + i_638: + if(ic-- == 0) goto end; + i_639: + if(ic-- == 0) goto end; + i_640: + if(ic-- == 0) goto end; + i_641: + if(ic-- == 0) goto end; + i_642: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_643; + stack[ss++] = ret; + goto i_801; + } + i_643: + if(ic-- == 0) goto end; + i_644: + if(ic-- == 0) goto end; + i_645: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_646; + void* target = stack[--ss]; + goto *target; + } + i_646: + if(ic-- == 0) goto end; + i_647: + if(ic-- == 0) goto end; + i_648: + if(ic-- == 0) goto end; + i_649: + if(ic-- == 0) goto end; + i_650: + if(ic-- == 0) goto end; + i_651: + if(ic-- == 0) goto end; + i_652: + if(ic-- == 0) goto end; + i_653: + if(ic-- == 0) goto end; + i_654: + if(ic-- == 0) goto end; + i_655: + if(ic-- == 0) goto end; + i_656: + if(ic-- == 0) goto end; + i_657: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_658; + void* target = stack[--ss]; + goto *target; + } + i_658: + if(ic-- == 0) goto end; + i_659: + if(ic-- == 0) goto end; + i_660: + if(ic-- == 0) goto end; + i_661: + if(ic-- == 0) goto end; + i_662: + if(ic-- == 0) goto end; + i_663: + if(ic-- == 0) goto end; + i_664: + if(ic-- == 0) goto end; + i_665: + if(ic-- == 0) goto end; + i_666: + if(ic-- == 0) goto end; + i_667: + if(ic-- == 0) goto end; + i_668: + if(ic-- == 0) goto end; + i_669: + if(ic-- == 0) goto end; + i_670: + if(ic-- == 0) goto end; + i_671: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_672; + stack[ss++] = ret; + goto i_883; + } + i_672: + if(ic-- == 0) goto end; + i_673: + if(ic-- == 0) goto end; + i_674: + if(ic-- == 0) goto end; + i_675: + if(ic-- == 0) goto end; + i_676: + if(ic-- == 0) goto end; + i_677: + if(ic-- == 0) goto end; + i_678: + if(ic-- == 0) goto end; + i_679: + if(ic-- == 0) goto end; + i_680: + if(ic-- == 0) goto end; + i_681: + if(ic-- == 0) goto end; + i_682: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_683; + void* target = stack[--ss]; + goto *target; + } + i_683: + if(ic-- == 0) goto end; + i_684: + if(ic-- == 0) goto end; + i_685: + if(ic-- == 0) goto end; + i_686: + if(ic-- == 0) goto end; + i_687: + if(ic-- == 0) goto end; + i_688: + if(ic-- == 0) goto end; + i_689: + if(ic-- == 0) goto end; + i_690: + if(ic-- == 0) goto end; + i_691: + if(ic-- == 0) goto end; + i_692: + if(ic-- == 0) goto end; + i_693: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_694; + void* target = stack[--ss]; + goto *target; + } + i_694: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_695; + void* target = stack[--ss]; + goto *target; + } + i_695: + if(ic-- == 0) goto end; + i_696: + if(ic-- == 0) goto end; + i_697: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_698; + stack[ss++] = ret; + goto i_703; + } + i_698: + if(ic-- == 0) goto end; + i_699: + if(ic-- == 0) goto end; + i_700: + if(ic-- == 0) goto end; + i_701: + if(ic-- == 0) goto end; + i_702: + if(ic-- == 0) goto end; + i_703: + if(ic-- == 0) goto end; + i_704: + if(ic-- == 0) goto end; + i_705: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_706; + stack[ss++] = ret; + goto i_892; + } + i_706: + if(ic-- == 0) goto end; + i_707: + if(ic-- == 0) goto end; + i_708: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_709; + stack[ss++] = ret; + goto i_796; + } + i_709: + if(ic-- == 0) goto end; + i_710: + if(ic-- == 0) goto end; + i_711: + if(ic-- == 0) goto end; + i_712: + if(ic-- == 0) goto end; + i_713: + if(ic-- == 0) goto end; + i_714: + if(ic-- == 0) goto end; + i_715: + if(ic-- == 0) goto end; + i_716: + if(ic-- == 0) goto end; + i_717: + if(ic-- == 0) goto end; + i_718: + if(ic-- == 0) goto end; + i_719: + if(ic-- == 0) goto end; + i_720: + if(ic-- == 0) goto end; + i_721: + if(ic-- == 0) goto end; + i_722: + if(ic-- == 0) goto end; + i_723: + if(ic-- == 0) goto end; + i_724: + if(ic-- == 0) goto end; + i_725: + if(ic-- == 0) goto end; + i_726: + if(ic-- == 0) goto end; + i_727: + if(ic-- == 0) goto end; + i_728: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_729; + stack[ss++] = ret; + goto i_770; + } + i_729: + if(ic-- == 0) goto end; + i_730: + if(ic-- == 0) goto end; + i_731: + if(ic-- == 0) goto end; + i_732: + if(ic-- == 0) goto end; + i_733: + if(ic-- == 0) goto end; + i_734: + if(ic-- == 0) goto end; + i_735: + if(ic-- == 0) goto end; + i_736: + if(ic-- == 0) goto end; + i_737: + if(ic-- == 0) goto end; + i_738: + if(ic-- == 0) goto end; + i_739: + if(ic-- == 0) goto end; + i_740: + if(ic-- == 0) goto end; + i_741: + if(ic-- == 0) goto end; + i_742: + if(ic-- == 0) goto end; + i_743: + if(ic-- == 0) goto end; + i_744: + if(ic-- == 0) goto end; + i_745: + if(ic-- == 0) goto end; + i_746: + if(ic-- == 0) goto end; + i_747: + if(ic-- == 0) goto end; + i_748: + if(ic-- == 0) goto end; + i_749: + if(ic-- == 0) goto end; + i_750: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_751; + stack[ss++] = ret; + goto i_801; + } + i_751: + if(ic-- == 0) goto end; + i_752: + if(ic-- == 0) goto end; + i_753: + if(ic-- == 0) goto end; + i_754: + if(ic-- == 0) goto end; + i_755: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_756; + stack[ss++] = ret; + goto i_1009; + } + i_756: + if(ic-- == 0) goto end; + i_757: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_758; + void* target = stack[--ss]; + goto *target; + } + i_758: + if(ic-- == 0) goto end; + i_759: + if(ic-- == 0) goto end; + i_760: + if(ic-- == 0) goto end; + i_761: + if(ic-- == 0) goto end; + i_762: + if(ic-- == 0) goto end; + i_763: + if(ic-- == 0) goto end; + i_764: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_765; + void* target = stack[--ss]; + goto *target; + } + i_765: + if(ic-- == 0) goto end; + i_766: + if(ic-- == 0) goto end; + i_767: + if(ic-- == 0) goto end; + i_768: + if(ic-- == 0) goto end; + i_769: + if(ic-- == 0) goto end; + i_770: + if(ic-- == 0) goto end; + i_771: + if(ic-- == 0) goto end; + i_772: + if(ic-- == 0) goto end; + i_773: + if(ic-- == 0) goto end; + i_774: + if(ic-- == 0) goto end; + i_775: + if(ic-- == 0) goto end; + i_776: + if(ic-- == 0) goto end; + i_777: + if(ic-- == 0) goto end; + i_778: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_779; + stack[ss++] = ret; + goto i_893; + } + i_779: + if(ic-- == 0) goto end; + i_780: + if(ic-- == 0) goto end; + i_781: + if(ic-- == 0) goto end; + i_782: + if(ic-- == 0) goto end; + i_783: + if(ic-- == 0) goto end; + i_784: + if(ic-- == 0) goto end; + i_785: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_786; + stack[ss++] = ret; + goto i_949; + } + i_786: + if(ic-- == 0) goto end; + i_787: + if(ic-- == 0) goto end; + i_788: + if(ic-- == 0) goto end; + i_789: + if(ic-- == 0) goto end; + i_790: + if(ic-- == 0) goto end; + i_791: + if(ic-- == 0) goto end; + i_792: + if(ic-- == 0) goto end; + i_793: + if(ic-- == 0) goto end; + i_794: + if(ic-- == 0) goto end; + i_795: + if(ic-- == 0) goto end; + i_796: + if(ic-- == 0) goto end; + i_797: + if(ic-- == 0) goto end; + i_798: + if(ic-- == 0) goto end; + i_799: + if(ic-- == 0) goto end; + i_800: + if(ic-- == 0) goto end; + i_801: + if(ic-- == 0) goto end; + i_802: + if(ic-- == 0) goto end; + i_803: + if(ic-- == 0) goto end; + i_804: + if(ic-- == 0) goto end; + i_805: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_806; + stack[ss++] = ret; + goto i_813; + } + i_806: + if(ic-- == 0) goto end; + i_807: + if(ic-- == 0) goto end; + i_808: + if(ic-- == 0) goto end; + i_809: + if(ic-- == 0) goto end; + i_810: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_811; + void* target = stack[--ss]; + goto *target; + } + i_811: + if(ic-- == 0) goto end; + i_812: + if(ic-- == 0) goto end; + i_813: + if(ic-- == 0) goto end; + i_814: + if(ic-- == 0) goto end; + i_815: + if(ic-- == 0) goto end; + i_816: + if(ic-- == 0) goto end; + i_817: + if(ic-- == 0) goto end; + i_818: + if(ic-- == 0) goto end; + i_819: + if(ic-- == 0) goto end; + i_820: + if(ic-- == 0) goto end; + i_821: + if(ic-- == 0) goto end; + i_822: + if(ic-- == 0) goto end; + i_823: + if(ic-- == 0) goto end; + i_824: + if(ic-- == 0) goto end; + i_825: + if(ic-- == 0) goto end; + i_826: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_827; + void* target = stack[--ss]; + goto *target; + } + i_827: + if(ic-- == 0) goto end; + i_828: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_829; + void* target = stack[--ss]; + goto *target; + } + i_829: + if(ic-- == 0) goto end; + i_830: + if(ic-- == 0) goto end; + i_831: + if(ic-- == 0) goto end; + i_832: + if(ic-- == 0) goto end; + i_833: + if(ic-- == 0) goto end; + i_834: + if(ic-- == 0) goto end; + i_835: + if(ic-- == 0) goto end; + i_836: + if(ic-- == 0) goto end; + i_837: + if(ic-- == 0) goto end; + i_838: + if(ic-- == 0) goto end; + i_839: + if(ic-- == 0) goto end; + i_840: + if(ic-- == 0) goto end; + i_841: + if(ic-- == 0) goto end; + i_842: + if(ic-- == 0) goto end; + i_843: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_844; + stack[ss++] = ret; + goto i_955; + } + i_844: + if(ic-- == 0) goto end; + i_845: + if(ic-- == 0) goto end; + i_846: + if(ic-- == 0) goto end; + i_847: + if(ic-- == 0) goto end; + i_848: + if(ic-- == 0) goto end; + i_849: + if(ic-- == 0) goto end; + i_850: + if(ic-- == 0) goto end; + i_851: + if(ic-- == 0) goto end; + i_852: + if(ic-- == 0) goto end; + i_853: + if(ic-- == 0) goto end; + i_854: + if(ic-- == 0) goto end; + i_855: + if(ic-- == 0) goto end; + i_856: + if(ic-- == 0) goto end; + i_857: + if(ic-- == 0) goto end; + i_858: + if(ic-- == 0) goto end; + i_859: + if(ic-- == 0) goto end; + i_860: + if(ic-- == 0) goto end; + i_861: + if(ic-- == 0) goto end; + i_862: + if(ic-- == 0) goto end; + i_863: + if(ic-- == 0) goto end; + i_864: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_865; + void* target = stack[--ss]; + goto *target; + } + i_865: + if(ic-- == 0) goto end; + i_866: + if(ic-- == 0) goto end; + i_867: + if(ic-- == 0) goto end; + i_868: + if(ic-- == 0) goto end; + i_869: + if(ic-- == 0) goto end; + i_870: + if(ic-- == 0) goto end; + i_871: + if(ic-- == 0) goto end; + i_872: + if(ic-- == 0) goto end; + i_873: + if(ic-- == 0) goto end; + i_874: + if(ic-- == 0) goto end; + i_875: + if(ic-- == 0) goto end; + i_876: + if(ic-- == 0) goto end; + i_877: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_878; + stack[ss++] = ret; + goto i_971; + } + i_878: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_879; + stack[ss++] = ret; + goto i_77; + } + i_879: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_880; + void* target = stack[--ss]; + goto *target; + } + i_880: + if(ic-- == 0) goto end; + i_881: + if(ic-- == 0) goto end; + i_882: + if(ic-- == 0) goto end; + i_883: + if(ic-- == 0) goto end; + i_884: + if(ic-- == 0) goto end; + i_885: + if(ic-- == 0) goto end; + i_886: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_887; + stack[ss++] = ret; + goto i_943; + } + i_887: + if(ic-- == 0) goto end; + i_888: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_889; + stack[ss++] = ret; + goto i_969; + } + i_889: + if(ic-- == 0) goto end; + i_890: + if(ic-- == 0) goto end; + i_891: + if(ic-- == 0) goto end; + i_892: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_893; + void* target = stack[--ss]; + goto *target; + } + i_893: + if(ic-- == 0) goto end; + i_894: + if(ic-- == 0) goto end; + i_895: + if(ic-- == 0) goto end; + i_896: + if(ic-- == 0) goto end; + i_897: + if(ic-- == 0) goto end; + i_898: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_899; + stack[ss++] = ret; + goto i_974; + } + i_899: + if(ic-- == 0) goto end; + i_900: + if(ic-- == 0) goto end; + i_901: + if(ic-- == 0) goto end; + i_902: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_903; + stack[ss++] = ret; + goto i_7; + } + i_903: + if(ic-- == 0) goto end; + i_904: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_905; + stack[ss++] = ret; + goto i_95; + } + i_905: + if(ic-- == 0) goto end; + i_906: + if(ic-- == 0) goto end; + i_907: + if(ic-- == 0) goto end; + i_908: + if(ic-- == 0) goto end; + i_909: + if(ic-- == 0) goto end; + i_910: + if(ic-- == 0) goto end; + i_911: + if(ic-- == 0) goto end; + i_912: + if(ic-- == 0) goto end; + i_913: + if(ic-- == 0) goto end; + i_914: + if(ic-- == 0) goto end; + i_915: + if(ic-- == 0) goto end; + i_916: + if(ic-- == 0) goto end; + i_917: + if(ic-- == 0) goto end; + i_918: + if(ic-- == 0) goto end; + i_919: + if(ic-- == 0) goto end; + i_920: + if(ic-- == 0) goto end; + i_921: + if(ic-- == 0) goto end; + i_922: + if(ic-- == 0) goto end; + i_923: + if(ic-- == 0) goto end; + i_924: + if(ic-- == 0) goto end; + i_925: + if(ic-- == 0) goto end; + i_926: + if(ic-- == 0) goto end; + i_927: + if(ic-- == 0) goto end; + i_928: + if(ic-- == 0) goto end; + i_929: + if(ic-- == 0) goto end; + i_930: + if(ic-- == 0) goto end; + i_931: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_932; + void* target = stack[--ss]; + goto *target; + } + i_932: + if(ic-- == 0) goto end; + i_933: + if(ic-- == 0) goto end; + i_934: + if(ic-- == 0) goto end; + i_935: + if(ic-- == 0) goto end; + i_936: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_937; + stack[ss++] = ret; + goto i_28; + } + i_937: + if(ic-- == 0) goto end; + i_938: + if(ic-- == 0) goto end; + i_939: + if(ic-- == 0) goto end; + i_940: + if(ic-- == 0) goto end; + i_941: + if(ic-- == 0) goto end; + i_942: + if(ic-- == 0) goto end; + i_943: + if(ic-- == 0) goto end; + i_944: + if(ic-- == 0) goto end; + i_945: + if(ic-- == 0) goto end; + i_946: + if(ic-- == 0) goto end; + i_947: + if(ic-- == 0) goto end; + i_948: + if(ic-- == 0) goto end; + i_949: + if(ic-- == 0) goto end; + i_950: + if(ic-- == 0) goto end; + i_951: + if(ic-- == 0) goto end; + i_952: + if(ic-- == 0) goto end; + i_953: + if(ic-- == 0) goto end; + i_954: + if(ic-- == 0) goto end; + i_955: + if(ic-- == 0) goto end; + i_956: + if(ic-- == 0) goto end; + i_957: + if(ic-- == 0) goto end; + i_958: + if(ic-- == 0) goto end; + i_959: + if(ic-- == 0) goto end; + i_960: + if(ic-- == 0) goto end; + i_961: + if(ic-- == 0) goto end; + i_962: + if(ic-- == 0) goto end; + i_963: + if(ic-- == 0) goto end; + i_964: + if(ic-- == 0) goto end; + i_965: + if(ic-- == 0) goto end; + i_966: + if(ic-- == 0) goto end; + i_967: + if(ic-- == 0) goto end; + i_968: + if(ic-- == 0) goto end; + i_969: + if(ic-- == 0) goto end; + i_970: + if(ic-- == 0) goto end; + i_971: + if(ic-- == 0) goto end; + i_972: + if(ic-- == 0) goto end; + i_973: + if(ic-- == 0) goto end; + i_974: + if(ic-- == 0) goto end; + i_975: + if(ic-- == 0) goto end; + i_976: + if(ic-- == 0) goto end; + i_977: + if(ic-- == 0) goto end; + i_978: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_979; + stack[ss++] = ret; + goto i_26; + } + i_979: + if(ic-- == 0) goto end; + i_980: + if(ic-- == 0) goto end; + i_981: + if(ic-- == 0) goto end; + i_982: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_983; + stack[ss++] = ret; + goto i_197; + } + i_983: + if(ic-- == 0) goto end; + i_984: + if(ic-- == 0) goto end; + i_985: + if(ic-- == 0) goto end; + i_986: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_987; + stack[ss++] = ret; + goto i_59; + } + i_987: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_988; + void* target = stack[--ss]; + goto *target; + } + i_988: + if(ic-- == 0) goto end; + i_989: + if(ic-- == 0) goto end; + i_990: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_991; + void* target = stack[--ss]; + goto *target; + } + i_991: + if(ic-- == 0) goto end; + i_992: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_993; + stack[ss++] = ret; + goto i_73; + } + i_993: + if(ic-- == 0) goto end; + i_994: + if(ic-- == 0) goto end; + i_995: + if(ic-- == 0) goto end; + i_996: + if(ic-- == 0) goto end; + branches++; + if(1) { + if(ss <= 0) goto i_997; + void* target = stack[--ss]; + goto *target; + } + i_997: + if(ic-- == 0) goto end; + branches++; + if(1) { + void* ret = &&i_998; + stack[ss++] = ret; + goto i_21; + } + i_998: + if(ic-- == 0) goto end; + i_999: + if(ic-- == 0) goto end; + i_1000: + if(ic-- == 0) goto end; + i_1001: + if(ic-- == 0) goto end; + i_1002: + if(ic-- == 0) goto end; + i_1003: + if(ic-- == 0) goto end; + i_1004: + if(ic-- == 0) goto end; + i_1005: + if(ic-- == 0) goto end; + i_1006: + if(ic-- == 0) goto end; + i_1007: + if(ic-- == 0) goto end; + i_1008: + if(ic-- == 0) goto end; + i_1009: + if(ic-- == 0) goto end; + i_1010: + if(ic-- == 0) goto end; + i_1011: + if(ic-- == 0) goto end; + i_1012: + if(ic-- == 0) goto end; + i_1013: + if(ic-- == 0) goto end; + i_1014: + if(ic-- == 0) goto end; + i_1015: + if(ic-- == 0) goto end; + i_1016: + if(ic-- == 0) goto end; + i_1017: + if(ic-- == 0) goto end; + i_1018: + if(ic-- == 0) goto end; + i_1019: + if(ic-- == 0) goto end; + i_1020: + if(ic-- == 0) goto end; + i_1021: + if(ic-- == 0) goto end; + i_1022: + if(ic-- == 0) goto end; + i_1023: + if(ic-- == 0) goto end; + goto i_0; + end: + PROF_STDOUT(); + fprintf(stdout, "VM branches: %lu\n", branches); + return 0; +} diff --git a/tests/branch_prediction/branch_mixed.c b/tests/branch_prediction/branch_mixed.c new file mode 100644 index 0000000..93ee795 --- /dev/null +++ b/tests/branch_prediction/branch_mixed.c @@ -0,0 +1,2839 @@ +#include "stdint.h" +#include "stdlib.h" +#include "stdio.h" +#define PROF_USER_EVENTS_ONLY +#define PROF_EVENT_LIST \ + PROF_EVENT_HW(BRANCH_INSTRUCTIONS) \ + PROF_EVENT_HW(BRANCH_MISSES) \ + PROF_EVENT_SW(TASK_CLOCK) +#include "prof.h" +int main(int argc, char** argv) { + uint64_t ic = argc > 1 ? atoi(argv[1]) : 65536; + uint64_t ss = 0; + uint64_t branches = 0; + uint32_t state = 0; + uint32_t state2 = 123456789; + void* stack[65536]; + PROF_START(); + i_0: + if(ic-- == 0) goto end; + i_1: + if(ic-- == 0) goto end; + i_2: + if(ic-- == 0) goto end; + i_3: + if(ic-- == 0) goto end; + i_4: + if(ic-- == 0) goto end; + i_5: + if(ic-- == 0) goto end; + i_6: + if(ic-- == 0) goto end; + i_7: + if(ic-- == 0) goto end; + i_8: + if(ic-- == 0) goto end; + i_9: + if(ic-- == 0) goto end; + i_10: + if(ic-- == 0) goto end; + i_11: + if(ic-- == 0) goto end; + i_12: + if(ic-- == 0) goto end; + i_13: + if(ic-- == 0) goto end; + i_14: + if(ic-- == 0) goto end; + i_15: + if(ic-- == 0) goto end; + i_16: + if(ic-- == 0) goto end; + i_17: + if(ic-- == 0) goto end; + i_18: + if(ic-- == 0) goto end; + i_19: + if(ic-- == 0) goto end; + i_20: + if(ic-- == 0) goto end; + branches++; + if((state += 3288853519) > 4294967295) { + void* ret = &&i_21; + stack[ss++] = ret; + goto i_261; + } + i_21: + if(ic-- == 0) goto end; + i_22: + if(ic-- == 0) goto end; + i_23: + if(ic-- == 0) goto end; + i_24: + if(ic-- == 0) goto end; + i_25: + if(ic-- == 0) goto end; + branches++; + if((state += 3812903776) > 4294967295) { + void* ret = &&i_26; + stack[ss++] = ret; + goto i_281; + } + i_26: + if(ic-- == 0) goto end; + branches++; + if((state += 639652386) > 4294967295) { + if(ss <= 0) goto i_27; + void* target = stack[--ss]; + goto *target; + } + i_27: + if(ic-- == 0) goto end; + i_28: + if(ic-- == 0) goto end; + i_29: + if(ic-- == 0) goto end; + branches++; + if((state += 2961632904) > 4294967295) { + if(ss <= 0) goto i_30; + void* target = stack[--ss]; + goto *target; + } + i_30: + if(ic-- == 0) goto end; + i_31: + if(ic-- == 0) goto end; + i_32: + if(ic-- == 0) goto end; + branches++; + if((state += 474307802) > 4294967295) { + void* ret = &&i_33; + stack[ss++] = ret; + goto i_136; + } + i_33: + if(ic-- == 0) goto end; + i_34: + if(ic-- == 0) goto end; + i_35: + if(ic-- == 0) goto end; + branches++; + if((state += 2093095523) > 4294967295) { + if(ss <= 0) goto i_36; + void* target = stack[--ss]; + goto *target; + } + i_36: + if(ic-- == 0) goto end; + i_37: + if(ic-- == 0) goto end; + i_38: + if(ic-- == 0) goto end; + i_39: + if(ic-- == 0) goto end; + branches++; + if((state += 3154726805) > 4294967295) { + void* ret = &&i_40; + stack[ss++] = ret; + goto i_232; + } + i_40: + if(ic-- == 0) goto end; + i_41: + if(ic-- == 0) goto end; + branches++; + if((state += 2044508552) > 4294967295) { + if(ss <= 0) goto i_42; + void* target = stack[--ss]; + goto *target; + } + i_42: + if(ic-- == 0) goto end; + i_43: + if(ic-- == 0) goto end; + i_44: + if(ic-- == 0) goto end; + i_45: + if(ic-- == 0) goto end; + branches++; + if((state += 277236801) > 4294967295) { + void* ret = &&i_46; + stack[ss++] = ret; + goto i_171; + } + i_46: + if(ic-- == 0) goto end; + i_47: + if(ic-- == 0) goto end; + i_48: + if(ic-- == 0) goto end; + i_49: + if(ic-- == 0) goto end; + i_50: + if(ic-- == 0) goto end; + i_51: + if(ic-- == 0) goto end; + i_52: + if(ic-- == 0) goto end; + i_53: + if(ic-- == 0) goto end; + i_54: + if(ic-- == 0) goto end; + i_55: + if(ic-- == 0) goto end; + i_56: + if(ic-- == 0) goto end; + i_57: + if(ic-- == 0) goto end; + i_58: + if(ic-- == 0) goto end; + i_59: + if(ic-- == 0) goto end; + i_60: + if(ic-- == 0) goto end; + i_61: + if(ic-- == 0) goto end; + branches++; + if((state += 1058438924) > 4294967295) { + if(ss <= 0) goto i_62; + void* target = stack[--ss]; + goto *target; + } + i_62: + if(ic-- == 0) goto end; + branches++; + if((state += 3520888866) > 4294967295) { + void* ret = &&i_63; + stack[ss++] = ret; + goto i_231; + } + i_63: + if(ic-- == 0) goto end; + i_64: + if(ic-- == 0) goto end; + i_65: + if(ic-- == 0) goto end; + i_66: + if(ic-- == 0) goto end; + i_67: + if(ic-- == 0) goto end; + i_68: + if(ic-- == 0) goto end; + i_69: + if(ic-- == 0) goto end; + i_70: + if(ic-- == 0) goto end; + branches++; + if((state += 3793324182) > 4294967295) { + void* ret = &&i_71; + stack[ss++] = ret; + goto i_135; + } + i_71: + if(ic-- == 0) goto end; + i_72: + if(ic-- == 0) goto end; + i_73: + if(ic-- == 0) goto end; + i_74: + if(ic-- == 0) goto end; + i_75: + if(ic-- == 0) goto end; + i_76: + if(ic-- == 0) goto end; + i_77: + if(ic-- == 0) goto end; + i_78: + if(ic-- == 0) goto end; + i_79: + if(ic-- == 0) goto end; + i_80: + if(ic-- == 0) goto end; + i_81: + if(ic-- == 0) goto end; + i_82: + if(ic-- == 0) goto end; + i_83: + if(ic-- == 0) goto end; + i_84: + if(ic-- == 0) goto end; + branches++; + if((state += 1542024869) > 4294967295) { + void* ret = &&i_85; + stack[ss++] = ret; + goto i_221; + } + i_85: + if(ic-- == 0) goto end; + i_86: + if(ic-- == 0) goto end; + i_87: + if(ic-- == 0) goto end; + i_88: + if(ic-- == 0) goto end; + i_89: + if(ic-- == 0) goto end; + i_90: + if(ic-- == 0) goto end; + i_91: + if(ic-- == 0) goto end; + i_92: + if(ic-- == 0) goto end; + i_93: + if(ic-- == 0) goto end; + i_94: + if(ic-- == 0) goto end; + i_95: + if(ic-- == 0) goto end; + i_96: + if(ic-- == 0) goto end; + i_97: + if(ic-- == 0) goto end; + i_98: + if(ic-- == 0) goto end; + i_99: + if(ic-- == 0) goto end; + branches++; + if((state += 792504979) > 4294967295) { + void* ret = &&i_100; + stack[ss++] = ret; + goto i_103; + } + i_100: + if(ic-- == 0) goto end; + i_101: + if(ic-- == 0) goto end; + i_102: + if(ic-- == 0) goto end; + i_103: + if(ic-- == 0) goto end; + i_104: + if(ic-- == 0) goto end; + i_105: + if(ic-- == 0) goto end; + i_106: + if(ic-- == 0) goto end; + i_107: + if(ic-- == 0) goto end; + i_108: + if(ic-- == 0) goto end; + i_109: + if(ic-- == 0) goto end; + i_110: + if(ic-- == 0) goto end; + i_111: + if(ic-- == 0) goto end; + i_112: + if(ic-- == 0) goto end; + branches++; + if((state += 980709207) > 4294967295) { + if(ss <= 0) goto i_113; + void* target = stack[--ss]; + goto *target; + } + i_113: + if(ic-- == 0) goto end; + i_114: + if(ic-- == 0) goto end; + i_115: + if(ic-- == 0) goto end; + i_116: + if(ic-- == 0) goto end; + branches++; + if((state += 971078638) > 4294967295) { + if(ss <= 0) goto i_117; + void* target = stack[--ss]; + goto *target; + } + i_117: + if(ic-- == 0) goto end; + branches++; + if((state += 3848388585) > 4294967295) { + void* ret = &&i_118; + stack[ss++] = ret; + goto i_260; + } + i_118: + if(ic-- == 0) goto end; + branches++; + if((state += 2057363175) > 4294967295) { + if(ss <= 0) goto i_119; + void* target = stack[--ss]; + goto *target; + } + i_119: + if(ic-- == 0) goto end; + i_120: + if(ic-- == 0) goto end; + i_121: + if(ic-- == 0) goto end; + branches++; + if((state += 2208602459) > 4294967295) { + if(ss <= 0) goto i_122; + void* target = stack[--ss]; + goto *target; + } + i_122: + if(ic-- == 0) goto end; + i_123: + if(ic-- == 0) goto end; + branches++; + if((state += 2808635116) > 4294967295) { + if(ss <= 0) goto i_124; + void* target = stack[--ss]; + goto *target; + } + i_124: + if(ic-- == 0) goto end; + i_125: + if(ic-- == 0) goto end; + i_126: + if(ic-- == 0) goto end; + i_127: + if(ic-- == 0) goto end; + branches++; + if((state += 3545628586) > 4294967295) { + void* ret = &&i_128; + stack[ss++] = ret; + goto i_157; + } + i_128: + if(ic-- == 0) goto end; + branches++; + if((state += 4232781027) > 4294967295) { + void* ret = &&i_129; + stack[ss++] = ret; + goto i_164; + } + i_129: + if(ic-- == 0) goto end; + i_130: + if(ic-- == 0) goto end; + i_131: + if(ic-- == 0) goto end; + i_132: + if(ic-- == 0) goto end; + i_133: + if(ic-- == 0) goto end; + branches++; + if((state += 3244552482) > 4294967295) { + if(ss <= 0) goto i_134; + void* target = stack[--ss]; + goto *target; + } + i_134: + if(ic-- == 0) goto end; + i_135: + if(ic-- == 0) goto end; + i_136: + if(ic-- == 0) goto end; + branches++; + if((state += 3405076866) > 4294967295) { + void* ret = &&i_137; + stack[ss++] = ret; + goto i_160; + } + i_137: + if(ic-- == 0) goto end; + i_138: + if(ic-- == 0) goto end; + i_139: + if(ic-- == 0) goto end; + branches++; + if((state += 511632434) > 4294967295) { + void* ret = &&i_140; + stack[ss++] = ret; + goto i_346; + } + i_140: + if(ic-- == 0) goto end; + i_141: + if(ic-- == 0) goto end; + i_142: + if(ic-- == 0) goto end; + i_143: + if(ic-- == 0) goto end; + i_144: + if(ic-- == 0) goto end; + i_145: + if(ic-- == 0) goto end; + i_146: + if(ic-- == 0) goto end; + i_147: + if(ic-- == 0) goto end; + i_148: + if(ic-- == 0) goto end; + i_149: + if(ic-- == 0) goto end; + i_150: + if(ic-- == 0) goto end; + i_151: + if(ic-- == 0) goto end; + branches++; + if((state += 696643743) > 4294967295) { + void* ret = &&i_152; + stack[ss++] = ret; + goto i_161; + } + i_152: + if(ic-- == 0) goto end; + i_153: + if(ic-- == 0) goto end; + i_154: + if(ic-- == 0) goto end; + i_155: + if(ic-- == 0) goto end; + i_156: + if(ic-- == 0) goto end; + i_157: + if(ic-- == 0) goto end; + i_158: + if(ic-- == 0) goto end; + i_159: + if(ic-- == 0) goto end; + i_160: + if(ic-- == 0) goto end; + i_161: + if(ic-- == 0) goto end; + i_162: + if(ic-- == 0) goto end; + i_163: + if(ic-- == 0) goto end; + i_164: + if(ic-- == 0) goto end; + i_165: + if(ic-- == 0) goto end; + i_166: + if(ic-- == 0) goto end; + i_167: + if(ic-- == 0) goto end; + i_168: + if(ic-- == 0) goto end; + branches++; + if((state += 3553648057) > 4294967295) { + if(ss <= 0) goto i_169; + void* target = stack[--ss]; + goto *target; + } + i_169: + if(ic-- == 0) goto end; + branches++; + if((state += 2307482321) > 4294967295) { + if(ss <= 0) goto i_170; + void* target = stack[--ss]; + goto *target; + } + i_170: + if(ic-- == 0) goto end; + i_171: + if(ic-- == 0) goto end; + i_172: + if(ic-- == 0) goto end; + i_173: + if(ic-- == 0) goto end; + i_174: + if(ic-- == 0) goto end; + i_175: + if(ic-- == 0) goto end; + i_176: + if(ic-- == 0) goto end; + branches++; + if((state += 371928313) > 4294967295) { + if(ss <= 0) goto i_177; + void* target = stack[--ss]; + goto *target; + } + i_177: + if(ic-- == 0) goto end; + branches++; + if((state += 2322879371) > 4294967295) { + if(ss <= 0) goto i_178; + void* target = stack[--ss]; + goto *target; + } + i_178: + if(ic-- == 0) goto end; + i_179: + if(ic-- == 0) goto end; + i_180: + if(ic-- == 0) goto end; + i_181: + if(ic-- == 0) goto end; + i_182: + if(ic-- == 0) goto end; + branches++; + if((state += 1986846731) > 4294967295) { + void* ret = &&i_183; + stack[ss++] = ret; + goto i_415; + } + i_183: + if(ic-- == 0) goto end; + i_184: + if(ic-- == 0) goto end; + i_185: + if(ic-- == 0) goto end; + i_186: + if(ic-- == 0) goto end; + i_187: + if(ic-- == 0) goto end; + i_188: + if(ic-- == 0) goto end; + branches++; + if((state += 4140864485) > 4294967295) { + void* ret = &&i_189; + stack[ss++] = ret; + goto i_343; + } + i_189: + if(ic-- == 0) goto end; + i_190: + if(ic-- == 0) goto end; + branches++; + if((state += 328982338) > 4294967295) { + void* ret = &&i_191; + stack[ss++] = ret; + goto i_268; + } + i_191: + if(ic-- == 0) goto end; + i_192: + if(ic-- == 0) goto end; + i_193: + if(ic-- == 0) goto end; + i_194: + if(ic-- == 0) goto end; + i_195: + if(ic-- == 0) goto end; + i_196: + if(ic-- == 0) goto end; + i_197: + if(ic-- == 0) goto end; + i_198: + if(ic-- == 0) goto end; + i_199: + if(ic-- == 0) goto end; + i_200: + if(ic-- == 0) goto end; + i_201: + if(ic-- == 0) goto end; + i_202: + if(ic-- == 0) goto end; + i_203: + if(ic-- == 0) goto end; + i_204: + if(ic-- == 0) goto end; + i_205: + if(ic-- == 0) goto end; + i_206: + if(ic-- == 0) goto end; + i_207: + if(ic-- == 0) goto end; + i_208: + if(ic-- == 0) goto end; + branches++; + if((state += 4134670764) > 4294967295) { + void* ret = &&i_209; + stack[ss++] = ret; + goto i_442; + } + i_209: + if(ic-- == 0) goto end; + i_210: + if(ic-- == 0) goto end; + i_211: + if(ic-- == 0) goto end; + i_212: + if(ic-- == 0) goto end; + i_213: + if(ic-- == 0) goto end; + i_214: + if(ic-- == 0) goto end; + i_215: + if(ic-- == 0) goto end; + i_216: + if(ic-- == 0) goto end; + i_217: + if(ic-- == 0) goto end; + i_218: + if(ic-- == 0) goto end; + i_219: + if(ic-- == 0) goto end; + i_220: + if(ic-- == 0) goto end; + i_221: + if(ic-- == 0) goto end; + branches++; + if((state += 2822139845) > 4294967295) { + void* ret = &&i_222; + stack[ss++] = ret; + goto i_406; + } + i_222: + if(ic-- == 0) goto end; + branches++; + if((state += 918537004) > 4294967295) { + void* ret = &&i_223; + stack[ss++] = ret; + goto i_394; + } + i_223: + if(ic-- == 0) goto end; + branches++; + if((state += 1196865954) > 4294967295) { + void* ret = &&i_224; + stack[ss++] = ret; + goto i_466; + } + i_224: + if(ic-- == 0) goto end; + i_225: + if(ic-- == 0) goto end; + i_226: + if(ic-- == 0) goto end; + i_227: + if(ic-- == 0) goto end; + i_228: + if(ic-- == 0) goto end; + i_229: + if(ic-- == 0) goto end; + i_230: + if(ic-- == 0) goto end; + i_231: + if(ic-- == 0) goto end; + i_232: + if(ic-- == 0) goto end; + i_233: + if(ic-- == 0) goto end; + i_234: + if(ic-- == 0) goto end; + i_235: + if(ic-- == 0) goto end; + branches++; + if((state += 590251524) > 4294967295) { + void* ret = &&i_236; + stack[ss++] = ret; + goto i_385; + } + i_236: + if(ic-- == 0) goto end; + i_237: + if(ic-- == 0) goto end; + i_238: + if(ic-- == 0) goto end; + i_239: + if(ic-- == 0) goto end; + i_240: + if(ic-- == 0) goto end; + i_241: + if(ic-- == 0) goto end; + i_242: + if(ic-- == 0) goto end; + i_243: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2452641289) { + void* ret = &&i_244; + stack[ss++] = ret; + goto i_402; + } + i_244: + if(ic-- == 0) goto end; + i_245: + if(ic-- == 0) goto end; + i_246: + if(ic-- == 0) goto end; + branches++; + if((state += 4170012753) > 4294967295) { + void* ret = &&i_247; + stack[ss++] = ret; + goto i_249; + } + i_247: + if(ic-- == 0) goto end; + i_248: + if(ic-- == 0) goto end; + i_249: + if(ic-- == 0) goto end; + i_250: + if(ic-- == 0) goto end; + branches++; + if((state += 3362009392) > 4294967295) { + if(ss <= 0) goto i_251; + void* target = stack[--ss]; + goto *target; + } + i_251: + if(ic-- == 0) goto end; + i_252: + if(ic-- == 0) goto end; + i_253: + if(ic-- == 0) goto end; + i_254: + if(ic-- == 0) goto end; + i_255: + if(ic-- == 0) goto end; + i_256: + if(ic-- == 0) goto end; + branches++; + if((state += 4054309882) > 4294967295) { + void* ret = &&i_257; + stack[ss++] = ret; + goto i_420; + } + i_257: + if(ic-- == 0) goto end; + branches++; + if((state += 593509743) > 4294967295) { + void* ret = &&i_258; + stack[ss++] = ret; + goto i_330; + } + i_258: + if(ic-- == 0) goto end; + i_259: + if(ic-- == 0) goto end; + i_260: + if(ic-- == 0) goto end; + i_261: + if(ic-- == 0) goto end; + i_262: + if(ic-- == 0) goto end; + i_263: + if(ic-- == 0) goto end; + i_264: + if(ic-- == 0) goto end; + i_265: + if(ic-- == 0) goto end; + i_266: + if(ic-- == 0) goto end; + i_267: + if(ic-- == 0) goto end; + i_268: + if(ic-- == 0) goto end; + branches++; + if((state += 2747033421) > 4294967295) { + void* ret = &&i_269; + stack[ss++] = ret; + goto i_395; + } + i_269: + if(ic-- == 0) goto end; + i_270: + if(ic-- == 0) goto end; + i_271: + if(ic-- == 0) goto end; + i_272: + if(ic-- == 0) goto end; + i_273: + if(ic-- == 0) goto end; + branches++; + if((state += 3684732774) > 4294967295) { + if(ss <= 0) goto i_274; + void* target = stack[--ss]; + goto *target; + } + i_274: + if(ic-- == 0) goto end; + i_275: + if(ic-- == 0) goto end; + i_276: + if(ic-- == 0) goto end; + i_277: + if(ic-- == 0) goto end; + i_278: + if(ic-- == 0) goto end; + i_279: + if(ic-- == 0) goto end; + i_280: + if(ic-- == 0) goto end; + i_281: + if(ic-- == 0) goto end; + i_282: + if(ic-- == 0) goto end; + branches++; + if((state += 309376903) > 4294967295) { + void* ret = &&i_283; + stack[ss++] = ret; + goto i_317; + } + i_283: + if(ic-- == 0) goto end; + i_284: + if(ic-- == 0) goto end; + i_285: + if(ic-- == 0) goto end; + branches++; + if((state += 219150529) > 4294967295) { + if(ss <= 0) goto i_286; + void* target = stack[--ss]; + goto *target; + } + i_286: + if(ic-- == 0) goto end; + branches++; + if((state += 2594130359) > 4294967295) { + if(ss <= 0) goto i_287; + void* target = stack[--ss]; + goto *target; + } + i_287: + if(ic-- == 0) goto end; + i_288: + if(ic-- == 0) goto end; + i_289: + if(ic-- == 0) goto end; + i_290: + if(ic-- == 0) goto end; + i_291: + if(ic-- == 0) goto end; + i_292: + if(ic-- == 0) goto end; + i_293: + if(ic-- == 0) goto end; + i_294: + if(ic-- == 0) goto end; + i_295: + if(ic-- == 0) goto end; + i_296: + if(ic-- == 0) goto end; + i_297: + if(ic-- == 0) goto end; + i_298: + if(ic-- == 0) goto end; + i_299: + if(ic-- == 0) goto end; + i_300: + if(ic-- == 0) goto end; + branches++; + if((state += 2892835113) > 4294967295) { + void* ret = &&i_301; + stack[ss++] = ret; + goto i_457; + } + i_301: + if(ic-- == 0) goto end; + i_302: + if(ic-- == 0) goto end; + branches++; + if((state += 3373689969) > 4294967295) { + if(ss <= 0) goto i_303; + void* target = stack[--ss]; + goto *target; + } + i_303: + if(ic-- == 0) goto end; + branches++; + if((state += 3569068444) > 4294967295) { + void* ret = &&i_304; + stack[ss++] = ret; + goto i_508; + } + i_304: + if(ic-- == 0) goto end; + i_305: + if(ic-- == 0) goto end; + i_306: + if(ic-- == 0) goto end; + i_307: + if(ic-- == 0) goto end; + branches++; + if((state += 2969939441) > 4294967295) { + if(ss <= 0) goto i_308; + void* target = stack[--ss]; + goto *target; + } + i_308: + if(ic-- == 0) goto end; + i_309: + if(ic-- == 0) goto end; + i_310: + if(ic-- == 0) goto end; + i_311: + if(ic-- == 0) goto end; + i_312: + if(ic-- == 0) goto end; + i_313: + if(ic-- == 0) goto end; + i_314: + if(ic-- == 0) goto end; + i_315: + if(ic-- == 0) goto end; + branches++; + if((state += 3588049267) > 4294967295) { + void* ret = &&i_316; + stack[ss++] = ret; + goto i_413; + } + i_316: + if(ic-- == 0) goto end; + i_317: + if(ic-- == 0) goto end; + i_318: + if(ic-- == 0) goto end; + i_319: + if(ic-- == 0) goto end; + i_320: + if(ic-- == 0) goto end; + i_321: + if(ic-- == 0) goto end; + i_322: + if(ic-- == 0) goto end; + i_323: + if(ic-- == 0) goto end; + i_324: + if(ic-- == 0) goto end; + i_325: + if(ic-- == 0) goto end; + i_326: + if(ic-- == 0) goto end; + i_327: + if(ic-- == 0) goto end; + i_328: + if(ic-- == 0) goto end; + i_329: + if(ic-- == 0) goto end; + i_330: + if(ic-- == 0) goto end; + i_331: + if(ic-- == 0) goto end; + i_332: + if(ic-- == 0) goto end; + i_333: + if(ic-- == 0) goto end; + i_334: + if(ic-- == 0) goto end; + i_335: + if(ic-- == 0) goto end; + i_336: + if(ic-- == 0) goto end; + branches++; + if((state += 1190547036) > 4294967295) { + if(ss <= 0) goto i_337; + void* target = stack[--ss]; + goto *target; + } + i_337: + if(ic-- == 0) goto end; + i_338: + if(ic-- == 0) goto end; + i_339: + if(ic-- == 0) goto end; + i_340: + if(ic-- == 0) goto end; + i_341: + if(ic-- == 0) goto end; + i_342: + if(ic-- == 0) goto end; + i_343: + if(ic-- == 0) goto end; + i_344: + if(ic-- == 0) goto end; + i_345: + if(ic-- == 0) goto end; + i_346: + if(ic-- == 0) goto end; + i_347: + if(ic-- == 0) goto end; + i_348: + if(ic-- == 0) goto end; + i_349: + if(ic-- == 0) goto end; + i_350: + if(ic-- == 0) goto end; + branches++; + if((state += 4115343926) > 4294967295) { + void* ret = &&i_351; + stack[ss++] = ret; + goto i_541; + } + i_351: + if(ic-- == 0) goto end; + i_352: + if(ic-- == 0) goto end; + i_353: + if(ic-- == 0) goto end; + i_354: + if(ic-- == 0) goto end; + i_355: + if(ic-- == 0) goto end; + i_356: + if(ic-- == 0) goto end; + i_357: + if(ic-- == 0) goto end; + i_358: + if(ic-- == 0) goto end; + i_359: + if(ic-- == 0) goto end; + i_360: + if(ic-- == 0) goto end; + i_361: + if(ic-- == 0) goto end; + i_362: + if(ic-- == 0) goto end; + i_363: + if(ic-- == 0) goto end; + i_364: + if(ic-- == 0) goto end; + branches++; + if((state += 625597055) > 4294967295) { + if(ss <= 0) goto i_365; + void* target = stack[--ss]; + goto *target; + } + i_365: + if(ic-- == 0) goto end; + i_366: + if(ic-- == 0) goto end; + i_367: + if(ic-- == 0) goto end; + i_368: + if(ic-- == 0) goto end; + branches++; + if((state += 2921020832) > 4294967295) { + void* ret = &&i_369; + stack[ss++] = ret; + goto i_403; + } + i_369: + if(ic-- == 0) goto end; + i_370: + if(ic-- == 0) goto end; + i_371: + if(ic-- == 0) goto end; + i_372: + if(ic-- == 0) goto end; + i_373: + if(ic-- == 0) goto end; + branches++; + if((state += 2479284681) > 4294967295) { + void* ret = &&i_374; + stack[ss++] = ret; + goto i_564; + } + i_374: + if(ic-- == 0) goto end; + i_375: + if(ic-- == 0) goto end; + i_376: + if(ic-- == 0) goto end; + i_377: + if(ic-- == 0) goto end; + i_378: + if(ic-- == 0) goto end; + i_379: + if(ic-- == 0) goto end; + i_380: + if(ic-- == 0) goto end; + i_381: + if(ic-- == 0) goto end; + branches++; + if((state += 559008306) > 4294967295) { + void* ret = &&i_382; + stack[ss++] = ret; + goto i_547; + } + i_382: + if(ic-- == 0) goto end; + branches++; + if((state += 1232165017) > 4294967295) { + if(ss <= 0) goto i_383; + void* target = stack[--ss]; + goto *target; + } + i_383: + if(ic-- == 0) goto end; + i_384: + if(ic-- == 0) goto end; + i_385: + if(ic-- == 0) goto end; + i_386: + if(ic-- == 0) goto end; + i_387: + if(ic-- == 0) goto end; + i_388: + if(ic-- == 0) goto end; + i_389: + if(ic-- == 0) goto end; + i_390: + if(ic-- == 0) goto end; + i_391: + if(ic-- == 0) goto end; + i_392: + if(ic-- == 0) goto end; + i_393: + if(ic-- == 0) goto end; + i_394: + if(ic-- == 0) goto end; + i_395: + if(ic-- == 0) goto end; + i_396: + if(ic-- == 0) goto end; + i_397: + if(ic-- == 0) goto end; + i_398: + if(ic-- == 0) goto end; + i_399: + if(ic-- == 0) goto end; + i_400: + if(ic-- == 0) goto end; + i_401: + if(ic-- == 0) goto end; + i_402: + if(ic-- == 0) goto end; + i_403: + if(ic-- == 0) goto end; + i_404: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 152819674) { + void* ret = &&i_405; + stack[ss++] = ret; + goto i_424; + } + i_405: + if(ic-- == 0) goto end; + i_406: + if(ic-- == 0) goto end; + i_407: + if(ic-- == 0) goto end; + i_408: + if(ic-- == 0) goto end; + i_409: + if(ic-- == 0) goto end; + branches++; + if((state += 1237514854) > 4294967295) { + if(ss <= 0) goto i_410; + void* target = stack[--ss]; + goto *target; + } + i_410: + if(ic-- == 0) goto end; + i_411: + if(ic-- == 0) goto end; + branches++; + if((state += 1706351018) > 4294967295) { + if(ss <= 0) goto i_412; + void* target = stack[--ss]; + goto *target; + } + i_412: + if(ic-- == 0) goto end; + branches++; + if((state += 3571797961) > 4294967295) { + void* ret = &&i_413; + stack[ss++] = ret; + goto i_591; + } + i_413: + if(ic-- == 0) goto end; + i_414: + if(ic-- == 0) goto end; + branches++; + if((state += 3070440026) > 4294967295) { + if(ss <= 0) goto i_415; + void* target = stack[--ss]; + goto *target; + } + i_415: + if(ic-- == 0) goto end; + i_416: + if(ic-- == 0) goto end; + i_417: + if(ic-- == 0) goto end; + i_418: + if(ic-- == 0) goto end; + i_419: + if(ic-- == 0) goto end; + i_420: + if(ic-- == 0) goto end; + i_421: + if(ic-- == 0) goto end; + i_422: + if(ic-- == 0) goto end; + branches++; + if((state += 2304247836) > 4294967295) { + if(ss <= 0) goto i_423; + void* target = stack[--ss]; + goto *target; + } + i_423: + if(ic-- == 0) goto end; + i_424: + if(ic-- == 0) goto end; + i_425: + if(ic-- == 0) goto end; + i_426: + if(ic-- == 0) goto end; + i_427: + if(ic-- == 0) goto end; + i_428: + if(ic-- == 0) goto end; + branches++; + if((state += 1446234727) > 4294967295) { + void* ret = &&i_429; + stack[ss++] = ret; + goto i_463; + } + i_429: + if(ic-- == 0) goto end; + i_430: + if(ic-- == 0) goto end; + branches++; + if((state += 2010984968) > 4294967295) { + void* ret = &&i_431; + stack[ss++] = ret; + goto i_668; + } + i_431: + if(ic-- == 0) goto end; + i_432: + if(ic-- == 0) goto end; + i_433: + if(ic-- == 0) goto end; + i_434: + if(ic-- == 0) goto end; + i_435: + if(ic-- == 0) goto end; + i_436: + if(ic-- == 0) goto end; + i_437: + if(ic-- == 0) goto end; + i_438: + if(ic-- == 0) goto end; + i_439: + if(ic-- == 0) goto end; + i_440: + if(ic-- == 0) goto end; + i_441: + if(ic-- == 0) goto end; + branches++; + if((state += 726364629) > 4294967295) { + void* ret = &&i_442; + stack[ss++] = ret; + goto i_570; + } + i_442: + if(ic-- == 0) goto end; + i_443: + if(ic-- == 0) goto end; + i_444: + if(ic-- == 0) goto end; + i_445: + if(ic-- == 0) goto end; + i_446: + if(ic-- == 0) goto end; + i_447: + if(ic-- == 0) goto end; + i_448: + if(ic-- == 0) goto end; + i_449: + if(ic-- == 0) goto end; + i_450: + if(ic-- == 0) goto end; + i_451: + if(ic-- == 0) goto end; + i_452: + if(ic-- == 0) goto end; + i_453: + if(ic-- == 0) goto end; + i_454: + if(ic-- == 0) goto end; + i_455: + if(ic-- == 0) goto end; + i_456: + if(ic-- == 0) goto end; + i_457: + if(ic-- == 0) goto end; + i_458: + if(ic-- == 0) goto end; + i_459: + if(ic-- == 0) goto end; + i_460: + if(ic-- == 0) goto end; + i_461: + if(ic-- == 0) goto end; + i_462: + if(ic-- == 0) goto end; + i_463: + if(ic-- == 0) goto end; + i_464: + if(ic-- == 0) goto end; + i_465: + if(ic-- == 0) goto end; + i_466: + if(ic-- == 0) goto end; + i_467: + if(ic-- == 0) goto end; + i_468: + if(ic-- == 0) goto end; + i_469: + if(ic-- == 0) goto end; + i_470: + if(ic-- == 0) goto end; + i_471: + if(ic-- == 0) goto end; + i_472: + if(ic-- == 0) goto end; + i_473: + if(ic-- == 0) goto end; + i_474: + if(ic-- == 0) goto end; + i_475: + if(ic-- == 0) goto end; + branches++; + if((state += 3521149299) > 4294967295) { + void* ret = &&i_476; + stack[ss++] = ret; + goto i_657; + } + i_476: + if(ic-- == 0) goto end; + i_477: + if(ic-- == 0) goto end; + i_478: + if(ic-- == 0) goto end; + i_479: + if(ic-- == 0) goto end; + i_480: + if(ic-- == 0) goto end; + i_481: + if(ic-- == 0) goto end; + i_482: + if(ic-- == 0) goto end; + i_483: + if(ic-- == 0) goto end; + branches++; + if((state += 3375122053) > 4294967295) { + if(ss <= 0) goto i_484; + void* target = stack[--ss]; + goto *target; + } + i_484: + if(ic-- == 0) goto end; + i_485: + if(ic-- == 0) goto end; + i_486: + if(ic-- == 0) goto end; + i_487: + if(ic-- == 0) goto end; + branches++; + if((state += 3835932753) > 4294967295) { + if(ss <= 0) goto i_488; + void* target = stack[--ss]; + goto *target; + } + i_488: + if(ic-- == 0) goto end; + i_489: + if(ic-- == 0) goto end; + i_490: + if(ic-- == 0) goto end; + i_491: + if(ic-- == 0) goto end; + i_492: + if(ic-- == 0) goto end; + i_493: + if(ic-- == 0) goto end; + i_494: + if(ic-- == 0) goto end; + i_495: + if(ic-- == 0) goto end; + i_496: + if(ic-- == 0) goto end; + i_497: + if(ic-- == 0) goto end; + i_498: + if(ic-- == 0) goto end; + i_499: + if(ic-- == 0) goto end; + i_500: + if(ic-- == 0) goto end; + i_501: + if(ic-- == 0) goto end; + i_502: + if(ic-- == 0) goto end; + branches++; + if((state += 2796388936) > 4294967295) { + if(ss <= 0) goto i_503; + void* target = stack[--ss]; + goto *target; + } + i_503: + if(ic-- == 0) goto end; + i_504: + if(ic-- == 0) goto end; + i_505: + if(ic-- == 0) goto end; + i_506: + if(ic-- == 0) goto end; + i_507: + if(ic-- == 0) goto end; + branches++; + if((state += 1247141878) > 4294967295) { + void* ret = &&i_508; + stack[ss++] = ret; + goto i_730; + } + i_508: + if(ic-- == 0) goto end; + i_509: + if(ic-- == 0) goto end; + i_510: + if(ic-- == 0) goto end; + i_511: + if(ic-- == 0) goto end; + i_512: + if(ic-- == 0) goto end; + i_513: + if(ic-- == 0) goto end; + branches++; + if((state += 1118508659) > 4294967295) { + void* ret = &&i_514; + stack[ss++] = ret; + goto i_570; + } + i_514: + if(ic-- == 0) goto end; + branches++; + if((state += 3814103514) > 4294967295) { + void* ret = &&i_515; + stack[ss++] = ret; + goto i_521; + } + i_515: + if(ic-- == 0) goto end; + i_516: + if(ic-- == 0) goto end; + branches++; + if((state += 1924324783) > 4294967295) { + void* ret = &&i_517; + stack[ss++] = ret; + goto i_765; + } + i_517: + if(ic-- == 0) goto end; + i_518: + if(ic-- == 0) goto end; + i_519: + if(ic-- == 0) goto end; + i_520: + if(ic-- == 0) goto end; + i_521: + if(ic-- == 0) goto end; + i_522: + if(ic-- == 0) goto end; + i_523: + if(ic-- == 0) goto end; + i_524: + if(ic-- == 0) goto end; + i_525: + if(ic-- == 0) goto end; + i_526: + if(ic-- == 0) goto end; + i_527: + if(ic-- == 0) goto end; + i_528: + if(ic-- == 0) goto end; + i_529: + if(ic-- == 0) goto end; + i_530: + if(ic-- == 0) goto end; + i_531: + if(ic-- == 0) goto end; + i_532: + if(ic-- == 0) goto end; + i_533: + if(ic-- == 0) goto end; + i_534: + if(ic-- == 0) goto end; + i_535: + if(ic-- == 0) goto end; + i_536: + if(ic-- == 0) goto end; + i_537: + if(ic-- == 0) goto end; + i_538: + if(ic-- == 0) goto end; + i_539: + if(ic-- == 0) goto end; + i_540: + if(ic-- == 0) goto end; + branches++; + if((state += 126722253) > 4294967295) { + if(ss <= 0) goto i_541; + void* target = stack[--ss]; + goto *target; + } + i_541: + if(ic-- == 0) goto end; + i_542: + if(ic-- == 0) goto end; + i_543: + if(ic-- == 0) goto end; + i_544: + if(ic-- == 0) goto end; + i_545: + if(ic-- == 0) goto end; + i_546: + if(ic-- == 0) goto end; + i_547: + if(ic-- == 0) goto end; + i_548: + if(ic-- == 0) goto end; + i_549: + if(ic-- == 0) goto end; + i_550: + if(ic-- == 0) goto end; + i_551: + if(ic-- == 0) goto end; + i_552: + if(ic-- == 0) goto end; + branches++; + if((state += 3051608332) > 4294967295) { + void* ret = &&i_553; + stack[ss++] = ret; + goto i_604; + } + i_553: + if(ic-- == 0) goto end; + i_554: + if(ic-- == 0) goto end; + i_555: + if(ic-- == 0) goto end; + i_556: + if(ic-- == 0) goto end; + i_557: + if(ic-- == 0) goto end; + i_558: + if(ic-- == 0) goto end; + branches++; + if((state += 3676004017) > 4294967295) { + void* ret = &&i_559; + stack[ss++] = ret; + goto i_645; + } + i_559: + if(ic-- == 0) goto end; + i_560: + if(ic-- == 0) goto end; + branches++; + if((state += 808006198) > 4294967295) { + void* ret = &&i_561; + stack[ss++] = ret; + goto i_656; + } + i_561: + if(ic-- == 0) goto end; + i_562: + if(ic-- == 0) goto end; + i_563: + if(ic-- == 0) goto end; + i_564: + if(ic-- == 0) goto end; + i_565: + if(ic-- == 0) goto end; + i_566: + if(ic-- == 0) goto end; + i_567: + if(ic-- == 0) goto end; + i_568: + if(ic-- == 0) goto end; + i_569: + if(ic-- == 0) goto end; + branches++; + if((state += 1017591791) > 4294967295) { + void* ret = &&i_570; + stack[ss++] = ret; + goto i_637; + } + i_570: + if(ic-- == 0) goto end; + i_571: + if(ic-- == 0) goto end; + branches++; + if((state += 2494873158) > 4294967295) { + if(ss <= 0) goto i_572; + void* target = stack[--ss]; + goto *target; + } + i_572: + if(ic-- == 0) goto end; + i_573: + if(ic-- == 0) goto end; + i_574: + if(ic-- == 0) goto end; + i_575: + if(ic-- == 0) goto end; + i_576: + if(ic-- == 0) goto end; + i_577: + if(ic-- == 0) goto end; + i_578: + if(ic-- == 0) goto end; + i_579: + if(ic-- == 0) goto end; + i_580: + if(ic-- == 0) goto end; + i_581: + if(ic-- == 0) goto end; + i_582: + if(ic-- == 0) goto end; + i_583: + if(ic-- == 0) goto end; + i_584: + if(ic-- == 0) goto end; + i_585: + if(ic-- == 0) goto end; + i_586: + if(ic-- == 0) goto end; + i_587: + if(ic-- == 0) goto end; + i_588: + if(ic-- == 0) goto end; + i_589: + if(ic-- == 0) goto end; + i_590: + if(ic-- == 0) goto end; + i_591: + if(ic-- == 0) goto end; + i_592: + if(ic-- == 0) goto end; + i_593: + if(ic-- == 0) goto end; + i_594: + if(ic-- == 0) goto end; + i_595: + if(ic-- == 0) goto end; + i_596: + if(ic-- == 0) goto end; + branches++; + if((state += 4909130) > 4294967295) { + void* ret = &&i_597; + stack[ss++] = ret; + goto i_622; + } + i_597: + if(ic-- == 0) goto end; + i_598: + if(ic-- == 0) goto end; + i_599: + if(ic-- == 0) goto end; + i_600: + if(ic-- == 0) goto end; + i_601: + if(ic-- == 0) goto end; + i_602: + if(ic-- == 0) goto end; + i_603: + if(ic-- == 0) goto end; + i_604: + if(ic-- == 0) goto end; + i_605: + if(ic-- == 0) goto end; + i_606: + if(ic-- == 0) goto end; + i_607: + if(ic-- == 0) goto end; + i_608: + if(ic-- == 0) goto end; + i_609: + if(ic-- == 0) goto end; + i_610: + if(ic-- == 0) goto end; + i_611: + if(ic-- == 0) goto end; + i_612: + if(ic-- == 0) goto end; + i_613: + if(ic-- == 0) goto end; + i_614: + if(ic-- == 0) goto end; + i_615: + if(ic-- == 0) goto end; + i_616: + if(ic-- == 0) goto end; + i_617: + if(ic-- == 0) goto end; + i_618: + if(ic-- == 0) goto end; + i_619: + if(ic-- == 0) goto end; + i_620: + if(ic-- == 0) goto end; + branches++; + if((state += 4170589735) > 4294967295) { + void* ret = &&i_621; + stack[ss++] = ret; + goto i_666; + } + i_621: + if(ic-- == 0) goto end; + i_622: + if(ic-- == 0) goto end; + i_623: + if(ic-- == 0) goto end; + i_624: + if(ic-- == 0) goto end; + i_625: + if(ic-- == 0) goto end; + i_626: + if(ic-- == 0) goto end; + branches++; + if((state += 1027138614) > 4294967295) { + if(ss <= 0) goto i_627; + void* target = stack[--ss]; + goto *target; + } + i_627: + if(ic-- == 0) goto end; + i_628: + if(ic-- == 0) goto end; + i_629: + if(ic-- == 0) goto end; + i_630: + if(ic-- == 0) goto end; + i_631: + if(ic-- == 0) goto end; + i_632: + if(ic-- == 0) goto end; + i_633: + if(ic-- == 0) goto end; + i_634: + if(ic-- == 0) goto end; + i_635: + if(ic-- == 0) goto end; + i_636: + if(ic-- == 0) goto end; + i_637: + if(ic-- == 0) goto end; + i_638: + if(ic-- == 0) goto end; + i_639: + if(ic-- == 0) goto end; + i_640: + if(ic-- == 0) goto end; + i_641: + if(ic-- == 0) goto end; + i_642: + if(ic-- == 0) goto end; + branches++; + if((state += 478668193) > 4294967295) { + void* ret = &&i_643; + stack[ss++] = ret; + goto i_801; + } + i_643: + if(ic-- == 0) goto end; + i_644: + if(ic-- == 0) goto end; + i_645: + if(ic-- == 0) goto end; + branches++; + if((state += 2000561671) > 4294967295) { + if(ss <= 0) goto i_646; + void* target = stack[--ss]; + goto *target; + } + i_646: + if(ic-- == 0) goto end; + i_647: + if(ic-- == 0) goto end; + i_648: + if(ic-- == 0) goto end; + i_649: + if(ic-- == 0) goto end; + i_650: + if(ic-- == 0) goto end; + i_651: + if(ic-- == 0) goto end; + i_652: + if(ic-- == 0) goto end; + i_653: + if(ic-- == 0) goto end; + i_654: + if(ic-- == 0) goto end; + i_655: + if(ic-- == 0) goto end; + i_656: + if(ic-- == 0) goto end; + i_657: + if(ic-- == 0) goto end; + branches++; + if((state += 157265782) > 4294967295) { + if(ss <= 0) goto i_658; + void* target = stack[--ss]; + goto *target; + } + i_658: + if(ic-- == 0) goto end; + i_659: + if(ic-- == 0) goto end; + i_660: + if(ic-- == 0) goto end; + i_661: + if(ic-- == 0) goto end; + i_662: + if(ic-- == 0) goto end; + i_663: + if(ic-- == 0) goto end; + i_664: + if(ic-- == 0) goto end; + i_665: + if(ic-- == 0) goto end; + i_666: + if(ic-- == 0) goto end; + i_667: + if(ic-- == 0) goto end; + i_668: + if(ic-- == 0) goto end; + i_669: + if(ic-- == 0) goto end; + i_670: + if(ic-- == 0) goto end; + i_671: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3214452447) { + void* ret = &&i_672; + stack[ss++] = ret; + goto i_883; + } + i_672: + if(ic-- == 0) goto end; + i_673: + if(ic-- == 0) goto end; + i_674: + if(ic-- == 0) goto end; + i_675: + if(ic-- == 0) goto end; + i_676: + if(ic-- == 0) goto end; + i_677: + if(ic-- == 0) goto end; + i_678: + if(ic-- == 0) goto end; + i_679: + if(ic-- == 0) goto end; + i_680: + if(ic-- == 0) goto end; + i_681: + if(ic-- == 0) goto end; + i_682: + if(ic-- == 0) goto end; + branches++; + if((state += 288253489) > 4294967295) { + if(ss <= 0) goto i_683; + void* target = stack[--ss]; + goto *target; + } + i_683: + if(ic-- == 0) goto end; + i_684: + if(ic-- == 0) goto end; + i_685: + if(ic-- == 0) goto end; + i_686: + if(ic-- == 0) goto end; + i_687: + if(ic-- == 0) goto end; + i_688: + if(ic-- == 0) goto end; + i_689: + if(ic-- == 0) goto end; + i_690: + if(ic-- == 0) goto end; + i_691: + if(ic-- == 0) goto end; + i_692: + if(ic-- == 0) goto end; + i_693: + if(ic-- == 0) goto end; + branches++; + if((state += 3482595217) > 4294967295) { + if(ss <= 0) goto i_694; + void* target = stack[--ss]; + goto *target; + } + i_694: + if(ic-- == 0) goto end; + branches++; + if((state += 3120377816) > 4294967295) { + if(ss <= 0) goto i_695; + void* target = stack[--ss]; + goto *target; + } + i_695: + if(ic-- == 0) goto end; + i_696: + if(ic-- == 0) goto end; + i_697: + if(ic-- == 0) goto end; + branches++; + if((state += 4245221468) > 4294967295) { + void* ret = &&i_698; + stack[ss++] = ret; + goto i_703; + } + i_698: + if(ic-- == 0) goto end; + i_699: + if(ic-- == 0) goto end; + i_700: + if(ic-- == 0) goto end; + i_701: + if(ic-- == 0) goto end; + i_702: + if(ic-- == 0) goto end; + i_703: + if(ic-- == 0) goto end; + i_704: + if(ic-- == 0) goto end; + i_705: + if(ic-- == 0) goto end; + branches++; + if((state += 2319198595) > 4294967295) { + void* ret = &&i_706; + stack[ss++] = ret; + goto i_892; + } + i_706: + if(ic-- == 0) goto end; + i_707: + if(ic-- == 0) goto end; + i_708: + if(ic-- == 0) goto end; + branches++; + if((state += 2399187042) > 4294967295) { + void* ret = &&i_709; + stack[ss++] = ret; + goto i_796; + } + i_709: + if(ic-- == 0) goto end; + i_710: + if(ic-- == 0) goto end; + i_711: + if(ic-- == 0) goto end; + i_712: + if(ic-- == 0) goto end; + i_713: + if(ic-- == 0) goto end; + i_714: + if(ic-- == 0) goto end; + i_715: + if(ic-- == 0) goto end; + i_716: + if(ic-- == 0) goto end; + i_717: + if(ic-- == 0) goto end; + i_718: + if(ic-- == 0) goto end; + i_719: + if(ic-- == 0) goto end; + i_720: + if(ic-- == 0) goto end; + i_721: + if(ic-- == 0) goto end; + i_722: + if(ic-- == 0) goto end; + i_723: + if(ic-- == 0) goto end; + i_724: + if(ic-- == 0) goto end; + i_725: + if(ic-- == 0) goto end; + i_726: + if(ic-- == 0) goto end; + i_727: + if(ic-- == 0) goto end; + i_728: + if(ic-- == 0) goto end; + branches++; + if((state += 4184393193) > 4294967295) { + void* ret = &&i_729; + stack[ss++] = ret; + goto i_770; + } + i_729: + if(ic-- == 0) goto end; + i_730: + if(ic-- == 0) goto end; + i_731: + if(ic-- == 0) goto end; + i_732: + if(ic-- == 0) goto end; + i_733: + if(ic-- == 0) goto end; + i_734: + if(ic-- == 0) goto end; + i_735: + if(ic-- == 0) goto end; + i_736: + if(ic-- == 0) goto end; + i_737: + if(ic-- == 0) goto end; + i_738: + if(ic-- == 0) goto end; + i_739: + if(ic-- == 0) goto end; + i_740: + if(ic-- == 0) goto end; + i_741: + if(ic-- == 0) goto end; + i_742: + if(ic-- == 0) goto end; + i_743: + if(ic-- == 0) goto end; + i_744: + if(ic-- == 0) goto end; + i_745: + if(ic-- == 0) goto end; + i_746: + if(ic-- == 0) goto end; + i_747: + if(ic-- == 0) goto end; + i_748: + if(ic-- == 0) goto end; + i_749: + if(ic-- == 0) goto end; + i_750: + if(ic-- == 0) goto end; + branches++; + if((state += 1311714633) > 4294967295) { + void* ret = &&i_751; + stack[ss++] = ret; + goto i_801; + } + i_751: + if(ic-- == 0) goto end; + i_752: + if(ic-- == 0) goto end; + i_753: + if(ic-- == 0) goto end; + i_754: + if(ic-- == 0) goto end; + i_755: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2990284553) { + void* ret = &&i_756; + stack[ss++] = ret; + goto i_1009; + } + i_756: + if(ic-- == 0) goto end; + i_757: + if(ic-- == 0) goto end; + branches++; + if((state += 2525881729) > 4294967295) { + if(ss <= 0) goto i_758; + void* target = stack[--ss]; + goto *target; + } + i_758: + if(ic-- == 0) goto end; + i_759: + if(ic-- == 0) goto end; + i_760: + if(ic-- == 0) goto end; + i_761: + if(ic-- == 0) goto end; + i_762: + if(ic-- == 0) goto end; + i_763: + if(ic-- == 0) goto end; + i_764: + if(ic-- == 0) goto end; + branches++; + if((state += 1536893296) > 4294967295) { + if(ss <= 0) goto i_765; + void* target = stack[--ss]; + goto *target; + } + i_765: + if(ic-- == 0) goto end; + i_766: + if(ic-- == 0) goto end; + i_767: + if(ic-- == 0) goto end; + i_768: + if(ic-- == 0) goto end; + i_769: + if(ic-- == 0) goto end; + i_770: + if(ic-- == 0) goto end; + i_771: + if(ic-- == 0) goto end; + i_772: + if(ic-- == 0) goto end; + i_773: + if(ic-- == 0) goto end; + i_774: + if(ic-- == 0) goto end; + i_775: + if(ic-- == 0) goto end; + i_776: + if(ic-- == 0) goto end; + i_777: + if(ic-- == 0) goto end; + i_778: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1484067825) { + void* ret = &&i_779; + stack[ss++] = ret; + goto i_893; + } + i_779: + if(ic-- == 0) goto end; + i_780: + if(ic-- == 0) goto end; + i_781: + if(ic-- == 0) goto end; + i_782: + if(ic-- == 0) goto end; + i_783: + if(ic-- == 0) goto end; + i_784: + if(ic-- == 0) goto end; + i_785: + if(ic-- == 0) goto end; + branches++; + if((state += 2996317137) > 4294967295) { + void* ret = &&i_786; + stack[ss++] = ret; + goto i_949; + } + i_786: + if(ic-- == 0) goto end; + i_787: + if(ic-- == 0) goto end; + i_788: + if(ic-- == 0) goto end; + i_789: + if(ic-- == 0) goto end; + i_790: + if(ic-- == 0) goto end; + i_791: + if(ic-- == 0) goto end; + i_792: + if(ic-- == 0) goto end; + i_793: + if(ic-- == 0) goto end; + i_794: + if(ic-- == 0) goto end; + i_795: + if(ic-- == 0) goto end; + i_796: + if(ic-- == 0) goto end; + i_797: + if(ic-- == 0) goto end; + i_798: + if(ic-- == 0) goto end; + i_799: + if(ic-- == 0) goto end; + i_800: + if(ic-- == 0) goto end; + i_801: + if(ic-- == 0) goto end; + i_802: + if(ic-- == 0) goto end; + i_803: + if(ic-- == 0) goto end; + i_804: + if(ic-- == 0) goto end; + i_805: + if(ic-- == 0) goto end; + branches++; + if((state += 1346539270) > 4294967295) { + void* ret = &&i_806; + stack[ss++] = ret; + goto i_813; + } + i_806: + if(ic-- == 0) goto end; + i_807: + if(ic-- == 0) goto end; + i_808: + if(ic-- == 0) goto end; + i_809: + if(ic-- == 0) goto end; + i_810: + if(ic-- == 0) goto end; + branches++; + if((state += 1134804964) > 4294967295) { + if(ss <= 0) goto i_811; + void* target = stack[--ss]; + goto *target; + } + i_811: + if(ic-- == 0) goto end; + i_812: + if(ic-- == 0) goto end; + i_813: + if(ic-- == 0) goto end; + i_814: + if(ic-- == 0) goto end; + i_815: + if(ic-- == 0) goto end; + i_816: + if(ic-- == 0) goto end; + i_817: + if(ic-- == 0) goto end; + i_818: + if(ic-- == 0) goto end; + i_819: + if(ic-- == 0) goto end; + i_820: + if(ic-- == 0) goto end; + i_821: + if(ic-- == 0) goto end; + i_822: + if(ic-- == 0) goto end; + i_823: + if(ic-- == 0) goto end; + i_824: + if(ic-- == 0) goto end; + i_825: + if(ic-- == 0) goto end; + i_826: + if(ic-- == 0) goto end; + branches++; + if((state += 2353620466) > 4294967295) { + if(ss <= 0) goto i_827; + void* target = stack[--ss]; + goto *target; + } + i_827: + if(ic-- == 0) goto end; + i_828: + if(ic-- == 0) goto end; + branches++; + if((state += 246564735) > 4294967295) { + if(ss <= 0) goto i_829; + void* target = stack[--ss]; + goto *target; + } + i_829: + if(ic-- == 0) goto end; + i_830: + if(ic-- == 0) goto end; + i_831: + if(ic-- == 0) goto end; + i_832: + if(ic-- == 0) goto end; + i_833: + if(ic-- == 0) goto end; + i_834: + if(ic-- == 0) goto end; + i_835: + if(ic-- == 0) goto end; + i_836: + if(ic-- == 0) goto end; + i_837: + if(ic-- == 0) goto end; + i_838: + if(ic-- == 0) goto end; + i_839: + if(ic-- == 0) goto end; + i_840: + if(ic-- == 0) goto end; + i_841: + if(ic-- == 0) goto end; + i_842: + if(ic-- == 0) goto end; + i_843: + if(ic-- == 0) goto end; + branches++; + if((state += 782639687) > 4294967295) { + void* ret = &&i_844; + stack[ss++] = ret; + goto i_955; + } + i_844: + if(ic-- == 0) goto end; + i_845: + if(ic-- == 0) goto end; + i_846: + if(ic-- == 0) goto end; + i_847: + if(ic-- == 0) goto end; + i_848: + if(ic-- == 0) goto end; + i_849: + if(ic-- == 0) goto end; + i_850: + if(ic-- == 0) goto end; + i_851: + if(ic-- == 0) goto end; + i_852: + if(ic-- == 0) goto end; + i_853: + if(ic-- == 0) goto end; + i_854: + if(ic-- == 0) goto end; + i_855: + if(ic-- == 0) goto end; + i_856: + if(ic-- == 0) goto end; + i_857: + if(ic-- == 0) goto end; + i_858: + if(ic-- == 0) goto end; + i_859: + if(ic-- == 0) goto end; + i_860: + if(ic-- == 0) goto end; + i_861: + if(ic-- == 0) goto end; + i_862: + if(ic-- == 0) goto end; + i_863: + if(ic-- == 0) goto end; + i_864: + if(ic-- == 0) goto end; + branches++; + if((state += 374700188) > 4294967295) { + if(ss <= 0) goto i_865; + void* target = stack[--ss]; + goto *target; + } + i_865: + if(ic-- == 0) goto end; + i_866: + if(ic-- == 0) goto end; + i_867: + if(ic-- == 0) goto end; + i_868: + if(ic-- == 0) goto end; + i_869: + if(ic-- == 0) goto end; + i_870: + if(ic-- == 0) goto end; + i_871: + if(ic-- == 0) goto end; + i_872: + if(ic-- == 0) goto end; + i_873: + if(ic-- == 0) goto end; + i_874: + if(ic-- == 0) goto end; + i_875: + if(ic-- == 0) goto end; + i_876: + if(ic-- == 0) goto end; + i_877: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1975848362) { + void* ret = &&i_878; + stack[ss++] = ret; + goto i_971; + } + i_878: + if(ic-- == 0) goto end; + branches++; + if((state += 519058282) > 4294967295) { + void* ret = &&i_879; + stack[ss++] = ret; + goto i_77; + } + i_879: + if(ic-- == 0) goto end; + branches++; + if((state += 3810721988) > 4294967295) { + if(ss <= 0) goto i_880; + void* target = stack[--ss]; + goto *target; + } + i_880: + if(ic-- == 0) goto end; + i_881: + if(ic-- == 0) goto end; + i_882: + if(ic-- == 0) goto end; + i_883: + if(ic-- == 0) goto end; + i_884: + if(ic-- == 0) goto end; + i_885: + if(ic-- == 0) goto end; + i_886: + if(ic-- == 0) goto end; + branches++; + if((state += 312929243) > 4294967295) { + void* ret = &&i_887; + stack[ss++] = ret; + goto i_943; + } + i_887: + if(ic-- == 0) goto end; + i_888: + if(ic-- == 0) goto end; + branches++; + if((state += 75875866) > 4294967295) { + void* ret = &&i_889; + stack[ss++] = ret; + goto i_969; + } + i_889: + if(ic-- == 0) goto end; + i_890: + if(ic-- == 0) goto end; + i_891: + if(ic-- == 0) goto end; + i_892: + if(ic-- == 0) goto end; + branches++; + if((state += 3298258409) > 4294967295) { + if(ss <= 0) goto i_893; + void* target = stack[--ss]; + goto *target; + } + i_893: + if(ic-- == 0) goto end; + i_894: + if(ic-- == 0) goto end; + i_895: + if(ic-- == 0) goto end; + i_896: + if(ic-- == 0) goto end; + i_897: + if(ic-- == 0) goto end; + i_898: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3944707394) { + void* ret = &&i_899; + stack[ss++] = ret; + goto i_974; + } + i_899: + if(ic-- == 0) goto end; + i_900: + if(ic-- == 0) goto end; + i_901: + if(ic-- == 0) goto end; + i_902: + if(ic-- == 0) goto end; + branches++; + if((state += 3522509435) > 4294967295) { + void* ret = &&i_903; + stack[ss++] = ret; + goto i_7; + } + i_903: + if(ic-- == 0) goto end; + i_904: + if(ic-- == 0) goto end; + branches++; + if((state += 2717695818) > 4294967295) { + void* ret = &&i_905; + stack[ss++] = ret; + goto i_95; + } + i_905: + if(ic-- == 0) goto end; + i_906: + if(ic-- == 0) goto end; + i_907: + if(ic-- == 0) goto end; + i_908: + if(ic-- == 0) goto end; + i_909: + if(ic-- == 0) goto end; + i_910: + if(ic-- == 0) goto end; + i_911: + if(ic-- == 0) goto end; + i_912: + if(ic-- == 0) goto end; + i_913: + if(ic-- == 0) goto end; + i_914: + if(ic-- == 0) goto end; + i_915: + if(ic-- == 0) goto end; + i_916: + if(ic-- == 0) goto end; + i_917: + if(ic-- == 0) goto end; + i_918: + if(ic-- == 0) goto end; + i_919: + if(ic-- == 0) goto end; + i_920: + if(ic-- == 0) goto end; + i_921: + if(ic-- == 0) goto end; + i_922: + if(ic-- == 0) goto end; + i_923: + if(ic-- == 0) goto end; + i_924: + if(ic-- == 0) goto end; + i_925: + if(ic-- == 0) goto end; + i_926: + if(ic-- == 0) goto end; + i_927: + if(ic-- == 0) goto end; + i_928: + if(ic-- == 0) goto end; + i_929: + if(ic-- == 0) goto end; + i_930: + if(ic-- == 0) goto end; + i_931: + if(ic-- == 0) goto end; + branches++; + if((state += 1170709507) > 4294967295) { + if(ss <= 0) goto i_932; + void* target = stack[--ss]; + goto *target; + } + i_932: + if(ic-- == 0) goto end; + i_933: + if(ic-- == 0) goto end; + i_934: + if(ic-- == 0) goto end; + i_935: + if(ic-- == 0) goto end; + i_936: + if(ic-- == 0) goto end; + branches++; + if((state += 3901871423) > 4294967295) { + void* ret = &&i_937; + stack[ss++] = ret; + goto i_28; + } + i_937: + if(ic-- == 0) goto end; + i_938: + if(ic-- == 0) goto end; + i_939: + if(ic-- == 0) goto end; + i_940: + if(ic-- == 0) goto end; + i_941: + if(ic-- == 0) goto end; + i_942: + if(ic-- == 0) goto end; + i_943: + if(ic-- == 0) goto end; + i_944: + if(ic-- == 0) goto end; + i_945: + if(ic-- == 0) goto end; + i_946: + if(ic-- == 0) goto end; + i_947: + if(ic-- == 0) goto end; + i_948: + if(ic-- == 0) goto end; + i_949: + if(ic-- == 0) goto end; + i_950: + if(ic-- == 0) goto end; + i_951: + if(ic-- == 0) goto end; + i_952: + if(ic-- == 0) goto end; + i_953: + if(ic-- == 0) goto end; + i_954: + if(ic-- == 0) goto end; + i_955: + if(ic-- == 0) goto end; + i_956: + if(ic-- == 0) goto end; + i_957: + if(ic-- == 0) goto end; + i_958: + if(ic-- == 0) goto end; + i_959: + if(ic-- == 0) goto end; + i_960: + if(ic-- == 0) goto end; + i_961: + if(ic-- == 0) goto end; + i_962: + if(ic-- == 0) goto end; + i_963: + if(ic-- == 0) goto end; + i_964: + if(ic-- == 0) goto end; + i_965: + if(ic-- == 0) goto end; + i_966: + if(ic-- == 0) goto end; + i_967: + if(ic-- == 0) goto end; + i_968: + if(ic-- == 0) goto end; + i_969: + if(ic-- == 0) goto end; + i_970: + if(ic-- == 0) goto end; + i_971: + if(ic-- == 0) goto end; + i_972: + if(ic-- == 0) goto end; + i_973: + if(ic-- == 0) goto end; + i_974: + if(ic-- == 0) goto end; + i_975: + if(ic-- == 0) goto end; + i_976: + if(ic-- == 0) goto end; + i_977: + if(ic-- == 0) goto end; + i_978: + if(ic-- == 0) goto end; + branches++; + if((state += 1456175612) > 4294967295) { + void* ret = &&i_979; + stack[ss++] = ret; + goto i_26; + } + i_979: + if(ic-- == 0) goto end; + i_980: + if(ic-- == 0) goto end; + i_981: + if(ic-- == 0) goto end; + i_982: + if(ic-- == 0) goto end; + branches++; + if((state += 808127352) > 4294967295) { + void* ret = &&i_983; + stack[ss++] = ret; + goto i_197; + } + i_983: + if(ic-- == 0) goto end; + i_984: + if(ic-- == 0) goto end; + i_985: + if(ic-- == 0) goto end; + i_986: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 741949704) { + void* ret = &&i_987; + stack[ss++] = ret; + goto i_59; + } + i_987: + if(ic-- == 0) goto end; + branches++; + if((state += 3740247587) > 4294967295) { + if(ss <= 0) goto i_988; + void* target = stack[--ss]; + goto *target; + } + i_988: + if(ic-- == 0) goto end; + i_989: + if(ic-- == 0) goto end; + i_990: + if(ic-- == 0) goto end; + branches++; + if((state += 3550479444) > 4294967295) { + if(ss <= 0) goto i_991; + void* target = stack[--ss]; + goto *target; + } + i_991: + if(ic-- == 0) goto end; + i_992: + if(ic-- == 0) goto end; + branches++; + if((state += 1552714076) > 4294967295) { + void* ret = &&i_993; + stack[ss++] = ret; + goto i_73; + } + i_993: + if(ic-- == 0) goto end; + i_994: + if(ic-- == 0) goto end; + i_995: + if(ic-- == 0) goto end; + i_996: + if(ic-- == 0) goto end; + branches++; + if((state += 1901489237) > 4294967295) { + if(ss <= 0) goto i_997; + void* target = stack[--ss]; + goto *target; + } + i_997: + if(ic-- == 0) goto end; + branches++; + if((state += 1314937403) > 4294967295) { + void* ret = &&i_998; + stack[ss++] = ret; + goto i_21; + } + i_998: + if(ic-- == 0) goto end; + i_999: + if(ic-- == 0) goto end; + i_1000: + if(ic-- == 0) goto end; + i_1001: + if(ic-- == 0) goto end; + i_1002: + if(ic-- == 0) goto end; + i_1003: + if(ic-- == 0) goto end; + i_1004: + if(ic-- == 0) goto end; + i_1005: + if(ic-- == 0) goto end; + i_1006: + if(ic-- == 0) goto end; + i_1007: + if(ic-- == 0) goto end; + i_1008: + if(ic-- == 0) goto end; + i_1009: + if(ic-- == 0) goto end; + i_1010: + if(ic-- == 0) goto end; + i_1011: + if(ic-- == 0) goto end; + i_1012: + if(ic-- == 0) goto end; + i_1013: + if(ic-- == 0) goto end; + i_1014: + if(ic-- == 0) goto end; + i_1015: + if(ic-- == 0) goto end; + i_1016: + if(ic-- == 0) goto end; + i_1017: + if(ic-- == 0) goto end; + i_1018: + if(ic-- == 0) goto end; + i_1019: + if(ic-- == 0) goto end; + i_1020: + if(ic-- == 0) goto end; + i_1021: + if(ic-- == 0) goto end; + i_1022: + if(ic-- == 0) goto end; + i_1023: + if(ic-- == 0) goto end; + goto i_0; + end: + PROF_STDOUT(); + fprintf(stdout, "VM branches: %lu\n", branches); + return 0; +} diff --git a/tests/branch_prediction/branch_predictably.c b/tests/branch_prediction/branch_predictably.c new file mode 100644 index 0000000..6e64f3d --- /dev/null +++ b/tests/branch_prediction/branch_predictably.c @@ -0,0 +1,2967 @@ +#include "stdint.h" +#include "stdlib.h" +#include "stdio.h" +#define PROF_USER_EVENTS_ONLY +#define PROF_EVENT_LIST \ + PROF_EVENT_HW(BRANCH_INSTRUCTIONS) \ + PROF_EVENT_HW(BRANCH_MISSES) \ + PROF_EVENT_SW(TASK_CLOCK) +#include "prof.h" +int main(int argc, char** argv) { + uint64_t ic = argc > 1 ? atoi(argv[1]) : 65536; + uint64_t ss = 0; + uint64_t branches = 0; + uint32_t state = 0; + uint32_t state2 = 123456789; + void* stack[65536]; + PROF_START(); + i_0: + if(ic-- == 0) goto end; + i_1: + if(ic-- == 0) goto end; + i_2: + if(ic-- == 0) goto end; + i_3: + if(ic-- == 0) goto end; + i_4: + if(ic-- == 0) goto end; + i_5: + if(ic-- == 0) goto end; + i_6: + if(ic-- == 0) goto end; + i_7: + if(ic-- == 0) goto end; + i_8: + if(ic-- == 0) goto end; + i_9: + if(ic-- == 0) goto end; + i_10: + if(ic-- == 0) goto end; + i_11: + if(ic-- == 0) goto end; + i_12: + if(ic-- == 0) goto end; + i_13: + if(ic-- == 0) goto end; + i_14: + if(ic-- == 0) goto end; + i_15: + if(ic-- == 0) goto end; + i_16: + if(ic-- == 0) goto end; + i_17: + if(ic-- == 0) goto end; + i_18: + if(ic-- == 0) goto end; + i_19: + if(ic-- == 0) goto end; + i_20: + if(ic-- == 0) goto end; + branches++; + if((state += 3288853519) > 4294967295) { + state = 0; + void* ret = &&i_21; + stack[ss++] = ret; + goto i_261; + } + i_21: + if(ic-- == 0) goto end; + i_22: + if(ic-- == 0) goto end; + i_23: + if(ic-- == 0) goto end; + i_24: + if(ic-- == 0) goto end; + i_25: + if(ic-- == 0) goto end; + branches++; + if((state += 3812903776) > 4294967295) { + state = 0; + void* ret = &&i_26; + stack[ss++] = ret; + goto i_281; + } + i_26: + if(ic-- == 0) goto end; + branches++; + if((state += 639652386) > 4294967295) { + state = 0; + if(ss <= 0) goto i_27; + void* target = stack[--ss]; + goto *target; + } + i_27: + if(ic-- == 0) goto end; + i_28: + if(ic-- == 0) goto end; + i_29: + if(ic-- == 0) goto end; + branches++; + if((state += 2961632904) > 4294967295) { + state = 0; + if(ss <= 0) goto i_30; + void* target = stack[--ss]; + goto *target; + } + i_30: + if(ic-- == 0) goto end; + i_31: + if(ic-- == 0) goto end; + i_32: + if(ic-- == 0) goto end; + branches++; + if((state += 474307802) > 4294967295) { + state = 0; + void* ret = &&i_33; + stack[ss++] = ret; + goto i_136; + } + i_33: + if(ic-- == 0) goto end; + i_34: + if(ic-- == 0) goto end; + i_35: + if(ic-- == 0) goto end; + branches++; + if((state += 2093095523) > 4294967295) { + state = 0; + if(ss <= 0) goto i_36; + void* target = stack[--ss]; + goto *target; + } + i_36: + if(ic-- == 0) goto end; + i_37: + if(ic-- == 0) goto end; + i_38: + if(ic-- == 0) goto end; + i_39: + if(ic-- == 0) goto end; + branches++; + if((state += 3154726805) > 4294967295) { + state = 0; + void* ret = &&i_40; + stack[ss++] = ret; + goto i_232; + } + i_40: + if(ic-- == 0) goto end; + i_41: + if(ic-- == 0) goto end; + branches++; + if((state += 2044508552) > 4294967295) { + state = 0; + if(ss <= 0) goto i_42; + void* target = stack[--ss]; + goto *target; + } + i_42: + if(ic-- == 0) goto end; + i_43: + if(ic-- == 0) goto end; + i_44: + if(ic-- == 0) goto end; + i_45: + if(ic-- == 0) goto end; + branches++; + if((state += 277236801) > 4294967295) { + state = 0; + void* ret = &&i_46; + stack[ss++] = ret; + goto i_171; + } + i_46: + if(ic-- == 0) goto end; + i_47: + if(ic-- == 0) goto end; + i_48: + if(ic-- == 0) goto end; + i_49: + if(ic-- == 0) goto end; + i_50: + if(ic-- == 0) goto end; + i_51: + if(ic-- == 0) goto end; + i_52: + if(ic-- == 0) goto end; + i_53: + if(ic-- == 0) goto end; + i_54: + if(ic-- == 0) goto end; + i_55: + if(ic-- == 0) goto end; + i_56: + if(ic-- == 0) goto end; + i_57: + if(ic-- == 0) goto end; + i_58: + if(ic-- == 0) goto end; + i_59: + if(ic-- == 0) goto end; + i_60: + if(ic-- == 0) goto end; + i_61: + if(ic-- == 0) goto end; + branches++; + if((state += 1058438924) > 4294967295) { + state = 0; + if(ss <= 0) goto i_62; + void* target = stack[--ss]; + goto *target; + } + i_62: + if(ic-- == 0) goto end; + branches++; + if((state += 3520888866) > 4294967295) { + state = 0; + void* ret = &&i_63; + stack[ss++] = ret; + goto i_231; + } + i_63: + if(ic-- == 0) goto end; + i_64: + if(ic-- == 0) goto end; + i_65: + if(ic-- == 0) goto end; + i_66: + if(ic-- == 0) goto end; + i_67: + if(ic-- == 0) goto end; + i_68: + if(ic-- == 0) goto end; + i_69: + if(ic-- == 0) goto end; + i_70: + if(ic-- == 0) goto end; + branches++; + if((state += 3793324182) > 4294967295) { + state = 0; + void* ret = &&i_71; + stack[ss++] = ret; + goto i_135; + } + i_71: + if(ic-- == 0) goto end; + i_72: + if(ic-- == 0) goto end; + i_73: + if(ic-- == 0) goto end; + i_74: + if(ic-- == 0) goto end; + i_75: + if(ic-- == 0) goto end; + i_76: + if(ic-- == 0) goto end; + i_77: + if(ic-- == 0) goto end; + i_78: + if(ic-- == 0) goto end; + i_79: + if(ic-- == 0) goto end; + i_80: + if(ic-- == 0) goto end; + i_81: + if(ic-- == 0) goto end; + i_82: + if(ic-- == 0) goto end; + i_83: + if(ic-- == 0) goto end; + i_84: + if(ic-- == 0) goto end; + branches++; + if((state += 1542024869) > 4294967295) { + state = 0; + void* ret = &&i_85; + stack[ss++] = ret; + goto i_221; + } + i_85: + if(ic-- == 0) goto end; + i_86: + if(ic-- == 0) goto end; + i_87: + if(ic-- == 0) goto end; + i_88: + if(ic-- == 0) goto end; + i_89: + if(ic-- == 0) goto end; + i_90: + if(ic-- == 0) goto end; + i_91: + if(ic-- == 0) goto end; + i_92: + if(ic-- == 0) goto end; + i_93: + if(ic-- == 0) goto end; + i_94: + if(ic-- == 0) goto end; + i_95: + if(ic-- == 0) goto end; + i_96: + if(ic-- == 0) goto end; + i_97: + if(ic-- == 0) goto end; + i_98: + if(ic-- == 0) goto end; + i_99: + if(ic-- == 0) goto end; + branches++; + if((state += 792504979) > 4294967295) { + state = 0; + void* ret = &&i_100; + stack[ss++] = ret; + goto i_103; + } + i_100: + if(ic-- == 0) goto end; + i_101: + if(ic-- == 0) goto end; + i_102: + if(ic-- == 0) goto end; + i_103: + if(ic-- == 0) goto end; + i_104: + if(ic-- == 0) goto end; + i_105: + if(ic-- == 0) goto end; + i_106: + if(ic-- == 0) goto end; + i_107: + if(ic-- == 0) goto end; + i_108: + if(ic-- == 0) goto end; + i_109: + if(ic-- == 0) goto end; + i_110: + if(ic-- == 0) goto end; + i_111: + if(ic-- == 0) goto end; + i_112: + if(ic-- == 0) goto end; + branches++; + if((state += 980709207) > 4294967295) { + state = 0; + if(ss <= 0) goto i_113; + void* target = stack[--ss]; + goto *target; + } + i_113: + if(ic-- == 0) goto end; + i_114: + if(ic-- == 0) goto end; + i_115: + if(ic-- == 0) goto end; + i_116: + if(ic-- == 0) goto end; + branches++; + if((state += 971078638) > 4294967295) { + state = 0; + if(ss <= 0) goto i_117; + void* target = stack[--ss]; + goto *target; + } + i_117: + if(ic-- == 0) goto end; + branches++; + if((state += 3848388585) > 4294967295) { + state = 0; + void* ret = &&i_118; + stack[ss++] = ret; + goto i_260; + } + i_118: + if(ic-- == 0) goto end; + branches++; + if((state += 2057363175) > 4294967295) { + state = 0; + if(ss <= 0) goto i_119; + void* target = stack[--ss]; + goto *target; + } + i_119: + if(ic-- == 0) goto end; + i_120: + if(ic-- == 0) goto end; + i_121: + if(ic-- == 0) goto end; + branches++; + if((state += 2208602459) > 4294967295) { + state = 0; + if(ss <= 0) goto i_122; + void* target = stack[--ss]; + goto *target; + } + i_122: + if(ic-- == 0) goto end; + i_123: + if(ic-- == 0) goto end; + branches++; + if((state += 2808635116) > 4294967295) { + state = 0; + if(ss <= 0) goto i_124; + void* target = stack[--ss]; + goto *target; + } + i_124: + if(ic-- == 0) goto end; + i_125: + if(ic-- == 0) goto end; + i_126: + if(ic-- == 0) goto end; + i_127: + if(ic-- == 0) goto end; + branches++; + if((state += 3545628586) > 4294967295) { + state = 0; + void* ret = &&i_128; + stack[ss++] = ret; + goto i_157; + } + i_128: + if(ic-- == 0) goto end; + branches++; + if((state += 4232781027) > 4294967295) { + state = 0; + void* ret = &&i_129; + stack[ss++] = ret; + goto i_164; + } + i_129: + if(ic-- == 0) goto end; + i_130: + if(ic-- == 0) goto end; + i_131: + if(ic-- == 0) goto end; + i_132: + if(ic-- == 0) goto end; + i_133: + if(ic-- == 0) goto end; + branches++; + if((state += 3244552482) > 4294967295) { + state = 0; + if(ss <= 0) goto i_134; + void* target = stack[--ss]; + goto *target; + } + i_134: + if(ic-- == 0) goto end; + i_135: + if(ic-- == 0) goto end; + i_136: + if(ic-- == 0) goto end; + branches++; + if((state += 3405076866) > 4294967295) { + state = 0; + void* ret = &&i_137; + stack[ss++] = ret; + goto i_160; + } + i_137: + if(ic-- == 0) goto end; + i_138: + if(ic-- == 0) goto end; + i_139: + if(ic-- == 0) goto end; + branches++; + if((state += 511632434) > 4294967295) { + state = 0; + void* ret = &&i_140; + stack[ss++] = ret; + goto i_346; + } + i_140: + if(ic-- == 0) goto end; + i_141: + if(ic-- == 0) goto end; + i_142: + if(ic-- == 0) goto end; + i_143: + if(ic-- == 0) goto end; + i_144: + if(ic-- == 0) goto end; + i_145: + if(ic-- == 0) goto end; + i_146: + if(ic-- == 0) goto end; + i_147: + if(ic-- == 0) goto end; + i_148: + if(ic-- == 0) goto end; + i_149: + if(ic-- == 0) goto end; + i_150: + if(ic-- == 0) goto end; + i_151: + if(ic-- == 0) goto end; + branches++; + if((state += 696643743) > 4294967295) { + state = 0; + void* ret = &&i_152; + stack[ss++] = ret; + goto i_161; + } + i_152: + if(ic-- == 0) goto end; + i_153: + if(ic-- == 0) goto end; + i_154: + if(ic-- == 0) goto end; + i_155: + if(ic-- == 0) goto end; + i_156: + if(ic-- == 0) goto end; + i_157: + if(ic-- == 0) goto end; + i_158: + if(ic-- == 0) goto end; + i_159: + if(ic-- == 0) goto end; + i_160: + if(ic-- == 0) goto end; + i_161: + if(ic-- == 0) goto end; + i_162: + if(ic-- == 0) goto end; + i_163: + if(ic-- == 0) goto end; + i_164: + if(ic-- == 0) goto end; + i_165: + if(ic-- == 0) goto end; + i_166: + if(ic-- == 0) goto end; + i_167: + if(ic-- == 0) goto end; + i_168: + if(ic-- == 0) goto end; + branches++; + if((state += 3553648057) > 4294967295) { + state = 0; + if(ss <= 0) goto i_169; + void* target = stack[--ss]; + goto *target; + } + i_169: + if(ic-- == 0) goto end; + branches++; + if((state += 2307482321) > 4294967295) { + state = 0; + if(ss <= 0) goto i_170; + void* target = stack[--ss]; + goto *target; + } + i_170: + if(ic-- == 0) goto end; + i_171: + if(ic-- == 0) goto end; + i_172: + if(ic-- == 0) goto end; + i_173: + if(ic-- == 0) goto end; + i_174: + if(ic-- == 0) goto end; + i_175: + if(ic-- == 0) goto end; + i_176: + if(ic-- == 0) goto end; + branches++; + if((state += 371928313) > 4294967295) { + state = 0; + if(ss <= 0) goto i_177; + void* target = stack[--ss]; + goto *target; + } + i_177: + if(ic-- == 0) goto end; + branches++; + if((state += 2322879371) > 4294967295) { + state = 0; + if(ss <= 0) goto i_178; + void* target = stack[--ss]; + goto *target; + } + i_178: + if(ic-- == 0) goto end; + i_179: + if(ic-- == 0) goto end; + i_180: + if(ic-- == 0) goto end; + i_181: + if(ic-- == 0) goto end; + i_182: + if(ic-- == 0) goto end; + branches++; + if((state += 1986846731) > 4294967295) { + state = 0; + void* ret = &&i_183; + stack[ss++] = ret; + goto i_415; + } + i_183: + if(ic-- == 0) goto end; + i_184: + if(ic-- == 0) goto end; + i_185: + if(ic-- == 0) goto end; + i_186: + if(ic-- == 0) goto end; + i_187: + if(ic-- == 0) goto end; + i_188: + if(ic-- == 0) goto end; + branches++; + if((state += 4140864485) > 4294967295) { + state = 0; + void* ret = &&i_189; + stack[ss++] = ret; + goto i_343; + } + i_189: + if(ic-- == 0) goto end; + i_190: + if(ic-- == 0) goto end; + branches++; + if((state += 328982338) > 4294967295) { + state = 0; + void* ret = &&i_191; + stack[ss++] = ret; + goto i_268; + } + i_191: + if(ic-- == 0) goto end; + i_192: + if(ic-- == 0) goto end; + i_193: + if(ic-- == 0) goto end; + i_194: + if(ic-- == 0) goto end; + i_195: + if(ic-- == 0) goto end; + i_196: + if(ic-- == 0) goto end; + i_197: + if(ic-- == 0) goto end; + i_198: + if(ic-- == 0) goto end; + i_199: + if(ic-- == 0) goto end; + i_200: + if(ic-- == 0) goto end; + i_201: + if(ic-- == 0) goto end; + i_202: + if(ic-- == 0) goto end; + i_203: + if(ic-- == 0) goto end; + i_204: + if(ic-- == 0) goto end; + i_205: + if(ic-- == 0) goto end; + i_206: + if(ic-- == 0) goto end; + i_207: + if(ic-- == 0) goto end; + i_208: + if(ic-- == 0) goto end; + branches++; + if((state += 4134670764) > 4294967295) { + state = 0; + void* ret = &&i_209; + stack[ss++] = ret; + goto i_442; + } + i_209: + if(ic-- == 0) goto end; + i_210: + if(ic-- == 0) goto end; + i_211: + if(ic-- == 0) goto end; + i_212: + if(ic-- == 0) goto end; + i_213: + if(ic-- == 0) goto end; + i_214: + if(ic-- == 0) goto end; + i_215: + if(ic-- == 0) goto end; + i_216: + if(ic-- == 0) goto end; + i_217: + if(ic-- == 0) goto end; + i_218: + if(ic-- == 0) goto end; + i_219: + if(ic-- == 0) goto end; + i_220: + if(ic-- == 0) goto end; + i_221: + if(ic-- == 0) goto end; + branches++; + if((state += 2822139845) > 4294967295) { + state = 0; + void* ret = &&i_222; + stack[ss++] = ret; + goto i_406; + } + i_222: + if(ic-- == 0) goto end; + branches++; + if((state += 918537004) > 4294967295) { + state = 0; + void* ret = &&i_223; + stack[ss++] = ret; + goto i_394; + } + i_223: + if(ic-- == 0) goto end; + branches++; + if((state += 1196865954) > 4294967295) { + state = 0; + void* ret = &&i_224; + stack[ss++] = ret; + goto i_466; + } + i_224: + if(ic-- == 0) goto end; + i_225: + if(ic-- == 0) goto end; + i_226: + if(ic-- == 0) goto end; + i_227: + if(ic-- == 0) goto end; + i_228: + if(ic-- == 0) goto end; + i_229: + if(ic-- == 0) goto end; + i_230: + if(ic-- == 0) goto end; + i_231: + if(ic-- == 0) goto end; + i_232: + if(ic-- == 0) goto end; + i_233: + if(ic-- == 0) goto end; + i_234: + if(ic-- == 0) goto end; + i_235: + if(ic-- == 0) goto end; + branches++; + if((state += 590251524) > 4294967295) { + state = 0; + void* ret = &&i_236; + stack[ss++] = ret; + goto i_385; + } + i_236: + if(ic-- == 0) goto end; + i_237: + if(ic-- == 0) goto end; + i_238: + if(ic-- == 0) goto end; + i_239: + if(ic-- == 0) goto end; + i_240: + if(ic-- == 0) goto end; + i_241: + if(ic-- == 0) goto end; + i_242: + if(ic-- == 0) goto end; + i_243: + if(ic-- == 0) goto end; + branches++; + if((state += 2452641289) > 4294967295) { + state = 0; + void* ret = &&i_244; + stack[ss++] = ret; + goto i_402; + } + i_244: + if(ic-- == 0) goto end; + i_245: + if(ic-- == 0) goto end; + i_246: + if(ic-- == 0) goto end; + branches++; + if((state += 4170012753) > 4294967295) { + state = 0; + void* ret = &&i_247; + stack[ss++] = ret; + goto i_249; + } + i_247: + if(ic-- == 0) goto end; + i_248: + if(ic-- == 0) goto end; + i_249: + if(ic-- == 0) goto end; + i_250: + if(ic-- == 0) goto end; + branches++; + if((state += 3362009392) > 4294967295) { + state = 0; + if(ss <= 0) goto i_251; + void* target = stack[--ss]; + goto *target; + } + i_251: + if(ic-- == 0) goto end; + i_252: + if(ic-- == 0) goto end; + i_253: + if(ic-- == 0) goto end; + i_254: + if(ic-- == 0) goto end; + i_255: + if(ic-- == 0) goto end; + i_256: + if(ic-- == 0) goto end; + branches++; + if((state += 4054309882) > 4294967295) { + state = 0; + void* ret = &&i_257; + stack[ss++] = ret; + goto i_420; + } + i_257: + if(ic-- == 0) goto end; + branches++; + if((state += 593509743) > 4294967295) { + state = 0; + void* ret = &&i_258; + stack[ss++] = ret; + goto i_330; + } + i_258: + if(ic-- == 0) goto end; + i_259: + if(ic-- == 0) goto end; + i_260: + if(ic-- == 0) goto end; + i_261: + if(ic-- == 0) goto end; + i_262: + if(ic-- == 0) goto end; + i_263: + if(ic-- == 0) goto end; + i_264: + if(ic-- == 0) goto end; + i_265: + if(ic-- == 0) goto end; + i_266: + if(ic-- == 0) goto end; + i_267: + if(ic-- == 0) goto end; + i_268: + if(ic-- == 0) goto end; + branches++; + if((state += 2747033421) > 4294967295) { + state = 0; + void* ret = &&i_269; + stack[ss++] = ret; + goto i_395; + } + i_269: + if(ic-- == 0) goto end; + i_270: + if(ic-- == 0) goto end; + i_271: + if(ic-- == 0) goto end; + i_272: + if(ic-- == 0) goto end; + i_273: + if(ic-- == 0) goto end; + branches++; + if((state += 3684732774) > 4294967295) { + state = 0; + if(ss <= 0) goto i_274; + void* target = stack[--ss]; + goto *target; + } + i_274: + if(ic-- == 0) goto end; + i_275: + if(ic-- == 0) goto end; + i_276: + if(ic-- == 0) goto end; + i_277: + if(ic-- == 0) goto end; + i_278: + if(ic-- == 0) goto end; + i_279: + if(ic-- == 0) goto end; + i_280: + if(ic-- == 0) goto end; + i_281: + if(ic-- == 0) goto end; + i_282: + if(ic-- == 0) goto end; + branches++; + if((state += 309376903) > 4294967295) { + state = 0; + void* ret = &&i_283; + stack[ss++] = ret; + goto i_317; + } + i_283: + if(ic-- == 0) goto end; + i_284: + if(ic-- == 0) goto end; + i_285: + if(ic-- == 0) goto end; + branches++; + if((state += 219150529) > 4294967295) { + state = 0; + if(ss <= 0) goto i_286; + void* target = stack[--ss]; + goto *target; + } + i_286: + if(ic-- == 0) goto end; + branches++; + if((state += 2594130359) > 4294967295) { + state = 0; + if(ss <= 0) goto i_287; + void* target = stack[--ss]; + goto *target; + } + i_287: + if(ic-- == 0) goto end; + i_288: + if(ic-- == 0) goto end; + i_289: + if(ic-- == 0) goto end; + i_290: + if(ic-- == 0) goto end; + i_291: + if(ic-- == 0) goto end; + i_292: + if(ic-- == 0) goto end; + i_293: + if(ic-- == 0) goto end; + i_294: + if(ic-- == 0) goto end; + i_295: + if(ic-- == 0) goto end; + i_296: + if(ic-- == 0) goto end; + i_297: + if(ic-- == 0) goto end; + i_298: + if(ic-- == 0) goto end; + i_299: + if(ic-- == 0) goto end; + i_300: + if(ic-- == 0) goto end; + branches++; + if((state += 2892835113) > 4294967295) { + state = 0; + void* ret = &&i_301; + stack[ss++] = ret; + goto i_457; + } + i_301: + if(ic-- == 0) goto end; + i_302: + if(ic-- == 0) goto end; + branches++; + if((state += 3373689969) > 4294967295) { + state = 0; + if(ss <= 0) goto i_303; + void* target = stack[--ss]; + goto *target; + } + i_303: + if(ic-- == 0) goto end; + branches++; + if((state += 3569068444) > 4294967295) { + state = 0; + void* ret = &&i_304; + stack[ss++] = ret; + goto i_508; + } + i_304: + if(ic-- == 0) goto end; + i_305: + if(ic-- == 0) goto end; + i_306: + if(ic-- == 0) goto end; + i_307: + if(ic-- == 0) goto end; + branches++; + if((state += 2969939441) > 4294967295) { + state = 0; + if(ss <= 0) goto i_308; + void* target = stack[--ss]; + goto *target; + } + i_308: + if(ic-- == 0) goto end; + i_309: + if(ic-- == 0) goto end; + i_310: + if(ic-- == 0) goto end; + i_311: + if(ic-- == 0) goto end; + i_312: + if(ic-- == 0) goto end; + i_313: + if(ic-- == 0) goto end; + i_314: + if(ic-- == 0) goto end; + i_315: + if(ic-- == 0) goto end; + branches++; + if((state += 3588049267) > 4294967295) { + state = 0; + void* ret = &&i_316; + stack[ss++] = ret; + goto i_413; + } + i_316: + if(ic-- == 0) goto end; + i_317: + if(ic-- == 0) goto end; + i_318: + if(ic-- == 0) goto end; + i_319: + if(ic-- == 0) goto end; + i_320: + if(ic-- == 0) goto end; + i_321: + if(ic-- == 0) goto end; + i_322: + if(ic-- == 0) goto end; + i_323: + if(ic-- == 0) goto end; + i_324: + if(ic-- == 0) goto end; + i_325: + if(ic-- == 0) goto end; + i_326: + if(ic-- == 0) goto end; + i_327: + if(ic-- == 0) goto end; + i_328: + if(ic-- == 0) goto end; + i_329: + if(ic-- == 0) goto end; + i_330: + if(ic-- == 0) goto end; + i_331: + if(ic-- == 0) goto end; + i_332: + if(ic-- == 0) goto end; + i_333: + if(ic-- == 0) goto end; + i_334: + if(ic-- == 0) goto end; + i_335: + if(ic-- == 0) goto end; + i_336: + if(ic-- == 0) goto end; + branches++; + if((state += 1190547036) > 4294967295) { + state = 0; + if(ss <= 0) goto i_337; + void* target = stack[--ss]; + goto *target; + } + i_337: + if(ic-- == 0) goto end; + i_338: + if(ic-- == 0) goto end; + i_339: + if(ic-- == 0) goto end; + i_340: + if(ic-- == 0) goto end; + i_341: + if(ic-- == 0) goto end; + i_342: + if(ic-- == 0) goto end; + i_343: + if(ic-- == 0) goto end; + i_344: + if(ic-- == 0) goto end; + i_345: + if(ic-- == 0) goto end; + i_346: + if(ic-- == 0) goto end; + i_347: + if(ic-- == 0) goto end; + i_348: + if(ic-- == 0) goto end; + i_349: + if(ic-- == 0) goto end; + i_350: + if(ic-- == 0) goto end; + branches++; + if((state += 4115343926) > 4294967295) { + state = 0; + void* ret = &&i_351; + stack[ss++] = ret; + goto i_541; + } + i_351: + if(ic-- == 0) goto end; + i_352: + if(ic-- == 0) goto end; + i_353: + if(ic-- == 0) goto end; + i_354: + if(ic-- == 0) goto end; + i_355: + if(ic-- == 0) goto end; + i_356: + if(ic-- == 0) goto end; + i_357: + if(ic-- == 0) goto end; + i_358: + if(ic-- == 0) goto end; + i_359: + if(ic-- == 0) goto end; + i_360: + if(ic-- == 0) goto end; + i_361: + if(ic-- == 0) goto end; + i_362: + if(ic-- == 0) goto end; + i_363: + if(ic-- == 0) goto end; + i_364: + if(ic-- == 0) goto end; + branches++; + if((state += 625597055) > 4294967295) { + state = 0; + if(ss <= 0) goto i_365; + void* target = stack[--ss]; + goto *target; + } + i_365: + if(ic-- == 0) goto end; + i_366: + if(ic-- == 0) goto end; + i_367: + if(ic-- == 0) goto end; + i_368: + if(ic-- == 0) goto end; + branches++; + if((state += 2921020832) > 4294967295) { + state = 0; + void* ret = &&i_369; + stack[ss++] = ret; + goto i_403; + } + i_369: + if(ic-- == 0) goto end; + i_370: + if(ic-- == 0) goto end; + i_371: + if(ic-- == 0) goto end; + i_372: + if(ic-- == 0) goto end; + i_373: + if(ic-- == 0) goto end; + branches++; + if((state += 2479284681) > 4294967295) { + state = 0; + void* ret = &&i_374; + stack[ss++] = ret; + goto i_564; + } + i_374: + if(ic-- == 0) goto end; + i_375: + if(ic-- == 0) goto end; + i_376: + if(ic-- == 0) goto end; + i_377: + if(ic-- == 0) goto end; + i_378: + if(ic-- == 0) goto end; + i_379: + if(ic-- == 0) goto end; + i_380: + if(ic-- == 0) goto end; + i_381: + if(ic-- == 0) goto end; + branches++; + if((state += 559008306) > 4294967295) { + state = 0; + void* ret = &&i_382; + stack[ss++] = ret; + goto i_547; + } + i_382: + if(ic-- == 0) goto end; + branches++; + if((state += 1232165017) > 4294967295) { + state = 0; + if(ss <= 0) goto i_383; + void* target = stack[--ss]; + goto *target; + } + i_383: + if(ic-- == 0) goto end; + i_384: + if(ic-- == 0) goto end; + i_385: + if(ic-- == 0) goto end; + i_386: + if(ic-- == 0) goto end; + i_387: + if(ic-- == 0) goto end; + i_388: + if(ic-- == 0) goto end; + i_389: + if(ic-- == 0) goto end; + i_390: + if(ic-- == 0) goto end; + i_391: + if(ic-- == 0) goto end; + i_392: + if(ic-- == 0) goto end; + i_393: + if(ic-- == 0) goto end; + i_394: + if(ic-- == 0) goto end; + i_395: + if(ic-- == 0) goto end; + i_396: + if(ic-- == 0) goto end; + i_397: + if(ic-- == 0) goto end; + i_398: + if(ic-- == 0) goto end; + i_399: + if(ic-- == 0) goto end; + i_400: + if(ic-- == 0) goto end; + i_401: + if(ic-- == 0) goto end; + i_402: + if(ic-- == 0) goto end; + i_403: + if(ic-- == 0) goto end; + i_404: + if(ic-- == 0) goto end; + branches++; + if((state += 152819674) > 4294967295) { + state = 0; + void* ret = &&i_405; + stack[ss++] = ret; + goto i_424; + } + i_405: + if(ic-- == 0) goto end; + i_406: + if(ic-- == 0) goto end; + i_407: + if(ic-- == 0) goto end; + i_408: + if(ic-- == 0) goto end; + i_409: + if(ic-- == 0) goto end; + branches++; + if((state += 1237514854) > 4294967295) { + state = 0; + if(ss <= 0) goto i_410; + void* target = stack[--ss]; + goto *target; + } + i_410: + if(ic-- == 0) goto end; + i_411: + if(ic-- == 0) goto end; + branches++; + if((state += 1706351018) > 4294967295) { + state = 0; + if(ss <= 0) goto i_412; + void* target = stack[--ss]; + goto *target; + } + i_412: + if(ic-- == 0) goto end; + branches++; + if((state += 3571797961) > 4294967295) { + state = 0; + void* ret = &&i_413; + stack[ss++] = ret; + goto i_591; + } + i_413: + if(ic-- == 0) goto end; + i_414: + if(ic-- == 0) goto end; + branches++; + if((state += 3070440026) > 4294967295) { + state = 0; + if(ss <= 0) goto i_415; + void* target = stack[--ss]; + goto *target; + } + i_415: + if(ic-- == 0) goto end; + i_416: + if(ic-- == 0) goto end; + i_417: + if(ic-- == 0) goto end; + i_418: + if(ic-- == 0) goto end; + i_419: + if(ic-- == 0) goto end; + i_420: + if(ic-- == 0) goto end; + i_421: + if(ic-- == 0) goto end; + i_422: + if(ic-- == 0) goto end; + branches++; + if((state += 2304247836) > 4294967295) { + state = 0; + if(ss <= 0) goto i_423; + void* target = stack[--ss]; + goto *target; + } + i_423: + if(ic-- == 0) goto end; + i_424: + if(ic-- == 0) goto end; + i_425: + if(ic-- == 0) goto end; + i_426: + if(ic-- == 0) goto end; + i_427: + if(ic-- == 0) goto end; + i_428: + if(ic-- == 0) goto end; + branches++; + if((state += 1446234727) > 4294967295) { + state = 0; + void* ret = &&i_429; + stack[ss++] = ret; + goto i_463; + } + i_429: + if(ic-- == 0) goto end; + i_430: + if(ic-- == 0) goto end; + branches++; + if((state += 2010984968) > 4294967295) { + state = 0; + void* ret = &&i_431; + stack[ss++] = ret; + goto i_668; + } + i_431: + if(ic-- == 0) goto end; + i_432: + if(ic-- == 0) goto end; + i_433: + if(ic-- == 0) goto end; + i_434: + if(ic-- == 0) goto end; + i_435: + if(ic-- == 0) goto end; + i_436: + if(ic-- == 0) goto end; + i_437: + if(ic-- == 0) goto end; + i_438: + if(ic-- == 0) goto end; + i_439: + if(ic-- == 0) goto end; + i_440: + if(ic-- == 0) goto end; + i_441: + if(ic-- == 0) goto end; + branches++; + if((state += 726364629) > 4294967295) { + state = 0; + void* ret = &&i_442; + stack[ss++] = ret; + goto i_570; + } + i_442: + if(ic-- == 0) goto end; + i_443: + if(ic-- == 0) goto end; + i_444: + if(ic-- == 0) goto end; + i_445: + if(ic-- == 0) goto end; + i_446: + if(ic-- == 0) goto end; + i_447: + if(ic-- == 0) goto end; + i_448: + if(ic-- == 0) goto end; + i_449: + if(ic-- == 0) goto end; + i_450: + if(ic-- == 0) goto end; + i_451: + if(ic-- == 0) goto end; + i_452: + if(ic-- == 0) goto end; + i_453: + if(ic-- == 0) goto end; + i_454: + if(ic-- == 0) goto end; + i_455: + if(ic-- == 0) goto end; + i_456: + if(ic-- == 0) goto end; + i_457: + if(ic-- == 0) goto end; + i_458: + if(ic-- == 0) goto end; + i_459: + if(ic-- == 0) goto end; + i_460: + if(ic-- == 0) goto end; + i_461: + if(ic-- == 0) goto end; + i_462: + if(ic-- == 0) goto end; + i_463: + if(ic-- == 0) goto end; + i_464: + if(ic-- == 0) goto end; + i_465: + if(ic-- == 0) goto end; + i_466: + if(ic-- == 0) goto end; + i_467: + if(ic-- == 0) goto end; + i_468: + if(ic-- == 0) goto end; + i_469: + if(ic-- == 0) goto end; + i_470: + if(ic-- == 0) goto end; + i_471: + if(ic-- == 0) goto end; + i_472: + if(ic-- == 0) goto end; + i_473: + if(ic-- == 0) goto end; + i_474: + if(ic-- == 0) goto end; + i_475: + if(ic-- == 0) goto end; + branches++; + if((state += 3521149299) > 4294967295) { + state = 0; + void* ret = &&i_476; + stack[ss++] = ret; + goto i_657; + } + i_476: + if(ic-- == 0) goto end; + i_477: + if(ic-- == 0) goto end; + i_478: + if(ic-- == 0) goto end; + i_479: + if(ic-- == 0) goto end; + i_480: + if(ic-- == 0) goto end; + i_481: + if(ic-- == 0) goto end; + i_482: + if(ic-- == 0) goto end; + i_483: + if(ic-- == 0) goto end; + branches++; + if((state += 3375122053) > 4294967295) { + state = 0; + if(ss <= 0) goto i_484; + void* target = stack[--ss]; + goto *target; + } + i_484: + if(ic-- == 0) goto end; + i_485: + if(ic-- == 0) goto end; + i_486: + if(ic-- == 0) goto end; + i_487: + if(ic-- == 0) goto end; + branches++; + if((state += 3835932753) > 4294967295) { + state = 0; + if(ss <= 0) goto i_488; + void* target = stack[--ss]; + goto *target; + } + i_488: + if(ic-- == 0) goto end; + i_489: + if(ic-- == 0) goto end; + i_490: + if(ic-- == 0) goto end; + i_491: + if(ic-- == 0) goto end; + i_492: + if(ic-- == 0) goto end; + i_493: + if(ic-- == 0) goto end; + i_494: + if(ic-- == 0) goto end; + i_495: + if(ic-- == 0) goto end; + i_496: + if(ic-- == 0) goto end; + i_497: + if(ic-- == 0) goto end; + i_498: + if(ic-- == 0) goto end; + i_499: + if(ic-- == 0) goto end; + i_500: + if(ic-- == 0) goto end; + i_501: + if(ic-- == 0) goto end; + i_502: + if(ic-- == 0) goto end; + branches++; + if((state += 2796388936) > 4294967295) { + state = 0; + if(ss <= 0) goto i_503; + void* target = stack[--ss]; + goto *target; + } + i_503: + if(ic-- == 0) goto end; + i_504: + if(ic-- == 0) goto end; + i_505: + if(ic-- == 0) goto end; + i_506: + if(ic-- == 0) goto end; + i_507: + if(ic-- == 0) goto end; + branches++; + if((state += 1247141878) > 4294967295) { + state = 0; + void* ret = &&i_508; + stack[ss++] = ret; + goto i_730; + } + i_508: + if(ic-- == 0) goto end; + i_509: + if(ic-- == 0) goto end; + i_510: + if(ic-- == 0) goto end; + i_511: + if(ic-- == 0) goto end; + i_512: + if(ic-- == 0) goto end; + i_513: + if(ic-- == 0) goto end; + branches++; + if((state += 1118508659) > 4294967295) { + state = 0; + void* ret = &&i_514; + stack[ss++] = ret; + goto i_570; + } + i_514: + if(ic-- == 0) goto end; + branches++; + if((state += 3814103514) > 4294967295) { + state = 0; + void* ret = &&i_515; + stack[ss++] = ret; + goto i_521; + } + i_515: + if(ic-- == 0) goto end; + i_516: + if(ic-- == 0) goto end; + branches++; + if((state += 1924324783) > 4294967295) { + state = 0; + void* ret = &&i_517; + stack[ss++] = ret; + goto i_765; + } + i_517: + if(ic-- == 0) goto end; + i_518: + if(ic-- == 0) goto end; + i_519: + if(ic-- == 0) goto end; + i_520: + if(ic-- == 0) goto end; + i_521: + if(ic-- == 0) goto end; + i_522: + if(ic-- == 0) goto end; + i_523: + if(ic-- == 0) goto end; + i_524: + if(ic-- == 0) goto end; + i_525: + if(ic-- == 0) goto end; + i_526: + if(ic-- == 0) goto end; + i_527: + if(ic-- == 0) goto end; + i_528: + if(ic-- == 0) goto end; + i_529: + if(ic-- == 0) goto end; + i_530: + if(ic-- == 0) goto end; + i_531: + if(ic-- == 0) goto end; + i_532: + if(ic-- == 0) goto end; + i_533: + if(ic-- == 0) goto end; + i_534: + if(ic-- == 0) goto end; + i_535: + if(ic-- == 0) goto end; + i_536: + if(ic-- == 0) goto end; + i_537: + if(ic-- == 0) goto end; + i_538: + if(ic-- == 0) goto end; + i_539: + if(ic-- == 0) goto end; + i_540: + if(ic-- == 0) goto end; + branches++; + if((state += 126722253) > 4294967295) { + state = 0; + if(ss <= 0) goto i_541; + void* target = stack[--ss]; + goto *target; + } + i_541: + if(ic-- == 0) goto end; + i_542: + if(ic-- == 0) goto end; + i_543: + if(ic-- == 0) goto end; + i_544: + if(ic-- == 0) goto end; + i_545: + if(ic-- == 0) goto end; + i_546: + if(ic-- == 0) goto end; + i_547: + if(ic-- == 0) goto end; + i_548: + if(ic-- == 0) goto end; + i_549: + if(ic-- == 0) goto end; + i_550: + if(ic-- == 0) goto end; + i_551: + if(ic-- == 0) goto end; + i_552: + if(ic-- == 0) goto end; + branches++; + if((state += 3051608332) > 4294967295) { + state = 0; + void* ret = &&i_553; + stack[ss++] = ret; + goto i_604; + } + i_553: + if(ic-- == 0) goto end; + i_554: + if(ic-- == 0) goto end; + i_555: + if(ic-- == 0) goto end; + i_556: + if(ic-- == 0) goto end; + i_557: + if(ic-- == 0) goto end; + i_558: + if(ic-- == 0) goto end; + branches++; + if((state += 3676004017) > 4294967295) { + state = 0; + void* ret = &&i_559; + stack[ss++] = ret; + goto i_645; + } + i_559: + if(ic-- == 0) goto end; + i_560: + if(ic-- == 0) goto end; + branches++; + if((state += 808006198) > 4294967295) { + state = 0; + void* ret = &&i_561; + stack[ss++] = ret; + goto i_656; + } + i_561: + if(ic-- == 0) goto end; + i_562: + if(ic-- == 0) goto end; + i_563: + if(ic-- == 0) goto end; + i_564: + if(ic-- == 0) goto end; + i_565: + if(ic-- == 0) goto end; + i_566: + if(ic-- == 0) goto end; + i_567: + if(ic-- == 0) goto end; + i_568: + if(ic-- == 0) goto end; + i_569: + if(ic-- == 0) goto end; + branches++; + if((state += 1017591791) > 4294967295) { + state = 0; + void* ret = &&i_570; + stack[ss++] = ret; + goto i_637; + } + i_570: + if(ic-- == 0) goto end; + i_571: + if(ic-- == 0) goto end; + branches++; + if((state += 2494873158) > 4294967295) { + state = 0; + if(ss <= 0) goto i_572; + void* target = stack[--ss]; + goto *target; + } + i_572: + if(ic-- == 0) goto end; + i_573: + if(ic-- == 0) goto end; + i_574: + if(ic-- == 0) goto end; + i_575: + if(ic-- == 0) goto end; + i_576: + if(ic-- == 0) goto end; + i_577: + if(ic-- == 0) goto end; + i_578: + if(ic-- == 0) goto end; + i_579: + if(ic-- == 0) goto end; + i_580: + if(ic-- == 0) goto end; + i_581: + if(ic-- == 0) goto end; + i_582: + if(ic-- == 0) goto end; + i_583: + if(ic-- == 0) goto end; + i_584: + if(ic-- == 0) goto end; + i_585: + if(ic-- == 0) goto end; + i_586: + if(ic-- == 0) goto end; + i_587: + if(ic-- == 0) goto end; + i_588: + if(ic-- == 0) goto end; + i_589: + if(ic-- == 0) goto end; + i_590: + if(ic-- == 0) goto end; + i_591: + if(ic-- == 0) goto end; + i_592: + if(ic-- == 0) goto end; + i_593: + if(ic-- == 0) goto end; + i_594: + if(ic-- == 0) goto end; + i_595: + if(ic-- == 0) goto end; + i_596: + if(ic-- == 0) goto end; + branches++; + if((state += 4909130) > 4294967295) { + state = 0; + void* ret = &&i_597; + stack[ss++] = ret; + goto i_622; + } + i_597: + if(ic-- == 0) goto end; + i_598: + if(ic-- == 0) goto end; + i_599: + if(ic-- == 0) goto end; + i_600: + if(ic-- == 0) goto end; + i_601: + if(ic-- == 0) goto end; + i_602: + if(ic-- == 0) goto end; + i_603: + if(ic-- == 0) goto end; + i_604: + if(ic-- == 0) goto end; + i_605: + if(ic-- == 0) goto end; + i_606: + if(ic-- == 0) goto end; + i_607: + if(ic-- == 0) goto end; + i_608: + if(ic-- == 0) goto end; + i_609: + if(ic-- == 0) goto end; + i_610: + if(ic-- == 0) goto end; + i_611: + if(ic-- == 0) goto end; + i_612: + if(ic-- == 0) goto end; + i_613: + if(ic-- == 0) goto end; + i_614: + if(ic-- == 0) goto end; + i_615: + if(ic-- == 0) goto end; + i_616: + if(ic-- == 0) goto end; + i_617: + if(ic-- == 0) goto end; + i_618: + if(ic-- == 0) goto end; + i_619: + if(ic-- == 0) goto end; + i_620: + if(ic-- == 0) goto end; + branches++; + if((state += 4170589735) > 4294967295) { + state = 0; + void* ret = &&i_621; + stack[ss++] = ret; + goto i_666; + } + i_621: + if(ic-- == 0) goto end; + i_622: + if(ic-- == 0) goto end; + i_623: + if(ic-- == 0) goto end; + i_624: + if(ic-- == 0) goto end; + i_625: + if(ic-- == 0) goto end; + i_626: + if(ic-- == 0) goto end; + branches++; + if((state += 1027138614) > 4294967295) { + state = 0; + if(ss <= 0) goto i_627; + void* target = stack[--ss]; + goto *target; + } + i_627: + if(ic-- == 0) goto end; + i_628: + if(ic-- == 0) goto end; + i_629: + if(ic-- == 0) goto end; + i_630: + if(ic-- == 0) goto end; + i_631: + if(ic-- == 0) goto end; + i_632: + if(ic-- == 0) goto end; + i_633: + if(ic-- == 0) goto end; + i_634: + if(ic-- == 0) goto end; + i_635: + if(ic-- == 0) goto end; + i_636: + if(ic-- == 0) goto end; + i_637: + if(ic-- == 0) goto end; + i_638: + if(ic-- == 0) goto end; + i_639: + if(ic-- == 0) goto end; + i_640: + if(ic-- == 0) goto end; + i_641: + if(ic-- == 0) goto end; + i_642: + if(ic-- == 0) goto end; + branches++; + if((state += 478668193) > 4294967295) { + state = 0; + void* ret = &&i_643; + stack[ss++] = ret; + goto i_801; + } + i_643: + if(ic-- == 0) goto end; + i_644: + if(ic-- == 0) goto end; + i_645: + if(ic-- == 0) goto end; + branches++; + if((state += 2000561671) > 4294967295) { + state = 0; + if(ss <= 0) goto i_646; + void* target = stack[--ss]; + goto *target; + } + i_646: + if(ic-- == 0) goto end; + i_647: + if(ic-- == 0) goto end; + i_648: + if(ic-- == 0) goto end; + i_649: + if(ic-- == 0) goto end; + i_650: + if(ic-- == 0) goto end; + i_651: + if(ic-- == 0) goto end; + i_652: + if(ic-- == 0) goto end; + i_653: + if(ic-- == 0) goto end; + i_654: + if(ic-- == 0) goto end; + i_655: + if(ic-- == 0) goto end; + i_656: + if(ic-- == 0) goto end; + i_657: + if(ic-- == 0) goto end; + branches++; + if((state += 157265782) > 4294967295) { + state = 0; + if(ss <= 0) goto i_658; + void* target = stack[--ss]; + goto *target; + } + i_658: + if(ic-- == 0) goto end; + i_659: + if(ic-- == 0) goto end; + i_660: + if(ic-- == 0) goto end; + i_661: + if(ic-- == 0) goto end; + i_662: + if(ic-- == 0) goto end; + i_663: + if(ic-- == 0) goto end; + i_664: + if(ic-- == 0) goto end; + i_665: + if(ic-- == 0) goto end; + i_666: + if(ic-- == 0) goto end; + i_667: + if(ic-- == 0) goto end; + i_668: + if(ic-- == 0) goto end; + i_669: + if(ic-- == 0) goto end; + i_670: + if(ic-- == 0) goto end; + i_671: + if(ic-- == 0) goto end; + branches++; + if((state += 3214452447) > 4294967295) { + state = 0; + void* ret = &&i_672; + stack[ss++] = ret; + goto i_883; + } + i_672: + if(ic-- == 0) goto end; + i_673: + if(ic-- == 0) goto end; + i_674: + if(ic-- == 0) goto end; + i_675: + if(ic-- == 0) goto end; + i_676: + if(ic-- == 0) goto end; + i_677: + if(ic-- == 0) goto end; + i_678: + if(ic-- == 0) goto end; + i_679: + if(ic-- == 0) goto end; + i_680: + if(ic-- == 0) goto end; + i_681: + if(ic-- == 0) goto end; + i_682: + if(ic-- == 0) goto end; + branches++; + if((state += 288253489) > 4294967295) { + state = 0; + if(ss <= 0) goto i_683; + void* target = stack[--ss]; + goto *target; + } + i_683: + if(ic-- == 0) goto end; + i_684: + if(ic-- == 0) goto end; + i_685: + if(ic-- == 0) goto end; + i_686: + if(ic-- == 0) goto end; + i_687: + if(ic-- == 0) goto end; + i_688: + if(ic-- == 0) goto end; + i_689: + if(ic-- == 0) goto end; + i_690: + if(ic-- == 0) goto end; + i_691: + if(ic-- == 0) goto end; + i_692: + if(ic-- == 0) goto end; + i_693: + if(ic-- == 0) goto end; + branches++; + if((state += 3482595217) > 4294967295) { + state = 0; + if(ss <= 0) goto i_694; + void* target = stack[--ss]; + goto *target; + } + i_694: + if(ic-- == 0) goto end; + branches++; + if((state += 3120377816) > 4294967295) { + state = 0; + if(ss <= 0) goto i_695; + void* target = stack[--ss]; + goto *target; + } + i_695: + if(ic-- == 0) goto end; + i_696: + if(ic-- == 0) goto end; + i_697: + if(ic-- == 0) goto end; + branches++; + if((state += 4245221468) > 4294967295) { + state = 0; + void* ret = &&i_698; + stack[ss++] = ret; + goto i_703; + } + i_698: + if(ic-- == 0) goto end; + i_699: + if(ic-- == 0) goto end; + i_700: + if(ic-- == 0) goto end; + i_701: + if(ic-- == 0) goto end; + i_702: + if(ic-- == 0) goto end; + i_703: + if(ic-- == 0) goto end; + i_704: + if(ic-- == 0) goto end; + i_705: + if(ic-- == 0) goto end; + branches++; + if((state += 2319198595) > 4294967295) { + state = 0; + void* ret = &&i_706; + stack[ss++] = ret; + goto i_892; + } + i_706: + if(ic-- == 0) goto end; + i_707: + if(ic-- == 0) goto end; + i_708: + if(ic-- == 0) goto end; + branches++; + if((state += 2399187042) > 4294967295) { + state = 0; + void* ret = &&i_709; + stack[ss++] = ret; + goto i_796; + } + i_709: + if(ic-- == 0) goto end; + i_710: + if(ic-- == 0) goto end; + i_711: + if(ic-- == 0) goto end; + i_712: + if(ic-- == 0) goto end; + i_713: + if(ic-- == 0) goto end; + i_714: + if(ic-- == 0) goto end; + i_715: + if(ic-- == 0) goto end; + i_716: + if(ic-- == 0) goto end; + i_717: + if(ic-- == 0) goto end; + i_718: + if(ic-- == 0) goto end; + i_719: + if(ic-- == 0) goto end; + i_720: + if(ic-- == 0) goto end; + i_721: + if(ic-- == 0) goto end; + i_722: + if(ic-- == 0) goto end; + i_723: + if(ic-- == 0) goto end; + i_724: + if(ic-- == 0) goto end; + i_725: + if(ic-- == 0) goto end; + i_726: + if(ic-- == 0) goto end; + i_727: + if(ic-- == 0) goto end; + i_728: + if(ic-- == 0) goto end; + branches++; + if((state += 4184393193) > 4294967295) { + state = 0; + void* ret = &&i_729; + stack[ss++] = ret; + goto i_770; + } + i_729: + if(ic-- == 0) goto end; + i_730: + if(ic-- == 0) goto end; + i_731: + if(ic-- == 0) goto end; + i_732: + if(ic-- == 0) goto end; + i_733: + if(ic-- == 0) goto end; + i_734: + if(ic-- == 0) goto end; + i_735: + if(ic-- == 0) goto end; + i_736: + if(ic-- == 0) goto end; + i_737: + if(ic-- == 0) goto end; + i_738: + if(ic-- == 0) goto end; + i_739: + if(ic-- == 0) goto end; + i_740: + if(ic-- == 0) goto end; + i_741: + if(ic-- == 0) goto end; + i_742: + if(ic-- == 0) goto end; + i_743: + if(ic-- == 0) goto end; + i_744: + if(ic-- == 0) goto end; + i_745: + if(ic-- == 0) goto end; + i_746: + if(ic-- == 0) goto end; + i_747: + if(ic-- == 0) goto end; + i_748: + if(ic-- == 0) goto end; + i_749: + if(ic-- == 0) goto end; + i_750: + if(ic-- == 0) goto end; + branches++; + if((state += 1311714633) > 4294967295) { + state = 0; + void* ret = &&i_751; + stack[ss++] = ret; + goto i_801; + } + i_751: + if(ic-- == 0) goto end; + i_752: + if(ic-- == 0) goto end; + i_753: + if(ic-- == 0) goto end; + i_754: + if(ic-- == 0) goto end; + i_755: + if(ic-- == 0) goto end; + branches++; + if((state += 2990284553) > 4294967295) { + state = 0; + void* ret = &&i_756; + stack[ss++] = ret; + goto i_1009; + } + i_756: + if(ic-- == 0) goto end; + i_757: + if(ic-- == 0) goto end; + branches++; + if((state += 2525881729) > 4294967295) { + state = 0; + if(ss <= 0) goto i_758; + void* target = stack[--ss]; + goto *target; + } + i_758: + if(ic-- == 0) goto end; + i_759: + if(ic-- == 0) goto end; + i_760: + if(ic-- == 0) goto end; + i_761: + if(ic-- == 0) goto end; + i_762: + if(ic-- == 0) goto end; + i_763: + if(ic-- == 0) goto end; + i_764: + if(ic-- == 0) goto end; + branches++; + if((state += 1536893296) > 4294967295) { + state = 0; + if(ss <= 0) goto i_765; + void* target = stack[--ss]; + goto *target; + } + i_765: + if(ic-- == 0) goto end; + i_766: + if(ic-- == 0) goto end; + i_767: + if(ic-- == 0) goto end; + i_768: + if(ic-- == 0) goto end; + i_769: + if(ic-- == 0) goto end; + i_770: + if(ic-- == 0) goto end; + i_771: + if(ic-- == 0) goto end; + i_772: + if(ic-- == 0) goto end; + i_773: + if(ic-- == 0) goto end; + i_774: + if(ic-- == 0) goto end; + i_775: + if(ic-- == 0) goto end; + i_776: + if(ic-- == 0) goto end; + i_777: + if(ic-- == 0) goto end; + i_778: + if(ic-- == 0) goto end; + branches++; + if((state += 1484067825) > 4294967295) { + state = 0; + void* ret = &&i_779; + stack[ss++] = ret; + goto i_893; + } + i_779: + if(ic-- == 0) goto end; + i_780: + if(ic-- == 0) goto end; + i_781: + if(ic-- == 0) goto end; + i_782: + if(ic-- == 0) goto end; + i_783: + if(ic-- == 0) goto end; + i_784: + if(ic-- == 0) goto end; + i_785: + if(ic-- == 0) goto end; + branches++; + if((state += 2996317137) > 4294967295) { + state = 0; + void* ret = &&i_786; + stack[ss++] = ret; + goto i_949; + } + i_786: + if(ic-- == 0) goto end; + i_787: + if(ic-- == 0) goto end; + i_788: + if(ic-- == 0) goto end; + i_789: + if(ic-- == 0) goto end; + i_790: + if(ic-- == 0) goto end; + i_791: + if(ic-- == 0) goto end; + i_792: + if(ic-- == 0) goto end; + i_793: + if(ic-- == 0) goto end; + i_794: + if(ic-- == 0) goto end; + i_795: + if(ic-- == 0) goto end; + i_796: + if(ic-- == 0) goto end; + i_797: + if(ic-- == 0) goto end; + i_798: + if(ic-- == 0) goto end; + i_799: + if(ic-- == 0) goto end; + i_800: + if(ic-- == 0) goto end; + i_801: + if(ic-- == 0) goto end; + i_802: + if(ic-- == 0) goto end; + i_803: + if(ic-- == 0) goto end; + i_804: + if(ic-- == 0) goto end; + i_805: + if(ic-- == 0) goto end; + branches++; + if((state += 1346539270) > 4294967295) { + state = 0; + void* ret = &&i_806; + stack[ss++] = ret; + goto i_813; + } + i_806: + if(ic-- == 0) goto end; + i_807: + if(ic-- == 0) goto end; + i_808: + if(ic-- == 0) goto end; + i_809: + if(ic-- == 0) goto end; + i_810: + if(ic-- == 0) goto end; + branches++; + if((state += 1134804964) > 4294967295) { + state = 0; + if(ss <= 0) goto i_811; + void* target = stack[--ss]; + goto *target; + } + i_811: + if(ic-- == 0) goto end; + i_812: + if(ic-- == 0) goto end; + i_813: + if(ic-- == 0) goto end; + i_814: + if(ic-- == 0) goto end; + i_815: + if(ic-- == 0) goto end; + i_816: + if(ic-- == 0) goto end; + i_817: + if(ic-- == 0) goto end; + i_818: + if(ic-- == 0) goto end; + i_819: + if(ic-- == 0) goto end; + i_820: + if(ic-- == 0) goto end; + i_821: + if(ic-- == 0) goto end; + i_822: + if(ic-- == 0) goto end; + i_823: + if(ic-- == 0) goto end; + i_824: + if(ic-- == 0) goto end; + i_825: + if(ic-- == 0) goto end; + i_826: + if(ic-- == 0) goto end; + branches++; + if((state += 2353620466) > 4294967295) { + state = 0; + if(ss <= 0) goto i_827; + void* target = stack[--ss]; + goto *target; + } + i_827: + if(ic-- == 0) goto end; + i_828: + if(ic-- == 0) goto end; + branches++; + if((state += 246564735) > 4294967295) { + state = 0; + if(ss <= 0) goto i_829; + void* target = stack[--ss]; + goto *target; + } + i_829: + if(ic-- == 0) goto end; + i_830: + if(ic-- == 0) goto end; + i_831: + if(ic-- == 0) goto end; + i_832: + if(ic-- == 0) goto end; + i_833: + if(ic-- == 0) goto end; + i_834: + if(ic-- == 0) goto end; + i_835: + if(ic-- == 0) goto end; + i_836: + if(ic-- == 0) goto end; + i_837: + if(ic-- == 0) goto end; + i_838: + if(ic-- == 0) goto end; + i_839: + if(ic-- == 0) goto end; + i_840: + if(ic-- == 0) goto end; + i_841: + if(ic-- == 0) goto end; + i_842: + if(ic-- == 0) goto end; + i_843: + if(ic-- == 0) goto end; + branches++; + if((state += 782639687) > 4294967295) { + state = 0; + void* ret = &&i_844; + stack[ss++] = ret; + goto i_955; + } + i_844: + if(ic-- == 0) goto end; + i_845: + if(ic-- == 0) goto end; + i_846: + if(ic-- == 0) goto end; + i_847: + if(ic-- == 0) goto end; + i_848: + if(ic-- == 0) goto end; + i_849: + if(ic-- == 0) goto end; + i_850: + if(ic-- == 0) goto end; + i_851: + if(ic-- == 0) goto end; + i_852: + if(ic-- == 0) goto end; + i_853: + if(ic-- == 0) goto end; + i_854: + if(ic-- == 0) goto end; + i_855: + if(ic-- == 0) goto end; + i_856: + if(ic-- == 0) goto end; + i_857: + if(ic-- == 0) goto end; + i_858: + if(ic-- == 0) goto end; + i_859: + if(ic-- == 0) goto end; + i_860: + if(ic-- == 0) goto end; + i_861: + if(ic-- == 0) goto end; + i_862: + if(ic-- == 0) goto end; + i_863: + if(ic-- == 0) goto end; + i_864: + if(ic-- == 0) goto end; + branches++; + if((state += 374700188) > 4294967295) { + state = 0; + if(ss <= 0) goto i_865; + void* target = stack[--ss]; + goto *target; + } + i_865: + if(ic-- == 0) goto end; + i_866: + if(ic-- == 0) goto end; + i_867: + if(ic-- == 0) goto end; + i_868: + if(ic-- == 0) goto end; + i_869: + if(ic-- == 0) goto end; + i_870: + if(ic-- == 0) goto end; + i_871: + if(ic-- == 0) goto end; + i_872: + if(ic-- == 0) goto end; + i_873: + if(ic-- == 0) goto end; + i_874: + if(ic-- == 0) goto end; + i_875: + if(ic-- == 0) goto end; + i_876: + if(ic-- == 0) goto end; + i_877: + if(ic-- == 0) goto end; + branches++; + if((state += 1975848362) > 4294967295) { + state = 0; + void* ret = &&i_878; + stack[ss++] = ret; + goto i_971; + } + i_878: + if(ic-- == 0) goto end; + branches++; + if((state += 519058282) > 4294967295) { + state = 0; + void* ret = &&i_879; + stack[ss++] = ret; + goto i_77; + } + i_879: + if(ic-- == 0) goto end; + branches++; + if((state += 3810721988) > 4294967295) { + state = 0; + if(ss <= 0) goto i_880; + void* target = stack[--ss]; + goto *target; + } + i_880: + if(ic-- == 0) goto end; + i_881: + if(ic-- == 0) goto end; + i_882: + if(ic-- == 0) goto end; + i_883: + if(ic-- == 0) goto end; + i_884: + if(ic-- == 0) goto end; + i_885: + if(ic-- == 0) goto end; + i_886: + if(ic-- == 0) goto end; + branches++; + if((state += 312929243) > 4294967295) { + state = 0; + void* ret = &&i_887; + stack[ss++] = ret; + goto i_943; + } + i_887: + if(ic-- == 0) goto end; + i_888: + if(ic-- == 0) goto end; + branches++; + if((state += 75875866) > 4294967295) { + state = 0; + void* ret = &&i_889; + stack[ss++] = ret; + goto i_969; + } + i_889: + if(ic-- == 0) goto end; + i_890: + if(ic-- == 0) goto end; + i_891: + if(ic-- == 0) goto end; + i_892: + if(ic-- == 0) goto end; + branches++; + if((state += 3298258409) > 4294967295) { + state = 0; + if(ss <= 0) goto i_893; + void* target = stack[--ss]; + goto *target; + } + i_893: + if(ic-- == 0) goto end; + i_894: + if(ic-- == 0) goto end; + i_895: + if(ic-- == 0) goto end; + i_896: + if(ic-- == 0) goto end; + i_897: + if(ic-- == 0) goto end; + i_898: + if(ic-- == 0) goto end; + branches++; + if((state += 3944707394) > 4294967295) { + state = 0; + void* ret = &&i_899; + stack[ss++] = ret; + goto i_974; + } + i_899: + if(ic-- == 0) goto end; + i_900: + if(ic-- == 0) goto end; + i_901: + if(ic-- == 0) goto end; + i_902: + if(ic-- == 0) goto end; + branches++; + if((state += 3522509435) > 4294967295) { + state = 0; + void* ret = &&i_903; + stack[ss++] = ret; + goto i_7; + } + i_903: + if(ic-- == 0) goto end; + i_904: + if(ic-- == 0) goto end; + branches++; + if((state += 2717695818) > 4294967295) { + state = 0; + void* ret = &&i_905; + stack[ss++] = ret; + goto i_95; + } + i_905: + if(ic-- == 0) goto end; + i_906: + if(ic-- == 0) goto end; + i_907: + if(ic-- == 0) goto end; + i_908: + if(ic-- == 0) goto end; + i_909: + if(ic-- == 0) goto end; + i_910: + if(ic-- == 0) goto end; + i_911: + if(ic-- == 0) goto end; + i_912: + if(ic-- == 0) goto end; + i_913: + if(ic-- == 0) goto end; + i_914: + if(ic-- == 0) goto end; + i_915: + if(ic-- == 0) goto end; + i_916: + if(ic-- == 0) goto end; + i_917: + if(ic-- == 0) goto end; + i_918: + if(ic-- == 0) goto end; + i_919: + if(ic-- == 0) goto end; + i_920: + if(ic-- == 0) goto end; + i_921: + if(ic-- == 0) goto end; + i_922: + if(ic-- == 0) goto end; + i_923: + if(ic-- == 0) goto end; + i_924: + if(ic-- == 0) goto end; + i_925: + if(ic-- == 0) goto end; + i_926: + if(ic-- == 0) goto end; + i_927: + if(ic-- == 0) goto end; + i_928: + if(ic-- == 0) goto end; + i_929: + if(ic-- == 0) goto end; + i_930: + if(ic-- == 0) goto end; + i_931: + if(ic-- == 0) goto end; + branches++; + if((state += 1170709507) > 4294967295) { + state = 0; + if(ss <= 0) goto i_932; + void* target = stack[--ss]; + goto *target; + } + i_932: + if(ic-- == 0) goto end; + i_933: + if(ic-- == 0) goto end; + i_934: + if(ic-- == 0) goto end; + i_935: + if(ic-- == 0) goto end; + i_936: + if(ic-- == 0) goto end; + branches++; + if((state += 3901871423) > 4294967295) { + state = 0; + void* ret = &&i_937; + stack[ss++] = ret; + goto i_28; + } + i_937: + if(ic-- == 0) goto end; + i_938: + if(ic-- == 0) goto end; + i_939: + if(ic-- == 0) goto end; + i_940: + if(ic-- == 0) goto end; + i_941: + if(ic-- == 0) goto end; + i_942: + if(ic-- == 0) goto end; + i_943: + if(ic-- == 0) goto end; + i_944: + if(ic-- == 0) goto end; + i_945: + if(ic-- == 0) goto end; + i_946: + if(ic-- == 0) goto end; + i_947: + if(ic-- == 0) goto end; + i_948: + if(ic-- == 0) goto end; + i_949: + if(ic-- == 0) goto end; + i_950: + if(ic-- == 0) goto end; + i_951: + if(ic-- == 0) goto end; + i_952: + if(ic-- == 0) goto end; + i_953: + if(ic-- == 0) goto end; + i_954: + if(ic-- == 0) goto end; + i_955: + if(ic-- == 0) goto end; + i_956: + if(ic-- == 0) goto end; + i_957: + if(ic-- == 0) goto end; + i_958: + if(ic-- == 0) goto end; + i_959: + if(ic-- == 0) goto end; + i_960: + if(ic-- == 0) goto end; + i_961: + if(ic-- == 0) goto end; + i_962: + if(ic-- == 0) goto end; + i_963: + if(ic-- == 0) goto end; + i_964: + if(ic-- == 0) goto end; + i_965: + if(ic-- == 0) goto end; + i_966: + if(ic-- == 0) goto end; + i_967: + if(ic-- == 0) goto end; + i_968: + if(ic-- == 0) goto end; + i_969: + if(ic-- == 0) goto end; + i_970: + if(ic-- == 0) goto end; + i_971: + if(ic-- == 0) goto end; + i_972: + if(ic-- == 0) goto end; + i_973: + if(ic-- == 0) goto end; + i_974: + if(ic-- == 0) goto end; + i_975: + if(ic-- == 0) goto end; + i_976: + if(ic-- == 0) goto end; + i_977: + if(ic-- == 0) goto end; + i_978: + if(ic-- == 0) goto end; + branches++; + if((state += 1456175612) > 4294967295) { + state = 0; + void* ret = &&i_979; + stack[ss++] = ret; + goto i_26; + } + i_979: + if(ic-- == 0) goto end; + i_980: + if(ic-- == 0) goto end; + i_981: + if(ic-- == 0) goto end; + i_982: + if(ic-- == 0) goto end; + branches++; + if((state += 808127352) > 4294967295) { + state = 0; + void* ret = &&i_983; + stack[ss++] = ret; + goto i_197; + } + i_983: + if(ic-- == 0) goto end; + i_984: + if(ic-- == 0) goto end; + i_985: + if(ic-- == 0) goto end; + i_986: + if(ic-- == 0) goto end; + branches++; + if((state += 741949704) > 4294967295) { + state = 0; + void* ret = &&i_987; + stack[ss++] = ret; + goto i_59; + } + i_987: + if(ic-- == 0) goto end; + branches++; + if((state += 3740247587) > 4294967295) { + state = 0; + if(ss <= 0) goto i_988; + void* target = stack[--ss]; + goto *target; + } + i_988: + if(ic-- == 0) goto end; + i_989: + if(ic-- == 0) goto end; + i_990: + if(ic-- == 0) goto end; + branches++; + if((state += 3550479444) > 4294967295) { + state = 0; + if(ss <= 0) goto i_991; + void* target = stack[--ss]; + goto *target; + } + i_991: + if(ic-- == 0) goto end; + i_992: + if(ic-- == 0) goto end; + branches++; + if((state += 1552714076) > 4294967295) { + state = 0; + void* ret = &&i_993; + stack[ss++] = ret; + goto i_73; + } + i_993: + if(ic-- == 0) goto end; + i_994: + if(ic-- == 0) goto end; + i_995: + if(ic-- == 0) goto end; + i_996: + if(ic-- == 0) goto end; + branches++; + if((state += 1901489237) > 4294967295) { + state = 0; + if(ss <= 0) goto i_997; + void* target = stack[--ss]; + goto *target; + } + i_997: + if(ic-- == 0) goto end; + branches++; + if((state += 1314937403) > 4294967295) { + state = 0; + void* ret = &&i_998; + stack[ss++] = ret; + goto i_21; + } + i_998: + if(ic-- == 0) goto end; + i_999: + if(ic-- == 0) goto end; + i_1000: + if(ic-- == 0) goto end; + i_1001: + if(ic-- == 0) goto end; + i_1002: + if(ic-- == 0) goto end; + i_1003: + if(ic-- == 0) goto end; + i_1004: + if(ic-- == 0) goto end; + i_1005: + if(ic-- == 0) goto end; + i_1006: + if(ic-- == 0) goto end; + i_1007: + if(ic-- == 0) goto end; + i_1008: + if(ic-- == 0) goto end; + i_1009: + if(ic-- == 0) goto end; + i_1010: + if(ic-- == 0) goto end; + i_1011: + if(ic-- == 0) goto end; + i_1012: + if(ic-- == 0) goto end; + i_1013: + if(ic-- == 0) goto end; + i_1014: + if(ic-- == 0) goto end; + i_1015: + if(ic-- == 0) goto end; + i_1016: + if(ic-- == 0) goto end; + i_1017: + if(ic-- == 0) goto end; + i_1018: + if(ic-- == 0) goto end; + i_1019: + if(ic-- == 0) goto end; + i_1020: + if(ic-- == 0) goto end; + i_1021: + if(ic-- == 0) goto end; + i_1022: + if(ic-- == 0) goto end; + i_1023: + if(ic-- == 0) goto end; + goto i_0; + end: + PROF_STDOUT(); + fprintf(stdout, "VM branches: %lu\n", branches); + return 0; +} diff --git a/tests/branch_prediction/branch_randomly.c b/tests/branch_prediction/branch_randomly.c new file mode 100644 index 0000000..969cfe4 --- /dev/null +++ b/tests/branch_prediction/branch_randomly.c @@ -0,0 +1,2839 @@ +#include "stdint.h" +#include "stdlib.h" +#include "stdio.h" +#define PROF_USER_EVENTS_ONLY +#define PROF_EVENT_LIST \ + PROF_EVENT_HW(BRANCH_INSTRUCTIONS) \ + PROF_EVENT_HW(BRANCH_MISSES) \ + PROF_EVENT_SW(TASK_CLOCK) +#include "prof.h" +int main(int argc, char** argv) { + uint64_t ic = argc > 1 ? atoi(argv[1]) : 65536; + uint64_t ss = 0; + uint64_t branches = 0; + uint32_t state = 0; + uint32_t state2 = 123456789; + void* stack[65536]; + PROF_START(); + i_0: + if(ic-- == 0) goto end; + i_1: + if(ic-- == 0) goto end; + i_2: + if(ic-- == 0) goto end; + i_3: + if(ic-- == 0) goto end; + i_4: + if(ic-- == 0) goto end; + i_5: + if(ic-- == 0) goto end; + i_6: + if(ic-- == 0) goto end; + i_7: + if(ic-- == 0) goto end; + i_8: + if(ic-- == 0) goto end; + i_9: + if(ic-- == 0) goto end; + i_10: + if(ic-- == 0) goto end; + i_11: + if(ic-- == 0) goto end; + i_12: + if(ic-- == 0) goto end; + i_13: + if(ic-- == 0) goto end; + i_14: + if(ic-- == 0) goto end; + i_15: + if(ic-- == 0) goto end; + i_16: + if(ic-- == 0) goto end; + i_17: + if(ic-- == 0) goto end; + i_18: + if(ic-- == 0) goto end; + i_19: + if(ic-- == 0) goto end; + i_20: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3288853519) { + void* ret = &&i_21; + stack[ss++] = ret; + goto i_261; + } + i_21: + if(ic-- == 0) goto end; + i_22: + if(ic-- == 0) goto end; + i_23: + if(ic-- == 0) goto end; + i_24: + if(ic-- == 0) goto end; + i_25: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3812903776) { + void* ret = &&i_26; + stack[ss++] = ret; + goto i_281; + } + i_26: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 639652386) { + if(ss <= 0) goto i_27; + void* target = stack[--ss]; + goto *target; + } + i_27: + if(ic-- == 0) goto end; + i_28: + if(ic-- == 0) goto end; + i_29: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2961632904) { + if(ss <= 0) goto i_30; + void* target = stack[--ss]; + goto *target; + } + i_30: + if(ic-- == 0) goto end; + i_31: + if(ic-- == 0) goto end; + i_32: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 474307802) { + void* ret = &&i_33; + stack[ss++] = ret; + goto i_136; + } + i_33: + if(ic-- == 0) goto end; + i_34: + if(ic-- == 0) goto end; + i_35: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2093095523) { + if(ss <= 0) goto i_36; + void* target = stack[--ss]; + goto *target; + } + i_36: + if(ic-- == 0) goto end; + i_37: + if(ic-- == 0) goto end; + i_38: + if(ic-- == 0) goto end; + i_39: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3154726805) { + void* ret = &&i_40; + stack[ss++] = ret; + goto i_232; + } + i_40: + if(ic-- == 0) goto end; + i_41: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2044508552) { + if(ss <= 0) goto i_42; + void* target = stack[--ss]; + goto *target; + } + i_42: + if(ic-- == 0) goto end; + i_43: + if(ic-- == 0) goto end; + i_44: + if(ic-- == 0) goto end; + i_45: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 277236801) { + void* ret = &&i_46; + stack[ss++] = ret; + goto i_171; + } + i_46: + if(ic-- == 0) goto end; + i_47: + if(ic-- == 0) goto end; + i_48: + if(ic-- == 0) goto end; + i_49: + if(ic-- == 0) goto end; + i_50: + if(ic-- == 0) goto end; + i_51: + if(ic-- == 0) goto end; + i_52: + if(ic-- == 0) goto end; + i_53: + if(ic-- == 0) goto end; + i_54: + if(ic-- == 0) goto end; + i_55: + if(ic-- == 0) goto end; + i_56: + if(ic-- == 0) goto end; + i_57: + if(ic-- == 0) goto end; + i_58: + if(ic-- == 0) goto end; + i_59: + if(ic-- == 0) goto end; + i_60: + if(ic-- == 0) goto end; + i_61: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1058438924) { + if(ss <= 0) goto i_62; + void* target = stack[--ss]; + goto *target; + } + i_62: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3520888866) { + void* ret = &&i_63; + stack[ss++] = ret; + goto i_231; + } + i_63: + if(ic-- == 0) goto end; + i_64: + if(ic-- == 0) goto end; + i_65: + if(ic-- == 0) goto end; + i_66: + if(ic-- == 0) goto end; + i_67: + if(ic-- == 0) goto end; + i_68: + if(ic-- == 0) goto end; + i_69: + if(ic-- == 0) goto end; + i_70: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3793324182) { + void* ret = &&i_71; + stack[ss++] = ret; + goto i_135; + } + i_71: + if(ic-- == 0) goto end; + i_72: + if(ic-- == 0) goto end; + i_73: + if(ic-- == 0) goto end; + i_74: + if(ic-- == 0) goto end; + i_75: + if(ic-- == 0) goto end; + i_76: + if(ic-- == 0) goto end; + i_77: + if(ic-- == 0) goto end; + i_78: + if(ic-- == 0) goto end; + i_79: + if(ic-- == 0) goto end; + i_80: + if(ic-- == 0) goto end; + i_81: + if(ic-- == 0) goto end; + i_82: + if(ic-- == 0) goto end; + i_83: + if(ic-- == 0) goto end; + i_84: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1542024869) { + void* ret = &&i_85; + stack[ss++] = ret; + goto i_221; + } + i_85: + if(ic-- == 0) goto end; + i_86: + if(ic-- == 0) goto end; + i_87: + if(ic-- == 0) goto end; + i_88: + if(ic-- == 0) goto end; + i_89: + if(ic-- == 0) goto end; + i_90: + if(ic-- == 0) goto end; + i_91: + if(ic-- == 0) goto end; + i_92: + if(ic-- == 0) goto end; + i_93: + if(ic-- == 0) goto end; + i_94: + if(ic-- == 0) goto end; + i_95: + if(ic-- == 0) goto end; + i_96: + if(ic-- == 0) goto end; + i_97: + if(ic-- == 0) goto end; + i_98: + if(ic-- == 0) goto end; + i_99: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 792504979) { + void* ret = &&i_100; + stack[ss++] = ret; + goto i_103; + } + i_100: + if(ic-- == 0) goto end; + i_101: + if(ic-- == 0) goto end; + i_102: + if(ic-- == 0) goto end; + i_103: + if(ic-- == 0) goto end; + i_104: + if(ic-- == 0) goto end; + i_105: + if(ic-- == 0) goto end; + i_106: + if(ic-- == 0) goto end; + i_107: + if(ic-- == 0) goto end; + i_108: + if(ic-- == 0) goto end; + i_109: + if(ic-- == 0) goto end; + i_110: + if(ic-- == 0) goto end; + i_111: + if(ic-- == 0) goto end; + i_112: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 980709207) { + if(ss <= 0) goto i_113; + void* target = stack[--ss]; + goto *target; + } + i_113: + if(ic-- == 0) goto end; + i_114: + if(ic-- == 0) goto end; + i_115: + if(ic-- == 0) goto end; + i_116: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 971078638) { + if(ss <= 0) goto i_117; + void* target = stack[--ss]; + goto *target; + } + i_117: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3848388585) { + void* ret = &&i_118; + stack[ss++] = ret; + goto i_260; + } + i_118: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2057363175) { + if(ss <= 0) goto i_119; + void* target = stack[--ss]; + goto *target; + } + i_119: + if(ic-- == 0) goto end; + i_120: + if(ic-- == 0) goto end; + i_121: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2208602459) { + if(ss <= 0) goto i_122; + void* target = stack[--ss]; + goto *target; + } + i_122: + if(ic-- == 0) goto end; + i_123: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2808635116) { + if(ss <= 0) goto i_124; + void* target = stack[--ss]; + goto *target; + } + i_124: + if(ic-- == 0) goto end; + i_125: + if(ic-- == 0) goto end; + i_126: + if(ic-- == 0) goto end; + i_127: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3545628586) { + void* ret = &&i_128; + stack[ss++] = ret; + goto i_157; + } + i_128: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4232781027) { + void* ret = &&i_129; + stack[ss++] = ret; + goto i_164; + } + i_129: + if(ic-- == 0) goto end; + i_130: + if(ic-- == 0) goto end; + i_131: + if(ic-- == 0) goto end; + i_132: + if(ic-- == 0) goto end; + i_133: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3244552482) { + if(ss <= 0) goto i_134; + void* target = stack[--ss]; + goto *target; + } + i_134: + if(ic-- == 0) goto end; + i_135: + if(ic-- == 0) goto end; + i_136: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3405076866) { + void* ret = &&i_137; + stack[ss++] = ret; + goto i_160; + } + i_137: + if(ic-- == 0) goto end; + i_138: + if(ic-- == 0) goto end; + i_139: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 511632434) { + void* ret = &&i_140; + stack[ss++] = ret; + goto i_346; + } + i_140: + if(ic-- == 0) goto end; + i_141: + if(ic-- == 0) goto end; + i_142: + if(ic-- == 0) goto end; + i_143: + if(ic-- == 0) goto end; + i_144: + if(ic-- == 0) goto end; + i_145: + if(ic-- == 0) goto end; + i_146: + if(ic-- == 0) goto end; + i_147: + if(ic-- == 0) goto end; + i_148: + if(ic-- == 0) goto end; + i_149: + if(ic-- == 0) goto end; + i_150: + if(ic-- == 0) goto end; + i_151: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 696643743) { + void* ret = &&i_152; + stack[ss++] = ret; + goto i_161; + } + i_152: + if(ic-- == 0) goto end; + i_153: + if(ic-- == 0) goto end; + i_154: + if(ic-- == 0) goto end; + i_155: + if(ic-- == 0) goto end; + i_156: + if(ic-- == 0) goto end; + i_157: + if(ic-- == 0) goto end; + i_158: + if(ic-- == 0) goto end; + i_159: + if(ic-- == 0) goto end; + i_160: + if(ic-- == 0) goto end; + i_161: + if(ic-- == 0) goto end; + i_162: + if(ic-- == 0) goto end; + i_163: + if(ic-- == 0) goto end; + i_164: + if(ic-- == 0) goto end; + i_165: + if(ic-- == 0) goto end; + i_166: + if(ic-- == 0) goto end; + i_167: + if(ic-- == 0) goto end; + i_168: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3553648057) { + if(ss <= 0) goto i_169; + void* target = stack[--ss]; + goto *target; + } + i_169: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2307482321) { + if(ss <= 0) goto i_170; + void* target = stack[--ss]; + goto *target; + } + i_170: + if(ic-- == 0) goto end; + i_171: + if(ic-- == 0) goto end; + i_172: + if(ic-- == 0) goto end; + i_173: + if(ic-- == 0) goto end; + i_174: + if(ic-- == 0) goto end; + i_175: + if(ic-- == 0) goto end; + i_176: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 371928313) { + if(ss <= 0) goto i_177; + void* target = stack[--ss]; + goto *target; + } + i_177: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2322879371) { + if(ss <= 0) goto i_178; + void* target = stack[--ss]; + goto *target; + } + i_178: + if(ic-- == 0) goto end; + i_179: + if(ic-- == 0) goto end; + i_180: + if(ic-- == 0) goto end; + i_181: + if(ic-- == 0) goto end; + i_182: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1986846731) { + void* ret = &&i_183; + stack[ss++] = ret; + goto i_415; + } + i_183: + if(ic-- == 0) goto end; + i_184: + if(ic-- == 0) goto end; + i_185: + if(ic-- == 0) goto end; + i_186: + if(ic-- == 0) goto end; + i_187: + if(ic-- == 0) goto end; + i_188: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4140864485) { + void* ret = &&i_189; + stack[ss++] = ret; + goto i_343; + } + i_189: + if(ic-- == 0) goto end; + i_190: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 328982338) { + void* ret = &&i_191; + stack[ss++] = ret; + goto i_268; + } + i_191: + if(ic-- == 0) goto end; + i_192: + if(ic-- == 0) goto end; + i_193: + if(ic-- == 0) goto end; + i_194: + if(ic-- == 0) goto end; + i_195: + if(ic-- == 0) goto end; + i_196: + if(ic-- == 0) goto end; + i_197: + if(ic-- == 0) goto end; + i_198: + if(ic-- == 0) goto end; + i_199: + if(ic-- == 0) goto end; + i_200: + if(ic-- == 0) goto end; + i_201: + if(ic-- == 0) goto end; + i_202: + if(ic-- == 0) goto end; + i_203: + if(ic-- == 0) goto end; + i_204: + if(ic-- == 0) goto end; + i_205: + if(ic-- == 0) goto end; + i_206: + if(ic-- == 0) goto end; + i_207: + if(ic-- == 0) goto end; + i_208: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4134670764) { + void* ret = &&i_209; + stack[ss++] = ret; + goto i_442; + } + i_209: + if(ic-- == 0) goto end; + i_210: + if(ic-- == 0) goto end; + i_211: + if(ic-- == 0) goto end; + i_212: + if(ic-- == 0) goto end; + i_213: + if(ic-- == 0) goto end; + i_214: + if(ic-- == 0) goto end; + i_215: + if(ic-- == 0) goto end; + i_216: + if(ic-- == 0) goto end; + i_217: + if(ic-- == 0) goto end; + i_218: + if(ic-- == 0) goto end; + i_219: + if(ic-- == 0) goto end; + i_220: + if(ic-- == 0) goto end; + i_221: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2822139845) { + void* ret = &&i_222; + stack[ss++] = ret; + goto i_406; + } + i_222: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 918537004) { + void* ret = &&i_223; + stack[ss++] = ret; + goto i_394; + } + i_223: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1196865954) { + void* ret = &&i_224; + stack[ss++] = ret; + goto i_466; + } + i_224: + if(ic-- == 0) goto end; + i_225: + if(ic-- == 0) goto end; + i_226: + if(ic-- == 0) goto end; + i_227: + if(ic-- == 0) goto end; + i_228: + if(ic-- == 0) goto end; + i_229: + if(ic-- == 0) goto end; + i_230: + if(ic-- == 0) goto end; + i_231: + if(ic-- == 0) goto end; + i_232: + if(ic-- == 0) goto end; + i_233: + if(ic-- == 0) goto end; + i_234: + if(ic-- == 0) goto end; + i_235: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 590251524) { + void* ret = &&i_236; + stack[ss++] = ret; + goto i_385; + } + i_236: + if(ic-- == 0) goto end; + i_237: + if(ic-- == 0) goto end; + i_238: + if(ic-- == 0) goto end; + i_239: + if(ic-- == 0) goto end; + i_240: + if(ic-- == 0) goto end; + i_241: + if(ic-- == 0) goto end; + i_242: + if(ic-- == 0) goto end; + i_243: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2452641289) { + void* ret = &&i_244; + stack[ss++] = ret; + goto i_402; + } + i_244: + if(ic-- == 0) goto end; + i_245: + if(ic-- == 0) goto end; + i_246: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4170012753) { + void* ret = &&i_247; + stack[ss++] = ret; + goto i_249; + } + i_247: + if(ic-- == 0) goto end; + i_248: + if(ic-- == 0) goto end; + i_249: + if(ic-- == 0) goto end; + i_250: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3362009392) { + if(ss <= 0) goto i_251; + void* target = stack[--ss]; + goto *target; + } + i_251: + if(ic-- == 0) goto end; + i_252: + if(ic-- == 0) goto end; + i_253: + if(ic-- == 0) goto end; + i_254: + if(ic-- == 0) goto end; + i_255: + if(ic-- == 0) goto end; + i_256: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4054309882) { + void* ret = &&i_257; + stack[ss++] = ret; + goto i_420; + } + i_257: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 593509743) { + void* ret = &&i_258; + stack[ss++] = ret; + goto i_330; + } + i_258: + if(ic-- == 0) goto end; + i_259: + if(ic-- == 0) goto end; + i_260: + if(ic-- == 0) goto end; + i_261: + if(ic-- == 0) goto end; + i_262: + if(ic-- == 0) goto end; + i_263: + if(ic-- == 0) goto end; + i_264: + if(ic-- == 0) goto end; + i_265: + if(ic-- == 0) goto end; + i_266: + if(ic-- == 0) goto end; + i_267: + if(ic-- == 0) goto end; + i_268: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2747033421) { + void* ret = &&i_269; + stack[ss++] = ret; + goto i_395; + } + i_269: + if(ic-- == 0) goto end; + i_270: + if(ic-- == 0) goto end; + i_271: + if(ic-- == 0) goto end; + i_272: + if(ic-- == 0) goto end; + i_273: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3684732774) { + if(ss <= 0) goto i_274; + void* target = stack[--ss]; + goto *target; + } + i_274: + if(ic-- == 0) goto end; + i_275: + if(ic-- == 0) goto end; + i_276: + if(ic-- == 0) goto end; + i_277: + if(ic-- == 0) goto end; + i_278: + if(ic-- == 0) goto end; + i_279: + if(ic-- == 0) goto end; + i_280: + if(ic-- == 0) goto end; + i_281: + if(ic-- == 0) goto end; + i_282: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 309376903) { + void* ret = &&i_283; + stack[ss++] = ret; + goto i_317; + } + i_283: + if(ic-- == 0) goto end; + i_284: + if(ic-- == 0) goto end; + i_285: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 219150529) { + if(ss <= 0) goto i_286; + void* target = stack[--ss]; + goto *target; + } + i_286: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2594130359) { + if(ss <= 0) goto i_287; + void* target = stack[--ss]; + goto *target; + } + i_287: + if(ic-- == 0) goto end; + i_288: + if(ic-- == 0) goto end; + i_289: + if(ic-- == 0) goto end; + i_290: + if(ic-- == 0) goto end; + i_291: + if(ic-- == 0) goto end; + i_292: + if(ic-- == 0) goto end; + i_293: + if(ic-- == 0) goto end; + i_294: + if(ic-- == 0) goto end; + i_295: + if(ic-- == 0) goto end; + i_296: + if(ic-- == 0) goto end; + i_297: + if(ic-- == 0) goto end; + i_298: + if(ic-- == 0) goto end; + i_299: + if(ic-- == 0) goto end; + i_300: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2892835113) { + void* ret = &&i_301; + stack[ss++] = ret; + goto i_457; + } + i_301: + if(ic-- == 0) goto end; + i_302: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3373689969) { + if(ss <= 0) goto i_303; + void* target = stack[--ss]; + goto *target; + } + i_303: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3569068444) { + void* ret = &&i_304; + stack[ss++] = ret; + goto i_508; + } + i_304: + if(ic-- == 0) goto end; + i_305: + if(ic-- == 0) goto end; + i_306: + if(ic-- == 0) goto end; + i_307: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2969939441) { + if(ss <= 0) goto i_308; + void* target = stack[--ss]; + goto *target; + } + i_308: + if(ic-- == 0) goto end; + i_309: + if(ic-- == 0) goto end; + i_310: + if(ic-- == 0) goto end; + i_311: + if(ic-- == 0) goto end; + i_312: + if(ic-- == 0) goto end; + i_313: + if(ic-- == 0) goto end; + i_314: + if(ic-- == 0) goto end; + i_315: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3588049267) { + void* ret = &&i_316; + stack[ss++] = ret; + goto i_413; + } + i_316: + if(ic-- == 0) goto end; + i_317: + if(ic-- == 0) goto end; + i_318: + if(ic-- == 0) goto end; + i_319: + if(ic-- == 0) goto end; + i_320: + if(ic-- == 0) goto end; + i_321: + if(ic-- == 0) goto end; + i_322: + if(ic-- == 0) goto end; + i_323: + if(ic-- == 0) goto end; + i_324: + if(ic-- == 0) goto end; + i_325: + if(ic-- == 0) goto end; + i_326: + if(ic-- == 0) goto end; + i_327: + if(ic-- == 0) goto end; + i_328: + if(ic-- == 0) goto end; + i_329: + if(ic-- == 0) goto end; + i_330: + if(ic-- == 0) goto end; + i_331: + if(ic-- == 0) goto end; + i_332: + if(ic-- == 0) goto end; + i_333: + if(ic-- == 0) goto end; + i_334: + if(ic-- == 0) goto end; + i_335: + if(ic-- == 0) goto end; + i_336: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1190547036) { + if(ss <= 0) goto i_337; + void* target = stack[--ss]; + goto *target; + } + i_337: + if(ic-- == 0) goto end; + i_338: + if(ic-- == 0) goto end; + i_339: + if(ic-- == 0) goto end; + i_340: + if(ic-- == 0) goto end; + i_341: + if(ic-- == 0) goto end; + i_342: + if(ic-- == 0) goto end; + i_343: + if(ic-- == 0) goto end; + i_344: + if(ic-- == 0) goto end; + i_345: + if(ic-- == 0) goto end; + i_346: + if(ic-- == 0) goto end; + i_347: + if(ic-- == 0) goto end; + i_348: + if(ic-- == 0) goto end; + i_349: + if(ic-- == 0) goto end; + i_350: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4115343926) { + void* ret = &&i_351; + stack[ss++] = ret; + goto i_541; + } + i_351: + if(ic-- == 0) goto end; + i_352: + if(ic-- == 0) goto end; + i_353: + if(ic-- == 0) goto end; + i_354: + if(ic-- == 0) goto end; + i_355: + if(ic-- == 0) goto end; + i_356: + if(ic-- == 0) goto end; + i_357: + if(ic-- == 0) goto end; + i_358: + if(ic-- == 0) goto end; + i_359: + if(ic-- == 0) goto end; + i_360: + if(ic-- == 0) goto end; + i_361: + if(ic-- == 0) goto end; + i_362: + if(ic-- == 0) goto end; + i_363: + if(ic-- == 0) goto end; + i_364: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 625597055) { + if(ss <= 0) goto i_365; + void* target = stack[--ss]; + goto *target; + } + i_365: + if(ic-- == 0) goto end; + i_366: + if(ic-- == 0) goto end; + i_367: + if(ic-- == 0) goto end; + i_368: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2921020832) { + void* ret = &&i_369; + stack[ss++] = ret; + goto i_403; + } + i_369: + if(ic-- == 0) goto end; + i_370: + if(ic-- == 0) goto end; + i_371: + if(ic-- == 0) goto end; + i_372: + if(ic-- == 0) goto end; + i_373: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2479284681) { + void* ret = &&i_374; + stack[ss++] = ret; + goto i_564; + } + i_374: + if(ic-- == 0) goto end; + i_375: + if(ic-- == 0) goto end; + i_376: + if(ic-- == 0) goto end; + i_377: + if(ic-- == 0) goto end; + i_378: + if(ic-- == 0) goto end; + i_379: + if(ic-- == 0) goto end; + i_380: + if(ic-- == 0) goto end; + i_381: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 559008306) { + void* ret = &&i_382; + stack[ss++] = ret; + goto i_547; + } + i_382: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1232165017) { + if(ss <= 0) goto i_383; + void* target = stack[--ss]; + goto *target; + } + i_383: + if(ic-- == 0) goto end; + i_384: + if(ic-- == 0) goto end; + i_385: + if(ic-- == 0) goto end; + i_386: + if(ic-- == 0) goto end; + i_387: + if(ic-- == 0) goto end; + i_388: + if(ic-- == 0) goto end; + i_389: + if(ic-- == 0) goto end; + i_390: + if(ic-- == 0) goto end; + i_391: + if(ic-- == 0) goto end; + i_392: + if(ic-- == 0) goto end; + i_393: + if(ic-- == 0) goto end; + i_394: + if(ic-- == 0) goto end; + i_395: + if(ic-- == 0) goto end; + i_396: + if(ic-- == 0) goto end; + i_397: + if(ic-- == 0) goto end; + i_398: + if(ic-- == 0) goto end; + i_399: + if(ic-- == 0) goto end; + i_400: + if(ic-- == 0) goto end; + i_401: + if(ic-- == 0) goto end; + i_402: + if(ic-- == 0) goto end; + i_403: + if(ic-- == 0) goto end; + i_404: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 152819674) { + void* ret = &&i_405; + stack[ss++] = ret; + goto i_424; + } + i_405: + if(ic-- == 0) goto end; + i_406: + if(ic-- == 0) goto end; + i_407: + if(ic-- == 0) goto end; + i_408: + if(ic-- == 0) goto end; + i_409: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1237514854) { + if(ss <= 0) goto i_410; + void* target = stack[--ss]; + goto *target; + } + i_410: + if(ic-- == 0) goto end; + i_411: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1706351018) { + if(ss <= 0) goto i_412; + void* target = stack[--ss]; + goto *target; + } + i_412: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3571797961) { + void* ret = &&i_413; + stack[ss++] = ret; + goto i_591; + } + i_413: + if(ic-- == 0) goto end; + i_414: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3070440026) { + if(ss <= 0) goto i_415; + void* target = stack[--ss]; + goto *target; + } + i_415: + if(ic-- == 0) goto end; + i_416: + if(ic-- == 0) goto end; + i_417: + if(ic-- == 0) goto end; + i_418: + if(ic-- == 0) goto end; + i_419: + if(ic-- == 0) goto end; + i_420: + if(ic-- == 0) goto end; + i_421: + if(ic-- == 0) goto end; + i_422: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2304247836) { + if(ss <= 0) goto i_423; + void* target = stack[--ss]; + goto *target; + } + i_423: + if(ic-- == 0) goto end; + i_424: + if(ic-- == 0) goto end; + i_425: + if(ic-- == 0) goto end; + i_426: + if(ic-- == 0) goto end; + i_427: + if(ic-- == 0) goto end; + i_428: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1446234727) { + void* ret = &&i_429; + stack[ss++] = ret; + goto i_463; + } + i_429: + if(ic-- == 0) goto end; + i_430: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2010984968) { + void* ret = &&i_431; + stack[ss++] = ret; + goto i_668; + } + i_431: + if(ic-- == 0) goto end; + i_432: + if(ic-- == 0) goto end; + i_433: + if(ic-- == 0) goto end; + i_434: + if(ic-- == 0) goto end; + i_435: + if(ic-- == 0) goto end; + i_436: + if(ic-- == 0) goto end; + i_437: + if(ic-- == 0) goto end; + i_438: + if(ic-- == 0) goto end; + i_439: + if(ic-- == 0) goto end; + i_440: + if(ic-- == 0) goto end; + i_441: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 726364629) { + void* ret = &&i_442; + stack[ss++] = ret; + goto i_570; + } + i_442: + if(ic-- == 0) goto end; + i_443: + if(ic-- == 0) goto end; + i_444: + if(ic-- == 0) goto end; + i_445: + if(ic-- == 0) goto end; + i_446: + if(ic-- == 0) goto end; + i_447: + if(ic-- == 0) goto end; + i_448: + if(ic-- == 0) goto end; + i_449: + if(ic-- == 0) goto end; + i_450: + if(ic-- == 0) goto end; + i_451: + if(ic-- == 0) goto end; + i_452: + if(ic-- == 0) goto end; + i_453: + if(ic-- == 0) goto end; + i_454: + if(ic-- == 0) goto end; + i_455: + if(ic-- == 0) goto end; + i_456: + if(ic-- == 0) goto end; + i_457: + if(ic-- == 0) goto end; + i_458: + if(ic-- == 0) goto end; + i_459: + if(ic-- == 0) goto end; + i_460: + if(ic-- == 0) goto end; + i_461: + if(ic-- == 0) goto end; + i_462: + if(ic-- == 0) goto end; + i_463: + if(ic-- == 0) goto end; + i_464: + if(ic-- == 0) goto end; + i_465: + if(ic-- == 0) goto end; + i_466: + if(ic-- == 0) goto end; + i_467: + if(ic-- == 0) goto end; + i_468: + if(ic-- == 0) goto end; + i_469: + if(ic-- == 0) goto end; + i_470: + if(ic-- == 0) goto end; + i_471: + if(ic-- == 0) goto end; + i_472: + if(ic-- == 0) goto end; + i_473: + if(ic-- == 0) goto end; + i_474: + if(ic-- == 0) goto end; + i_475: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3521149299) { + void* ret = &&i_476; + stack[ss++] = ret; + goto i_657; + } + i_476: + if(ic-- == 0) goto end; + i_477: + if(ic-- == 0) goto end; + i_478: + if(ic-- == 0) goto end; + i_479: + if(ic-- == 0) goto end; + i_480: + if(ic-- == 0) goto end; + i_481: + if(ic-- == 0) goto end; + i_482: + if(ic-- == 0) goto end; + i_483: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3375122053) { + if(ss <= 0) goto i_484; + void* target = stack[--ss]; + goto *target; + } + i_484: + if(ic-- == 0) goto end; + i_485: + if(ic-- == 0) goto end; + i_486: + if(ic-- == 0) goto end; + i_487: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3835932753) { + if(ss <= 0) goto i_488; + void* target = stack[--ss]; + goto *target; + } + i_488: + if(ic-- == 0) goto end; + i_489: + if(ic-- == 0) goto end; + i_490: + if(ic-- == 0) goto end; + i_491: + if(ic-- == 0) goto end; + i_492: + if(ic-- == 0) goto end; + i_493: + if(ic-- == 0) goto end; + i_494: + if(ic-- == 0) goto end; + i_495: + if(ic-- == 0) goto end; + i_496: + if(ic-- == 0) goto end; + i_497: + if(ic-- == 0) goto end; + i_498: + if(ic-- == 0) goto end; + i_499: + if(ic-- == 0) goto end; + i_500: + if(ic-- == 0) goto end; + i_501: + if(ic-- == 0) goto end; + i_502: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2796388936) { + if(ss <= 0) goto i_503; + void* target = stack[--ss]; + goto *target; + } + i_503: + if(ic-- == 0) goto end; + i_504: + if(ic-- == 0) goto end; + i_505: + if(ic-- == 0) goto end; + i_506: + if(ic-- == 0) goto end; + i_507: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1247141878) { + void* ret = &&i_508; + stack[ss++] = ret; + goto i_730; + } + i_508: + if(ic-- == 0) goto end; + i_509: + if(ic-- == 0) goto end; + i_510: + if(ic-- == 0) goto end; + i_511: + if(ic-- == 0) goto end; + i_512: + if(ic-- == 0) goto end; + i_513: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1118508659) { + void* ret = &&i_514; + stack[ss++] = ret; + goto i_570; + } + i_514: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3814103514) { + void* ret = &&i_515; + stack[ss++] = ret; + goto i_521; + } + i_515: + if(ic-- == 0) goto end; + i_516: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1924324783) { + void* ret = &&i_517; + stack[ss++] = ret; + goto i_765; + } + i_517: + if(ic-- == 0) goto end; + i_518: + if(ic-- == 0) goto end; + i_519: + if(ic-- == 0) goto end; + i_520: + if(ic-- == 0) goto end; + i_521: + if(ic-- == 0) goto end; + i_522: + if(ic-- == 0) goto end; + i_523: + if(ic-- == 0) goto end; + i_524: + if(ic-- == 0) goto end; + i_525: + if(ic-- == 0) goto end; + i_526: + if(ic-- == 0) goto end; + i_527: + if(ic-- == 0) goto end; + i_528: + if(ic-- == 0) goto end; + i_529: + if(ic-- == 0) goto end; + i_530: + if(ic-- == 0) goto end; + i_531: + if(ic-- == 0) goto end; + i_532: + if(ic-- == 0) goto end; + i_533: + if(ic-- == 0) goto end; + i_534: + if(ic-- == 0) goto end; + i_535: + if(ic-- == 0) goto end; + i_536: + if(ic-- == 0) goto end; + i_537: + if(ic-- == 0) goto end; + i_538: + if(ic-- == 0) goto end; + i_539: + if(ic-- == 0) goto end; + i_540: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 126722253) { + if(ss <= 0) goto i_541; + void* target = stack[--ss]; + goto *target; + } + i_541: + if(ic-- == 0) goto end; + i_542: + if(ic-- == 0) goto end; + i_543: + if(ic-- == 0) goto end; + i_544: + if(ic-- == 0) goto end; + i_545: + if(ic-- == 0) goto end; + i_546: + if(ic-- == 0) goto end; + i_547: + if(ic-- == 0) goto end; + i_548: + if(ic-- == 0) goto end; + i_549: + if(ic-- == 0) goto end; + i_550: + if(ic-- == 0) goto end; + i_551: + if(ic-- == 0) goto end; + i_552: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3051608332) { + void* ret = &&i_553; + stack[ss++] = ret; + goto i_604; + } + i_553: + if(ic-- == 0) goto end; + i_554: + if(ic-- == 0) goto end; + i_555: + if(ic-- == 0) goto end; + i_556: + if(ic-- == 0) goto end; + i_557: + if(ic-- == 0) goto end; + i_558: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3676004017) { + void* ret = &&i_559; + stack[ss++] = ret; + goto i_645; + } + i_559: + if(ic-- == 0) goto end; + i_560: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 808006198) { + void* ret = &&i_561; + stack[ss++] = ret; + goto i_656; + } + i_561: + if(ic-- == 0) goto end; + i_562: + if(ic-- == 0) goto end; + i_563: + if(ic-- == 0) goto end; + i_564: + if(ic-- == 0) goto end; + i_565: + if(ic-- == 0) goto end; + i_566: + if(ic-- == 0) goto end; + i_567: + if(ic-- == 0) goto end; + i_568: + if(ic-- == 0) goto end; + i_569: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1017591791) { + void* ret = &&i_570; + stack[ss++] = ret; + goto i_637; + } + i_570: + if(ic-- == 0) goto end; + i_571: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2494873158) { + if(ss <= 0) goto i_572; + void* target = stack[--ss]; + goto *target; + } + i_572: + if(ic-- == 0) goto end; + i_573: + if(ic-- == 0) goto end; + i_574: + if(ic-- == 0) goto end; + i_575: + if(ic-- == 0) goto end; + i_576: + if(ic-- == 0) goto end; + i_577: + if(ic-- == 0) goto end; + i_578: + if(ic-- == 0) goto end; + i_579: + if(ic-- == 0) goto end; + i_580: + if(ic-- == 0) goto end; + i_581: + if(ic-- == 0) goto end; + i_582: + if(ic-- == 0) goto end; + i_583: + if(ic-- == 0) goto end; + i_584: + if(ic-- == 0) goto end; + i_585: + if(ic-- == 0) goto end; + i_586: + if(ic-- == 0) goto end; + i_587: + if(ic-- == 0) goto end; + i_588: + if(ic-- == 0) goto end; + i_589: + if(ic-- == 0) goto end; + i_590: + if(ic-- == 0) goto end; + i_591: + if(ic-- == 0) goto end; + i_592: + if(ic-- == 0) goto end; + i_593: + if(ic-- == 0) goto end; + i_594: + if(ic-- == 0) goto end; + i_595: + if(ic-- == 0) goto end; + i_596: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4909130) { + void* ret = &&i_597; + stack[ss++] = ret; + goto i_622; + } + i_597: + if(ic-- == 0) goto end; + i_598: + if(ic-- == 0) goto end; + i_599: + if(ic-- == 0) goto end; + i_600: + if(ic-- == 0) goto end; + i_601: + if(ic-- == 0) goto end; + i_602: + if(ic-- == 0) goto end; + i_603: + if(ic-- == 0) goto end; + i_604: + if(ic-- == 0) goto end; + i_605: + if(ic-- == 0) goto end; + i_606: + if(ic-- == 0) goto end; + i_607: + if(ic-- == 0) goto end; + i_608: + if(ic-- == 0) goto end; + i_609: + if(ic-- == 0) goto end; + i_610: + if(ic-- == 0) goto end; + i_611: + if(ic-- == 0) goto end; + i_612: + if(ic-- == 0) goto end; + i_613: + if(ic-- == 0) goto end; + i_614: + if(ic-- == 0) goto end; + i_615: + if(ic-- == 0) goto end; + i_616: + if(ic-- == 0) goto end; + i_617: + if(ic-- == 0) goto end; + i_618: + if(ic-- == 0) goto end; + i_619: + if(ic-- == 0) goto end; + i_620: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4170589735) { + void* ret = &&i_621; + stack[ss++] = ret; + goto i_666; + } + i_621: + if(ic-- == 0) goto end; + i_622: + if(ic-- == 0) goto end; + i_623: + if(ic-- == 0) goto end; + i_624: + if(ic-- == 0) goto end; + i_625: + if(ic-- == 0) goto end; + i_626: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1027138614) { + if(ss <= 0) goto i_627; + void* target = stack[--ss]; + goto *target; + } + i_627: + if(ic-- == 0) goto end; + i_628: + if(ic-- == 0) goto end; + i_629: + if(ic-- == 0) goto end; + i_630: + if(ic-- == 0) goto end; + i_631: + if(ic-- == 0) goto end; + i_632: + if(ic-- == 0) goto end; + i_633: + if(ic-- == 0) goto end; + i_634: + if(ic-- == 0) goto end; + i_635: + if(ic-- == 0) goto end; + i_636: + if(ic-- == 0) goto end; + i_637: + if(ic-- == 0) goto end; + i_638: + if(ic-- == 0) goto end; + i_639: + if(ic-- == 0) goto end; + i_640: + if(ic-- == 0) goto end; + i_641: + if(ic-- == 0) goto end; + i_642: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 478668193) { + void* ret = &&i_643; + stack[ss++] = ret; + goto i_801; + } + i_643: + if(ic-- == 0) goto end; + i_644: + if(ic-- == 0) goto end; + i_645: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2000561671) { + if(ss <= 0) goto i_646; + void* target = stack[--ss]; + goto *target; + } + i_646: + if(ic-- == 0) goto end; + i_647: + if(ic-- == 0) goto end; + i_648: + if(ic-- == 0) goto end; + i_649: + if(ic-- == 0) goto end; + i_650: + if(ic-- == 0) goto end; + i_651: + if(ic-- == 0) goto end; + i_652: + if(ic-- == 0) goto end; + i_653: + if(ic-- == 0) goto end; + i_654: + if(ic-- == 0) goto end; + i_655: + if(ic-- == 0) goto end; + i_656: + if(ic-- == 0) goto end; + i_657: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 157265782) { + if(ss <= 0) goto i_658; + void* target = stack[--ss]; + goto *target; + } + i_658: + if(ic-- == 0) goto end; + i_659: + if(ic-- == 0) goto end; + i_660: + if(ic-- == 0) goto end; + i_661: + if(ic-- == 0) goto end; + i_662: + if(ic-- == 0) goto end; + i_663: + if(ic-- == 0) goto end; + i_664: + if(ic-- == 0) goto end; + i_665: + if(ic-- == 0) goto end; + i_666: + if(ic-- == 0) goto end; + i_667: + if(ic-- == 0) goto end; + i_668: + if(ic-- == 0) goto end; + i_669: + if(ic-- == 0) goto end; + i_670: + if(ic-- == 0) goto end; + i_671: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3214452447) { + void* ret = &&i_672; + stack[ss++] = ret; + goto i_883; + } + i_672: + if(ic-- == 0) goto end; + i_673: + if(ic-- == 0) goto end; + i_674: + if(ic-- == 0) goto end; + i_675: + if(ic-- == 0) goto end; + i_676: + if(ic-- == 0) goto end; + i_677: + if(ic-- == 0) goto end; + i_678: + if(ic-- == 0) goto end; + i_679: + if(ic-- == 0) goto end; + i_680: + if(ic-- == 0) goto end; + i_681: + if(ic-- == 0) goto end; + i_682: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 288253489) { + if(ss <= 0) goto i_683; + void* target = stack[--ss]; + goto *target; + } + i_683: + if(ic-- == 0) goto end; + i_684: + if(ic-- == 0) goto end; + i_685: + if(ic-- == 0) goto end; + i_686: + if(ic-- == 0) goto end; + i_687: + if(ic-- == 0) goto end; + i_688: + if(ic-- == 0) goto end; + i_689: + if(ic-- == 0) goto end; + i_690: + if(ic-- == 0) goto end; + i_691: + if(ic-- == 0) goto end; + i_692: + if(ic-- == 0) goto end; + i_693: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3482595217) { + if(ss <= 0) goto i_694; + void* target = stack[--ss]; + goto *target; + } + i_694: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3120377816) { + if(ss <= 0) goto i_695; + void* target = stack[--ss]; + goto *target; + } + i_695: + if(ic-- == 0) goto end; + i_696: + if(ic-- == 0) goto end; + i_697: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4245221468) { + void* ret = &&i_698; + stack[ss++] = ret; + goto i_703; + } + i_698: + if(ic-- == 0) goto end; + i_699: + if(ic-- == 0) goto end; + i_700: + if(ic-- == 0) goto end; + i_701: + if(ic-- == 0) goto end; + i_702: + if(ic-- == 0) goto end; + i_703: + if(ic-- == 0) goto end; + i_704: + if(ic-- == 0) goto end; + i_705: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2319198595) { + void* ret = &&i_706; + stack[ss++] = ret; + goto i_892; + } + i_706: + if(ic-- == 0) goto end; + i_707: + if(ic-- == 0) goto end; + i_708: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2399187042) { + void* ret = &&i_709; + stack[ss++] = ret; + goto i_796; + } + i_709: + if(ic-- == 0) goto end; + i_710: + if(ic-- == 0) goto end; + i_711: + if(ic-- == 0) goto end; + i_712: + if(ic-- == 0) goto end; + i_713: + if(ic-- == 0) goto end; + i_714: + if(ic-- == 0) goto end; + i_715: + if(ic-- == 0) goto end; + i_716: + if(ic-- == 0) goto end; + i_717: + if(ic-- == 0) goto end; + i_718: + if(ic-- == 0) goto end; + i_719: + if(ic-- == 0) goto end; + i_720: + if(ic-- == 0) goto end; + i_721: + if(ic-- == 0) goto end; + i_722: + if(ic-- == 0) goto end; + i_723: + if(ic-- == 0) goto end; + i_724: + if(ic-- == 0) goto end; + i_725: + if(ic-- == 0) goto end; + i_726: + if(ic-- == 0) goto end; + i_727: + if(ic-- == 0) goto end; + i_728: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 4184393193) { + void* ret = &&i_729; + stack[ss++] = ret; + goto i_770; + } + i_729: + if(ic-- == 0) goto end; + i_730: + if(ic-- == 0) goto end; + i_731: + if(ic-- == 0) goto end; + i_732: + if(ic-- == 0) goto end; + i_733: + if(ic-- == 0) goto end; + i_734: + if(ic-- == 0) goto end; + i_735: + if(ic-- == 0) goto end; + i_736: + if(ic-- == 0) goto end; + i_737: + if(ic-- == 0) goto end; + i_738: + if(ic-- == 0) goto end; + i_739: + if(ic-- == 0) goto end; + i_740: + if(ic-- == 0) goto end; + i_741: + if(ic-- == 0) goto end; + i_742: + if(ic-- == 0) goto end; + i_743: + if(ic-- == 0) goto end; + i_744: + if(ic-- == 0) goto end; + i_745: + if(ic-- == 0) goto end; + i_746: + if(ic-- == 0) goto end; + i_747: + if(ic-- == 0) goto end; + i_748: + if(ic-- == 0) goto end; + i_749: + if(ic-- == 0) goto end; + i_750: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1311714633) { + void* ret = &&i_751; + stack[ss++] = ret; + goto i_801; + } + i_751: + if(ic-- == 0) goto end; + i_752: + if(ic-- == 0) goto end; + i_753: + if(ic-- == 0) goto end; + i_754: + if(ic-- == 0) goto end; + i_755: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2990284553) { + void* ret = &&i_756; + stack[ss++] = ret; + goto i_1009; + } + i_756: + if(ic-- == 0) goto end; + i_757: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2525881729) { + if(ss <= 0) goto i_758; + void* target = stack[--ss]; + goto *target; + } + i_758: + if(ic-- == 0) goto end; + i_759: + if(ic-- == 0) goto end; + i_760: + if(ic-- == 0) goto end; + i_761: + if(ic-- == 0) goto end; + i_762: + if(ic-- == 0) goto end; + i_763: + if(ic-- == 0) goto end; + i_764: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1536893296) { + if(ss <= 0) goto i_765; + void* target = stack[--ss]; + goto *target; + } + i_765: + if(ic-- == 0) goto end; + i_766: + if(ic-- == 0) goto end; + i_767: + if(ic-- == 0) goto end; + i_768: + if(ic-- == 0) goto end; + i_769: + if(ic-- == 0) goto end; + i_770: + if(ic-- == 0) goto end; + i_771: + if(ic-- == 0) goto end; + i_772: + if(ic-- == 0) goto end; + i_773: + if(ic-- == 0) goto end; + i_774: + if(ic-- == 0) goto end; + i_775: + if(ic-- == 0) goto end; + i_776: + if(ic-- == 0) goto end; + i_777: + if(ic-- == 0) goto end; + i_778: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1484067825) { + void* ret = &&i_779; + stack[ss++] = ret; + goto i_893; + } + i_779: + if(ic-- == 0) goto end; + i_780: + if(ic-- == 0) goto end; + i_781: + if(ic-- == 0) goto end; + i_782: + if(ic-- == 0) goto end; + i_783: + if(ic-- == 0) goto end; + i_784: + if(ic-- == 0) goto end; + i_785: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2996317137) { + void* ret = &&i_786; + stack[ss++] = ret; + goto i_949; + } + i_786: + if(ic-- == 0) goto end; + i_787: + if(ic-- == 0) goto end; + i_788: + if(ic-- == 0) goto end; + i_789: + if(ic-- == 0) goto end; + i_790: + if(ic-- == 0) goto end; + i_791: + if(ic-- == 0) goto end; + i_792: + if(ic-- == 0) goto end; + i_793: + if(ic-- == 0) goto end; + i_794: + if(ic-- == 0) goto end; + i_795: + if(ic-- == 0) goto end; + i_796: + if(ic-- == 0) goto end; + i_797: + if(ic-- == 0) goto end; + i_798: + if(ic-- == 0) goto end; + i_799: + if(ic-- == 0) goto end; + i_800: + if(ic-- == 0) goto end; + i_801: + if(ic-- == 0) goto end; + i_802: + if(ic-- == 0) goto end; + i_803: + if(ic-- == 0) goto end; + i_804: + if(ic-- == 0) goto end; + i_805: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1346539270) { + void* ret = &&i_806; + stack[ss++] = ret; + goto i_813; + } + i_806: + if(ic-- == 0) goto end; + i_807: + if(ic-- == 0) goto end; + i_808: + if(ic-- == 0) goto end; + i_809: + if(ic-- == 0) goto end; + i_810: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1134804964) { + if(ss <= 0) goto i_811; + void* target = stack[--ss]; + goto *target; + } + i_811: + if(ic-- == 0) goto end; + i_812: + if(ic-- == 0) goto end; + i_813: + if(ic-- == 0) goto end; + i_814: + if(ic-- == 0) goto end; + i_815: + if(ic-- == 0) goto end; + i_816: + if(ic-- == 0) goto end; + i_817: + if(ic-- == 0) goto end; + i_818: + if(ic-- == 0) goto end; + i_819: + if(ic-- == 0) goto end; + i_820: + if(ic-- == 0) goto end; + i_821: + if(ic-- == 0) goto end; + i_822: + if(ic-- == 0) goto end; + i_823: + if(ic-- == 0) goto end; + i_824: + if(ic-- == 0) goto end; + i_825: + if(ic-- == 0) goto end; + i_826: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2353620466) { + if(ss <= 0) goto i_827; + void* target = stack[--ss]; + goto *target; + } + i_827: + if(ic-- == 0) goto end; + i_828: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 246564735) { + if(ss <= 0) goto i_829; + void* target = stack[--ss]; + goto *target; + } + i_829: + if(ic-- == 0) goto end; + i_830: + if(ic-- == 0) goto end; + i_831: + if(ic-- == 0) goto end; + i_832: + if(ic-- == 0) goto end; + i_833: + if(ic-- == 0) goto end; + i_834: + if(ic-- == 0) goto end; + i_835: + if(ic-- == 0) goto end; + i_836: + if(ic-- == 0) goto end; + i_837: + if(ic-- == 0) goto end; + i_838: + if(ic-- == 0) goto end; + i_839: + if(ic-- == 0) goto end; + i_840: + if(ic-- == 0) goto end; + i_841: + if(ic-- == 0) goto end; + i_842: + if(ic-- == 0) goto end; + i_843: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 782639687) { + void* ret = &&i_844; + stack[ss++] = ret; + goto i_955; + } + i_844: + if(ic-- == 0) goto end; + i_845: + if(ic-- == 0) goto end; + i_846: + if(ic-- == 0) goto end; + i_847: + if(ic-- == 0) goto end; + i_848: + if(ic-- == 0) goto end; + i_849: + if(ic-- == 0) goto end; + i_850: + if(ic-- == 0) goto end; + i_851: + if(ic-- == 0) goto end; + i_852: + if(ic-- == 0) goto end; + i_853: + if(ic-- == 0) goto end; + i_854: + if(ic-- == 0) goto end; + i_855: + if(ic-- == 0) goto end; + i_856: + if(ic-- == 0) goto end; + i_857: + if(ic-- == 0) goto end; + i_858: + if(ic-- == 0) goto end; + i_859: + if(ic-- == 0) goto end; + i_860: + if(ic-- == 0) goto end; + i_861: + if(ic-- == 0) goto end; + i_862: + if(ic-- == 0) goto end; + i_863: + if(ic-- == 0) goto end; + i_864: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 374700188) { + if(ss <= 0) goto i_865; + void* target = stack[--ss]; + goto *target; + } + i_865: + if(ic-- == 0) goto end; + i_866: + if(ic-- == 0) goto end; + i_867: + if(ic-- == 0) goto end; + i_868: + if(ic-- == 0) goto end; + i_869: + if(ic-- == 0) goto end; + i_870: + if(ic-- == 0) goto end; + i_871: + if(ic-- == 0) goto end; + i_872: + if(ic-- == 0) goto end; + i_873: + if(ic-- == 0) goto end; + i_874: + if(ic-- == 0) goto end; + i_875: + if(ic-- == 0) goto end; + i_876: + if(ic-- == 0) goto end; + i_877: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1975848362) { + void* ret = &&i_878; + stack[ss++] = ret; + goto i_971; + } + i_878: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 519058282) { + void* ret = &&i_879; + stack[ss++] = ret; + goto i_77; + } + i_879: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3810721988) { + if(ss <= 0) goto i_880; + void* target = stack[--ss]; + goto *target; + } + i_880: + if(ic-- == 0) goto end; + i_881: + if(ic-- == 0) goto end; + i_882: + if(ic-- == 0) goto end; + i_883: + if(ic-- == 0) goto end; + i_884: + if(ic-- == 0) goto end; + i_885: + if(ic-- == 0) goto end; + i_886: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 312929243) { + void* ret = &&i_887; + stack[ss++] = ret; + goto i_943; + } + i_887: + if(ic-- == 0) goto end; + i_888: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 75875866) { + void* ret = &&i_889; + stack[ss++] = ret; + goto i_969; + } + i_889: + if(ic-- == 0) goto end; + i_890: + if(ic-- == 0) goto end; + i_891: + if(ic-- == 0) goto end; + i_892: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3298258409) { + if(ss <= 0) goto i_893; + void* target = stack[--ss]; + goto *target; + } + i_893: + if(ic-- == 0) goto end; + i_894: + if(ic-- == 0) goto end; + i_895: + if(ic-- == 0) goto end; + i_896: + if(ic-- == 0) goto end; + i_897: + if(ic-- == 0) goto end; + i_898: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3944707394) { + void* ret = &&i_899; + stack[ss++] = ret; + goto i_974; + } + i_899: + if(ic-- == 0) goto end; + i_900: + if(ic-- == 0) goto end; + i_901: + if(ic-- == 0) goto end; + i_902: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3522509435) { + void* ret = &&i_903; + stack[ss++] = ret; + goto i_7; + } + i_903: + if(ic-- == 0) goto end; + i_904: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 2717695818) { + void* ret = &&i_905; + stack[ss++] = ret; + goto i_95; + } + i_905: + if(ic-- == 0) goto end; + i_906: + if(ic-- == 0) goto end; + i_907: + if(ic-- == 0) goto end; + i_908: + if(ic-- == 0) goto end; + i_909: + if(ic-- == 0) goto end; + i_910: + if(ic-- == 0) goto end; + i_911: + if(ic-- == 0) goto end; + i_912: + if(ic-- == 0) goto end; + i_913: + if(ic-- == 0) goto end; + i_914: + if(ic-- == 0) goto end; + i_915: + if(ic-- == 0) goto end; + i_916: + if(ic-- == 0) goto end; + i_917: + if(ic-- == 0) goto end; + i_918: + if(ic-- == 0) goto end; + i_919: + if(ic-- == 0) goto end; + i_920: + if(ic-- == 0) goto end; + i_921: + if(ic-- == 0) goto end; + i_922: + if(ic-- == 0) goto end; + i_923: + if(ic-- == 0) goto end; + i_924: + if(ic-- == 0) goto end; + i_925: + if(ic-- == 0) goto end; + i_926: + if(ic-- == 0) goto end; + i_927: + if(ic-- == 0) goto end; + i_928: + if(ic-- == 0) goto end; + i_929: + if(ic-- == 0) goto end; + i_930: + if(ic-- == 0) goto end; + i_931: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1170709507) { + if(ss <= 0) goto i_932; + void* target = stack[--ss]; + goto *target; + } + i_932: + if(ic-- == 0) goto end; + i_933: + if(ic-- == 0) goto end; + i_934: + if(ic-- == 0) goto end; + i_935: + if(ic-- == 0) goto end; + i_936: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3901871423) { + void* ret = &&i_937; + stack[ss++] = ret; + goto i_28; + } + i_937: + if(ic-- == 0) goto end; + i_938: + if(ic-- == 0) goto end; + i_939: + if(ic-- == 0) goto end; + i_940: + if(ic-- == 0) goto end; + i_941: + if(ic-- == 0) goto end; + i_942: + if(ic-- == 0) goto end; + i_943: + if(ic-- == 0) goto end; + i_944: + if(ic-- == 0) goto end; + i_945: + if(ic-- == 0) goto end; + i_946: + if(ic-- == 0) goto end; + i_947: + if(ic-- == 0) goto end; + i_948: + if(ic-- == 0) goto end; + i_949: + if(ic-- == 0) goto end; + i_950: + if(ic-- == 0) goto end; + i_951: + if(ic-- == 0) goto end; + i_952: + if(ic-- == 0) goto end; + i_953: + if(ic-- == 0) goto end; + i_954: + if(ic-- == 0) goto end; + i_955: + if(ic-- == 0) goto end; + i_956: + if(ic-- == 0) goto end; + i_957: + if(ic-- == 0) goto end; + i_958: + if(ic-- == 0) goto end; + i_959: + if(ic-- == 0) goto end; + i_960: + if(ic-- == 0) goto end; + i_961: + if(ic-- == 0) goto end; + i_962: + if(ic-- == 0) goto end; + i_963: + if(ic-- == 0) goto end; + i_964: + if(ic-- == 0) goto end; + i_965: + if(ic-- == 0) goto end; + i_966: + if(ic-- == 0) goto end; + i_967: + if(ic-- == 0) goto end; + i_968: + if(ic-- == 0) goto end; + i_969: + if(ic-- == 0) goto end; + i_970: + if(ic-- == 0) goto end; + i_971: + if(ic-- == 0) goto end; + i_972: + if(ic-- == 0) goto end; + i_973: + if(ic-- == 0) goto end; + i_974: + if(ic-- == 0) goto end; + i_975: + if(ic-- == 0) goto end; + i_976: + if(ic-- == 0) goto end; + i_977: + if(ic-- == 0) goto end; + i_978: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1456175612) { + void* ret = &&i_979; + stack[ss++] = ret; + goto i_26; + } + i_979: + if(ic-- == 0) goto end; + i_980: + if(ic-- == 0) goto end; + i_981: + if(ic-- == 0) goto end; + i_982: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 808127352) { + void* ret = &&i_983; + stack[ss++] = ret; + goto i_197; + } + i_983: + if(ic-- == 0) goto end; + i_984: + if(ic-- == 0) goto end; + i_985: + if(ic-- == 0) goto end; + i_986: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 741949704) { + void* ret = &&i_987; + stack[ss++] = ret; + goto i_59; + } + i_987: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3740247587) { + if(ss <= 0) goto i_988; + void* target = stack[--ss]; + goto *target; + } + i_988: + if(ic-- == 0) goto end; + i_989: + if(ic-- == 0) goto end; + i_990: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 3550479444) { + if(ss <= 0) goto i_991; + void* target = stack[--ss]; + goto *target; + } + i_991: + if(ic-- == 0) goto end; + i_992: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1552714076) { + void* ret = &&i_993; + stack[ss++] = ret; + goto i_73; + } + i_993: + if(ic-- == 0) goto end; + i_994: + if(ic-- == 0) goto end; + i_995: + if(ic-- == 0) goto end; + i_996: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1901489237) { + if(ss <= 0) goto i_997; + void* target = stack[--ss]; + goto *target; + } + i_997: + if(ic-- == 0) goto end; + branches++; + if((state2 = state2 * 1664525 + 1013904223) < 1314937403) { + void* ret = &&i_998; + stack[ss++] = ret; + goto i_21; + } + i_998: + if(ic-- == 0) goto end; + i_999: + if(ic-- == 0) goto end; + i_1000: + if(ic-- == 0) goto end; + i_1001: + if(ic-- == 0) goto end; + i_1002: + if(ic-- == 0) goto end; + i_1003: + if(ic-- == 0) goto end; + i_1004: + if(ic-- == 0) goto end; + i_1005: + if(ic-- == 0) goto end; + i_1006: + if(ic-- == 0) goto end; + i_1007: + if(ic-- == 0) goto end; + i_1008: + if(ic-- == 0) goto end; + i_1009: + if(ic-- == 0) goto end; + i_1010: + if(ic-- == 0) goto end; + i_1011: + if(ic-- == 0) goto end; + i_1012: + if(ic-- == 0) goto end; + i_1013: + if(ic-- == 0) goto end; + i_1014: + if(ic-- == 0) goto end; + i_1015: + if(ic-- == 0) goto end; + i_1016: + if(ic-- == 0) goto end; + i_1017: + if(ic-- == 0) goto end; + i_1018: + if(ic-- == 0) goto end; + i_1019: + if(ic-- == 0) goto end; + i_1020: + if(ic-- == 0) goto end; + i_1021: + if(ic-- == 0) goto end; + i_1022: + if(ic-- == 0) goto end; + i_1023: + if(ic-- == 0) goto end; + goto i_0; + end: + PROF_STDOUT(); + fprintf(stdout, "VM branches: %lu\n", branches); + return 0; +} diff --git a/tests/branch_prediction/makefile b/tests/branch_prediction/makefile new file mode 100644 index 0000000..a15be08 --- /dev/null +++ b/tests/branch_prediction/makefile @@ -0,0 +1,16 @@ +all: branch_always branch_predictably branch_randomly branch_mixed + +branch_always: + gcc -O0 branch_always.c -o branch_always + +branch_predictably: + gcc -O0 branch_predictably.c -o branch_predictably + +branch_randomly: + gcc -O0 branch_randomly.c -o branch_randomly + +branch_mixed: + gcc -O0 branch_mixed.c -o branch_mixed + +clean: + rm branch_always branch_predictably branch_randomly branch_mixed diff --git a/tests/branch_prediction/prof.h b/tests/branch_prediction/prof.h new file mode 100644 index 0000000..d57d368 --- /dev/null +++ b/tests/branch_prediction/prof.h @@ -0,0 +1,333 @@ +/* + * Prof + * ==== + * + * Self-contained C/C++ profiler library for Linux. + * + * Prof offers a quick way to measure performance events (CPU clock cycles, + * cache misses, branch mispredictions, etc.) of C/C++ code snippets. Prof is + * just a wrapper around the `perf_event_open` system call, its main goal is to + * be easy to setup and painless to use for targeted optimizations, namely, when + * the hot spot has already been identified. In no way Prof is a replacement for + * a fully-fledged profiler like perf, gprof, callgrind, etc. + * + * Please be aware that Prof uses `__attribute__((constructor))` to be as more + * straightforward to setup as possible, so it cannot be included more than + * once. + * + * Examples + * -------- + * + * ### Minimal + * + * The following snippet prints the rough number of CPU clock cycles spent in + * executing the code between the two Prof calls: + * + * ```c + * #include "prof.h" + * + * int main() + * { + * PROF_START(); + * // slow code goes here... + * PROF_STDOUT(); + * } + * ``` + * + * ### Custom options + * + * The following snippet instead counts both read and write faults of the level + * 1 data cache that occur in the userland code between the two Prof calls: + * + * ```c + * #include + * + * #define PROF_USER_EVENTS_ONLY + * #define PROF_EVENT_LIST \ + * PROF_EVENT_CACHE(L1D, READ, MISS) \ + * PROF_EVENT_CACHE(L1D, WRITE, MISS) + * #include "prof.h" + * + * int main() + * { + * uint64_t faults[2] = { 0 }; + * + * PROF_START(); + * // slow code goes here... + * PROF_DO(faults[index] += counter); + * + * // fast or uninteresting code goes here... + * + * PROF_START(); + * // slow code goes here... + * PROF_DO(faults[index] += counter); + * + * printf("Total L1 faults: R = %lu; W = %lu\n", faults[0], faults[1]); + * } + * ``` + * + * Installation + * ------------ + * + * Just include `prof.h`. Here is a quick way to fetch the latest version: + * + * wget -q https://raw.githubusercontent.com/cyrus-and/prof/master/prof.h + */ +#ifndef PROF_H +#define PROF_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* + * API + * --- + */ + +/* + * Reset the counters and (re)start counting the events. + * + * The events to be monitored are specified by setting the `PROF_EVENT_LIST` + * macro before including this file to a list of `PROF_EVENT_*` invocations; + * defaults to counting the number CPU clock cycles. + * + * If the `PROF_USER_EVENTS_ONLY` macro is defined before including this file + * then kernel and hypervisor events are excluded from the count. + */ +#define PROF_START() \ + do { \ + PROF_IOCTL_(ENABLE); \ + PROF_IOCTL_(RESET); \ + } while (0) + +/* + * Specify an event to be monitored, `type` and `config` are defined in the + * documentation of the `perf_event_open` system call. + */ +#define PROF_EVENT(type, config) \ + (uint32_t)(type), (uint64_t)(config), + +/* + * Same as `PROF_EVENT` but for hardware events; prefix `PERF_COUNT_HW_` must be + * omitted from `config`. + */ +#define PROF_EVENT_HW(config) \ + PROF_EVENT(PERF_TYPE_HARDWARE, PERF_COUNT_HW_ ## config) + +/* + * Same as `PROF_EVENT` but for software events; prefix `PERF_COUNT_SW_` must be + * omitted from `config`. + */ +#define PROF_EVENT_SW(config) \ + PROF_EVENT(PERF_TYPE_SOFTWARE, PERF_COUNT_SW_ ## config) + +/* + * Same as `PROF_EVENT` but for cache events; prefixes `PERF_COUNT_HW_CACHE_`, + * `PERF_COUNT_HW_CACHE_OP_` and `PERF_COUNT_HW_CACHE_RESULT_` must be omitted + * from `cache`, `op` and `result`, respectively. Again `cache`, `op` and + * `result` are defined in the documentation of the `perf_event_open` system + * call. + */ +#define PROF_EVENT_CACHE(cache, op, result) \ + PROF_EVENT(PERF_TYPE_HW_CACHE, \ + (PERF_COUNT_HW_CACHE_ ## cache) | \ + (PERF_COUNT_HW_CACHE_OP_ ## op << 8) | \ + (PERF_COUNT_HW_CACHE_RESULT_ ## result << 16)) + +/* + * Stop counting the events. The counter array can then be accessed with + * `PROF_COUNTERS`. + */ +#define PROF_STOP() \ + do { \ + PROF_IOCTL_(DISABLE); \ + PROF_READ_COUNTERS_(prof_event_buf_); \ + } while (0) + +/* + * Access the counter array. The order of counters is the same of the events + * defined in `PROF_EVENT_LIST`. Elements of this array are 64 bit unsigned + * integers. + */ +#define PROF_COUNTERS \ + (prof_event_buf_ + 1) + +/* + * Stop counting the events and execute the code provided by `block` for each + * event. Within `code`: `index` refers to the event position index in the + * counter array defined by `PROF_COUNTERS`; `counter` is the actual value of + * the counter. `index` is a 64 bit unsigned integer. + */ +#define PROF_DO(block) \ + do { \ + uint64_t i_; \ + PROF_STOP(); \ + for (i_ = 0; i_ < prof_event_cnt_; i_++) { \ + uint64_t index = i_; \ + uint64_t counter = prof_event_buf_[i_ + 1]; \ + (void)index; \ + (void)counter; \ + block; \ + } \ + } while (0) + +/* + * Same as `PROF_DO` except that `callback` is the name of a *callable* object + * (e.g. a function) which, for each event, is be called with the two parameters + * `index` and `counter`. + */ +#define PROF_CALL(callback) \ + PROF_DO(callback(index, counter)) + +/* + * Stop counting the events and write to `file` (a stdio.h `FILE *`) as many + * lines as are events in `PROF_EVENT_LIST`. Each line contains `index` and + * `counter` (as defined by `PROF_DO`) separated by a tabulation character. If + * there is only one event then `index` is omitted. + */ +#define PROF_FILE(file) \ + PROF_DO(if (prof_event_cnt_ > 1) { \ + fprintf((file), "%lu\t%lu\n", index, counter); \ + } else { \ + fprintf((file), "%lu\n", counter); \ + } \ + ) + +/* + * Same as `PROF_LOG_FILE` except that `file` is `stdout`. + */ +#define PROF_STDOUT() \ + PROF_FILE(stdout) + +/* + * Same as `PROF_LOG_FILE` except that `file` is `stderr`. + */ +#define PROF_STDERR() \ + PROF_FILE(stderr) + +/* DEFAULTS ----------------------------------------------------------------- */ + +#ifndef PROF_EVENT_LIST +#ifdef PERF_COUNT_HW_REF_CPU_CYCLES /* since Linux 3.3 */ +#define PROF_EVENT_LIST PROF_EVENT_HW(REF_CPU_CYCLES) +#else +#define PROF_EVENT_LIST PROF_EVENT_HW(CPU_CYCLES) +#endif +#endif + +/* UTILITY ------------------------------------------------------------------ */ + +#define PROF_ASSERT_(x) \ + do { \ + if (!(x)) { \ + fprintf(stderr, "# %s:%d: PROF error", __FILE__, __LINE__); \ + if (errno) { \ + fprintf(stderr, " (%s)", strerror(errno)); \ + } \ + printf("\n"); \ + abort(); \ + } \ + } while (0) + +#define PROF_IOCTL_(mode) \ + do { \ + PROF_ASSERT_(ioctl(prof_fd_, \ + PERF_EVENT_IOC_ ## mode, \ + PERF_IOC_FLAG_GROUP) != -1); \ + } while (0) + +#define PROF_READ_COUNTERS_(buffer) \ + do { \ + const ssize_t to_read = sizeof(uint64_t) * (prof_event_cnt_ + 1); \ + PROF_ASSERT_(read(prof_fd_, buffer, to_read) == to_read); \ + } while (0) + +/* SETUP -------------------------------------------------------------------- */ + +static int prof_fd_; +static uint64_t prof_event_cnt_; +static uint64_t *prof_event_buf_; + +static void prof_init_(uint64_t dummy, ...) { + uint32_t type; + va_list ap; + + prof_fd_ = -1; + prof_event_cnt_ = 0; + va_start(ap, dummy); + while (type = va_arg(ap, uint32_t), type != (uint32_t)-1) { + struct perf_event_attr pe; + uint64_t config; + int fd; + + config = va_arg(ap, uint64_t); + + memset(&pe, 0, sizeof(struct perf_event_attr)); + pe.size = sizeof(struct perf_event_attr); + pe.read_format = PERF_FORMAT_GROUP; + pe.type = type; + pe.config = config; + #ifdef PROF_USER_EVENTS_ONLY + pe.exclude_kernel = 1; + pe.exclude_hv = 1; + #endif + + fd = syscall(__NR_perf_event_open, &pe, 0, -1, prof_fd_, 0); + PROF_ASSERT_(fd != -1); + if (prof_fd_ == -1) { + prof_fd_ = fd; + } + + prof_event_cnt_++; + } + va_end(ap); + + prof_event_buf_ = (uint64_t *)malloc((prof_event_cnt_ + 1) * + sizeof(uint64_t)); +} + +void __attribute__((constructor)) prof_init() +{ + prof_init_(0, PROF_EVENT_LIST /*,*/ (uint32_t)-1); +} + +void __attribute__((destructor)) prof_fini() +{ + PROF_ASSERT_(close(prof_fd_) != -1); + free(prof_event_buf_); +} + +#endif + +/* + * License + * ------- + * + * Copyright (c) 2017 Andrea Cardaci + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */