os

An operating system
git clone https://erai.gay/code/os/
Log | Files | Refs | README | LICENSE

commit 584a0a60e14d887d88cc5d01a9bfa4d57a138f5d
parent 2067af3f3ad42ab1a0991c2bd4fb003067bb1381
Author: erai <erai@omiltem.net>
Date:   Sun,  9 Feb 2025 03:49:18 +0000

only emit parens when needed

Diffstat:
Mbootstrap.sh | 2+-
Mcc0.c | 35253+++++++++++++++++++++++++++++++++++++++----------------------------------------
Mcc1.om | 4+++-
Mircout.om | 392+++++++++++++++++++++++++++++++++++++++++++++----------------------------------
4 files changed, 17485 insertions(+), 18166 deletions(-)

diff --git a/bootstrap.sh b/bootstrap.sh @@ -5,7 +5,7 @@ LIBS="bufio.om lib.om alloc.om syscall.om" SOURCES="cc1.om type.om parse2.om peglib.om as.om decl.om node.om peg.om ir.om ircout.om rb.om" # Build the bootstrap compiler from c -[ cc0 -nt cc0.c ] || gcc -O1 -g -std=c89 ${BOOTSTRAP} -o cc0 +[ cc0 -nt cc0.c ] || gcc -std=c89 ${BOOTSTRAP} -o cc0 ./cc0 ${LIBS} ${SOURCES} cc3.om -o cc1 -n cc1.lines -G cc1.call # Double check the bootstrap and self hosting compiler have the same output diff --git a/cc0.c b/cc0.c @@ -363,228 +363,223 @@ u zunify(); u zunlink(); u zwrite(); u zwriteout(); -int main(int argc, char **argv) { - z_start((u)argc, (u)argv, 0); - return 0; -} s syscall(); -u zsyscall(u nr, u a, u b, u c, u d, u e, u f) { - return (u)syscall((s)nr, (s)a, (s)b, (s)c, (s)d, (s)e, (s)f); -} -u zP_tag_to_str(u vtag) { -b0: if ((vtag) != (0UL)) { goto b2; } -b1: return (u)"P_grammar"; -b2: if ((vtag) != (1UL)) { goto b4; } -b3: return (u)"P_enum_item"; -b4: if ((vtag) != (2UL)) { goto b6; } -b5: return (u)"P_enum_decl"; -b6: if ((vtag) != (3UL)) { goto b8; } -b7: return (u)"P_member_decl"; -b8: if ((vtag) != (4UL)) { goto b10; } -b9: return (u)"P_struct_decl"; -b10: if ((vtag) != (5UL)) { goto b12; } -b11: return (u)"P_union_decl"; -b12: if ((vtag) != (6UL)) { goto b14; } -b13: return (u)"P_func_decl"; -b14: if ((vtag) != (7UL)) { goto b16; } -b15: return (u)"P_type"; -b16: if ((vtag) != (8UL)) { goto b18; } -b17: return (u)"P_ptr_type"; -b18: if ((vtag) != (9UL)) { goto b20; } -b19: return (u)"P_gen_decl"; -b20: if ((vtag) != (10UL)) { goto b22; } -b21: return (u)"P_arg_decl"; -b22: if ((vtag) != (11UL)) { goto b24; } -b23: return (u)"P_func_type"; -b24: if ((vtag) != (12UL)) { goto b26; } -b25: return (u)"P_stmt"; -b26: if ((vtag) != (13UL)) { goto b28; } -b27: return (u)"P_elif_stmt"; -b28: if ((vtag) != (14UL)) { goto b30; } -b29: return (u)"P_else_stmt"; -b30: if ((vtag) != (15UL)) { goto b32; } -b31: return (u)"P_if_stmt"; -b32: if ((vtag) != (16UL)) { goto b34; } -b33: return (u)"P_loop_stmt"; -b34: if ((vtag) != (17UL)) { goto b36; } -b35: return (u)"P_break_stmt"; -b36: if ((vtag) != (18UL)) { goto b38; } -b37: return (u)"P_continue_stmt"; -b38: if ((vtag) != (19UL)) { goto b40; } -b39: return (u)"P_return_stmt"; -b40: if ((vtag) != (20UL)) { goto b42; } -b41: return (u)"P_var_stmt"; -b42: if ((vtag) != (21UL)) { goto b44; } -b43: return (u)"P_label_stmt"; -b44: if ((vtag) != (22UL)) { goto b46; } -b45: return (u)"P_goto_stmt"; -b46: if ((vtag) != (23UL)) { goto b48; } -b47: return (u)"P_assign_stmt"; -b48: if ((vtag) != (24UL)) { goto b50; } -b49: return (u)"P_expr_stmt"; -b50: if ((vtag) != (25UL)) { goto b52; } -b51: return (u)"P_empty_stmt"; -b52: if ((vtag) != (26UL)) { goto b54; } -b53: return (u)"P_compound_stmt"; -b54: if ((vtag) != (27UL)) { goto b56; } -b55: return (u)"P_expr"; -b56: if ((vtag) != (28UL)) { goto b58; } -b57: return (u)"P_band_op"; -b58: if ((vtag) != (29UL)) { goto b60; } -b59: return (u)"P_bor_op"; -b60: if ((vtag) != (30UL)) { goto b62; } -b61: return (u)"P_bool_expr"; -b62: if ((vtag) != (31UL)) { goto b64; } -b63: return (u)"P_le_op"; -b64: if ((vtag) != (32UL)) { goto b66; } -b65: return (u)"P_ge_op"; -b66: if ((vtag) != (33UL)) { goto b68; } -b67: return (u)"P_lt_op"; -b68: if ((vtag) != (34UL)) { goto b70; } -b69: return (u)"P_gt_op"; -b70: if ((vtag) != (35UL)) { goto b72; } -b71: return (u)"P_eq_op"; -b72: if ((vtag) != (36UL)) { goto b74; } -b73: return (u)"P_ne_op"; -b74: if ((vtag) != (37UL)) { goto b76; } -b75: return (u)"P_comp_expr"; -b76: if ((vtag) != (38UL)) { goto b78; } -b77: return (u)"P_add_op"; -b78: if ((vtag) != (39UL)) { goto b80; } -b79: return (u)"P_sub_op"; -b80: if ((vtag) != (40UL)) { goto b82; } -b81: return (u)"P_or_op"; -b82: if ((vtag) != (41UL)) { goto b84; } -b83: return (u)"P_xor_op"; -b84: if ((vtag) != (42UL)) { goto b86; } -b85: return (u)"P_add_expr"; -b86: if ((vtag) != (43UL)) { goto b88; } -b87: return (u)"P_mul_op"; -b88: if ((vtag) != (44UL)) { goto b90; } -b89: return (u)"P_div_op"; -b90: if ((vtag) != (45UL)) { goto b92; } -b91: return (u)"P_mod_op"; -b92: if ((vtag) != (46UL)) { goto b94; } -b93: return (u)"P_and_op"; -b94: if ((vtag) != (47UL)) { goto b96; } -b95: return (u)"P_mul_expr"; -b96: if ((vtag) != (48UL)) { goto b98; } -b97: return (u)"P_lsh_op"; -b98: if ((vtag) != (49UL)) { goto b100; } -b99: return (u)"P_rsh_op"; -b100: if ((vtag) != (50UL)) { goto b102; } -b101: return (u)"P_shift_expr"; -b102: if ((vtag) != (51UL)) { goto b104; } -b103: return (u)"P_ref_op"; -b104: if ((vtag) != (52UL)) { goto b106; } -b105: return (u)"P_deref_op"; -b106: if ((vtag) != (53UL)) { goto b108; } -b107: return (u)"P_pos_op"; -b108: if ((vtag) != (54UL)) { goto b110; } -b109: return (u)"P_neg_op"; -b110: if ((vtag) != (55UL)) { goto b112; } -b111: return (u)"P_not_op"; -b112: if ((vtag) != (56UL)) { goto b114; } -b113: return (u)"P_bnot_op"; -b114: if ((vtag) != (57UL)) { goto b116; } -b115: return (u)"P_unary_expr"; -b116: if ((vtag) != (58UL)) { goto b118; } -b117: return (u)"P_index_expr"; -b118: if ((vtag) != (59UL)) { goto b120; } -b119: return (u)"P_call_expr"; -b120: if ((vtag) != (60UL)) { goto b122; } -b121: return (u)"P_member_expr"; -b122: if ((vtag) != (61UL)) { goto b124; } -b123: return (u)"P_cast_expr"; -b124: if ((vtag) != (62UL)) { goto b126; } -b125: return (u)"P_post_expr"; -b126: if ((vtag) != (63UL)) { goto b128; } -b127: return (u)"P_primary"; -b128: if ((vtag) != (64UL)) { goto b130; } -b129: return (u)"P_sizeof_expr"; -b130: if ((vtag) != (65UL)) { goto b132; } -b131: return (u)"P_hex"; -b132: if ((vtag) != (66UL)) { goto b134; } -b133: return (u)"P_dec"; -b134: if ((vtag) != (67UL)) { goto b136; } -b135: return (u)"P_str"; -b136: if ((vtag) != (68UL)) { goto b138; } -b137: return (u)"P_char"; -b138: if ((vtag) != (69UL)) { goto b140; } -b139: return (u)"P_reserved"; -b140: if ((vtag) != (70UL)) { goto b142; } -b141: return (u)"P_return"; -b142: if ((vtag) != (71UL)) { goto b144; } -b143: return (u)"P_break"; -b144: if ((vtag) != (72UL)) { goto b146; } -b145: return (u)"P_sizeof"; -b146: if ((vtag) != (73UL)) { goto b148; } -b147: return (u)"P_if"; -b148: if ((vtag) != (74UL)) { goto b150; } -b149: return (u)"P_else"; -b150: if ((vtag) != (75UL)) { goto b152; } -b151: return (u)"P_loop"; -b152: if ((vtag) != (76UL)) { goto b154; } -b153: return (u)"P_continue"; -b154: if ((vtag) != (77UL)) { goto b156; } -b155: return (u)"P_goto"; -b156: if ((vtag) != (78UL)) { goto b158; } -b157: return (u)"P_var"; -b158: if ((vtag) != (79UL)) { goto b160; } -b159: return (u)"P_enum"; -b160: if ((vtag) != (80UL)) { goto b162; } -b161: return (u)"P_struct"; -b162: if ((vtag) != (81UL)) { goto b164; } -b163: return (u)"P_union"; -b164: if ((vtag) != (82UL)) { goto b166; } -b165: return (u)"P_byte"; -b166: if ((vtag) != (83UL)) { goto b168; } -b167: return (u)"P_int"; -b168: if ((vtag) != (84UL)) { goto b170; } -b169: return (u)"P_void"; -b170: if ((vtag) != (85UL)) { goto b172; } -b171: return (u)"P_func"; -b172: if ((vtag) != (86UL)) { goto b174; } -b173: return (u)"P_as"; -b174: if ((vtag) != (87UL)) { goto b176; } -b175: return (u)"P_nil"; -b176: if ((vtag) != (88UL)) { goto b178; } -b177: return (u)"P_ident"; -b178: if ((vtag) != (89UL)) { goto b180; } -b179: return (u)"P_sp"; -b180: if ((vtag) != (90UL)) { goto b182; } -b181: return (u)"P_peg_grammar"; -b182: if ((vtag) != (91UL)) { goto b184; } -b183: return (u)"P_peg_rule"; -b184: if ((vtag) != (92UL)) { goto b186; } -b185: return (u)"P_peg_prefix"; -b186: if ((vtag) != (93UL)) { goto b188; } -b187: return (u)"P_peg_pattern"; -b188: if ((vtag) != (94UL)) { goto b190; } -b189: return (u)"P_peg_alternative"; -b190: if ((vtag) != (95UL)) { goto b192; } -b191: return (u)"P_peg_lookop"; -b192: if ((vtag) != (96UL)) { goto b194; } -b193: return (u)"P_peg_lookahead"; -b194: if ((vtag) != (97UL)) { goto b196; } -b195: return (u)"P_peg_countop"; -b196: if ((vtag) != (98UL)) { goto b198; } -b197: return (u)"P_peg_suffix"; -b198: if ((vtag) != (99UL)) { goto b200; } -b199: return (u)"P_peg_primary"; -b200: if ((vtag) != (100UL)) { goto b202; } -b201: return (u)"P_peg_any"; -b202: if ((vtag) != (101UL)) { goto b204; } -b203: return (u)"P_peg_literal"; -b204: if ((vtag) != (102UL)) { goto b206; } -b205: return (u)"P_peg_class"; -b206: if ((vtag) != (103UL)) { goto b208; } -b207: return (u)"P_peg_call"; -b208: if ((vtag) != (104UL)) { goto b210; } -b209: return (u)"P_peg_identifier"; -b210: return 0UL; -} -u z_start(u vargc, u vargv, u venvp) { +int main(int argc,char**argv){return z_start((u)argc,(u)argv,0);} +u zsyscall(u n,u a,u b,u c,u d,u e,u f){return syscall(n,a,b,c,d,e,f);} +u zP_tag_to_str(u vtag){ + if (vtag != 0) goto b2; + return (u)"P_grammar"; +b2: if (vtag != 1) goto b4; + return (u)"P_enum_item"; +b4: if (vtag != 2) goto b6; + return (u)"P_enum_decl"; +b6: if (vtag != 3) goto b8; + return (u)"P_member_decl"; +b8: if (vtag != 4) goto b10; + return (u)"P_struct_decl"; +b10: if (vtag != 5) goto b12; + return (u)"P_union_decl"; +b12: if (vtag != 6) goto b14; + return (u)"P_func_decl"; +b14: if (vtag != 7) goto b16; + return (u)"P_type"; +b16: if (vtag != 8) goto b18; + return (u)"P_ptr_type"; +b18: if (vtag != 9) goto b20; + return (u)"P_gen_decl"; +b20: if (vtag != 10) goto b22; + return (u)"P_arg_decl"; +b22: if (vtag != 11) goto b24; + return (u)"P_func_type"; +b24: if (vtag != 12) goto b26; + return (u)"P_stmt"; +b26: if (vtag != 13) goto b28; + return (u)"P_elif_stmt"; +b28: if (vtag != 14) goto b30; + return (u)"P_else_stmt"; +b30: if (vtag != 15) goto b32; + return (u)"P_if_stmt"; +b32: if (vtag != 16) goto b34; + return (u)"P_loop_stmt"; +b34: if (vtag != 17) goto b36; + return (u)"P_break_stmt"; +b36: if (vtag != 18) goto b38; + return (u)"P_continue_stmt"; +b38: if (vtag != 19) goto b40; + return (u)"P_return_stmt"; +b40: if (vtag != 20) goto b42; + return (u)"P_var_stmt"; +b42: if (vtag != 21) goto b44; + return (u)"P_label_stmt"; +b44: if (vtag != 22) goto b46; + return (u)"P_goto_stmt"; +b46: if (vtag != 23) goto b48; + return (u)"P_assign_stmt"; +b48: if (vtag != 24) goto b50; + return (u)"P_expr_stmt"; +b50: if (vtag != 25) goto b52; + return (u)"P_empty_stmt"; +b52: if (vtag != 26) goto b54; + return (u)"P_compound_stmt"; +b54: if (vtag != 27) goto b56; + return (u)"P_expr"; +b56: if (vtag != 28) goto b58; + return (u)"P_band_op"; +b58: if (vtag != 29) goto b60; + return (u)"P_bor_op"; +b60: if (vtag != 30) goto b62; + return (u)"P_bool_expr"; +b62: if (vtag != 31) goto b64; + return (u)"P_le_op"; +b64: if (vtag != 32) goto b66; + return (u)"P_ge_op"; +b66: if (vtag != 33) goto b68; + return (u)"P_lt_op"; +b68: if (vtag != 34) goto b70; + return (u)"P_gt_op"; +b70: if (vtag != 35) goto b72; + return (u)"P_eq_op"; +b72: if (vtag != 36) goto b74; + return (u)"P_ne_op"; +b74: if (vtag != 37) goto b76; + return (u)"P_comp_expr"; +b76: if (vtag != 38) goto b78; + return (u)"P_add_op"; +b78: if (vtag != 39) goto b80; + return (u)"P_sub_op"; +b80: if (vtag != 40) goto b82; + return (u)"P_or_op"; +b82: if (vtag != 41) goto b84; + return (u)"P_xor_op"; +b84: if (vtag != 42) goto b86; + return (u)"P_add_expr"; +b86: if (vtag != 43) goto b88; + return (u)"P_mul_op"; +b88: if (vtag != 44) goto b90; + return (u)"P_div_op"; +b90: if (vtag != 45) goto b92; + return (u)"P_mod_op"; +b92: if (vtag != 46) goto b94; + return (u)"P_and_op"; +b94: if (vtag != 47) goto b96; + return (u)"P_mul_expr"; +b96: if (vtag != 48) goto b98; + return (u)"P_lsh_op"; +b98: if (vtag != 49) goto b100; + return (u)"P_rsh_op"; +b100: if (vtag != 50) goto b102; + return (u)"P_shift_expr"; +b102: if (vtag != 51) goto b104; + return (u)"P_ref_op"; +b104: if (vtag != 52) goto b106; + return (u)"P_deref_op"; +b106: if (vtag != 53) goto b108; + return (u)"P_pos_op"; +b108: if (vtag != 54) goto b110; + return (u)"P_neg_op"; +b110: if (vtag != 55) goto b112; + return (u)"P_not_op"; +b112: if (vtag != 56) goto b114; + return (u)"P_bnot_op"; +b114: if (vtag != 57) goto b116; + return (u)"P_unary_expr"; +b116: if (vtag != 58) goto b118; + return (u)"P_index_expr"; +b118: if (vtag != 59) goto b120; + return (u)"P_call_expr"; +b120: if (vtag != 60) goto b122; + return (u)"P_member_expr"; +b122: if (vtag != 61) goto b124; + return (u)"P_cast_expr"; +b124: if (vtag != 62) goto b126; + return (u)"P_post_expr"; +b126: if (vtag != 63) goto b128; + return (u)"P_primary"; +b128: if (vtag != 64) goto b130; + return (u)"P_sizeof_expr"; +b130: if (vtag != 65) goto b132; + return (u)"P_hex"; +b132: if (vtag != 66) goto b134; + return (u)"P_dec"; +b134: if (vtag != 67) goto b136; + return (u)"P_str"; +b136: if (vtag != 68) goto b138; + return (u)"P_char"; +b138: if (vtag != 69) goto b140; + return (u)"P_reserved"; +b140: if (vtag != 70) goto b142; + return (u)"P_return"; +b142: if (vtag != 71) goto b144; + return (u)"P_break"; +b144: if (vtag != 72) goto b146; + return (u)"P_sizeof"; +b146: if (vtag != 73) goto b148; + return (u)"P_if"; +b148: if (vtag != 74) goto b150; + return (u)"P_else"; +b150: if (vtag != 75) goto b152; + return (u)"P_loop"; +b152: if (vtag != 76) goto b154; + return (u)"P_continue"; +b154: if (vtag != 77) goto b156; + return (u)"P_goto"; +b156: if (vtag != 78) goto b158; + return (u)"P_var"; +b158: if (vtag != 79) goto b160; + return (u)"P_enum"; +b160: if (vtag != 80) goto b162; + return (u)"P_struct"; +b162: if (vtag != 81) goto b164; + return (u)"P_union"; +b164: if (vtag != 82) goto b166; + return (u)"P_byte"; +b166: if (vtag != 83) goto b168; + return (u)"P_int"; +b168: if (vtag != 84) goto b170; + return (u)"P_void"; +b170: if (vtag != 85) goto b172; + return (u)"P_func"; +b172: if (vtag != 86) goto b174; + return (u)"P_as"; +b174: if (vtag != 87) goto b176; + return (u)"P_nil"; +b176: if (vtag != 88) goto b178; + return (u)"P_ident"; +b178: if (vtag != 89) goto b180; + return (u)"P_sp"; +b180: if (vtag != 90) goto b182; + return (u)"P_peg_grammar"; +b182: if (vtag != 91) goto b184; + return (u)"P_peg_rule"; +b184: if (vtag != 92) goto b186; + return (u)"P_peg_prefix"; +b186: if (vtag != 93) goto b188; + return (u)"P_peg_pattern"; +b188: if (vtag != 94) goto b190; + return (u)"P_peg_alternative"; +b190: if (vtag != 95) goto b192; + return (u)"P_peg_lookop"; +b192: if (vtag != 96) goto b194; + return (u)"P_peg_lookahead"; +b194: if (vtag != 97) goto b196; + return (u)"P_peg_countop"; +b196: if (vtag != 98) goto b198; + return (u)"P_peg_suffix"; +b198: if (vtag != 99) goto b200; + return (u)"P_peg_primary"; +b200: if (vtag != 100) goto b202; + return (u)"P_peg_any"; +b202: if (vtag != 101) goto b204; + return (u)"P_peg_literal"; +b204: if (vtag != 102) goto b206; + return (u)"P_peg_class"; +b206: if (vtag != 103) goto b208; + return (u)"P_peg_call"; +b208: if (vtag != 104) goto b210; + return (u)"P_peg_identifier"; +b210: return 0; +} +u z_start(u vargc, u vargv, u venvp){ u v3 = 0; u v4 = 0; u v5 = 0; @@ -593,17 +588,17 @@ u z_start(u vargc, u vargv, u venvp) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: v3 = (u)zmain; + v3 = (u)zmain; v4 = vargc; v5 = vargv; v6 = venvp; - v7 = ((u (*)())(v3))(v4, v5, v6); -b1: v8 = (u)zexit; - v9 = 0UL; - v10 = ((u (*)())(v8))(v9); -b2: return 0UL; + v7 = ((u(*)())v3)(v4, v5, v6); + v8 = (u)zexit; + v9 = 0; + v10 = ((u(*)())v8)(v9); + return 0; } -u zadd_section(u vc, u vname, u vtype) { +u zadd_section(u vc, u vname, u vtype){ u vs = 0; u vn = 0; u vend = 0; @@ -617,61 +612,59 @@ u zadd_section(u vc, u vname, u vtype) { u v13 = 0; u v14 = 0; u v15 = 0; -b0: vend = *(u *)((vc) + (24UL)); + vend = *(u*)(vc + 24); v6 = (u)zemit_align; v7 = vc; - v8 = 16UL; - v9 = 144UL; - v10 = ((u (*)())(v6))(v7, v8, v9); -b1: v11 = (u)zalloc; - v12 = *(u *)(vc); - v13 = 72UL; - v14 = ((u (*)())(v11))(v12, v13); -b2: vs = v14; - *(u *)(vs) = 0UL; - *(u *)((vs) + (8UL)) = vname; - *(u *)((vs) + (16UL)) = *(u *)((vc) + (24UL)); - *(u *)((vs) + (24UL)) = *(u *)((vc) + (24UL)); - *(u *)((vs) + (32UL)) = *(u *)((vc) + (72UL)); - *(u *)((vs) + (48UL)) = vtype; - *(u *)((vs) + (56UL)) = 0UL; - *(u *)((vs) + (64UL)) = 0UL; - vn = *(u *)((vc) + (64UL)); - if (!(vn)) { goto b5; } -b6: if (!(*(u *)(vn))) { goto b12; } -b11: v15 = 0UL; - goto b13; -b13: if (!(v15)) { goto b8; } -b7: *(u *)((vn) + (24UL)) = vend; - *(u *)(vn) = vs; - goto b3; -b3: *(u *)((vc) + (72UL)) = (*(u *)((vc) + (72UL))) + (1UL); - return 0UL; -b8: vn = *(u *)(vn); + v8 = 16; + v9 = 144; + v10 = ((u(*)())v6)(v7, v8, v9); + v11 = (u)zalloc; + v12 = *(u*)vc; + v13 = 72; + v14 = ((u(*)())v11)(v12, v13); + vs = v14; + *(u*)vs = 0; + *(u*)(vs + 8) = vname; + *(u*)(vs + 16) = *(u*)(vc + 24); + *(u*)(vs + 24) = *(u*)(vc + 24); + *(u*)(vs + 32) = *(u*)(vc + 72); + *(u*)(vs + 48) = vtype; + *(u*)(vs + 56) = 0; + *(u*)(vs + 64) = 0; + vn = *(u*)(vc + 64); + if (!vn) goto b5; +b6: if (!*(u*)vn) goto b12; + v15 = 0; +b13: if (!v15) goto b8; + *(u*)(vn + 24) = vend; + *(u*)vn = vs; +b3: *(u*)(vc + 72) = *(u*)(vc + 72) + 1; + return 0; +b8: vn = *(u*)vn; goto b6; -b12: v15 = 1UL; +b12: v15 = 1; goto b13; -b5: *(u *)((vc) + (64UL)) = vs; +b5: *(u*)(vc + 64) = vs; goto b3; } -u zadd_symbol(u vc, u vname, u vl) { +u zadd_symbol(u vc, u vname, u vl){ u vs = 0; u v4 = 0; u v5 = 0; u v6 = 0; u v7 = 0; -b0: v4 = (u)zalloc; - v5 = *(u *)(vc); - v6 = 32UL; - v7 = ((u (*)())(v4))(v5, v6); -b1: vs = v7; - *(u *)(vs) = *(u *)((vc) + (56UL)); - *(u *)((vs) + (8UL)) = vname; - *(u *)((vs) + (16UL)) = vl; - *(u *)((vc) + (56UL)) = vs; - return 0UL; -} -u zaddfixup(u vc, u vl) { + v4 = (u)zalloc; + v5 = *(u*)vc; + v6 = 32; + v7 = ((u(*)())v4)(v5, v6); + vs = v7; + *(u*)vs = *(u*)(vc + 56); + *(u*)(vs + 8) = vname; + *(u*)(vs + 16) = vl; + *(u*)(vc + 56) = vs; + return 0; +} +u zaddfixup(u vc, u vl){ u vf = 0; u vhere = 0; u v4 = 0; @@ -686,30 +679,30 @@ u zaddfixup(u vc, u vl) { u v13 = 0; u v14 = 0; u v15 = 0; -b0: if ((s)(*(u *)((*(u *)((vc) + (40UL))) + (16UL))) >= (s)(4UL)) { goto b1; } -b2: v4 = (u)zdie; + if ((s)*(u*)(*(u*)(vc + 40) + 16) >= (s)4) goto b1; + v4 = (u)zdie; v5 = (u)"invalid fixup"; - v6 = ((u (*)())(v4))(v5); -b1: vhere = (*(u *)((*(u *)((vc) + (40UL))) + (8UL))) + ((*(u *)((*(u *)((vc) + (40UL))) + (16UL))) - (4UL)); - if (!(*(u *)((vl) + (16UL)))) { goto b7; } -b6: v7 = (u)zfixup; + v6 = ((u(*)())v4)(v5); +b1: vhere = *(u*)(*(u*)(vc + 40) + 8) + *(u*)(*(u*)(vc + 40) + 16) - 4; + if (!*(u*)(vl + 16)) goto b7; + v7 = (u)zfixup; v8 = vc; v9 = vhere; - v10 = (*(u *)((vl) + (8UL))) - (*(u *)((vc) + (24UL))); - v11 = ((u (*)())(v7))(v8, v9, v10); -b5: return 0UL; + v10 = *(u*)(vl + 8) - *(u*)(vc + 24); + v11 = ((u(*)())v7)(v8, v9, v10); +b5: return 0; b7: v12 = (u)zalloc; - v13 = *(u *)(vc); - v14 = 24UL; - v15 = ((u (*)())(v12))(v13, v14); -b9: vf = v15; - *(u *)(vf) = *(u *)(vl); - *(u *)((vf) + (8UL)) = vhere; - *(u *)((vf) + (16UL)) = *(u *)((vc) + (24UL)); - *(u *)(vl) = vf; + v13 = *(u*)vc; + v14 = 24; + v15 = ((u(*)())v12)(v13, v14); + vf = v15; + *(u*)vf = *(u*)vl; + *(u*)(vf + 8) = vhere; + *(u*)(vf + 16) = *(u*)(vc + 24); + *(u*)vl = vf; goto b5; } -u zalloc(u vc, u vsize) { +u zalloc(u vc, u vsize){ u vpage = 0; u vmret = 0; u vret = 0; @@ -739,58 +732,58 @@ u zalloc(u vc, u vsize) { u v28 = 0; u v29 = 0; u v30 = 0; -b0: if ((s)(vsize) >= (s)(0UL)) { goto b1; } -b2: v6 = (u)zdie; + if ((s)vsize >= (s)0) goto b1; + v6 = (u)zdie; v7 = (u)"invalid alloc"; - v8 = ((u (*)())(v6))(v7); -b1: if ((s)(vsize) < (s)(2048UL)) { goto b5; } -b6: vsize = (vsize) + (4095UL); - vsize = (vsize) & (-4096UL); + v8 = ((u(*)())v6)(v7); +b1: if ((s)vsize < (s)2048) goto b5; + vsize = vsize + 4095; + vsize = vsize & -4096UL; v9 = (u)zmmap; - v10 = 0UL; + v10 = 0; v11 = vsize; - v12 = 3UL; - v13 = 34UL; + v12 = 3; + v13 = 34; v14 = -1UL; - v15 = 0UL; - v16 = ((u (*)())(v9))(v10, v11, v12, v13, v14, v15); -b8: vmret = v16; - if ((vmret) != (-1UL)) { goto b9; } -b10: v17 = (u)zdie; + v15 = 0; + v16 = ((u(*)())v9)(v10, v11, v12, v13, v14, v15); + vmret = v16; + if (vmret != -1UL) goto b9; + v17 = (u)zdie; v18 = (u)"out of memory"; - v19 = ((u (*)())(v17))(v18); + v19 = ((u(*)())v17)(v18); b9: vret = vmret; return vret; -b5: vpage = *(u *)(vc); - if (!(vpage)) { goto b13; } -b14: if ((s)(vsize) > (s)((*(u *)((vpage) + (16UL))) - (*(u *)((vpage) + (8UL))))) { goto b13; } -b17: vmret = (*(u *)(vpage)) + (*(u *)((vpage) + (8UL))); - *(u *)((vpage) + (8UL)) = (*(u *)((vpage) + (8UL))) + (vsize); +b5: vpage = *(u*)vc; + if (!vpage) goto b13; + if ((s)vsize > (s)(*(u*)(vpage + 16) - *(u*)(vpage + 8))) goto b13; + vmret = *(u*)vpage + *(u*)(vpage + 8); + *(u*)(vpage + 8) = *(u*)(vpage + 8) + vsize; vret = vmret; return vret; b13: vpsize = 65536UL; v20 = (u)zmmap; - v21 = 0UL; + v21 = 0; v22 = vpsize; - v23 = 3UL; - v24 = 34UL; + v23 = 3; + v24 = 34; v25 = -1UL; - v26 = 0UL; - v27 = ((u (*)())(v20))(v21, v22, v23, v24, v25, v26); -b19: vmret = v27; - if ((vmret) != (-1UL)) { goto b20; } -b21: v28 = (u)zdie; + v26 = 0; + v27 = ((u(*)())v20)(v21, v22, v23, v24, v25, v26); + vmret = v27; + if (vmret != -1UL) goto b20; + v28 = (u)zdie; v29 = (u)"out of memory"; - v30 = ((u (*)())(v28))(v29); + v30 = ((u(*)())v28)(v29); b20: vpage = vmret; - *(u *)(vpage) = (vpage) + (24UL); - vret = *(u *)(vpage); - *(u *)((vpage) + (16UL)) = (vpsize) - (24UL); - *(u *)((vpage) + (8UL)) = vsize; - *(u *)(vc) = vpage; + *(u*)vpage = vpage + 24; + vret = *(u*)vpage; + *(u*)(vpage + 16) = vpsize - 24; + *(u*)(vpage + 8) = vsize; + *(u*)vc = vpage; return vret; } -u zany(u vc) { +u zany(u vc){ u vch = 0; u v2 = 0; u v3 = 0; @@ -798,18 +791,18 @@ u zany(u vc) { u v5 = 0; u v6 = 0; u v7 = 0; -b0: v2 = (u)zget; + v2 = (u)zget; v3 = vc; - v4 = ((u (*)())(v2))(v3); -b1: vch = v4; - if ((vch) != (-1UL)) { goto b2; } -b3: v5 = (u)zfail; + v4 = ((u(*)())v2)(v3); + vch = v4; + if (vch != -1UL) goto b2; + v5 = (u)zfail; v6 = vc; - v7 = ((u (*)())(v5))(v6); -b5: return 0UL; -b2: return 1UL; + v7 = ((u(*)())v5)(v6); + return 0; +b2: return 1; } -u zargs_to_ir(u vic, u vn) { +u zargs_to_ir(u vic, u vn){ u vname = 0; u vt = 0; u v4 = 0; @@ -822,29 +815,27 @@ u zargs_to_ir(u vic, u vn) { u v11 = 0; u v12 = 0; u v13 = 0; -b0: goto b1; -b1: if (!(vn)) { goto b7; } -b6: v4 = 0UL; - goto b8; -b8: if (!(v4)) { goto b3; } -b2: return 0UL; -b3: vname = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (8UL))) + (56UL)); +b1: if (!vn) goto b7; + v4 = 0; +b8: if (!v4) goto b3; + return 0; +b3: vname = *(u*)(*(u*)(*(u*)(vn + 8) + 8) + 56); v5 = (u)zprototype; - v6 = *(u *)(vic); - v7 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v8 = ((u (*)())(v5))(v6, v7); -b9: vt = v8; + v6 = *(u*)vic; + v7 = *(u*)(*(u*)(vn + 8) + 16); + v8 = ((u(*)())v5)(v6, v7); + vt = v8; v9 = (u)ziraddarg; v10 = vic; v11 = vname; v12 = vt; - v13 = ((u (*)())(v9))(v10, v11, v12); -b10: vn = *(u *)((vn) + (16UL)); + v13 = ((u(*)())v9)(v10, v11, v12); + vn = *(u*)(vn + 16); goto b1; -b7: v4 = 1UL; +b7: v4 = 1; goto b8; } -u zas_blob(u vc, u vs, u vslen) { +u zas_blob(u vc, u vs, u vslen){ u vb = 0; u vlink = 0; u vdir = 0; @@ -880,84 +871,81 @@ u zas_blob(u vc, u vs, u vslen) { u v35 = 0; u v36 = 0; u v37 = 0; -b0: vlink = (vc) + (120UL); - goto b1; -b1: vb = *(u *)(vlink); - if (!(vb)) { goto b7; } -b6: v6 = 0UL; - goto b8; -b8: if (!(v6)) { goto b3; } -b2: v22 = (u)zalloc; - v23 = *(u *)(vc); - v24 = 40UL; - v25 = ((u (*)())(v22))(v23, v24); -b28: vb = v25; + vlink = vc + 120; +b1: vb = *(u*)vlink; + if (!vb) goto b7; + v6 = 0; +b8: if (!v6) goto b3; + v22 = (u)zalloc; + v23 = *(u*)vc; + v24 = 40; + v25 = ((u(*)())v22)(v23, v24); + vb = v25; v26 = (u)zmklabel; v27 = vc; - v28 = ((u (*)())(v26))(v27); -b29: *(u *)((vb) + (16UL)) = v28; + v28 = ((u(*)())v26)(v27); + *(u*)(vb + 16) = v28; v29 = (u)zalloc; - v30 = *(u *)(vc); + v30 = *(u*)vc; v31 = vslen; - v32 = ((u (*)())(v29))(v30, v31); -b30: *(u *)((vb) + (24UL)) = v32; - *(u *)((vb) + (32UL)) = vslen; + v32 = ((u(*)())v29)(v30, v31); + *(u*)(vb + 24) = v32; + *(u*)(vb + 32) = vslen; v33 = (u)zmemcpy; - v34 = *(u *)((vb) + (24UL)); + v34 = *(u*)(vb + 24); v35 = vs; v36 = vslen; - v37 = ((u (*)())(v33))(v34, v35, v36); -b31: *(u *)(vlink) = vb; - return *(u *)((vb) + (16UL)); -b3: if ((s)(*(u *)((vb) + (32UL))) >= (s)(vslen)) { goto b11; } -b10: v7 = (u)zmemcmp; - v8 = *(u *)((vb) + (24UL)); + v37 = ((u(*)())v33)(v34, v35, v36); + *(u*)vlink = vb; + return *(u*)(vb + 16); +b3: if ((s)*(u*)(vb + 32) >= (s)vslen) goto b11; + v7 = (u)zmemcmp; + v8 = *(u*)(vb + 24); v9 = vs; - v10 = *(u *)((vb) + (32UL)); - v11 = ((u (*)())(v7))(v8, v9, v10); -b12: vdir = v11; - if ((vdir) != (0UL)) { goto b9; } -b14: vdir = -1UL; - goto b9; -b9: if ((vdir) != (0UL)) { goto b25; } -b24: return *(u *)((vb) + (16UL)); -b25: if ((s)(vdir) <= (s)(0UL)) { goto b27; } -b26: vlink = vb; + v10 = *(u*)(vb + 32); + v11 = ((u(*)())v7)(v8, v9, v10); + vdir = v11; + if (vdir != 0) goto b9; + vdir = -1UL; +b9: if (vdir != 0) goto b25; + return *(u*)(vb + 16); +b25: if ((s)vdir <= (s)0) goto b27; + vlink = vb; goto b1; -b27: vlink = (vb) + (8UL); +b27: vlink = vb + 8; goto b1; -b11: if ((s)(*(u *)((vb) + (32UL))) <= (s)(vslen)) { goto b17; } -b16: v12 = (u)zmemcmp; - v13 = *(u *)((vb) + (24UL)); +b11: if ((s)*(u*)(vb + 32) <= (s)vslen) goto b17; + v12 = (u)zmemcmp; + v13 = *(u*)(vb + 24); v14 = vs; v15 = vslen; - v16 = ((u (*)())(v12))(v13, v14, v15); -b18: vdir = v16; - if ((vdir) != (0UL)) { goto b9; } -b20: vdir = 1UL; + v16 = ((u(*)())v12)(v13, v14, v15); + vdir = v16; + if (vdir != 0) goto b9; + vdir = 1; goto b9; b17: v17 = (u)zmemcmp; - v18 = *(u *)((vb) + (24UL)); + v18 = *(u*)(vb + 24); v19 = vs; v20 = vslen; - v21 = ((u (*)())(v17))(v18, v19, v20); -b22: vdir = v21; + v21 = ((u(*)())v17)(v18, v19, v20); + vdir = v21; goto b9; -b7: v6 = 1UL; +b7: v6 = 1; goto b8; } -u zas_emit(u va, u vb) { +u zas_emit(u va, u vb){ u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: v2 = (u)zemit; + v2 = (u)zemit; v3 = va; v4 = vb; - v5 = ((u (*)())(v2))(v3, v4); -b1: return 0UL; + v5 = ((u(*)())v2)(v3, v4); + return 0; } -u zas_jmp(u va, u vop, u vl) { +u zas_jmp(u va, u vop, u vl){ u v3 = 0; u v4 = 0; u v5 = 0; @@ -986,37 +974,37 @@ u zas_jmp(u va, u vop, u vl) { u v28 = 0; u v29 = 0; u v30 = 0; -b0: v3 = (u)zreserve; + v3 = (u)zreserve; v4 = va; - v5 = 16UL; - v6 = ((u (*)())(v3))(v4, v5); -b1: v7 = (u)zas_op; + v5 = 16; + v6 = ((u(*)())v3)(v4, v5); + v7 = (u)zas_op; v8 = va; v9 = vop; - v10 = ((u (*)())(v7))(v8, v9); -b2: v11 = (u)zas_emit; + v10 = ((u(*)())v7)(v8, v9); + v11 = (u)zas_emit; v12 = va; - v13 = 0UL; - v14 = ((u (*)())(v11))(v12, v13); -b3: v15 = (u)zas_emit; + v13 = 0; + v14 = ((u(*)())v11)(v12, v13); + v15 = (u)zas_emit; v16 = va; - v17 = 0UL; - v18 = ((u (*)())(v15))(v16, v17); -b4: v19 = (u)zas_emit; + v17 = 0; + v18 = ((u(*)())v15)(v16, v17); + v19 = (u)zas_emit; v20 = va; - v21 = 0UL; - v22 = ((u (*)())(v19))(v20, v21); -b5: v23 = (u)zas_emit; + v21 = 0; + v22 = ((u(*)())v19)(v20, v21); + v23 = (u)zas_emit; v24 = va; - v25 = 0UL; - v26 = ((u (*)())(v23))(v24, v25); -b6: v27 = (u)zaddfixup; + v25 = 0; + v26 = ((u(*)())v23)(v24, v25); + v27 = (u)zaddfixup; v28 = va; v29 = vl; - v30 = ((u (*)())(v27))(v28, v29); -b7: return 0UL; + v30 = ((u(*)())v27)(v28, v29); + return 0; } -u zas_modm(u va, u vop, u vb, u vi, u vs, u vd) { +u zas_modm(u va, u vop, u vb, u vi, u vs, u vd){ u v6 = 0; u v7 = 0; u v8 = 0; @@ -1026,33 +1014,33 @@ u zas_modm(u va, u vop, u vb, u vi, u vs, u vd) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: v6 = (u)zas_modrm; + v6 = (u)zas_modrm; v7 = va; - v8 = (vop) & (65535UL); - v9 = (vop) >> (16UL); + v8 = vop & 65535UL; + v9 = vop >> 16; v10 = vb; v11 = vi; v12 = vs; v13 = vd; - v14 = ((u (*)())(v6))(v7, v8, v9, v10, v11, v12, v13); -b1: return 0UL; + v14 = ((u(*)())v6)(v7, v8, v9, v10, v11, v12, v13); + return 0; } -u zas_modr(u va, u vop, u vb) { +u zas_modr(u va, u vop, u vb){ u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; u v7 = 0; u v8 = 0; -b0: v3 = (u)zas_modrr; + v3 = (u)zas_modrr; v4 = va; - v5 = (vop) & (65535UL); - v6 = (vop) >> (16UL); + v5 = vop & 65535UL; + v6 = vop >> 16; v7 = vb; - v8 = ((u (*)())(v3))(v4, v5, v6, v7); -b1: return 0UL; + v8 = ((u(*)())v3)(v4, v5, v6, v7); + return 0; } -u zas_modra(u va, u vop, u vr, u vd) { +u zas_modra(u va, u vop, u vr, u vd){ u v4 = 0; u v5 = 0; u v6 = 0; @@ -1088,44 +1076,44 @@ u zas_modra(u va, u vop, u vr, u vd) { u v36 = 0; u v37 = 0; u v38 = 0; -b0: v4 = (u)zas_rex; + v4 = (u)zas_rex; v5 = va; v6 = vop; v7 = vr; - v8 = 0UL; - v9 = 0UL; - v10 = ((u (*)())(v4))(v5, v6, v7, v8, v9); -b1: v11 = (u)zas_op; + v8 = 0; + v9 = 0; + v10 = ((u(*)())v4)(v5, v6, v7, v8, v9); + v11 = (u)zas_op; v12 = va; v13 = vop; - v14 = ((u (*)())(v11))(v12, v13); -b2: v15 = (u)zas_emit; + v14 = ((u(*)())v11)(v12, v13); + v15 = (u)zas_emit; v16 = va; - v17 = (((vr) << (3UL)) & (56UL)) + (4UL); - v18 = ((u (*)())(v15))(v16, v17); -b3: v19 = (u)zas_emit; + v17 = (vr << 3 & 56) + 4; + v18 = ((u(*)())v15)(v16, v17); + v19 = (u)zas_emit; v20 = va; - v21 = 37UL; - v22 = ((u (*)())(v19))(v20, v21); -b4: v23 = (u)zas_emit; + v21 = 37; + v22 = ((u(*)())v19)(v20, v21); + v23 = (u)zas_emit; v24 = va; v25 = vd; - v26 = ((u (*)())(v23))(v24, v25); -b5: v27 = (u)zas_emit; + v26 = ((u(*)())v23)(v24, v25); + v27 = (u)zas_emit; v28 = va; - v29 = (vd) >> (8UL); - v30 = ((u (*)())(v27))(v28, v29); -b6: v31 = (u)zas_emit; + v29 = vd >> 8; + v30 = ((u(*)())v27)(v28, v29); + v31 = (u)zas_emit; v32 = va; - v33 = (vd) >> (16UL); - v34 = ((u (*)())(v31))(v32, v33); -b7: v35 = (u)zas_emit; + v33 = vd >> 16; + v34 = ((u(*)())v31)(v32, v33); + v35 = (u)zas_emit; v36 = va; - v37 = (vd) >> (24UL); - v38 = ((u (*)())(v35))(v36, v37); -b8: return 0UL; + v37 = vd >> 24; + v38 = ((u(*)())v35)(v36, v37); + return 0; } -u zas_modri(u va, u vop, u vr, u vx) { +u zas_modri(u va, u vop, u vr, u vx){ u v4 = 0; u v5 = 0; u v6 = 0; @@ -1152,43 +1140,42 @@ u zas_modri(u va, u vop, u vr, u vx) { u v27 = 0; u v28 = 0; u v29 = 0; -b0: if ((s)(vx) >= (s)(-2147483648UL)) { goto b5; } -b4: v4 = 1UL; - goto b7; -b7: if (!(v4)) { goto b1; } -b2: v5 = (u)zdie; + if ((s)vx >= (s)-2147483648UL) goto b5; + v4 = 1; +b7: if (!v4) goto b1; + v5 = (u)zdie; v6 = (u)"immediate too large"; - v7 = ((u (*)())(v5))(v6); + v7 = ((u(*)())v5)(v6); b1: v8 = (u)zas_modrr; v9 = va; - v10 = (vop) & (65535UL); - v11 = (vop) >> (16UL); + v10 = vop & 65535UL; + v11 = vop >> 16; v12 = vr; - v13 = ((u (*)())(v8))(v9, v10, v11, v12); -b10: v14 = (u)zas_emit; + v13 = ((u(*)())v8)(v9, v10, v11, v12); + v14 = (u)zas_emit; v15 = va; v16 = vx; - v17 = ((u (*)())(v14))(v15, v16); -b11: v18 = (u)zas_emit; + v17 = ((u(*)())v14)(v15, v16); + v18 = (u)zas_emit; v19 = va; - v20 = (vx) >> (8UL); - v21 = ((u (*)())(v18))(v19, v20); -b12: v22 = (u)zas_emit; + v20 = vx >> 8; + v21 = ((u(*)())v18)(v19, v20); + v22 = (u)zas_emit; v23 = va; - v24 = (vx) >> (16UL); - v25 = ((u (*)())(v22))(v23, v24); -b13: v26 = (u)zas_emit; + v24 = vx >> 16; + v25 = ((u(*)())v22)(v23, v24); + v26 = (u)zas_emit; v27 = va; - v28 = (vx) >> (24UL); - v29 = ((u (*)())(v26))(v27, v28); -b14: return 0UL; -b5: if ((s)(vx) < (s)(2147483648UL)) { goto b8; } -b6: v4 = 1UL; + v28 = vx >> 24; + v29 = ((u(*)())v26)(v27, v28); + return 0; +b5: if ((s)vx < (s)2147483648UL) goto b8; + v4 = 1; goto b7; -b8: v4 = 0UL; +b8: v4 = 0; goto b7; } -u zas_modrm(u va, u vop, u vr, u vb, u vi, u vs, u vd) { +u zas_modrm(u va, u vop, u vr, u vb, u vi, u vs, u vd){ u vsib = 0; u vmod = 0; u vrm = 0; @@ -1271,221 +1258,209 @@ u zas_modrm(u va, u vop, u vr, u vb, u vi, u vs, u vd) { u v86 = 0; u v87 = 0; u v88 = 0; -b0: if ((s)(vr) >= (s)(0UL)) { goto b5; } -b4: v11 = 1UL; - goto b7; -b7: if (!(v11)) { goto b1; } -b2: v12 = (u)zdie; + if ((s)vr >= (s)0) goto b5; + v11 = 1; +b7: if (!v11) goto b1; + v12 = (u)zdie; v13 = (u)"invalid reg"; - v14 = ((u (*)())(v12))(v13); -b1: vrm = ((vr) << (3UL)) & (56UL); - if ((vd) == (0UL)) { goto b12; } -b11: if ((s)(vd) < (s)(-128UL)) { goto b17; } -b16: if ((s)(vd) > (s)(127UL)) { goto b17; } -b18: v15 = 1UL; - goto b19; -b19: if (!(v15)) { goto b15; } -b14: vmod = 1UL; - vdw = 1UL; - goto b10; -b10: if ((vmod) != (0UL)) { goto b22; } -b21: if ((s)(vb) >= (s)(0UL)) { goto b27; } -b26: v16 = 1UL; - goto b29; -b29: if (!(v16)) { goto b23; } -b24: v17 = (u)zdie; + v14 = ((u(*)())v12)(v13); +b1: vrm = vr << 3 & 56; + if (vd == 0) goto b12; + if ((s)vd < (s)-128UL) goto b17; + if ((s)vd > (s)127) goto b17; + v15 = 1; +b19: if (!v15) goto b15; + vmod = 1; + vdw = 1; +b10: if (vmod != 0) goto b22; + if ((s)vb >= (s)0) goto b27; + v16 = 1; +b29: if (!v16) goto b23; + v17 = (u)zdie; v18 = (u)"invalid reg"; - v19 = ((u (*)())(v17))(v18); -b23: if (!(vs)) { goto b34; } -b33: if ((vb) != (16UL)) { goto b35; } -b36: v20 = (u)zdie; + v19 = ((u(*)())v17)(v18); +b23: if (!vs) goto b34; + if (vb != 16) goto b35; + v20 = (u)zdie; v21 = (u)"invalid base"; - v22 = ((u (*)())(v20))(v21); -b35: if ((vi) != (4UL)) { goto b39; } -b40: v23 = (u)zdie; + v22 = ((u(*)())v20)(v21); +b35: if (vi != 4) goto b39; + v23 = (u)zdie; v24 = (u)"invalid index"; - v25 = ((u (*)())(v23))(v24); -b39: vrm = (vrm) + (4UL); - goto b20; + v25 = ((u(*)())v23)(v24); +b39: vrm = vrm + 4; b20: v47 = (u)zas_rex; v48 = va; v49 = vop; v50 = vr; v51 = vi; v52 = vb; - v53 = ((u (*)())(v47))(v48, v49, v50, v51, v52); -b108: v54 = (u)zas_op; + v53 = ((u(*)())v47)(v48, v49, v50, v51, v52); + v54 = (u)zas_op; v55 = va; v56 = vop; - v57 = ((u (*)())(v54))(v55, v56); -b109: v58 = (u)zas_emit; + v57 = ((u(*)())v54)(v55, v56); + v58 = (u)zas_emit; v59 = va; - v60 = ((vmod) << (6UL)) + (vrm); - v61 = ((u (*)())(v58))(v59, v60); -b110: if (!(vs)) { goto b111; } -b112: vsib = (((vi) << (3UL)) & (56UL)) + ((vb) & (7UL)); - if ((vs) != (2UL)) { goto b116; } -b115: vsib = (vsib) + (64UL); - goto b114; + v60 = (vmod << 6) + vrm; + v61 = ((u(*)())v58)(v59, v60); + if (!vs) goto b111; + vsib = (vi << 3 & 56) + (vb & 7); + if (vs != 2) goto b116; + vsib = vsib + 64; b114: v65 = (u)zas_emit; v66 = va; v67 = vsib; - v68 = ((u (*)())(v65))(v66, v67); -b111: if ((vdw) != (1UL)) { goto b127; } -b126: v69 = (u)zas_emit; + v68 = ((u(*)())v65)(v66, v67); +b111: if (vdw != 1) goto b127; + v69 = (u)zas_emit; v70 = va; v71 = vd; - v72 = ((u (*)())(v69))(v70, v71); -b125: return 0UL; -b127: if ((vdw) != (4UL)) { goto b125; } -b129: v73 = (u)zas_emit; + v72 = ((u(*)())v69)(v70, v71); +b125: return 0; +b127: if (vdw != 4) goto b125; + v73 = (u)zas_emit; v74 = va; v75 = vd; - v76 = ((u (*)())(v73))(v74, v75); -b131: v77 = (u)zas_emit; + v76 = ((u(*)())v73)(v74, v75); + v77 = (u)zas_emit; v78 = va; - v79 = (vd) >> (8UL); - v80 = ((u (*)())(v77))(v78, v79); -b132: v81 = (u)zas_emit; + v79 = vd >> 8; + v80 = ((u(*)())v77)(v78, v79); + v81 = (u)zas_emit; v82 = va; - v83 = (vd) >> (16UL); - v84 = ((u (*)())(v81))(v82, v83); -b133: v85 = (u)zas_emit; + v83 = vd >> 16; + v84 = ((u(*)())v81)(v82, v83); + v85 = (u)zas_emit; v86 = va; - v87 = (vd) >> (24UL); - v88 = ((u (*)())(v85))(v86, v87); + v87 = vd >> 24; + v88 = ((u(*)())v85)(v86, v87); goto b125; -b116: if ((vs) != (4UL)) { goto b118; } -b117: vsib = (vsib) + (128UL); +b116: if (vs != 4) goto b118; + vsib = vsib + 128; goto b114; -b118: if ((vs) != (8UL)) { goto b120; } -b119: vsib = (vsib) + (192UL); +b118: if (vs != 8) goto b120; + vsib = vsib + 192; goto b114; -b120: if ((vs) == (1UL)) { goto b114; } -b121: v62 = (u)zdie; +b120: if (vs == 1) goto b114; + v62 = (u)zdie; v63 = (u)"invalid scale"; - v64 = ((u (*)())(v62))(v63); + v64 = ((u(*)())v62)(v63); goto b114; -b34: if ((vi) == (0UL)) { goto b43; } -b44: v26 = (u)zdie; +b34: if (vi == 0) goto b43; + v26 = (u)zdie; v27 = (u)"invalid index"; - v28 = ((u (*)())(v26))(v27); -b43: if ((vb) != (16UL)) { goto b49; } -b48: vmod = 0UL; - vdw = 4UL; - vrm = (vrm) + (5UL); + v28 = ((u(*)())v26)(v27); +b43: if (vb != 16) goto b49; + vmod = 0; + vdw = 4; + vrm = vrm + 5; goto b20; -b49: if ((vb) != (4UL)) { goto b53; } -b52: v29 = 1UL; - goto b55; -b55: if (!(v29)) { goto b51; } -b50: vs = 1UL; - vi = 4UL; - vrm = (vrm) + (4UL); +b49: if (vb != 4) goto b53; + v29 = 1; +b55: if (!v29) goto b51; + vs = 1; + vi = 4; + vrm = vrm + 4; goto b20; -b51: if ((vb) != (5UL)) { goto b60; } -b59: v30 = 1UL; - goto b62; -b62: if (!(v30)) { goto b58; } -b57: vmod = 1UL; - vdw = 1UL; - vrm = (vrm) + (5UL); +b51: if (vb != 5) goto b60; + v30 = 1; +b62: if (!v30) goto b58; + vmod = 1; + vdw = 1; + vrm = vrm + 5; goto b20; -b58: vrm = (vrm) + ((vb) & (7UL)); +b58: vrm = vrm + (vb & 7); goto b20; -b60: if ((vb) != (13UL)) { goto b63; } -b61: v30 = 1UL; +b60: if (vb != 13) goto b63; + v30 = 1; goto b62; -b63: v30 = 0UL; +b63: v30 = 0; goto b62; -b53: if ((vb) != (12UL)) { goto b56; } -b54: v29 = 1UL; +b53: if (vb != 12) goto b56; + v29 = 1; goto b55; -b56: v29 = 0UL; +b56: v29 = 0; goto b55; -b27: if ((s)(vb) <= (s)(16UL)) { goto b30; } -b28: v16 = 1UL; +b27: if ((s)vb <= (s)16) goto b30; + v16 = 1; goto b29; -b30: v16 = 0UL; +b30: v16 = 0; goto b29; -b22: if ((s)(vb) >= (s)(0UL)) { goto b68; } -b67: v31 = 1UL; - goto b70; -b70: if (!(v31)) { goto b64; } -b65: v34 = (u)zdie; +b22: if ((s)vb >= (s)0) goto b68; + v31 = 1; +b70: if (!v31) goto b64; + v34 = (u)zdie; v35 = (u)"invalid reg"; - v36 = ((u (*)())(v34))(v35); -b64: if (!(vs)) { goto b85; } -b84: if ((vb) != (16UL)) { goto b86; } -b87: v37 = (u)zdie; + v36 = ((u(*)())v34)(v35); +b64: if (!vs) goto b85; + if (vb != 16) goto b86; + v37 = (u)zdie; v38 = (u)"invalid base"; - v39 = ((u (*)())(v37))(v38); -b86: if ((vi) != (4UL)) { goto b90; } -b91: v40 = (u)zdie; + v39 = ((u(*)())v37)(v38); +b86: if (vi != 4) goto b90; + v40 = (u)zdie; v41 = (u)"invalid index"; - v42 = ((u (*)())(v40))(v41); -b90: vrm = (vrm) + (4UL); + v42 = ((u(*)())v40)(v41); +b90: vrm = vrm + 4; goto b20; -b85: if ((vi) == (0UL)) { goto b94; } -b95: v43 = (u)zdie; +b85: if (vi == 0) goto b94; + v43 = (u)zdie; v44 = (u)"invalid index"; - v45 = ((u (*)())(v43))(v44); -b94: if ((vb) != (16UL)) { goto b100; } -b99: vmod = 0UL; - vdw = 4UL; - vrm = (vrm) + (5UL); + v45 = ((u(*)())v43)(v44); +b94: if (vb != 16) goto b100; + vmod = 0; + vdw = 4; + vrm = vrm + 5; goto b20; -b100: if ((vb) != (4UL)) { goto b104; } -b103: v46 = 1UL; - goto b106; -b106: if (!(v46)) { goto b102; } -b101: vs = 1UL; - vi = 4UL; - vrm = (vrm) + (4UL); +b100: if (vb != 4) goto b104; + v46 = 1; +b106: if (!v46) goto b102; + vs = 1; + vi = 4; + vrm = vrm + 4; goto b20; -b102: vrm = (vrm) + ((vb) & (7UL)); +b102: vrm = vrm + (vb & 7); goto b20; -b104: if ((vb) != (12UL)) { goto b107; } -b105: v46 = 1UL; +b104: if (vb != 12) goto b107; + v46 = 1; goto b106; -b107: v46 = 0UL; +b107: v46 = 0; goto b106; -b68: if ((s)(vb) <= (s)(16UL)) { goto b73; } -b72: v32 = 1UL; - goto b75; -b75: if (!(v32)) { goto b71; } -b69: v31 = 1UL; +b68: if ((s)vb <= (s)16) goto b73; + v32 = 1; +b75: if (!v32) goto b71; + v31 = 1; goto b70; -b71: v31 = 0UL; +b71: v31 = 0; goto b70; -b73: if ((s)(vi) >= (s)(0UL)) { goto b78; } -b77: v33 = 1UL; - goto b80; -b80: if (!(v33)) { goto b76; } -b74: v32 = 1UL; +b73: if ((s)vi >= (s)0) goto b78; + v33 = 1; +b80: if (!v33) goto b76; + v32 = 1; goto b75; -b76: v32 = 0UL; +b76: v32 = 0; goto b75; -b78: if ((s)(vi) <= (s)(15UL)) { goto b81; } -b79: v33 = 1UL; +b78: if ((s)vi <= (s)15) goto b81; + v33 = 1; goto b80; -b81: v33 = 0UL; +b81: v33 = 0; goto b80; -b15: vmod = 2UL; - vdw = 4UL; +b15: vmod = 2; + vdw = 4; goto b10; -b17: v15 = 0UL; +b17: v15 = 0; goto b19; -b12: vmod = 0UL; - vdw = 0UL; +b12: vmod = 0; + vdw = 0; goto b10; -b5: if ((s)(vr) <= (s)(15UL)) { goto b8; } -b6: v11 = 1UL; +b5: if ((s)vr <= (s)15) goto b8; + v11 = 1; goto b7; -b8: v11 = 0UL; +b8: v11 = 0; goto b7; } -u zas_modrr(u va, u vop, u vr, u vb) { +u zas_modrr(u va, u vop, u vr, u vb){ u v4 = 0; u v5 = 0; u v6 = 0; @@ -1509,67 +1484,62 @@ u zas_modrr(u va, u vop, u vr, u vb) { u v24 = 0; u v25 = 0; u v26 = 0; -b0: if ((s)(vr) >= (s)(0UL)) { goto b5; } -b4: v4 = 1UL; - goto b7; -b7: if (!(v4)) { goto b1; } -b2: v7 = (u)zdie; + if ((s)vr >= (s)0) goto b5; + v4 = 1; +b7: if (!v4) goto b1; + v7 = (u)zdie; v8 = (u)"invalid reg"; - v9 = ((u (*)())(v7))(v8); -b1: if ((vop) == ((131327UL) & (65535UL))) { goto b28; } -b27: if (((vop) & (-16UL)) == (3984UL)) { goto b28; } -b29: v11 = 1UL; - goto b30; -b30: if (!(v11)) { goto b24; } -b23: v10 = 1UL; - goto b26; -b26: if (!(v10)) { goto b20; } -b21: v12 = (u)zas_rex; + v9 = ((u(*)())v7)(v8); +b1: if (vop == (131327UL & 65535UL)) goto b28; + if ((vop & -16UL) == 3984) goto b28; + v11 = 1; +b30: if (!v11) goto b24; + v10 = 1; +b26: if (!v10) goto b20; + v12 = (u)zas_rex; v13 = va; v14 = vop; v15 = vr; - v16 = 0UL; + v16 = 0; v17 = vb; - v18 = ((u (*)())(v12))(v13, v14, v15, v16, v17); + v18 = ((u(*)())v12)(v13, v14, v15, v16, v17); b20: v19 = (u)zas_op; v20 = va; v21 = vop; - v22 = ((u (*)())(v19))(v20, v21); -b33: v23 = (u)zas_emit; + v22 = ((u(*)())v19)(v20, v21); + v23 = (u)zas_emit; v24 = va; - v25 = ((192UL) + (((vr) << (3UL)) & (56UL))) + ((vb) & (7UL)); - v26 = ((u (*)())(v23))(v24, v25); -b34: return 0UL; -b24: if ((s)(vb) < (s)(8UL)) { goto b31; } -b25: v10 = 1UL; + v25 = 192 + (vr << 3 & 56) + (vb & 7); + v26 = ((u(*)())v23)(v24, v25); + return 0; +b24: if ((s)vb < (s)8) goto b31; + v10 = 1; goto b26; -b31: v10 = 0UL; +b31: v10 = 0; goto b26; -b28: v11 = 0UL; +b28: v11 = 0; goto b30; -b5: if ((s)(vr) <= (s)(15UL)) { goto b10; } -b9: v5 = 1UL; - goto b12; -b12: if (!(v5)) { goto b8; } -b6: v4 = 1UL; +b5: if ((s)vr <= (s)15) goto b10; + v5 = 1; +b12: if (!v5) goto b8; + v4 = 1; goto b7; -b8: v4 = 0UL; +b8: v4 = 0; goto b7; -b10: if ((s)(vb) >= (s)(0UL)) { goto b15; } -b14: v6 = 1UL; - goto b17; -b17: if (!(v6)) { goto b13; } -b11: v5 = 1UL; +b10: if ((s)vb >= (s)0) goto b15; + v6 = 1; +b17: if (!v6) goto b13; + v5 = 1; goto b12; -b13: v5 = 0UL; +b13: v5 = 0; goto b12; -b15: if ((s)(vb) <= (s)(15UL)) { goto b18; } -b16: v6 = 1UL; +b15: if ((s)vb <= (s)15) goto b18; + v6 = 1; goto b17; -b18: v6 = 0UL; +b18: v6 = 0; goto b17; } -u zas_op(u va, u vop) { +u zas_op(u va, u vop){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -1582,23 +1552,23 @@ u zas_op(u va, u vop) { u v11 = 0; u v12 = 0; u v13 = 0; -b0: if ((s)(vop) <= (s)(255UL)) { goto b3; } -b2: v2 = (u)zas_emit; + if ((s)vop <= (s)255) goto b3; + v2 = (u)zas_emit; v3 = va; - v4 = (vop) >> (8UL); - v5 = ((u (*)())(v2))(v3, v4); -b4: v6 = (u)zas_emit; + v4 = vop >> 8; + v5 = ((u(*)())v2)(v3, v4); + v6 = (u)zas_emit; v7 = va; v8 = vop; - v9 = ((u (*)())(v6))(v7, v8); -b1: return 0UL; + v9 = ((u(*)())v6)(v7, v8); +b1: return 0; b3: v10 = (u)zas_emit; v11 = va; v12 = vop; - v13 = ((u (*)())(v10))(v11, v12); + v13 = ((u(*)())v10)(v11, v12); goto b1; } -u zas_opr(u va, u vop, u vr) { +u zas_opr(u va, u vop, u vr){ u v3 = 0; u v4 = 0; u v5 = 0; @@ -1616,47 +1586,44 @@ u zas_opr(u va, u vop, u vr) { u v17 = 0; u v18 = 0; u v19 = 0; -b0: if ((s)(vr) >= (s)(0UL)) { goto b5; } -b4: v3 = 1UL; - goto b7; -b7: if (!(v3)) { goto b1; } -b2: v4 = (u)zdie; + if ((s)vr >= (s)0) goto b5; + v3 = 1; +b7: if (!v3) goto b1; + v4 = (u)zdie; v5 = (u)"invalid reg"; - v6 = ((u (*)())(v4))(v5); -b1: if ((vop) == (80UL)) { goto b18; } -b17: if ((vop) == (88UL)) { goto b18; } -b19: v8 = 1UL; - goto b20; -b20: if (!(v8)) { goto b14; } -b13: v7 = 1UL; - goto b16; -b16: if (!(v7)) { goto b10; } -b11: v9 = (u)zas_rex; + v6 = ((u(*)())v4)(v5); +b1: if (vop == 80) goto b18; + if (vop == 88) goto b18; + v8 = 1; +b20: if (!v8) goto b14; + v7 = 1; +b16: if (!v7) goto b10; + v9 = (u)zas_rex; v10 = va; v11 = vop; v12 = vr; - v13 = 0UL; - v14 = 0UL; - v15 = ((u (*)())(v9))(v10, v11, v12, v13, v14); + v13 = 0; + v14 = 0; + v15 = ((u(*)())v9)(v10, v11, v12, v13, v14); b10: v16 = (u)zas_op; v17 = va; - v18 = (vop) + ((vr) & (7UL)); - v19 = ((u (*)())(v16))(v17, v18); -b23: return 0UL; -b14: if ((s)(vr) <= (s)(7UL)) { goto b21; } -b15: v7 = 1UL; + v18 = vop + (vr & 7); + v19 = ((u(*)())v16)(v17, v18); + return 0; +b14: if ((s)vr <= (s)7) goto b21; + v7 = 1; goto b16; -b21: v7 = 0UL; +b21: v7 = 0; goto b16; -b18: v8 = 0UL; +b18: v8 = 0; goto b20; -b5: if ((s)(vr) <= (s)(15UL)) { goto b8; } -b6: v3 = 1UL; +b5: if ((s)vr <= (s)15) goto b8; + v3 = 1; goto b7; -b8: v3 = 0UL; +b8: v3 = 0; goto b7; } -u zas_opri64(u va, u vop, u vr, u vx) { +u zas_opri64(u va, u vop, u vr, u vx){ u v4 = 0; u v5 = 0; u v6 = 0; @@ -1697,93 +1664,90 @@ u zas_opri64(u va, u vop, u vr, u vx) { u v41 = 0; u v42 = 0; u v43 = 0; -b0: if ((vop) == (184UL)) { goto b1; } -b2: v4 = (u)zdie; + if (vop == 184) goto b1; + v4 = (u)zdie; v5 = (u)"only movabs"; - v6 = ((u (*)())(v4))(v5); + v6 = ((u(*)())v4)(v5); b1: v7 = (u)zas_opr; v8 = va; v9 = vop; v10 = vr; - v11 = ((u (*)())(v7))(v8, v9, v10); -b5: v12 = (u)zas_emit; + v11 = ((u(*)())v7)(v8, v9, v10); + v12 = (u)zas_emit; v13 = va; v14 = vx; - v15 = ((u (*)())(v12))(v13, v14); -b6: v16 = (u)zas_emit; + v15 = ((u(*)())v12)(v13, v14); + v16 = (u)zas_emit; v17 = va; - v18 = (vx) >> (8UL); - v19 = ((u (*)())(v16))(v17, v18); -b7: v20 = (u)zas_emit; + v18 = vx >> 8; + v19 = ((u(*)())v16)(v17, v18); + v20 = (u)zas_emit; v21 = va; - v22 = (vx) >> (16UL); - v23 = ((u (*)())(v20))(v21, v22); -b8: v24 = (u)zas_emit; + v22 = vx >> 16; + v23 = ((u(*)())v20)(v21, v22); + v24 = (u)zas_emit; v25 = va; - v26 = (vx) >> (24UL); - v27 = ((u (*)())(v24))(v25, v26); -b9: v28 = (u)zas_emit; + v26 = vx >> 24; + v27 = ((u(*)())v24)(v25, v26); + v28 = (u)zas_emit; v29 = va; - v30 = (vx) >> (32UL); - v31 = ((u (*)())(v28))(v29, v30); -b10: v32 = (u)zas_emit; + v30 = vx >> 32; + v31 = ((u(*)())v28)(v29, v30); + v32 = (u)zas_emit; v33 = va; - v34 = (vx) >> (40UL); - v35 = ((u (*)())(v32))(v33, v34); -b11: v36 = (u)zas_emit; + v34 = vx >> 40; + v35 = ((u(*)())v32)(v33, v34); + v36 = (u)zas_emit; v37 = va; - v38 = (vx) >> (48UL); - v39 = ((u (*)())(v36))(v37, v38); -b12: v40 = (u)zas_emit; + v38 = vx >> 48; + v39 = ((u(*)())v36)(v37, v38); + v40 = (u)zas_emit; v41 = va; - v42 = (vx) >> (56UL); - v43 = ((u (*)())(v40))(v41, v42); -b13: return 0UL; + v42 = vx >> 56; + v43 = ((u(*)())v40)(v41, v42); + return 0; } -u zas_rex(u va, u vop, u vr, u vi, u vb) { +u zas_rex(u va, u vop, u vr, u vi, u vb){ u vw = 0; u v6 = 0; u v7 = 0; u v8 = 0; u v9 = 0; u v10 = 0; -b0: if (!(*(u *)((va) + (48UL)))) { goto b1; } -b2: return 0UL; -b1: vw = 8UL; - if ((vop) != (138UL)) { goto b8; } -b7: v6 = 1UL; - goto b10; -b10: if (!(v6)) { goto b4; } -b5: vw = 0UL; - goto b4; + if (!*(u*)(va + 48)) goto b1; + return 0; +b1: vw = 8; + if (vop != 138) goto b8; + v6 = 1; +b10: if (!v6) goto b4; + vw = 0; b4: v7 = (u)zas_emit; v8 = va; - v9 = ((((64UL) + (vw)) + (((vr) >> (1UL)) & (4UL))) + (((vi) >> (2UL)) & (2UL))) + (((vb) >> (3UL)) & (1UL)); - v10 = ((u (*)())(v7))(v8, v9); -b12: return 0UL; -b8: if ((vop) != (136UL)) { goto b11; } -b9: v6 = 1UL; + v9 = 64 + vw + (vr >> 1 & 4) + (vi >> 2 & 2) + (vb >> 3 & 1); + v10 = ((u(*)())v7)(v8, v9); + return 0; +b8: if (vop != 136) goto b11; + v6 = 1; goto b10; -b11: v6 = 0UL; +b11: v6 = 0; goto b10; } -u zassert(u vx, u vmsg) { +u zassert(u vx, u vmsg){ u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: if (!(vx)) { goto b5; } -b4: v2 = 0UL; - goto b6; -b6: if (!(v2)) { goto b1; } -b2: v3 = (u)zdie; + if (!vx) goto b5; + v2 = 0; +b6: if (!v2) goto b1; + v3 = (u)zdie; v4 = vmsg; - v5 = ((u (*)())(v3))(v4); -b1: return 0UL; -b5: v2 = 1UL; + v5 = ((u(*)())v3)(v4); +b1: return 0; +b5: v2 = 1; goto b6; } -u zcall_check(u vc, u vn) { +u zcall_check(u vc, u vn){ u vresult = 0; u vret = 0; u v4 = 0; @@ -1859,341 +1823,305 @@ u zcall_check(u vc, u vn) { u v74 = 0; u v75 = 0; u v76 = 0; -b0: vresult = 0UL; - if (!(vn)) { goto b5; } -b4: v4 = 0UL; - goto b6; -b6: if (!(v4)) { goto b1; } -b2: return vresult; -b1: if ((*(u *)(vn)) != (7UL)) { goto b9; } -b8: v5 = (u)zcall_check; + vresult = 0; + if (!vn) goto b5; + v4 = 0; +b6: if (!v4) goto b1; + return vresult; +b1: if (*(u*)vn != 7) goto b9; + v5 = (u)zcall_check; v6 = vc; - v7 = *(u *)((vn) + (8UL)); - v8 = ((u (*)())(v5))(v6, v7); -b10: vresult = v8; - vn = *(u *)((vn) + (16UL)); - goto b11; -b11: if (!(vn)) { goto b17; } -b16: v9 = 0UL; - goto b18; -b18: if (!(v9)) { goto b13; } -b12: vresult = 1UL; - goto b7; + v7 = *(u*)(vn + 8); + v8 = ((u(*)())v5)(v6, v7); + vresult = v8; + vn = *(u*)(vn + 16); +b11: if (!vn) goto b17; + v9 = 0; +b18: if (!v9) goto b13; + vresult = 1; b7: return vresult; b13: v10 = (u)zcall_check; v11 = vc; - v12 = *(u *)((vn) + (8UL)); - v13 = ((u (*)())(v10))(v11, v12); -b19: vret = v13; - if (!(vresult)) { goto b24; } -b23: if (!(vret)) { goto b24; } -b25: v14 = 1UL; - goto b26; -b26: if (!(v14)) { goto b20; } -b21: v15 = (u)zcdie; + v12 = *(u*)(vn + 8); + v13 = ((u(*)())v10)(v11, v12); + vret = v13; + if (!vresult) goto b24; + if (!vret) goto b24; + v14 = 1; +b26: if (!v14) goto b20; + v15 = (u)zcdie; v16 = vc; v17 = (u)"multiple calls in call"; - v18 = ((u (*)())(v15))(v16, v17); -b20: vresult = (vresult) | (vret); - vn = *(u *)((vn) + (16UL)); + v18 = ((u(*)())v15)(v16, v17); +b20: vresult = vresult | vret; + vn = *(u*)(vn + 16); goto b11; -b24: v14 = 0UL; +b24: v14 = 0; goto b26; -b17: v9 = 1UL; +b17: v9 = 1; goto b18; -b9: if ((*(u *)(vn)) != (51UL)) { goto b31; } -b30: v19 = 1UL; - goto b33; -b33: if (!(v19)) { goto b29; } -b28: v20 = (u)zcall_check; +b9: if (*(u*)vn != 51) goto b31; + v19 = 1; +b33: if (!v19) goto b29; + v20 = (u)zcall_check; v21 = vc; - v22 = *(u *)((vn) + (8UL)); - v23 = ((u (*)())(v20))(v21, v22); -b35: vresult = v23; + v22 = *(u*)(vn + 8); + v23 = ((u(*)())v20)(v21, v22); + vresult = v23; v24 = (u)zcall_check; v25 = vc; - v26 = *(u *)((vn) + (16UL)); - v27 = ((u (*)())(v24))(v25, v26); -b36: vresult = (vresult) | (v27); + v26 = *(u*)(vn + 16); + v27 = ((u(*)())v24)(v25, v26); + vresult = vresult | v27; goto b7; -b29: if ((*(u *)(vn)) != (33UL)) { goto b40; } -b39: v28 = 1UL; - goto b42; -b42: if (!(v28)) { goto b38; } -b37: v46 = (u)zcall_check; +b29: if (*(u*)vn != 33) goto b40; + v28 = 1; +b42: if (!v28) goto b38; + v46 = (u)zcall_check; v47 = vc; - v48 = *(u *)((vn) + (8UL)); - v49 = ((u (*)())(v46))(v47, v48); -b129: vresult = v49; + v48 = *(u*)(vn + 8); + v49 = ((u(*)())v46)(v47, v48); + vresult = v49; v50 = (u)zcall_check; v51 = vc; - v52 = *(u *)((vn) + (16UL)); - v53 = ((u (*)())(v50))(v51, v52); -b130: vret = v53; - if (!(vresult)) { goto b135; } -b134: if (!(vret)) { goto b135; } -b136: v54 = 1UL; - goto b137; -b137: if (!(v54)) { goto b131; } -b132: v55 = (u)zcdie; + v52 = *(u*)(vn + 16); + v53 = ((u(*)())v50)(v51, v52); + vret = v53; + if (!vresult) goto b135; + if (!vret) goto b135; + v54 = 1; +b137: if (!v54) goto b131; + v55 = (u)zcdie; v56 = vc; v57 = (u)"multiple calls in expression"; - v58 = ((u (*)())(v55))(v56, v57); -b131: vresult = (vresult) | (vret); + v58 = ((u(*)())v55)(v56, v57); +b131: vresult = vresult | vret; goto b7; -b135: v54 = 0UL; +b135: v54 = 0; goto b137; -b38: if ((*(u *)(vn)) != (35UL)) { goto b142; } -b141: v59 = 1UL; - goto b144; -b144: if (!(v59)) { goto b140; } -b139: v65 = (u)zcall_check; +b38: if (*(u*)vn != 35) goto b142; + v59 = 1; +b144: if (!v59) goto b140; + v65 = (u)zcall_check; v66 = vc; - v67 = *(u *)((vn) + (8UL)); - v68 = ((u (*)())(v65))(v66, v67); -b171: vresult = v68; + v67 = *(u*)(vn + 8); + v68 = ((u(*)())v65)(v66, v67); + vresult = v68; goto b7; -b140: if ((*(u *)(vn)) != (3UL)) { goto b175; } -b174: v69 = 1UL; - goto b177; -b177: if (!(v69)) { goto b173; } +b140: if (*(u*)vn != 3) goto b175; + v69 = 1; +b177: if (!v69) goto b173; goto b7; b173: v74 = (u)zdie; v75 = (u)"invalid expr"; - v76 = ((u (*)())(v74))(v75); + v76 = ((u(*)())v74)(v75); goto b7; -b175: if ((*(u *)(vn)) != (1UL)) { goto b180; } -b179: v70 = 1UL; - goto b182; -b182: if (!(v70)) { goto b178; } -b176: v69 = 1UL; +b175: if (*(u*)vn != 1) goto b180; + v70 = 1; +b182: if (!v70) goto b178; + v69 = 1; goto b177; -b178: v69 = 0UL; +b178: v69 = 0; goto b177; -b180: if ((*(u *)(vn)) != (2UL)) { goto b185; } -b184: v71 = 1UL; - goto b187; -b187: if (!(v71)) { goto b183; } -b181: v70 = 1UL; +b180: if (*(u*)vn != 2) goto b185; + v71 = 1; +b187: if (!v71) goto b183; + v70 = 1; goto b182; -b183: v70 = 0UL; +b183: v70 = 0; goto b182; -b185: if ((*(u *)(vn)) != (0UL)) { goto b190; } -b189: v72 = 1UL; - goto b192; -b192: if (!(v72)) { goto b188; } -b186: v71 = 1UL; +b185: if (*(u*)vn != 0) goto b190; + v72 = 1; +b192: if (!v72) goto b188; + v71 = 1; goto b187; -b188: v71 = 0UL; +b188: v71 = 0; goto b187; -b190: if ((*(u *)(vn)) != (34UL)) { goto b195; } -b194: v73 = 1UL; - goto b197; -b197: if (!(v73)) { goto b193; } -b191: v72 = 1UL; +b190: if (*(u*)vn != 34) goto b195; + v73 = 1; +b197: if (!v73) goto b193; + v72 = 1; goto b192; -b193: v72 = 0UL; +b193: v72 = 0; goto b192; -b195: if ((*(u *)(vn)) != (4UL)) { goto b198; } -b196: v73 = 1UL; +b195: if (*(u*)vn != 4) goto b198; + v73 = 1; goto b197; -b198: v73 = 0UL; +b198: v73 = 0; goto b197; -b142: if ((*(u *)(vn)) != (36UL)) { goto b147; } -b146: v60 = 1UL; - goto b149; -b149: if (!(v60)) { goto b145; } -b143: v59 = 1UL; +b142: if (*(u*)vn != 36) goto b147; + v60 = 1; +b149: if (!v60) goto b145; + v59 = 1; goto b144; -b145: v59 = 0UL; +b145: v59 = 0; goto b144; -b147: if ((*(u *)(vn)) != (57UL)) { goto b152; } -b151: v61 = 1UL; - goto b154; -b154: if (!(v61)) { goto b150; } -b148: v60 = 1UL; +b147: if (*(u*)vn != 57) goto b152; + v61 = 1; +b154: if (!v61) goto b150; + v60 = 1; goto b149; -b150: v60 = 0UL; +b150: v60 = 0; goto b149; -b152: if ((*(u *)(vn)) != (58UL)) { goto b157; } -b156: v62 = 1UL; - goto b159; -b159: if (!(v62)) { goto b155; } -b153: v61 = 1UL; +b152: if (*(u*)vn != 58) goto b157; + v62 = 1; +b159: if (!v62) goto b155; + v61 = 1; goto b154; -b155: v61 = 0UL; +b155: v61 = 0; goto b154; -b157: if ((*(u *)(vn)) != (56UL)) { goto b162; } -b161: v63 = 1UL; - goto b164; -b164: if (!(v63)) { goto b160; } -b158: v62 = 1UL; +b157: if (*(u*)vn != 56) goto b162; + v63 = 1; +b164: if (!v63) goto b160; + v62 = 1; goto b159; -b160: v62 = 0UL; +b160: v62 = 0; goto b159; -b162: if ((*(u *)(vn)) != (37UL)) { goto b167; } -b166: v64 = 1UL; - goto b169; -b169: if (!(v64)) { goto b165; } -b163: v63 = 1UL; +b162: if (*(u*)vn != 37) goto b167; + v64 = 1; +b169: if (!v64) goto b165; + v63 = 1; goto b164; -b165: v63 = 0UL; +b165: v63 = 0; goto b164; -b167: if ((*(u *)(vn)) != (9UL)) { goto b170; } -b168: v64 = 1UL; +b167: if (*(u*)vn != 9) goto b170; + v64 = 1; goto b169; -b170: v64 = 0UL; +b170: v64 = 0; goto b169; -b40: if ((*(u *)(vn)) != (38UL)) { goto b45; } -b44: v29 = 1UL; - goto b47; -b47: if (!(v29)) { goto b43; } -b41: v28 = 1UL; +b40: if (*(u*)vn != 38) goto b45; + v29 = 1; +b47: if (!v29) goto b43; + v28 = 1; goto b42; -b43: v28 = 0UL; +b43: v28 = 0; goto b42; -b45: if ((*(u *)(vn)) != (39UL)) { goto b50; } -b49: v30 = 1UL; - goto b52; -b52: if (!(v30)) { goto b48; } -b46: v29 = 1UL; +b45: if (*(u*)vn != 39) goto b50; + v30 = 1; +b52: if (!v30) goto b48; + v29 = 1; goto b47; -b48: v29 = 0UL; +b48: v29 = 0; goto b47; -b50: if ((*(u *)(vn)) != (41UL)) { goto b55; } -b54: v31 = 1UL; - goto b57; -b57: if (!(v31)) { goto b53; } -b51: v30 = 1UL; +b50: if (*(u*)vn != 41) goto b55; + v31 = 1; +b57: if (!v31) goto b53; + v30 = 1; goto b52; -b53: v30 = 0UL; +b53: v30 = 0; goto b52; -b55: if ((*(u *)(vn)) != (40UL)) { goto b60; } -b59: v32 = 1UL; - goto b62; -b62: if (!(v32)) { goto b58; } -b56: v31 = 1UL; +b55: if (*(u*)vn != 40) goto b60; + v32 = 1; +b62: if (!v32) goto b58; + v31 = 1; goto b57; -b58: v31 = 0UL; +b58: v31 = 0; goto b57; -b60: if ((*(u *)(vn)) != (42UL)) { goto b65; } -b64: v33 = 1UL; - goto b67; -b67: if (!(v33)) { goto b63; } -b61: v32 = 1UL; +b60: if (*(u*)vn != 42) goto b65; + v33 = 1; +b67: if (!v33) goto b63; + v32 = 1; goto b62; -b63: v32 = 0UL; +b63: v32 = 0; goto b62; -b65: if ((*(u *)(vn)) != (43UL)) { goto b70; } -b69: v34 = 1UL; - goto b72; -b72: if (!(v34)) { goto b68; } -b66: v33 = 1UL; +b65: if (*(u*)vn != 43) goto b70; + v34 = 1; +b72: if (!v34) goto b68; + v33 = 1; goto b67; -b68: v33 = 0UL; +b68: v33 = 0; goto b67; -b70: if ((*(u *)(vn)) != (44UL)) { goto b75; } -b74: v35 = 1UL; - goto b77; -b77: if (!(v35)) { goto b73; } -b71: v34 = 1UL; +b70: if (*(u*)vn != 44) goto b75; + v35 = 1; +b77: if (!v35) goto b73; + v34 = 1; goto b72; -b73: v34 = 0UL; +b73: v34 = 0; goto b72; -b75: if ((*(u *)(vn)) != (50UL)) { goto b80; } -b79: v36 = 1UL; - goto b82; -b82: if (!(v36)) { goto b78; } -b76: v35 = 1UL; +b75: if (*(u*)vn != 50) goto b80; + v36 = 1; +b82: if (!v36) goto b78; + v35 = 1; goto b77; -b78: v35 = 0UL; +b78: v35 = 0; goto b77; -b80: if ((*(u *)(vn)) != (45UL)) { goto b85; } -b84: v37 = 1UL; - goto b87; -b87: if (!(v37)) { goto b83; } -b81: v36 = 1UL; +b80: if (*(u*)vn != 45) goto b85; + v37 = 1; +b87: if (!v37) goto b83; + v36 = 1; goto b82; -b83: v36 = 0UL; +b83: v36 = 0; goto b82; -b85: if ((*(u *)(vn)) != (46UL)) { goto b90; } -b89: v38 = 1UL; - goto b92; -b92: if (!(v38)) { goto b88; } -b86: v37 = 1UL; +b85: if (*(u*)vn != 46) goto b90; + v38 = 1; +b92: if (!v38) goto b88; + v37 = 1; goto b87; -b88: v37 = 0UL; +b88: v37 = 0; goto b87; -b90: if ((*(u *)(vn)) != (47UL)) { goto b95; } -b94: v39 = 1UL; - goto b97; -b97: if (!(v39)) { goto b93; } -b91: v38 = 1UL; +b90: if (*(u*)vn != 47) goto b95; + v39 = 1; +b97: if (!v39) goto b93; + v38 = 1; goto b92; -b93: v38 = 0UL; +b93: v38 = 0; goto b92; -b95: if ((*(u *)(vn)) != (59UL)) { goto b100; } -b99: v40 = 1UL; - goto b102; -b102: if (!(v40)) { goto b98; } -b96: v39 = 1UL; +b95: if (*(u*)vn != 59) goto b100; + v40 = 1; +b102: if (!v40) goto b98; + v39 = 1; goto b97; -b98: v39 = 0UL; +b98: v39 = 0; goto b97; -b100: if ((*(u *)(vn)) != (60UL)) { goto b105; } -b104: v41 = 1UL; - goto b107; -b107: if (!(v41)) { goto b103; } -b101: v40 = 1UL; +b100: if (*(u*)vn != 60) goto b105; + v41 = 1; +b107: if (!v41) goto b103; + v40 = 1; goto b102; -b103: v40 = 0UL; +b103: v40 = 0; goto b102; -b105: if ((*(u *)(vn)) != (48UL)) { goto b110; } -b109: v42 = 1UL; - goto b112; -b112: if (!(v42)) { goto b108; } -b106: v41 = 1UL; +b105: if (*(u*)vn != 48) goto b110; + v42 = 1; +b112: if (!v42) goto b108; + v41 = 1; goto b107; -b108: v41 = 0UL; +b108: v41 = 0; goto b107; -b110: if ((*(u *)(vn)) != (49UL)) { goto b115; } -b114: v43 = 1UL; - goto b117; -b117: if (!(v43)) { goto b113; } -b111: v42 = 1UL; +b110: if (*(u*)vn != 49) goto b115; + v43 = 1; +b117: if (!v43) goto b113; + v42 = 1; goto b112; -b113: v42 = 0UL; +b113: v42 = 0; goto b112; -b115: if ((*(u *)(vn)) != (53UL)) { goto b120; } -b119: v44 = 1UL; - goto b122; -b122: if (!(v44)) { goto b118; } -b116: v43 = 1UL; +b115: if (*(u*)vn != 53) goto b120; + v44 = 1; +b122: if (!v44) goto b118; + v43 = 1; goto b117; -b118: v43 = 0UL; +b118: v43 = 0; goto b117; -b120: if ((*(u *)(vn)) != (54UL)) { goto b125; } -b124: v45 = 1UL; - goto b127; -b127: if (!(v45)) { goto b123; } -b121: v44 = 1UL; +b120: if (*(u*)vn != 54) goto b125; + v45 = 1; +b127: if (!v45) goto b123; + v44 = 1; goto b122; -b123: v44 = 0UL; +b123: v44 = 0; goto b122; -b125: if ((*(u *)(vn)) != (55UL)) { goto b128; } -b126: v45 = 1UL; +b125: if (*(u*)vn != 55) goto b128; + v45 = 1; goto b127; -b128: v45 = 0UL; +b128: v45 = 0; goto b127; -b31: if ((*(u *)(vn)) != (52UL)) { goto b34; } -b32: v19 = 1UL; +b31: if (*(u*)vn != 52) goto b34; + v19 = 1; goto b33; -b34: v19 = 0UL; +b34: v19 = 0; goto b33; -b5: v4 = 1UL; +b5: v4 = 1; goto b6; } -u zcall_to_ir(u vic, u vn) { +u zcall_to_ir(u vic, u vn){ u vo = 0; u va = 0; u vb = 0; @@ -2315,174 +2243,168 @@ u zcall_to_ir(u vic, u vn) { u v122 = 0; u v123 = 0; u v124 = 0; -b0: if ((*(u *)(*(u *)((vn) + (8UL)))) != (0UL)) { goto b5; } -b4: v16 = (u)zstrcmp; - v17 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); + if (*(u*)*(u*)(vn + 8) != 0) goto b5; + v16 = (u)zstrcmp; + v17 = *(u*)(*(u*)(vn + 8) + 56); v18 = (u)"_include"; - v19 = ((u (*)())(v16))(v17, v18); -b8: if ((v19) != (0UL)) { goto b5; } -b6: v15 = 1UL; - goto b7; -b7: if (!(v15)) { goto b1; } -b2: if ((*(u *)(*(u *)((*(u *)((vn) + (16UL))) + (8UL)))) == (3UL)) { goto b9; } -b10: v20 = (u)zcdie; - v21 = *(u *)(vic); + v19 = ((u(*)())v16)(v17, v18); + if (v19 != 0) goto b5; + v15 = 1; +b7: if (!v15) goto b1; + if (*(u*)*(u*)(*(u*)(vn + 16) + 8) == 3) goto b9; + v20 = (u)zcdie; + v21 = *(u*)vic; v22 = (u)"non literal include"; - v23 = ((u (*)())(v20))(v21, v22); + v23 = ((u(*)())v20)(v21, v22); b9: v24 = (u)zgather_include; - v25 = *(u *)(vic); - v26 = *(u *)((*(u *)((*(u *)((vn) + (16UL))) + (8UL))) + (56UL)); + v25 = *(u*)vic; + v26 = *(u*)(*(u*)(*(u*)(vn + 16) + 8) + 56); v27 = (u)&vslen; - v28 = ((u (*)())(v24))(v25, v26, v27); -b13: vblob = v28; + v28 = ((u(*)())v24)(v25, v26, v27); + vblob = v28; v29 = (u)zexpr_to_ir; v30 = vic; - v31 = *(u *)((*(u *)((*(u *)((vn) + (16UL))) + (16UL))) + (8UL)); - v32 = ((u (*)())(v29))(v30, v31); -b14: va = v32; + v31 = *(u*)(*(u*)(*(u*)(vn + 16) + 16) + 8); + v32 = ((u(*)())v29)(v30, v31); + va = v32; v33 = (u)zmkirconst; v34 = vic; v35 = vslen; - v36 = ((u (*)())(v33))(v34, v35); -b15: vb = v36; + v36 = ((u(*)())v33)(v34, v35); + vb = v36; v37 = (u)zmkirop; v38 = vic; - v39 = 6UL; + v39 = 6; v40 = va; v41 = vb; - v42 = ((u (*)())(v37))(v38, v39, v40, v41); -b16: vo = v42; - *(u *)((vo) + (48UL)) = *(u *)((*(u *)((*(u *)((*(u *)((*(u *)((vn) + (16UL))) + (16UL))) + (8UL))) + (64UL))) + (16UL)); + v42 = ((u(*)())v37)(v38, v39, v40, v41); + vo = v42; + *(u*)(vo + 48) = *(u*)(*(u*)(*(u*)(*(u*)(*(u*)(vn + 16) + 16) + 8) + 64) + 16); v43 = (u)ziraddop; v44 = vic; v45 = vo; - v46 = ((u (*)())(v43))(v44, v45); -b17: v47 = (u)zmkirstr; + v46 = ((u(*)())v43)(v44, v45); + v47 = (u)zmkirstr; v48 = vic; v49 = vblob; v50 = vslen; - v51 = ((u (*)())(v47))(v48, v49, v50); -b18: vo = v51; + v51 = ((u(*)())v47)(v48, v49, v50); + vo = v51; return vo; b1: v52 = (u)zmkirtmp; v53 = vic; - v54 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v55 = ((u (*)())(v52))(v53, v54); -b19: vfp = v55; + v54 = *(u*)(*(u*)(vn + 8) + 64); + v55 = ((u(*)())v52)(v53, v54); + vfp = v55; v56 = (u)zexpr_to_ir; v57 = vic; - v58 = *(u *)((vn) + (8UL)); - v59 = ((u (*)())(v56))(v57, v58); -b20: vb = v59; + v58 = *(u*)(vn + 8); + v59 = ((u(*)())v56)(v57, v58); + vb = v59; v60 = (u)zmkirop; v61 = vic; - v62 = 6UL; + v62 = 6; v63 = vfp; v64 = vb; - v65 = ((u (*)())(v60))(v61, v62, v63, v64); -b21: vo = v65; - *(u *)((vo) + (48UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v65 = ((u(*)())v60)(v61, v62, v63, v64); + vo = v65; + *(u*)(vo + 48) = *(u*)(*(u*)(vn + 8) + 64); v66 = (u)ziraddop; v67 = vic; v68 = vo; - v69 = ((u (*)())(v66))(v67, v68); -b22: varg = *(u *)((vn) + (16UL)); - vcount = 0UL; - goto b23; -b23: if (!(varg)) { goto b29; } -b28: v70 = 0UL; - goto b30; -b30: if (!(v70)) { goto b25; } -b24: v71 = (u)zalloc; - v72 = *(u *)((vic) + (16UL)); - v73 = (8UL) * (vcount); - v74 = ((u (*)())(v71))(v72, v73); -b31: vtmp = v74; - varg = *(u *)((vn) + (16UL)); - vi = 0UL; - goto b32; -b32: if (!(varg)) { goto b38; } -b37: v75 = 0UL; - goto b39; -b39: if (!(v75)) { goto b34; } -b33: varg = *(u *)((vn) + (16UL)); - vi = 0UL; - goto b44; -b44: if ((vi) != (vcount)) { goto b46; } -b45: v103 = (u)zfree; - v104 = *(u *)((vic) + (16UL)); + v69 = ((u(*)())v66)(v67, v68); + varg = *(u*)(vn + 16); + vcount = 0; +b23: if (!varg) goto b29; + v70 = 0; +b30: if (!v70) goto b25; + v71 = (u)zalloc; + v72 = *(u*)(vic + 16); + v73 = 8 * vcount; + v74 = ((u(*)())v71)(v72, v73); + vtmp = v74; + varg = *(u*)(vn + 16); + vi = 0; +b32: if (!varg) goto b38; + v75 = 0; +b39: if (!v75) goto b34; + varg = *(u*)(vn + 16); + vi = 0; +b44: if (vi != vcount) goto b46; + v103 = (u)zfree; + v104 = *(u*)(vic + 16); v105 = vtmp; - v106 = ((u (*)())(v103))(v104, v105); -b51: v107 = (u)zmkirtmp; + v106 = ((u(*)())v103)(v104, v105); + v107 = (u)zmkirtmp; v108 = vic; - v109 = *(u *)((vn) + (64UL)); - v110 = ((u (*)())(v107))(v108, v109); -b52: vret = v110; + v109 = *(u*)(vn + 64); + v110 = ((u(*)())v107)(v108, v109); + vret = v110; v111 = (u)zmkirretval; v112 = vic; v113 = vret; - v114 = *(u *)((vn) + (64UL)); - v115 = ((u (*)())(v111))(v112, v113, v114); -b53: vo = v115; + v114 = *(u*)(vn + 64); + v115 = ((u(*)())v111)(v112, v113, v114); + vo = v115; v116 = (u)ziraddop; v117 = vic; v118 = vo; - v119 = ((u (*)())(v116))(v117, v118); -b54: v120 = (u)zircall; + v119 = ((u(*)())v116)(v117, v118); + v120 = (u)zircall; v121 = vic; v122 = vfp; v123 = vcount; - v124 = ((u (*)())(v120))(v121, v122, v123); -b55: return vret; + v124 = ((u(*)())v120)(v121, v122, v123); + return vret; b46: v94 = (u)zmkirarg; v95 = vic; v96 = vi; - v97 = *(u *)((vtmp) + ((vi) * (8UL))); - v98 = ((u (*)())(v94))(v95, v96, v97); -b49: vo = v98; + v97 = *(u*)(vtmp + vi * 8); + v98 = ((u(*)())v94)(v95, v96, v97); + vo = v98; v99 = (u)ziraddop; v100 = vic; v101 = vo; - v102 = ((u (*)())(v99))(v100, v101); -b50: varg = *(u *)((varg) + (16UL)); - vi = (vi) + (1UL); + v102 = ((u(*)())v99)(v100, v101); + varg = *(u*)(varg + 16); + vi = vi + 1; goto b44; b34: v76 = (u)zmkirtmp; v77 = vic; - v78 = *(u *)((*(u *)((varg) + (8UL))) + (64UL)); - v79 = ((u (*)())(v76))(v77, v78); -b40: *(u *)((vtmp) + ((vi) * (8UL))) = v79; + v78 = *(u*)(*(u*)(varg + 8) + 64); + v79 = ((u(*)())v76)(v77, v78); + *(u*)(vtmp + vi * 8) = v79; v80 = (u)zexpr_to_ir; v81 = vic; - v82 = *(u *)((varg) + (8UL)); - v83 = ((u (*)())(v80))(v81, v82); -b41: vb = v83; + v82 = *(u*)(varg + 8); + v83 = ((u(*)())v80)(v81, v82); + vb = v83; v84 = (u)zmkirop; v85 = vic; - v86 = 6UL; - v87 = *(u *)((vtmp) + ((vi) * (8UL))); + v86 = 6; + v87 = *(u*)(vtmp + vi * 8); v88 = vb; - v89 = ((u (*)())(v84))(v85, v86, v87, v88); -b42: vo = v89; - *(u *)((vo) + (48UL)) = *(u *)((*(u *)((varg) + (8UL))) + (64UL)); + v89 = ((u(*)())v84)(v85, v86, v87, v88); + vo = v89; + *(u*)(vo + 48) = *(u*)(*(u*)(varg + 8) + 64); v90 = (u)ziraddop; v91 = vic; v92 = vo; - v93 = ((u (*)())(v90))(v91, v92); -b43: varg = *(u *)((varg) + (16UL)); - vi = (vi) + (1UL); + v93 = ((u(*)())v90)(v91, v92); + varg = *(u*)(varg + 16); + vi = vi + 1; goto b32; -b38: v75 = 1UL; +b38: v75 = 1; goto b39; -b25: vcount = (vcount) + (1UL); - varg = *(u *)((varg) + (16UL)); +b25: vcount = vcount + 1; + varg = *(u*)(varg + 16); goto b23; -b29: v70 = 1UL; +b29: v70 = 1; goto b30; -b5: v15 = 0UL; +b5: v15 = 0; goto b7; } -u zcdie(u vc, u vmsg) { +u zcdie(u vc, u vmsg){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -2501,27 +2423,27 @@ u zcdie(u vc, u vmsg) { u v17 = 0; u v18 = 0; u v19 = 0; -b0: v2 = (u)zcshow_context; + v2 = (u)zcshow_context; v3 = vc; - v4 = ((u (*)())(v2))(v3); -b1: v5 = (u)zfputs; - v6 = *(u *)((vc) + (8UL)); + v4 = ((u(*)())v2)(v3); + v5 = (u)zfputs; + v6 = *(u*)(vc + 8); v7 = (u)"cdie: "; - v8 = ((u (*)())(v5))(v6, v7); -b2: v9 = (u)zfputs; - v10 = *(u *)((vc) + (8UL)); + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zfputs; + v10 = *(u*)(vc + 8); v11 = vmsg; - v12 = ((u (*)())(v9))(v10, v11); -b3: v13 = (u)zfputs; - v14 = *(u *)((vc) + (8UL)); + v12 = ((u(*)())v9)(v10, v11); + v13 = (u)zfputs; + v14 = *(u*)(vc + 8); v15 = (u)"\012"; - v16 = ((u (*)())(v13))(v14, v15); -b4: v17 = (u)zexit; - v18 = 1UL; - v19 = ((u (*)())(v17))(v18); -b5: return 0UL; + v16 = ((u(*)())v13)(v14, v15); + v17 = (u)zexit; + v18 = 1; + v19 = ((u(*)())v17)(v18); + return 0; } -u zcharset(u vc, u vs) { +u zcharset(u vc, u vs){ u vi = 0; u vch = 0; u v4 = 0; @@ -2531,69 +2453,65 @@ u zcharset(u vc, u vs) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: v4 = (u)zget; + v4 = (u)zget; v5 = vc; - v6 = ((u (*)())(v4))(v5); -b1: vch = v6; - vi = 0UL; - goto b2; -b2: if (!((u)*(b *)((vs) + (vi)))) { goto b8; } -b7: v7 = 0UL; - goto b9; -b9: if (!(v7)) { goto b4; } -b5: v8 = (u)zfail; + v6 = ((u(*)())v4)(v5); + vch = v6; + vi = 0; +b2: if (!(u)*(b*)(vs + vi)) goto b8; + v7 = 0; +b9: if (!v7) goto b4; + v8 = (u)zfail; v9 = vc; - v10 = ((u (*)())(v8))(v9); -b10: return 0UL; -b4: if ((vch) != ((u)*(b *)((vs) + (vi)))) { goto b11; } -b3: return 1UL; -b11: vi = (vi) + (1UL); + v10 = ((u(*)())v8)(v9); + return 0; +b4: if (vch != (u)*(b*)(vs + vi)) goto b11; + return 1; +b11: vi = vi + 1; goto b2; -b8: v7 = 1UL; +b8: v7 = 1; goto b9; } -u zcheck_usage(u vc) { +u zcheck_usage(u vc){ u vd = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; -b0: goto b1; -b1: vd = *(u *)((vc) + (104UL)); - if (!(vd)) { goto b7; } -b6: v2 = 0UL; - goto b8; -b8: if (!(v2)) { goto b3; } -b2: return 0UL; -b3: *(u *)((vc) + (104UL)) = *(u *)((vd) + (48UL)); - if (!(*(u *)((vd) + (104UL)))) { goto b1; } -b10: v3 = (u)zmark_ir_used; +b1: vd = *(u*)(vc + 104); + if (!vd) goto b7; + v2 = 0; +b8: if (!v2) goto b3; + return 0; +b3: *(u*)(vc + 104) = *(u*)(vd + 48); + if (!*(u*)(vd + 104)) goto b1; + v3 = (u)zmark_ir_used; v4 = vc; v5 = vd; - v6 = ((u (*)())(v3))(v4, v5); + v6 = ((u(*)())v3)(v4, v5); goto b1; -b7: v2 = 1UL; +b7: v2 = 1; goto b8; } -u zchoice(u vc) { +u zchoice(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: if ((*(u *)((vc) + (128UL))) != (*(u *)((vc) + (136UL)))) { goto b1; } -b2: v1 = (u)zdie; + if (*(u*)(vc + 128) != *(u*)(vc + 136)) goto b1; + v1 = (u)zdie; v2 = (u)"choice overflow"; - v3 = ((u (*)())(v1))(v2); -b1: *(u *)((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) = *(u *)((vc) + (48UL)); - *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (8UL)) = *(u *)((vc) + (144UL)); - *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (16UL)) = *(u *)((vc) + (152UL)); - *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (24UL)) = *(u *)((vc) + (72UL)); - *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (32UL)) = *(u *)((vc) + (56UL)); - *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (40UL)) = *(u *)((vc) + (64UL)); - *(u *)((vc) + (128UL)) = (*(u *)((vc) + (128UL))) + (1UL); - return 0UL; -} -u zclose(u vfd) { + v3 = ((u(*)())v1)(v2); +b1: *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48) = *(u*)(vc + 48); + *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 8) = *(u*)(vc + 144); + *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 16) = *(u*)(vc + 152); + *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 24) = *(u*)(vc + 72); + *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 32) = *(u*)(vc + 56); + *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 40) = *(u*)(vc + 64); + *(u*)(vc + 128) = *(u*)(vc + 128) + 1; + return 0; +} +u zclose(u vfd){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -2603,29 +2521,29 @@ u zclose(u vfd) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v1 = (u)zsyscall; - v2 = 3UL; + v1 = (u)zsyscall; + v2 = 3; v3 = vfd; - v4 = 0UL; - v5 = 0UL; - v6 = 0UL; - v7 = 0UL; - v8 = 0UL; - v9 = ((u (*)())(v1))(v2, v3, v4, v5, v6, v7, v8); -b1: return v9; -} -u zcommit(u vc) { + v4 = 0; + v5 = 0; + v6 = 0; + v7 = 0; + v8 = 0; + v9 = ((u(*)())v1)(v2, v3, v4, v5, v6, v7, v8); + return v9; +} +u zcommit(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: if ((*(u *)((vc) + (128UL))) != (0UL)) { goto b1; } -b2: v1 = (u)zdie; + if (*(u*)(vc + 128) != 0) goto b1; + v1 = (u)zdie; v2 = (u)"commit underflow"; - v3 = ((u (*)())(v1))(v2); -b1: *(u *)((vc) + (128UL)) = (*(u *)((vc) + (128UL))) - (1UL); - return 0UL; + v3 = ((u(*)())v1)(v2); +b1: *(u*)(vc + 128) = *(u*)(vc + 128) - 1; + return 0; } -u zcomp_setup(u va, u verr) { +u zcomp_setup(u va, u verr){ u vc = 0; u v3 = 0; u v4 = 0; @@ -2638,34 +2556,34 @@ u zcomp_setup(u va, u verr) { u v11 = 0; u v12 = 0; u v13 = 0; -b0: v3 = (u)zalloc; + v3 = (u)zalloc; v4 = va; - v5 = 112UL; - v6 = ((u (*)())(v3))(v4, v5); -b1: vc = v6; - *(u *)(vc) = va; - *(u *)((vc) + (8UL)) = verr; + v5 = 112; + v6 = ((u(*)())v3)(v4, v5); + vc = v6; + *(u*)vc = va; + *(u*)(vc + 8) = verr; v7 = (u)zsetup_parser; v8 = vc; v9 = verr; - v10 = ((u (*)())(v7))(v8, v9); -b2: *(u *)((vc) + (16UL)) = v10; - *(u *)((vc) + (24UL)) = 0UL; - *(u *)((vc) + (32UL)) = 0UL; - *(u *)((vc) + (40UL)) = 0UL; + v10 = ((u(*)())v7)(v8, v9); + *(u*)(vc + 16) = v10; + *(u*)(vc + 24) = 0; + *(u*)(vc + 32) = 0; + *(u*)(vc + 40) = 0; v11 = (u)zsetup_assembler; v12 = va; - v13 = ((u (*)())(v11))(v12); -b3: *(u *)((vc) + (48UL)) = v13; - *(u *)((vc) + (56UL)) = 0UL; - *(u *)((vc) + (64UL)) = 0UL; - *(u *)((vc) + (72UL)) = 0UL; - *(u *)((vc) + (88UL)) = 0UL; - *(u *)((vc) + (96UL)) = 0UL; - *(u *)((vc) + (104UL)) = 0UL; + v13 = ((u(*)())v11)(v12); + *(u*)(vc + 48) = v13; + *(u*)(vc + 56) = 0; + *(u*)(vc + 64) = 0; + *(u*)(vc + 72) = 0; + *(u*)(vc + 88) = 0; + *(u*)(vc + 96) = 0; + *(u*)(vc + 104) = 0; return vc; } -u zcompile(u vc, u vp) { +u zcompile(u vc, u vp){ u vn = 0; u vd = 0; u vv = 0; @@ -2823,338 +2741,311 @@ u zcompile(u vc, u vp) { u v156 = 0; u v157 = 0; u v158 = 0; -b0: vn = vp; - goto b1; -b1: if (!(vn)) { goto b7; } -b6: v6 = 0UL; - goto b8; -b8: if (!(v6)) { goto b3; } -b2: vn = vp; - goto b26; -b26: if (!(vn)) { goto b32; } -b31: v24 = 0UL; - goto b33; -b33: if (!(v24)) { goto b28; } -b27: v33 = (u)zfirst_decl; + vn = vp; +b1: if (!vn) goto b7; + v6 = 0; +b8: if (!v6) goto b3; + vn = vp; +b26: if (!vn) goto b32; + v24 = 0; +b33: if (!v24) goto b28; + v33 = (u)zfirst_decl; v34 = vc; - v35 = ((u (*)())(v33))(v34); -b41: vd = v35; - goto b42; -b42: if (!(vd)) { goto b48; } -b47: v36 = 0UL; - goto b49; -b49: if (!(v36)) { goto b44; } -b43: vn = vp; - goto b55; -b55: if (!(vn)) { goto b61; } -b60: v45 = 0UL; - goto b62; -b62: if (!(v45)) { goto b57; } -b56: v61 = (u)zfind; + v35 = ((u(*)())v33)(v34); + vd = v35; +b42: if (!vd) goto b48; + v36 = 0; +b49: if (!v36) goto b44; + vn = vp; +b55: if (!vn) goto b61; + v45 = 0; +b62: if (!v45) goto b57; + v61 = (u)zfind; v62 = vc; v63 = (u)"_start"; - v64 = 0UL; - v65 = 0UL; - v66 = ((u (*)())(v61))(v62, v63, v64, v65); -b72: vd = v66; - if (!(vd)) { goto b77; } -b76: if (!(*(u *)((vd) + (72UL)))) { goto b77; } -b78: v67 = 1UL; - goto b79; -b79: if (!(v67)) { goto b73; } -b74: *(u *)((vc) + (88UL)) = *(u *)((vd) + (88UL)); + v64 = 0; + v65 = 0; + v66 = ((u(*)())v61)(v62, v63, v64, v65); + vd = v66; + if (!vd) goto b77; + if (!*(u*)(vd + 72)) goto b77; + v67 = 1; +b79: if (!v67) goto b73; + *(u*)(vc + 88) = *(u*)(vd + 88); v68 = (u)zmark_func_used; v69 = vc; - v70 = 0UL; + v70 = 0; v71 = vd; - v72 = ((u (*)())(v68))(v69, v70, v71); + v72 = ((u(*)())v68)(v69, v70, v71); b73: v73 = (u)zfind; v74 = vc; v75 = (u)"_kstart"; - v76 = 0UL; - v77 = 0UL; - v78 = ((u (*)())(v73))(v74, v75, v76, v77); -b81: vd = v78; - if (!(vd)) { goto b86; } -b85: if (!(*(u *)((vd) + (72UL)))) { goto b86; } -b87: v79 = 1UL; - goto b88; -b88: if (!(v79)) { goto b82; } -b83: *(u *)((vc) + (96UL)) = *(u *)((vd) + (88UL)); + v76 = 0; + v77 = 0; + v78 = ((u(*)())v73)(v74, v75, v76, v77); + vd = v78; + if (!vd) goto b86; + if (!*(u*)(vd + 72)) goto b86; + v79 = 1; +b88: if (!v79) goto b82; + *(u*)(vc + 96) = *(u*)(vd + 88); v80 = (u)zmark_func_used; v81 = vc; - v82 = 0UL; + v82 = 0; v83 = vd; - v84 = ((u (*)())(v80))(v81, v82, v83); + v84 = ((u(*)())v80)(v81, v82, v83); b82: v85 = (u)zcheck_usage; v86 = vc; - v87 = ((u (*)())(v85))(v86); -b90: v88 = (u)zfind; + v87 = ((u(*)())v85)(v86); + v88 = (u)zfind; v89 = vc; v90 = (u)"_isr0"; - v91 = 0UL; - v92 = 0UL; - v93 = ((u (*)())(v88))(v89, v90, v91, v92); -b91: vd = v93; - if (!(vd)) { goto b96; } -b95: if (!(*(u *)((vd) + (96UL)))) { goto b96; } -b97: v94 = 1UL; - goto b98; -b98: if (!(v94)) { goto b92; } -b93: v95 = (u)zfind; + v91 = 0; + v92 = 0; + v93 = ((u(*)())v88)(v89, v90, v91, v92); + vd = v93; + if (!vd) goto b96; + if (!*(u*)(vd + 96)) goto b96; + v94 = 1; +b98: if (!v94) goto b92; + v95 = (u)zfind; v96 = vc; v97 = (u)"_isr"; - v98 = 0UL; - v99 = 0UL; - v100 = ((u (*)())(v95))(v96, v97, v98, v99); -b99: vv = v100; - if (!(vv)) { goto b104; } -b103: if (!(*(u *)((vv) + (72UL)))) { goto b104; } -b105: v101 = 1UL; - goto b106; -b106: if (!(v101)) { goto b92; } -b101: v102 = (u)zmark_func_used; + v98 = 0; + v99 = 0; + v100 = ((u(*)())v95)(v96, v97, v98, v99); + vv = v100; + if (!vv) goto b104; + if (!*(u*)(vv + 72)) goto b104; + v101 = 1; +b106: if (!v101) goto b92; + v102 = (u)zmark_func_used; v103 = vc; v104 = vd; v105 = vv; - v106 = ((u (*)())(v102))(v103, v104, v105); + v106 = ((u(*)())v102)(v103, v104, v105); b92: v107 = (u)zfind; v108 = vc; v109 = (u)"_ssr0"; - v110 = 0UL; - v111 = 0UL; - v112 = ((u (*)())(v107))(v108, v109, v110, v111); -b108: vd = v112; - if (!(vd)) { goto b113; } -b112: if (!(*(u *)((vd) + (96UL)))) { goto b113; } -b114: v113 = 1UL; - goto b115; -b115: if (!(v113)) { goto b109; } -b110: v114 = (u)zfind; + v110 = 0; + v111 = 0; + v112 = ((u(*)())v107)(v108, v109, v110, v111); + vd = v112; + if (!vd) goto b113; + if (!*(u*)(vd + 96)) goto b113; + v113 = 1; +b115: if (!v113) goto b109; + v114 = (u)zfind; v115 = vc; v116 = (u)"_ssr"; - v117 = 0UL; - v118 = 0UL; - v119 = ((u (*)())(v114))(v115, v116, v117, v118); -b116: vv = v119; - if (!(vv)) { goto b121; } -b120: if (!(*(u *)((vv) + (72UL)))) { goto b121; } -b122: v120 = 1UL; - goto b123; -b123: if (!(v120)) { goto b109; } -b118: v121 = (u)zmark_func_used; + v117 = 0; + v118 = 0; + v119 = ((u(*)())v114)(v115, v116, v117, v118); + vv = v119; + if (!vv) goto b121; + if (!*(u*)(vv + 72)) goto b121; + v120 = 1; +b123: if (!v120) goto b109; + v121 = (u)zmark_func_used; v122 = vc; v123 = vd; v124 = vv; - v125 = ((u (*)())(v121))(v122, v123, v124); + v125 = ((u(*)())v121)(v122, v123, v124); b109: v126 = (u)zcheck_usage; v127 = vc; - v128 = ((u (*)())(v126))(v127); -b125: v129 = (u)zfflush; - v130 = *(u *)((vc) + (80UL)); - v131 = ((u (*)())(v129))(v130); + v128 = ((u(*)())v126)(v127); + if (!*(u*)(vc + 80)) goto b126; + v129 = (u)zfflush; + v130 = *(u*)(vc + 80); + v131 = ((u(*)())v129)(v130); b126: v132 = (u)zfirst_decl; v133 = vc; - v134 = ((u (*)())(v132))(v133); -b127: vd = v134; - goto b128; -b128: if (!(vd)) { goto b134; } -b133: v135 = 0UL; - goto b135; -b135: if (!(v135)) { goto b130; } -b129: v145 = (u)zfirst_decl; + v134 = ((u(*)())v132)(v133); + vd = v134; +b131: if (!vd) goto b137; + v135 = 0; +b138: if (!v135) goto b133; + v145 = (u)zfirst_decl; v146 = vc; - v147 = ((u (*)())(v145))(v146); -b149: vd = v147; - goto b150; -b150: if (!(vd)) { goto b156; } -b155: v148 = 0UL; - goto b157; -b157: if (!(v148)) { goto b152; } -b151: return 0UL; -b152: if (!(*(u *)((vd) + (96UL)))) { goto b162; } -b161: if (!(*(u *)((vd) + (72UL)))) { goto b166; } -b165: if (!(*(u *)((vd) + (104UL)))) { goto b166; } -b167: v150 = 1UL; - goto b168; -b168: if (!(v150)) { goto b162; } -b163: v149 = 1UL; - goto b164; -b164: if (!(v149)) { goto b158; } -b159: v151 = (u)zoutput_ir; + v147 = ((u(*)())v145)(v146); + vd = v147; +b153: if (!vd) goto b159; + v148 = 0; +b160: if (!v148) goto b155; + return 0; +b155: if (!*(u*)(vd + 96)) goto b165; + if (!*(u*)(vd + 72)) goto b169; + if (!*(u*)(vd + 104)) goto b169; + v150 = 1; +b171: if (!v150) goto b165; + v149 = 1; +b167: if (!v149) goto b161; + v151 = (u)zoutput_ir; v152 = vc; v153 = vd; - v154 = ((u (*)())(v151))(v152, v153); -b158: v155 = (u)znext_decl; + v154 = ((u(*)())v151)(v152, v153); +b161: v155 = (u)znext_decl; v156 = vc; v157 = vd; - v158 = ((u (*)())(v155))(v156, v157); -b170: vd = v158; - goto b150; -b162: v149 = 0UL; - goto b164; -b166: v150 = 0UL; - goto b168; -b156: v148 = 1UL; - goto b157; -b130: if (!(*(u *)((vd) + (96UL)))) { goto b140; } -b139: if (!(*(u *)((vd) + (72UL)))) { goto b144; } -b143: if (!(*(u *)((vd) + (104UL)))) { goto b144; } -b145: v137 = 1UL; - goto b146; -b146: if (!(v137)) { goto b140; } -b141: v136 = 1UL; - goto b142; -b142: if (!(v136)) { goto b136; } -b137: v138 = (u)zir_optimize; - v139 = *(u *)((vd) + (104UL)); - v140 = ((u (*)())(v138))(v139); -b136: v141 = (u)znext_decl; + v158 = ((u(*)())v155)(v156, v157); + vd = v158; + goto b153; +b165: v149 = 0; + goto b167; +b169: v150 = 0; + goto b171; +b159: v148 = 1; + goto b160; +b133: if (!*(u*)(vd + 96)) goto b143; + if (!*(u*)(vd + 72)) goto b147; + if (!*(u*)(vd + 104)) goto b147; + v137 = 1; +b149: if (!v137) goto b143; + v136 = 1; +b145: if (!v136) goto b139; + v138 = (u)zir_optimize; + v139 = *(u*)(vd + 104); + v140 = ((u(*)())v138)(v139); +b139: v141 = (u)znext_decl; v142 = vc; v143 = vd; - v144 = ((u (*)())(v141))(v142, v143); -b148: vd = v144; - goto b128; -b140: v136 = 0UL; - goto b142; -b144: v137 = 0UL; - goto b146; -b134: v135 = 1UL; - goto b135; -b121: v120 = 0UL; + v144 = ((u(*)())v141)(v142, v143); + vd = v144; + goto b131; +b143: v136 = 0; + goto b145; +b147: v137 = 0; + goto b149; +b137: v135 = 1; + goto b138; +b121: v120 = 0; goto b123; -b113: v113 = 0UL; +b113: v113 = 0; goto b115; -b104: v101 = 0UL; +b104: v101 = 0; goto b106; -b96: v94 = 0UL; +b96: v94 = 0; goto b98; -b86: v79 = 0UL; +b86: v79 = 0; goto b88; -b77: v67 = 0UL; +b77: v67 = 0; goto b79; -b57: vkind = *(u *)(*(u *)((vn) + (8UL))); - if ((vkind) != (11UL)) { goto b63; } -b64: v46 = (u)zfind; +b57: vkind = *(u*)*(u*)(vn + 8); + if (vkind != 11) goto b63; + v46 = (u)zfind; v47 = vc; - v48 = *(u *)((*(u *)((*(u *)((*(u *)((vn) + (8UL))) + (8UL))) + (8UL))) + (56UL)); - v49 = 0UL; - v50 = 0UL; - v51 = ((u (*)())(v46))(v47, v48, v49, v50); -b66: vd = v51; - if (!(*(u *)((*(u *)((vn) + (8UL))) + (16UL)))) { goto b67; } -b68: v52 = (u)ztypecheck_stmt; + v48 = *(u*)(*(u*)(*(u*)(*(u*)(vn + 8) + 8) + 8) + 56); + v49 = 0; + v50 = 0; + v51 = ((u(*)())v46)(v47, v48, v49, v50); + vd = v51; + if (!*(u*)(*(u*)(vn + 8) + 16)) goto b67; + v52 = (u)ztypecheck_stmt; v53 = vc; v54 = vd; - v55 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v56 = ((u (*)())(v52))(v53, v54, v55); + v55 = *(u*)(*(u*)(vn + 8) + 16); + v56 = ((u(*)())v52)(v53, v54, v55); b67: v57 = (u)zfunc_to_ir; v58 = vc; - v59 = *(u *)((vn) + (8UL)); - v60 = ((u (*)())(v57))(v58, v59); -b71: *(u *)((vd) + (104UL)) = v60; - goto b63; -b63: vn = *(u *)((vn) + (16UL)); + v59 = *(u*)(vn + 8); + v60 = ((u(*)())v57)(v58, v59); + *(u*)(vd + 104) = v60; +b63: vn = *(u*)(vn + 16); goto b55; -b61: v45 = 1UL; +b61: v45 = 1; goto b62; -b44: if (!(*(u *)((vd) + (112UL)))) { goto b50; } -b51: v37 = (u)zlayout_struct; +b44: if (!*(u*)(vd + 112)) goto b50; + v37 = (u)zlayout_struct; v38 = vc; v39 = vd; - v40 = ((u (*)())(v37))(v38, v39); + v40 = ((u(*)())v37)(v38, v39); b50: v41 = (u)znext_decl; v42 = vc; v43 = vd; - v44 = ((u (*)())(v41))(v42, v43); -b54: vd = v44; + v44 = ((u(*)())v41)(v42, v43); + vd = v44; goto b42; -b48: v36 = 1UL; +b48: v36 = 1; goto b49; -b28: vkind = *(u *)(*(u *)((vn) + (8UL))); - if ((vkind) != (13UL)) { goto b36; } -b35: v25 = (u)zdefextern; +b28: vkind = *(u*)*(u*)(vn + 8); + if (vkind != 13) goto b36; + v25 = (u)zdefextern; v26 = vc; - v27 = *(u *)((vn) + (8UL)); - v28 = ((u (*)())(v25))(v26, v27); -b34: vn = *(u *)((vn) + (16UL)); + v27 = *(u*)(vn + 8); + v28 = ((u(*)())v25)(v26, v27); +b34: vn = *(u*)(vn + 16); goto b26; -b36: if ((vkind) != (11UL)) { goto b34; } -b38: v29 = (u)zdefun; +b36: if (vkind != 11) goto b34; + v29 = (u)zdefun; v30 = vc; - v31 = *(u *)((vn) + (8UL)); - v32 = ((u (*)())(v29))(v30, v31); + v31 = *(u*)(vn + 8); + v32 = ((u(*)())v29)(v30, v31); goto b34; -b32: v24 = 1UL; +b32: v24 = 1; goto b33; -b3: vkind = *(u *)(*(u *)((vn) + (8UL))); - if ((vkind) != (17UL)) { goto b11; } -b10: v7 = (u)zdefstruct; +b3: vkind = *(u*)*(u*)(vn + 8); + if (vkind != 17) goto b11; + v7 = (u)zdefstruct; v8 = vc; - v9 = *(u *)((vn) + (8UL)); - v10 = ((u (*)())(v7))(v8, v9); -b9: vn = *(u *)((vn) + (16UL)); + v9 = *(u*)(vn + 8); + v10 = ((u(*)())v7)(v8, v9); +b9: vn = *(u*)(vn + 16); goto b1; -b11: if ((vkind) != (18UL)) { goto b14; } -b13: v11 = (u)zdefunion; +b11: if (vkind != 18) goto b14; + v11 = (u)zdefunion; v12 = vc; - v13 = *(u *)((vn) + (8UL)); - v14 = ((u (*)())(v11))(v12, v13); + v13 = *(u*)(vn + 8); + v14 = ((u(*)())v11)(v12, v13); goto b9; -b14: if ((vkind) != (23UL)) { goto b17; } -b16: v15 = (u)zdefenum; +b14: if (vkind != 23) goto b17; + v15 = (u)zdefenum; v16 = vc; - v17 = *(u *)((vn) + (8UL)); - v18 = ((u (*)())(v15))(v16, v17); + v17 = *(u*)(vn + 8); + v18 = ((u(*)())v15)(v16, v17); goto b9; -b17: if ((vkind) == (11UL)) { goto b22; } -b21: if ((vkind) == (13UL)) { goto b22; } -b23: v19 = 1UL; - goto b24; -b24: if (!(v19)) { goto b9; } -b19: v20 = (u)zcdie; +b17: if (vkind == 11) goto b22; + if (vkind == 13) goto b22; + v19 = 1; +b24: if (!v19) goto b9; + v20 = (u)zcdie; v21 = vc; v22 = (u)"invalid decl"; - v23 = ((u (*)())(v20))(v21, v22); + v23 = ((u(*)())v20)(v21, v22); goto b9; -b22: v19 = 0UL; +b22: v19 = 0; goto b24; -b7: v6 = 1UL; +b7: v6 = 1; goto b8; } -u zconcat_program(u va, u vb) { +u zconcat_program(u va, u vb){ u vret = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: if (!(va)) { goto b5; } -b4: v3 = 0UL; - goto b6; -b6: if (!(v3)) { goto b1; } -b2: return vb; -b1: if (!(vb)) { goto b11; } -b10: v4 = 0UL; - goto b12; -b12: if (!(v4)) { goto b7; } -b8: return va; + if (!va) goto b5; + v3 = 0; +b6: if (!v3) goto b1; + return vb; +b1: if (!vb) goto b11; + v4 = 0; +b12: if (!v4) goto b7; + return va; b7: vret = va; - goto b13; -b13: if (!(*(u *)((va) + (16UL)))) { goto b19; } -b18: v5 = 0UL; - goto b20; -b20: if (!(v5)) { goto b15; } -b14: *(u *)((va) + (16UL)) = vb; +b13: if (!*(u*)(va + 16)) goto b19; + v5 = 0; +b20: if (!v5) goto b15; + *(u*)(va + 16) = vb; return vret; -b15: va = *(u *)((va) + (16UL)); +b15: va = *(u*)(va + 16); goto b13; -b19: v5 = 1UL; +b19: v5 = 1; goto b20; -b11: v4 = 1UL; +b11: v4 = 1; goto b12; -b5: v3 = 1UL; +b5: v3 = 1; goto b6; } -u zconstruct(u vc, u vsp) { +u zconstruct(u vc, u vsp){ u vi = 0; u vj = 0; u vnargs = 0; @@ -3170,59 +3061,56 @@ u zconstruct(u vc, u vsp) { u v14 = 0; u v15 = 0; u v16 = 0; -b0: *(u *)(*(u *)((vc) + (176UL))) = 0UL; - vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vc) + (152UL)))) { goto b3; } -b4: return *(u *)(*(u *)((vc) + (176UL))); -b3: if ((*(u *)((*(u *)((vc) + (160UL))) + ((vi) * (48UL)))) == (vsp)) { goto b8; } -b7: v7 = (u)zalloc; - v8 = *(u *)(vc); - v9 = 64UL; - v10 = ((u (*)())(v7))(v8, v9); -b9: vn = v10; - *(u *)(vn) = *(u *)((*(u *)((vc) + (160UL))) + ((vi) * (48UL))); - *(u *)((vn) + (8UL)) = 0UL; - *(u *)((vn) + (16UL)) = 0UL; - *(u *)((vn) + (24UL)) = (*(u *)((vc) + (32UL))) + (*(u *)(((*(u *)((vc) + (160UL))) + ((vi) * (48UL))) + (16UL))); - *(u *)((vn) + (32UL)) = (*(u *)(((*(u *)((vc) + (160UL))) + ((vi) * (48UL))) + (24UL))) - (*(u *)(((*(u *)((vc) + (160UL))) + ((vi) * (48UL))) + (16UL))); - *(u *)((vn) + (40UL)) = *(u *)((vc) + (24UL)); - *(u *)((vn) + (48UL)) = *(u *)(((*(u *)((vc) + (160UL))) + ((vi) * (48UL))) + (32UL)); - *(u *)((vn) + (56UL)) = *(u *)(((*(u *)((vc) + (160UL))) + ((vi) * (48UL))) + (40UL)); - vnargs = *(u *)(((*(u *)((vc) + (160UL))) + ((vi) * (48UL))) + (8UL)); - if ((s)(vnargs) <= (s)(*(u *)((vc) + (184UL)))) { goto b10; } -b11: v11 = (u)zdie; + *(u*)*(u*)(vc + 176) = 0; + vi = 0; +b1: if (vi != *(u*)(vc + 152)) goto b3; + return *(u*)*(u*)(vc + 176); +b3: if (*(u*)(*(u*)(vc + 160) + vi * 48) == vsp) goto b8; + v7 = (u)zalloc; + v8 = *(u*)vc; + v9 = 64; + v10 = ((u(*)())v7)(v8, v9); + vn = v10; + *(u*)vn = *(u*)(*(u*)(vc + 160) + vi * 48); + *(u*)(vn + 8) = 0; + *(u*)(vn + 16) = 0; + *(u*)(vn + 24) = *(u*)(vc + 32) + *(u*)(*(u*)(vc + 160) + vi * 48 + 16); + *(u*)(vn + 32) = *(u*)(*(u*)(vc + 160) + vi * 48 + 24) - *(u*)(*(u*)(vc + 160) + vi * 48 + 16); + *(u*)(vn + 40) = *(u*)(vc + 24); + *(u*)(vn + 48) = *(u*)(*(u*)(vc + 160) + vi * 48 + 32); + *(u*)(vn + 56) = *(u*)(*(u*)(vc + 160) + vi * 48 + 40); + vnargs = *(u*)(*(u*)(vc + 160) + vi * 48 + 8); + if ((s)vnargs <= (s)*(u*)(vc + 184)) goto b10; + v11 = (u)zdie; v12 = (u)"node underflow"; - v13 = ((u (*)())(v11))(v12); -b10: vlink = (vn) + (16UL); - vj = (*(u *)((vc) + (184UL))) - (vnargs); - goto b14; -b14: if ((vj) != (*(u *)((vc) + (184UL)))) { goto b16; } -b15: *(u *)((vc) + (184UL)) = (*(u *)((vc) + (184UL))) - (vnargs); - if ((*(u *)((vc) + (184UL))) != (*(u *)((vc) + (192UL)))) { goto b6; } -b23: v14 = (u)zdie; + v13 = ((u(*)())v11)(v12); +b10: vlink = vn + 16; + vj = *(u*)(vc + 184) - vnargs; +b14: if (vj != *(u*)(vc + 184)) goto b16; + *(u*)(vc + 184) = *(u*)(vc + 184) - vnargs; + if (*(u*)(vc + 184) != *(u*)(vc + 192)) goto b6; + v14 = (u)zdie; v15 = (u)"node overflow"; - v16 = ((u (*)())(v14))(v15); -b6: *(u *)((*(u *)((vc) + (176UL))) + ((*(u *)((vc) + (184UL))) * (8UL))) = vn; - *(u *)((vc) + (184UL)) = (*(u *)((vc) + (184UL))) + (1UL); - vi = (vi) + (1UL); + v16 = ((u(*)())v14)(v15); +b6: *(u*)(*(u*)(vc + 176) + *(u*)(vc + 184) * 8) = vn; + *(u*)(vc + 184) = *(u*)(vc + 184) + 1; + vi = vi + 1; goto b1; -b16: if (!(*(u *)((*(u *)((vc) + (176UL))) + ((vj) * (8UL))))) { goto b19; } -b20: *(u *)(vlink) = *(u *)((*(u *)((vc) + (176UL))) + ((vj) * (8UL))); - vlink = (*(u *)((*(u *)((vc) + (176UL))) + ((vj) * (8UL)))) + (8UL); - goto b19; -b19: vj = (vj) + (1UL); +b16: if (!*(u*)(*(u*)(vc + 176) + vj * 8)) goto b19; + *(u*)vlink = *(u*)(*(u*)(vc + 176) + vj * 8); + vlink = *(u*)(*(u*)(vc + 176) + vj * 8) + 8; +b19: vj = vj + 1; goto b14; -b8: vn = 0UL; +b8: vn = 0; goto b6; } -u zcopypos(u vn, u vpn) { -b0: *(u *)((vn) + (24UL)) = *(u *)((vpn) + (40UL)); - *(u *)((vn) + (32UL)) = *(u *)((vpn) + (48UL)); - *(u *)((vn) + (40UL)) = *(u *)((vpn) + (56UL)); - return 0UL; +u zcopypos(u vn, u vpn){ + *(u*)(vn + 24) = *(u*)(vpn + 40); + *(u*)(vn + 32) = *(u*)(vpn + 48); + *(u*)(vn + 40) = *(u*)(vpn + 56); + return 0; } -u zcshow_context(u vc) { +u zcshow_context(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -3251,131 +3139,124 @@ u zcshow_context(u vc) { u v26 = 0; u v27 = 0; u v28 = 0; -b0: v1 = (u)zfputs; - v2 = *(u *)((vc) + (8UL)); + v1 = (u)zfputs; + v2 = *(u*)(vc + 8); v3 = (u)"on "; - v4 = ((u (*)())(v1))(v2, v3); -b1: if (!(*(u *)((vc) + (24UL)))) { goto b2; } -b3: v5 = (u)zfputs; - v6 = *(u *)((vc) + (8UL)); - v7 = *(u *)((vc) + (24UL)); - v8 = ((u (*)())(v5))(v6, v7); + v4 = ((u(*)())v1)(v2, v3); + if (!*(u*)(vc + 24)) goto b2; + v5 = (u)zfputs; + v6 = *(u*)(vc + 8); + v7 = *(u*)(vc + 24); + v8 = ((u(*)())v5)(v6, v7); b2: v9 = (u)zfputs; - v10 = *(u *)((vc) + (8UL)); + v10 = *(u*)(vc + 8); v11 = (u)":"; - v12 = ((u (*)())(v9))(v10, v11); -b6: v13 = (u)zfputd; - v14 = *(u *)((vc) + (8UL)); - v15 = *(u *)((vc) + (32UL)); - v16 = ((u (*)())(v13))(v14, v15); -b7: v17 = (u)zfputs; - v18 = *(u *)((vc) + (8UL)); + v12 = ((u(*)())v9)(v10, v11); + v13 = (u)zfputd; + v14 = *(u*)(vc + 8); + v15 = *(u*)(vc + 32); + v16 = ((u(*)())v13)(v14, v15); + v17 = (u)zfputs; + v18 = *(u*)(vc + 8); v19 = (u)":"; - v20 = ((u (*)())(v17))(v18, v19); -b8: v21 = (u)zfputd; - v22 = *(u *)((vc) + (8UL)); - v23 = *(u *)((vc) + (40UL)); - v24 = ((u (*)())(v21))(v22, v23); -b9: v25 = (u)zfputs; - v26 = *(u *)((vc) + (8UL)); + v20 = ((u(*)())v17)(v18, v19); + v21 = (u)zfputd; + v22 = *(u*)(vc + 8); + v23 = *(u*)(vc + 40); + v24 = ((u(*)())v21)(v22, v23); + v25 = (u)zfputs; + v26 = *(u*)(vc + 8); v27 = (u)"\012"; - v28 = ((u (*)())(v25))(v26, v27); -b10: return 0UL; + v28 = ((u(*)())v25)(v26, v27); + return 0; } -u zdec2int(u vs, u vlen, u vok) { +u zdec2int(u vs, u vlen, u vok){ u vx = 0; u vd = 0; u vi = 0; u v6 = 0; -b0: vx = 0UL; - vi = 0UL; - goto b1; -b1: if ((vi) != (vlen)) { goto b3; } -b2: *(u *)(vok) = 1UL; + vx = 0; + vi = 0; +b1: if (vi != vlen) goto b3; + *(u*)vok = 1; return vx; -b3: vd = (u)*(b *)((vs) + (vi)); - if ((vd) != (95UL)) { goto b8; } -b7: vi = (vi) + (1UL); +b3: vd = (u)*(b*)(vs + vi); + if (vd != 95) goto b8; + vi = vi + 1; goto b1; -b8: if ((s)(vd) < (s)(48UL)) { goto b12; } -b11: if ((s)(vd) > (s)(57UL)) { goto b12; } -b13: v6 = 1UL; - goto b14; -b14: if (!(v6)) { goto b10; } -b9: vd = (vd) - (48UL); - goto b6; -b6: if ((s)(vx) <= (s)(461168601842738790UL)) { goto b15; } -b16: *(u *)(vok) = 0UL; - return 0UL; -b15: vx = (vx) * (10UL); - if ((s)(vx) <= (s)((9223372036854775807UL) - (vd))) { goto b18; } -b19: *(u *)(vok) = 0UL; - return 0UL; -b18: vx = (vx) + (vd); - vi = (vi) + (1UL); +b8: if ((s)vd < (s)48) goto b12; + if ((s)vd > (s)57) goto b12; + v6 = 1; +b14: if (!v6) goto b10; + vd = vd - 48; + if ((s)vx <= (s)461168601842738790UL) goto b15; + *(u*)vok = 0; + return 0; +b15: vx = vx * 10; + if ((s)vx <= (s)(9223372036854775807UL - vd)) goto b18; + *(u*)vok = 0; + return 0; +b18: vx = vx + vd; + vi = vi + 1; goto b1; -b10: *(u *)(vok) = 0UL; - return 0UL; -b12: v6 = 0UL; +b10: *(u*)vok = 0; + return 0; +b12: v6 = 0; goto b14; } -u zdecode_count(u vn) { +u zdecode_count(u vn){ u vret = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: vret = 1UL; - vn = *(u *)((vn) + (16UL)); - goto b1; -b1: if (!(vn)) { goto b7; } -b6: v2 = 0UL; - goto b8; -b8: if (!(v2)) { goto b3; } -b4: return vret; -b3: if ((*(u *)(vn)) != (97UL)) { goto b9; } -b10: if (((u)*(b *)(*(u *)((vn) + (24UL)))) != (63UL)) { goto b14; } -b13: if ((vret) != (1UL)) { goto b17; } -b16: vret = 0UL; - goto b9; -b9: vn = *(u *)((vn) + (8UL)); + vret = 1; + vn = *(u*)(vn + 16); +b1: if (!vn) goto b7; + v2 = 0; +b8: if (!v2) goto b3; + return vret; +b3: if (*(u*)vn != 97) goto b9; + if ((u)*(b*)*(u*)(vn + 24) != 63) goto b14; + if (vret != 1) goto b17; + vret = 0; +b9: vn = *(u*)(vn + 8); goto b1; -b17: if ((vret) != (3UL)) { goto b9; } -b18: vret = 2UL; +b17: if (vret != 3) goto b9; + vret = 2; goto b9; -b14: if (((u)*(b *)(*(u *)((vn) + (24UL)))) != (42UL)) { goto b21; } -b20: vret = 2UL; +b14: if ((u)*(b*)*(u*)(vn + 24) != 42) goto b21; + vret = 2; goto b9; -b21: if (((u)*(b *)(*(u *)((vn) + (24UL)))) != (43UL)) { goto b23; } -b22: if ((vret) != (0UL)) { goto b26; } -b25: vret = 2UL; +b21: if ((u)*(b*)*(u*)(vn + 24) != 43) goto b23; + if (vret != 0) goto b26; + vret = 2; goto b9; -b26: if ((vret) != (1UL)) { goto b28; } -b27: vret = 3UL; +b26: if (vret != 1) goto b28; + vret = 3; goto b9; -b28: if ((vret) != (2UL)) { goto b9; } -b29: vret = 2UL; +b28: if (vret != 2) goto b9; + vret = 2; goto b9; b23: v3 = (u)zdie; v4 = (u)"invalid countop"; - v5 = ((u (*)())(v3))(v4); + v5 = ((u(*)())v3)(v4); goto b9; -b7: v2 = 1UL; +b7: v2 = 1; goto b8; } -u zdecode_look(u vn) { +u zdecode_look(u vn){ u vret = 0; -b0: vret = 0UL; - if ((*(u *)(*(u *)((vn) + (16UL)))) != (95UL)) { goto b1; } -b2: if (((u)*(b *)(*(u *)((*(u *)((vn) + (16UL))) + (24UL)))) != (33UL)) { goto b6; } -b5: vret = 1UL; - goto b1; + vret = 0; + if (*(u*)*(u*)(vn + 16) != 95) goto b1; + if ((u)*(b*)*(u*)(*(u*)(vn + 16) + 24) != 33) goto b6; + vret = 1; b1: return vret; -b6: if (((u)*(b *)(*(u *)((*(u *)((vn) + (16UL))) + (24UL)))) != (38UL)) { goto b1; } -b7: vret = 2UL; +b6: if ((u)*(b*)*(u*)(*(u*)(vn + 16) + 24) != 38) goto b1; + vret = 2; goto b1; } -u zdefenum(u vc, u vn) { +u zdefenum(u vc, u vn){ u vi = 0; u vname = 0; u v4 = 0; @@ -3384,33 +3265,30 @@ u zdefenum(u vc, u vn) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: vn = *(u *)((vn) + (16UL)); - vi = 0UL; - goto b1; -b1: if (!(vn)) { goto b7; } -b6: v4 = 0UL; - goto b8; -b8: if (!(v4)) { goto b3; } -b2: return 0UL; -b3: *(u *)((vc) + (24UL)) = *(u *)((*(u *)((vn) + (8UL))) + (24UL)); - *(u *)((vc) + (32UL)) = *(u *)((*(u *)((vn) + (8UL))) + (32UL)); - *(u *)((vc) + (40UL)) = *(u *)((*(u *)((vn) + (8UL))) + (40UL)); - vname = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (8UL))) + (56UL)); - if (!(*(u *)((*(u *)((vn) + (8UL))) + (16UL)))) { goto b9; } -b10: vi = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (16UL))) + (48UL)); - goto b9; + vn = *(u*)(vn + 16); + vi = 0; +b1: if (!vn) goto b7; + v4 = 0; +b8: if (!v4) goto b3; + return 0; +b3: *(u*)(vc + 24) = *(u*)(*(u*)(vn + 8) + 24); + *(u*)(vc + 32) = *(u*)(*(u*)(vn + 8) + 32); + *(u*)(vc + 40) = *(u*)(*(u*)(vn + 8) + 40); + vname = *(u*)(*(u*)(*(u*)(vn + 8) + 8) + 56); + if (!*(u*)(*(u*)(vn + 8) + 16)) goto b9; + vi = *(u*)(*(u*)(*(u*)(vn + 8) + 16) + 48); b9: v5 = (u)zdefine_enum_tag; v6 = vc; v7 = vname; v8 = vi; - v9 = ((u (*)())(v5))(v6, v7, v8); -b12: vi = (vi) + (1UL); - vn = *(u *)((vn) + (16UL)); + v9 = ((u(*)())v5)(v6, v7, v8); + vi = vi + 1; + vn = *(u*)(vn + 16); goto b1; -b7: v4 = 1UL; +b7: v4 = 1; goto b8; } -u zdefextern(u vc, u vn) { +u zdefextern(u vc, u vn){ u vd = 0; u vname = 0; u vt = 0; @@ -3428,32 +3306,32 @@ u zdefextern(u vc, u vn) { u v16 = 0; u v17 = 0; u v18 = 0; -b0: *(u *)((vc) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((vc) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((vc) + (40UL)) = *(u *)((vn) + (40UL)); - vname = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); + *(u*)(vc + 24) = *(u*)(vn + 24); + *(u*)(vc + 32) = *(u*)(vn + 32); + *(u*)(vc + 40) = *(u*)(vn + 40); + vname = *(u*)(*(u*)(vn + 8) + 56); v5 = (u)zprototype; v6 = vc; - v7 = *(u *)((vn) + (16UL)); - v8 = ((u (*)())(v5))(v6, v7); -b1: vt = v8; + v7 = *(u*)(vn + 16); + v8 = ((u(*)())v5)(v6, v7); + vt = v8; v9 = (u)zfind; v10 = vc; v11 = vname; - v12 = 0UL; - v13 = 1UL; - v14 = ((u (*)())(v9))(v10, v11, v12, v13); -b2: vd = v14; - if (!(*(u *)((vd) + (72UL)))) { goto b3; } -b4: v15 = (u)zcdie; + v12 = 0; + v13 = 1; + v14 = ((u(*)())v9)(v10, v11, v12, v13); + vd = v14; + if (!*(u*)(vd + 72)) goto b3; + v15 = (u)zcdie; v16 = vc; v17 = (u)"duplicate function"; - v18 = ((u (*)())(v15))(v16, v17); -b3: *(u *)((vd) + (72UL)) = 1UL; - *(u *)((vd) + (80UL)) = vt; + v18 = ((u(*)())v15)(v16, v17); +b3: *(u*)(vd + 72) = 1; + *(u*)(vd + 80) = vt; return vd; } -u zdefine_enum_tag(u vc, u vname, u vvalue) { +u zdefine_enum_tag(u vc, u vname, u vvalue){ u vd = 0; u v4 = 0; u v5 = 0; @@ -3465,23 +3343,23 @@ u zdefine_enum_tag(u vc, u vname, u vvalue) { u v11 = 0; u v12 = 0; u v13 = 0; -b0: v4 = (u)zfind; + v4 = (u)zfind; v5 = vc; v6 = vname; - v7 = 0UL; - v8 = 1UL; - v9 = ((u (*)())(v4))(v5, v6, v7, v8); -b1: vd = v9; - if (!(*(u *)((vd) + (176UL)))) { goto b2; } -b3: v10 = (u)zcdie; + v7 = 0; + v8 = 1; + v9 = ((u(*)())v4)(v5, v6, v7, v8); + vd = v9; + if (!*(u*)(vd + 176)) goto b2; + v10 = (u)zcdie; v11 = vc; v12 = (u)"duplicate enum"; - v13 = ((u (*)())(v10))(v11, v12); -b2: *(u *)((vd) + (176UL)) = 1UL; - *(u *)((vd) + (184UL)) = vvalue; - return 0UL; + v13 = ((u(*)())v10)(v11, v12); +b2: *(u*)(vd + 176) = 1; + *(u*)(vd + 184) = vvalue; + return 0; } -u zdefine_ir_func(u vc, u vic, u vt) { +u zdefine_ir_func(u vc, u vic, u vt){ u vd = 0; u v4 = 0; u v5 = 0; @@ -3493,24 +3371,24 @@ u zdefine_ir_func(u vc, u vic, u vt) { u v11 = 0; u v12 = 0; u v13 = 0; -b0: v4 = (u)zfind; + v4 = (u)zfind; v5 = vc; - v6 = *(u *)((vic) + (24UL)); - v7 = 0UL; - v8 = 1UL; - v9 = ((u (*)())(v4))(v5, v6, v7, v8); -b1: vd = v9; - if (!(*(u *)((vd) + (72UL)))) { goto b2; } -b3: v10 = (u)zcdie; + v6 = *(u*)(vic + 24); + v7 = 0; + v8 = 1; + v9 = ((u(*)())v4)(v5, v6, v7, v8); + vd = v9; + if (!*(u*)(vd + 72)) goto b2; + v10 = (u)zcdie; v11 = vc; v12 = (u)"duplicate func"; - v13 = ((u (*)())(v10))(v11, v12); -b2: *(u *)((vd) + (72UL)) = 1UL; - *(u *)((vd) + (80UL)) = vt; - *(u *)((vd) + (104UL)) = vic; - return 0UL; + v13 = ((u(*)())v10)(v11, v12); +b2: *(u*)(vd + 72) = 1; + *(u*)(vd + 80) = vt; + *(u*)(vd + 104) = vic; + return 0; } -u zdefstruct(u vc, u vn) { +u zdefstruct(u vc, u vn){ u vname = 0; u vd = 0; u v4 = 0; @@ -3548,80 +3426,75 @@ u zdefstruct(u vc, u vn) { u v36 = 0; u v37 = 0; u v38 = 0; -b0: vname = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - *(u *)((vc) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((vc) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((vc) + (40UL)) = *(u *)((vn) + (40UL)); + vname = *(u*)(*(u*)(vn + 8) + 56); + *(u*)(vc + 24) = *(u*)(vn + 24); + *(u*)(vc + 32) = *(u*)(vn + 32); + *(u*)(vc + 40) = *(u*)(vn + 40); v6 = (u)zstrcmp; v7 = vname; v8 = (u)"int"; - v9 = ((u (*)())(v6))(v7, v8); -b11: if (!(v9)) { goto b9; } -b8: v5 = 0UL; - goto b10; -b10: if (!(v5)) { goto b5; } -b4: v4 = 1UL; - goto b7; -b7: if (!(v4)) { goto b1; } -b2: v21 = (u)zcdie; + v9 = ((u(*)())v6)(v7, v8); + if (!v9) goto b9; + v5 = 0; +b10: if (!v5) goto b5; + v4 = 1; +b7: if (!v4) goto b1; + v21 = (u)zcdie; v22 = vc; v23 = (u)"reserved word"; - v24 = ((u (*)())(v21))(v22, v23); + v24 = ((u(*)())v21)(v22, v23); b1: v25 = (u)zfind; v26 = vc; v27 = vname; - v28 = 0UL; - v29 = 1UL; - v30 = ((u (*)())(v25))(v26, v27, v28, v29); -b27: vd = v30; - if (!(*(u *)((vd) + (112UL)))) { goto b28; } -b29: v31 = (u)zcdie; + v28 = 0; + v29 = 1; + v30 = ((u(*)())v25)(v26, v27, v28, v29); + vd = v30; + if (!*(u*)(vd + 112)) goto b28; + v31 = (u)zcdie; v32 = vc; v33 = (u)"duplicate struct"; - v34 = ((u (*)())(v31))(v32, v33); -b28: *(u *)((vd) + (112UL)) = 1UL; - *(u *)((vd) + (136UL)) = vn; + v34 = ((u(*)())v31)(v32, v33); +b28: *(u*)(vd + 112) = 1; + *(u*)(vd + 136) = vn; v35 = (u)zprototype; v36 = vc; - v37 = *(u *)((vn) + (8UL)); - v38 = ((u (*)())(v35))(v36, v37); -b32: *(u *)((vd) + (144UL)) = v38; - return 0UL; + v37 = *(u*)(vn + 8); + v38 = ((u(*)())v35)(v36, v37); + *(u*)(vd + 144) = v38; + return 0; b5: v12 = (u)zstrcmp; v13 = vname; v14 = (u)"byte"; - v15 = ((u (*)())(v12))(v13, v14); -b20: if (!(v15)) { goto b18; } -b17: v11 = 0UL; - goto b19; -b19: if (!(v11)) { goto b14; } -b13: v10 = 1UL; - goto b16; -b16: if (!(v10)) { goto b12; } -b6: v4 = 1UL; + v15 = ((u(*)())v12)(v13, v14); + if (!v15) goto b18; + v11 = 0; +b19: if (!v11) goto b14; + v10 = 1; +b16: if (!v10) goto b12; + v4 = 1; goto b7; -b12: v4 = 0UL; +b12: v4 = 0; goto b7; b14: v17 = (u)zstrcmp; v18 = vname; v19 = (u)"func"; - v20 = ((u (*)())(v17))(v18, v19); -b25: if (!(v20)) { goto b23; } -b22: v16 = 0UL; - goto b24; -b24: if (!(v16)) { goto b21; } -b15: v10 = 1UL; + v20 = ((u(*)())v17)(v18, v19); + if (!v20) goto b23; + v16 = 0; +b24: if (!v16) goto b21; + v10 = 1; goto b16; -b21: v10 = 0UL; +b21: v10 = 0; goto b16; -b23: v16 = 1UL; +b23: v16 = 1; goto b24; -b18: v11 = 1UL; +b18: v11 = 1; goto b19; -b9: v5 = 1UL; +b9: v5 = 1; goto b10; } -u zdefun(u vc, u vfuncdef) { +u zdefun(u vc, u vfuncdef){ u vd = 0; u vname = 0; u vv = 0; @@ -3651,54 +3524,52 @@ u zdefun(u vc, u vfuncdef) { u v28 = 0; u v29 = 0; u v30 = 0; -b0: v7 = (u)zdefextern; + v7 = (u)zdefextern; v8 = vc; - v9 = *(u *)((vfuncdef) + (8UL)); - v10 = ((u (*)())(v7))(v8, v9); -b1: vd = v10; - vn = *(u *)((*(u *)((*(u *)((vfuncdef) + (8UL))) + (16UL))) + (8UL)); - goto b2; -b2: if (!(vn)) { goto b8; } -b7: v11 = 0UL; - goto b9; -b9: if (!(v11)) { goto b4; } -b3: v26 = (u)zhoist_locals; + v9 = *(u*)(vfuncdef + 8); + v10 = ((u(*)())v7)(v8, v9); + vd = v10; + vn = *(u*)(*(u*)(*(u*)(vfuncdef + 8) + 16) + 8); +b2: if (!vn) goto b8; + v11 = 0; +b9: if (!v11) goto b4; + v26 = (u)zhoist_locals; v27 = vc; v28 = vd; - v29 = *(u *)((vfuncdef) + (16UL)); - v30 = ((u (*)())(v26))(v27, v28, v29); -b16: return 0UL; -b4: *(u *)((vc) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((vc) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((vc) + (40UL)) = *(u *)((vn) + (40UL)); - *(u *)((*(u *)((vc) + (48UL))) + (88UL)) = *(u *)((vn) + (24UL)); - *(u *)((*(u *)((vc) + (48UL))) + (96UL)) = *(u *)((vn) + (32UL)); - vname = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (8UL))) + (56UL)); + v29 = *(u*)(vfuncdef + 16); + v30 = ((u(*)())v26)(v27, v28, v29); + return 0; +b4: *(u*)(vc + 24) = *(u*)(vn + 24); + *(u*)(vc + 32) = *(u*)(vn + 32); + *(u*)(vc + 40) = *(u*)(vn + 40); + *(u*)(*(u*)(vc + 48) + 88) = *(u*)(vn + 24); + *(u*)(*(u*)(vc + 48) + 96) = *(u*)(vn + 32); + vname = *(u*)(*(u*)(*(u*)(vn + 8) + 8) + 56); v12 = (u)zprototype; v13 = vc; - v14 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v15 = ((u (*)())(v12))(v13, v14); -b10: vt = v15; + v14 = *(u*)(*(u*)(vn + 8) + 16); + v15 = ((u(*)())v12)(v13, v14); + vt = v15; v16 = (u)zfind; v17 = vc; - v18 = *(u *)((vd) + (32UL)); + v18 = *(u*)(vd + 32); v19 = vname; - v20 = 1UL; - v21 = ((u (*)())(v16))(v17, v18, v19, v20); -b11: vv = v21; - if (!(*(u *)((vv) + (192UL)))) { goto b12; } -b13: v22 = (u)zcdie; + v20 = 1; + v21 = ((u(*)())v16)(v17, v18, v19, v20); + vv = v21; + if (!*(u*)(vv + 192)) goto b12; + v22 = (u)zcdie; v23 = vc; v24 = (u)"duplicate argument"; - v25 = ((u (*)())(v22))(v23, v24); -b12: *(u *)((vv) + (192UL)) = 1UL; - *(u *)((vv) + (200UL)) = vt; - vn = *(u *)((vn) + (16UL)); + v25 = ((u(*)())v22)(v23, v24); +b12: *(u*)(vv + 192) = 1; + *(u*)(vv + 200) = vt; + vn = *(u*)(vn + 16); goto b2; -b8: v11 = 1UL; +b8: v11 = 1; goto b9; } -u zdefunion(u vc, u vn) { +u zdefunion(u vc, u vn){ u vname = 0; u vd = 0; u v4 = 0; @@ -3736,80 +3607,75 @@ u zdefunion(u vc, u vn) { u v36 = 0; u v37 = 0; u v38 = 0; -b0: vname = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - *(u *)((vc) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((vc) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((vc) + (40UL)) = *(u *)((vn) + (40UL)); + vname = *(u*)(*(u*)(vn + 8) + 56); + *(u*)(vc + 24) = *(u*)(vn + 24); + *(u*)(vc + 32) = *(u*)(vn + 32); + *(u*)(vc + 40) = *(u*)(vn + 40); v6 = (u)zstrcmp; v7 = vname; v8 = (u)"int"; - v9 = ((u (*)())(v6))(v7, v8); -b11: if (!(v9)) { goto b9; } -b8: v5 = 0UL; - goto b10; -b10: if (!(v5)) { goto b5; } -b4: v4 = 1UL; - goto b7; -b7: if (!(v4)) { goto b1; } -b2: v21 = (u)zcdie; + v9 = ((u(*)())v6)(v7, v8); + if (!v9) goto b9; + v5 = 0; +b10: if (!v5) goto b5; + v4 = 1; +b7: if (!v4) goto b1; + v21 = (u)zcdie; v22 = vc; v23 = (u)"reserved word"; - v24 = ((u (*)())(v21))(v22, v23); + v24 = ((u(*)())v21)(v22, v23); b1: v25 = (u)zfind; v26 = vc; v27 = vname; - v28 = 0UL; - v29 = 1UL; - v30 = ((u (*)())(v25))(v26, v27, v28, v29); -b27: vd = v30; - if (!(*(u *)((vd) + (112UL)))) { goto b28; } -b29: v31 = (u)zcdie; + v28 = 0; + v29 = 1; + v30 = ((u(*)())v25)(v26, v27, v28, v29); + vd = v30; + if (!*(u*)(vd + 112)) goto b28; + v31 = (u)zcdie; v32 = vc; v33 = (u)"duplicate struct"; - v34 = ((u (*)())(v31))(v32, v33); -b28: *(u *)((vd) + (112UL)) = 1UL; - *(u *)((vd) + (136UL)) = vn; + v34 = ((u(*)())v31)(v32, v33); +b28: *(u*)(vd + 112) = 1; + *(u*)(vd + 136) = vn; v35 = (u)zprototype; v36 = vc; - v37 = *(u *)((vn) + (8UL)); - v38 = ((u (*)())(v35))(v36, v37); -b32: *(u *)((vd) + (144UL)) = v38; - return 0UL; + v37 = *(u*)(vn + 8); + v38 = ((u(*)())v35)(v36, v37); + *(u*)(vd + 144) = v38; + return 0; b5: v12 = (u)zstrcmp; v13 = vname; v14 = (u)"byte"; - v15 = ((u (*)())(v12))(v13, v14); -b20: if (!(v15)) { goto b18; } -b17: v11 = 0UL; - goto b19; -b19: if (!(v11)) { goto b14; } -b13: v10 = 1UL; - goto b16; -b16: if (!(v10)) { goto b12; } -b6: v4 = 1UL; + v15 = ((u(*)())v12)(v13, v14); + if (!v15) goto b18; + v11 = 0; +b19: if (!v11) goto b14; + v10 = 1; +b16: if (!v10) goto b12; + v4 = 1; goto b7; -b12: v4 = 0UL; +b12: v4 = 0; goto b7; b14: v17 = (u)zstrcmp; v18 = vname; v19 = (u)"func"; - v20 = ((u (*)())(v17))(v18, v19); -b25: if (!(v20)) { goto b23; } -b22: v16 = 0UL; - goto b24; -b24: if (!(v16)) { goto b21; } -b15: v10 = 1UL; + v20 = ((u(*)())v17)(v18, v19); + if (!v20) goto b23; + v16 = 0; +b24: if (!v16) goto b21; + v10 = 1; goto b16; -b21: v10 = 0UL; +b21: v10 = 0; goto b16; -b23: v16 = 1UL; +b23: v16 = 1; goto b24; -b18: v11 = 1UL; +b18: v11 = 1; goto b19; -b9: v5 = 1UL; +b9: v5 = 1; goto b10; } -u zdie(u vmsg) { +u zdie(u vmsg){ u vlen = 0; u v2 = 0; u v3 = 0; @@ -3827,26 +3693,26 @@ u zdie(u vmsg) { u v15 = 0; u v16 = 0; u v17 = 0; -b0: v2 = (u)zstrlen; + v2 = (u)zstrlen; v3 = vmsg; - v4 = ((u (*)())(v2))(v3); -b1: vlen = v4; + v4 = ((u(*)())v2)(v3); + vlen = v4; v5 = (u)zwrite; - v6 = 2UL; + v6 = 2; v7 = vmsg; v8 = vlen; - v9 = ((u (*)())(v5))(v6, v7, v8); -b2: v10 = (u)zwrite; - v11 = 2UL; + v9 = ((u(*)())v5)(v6, v7, v8); + v10 = (u)zwrite; + v11 = 2; v12 = (u)"\012"; - v13 = 1UL; - v14 = ((u (*)())(v10))(v11, v12, v13); -b3: v15 = (u)zexit; - v16 = 2UL; - v17 = ((u (*)())(v15))(v16); -b4: return 0UL; -} -u zemit(u vc, u vx) { + v13 = 1; + v14 = ((u(*)())v10)(v11, v12, v13); + v15 = (u)zexit; + v16 = 2; + v17 = ((u(*)())v15)(v16); + return 0; +} +u zemit(u vc, u vx){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -3854,37 +3720,37 @@ u zemit(u vc, u vx) { u v6 = 0; u v7 = 0; u v8 = 0; -b0: v2 = (u)zemit_hook; + v2 = (u)zemit_hook; v3 = vc; - v4 = ((u (*)())(v2))(v3); -b1: v5 = (u)zreserve; + v4 = ((u(*)())v2)(v3); + v5 = (u)zreserve; v6 = vc; - v7 = 1UL; - v8 = ((u (*)())(v5))(v6, v7); -b2: *(b *)((*(u *)((*(u *)((vc) + (40UL))) + (8UL))) + (*(u *)((*(u *)((vc) + (40UL))) + (16UL)))) = vx; - *(u *)((*(u *)((vc) + (40UL))) + (16UL)) = (*(u *)((*(u *)((vc) + (40UL))) + (16UL))) + (1UL); - *(u *)((vc) + (24UL)) = (*(u *)((vc) + (24UL))) + (1UL); - return 0UL; -} -u zemit_align(u vc, u vn, u vb) { + v7 = 1; + v8 = ((u(*)())v5)(v6, v7); + *(b*)(*(u*)(*(u*)(vc + 40) + 8) + *(u*)(*(u*)(vc + 40) + 16)) = vx; + *(u*)(*(u*)(vc + 40) + 16) = *(u*)(*(u*)(vc + 40) + 16) + 1; + *(u*)(vc + 24) = *(u*)(vc + 24) + 1; + return 0; +} +u zemit_align(u vc, u vn, u vb){ u vpad = 0; u v4 = 0; u v5 = 0; u v6 = 0; u v7 = 0; -b0: vpad = (*(u *)((vc) + (24UL))) & ((vn) - (1UL)); - if ((vpad) != (0UL)) { goto b4; } -b2: return 0UL; -b4: if ((vpad) != (vn)) { goto b6; } -b5: return 0UL; + vpad = *(u*)(vc + 24) & vn - 1; + if (vpad != 0) goto b4; + return 0; +b4: if (vpad != vn) goto b6; + return 0; b6: v4 = (u)zas_emit; v5 = vc; v6 = vb; - v7 = ((u (*)())(v4))(v5, v6); -b9: vpad = (vpad) + (1UL); + v7 = ((u(*)())v4)(v5, v6); + vpad = vpad + 1; goto b4; } -u zemit_blobs(u vc, u vb) { +u zemit_blobs(u vc, u vb){ u vi = 0; u v3 = 0; u v4 = 0; @@ -3903,37 +3769,35 @@ u zemit_blobs(u vc, u vb) { u v17 = 0; u v18 = 0; u v19 = 0; -b0: if (!(vb)) { goto b5; } -b4: v3 = 0UL; - goto b6; -b6: if (!(v3)) { goto b1; } -b2: return 0UL; + if (!vb) goto b5; + v3 = 0; +b6: if (!v3) goto b1; + return 0; b1: v4 = (u)zemit_blobs; v5 = vc; - v6 = *(u *)(vb); - v7 = ((u (*)())(v4))(v5, v6); -b7: v8 = (u)zfixup_label; + v6 = *(u*)vb; + v7 = ((u(*)())v4)(v5, v6); + v8 = (u)zfixup_label; v9 = vc; - v10 = *(u *)((vb) + (16UL)); - v11 = ((u (*)())(v8))(v9, v10); -b8: vi = 0UL; - goto b9; -b9: if ((vi) != (*(u *)((vb) + (32UL)))) { goto b11; } -b10: v16 = (u)zemit_blobs; + v10 = *(u*)(vb + 16); + v11 = ((u(*)())v8)(v9, v10); + vi = 0; +b9: if (vi != *(u*)(vb + 32)) goto b11; + v16 = (u)zemit_blobs; v17 = vc; - v18 = *(u *)((vb) + (8UL)); - v19 = ((u (*)())(v16))(v17, v18); -b15: return 0UL; + v18 = *(u*)(vb + 8); + v19 = ((u(*)())v16)(v17, v18); + return 0; b11: v12 = (u)zas_emit; v13 = vc; - v14 = (u)*(b *)((*(u *)((vb) + (24UL))) + (vi)); - v15 = ((u (*)())(v12))(v13, v14); -b14: vi = (vi) + (1UL); + v14 = (u)*(b*)(*(u*)(vb + 24) + vi); + v15 = ((u(*)())v12)(v13, v14); + vi = vi + 1; goto b9; -b5: v3 = 1UL; +b5: v3 = 1; goto b6; } -u zemit_builtin(u vc) { +u zemit_builtin(u vc){ u vd = 0; u v2 = 0; u v3 = 0; @@ -5915,2459 +5779,2375 @@ u zemit_builtin(u vc) { u v1979 = 0; u v1980 = 0; u v1981 = 0; -b0: v2 = (u)zfind; + v2 = (u)zfind; v3 = vc; v4 = (u)"syscall"; - v5 = 0UL; - v6 = 1UL; - v7 = ((u (*)())(v2))(v3, v4, v5, v6); -b1: vd = v7; - if (!(*(u *)((vd) + (72UL)))) { goto b6; } -b5: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b10; } -b9: v9 = 0UL; - goto b11; -b11: if (!(v9)) { goto b6; } -b7: v8 = 1UL; - goto b8; -b8: if (!(v8)) { goto b2; } -b3: v10 = (u)zfixup_label; - v11 = *(u *)((vc) + (48UL)); - v12 = *(u *)((vd) + (88UL)); - v13 = ((u (*)())(v10))(v11, v12); -b12: v14 = (u)zadd_symbol; - v15 = *(u *)((vc) + (48UL)); - v16 = *(u *)((vd) + (32UL)); - v17 = *(u *)((vd) + (88UL)); - v18 = ((u (*)())(v14))(v15, v16, v17); -b13: v19 = (u)zas_modrr; - v20 = *(u *)((vc) + (48UL)); - v21 = 139UL; - v22 = 0UL; - v23 = 7UL; - v24 = ((u (*)())(v19))(v20, v21, v22, v23); -b14: v25 = (u)zas_modrr; - v26 = *(u *)((vc) + (48UL)); - v27 = 139UL; - v28 = 7UL; - v29 = 6UL; - v30 = ((u (*)())(v25))(v26, v27, v28, v29); -b15: v31 = (u)zas_modrr; - v32 = *(u *)((vc) + (48UL)); - v33 = 139UL; - v34 = 6UL; - v35 = 2UL; - v36 = ((u (*)())(v31))(v32, v33, v34, v35); -b16: v37 = (u)zas_modrr; - v38 = *(u *)((vc) + (48UL)); - v39 = 139UL; - v40 = 2UL; - v41 = 1UL; - v42 = ((u (*)())(v37))(v38, v39, v40, v41); -b17: v43 = (u)zas_modrr; - v44 = *(u *)((vc) + (48UL)); - v45 = 139UL; - v46 = 10UL; - v47 = 8UL; - v48 = ((u (*)())(v43))(v44, v45, v46, v47); -b18: v49 = (u)zas_modrr; - v50 = *(u *)((vc) + (48UL)); - v51 = 139UL; - v52 = 8UL; - v53 = 9UL; - v54 = ((u (*)())(v49))(v50, v51, v52, v53); -b19: v55 = (u)zas_modrm; - v56 = *(u *)((vc) + (48UL)); - v57 = 139UL; - v58 = 9UL; - v59 = 4UL; - v60 = 0UL; - v61 = 0UL; - v62 = 8UL; - v63 = ((u (*)())(v55))(v56, v57, v58, v59, v60, v61, v62); -b20: v64 = (u)zas_op; - v65 = *(u *)((vc) + (48UL)); - v66 = 3845UL; - v67 = ((u (*)())(v64))(v65, v66); -b21: v68 = (u)zas_op; - v69 = *(u *)((vc) + (48UL)); - v70 = 195UL; - v71 = ((u (*)())(v68))(v69, v70); + v5 = 0; + v6 = 1; + v7 = ((u(*)())v2)(v3, v4, v5, v6); + vd = v7; + if (!*(u*)(vd + 72)) goto b6; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b10; + v9 = 0; +b11: if (!v9) goto b6; + v8 = 1; +b8: if (!v8) goto b2; + v10 = (u)zfixup_label; + v11 = *(u*)(vc + 48); + v12 = *(u*)(vd + 88); + v13 = ((u(*)())v10)(v11, v12); + v14 = (u)zadd_symbol; + v15 = *(u*)(vc + 48); + v16 = *(u*)(vd + 32); + v17 = *(u*)(vd + 88); + v18 = ((u(*)())v14)(v15, v16, v17); + v19 = (u)zas_modrr; + v20 = *(u*)(vc + 48); + v21 = 139; + v22 = 0; + v23 = 7; + v24 = ((u(*)())v19)(v20, v21, v22, v23); + v25 = (u)zas_modrr; + v26 = *(u*)(vc + 48); + v27 = 139; + v28 = 7; + v29 = 6; + v30 = ((u(*)())v25)(v26, v27, v28, v29); + v31 = (u)zas_modrr; + v32 = *(u*)(vc + 48); + v33 = 139; + v34 = 6; + v35 = 2; + v36 = ((u(*)())v31)(v32, v33, v34, v35); + v37 = (u)zas_modrr; + v38 = *(u*)(vc + 48); + v39 = 139; + v40 = 2; + v41 = 1; + v42 = ((u(*)())v37)(v38, v39, v40, v41); + v43 = (u)zas_modrr; + v44 = *(u*)(vc + 48); + v45 = 139; + v46 = 10; + v47 = 8; + v48 = ((u(*)())v43)(v44, v45, v46, v47); + v49 = (u)zas_modrr; + v50 = *(u*)(vc + 48); + v51 = 139; + v52 = 8; + v53 = 9; + v54 = ((u(*)())v49)(v50, v51, v52, v53); + v55 = (u)zas_modrm; + v56 = *(u*)(vc + 48); + v57 = 139; + v58 = 9; + v59 = 4; + v60 = 0; + v61 = 0; + v62 = 8; + v63 = ((u(*)())v55)(v56, v57, v58, v59, v60, v61, v62); + v64 = (u)zas_op; + v65 = *(u*)(vc + 48); + v66 = 3845; + v67 = ((u(*)())v64)(v65, v66); + v68 = (u)zas_op; + v69 = *(u*)(vc + 48); + v70 = 195; + v71 = ((u(*)())v68)(v69, v70); b2: v72 = (u)zfind; v73 = vc; v74 = (u)"_restorer"; - v75 = 0UL; - v76 = 1UL; - v77 = ((u (*)())(v72))(v73, v74, v75, v76); -b23: vd = v77; - if (!(*(u *)((vd) + (72UL)))) { goto b28; } -b27: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b32; } -b31: v79 = 0UL; - goto b33; -b33: if (!(v79)) { goto b28; } -b29: v78 = 1UL; - goto b30; -b30: if (!(v78)) { goto b24; } -b25: v80 = (u)zfixup_label; - v81 = *(u *)((vc) + (48UL)); - v82 = *(u *)((vd) + (88UL)); - v83 = ((u (*)())(v80))(v81, v82); -b34: v84 = (u)zadd_symbol; - v85 = *(u *)((vc) + (48UL)); - v86 = *(u *)((vd) + (32UL)); - v87 = *(u *)((vd) + (88UL)); - v88 = ((u (*)())(v84))(v85, v86, v87); -b35: v89 = (u)zas_modri; - v90 = *(u *)((vc) + (48UL)); - v91 = 199UL; - v92 = 0UL; - v93 = 15UL; - v94 = ((u (*)())(v89))(v90, v91, v92, v93); -b36: v95 = (u)zas_op; - v96 = *(u *)((vc) + (48UL)); - v97 = 3845UL; - v98 = ((u (*)())(v95))(v96, v97); + v75 = 0; + v76 = 1; + v77 = ((u(*)())v72)(v73, v74, v75, v76); + vd = v77; + if (!*(u*)(vd + 72)) goto b28; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b32; + v79 = 0; +b33: if (!v79) goto b28; + v78 = 1; +b30: if (!v78) goto b24; + v80 = (u)zfixup_label; + v81 = *(u*)(vc + 48); + v82 = *(u*)(vd + 88); + v83 = ((u(*)())v80)(v81, v82); + v84 = (u)zadd_symbol; + v85 = *(u*)(vc + 48); + v86 = *(u*)(vd + 32); + v87 = *(u*)(vd + 88); + v88 = ((u(*)())v84)(v85, v86, v87); + v89 = (u)zas_modri; + v90 = *(u*)(vc + 48); + v91 = 199; + v92 = 0; + v93 = 15; + v94 = ((u(*)())v89)(v90, v91, v92, v93); + v95 = (u)zas_op; + v96 = *(u*)(vc + 48); + v97 = 3845; + v98 = ((u(*)())v95)(v96, v97); b24: v99 = (u)zfind; v100 = vc; v101 = (u)"_include"; - v102 = 0UL; - v103 = 1UL; - v104 = ((u (*)())(v99))(v100, v101, v102, v103); -b38: vd = v104; - if (!(*(u *)((vd) + (72UL)))) { goto b43; } -b42: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b47; } -b46: v106 = 0UL; - goto b48; -b48: if (!(v106)) { goto b43; } -b44: v105 = 1UL; - goto b45; -b45: if (!(v105)) { goto b39; } -b40: v107 = (u)zfixup_label; - v108 = *(u *)((vc) + (48UL)); - v109 = *(u *)((vd) + (88UL)); - v110 = ((u (*)())(v107))(v108, v109); -b49: v111 = (u)zadd_symbol; - v112 = *(u *)((vc) + (48UL)); - v113 = *(u *)((vd) + (32UL)); - v114 = *(u *)((vd) + (88UL)); - v115 = ((u (*)())(v111))(v112, v113, v114); -b50: v116 = (u)zas_op; - v117 = *(u *)((vc) + (48UL)); - v118 = 3851UL; - v119 = ((u (*)())(v116))(v117, v118); + v102 = 0; + v103 = 1; + v104 = ((u(*)())v99)(v100, v101, v102, v103); + vd = v104; + if (!*(u*)(vd + 72)) goto b43; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b47; + v106 = 0; +b48: if (!v106) goto b43; + v105 = 1; +b45: if (!v105) goto b39; + v107 = (u)zfixup_label; + v108 = *(u*)(vc + 48); + v109 = *(u*)(vd + 88); + v110 = ((u(*)())v107)(v108, v109); + v111 = (u)zadd_symbol; + v112 = *(u*)(vc + 48); + v113 = *(u*)(vd + 32); + v114 = *(u*)(vd + 88); + v115 = ((u(*)())v111)(v112, v113, v114); + v116 = (u)zas_op; + v117 = *(u*)(vc + 48); + v118 = 3851; + v119 = ((u(*)())v116)(v117, v118); b39: v120 = (u)zfind; v121 = vc; v122 = (u)"ud2"; - v123 = 0UL; - v124 = 1UL; - v125 = ((u (*)())(v120))(v121, v122, v123, v124); -b52: vd = v125; - if (!(*(u *)((vd) + (72UL)))) { goto b57; } -b56: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b61; } -b60: v127 = 0UL; - goto b62; -b62: if (!(v127)) { goto b57; } -b58: v126 = 1UL; - goto b59; -b59: if (!(v126)) { goto b53; } -b54: v128 = (u)zfixup_label; - v129 = *(u *)((vc) + (48UL)); - v130 = *(u *)((vd) + (88UL)); - v131 = ((u (*)())(v128))(v129, v130); -b63: v132 = (u)zadd_symbol; - v133 = *(u *)((vc) + (48UL)); - v134 = *(u *)((vd) + (32UL)); - v135 = *(u *)((vd) + (88UL)); - v136 = ((u (*)())(v132))(v133, v134, v135); -b64: v137 = (u)zas_op; - v138 = *(u *)((vc) + (48UL)); - v139 = 3851UL; - v140 = ((u (*)())(v137))(v138, v139); + v123 = 0; + v124 = 1; + v125 = ((u(*)())v120)(v121, v122, v123, v124); + vd = v125; + if (!*(u*)(vd + 72)) goto b57; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b61; + v127 = 0; +b62: if (!v127) goto b57; + v126 = 1; +b59: if (!v126) goto b53; + v128 = (u)zfixup_label; + v129 = *(u*)(vc + 48); + v130 = *(u*)(vd + 88); + v131 = ((u(*)())v128)(v129, v130); + v132 = (u)zadd_symbol; + v133 = *(u*)(vc + 48); + v134 = *(u*)(vd + 32); + v135 = *(u*)(vd + 88); + v136 = ((u(*)())v132)(v133, v134, v135); + v137 = (u)zas_op; + v138 = *(u*)(vc + 48); + v139 = 3851; + v140 = ((u(*)())v137)(v138, v139); b53: v141 = (u)zfind; v142 = vc; v143 = (u)"cpuid"; - v144 = 0UL; - v145 = 1UL; - v146 = ((u (*)())(v141))(v142, v143, v144, v145); -b66: vd = v146; - if (!(*(u *)((vd) + (72UL)))) { goto b71; } -b70: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b75; } -b74: v148 = 0UL; - goto b76; -b76: if (!(v148)) { goto b71; } -b72: v147 = 1UL; - goto b73; -b73: if (!(v147)) { goto b67; } -b68: v149 = (u)zfixup_label; - v150 = *(u *)((vc) + (48UL)); - v151 = *(u *)((vd) + (88UL)); - v152 = ((u (*)())(v149))(v150, v151); -b77: v153 = (u)zadd_symbol; - v154 = *(u *)((vc) + (48UL)); - v155 = *(u *)((vd) + (32UL)); - v156 = *(u *)((vd) + (88UL)); - v157 = ((u (*)())(v153))(v154, v155, v156); -b78: v158 = (u)zas_opr; - v159 = *(u *)((vc) + (48UL)); - v160 = 80UL; - v161 = 1UL; - v162 = ((u (*)())(v158))(v159, v160, v161); -b79: v163 = (u)zas_opr; - v164 = *(u *)((vc) + (48UL)); - v165 = 80UL; - v166 = 2UL; - v167 = ((u (*)())(v163))(v164, v165, v166); -b80: v168 = (u)zas_opr; - v169 = *(u *)((vc) + (48UL)); - v170 = 80UL; - v171 = 6UL; - v172 = ((u (*)())(v168))(v169, v170, v171); -b81: v173 = (u)zas_opr; - v174 = *(u *)((vc) + (48UL)); - v175 = 80UL; - v176 = 7UL; - v177 = ((u (*)())(v173))(v174, v175, v176); -b82: v178 = (u)zas_modrm; - v179 = *(u *)((vc) + (48UL)); - v180 = 139UL; - v181 = 0UL; - v182 = 7UL; - v183 = 0UL; - v184 = 0UL; - v185 = 0UL; - v186 = ((u (*)())(v178))(v179, v180, v181, v182, v183, v184, v185); -b83: v187 = (u)zas_modrm; - v188 = *(u *)((vc) + (48UL)); - v189 = 139UL; - v190 = 1UL; - v191 = 6UL; - v192 = 0UL; - v193 = 0UL; - v194 = 0UL; - v195 = ((u (*)())(v187))(v188, v189, v190, v191, v192, v193, v194); -b84: v196 = (u)zas_modrm; - v197 = *(u *)((vc) + (48UL)); - v198 = 139UL; - v199 = 2UL; - v200 = 2UL; - v201 = 0UL; - v202 = 0UL; - v203 = 0UL; - v204 = ((u (*)())(v196))(v197, v198, v199, v200, v201, v202, v203); -b85: v205 = (u)zas_modrm; - v206 = *(u *)((vc) + (48UL)); - v207 = 139UL; - v208 = 3UL; - v209 = 1UL; - v210 = 0UL; - v211 = 0UL; - v212 = 0UL; - v213 = ((u (*)())(v205))(v206, v207, v208, v209, v210, v211, v212); -b86: v214 = (u)zas_op; - v215 = *(u *)((vc) + (48UL)); - v216 = 4002UL; - v217 = ((u (*)())(v214))(v215, v216); -b87: v218 = (u)zas_opr; - v219 = *(u *)((vc) + (48UL)); - v220 = 88UL; - v221 = 7UL; - v222 = ((u (*)())(v218))(v219, v220, v221); -b88: v223 = (u)zas_opr; - v224 = *(u *)((vc) + (48UL)); - v225 = 88UL; - v226 = 6UL; - v227 = ((u (*)())(v223))(v224, v225, v226); -b89: v228 = (u)zas_opr; - v229 = *(u *)((vc) + (48UL)); - v230 = 88UL; - v231 = 2UL; - v232 = ((u (*)())(v228))(v229, v230, v231); -b90: v233 = (u)zas_opr; - v234 = *(u *)((vc) + (48UL)); - v235 = 88UL; - v236 = 1UL; - v237 = ((u (*)())(v233))(v234, v235, v236); -b91: v238 = (u)zas_modrm; - v239 = *(u *)((vc) + (48UL)); - v240 = 137UL; - v241 = 0UL; - v242 = 7UL; - v243 = 0UL; - v244 = 0UL; - v245 = 0UL; - v246 = ((u (*)())(v238))(v239, v240, v241, v242, v243, v244, v245); -b92: v247 = (u)zas_modrm; - v248 = *(u *)((vc) + (48UL)); - v249 = 137UL; - v250 = 1UL; - v251 = 6UL; - v252 = 0UL; - v253 = 0UL; - v254 = 0UL; - v255 = ((u (*)())(v247))(v248, v249, v250, v251, v252, v253, v254); -b93: v256 = (u)zas_modrm; - v257 = *(u *)((vc) + (48UL)); - v258 = 137UL; - v259 = 2UL; - v260 = 2UL; - v261 = 0UL; - v262 = 0UL; - v263 = 0UL; - v264 = ((u (*)())(v256))(v257, v258, v259, v260, v261, v262, v263); -b94: v265 = (u)zas_modrm; - v266 = *(u *)((vc) + (48UL)); - v267 = 137UL; - v268 = 3UL; - v269 = 1UL; - v270 = 0UL; - v271 = 0UL; - v272 = 0UL; - v273 = ((u (*)())(v265))(v266, v267, v268, v269, v270, v271, v272); -b95: v274 = (u)zas_op; - v275 = *(u *)((vc) + (48UL)); - v276 = 195UL; - v277 = ((u (*)())(v274))(v275, v276); + v144 = 0; + v145 = 1; + v146 = ((u(*)())v141)(v142, v143, v144, v145); + vd = v146; + if (!*(u*)(vd + 72)) goto b71; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b75; + v148 = 0; +b76: if (!v148) goto b71; + v147 = 1; +b73: if (!v147) goto b67; + v149 = (u)zfixup_label; + v150 = *(u*)(vc + 48); + v151 = *(u*)(vd + 88); + v152 = ((u(*)())v149)(v150, v151); + v153 = (u)zadd_symbol; + v154 = *(u*)(vc + 48); + v155 = *(u*)(vd + 32); + v156 = *(u*)(vd + 88); + v157 = ((u(*)())v153)(v154, v155, v156); + v158 = (u)zas_opr; + v159 = *(u*)(vc + 48); + v160 = 80; + v161 = 1; + v162 = ((u(*)())v158)(v159, v160, v161); + v163 = (u)zas_opr; + v164 = *(u*)(vc + 48); + v165 = 80; + v166 = 2; + v167 = ((u(*)())v163)(v164, v165, v166); + v168 = (u)zas_opr; + v169 = *(u*)(vc + 48); + v170 = 80; + v171 = 6; + v172 = ((u(*)())v168)(v169, v170, v171); + v173 = (u)zas_opr; + v174 = *(u*)(vc + 48); + v175 = 80; + v176 = 7; + v177 = ((u(*)())v173)(v174, v175, v176); + v178 = (u)zas_modrm; + v179 = *(u*)(vc + 48); + v180 = 139; + v181 = 0; + v182 = 7; + v183 = 0; + v184 = 0; + v185 = 0; + v186 = ((u(*)())v178)(v179, v180, v181, v182, v183, v184, v185); + v187 = (u)zas_modrm; + v188 = *(u*)(vc + 48); + v189 = 139; + v190 = 1; + v191 = 6; + v192 = 0; + v193 = 0; + v194 = 0; + v195 = ((u(*)())v187)(v188, v189, v190, v191, v192, v193, v194); + v196 = (u)zas_modrm; + v197 = *(u*)(vc + 48); + v198 = 139; + v199 = 2; + v200 = 2; + v201 = 0; + v202 = 0; + v203 = 0; + v204 = ((u(*)())v196)(v197, v198, v199, v200, v201, v202, v203); + v205 = (u)zas_modrm; + v206 = *(u*)(vc + 48); + v207 = 139; + v208 = 3; + v209 = 1; + v210 = 0; + v211 = 0; + v212 = 0; + v213 = ((u(*)())v205)(v206, v207, v208, v209, v210, v211, v212); + v214 = (u)zas_op; + v215 = *(u*)(vc + 48); + v216 = 4002; + v217 = ((u(*)())v214)(v215, v216); + v218 = (u)zas_opr; + v219 = *(u*)(vc + 48); + v220 = 88; + v221 = 7; + v222 = ((u(*)())v218)(v219, v220, v221); + v223 = (u)zas_opr; + v224 = *(u*)(vc + 48); + v225 = 88; + v226 = 6; + v227 = ((u(*)())v223)(v224, v225, v226); + v228 = (u)zas_opr; + v229 = *(u*)(vc + 48); + v230 = 88; + v231 = 2; + v232 = ((u(*)())v228)(v229, v230, v231); + v233 = (u)zas_opr; + v234 = *(u*)(vc + 48); + v235 = 88; + v236 = 1; + v237 = ((u(*)())v233)(v234, v235, v236); + v238 = (u)zas_modrm; + v239 = *(u*)(vc + 48); + v240 = 137; + v241 = 0; + v242 = 7; + v243 = 0; + v244 = 0; + v245 = 0; + v246 = ((u(*)())v238)(v239, v240, v241, v242, v243, v244, v245); + v247 = (u)zas_modrm; + v248 = *(u*)(vc + 48); + v249 = 137; + v250 = 1; + v251 = 6; + v252 = 0; + v253 = 0; + v254 = 0; + v255 = ((u(*)())v247)(v248, v249, v250, v251, v252, v253, v254); + v256 = (u)zas_modrm; + v257 = *(u*)(vc + 48); + v258 = 137; + v259 = 2; + v260 = 2; + v261 = 0; + v262 = 0; + v263 = 0; + v264 = ((u(*)())v256)(v257, v258, v259, v260, v261, v262, v263); + v265 = (u)zas_modrm; + v266 = *(u*)(vc + 48); + v267 = 137; + v268 = 3; + v269 = 1; + v270 = 0; + v271 = 0; + v272 = 0; + v273 = ((u(*)())v265)(v266, v267, v268, v269, v270, v271, v272); + v274 = (u)zas_op; + v275 = *(u*)(vc + 48); + v276 = 195; + v277 = ((u(*)())v274)(v275, v276); b67: v278 = (u)zfind; v279 = vc; v280 = (u)"inb"; - v281 = 0UL; - v282 = 1UL; - v283 = ((u (*)())(v278))(v279, v280, v281, v282); -b97: vd = v283; - if (!(*(u *)((vd) + (72UL)))) { goto b102; } -b101: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b106; } -b105: v285 = 0UL; - goto b107; -b107: if (!(v285)) { goto b102; } -b103: v284 = 1UL; - goto b104; -b104: if (!(v284)) { goto b98; } -b99: v286 = (u)zfixup_label; - v287 = *(u *)((vc) + (48UL)); - v288 = *(u *)((vd) + (88UL)); - v289 = ((u (*)())(v286))(v287, v288); -b108: v290 = (u)zadd_symbol; - v291 = *(u *)((vc) + (48UL)); - v292 = *(u *)((vd) + (32UL)); - v293 = *(u *)((vd) + (88UL)); - v294 = ((u (*)())(v290))(v291, v292, v293); -b109: v295 = (u)zas_modrr; - v296 = *(u *)((vc) + (48UL)); - v297 = 139UL; - v298 = 2UL; - v299 = 7UL; - v300 = ((u (*)())(v295))(v296, v297, v298, v299); -b110: v301 = (u)zas_op; - v302 = *(u *)((vc) + (48UL)); - v303 = 236UL; - v304 = ((u (*)())(v301))(v302, v303); -b111: v305 = (u)zas_op; - v306 = *(u *)((vc) + (48UL)); - v307 = 195UL; - v308 = ((u (*)())(v305))(v306, v307); + v281 = 0; + v282 = 1; + v283 = ((u(*)())v278)(v279, v280, v281, v282); + vd = v283; + if (!*(u*)(vd + 72)) goto b102; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b106; + v285 = 0; +b107: if (!v285) goto b102; + v284 = 1; +b104: if (!v284) goto b98; + v286 = (u)zfixup_label; + v287 = *(u*)(vc + 48); + v288 = *(u*)(vd + 88); + v289 = ((u(*)())v286)(v287, v288); + v290 = (u)zadd_symbol; + v291 = *(u*)(vc + 48); + v292 = *(u*)(vd + 32); + v293 = *(u*)(vd + 88); + v294 = ((u(*)())v290)(v291, v292, v293); + v295 = (u)zas_modrr; + v296 = *(u*)(vc + 48); + v297 = 139; + v298 = 2; + v299 = 7; + v300 = ((u(*)())v295)(v296, v297, v298, v299); + v301 = (u)zas_op; + v302 = *(u*)(vc + 48); + v303 = 236; + v304 = ((u(*)())v301)(v302, v303); + v305 = (u)zas_op; + v306 = *(u*)(vc + 48); + v307 = 195; + v308 = ((u(*)())v305)(v306, v307); b98: v309 = (u)zfind; v310 = vc; v311 = (u)"outb"; - v312 = 0UL; - v313 = 1UL; - v314 = ((u (*)())(v309))(v310, v311, v312, v313); -b113: vd = v314; - if (!(*(u *)((vd) + (72UL)))) { goto b118; } -b117: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b122; } -b121: v316 = 0UL; - goto b123; -b123: if (!(v316)) { goto b118; } -b119: v315 = 1UL; - goto b120; -b120: if (!(v315)) { goto b114; } -b115: v317 = (u)zfixup_label; - v318 = *(u *)((vc) + (48UL)); - v319 = *(u *)((vd) + (88UL)); - v320 = ((u (*)())(v317))(v318, v319); -b124: v321 = (u)zadd_symbol; - v322 = *(u *)((vc) + (48UL)); - v323 = *(u *)((vd) + (32UL)); - v324 = *(u *)((vd) + (88UL)); - v325 = ((u (*)())(v321))(v322, v323, v324); -b125: v326 = (u)zas_modrr; - v327 = *(u *)((vc) + (48UL)); - v328 = 139UL; - v329 = 2UL; - v330 = 7UL; - v331 = ((u (*)())(v326))(v327, v328, v329, v330); -b126: v332 = (u)zas_modrr; - v333 = *(u *)((vc) + (48UL)); - v334 = 139UL; - v335 = 0UL; - v336 = 6UL; - v337 = ((u (*)())(v332))(v333, v334, v335, v336); -b127: v338 = (u)zas_op; - v339 = *(u *)((vc) + (48UL)); - v340 = 238UL; - v341 = ((u (*)())(v338))(v339, v340); -b128: v342 = (u)zas_op; - v343 = *(u *)((vc) + (48UL)); - v344 = 195UL; - v345 = ((u (*)())(v342))(v343, v344); + v312 = 0; + v313 = 1; + v314 = ((u(*)())v309)(v310, v311, v312, v313); + vd = v314; + if (!*(u*)(vd + 72)) goto b118; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b122; + v316 = 0; +b123: if (!v316) goto b118; + v315 = 1; +b120: if (!v315) goto b114; + v317 = (u)zfixup_label; + v318 = *(u*)(vc + 48); + v319 = *(u*)(vd + 88); + v320 = ((u(*)())v317)(v318, v319); + v321 = (u)zadd_symbol; + v322 = *(u*)(vc + 48); + v323 = *(u*)(vd + 32); + v324 = *(u*)(vd + 88); + v325 = ((u(*)())v321)(v322, v323, v324); + v326 = (u)zas_modrr; + v327 = *(u*)(vc + 48); + v328 = 139; + v329 = 2; + v330 = 7; + v331 = ((u(*)())v326)(v327, v328, v329, v330); + v332 = (u)zas_modrr; + v333 = *(u*)(vc + 48); + v334 = 139; + v335 = 0; + v336 = 6; + v337 = ((u(*)())v332)(v333, v334, v335, v336); + v338 = (u)zas_op; + v339 = *(u*)(vc + 48); + v340 = 238; + v341 = ((u(*)())v338)(v339, v340); + v342 = (u)zas_op; + v343 = *(u*)(vc + 48); + v344 = 195; + v345 = ((u(*)())v342)(v343, v344); b114: v346 = (u)zfind; v347 = vc; v348 = (u)"inw"; - v349 = 0UL; - v350 = 1UL; - v351 = ((u (*)())(v346))(v347, v348, v349, v350); -b130: vd = v351; - if (!(*(u *)((vd) + (72UL)))) { goto b135; } -b134: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b139; } -b138: v353 = 0UL; - goto b140; -b140: if (!(v353)) { goto b135; } -b136: v352 = 1UL; - goto b137; -b137: if (!(v352)) { goto b131; } -b132: v354 = (u)zfixup_label; - v355 = *(u *)((vc) + (48UL)); - v356 = *(u *)((vd) + (88UL)); - v357 = ((u (*)())(v354))(v355, v356); -b141: v358 = (u)zadd_symbol; - v359 = *(u *)((vc) + (48UL)); - v360 = *(u *)((vd) + (32UL)); - v361 = *(u *)((vd) + (88UL)); - v362 = ((u (*)())(v358))(v359, v360, v361); -b142: v363 = (u)zas_modrr; - v364 = *(u *)((vc) + (48UL)); - v365 = 139UL; - v366 = 2UL; - v367 = 7UL; - v368 = ((u (*)())(v363))(v364, v365, v366, v367); -b143: v369 = (u)zas_emit; - v370 = *(u *)((vc) + (48UL)); - v371 = 102UL; - v372 = ((u (*)())(v369))(v370, v371); -b144: v373 = (u)zas_op; - v374 = *(u *)((vc) + (48UL)); - v375 = 237UL; - v376 = ((u (*)())(v373))(v374, v375); -b145: v377 = (u)zas_op; - v378 = *(u *)((vc) + (48UL)); - v379 = 195UL; - v380 = ((u (*)())(v377))(v378, v379); + v349 = 0; + v350 = 1; + v351 = ((u(*)())v346)(v347, v348, v349, v350); + vd = v351; + if (!*(u*)(vd + 72)) goto b135; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b139; + v353 = 0; +b140: if (!v353) goto b135; + v352 = 1; +b137: if (!v352) goto b131; + v354 = (u)zfixup_label; + v355 = *(u*)(vc + 48); + v356 = *(u*)(vd + 88); + v357 = ((u(*)())v354)(v355, v356); + v358 = (u)zadd_symbol; + v359 = *(u*)(vc + 48); + v360 = *(u*)(vd + 32); + v361 = *(u*)(vd + 88); + v362 = ((u(*)())v358)(v359, v360, v361); + v363 = (u)zas_modrr; + v364 = *(u*)(vc + 48); + v365 = 139; + v366 = 2; + v367 = 7; + v368 = ((u(*)())v363)(v364, v365, v366, v367); + v369 = (u)zas_emit; + v370 = *(u*)(vc + 48); + v371 = 102; + v372 = ((u(*)())v369)(v370, v371); + v373 = (u)zas_op; + v374 = *(u*)(vc + 48); + v375 = 237; + v376 = ((u(*)())v373)(v374, v375); + v377 = (u)zas_op; + v378 = *(u*)(vc + 48); + v379 = 195; + v380 = ((u(*)())v377)(v378, v379); b131: v381 = (u)zfind; v382 = vc; v383 = (u)"outw"; - v384 = 0UL; - v385 = 1UL; - v386 = ((u (*)())(v381))(v382, v383, v384, v385); -b147: vd = v386; - if (!(*(u *)((vd) + (72UL)))) { goto b152; } -b151: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b156; } -b155: v388 = 0UL; - goto b157; -b157: if (!(v388)) { goto b152; } -b153: v387 = 1UL; - goto b154; -b154: if (!(v387)) { goto b148; } -b149: v389 = (u)zfixup_label; - v390 = *(u *)((vc) + (48UL)); - v391 = *(u *)((vd) + (88UL)); - v392 = ((u (*)())(v389))(v390, v391); -b158: v393 = (u)zadd_symbol; - v394 = *(u *)((vc) + (48UL)); - v395 = *(u *)((vd) + (32UL)); - v396 = *(u *)((vd) + (88UL)); - v397 = ((u (*)())(v393))(v394, v395, v396); -b159: v398 = (u)zas_modrr; - v399 = *(u *)((vc) + (48UL)); - v400 = 139UL; - v401 = 2UL; - v402 = 7UL; - v403 = ((u (*)())(v398))(v399, v400, v401, v402); -b160: v404 = (u)zas_modrr; - v405 = *(u *)((vc) + (48UL)); - v406 = 139UL; - v407 = 0UL; - v408 = 6UL; - v409 = ((u (*)())(v404))(v405, v406, v407, v408); -b161: v410 = (u)zas_emit; - v411 = *(u *)((vc) + (48UL)); - v412 = 102UL; - v413 = ((u (*)())(v410))(v411, v412); -b162: v414 = (u)zas_op; - v415 = *(u *)((vc) + (48UL)); - v416 = 239UL; - v417 = ((u (*)())(v414))(v415, v416); -b163: v418 = (u)zas_op; - v419 = *(u *)((vc) + (48UL)); - v420 = 195UL; - v421 = ((u (*)())(v418))(v419, v420); + v384 = 0; + v385 = 1; + v386 = ((u(*)())v381)(v382, v383, v384, v385); + vd = v386; + if (!*(u*)(vd + 72)) goto b152; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b156; + v388 = 0; +b157: if (!v388) goto b152; + v387 = 1; +b154: if (!v387) goto b148; + v389 = (u)zfixup_label; + v390 = *(u*)(vc + 48); + v391 = *(u*)(vd + 88); + v392 = ((u(*)())v389)(v390, v391); + v393 = (u)zadd_symbol; + v394 = *(u*)(vc + 48); + v395 = *(u*)(vd + 32); + v396 = *(u*)(vd + 88); + v397 = ((u(*)())v393)(v394, v395, v396); + v398 = (u)zas_modrr; + v399 = *(u*)(vc + 48); + v400 = 139; + v401 = 2; + v402 = 7; + v403 = ((u(*)())v398)(v399, v400, v401, v402); + v404 = (u)zas_modrr; + v405 = *(u*)(vc + 48); + v406 = 139; + v407 = 0; + v408 = 6; + v409 = ((u(*)())v404)(v405, v406, v407, v408); + v410 = (u)zas_emit; + v411 = *(u*)(vc + 48); + v412 = 102; + v413 = ((u(*)())v410)(v411, v412); + v414 = (u)zas_op; + v415 = *(u*)(vc + 48); + v416 = 239; + v417 = ((u(*)())v414)(v415, v416); + v418 = (u)zas_op; + v419 = *(u*)(vc + 48); + v420 = 195; + v421 = ((u(*)())v418)(v419, v420); b148: v422 = (u)zfind; v423 = vc; v424 = (u)"ind"; - v425 = 0UL; - v426 = 1UL; - v427 = ((u (*)())(v422))(v423, v424, v425, v426); -b165: vd = v427; - if (!(*(u *)((vd) + (72UL)))) { goto b170; } -b169: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b174; } -b173: v429 = 0UL; - goto b175; -b175: if (!(v429)) { goto b170; } -b171: v428 = 1UL; - goto b172; -b172: if (!(v428)) { goto b166; } -b167: v430 = (u)zfixup_label; - v431 = *(u *)((vc) + (48UL)); - v432 = *(u *)((vd) + (88UL)); - v433 = ((u (*)())(v430))(v431, v432); -b176: v434 = (u)zadd_symbol; - v435 = *(u *)((vc) + (48UL)); - v436 = *(u *)((vd) + (32UL)); - v437 = *(u *)((vd) + (88UL)); - v438 = ((u (*)())(v434))(v435, v436, v437); -b177: v439 = (u)zas_modrr; - v440 = *(u *)((vc) + (48UL)); - v441 = 139UL; - v442 = 2UL; - v443 = 7UL; - v444 = ((u (*)())(v439))(v440, v441, v442, v443); -b178: v445 = (u)zas_op; - v446 = *(u *)((vc) + (48UL)); - v447 = 237UL; - v448 = ((u (*)())(v445))(v446, v447); -b179: v449 = (u)zas_op; - v450 = *(u *)((vc) + (48UL)); - v451 = 195UL; - v452 = ((u (*)())(v449))(v450, v451); + v425 = 0; + v426 = 1; + v427 = ((u(*)())v422)(v423, v424, v425, v426); + vd = v427; + if (!*(u*)(vd + 72)) goto b170; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b174; + v429 = 0; +b175: if (!v429) goto b170; + v428 = 1; +b172: if (!v428) goto b166; + v430 = (u)zfixup_label; + v431 = *(u*)(vc + 48); + v432 = *(u*)(vd + 88); + v433 = ((u(*)())v430)(v431, v432); + v434 = (u)zadd_symbol; + v435 = *(u*)(vc + 48); + v436 = *(u*)(vd + 32); + v437 = *(u*)(vd + 88); + v438 = ((u(*)())v434)(v435, v436, v437); + v439 = (u)zas_modrr; + v440 = *(u*)(vc + 48); + v441 = 139; + v442 = 2; + v443 = 7; + v444 = ((u(*)())v439)(v440, v441, v442, v443); + v445 = (u)zas_op; + v446 = *(u*)(vc + 48); + v447 = 237; + v448 = ((u(*)())v445)(v446, v447); + v449 = (u)zas_op; + v450 = *(u*)(vc + 48); + v451 = 195; + v452 = ((u(*)())v449)(v450, v451); b166: v453 = (u)zfind; v454 = vc; v455 = (u)"outd"; - v456 = 0UL; - v457 = 1UL; - v458 = ((u (*)())(v453))(v454, v455, v456, v457); -b181: vd = v458; - if (!(*(u *)((vd) + (72UL)))) { goto b186; } -b185: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b190; } -b189: v460 = 0UL; - goto b191; -b191: if (!(v460)) { goto b186; } -b187: v459 = 1UL; - goto b188; -b188: if (!(v459)) { goto b182; } -b183: v461 = (u)zfixup_label; - v462 = *(u *)((vc) + (48UL)); - v463 = *(u *)((vd) + (88UL)); - v464 = ((u (*)())(v461))(v462, v463); -b192: v465 = (u)zadd_symbol; - v466 = *(u *)((vc) + (48UL)); - v467 = *(u *)((vd) + (32UL)); - v468 = *(u *)((vd) + (88UL)); - v469 = ((u (*)())(v465))(v466, v467, v468); -b193: v470 = (u)zas_modrr; - v471 = *(u *)((vc) + (48UL)); - v472 = 139UL; - v473 = 2UL; - v474 = 7UL; - v475 = ((u (*)())(v470))(v471, v472, v473, v474); -b194: v476 = (u)zas_modrr; - v477 = *(u *)((vc) + (48UL)); - v478 = 139UL; - v479 = 0UL; - v480 = 6UL; - v481 = ((u (*)())(v476))(v477, v478, v479, v480); -b195: v482 = (u)zas_op; - v483 = *(u *)((vc) + (48UL)); - v484 = 239UL; - v485 = ((u (*)())(v482))(v483, v484); -b196: v486 = (u)zas_op; - v487 = *(u *)((vc) + (48UL)); - v488 = 195UL; - v489 = ((u (*)())(v486))(v487, v488); + v456 = 0; + v457 = 1; + v458 = ((u(*)())v453)(v454, v455, v456, v457); + vd = v458; + if (!*(u*)(vd + 72)) goto b186; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b190; + v460 = 0; +b191: if (!v460) goto b186; + v459 = 1; +b188: if (!v459) goto b182; + v461 = (u)zfixup_label; + v462 = *(u*)(vc + 48); + v463 = *(u*)(vd + 88); + v464 = ((u(*)())v461)(v462, v463); + v465 = (u)zadd_symbol; + v466 = *(u*)(vc + 48); + v467 = *(u*)(vd + 32); + v468 = *(u*)(vd + 88); + v469 = ((u(*)())v465)(v466, v467, v468); + v470 = (u)zas_modrr; + v471 = *(u*)(vc + 48); + v472 = 139; + v473 = 2; + v474 = 7; + v475 = ((u(*)())v470)(v471, v472, v473, v474); + v476 = (u)zas_modrr; + v477 = *(u*)(vc + 48); + v478 = 139; + v479 = 0; + v480 = 6; + v481 = ((u(*)())v476)(v477, v478, v479, v480); + v482 = (u)zas_op; + v483 = *(u*)(vc + 48); + v484 = 239; + v485 = ((u(*)())v482)(v483, v484); + v486 = (u)zas_op; + v487 = *(u*)(vc + 48); + v488 = 195; + v489 = ((u(*)())v486)(v487, v488); b182: v490 = (u)zfind; v491 = vc; v492 = (u)"rdmsr"; - v493 = 0UL; - v494 = 1UL; - v495 = ((u (*)())(v490))(v491, v492, v493, v494); -b198: vd = v495; - if (!(*(u *)((vd) + (72UL)))) { goto b203; } -b202: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b207; } -b206: v497 = 0UL; - goto b208; -b208: if (!(v497)) { goto b203; } -b204: v496 = 1UL; - goto b205; -b205: if (!(v496)) { goto b199; } -b200: v498 = (u)zfixup_label; - v499 = *(u *)((vc) + (48UL)); - v500 = *(u *)((vd) + (88UL)); - v501 = ((u (*)())(v498))(v499, v500); -b209: v502 = (u)zadd_symbol; - v503 = *(u *)((vc) + (48UL)); - v504 = *(u *)((vd) + (32UL)); - v505 = *(u *)((vd) + (88UL)); - v506 = ((u (*)())(v502))(v503, v504, v505); -b210: v507 = (u)zas_modrr; - v508 = *(u *)((vc) + (48UL)); - v509 = 139UL; - v510 = 1UL; - v511 = 7UL; - v512 = ((u (*)())(v507))(v508, v509, v510, v511); -b211: v513 = (u)zas_op; - v514 = *(u *)((vc) + (48UL)); - v515 = 3890UL; - v516 = ((u (*)())(v513))(v514, v515); -b212: v517 = (u)zas_modri; - v518 = *(u *)((vc) + (48UL)); - v519 = 199UL; - v520 = 1UL; - v521 = 32UL; - v522 = ((u (*)())(v517))(v518, v519, v520, v521); -b213: v523 = (u)zas_modr; - v524 = *(u *)((vc) + (48UL)); + v493 = 0; + v494 = 1; + v495 = ((u(*)())v490)(v491, v492, v493, v494); + vd = v495; + if (!*(u*)(vd + 72)) goto b203; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b207; + v497 = 0; +b208: if (!v497) goto b203; + v496 = 1; +b205: if (!v496) goto b199; + v498 = (u)zfixup_label; + v499 = *(u*)(vc + 48); + v500 = *(u*)(vd + 88); + v501 = ((u(*)())v498)(v499, v500); + v502 = (u)zadd_symbol; + v503 = *(u*)(vc + 48); + v504 = *(u*)(vd + 32); + v505 = *(u*)(vd + 88); + v506 = ((u(*)())v502)(v503, v504, v505); + v507 = (u)zas_modrr; + v508 = *(u*)(vc + 48); + v509 = 139; + v510 = 1; + v511 = 7; + v512 = ((u(*)())v507)(v508, v509, v510, v511); + v513 = (u)zas_op; + v514 = *(u*)(vc + 48); + v515 = 3890; + v516 = ((u(*)())v513)(v514, v515); + v517 = (u)zas_modri; + v518 = *(u*)(vc + 48); + v519 = 199; + v520 = 1; + v521 = 32; + v522 = ((u(*)())v517)(v518, v519, v520, v521); + v523 = (u)zas_modr; + v524 = *(u*)(vc + 48); v525 = 262355UL; - v526 = 2UL; - v527 = ((u (*)())(v523))(v524, v525, v526); -b214: v528 = (u)zas_modrr; - v529 = *(u *)((vc) + (48UL)); - v530 = 11UL; - v531 = 0UL; - v532 = 2UL; - v533 = ((u (*)())(v528))(v529, v530, v531, v532); -b215: v534 = (u)zas_op; - v535 = *(u *)((vc) + (48UL)); - v536 = 195UL; - v537 = ((u (*)())(v534))(v535, v536); + v526 = 2; + v527 = ((u(*)())v523)(v524, v525, v526); + v528 = (u)zas_modrr; + v529 = *(u*)(vc + 48); + v530 = 11; + v531 = 0; + v532 = 2; + v533 = ((u(*)())v528)(v529, v530, v531, v532); + v534 = (u)zas_op; + v535 = *(u*)(vc + 48); + v536 = 195; + v537 = ((u(*)())v534)(v535, v536); b199: v538 = (u)zfind; v539 = vc; v540 = (u)"wrmsr"; - v541 = 0UL; - v542 = 1UL; - v543 = ((u (*)())(v538))(v539, v540, v541, v542); -b217: vd = v543; - if (!(*(u *)((vd) + (72UL)))) { goto b222; } -b221: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b226; } -b225: v545 = 0UL; - goto b227; -b227: if (!(v545)) { goto b222; } -b223: v544 = 1UL; - goto b224; -b224: if (!(v544)) { goto b218; } -b219: v546 = (u)zfixup_label; - v547 = *(u *)((vc) + (48UL)); - v548 = *(u *)((vd) + (88UL)); - v549 = ((u (*)())(v546))(v547, v548); -b228: v550 = (u)zadd_symbol; - v551 = *(u *)((vc) + (48UL)); - v552 = *(u *)((vd) + (32UL)); - v553 = *(u *)((vd) + (88UL)); - v554 = ((u (*)())(v550))(v551, v552, v553); -b229: v555 = (u)zas_modrr; - v556 = *(u *)((vc) + (48UL)); - v557 = 139UL; - v558 = 0UL; - v559 = 6UL; - v560 = ((u (*)())(v555))(v556, v557, v558, v559); -b230: v561 = (u)zas_modrr; - v562 = *(u *)((vc) + (48UL)); - v563 = 139UL; - v564 = 2UL; - v565 = 6UL; - v566 = ((u (*)())(v561))(v562, v563, v564, v565); -b231: v567 = (u)zas_modri; - v568 = *(u *)((vc) + (48UL)); - v569 = 199UL; - v570 = 1UL; - v571 = 32UL; - v572 = ((u (*)())(v567))(v568, v569, v570, v571); -b232: v573 = (u)zas_modr; - v574 = *(u *)((vc) + (48UL)); + v541 = 0; + v542 = 1; + v543 = ((u(*)())v538)(v539, v540, v541, v542); + vd = v543; + if (!*(u*)(vd + 72)) goto b222; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b226; + v545 = 0; +b227: if (!v545) goto b222; + v544 = 1; +b224: if (!v544) goto b218; + v546 = (u)zfixup_label; + v547 = *(u*)(vc + 48); + v548 = *(u*)(vd + 88); + v549 = ((u(*)())v546)(v547, v548); + v550 = (u)zadd_symbol; + v551 = *(u*)(vc + 48); + v552 = *(u*)(vd + 32); + v553 = *(u*)(vd + 88); + v554 = ((u(*)())v550)(v551, v552, v553); + v555 = (u)zas_modrr; + v556 = *(u*)(vc + 48); + v557 = 139; + v558 = 0; + v559 = 6; + v560 = ((u(*)())v555)(v556, v557, v558, v559); + v561 = (u)zas_modrr; + v562 = *(u*)(vc + 48); + v563 = 139; + v564 = 2; + v565 = 6; + v566 = ((u(*)())v561)(v562, v563, v564, v565); + v567 = (u)zas_modri; + v568 = *(u*)(vc + 48); + v569 = 199; + v570 = 1; + v571 = 32; + v572 = ((u(*)())v567)(v568, v569, v570, v571); + v573 = (u)zas_modr; + v574 = *(u*)(vc + 48); v575 = 327891UL; - v576 = 2UL; - v577 = ((u (*)())(v573))(v574, v575, v576); -b233: v578 = (u)zas_modrr; - v579 = *(u *)((vc) + (48UL)); - v580 = 139UL; - v581 = 1UL; - v582 = 7UL; - v583 = ((u (*)())(v578))(v579, v580, v581, v582); -b234: v584 = (u)zas_op; - v585 = *(u *)((vc) + (48UL)); - v586 = 3888UL; - v587 = ((u (*)())(v584))(v585, v586); -b235: v588 = (u)zas_op; - v589 = *(u *)((vc) + (48UL)); - v590 = 195UL; - v591 = ((u (*)())(v588))(v589, v590); + v576 = 2; + v577 = ((u(*)())v573)(v574, v575, v576); + v578 = (u)zas_modrr; + v579 = *(u*)(vc + 48); + v580 = 139; + v581 = 1; + v582 = 7; + v583 = ((u(*)())v578)(v579, v580, v581, v582); + v584 = (u)zas_op; + v585 = *(u*)(vc + 48); + v586 = 3888; + v587 = ((u(*)())v584)(v585, v586); + v588 = (u)zas_op; + v589 = *(u*)(vc + 48); + v590 = 195; + v591 = ((u(*)())v588)(v589, v590); b218: v592 = (u)zfind; v593 = vc; v594 = (u)"rdcr0"; - v595 = 0UL; - v596 = 1UL; - v597 = ((u (*)())(v592))(v593, v594, v595, v596); -b237: vd = v597; - if (!(*(u *)((vd) + (72UL)))) { goto b242; } -b241: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b246; } -b245: v599 = 0UL; - goto b247; -b247: if (!(v599)) { goto b242; } -b243: v598 = 1UL; - goto b244; -b244: if (!(v598)) { goto b238; } -b239: v600 = (u)zfixup_label; - v601 = *(u *)((vc) + (48UL)); - v602 = *(u *)((vd) + (88UL)); - v603 = ((u (*)())(v600))(v601, v602); -b248: v604 = (u)zadd_symbol; - v605 = *(u *)((vc) + (48UL)); - v606 = *(u *)((vd) + (32UL)); - v607 = *(u *)((vd) + (88UL)); - v608 = ((u (*)())(v604))(v605, v606, v607); -b249: v609 = (u)zas_modrr; - v610 = *(u *)((vc) + (48UL)); - v611 = 3872UL; - v612 = 0UL; - v613 = 0UL; - v614 = ((u (*)())(v609))(v610, v611, v612, v613); -b250: v615 = (u)zas_op; - v616 = *(u *)((vc) + (48UL)); - v617 = 195UL; - v618 = ((u (*)())(v615))(v616, v617); + v595 = 0; + v596 = 1; + v597 = ((u(*)())v592)(v593, v594, v595, v596); + vd = v597; + if (!*(u*)(vd + 72)) goto b242; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b246; + v599 = 0; +b247: if (!v599) goto b242; + v598 = 1; +b244: if (!v598) goto b238; + v600 = (u)zfixup_label; + v601 = *(u*)(vc + 48); + v602 = *(u*)(vd + 88); + v603 = ((u(*)())v600)(v601, v602); + v604 = (u)zadd_symbol; + v605 = *(u*)(vc + 48); + v606 = *(u*)(vd + 32); + v607 = *(u*)(vd + 88); + v608 = ((u(*)())v604)(v605, v606, v607); + v609 = (u)zas_modrr; + v610 = *(u*)(vc + 48); + v611 = 3872; + v612 = 0; + v613 = 0; + v614 = ((u(*)())v609)(v610, v611, v612, v613); + v615 = (u)zas_op; + v616 = *(u*)(vc + 48); + v617 = 195; + v618 = ((u(*)())v615)(v616, v617); b238: v619 = (u)zfind; v620 = vc; v621 = (u)"wrcr0"; - v622 = 0UL; - v623 = 1UL; - v624 = ((u (*)())(v619))(v620, v621, v622, v623); -b252: vd = v624; - if (!(*(u *)((vd) + (72UL)))) { goto b257; } -b256: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b261; } -b260: v626 = 0UL; - goto b262; -b262: if (!(v626)) { goto b257; } -b258: v625 = 1UL; - goto b259; -b259: if (!(v625)) { goto b253; } -b254: v627 = (u)zfixup_label; - v628 = *(u *)((vc) + (48UL)); - v629 = *(u *)((vd) + (88UL)); - v630 = ((u (*)())(v627))(v628, v629); -b263: v631 = (u)zadd_symbol; - v632 = *(u *)((vc) + (48UL)); - v633 = *(u *)((vd) + (32UL)); - v634 = *(u *)((vd) + (88UL)); - v635 = ((u (*)())(v631))(v632, v633, v634); -b264: v636 = (u)zas_modrr; - v637 = *(u *)((vc) + (48UL)); - v638 = 3874UL; - v639 = 0UL; - v640 = 7UL; - v641 = ((u (*)())(v636))(v637, v638, v639, v640); -b265: v642 = (u)zas_op; - v643 = *(u *)((vc) + (48UL)); - v644 = 195UL; - v645 = ((u (*)())(v642))(v643, v644); + v622 = 0; + v623 = 1; + v624 = ((u(*)())v619)(v620, v621, v622, v623); + vd = v624; + if (!*(u*)(vd + 72)) goto b257; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b261; + v626 = 0; +b262: if (!v626) goto b257; + v625 = 1; +b259: if (!v625) goto b253; + v627 = (u)zfixup_label; + v628 = *(u*)(vc + 48); + v629 = *(u*)(vd + 88); + v630 = ((u(*)())v627)(v628, v629); + v631 = (u)zadd_symbol; + v632 = *(u*)(vc + 48); + v633 = *(u*)(vd + 32); + v634 = *(u*)(vd + 88); + v635 = ((u(*)())v631)(v632, v633, v634); + v636 = (u)zas_modrr; + v637 = *(u*)(vc + 48); + v638 = 3874; + v639 = 0; + v640 = 7; + v641 = ((u(*)())v636)(v637, v638, v639, v640); + v642 = (u)zas_op; + v643 = *(u*)(vc + 48); + v644 = 195; + v645 = ((u(*)())v642)(v643, v644); b253: v646 = (u)zfind; v647 = vc; v648 = (u)"rdcr2"; - v649 = 0UL; - v650 = 1UL; - v651 = ((u (*)())(v646))(v647, v648, v649, v650); -b267: vd = v651; - if (!(*(u *)((vd) + (72UL)))) { goto b272; } -b271: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b276; } -b275: v653 = 0UL; - goto b277; -b277: if (!(v653)) { goto b272; } -b273: v652 = 1UL; - goto b274; -b274: if (!(v652)) { goto b268; } -b269: v654 = (u)zfixup_label; - v655 = *(u *)((vc) + (48UL)); - v656 = *(u *)((vd) + (88UL)); - v657 = ((u (*)())(v654))(v655, v656); -b278: v658 = (u)zadd_symbol; - v659 = *(u *)((vc) + (48UL)); - v660 = *(u *)((vd) + (32UL)); - v661 = *(u *)((vd) + (88UL)); - v662 = ((u (*)())(v658))(v659, v660, v661); -b279: v663 = (u)zas_modrr; - v664 = *(u *)((vc) + (48UL)); - v665 = 3872UL; - v666 = 2UL; - v667 = 0UL; - v668 = ((u (*)())(v663))(v664, v665, v666, v667); -b280: v669 = (u)zas_op; - v670 = *(u *)((vc) + (48UL)); - v671 = 195UL; - v672 = ((u (*)())(v669))(v670, v671); + v649 = 0; + v650 = 1; + v651 = ((u(*)())v646)(v647, v648, v649, v650); + vd = v651; + if (!*(u*)(vd + 72)) goto b272; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b276; + v653 = 0; +b277: if (!v653) goto b272; + v652 = 1; +b274: if (!v652) goto b268; + v654 = (u)zfixup_label; + v655 = *(u*)(vc + 48); + v656 = *(u*)(vd + 88); + v657 = ((u(*)())v654)(v655, v656); + v658 = (u)zadd_symbol; + v659 = *(u*)(vc + 48); + v660 = *(u*)(vd + 32); + v661 = *(u*)(vd + 88); + v662 = ((u(*)())v658)(v659, v660, v661); + v663 = (u)zas_modrr; + v664 = *(u*)(vc + 48); + v665 = 3872; + v666 = 2; + v667 = 0; + v668 = ((u(*)())v663)(v664, v665, v666, v667); + v669 = (u)zas_op; + v670 = *(u*)(vc + 48); + v671 = 195; + v672 = ((u(*)())v669)(v670, v671); b268: v673 = (u)zfind; v674 = vc; v675 = (u)"wrcr2"; - v676 = 0UL; - v677 = 1UL; - v678 = ((u (*)())(v673))(v674, v675, v676, v677); -b282: vd = v678; - if (!(*(u *)((vd) + (72UL)))) { goto b287; } -b286: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b291; } -b290: v680 = 0UL; - goto b292; -b292: if (!(v680)) { goto b287; } -b288: v679 = 1UL; - goto b289; -b289: if (!(v679)) { goto b283; } -b284: v681 = (u)zfixup_label; - v682 = *(u *)((vc) + (48UL)); - v683 = *(u *)((vd) + (88UL)); - v684 = ((u (*)())(v681))(v682, v683); -b293: v685 = (u)zadd_symbol; - v686 = *(u *)((vc) + (48UL)); - v687 = *(u *)((vd) + (32UL)); - v688 = *(u *)((vd) + (88UL)); - v689 = ((u (*)())(v685))(v686, v687, v688); -b294: v690 = (u)zas_modrr; - v691 = *(u *)((vc) + (48UL)); - v692 = 3874UL; - v693 = 2UL; - v694 = 7UL; - v695 = ((u (*)())(v690))(v691, v692, v693, v694); -b295: v696 = (u)zas_op; - v697 = *(u *)((vc) + (48UL)); - v698 = 195UL; - v699 = ((u (*)())(v696))(v697, v698); + v676 = 0; + v677 = 1; + v678 = ((u(*)())v673)(v674, v675, v676, v677); + vd = v678; + if (!*(u*)(vd + 72)) goto b287; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b291; + v680 = 0; +b292: if (!v680) goto b287; + v679 = 1; +b289: if (!v679) goto b283; + v681 = (u)zfixup_label; + v682 = *(u*)(vc + 48); + v683 = *(u*)(vd + 88); + v684 = ((u(*)())v681)(v682, v683); + v685 = (u)zadd_symbol; + v686 = *(u*)(vc + 48); + v687 = *(u*)(vd + 32); + v688 = *(u*)(vd + 88); + v689 = ((u(*)())v685)(v686, v687, v688); + v690 = (u)zas_modrr; + v691 = *(u*)(vc + 48); + v692 = 3874; + v693 = 2; + v694 = 7; + v695 = ((u(*)())v690)(v691, v692, v693, v694); + v696 = (u)zas_op; + v697 = *(u*)(vc + 48); + v698 = 195; + v699 = ((u(*)())v696)(v697, v698); b283: v700 = (u)zfind; v701 = vc; v702 = (u)"rdcr3"; - v703 = 0UL; - v704 = 1UL; - v705 = ((u (*)())(v700))(v701, v702, v703, v704); -b297: vd = v705; - if (!(*(u *)((vd) + (72UL)))) { goto b302; } -b301: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b306; } -b305: v707 = 0UL; - goto b307; -b307: if (!(v707)) { goto b302; } -b303: v706 = 1UL; - goto b304; -b304: if (!(v706)) { goto b298; } -b299: v708 = (u)zfixup_label; - v709 = *(u *)((vc) + (48UL)); - v710 = *(u *)((vd) + (88UL)); - v711 = ((u (*)())(v708))(v709, v710); -b308: v712 = (u)zadd_symbol; - v713 = *(u *)((vc) + (48UL)); - v714 = *(u *)((vd) + (32UL)); - v715 = *(u *)((vd) + (88UL)); - v716 = ((u (*)())(v712))(v713, v714, v715); -b309: v717 = (u)zas_modrr; - v718 = *(u *)((vc) + (48UL)); - v719 = 3872UL; - v720 = 3UL; - v721 = 0UL; - v722 = ((u (*)())(v717))(v718, v719, v720, v721); -b310: v723 = (u)zas_op; - v724 = *(u *)((vc) + (48UL)); - v725 = 195UL; - v726 = ((u (*)())(v723))(v724, v725); + v703 = 0; + v704 = 1; + v705 = ((u(*)())v700)(v701, v702, v703, v704); + vd = v705; + if (!*(u*)(vd + 72)) goto b302; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b306; + v707 = 0; +b307: if (!v707) goto b302; + v706 = 1; +b304: if (!v706) goto b298; + v708 = (u)zfixup_label; + v709 = *(u*)(vc + 48); + v710 = *(u*)(vd + 88); + v711 = ((u(*)())v708)(v709, v710); + v712 = (u)zadd_symbol; + v713 = *(u*)(vc + 48); + v714 = *(u*)(vd + 32); + v715 = *(u*)(vd + 88); + v716 = ((u(*)())v712)(v713, v714, v715); + v717 = (u)zas_modrr; + v718 = *(u*)(vc + 48); + v719 = 3872; + v720 = 3; + v721 = 0; + v722 = ((u(*)())v717)(v718, v719, v720, v721); + v723 = (u)zas_op; + v724 = *(u*)(vc + 48); + v725 = 195; + v726 = ((u(*)())v723)(v724, v725); b298: v727 = (u)zfind; v728 = vc; v729 = (u)"wrcr3"; - v730 = 0UL; - v731 = 1UL; - v732 = ((u (*)())(v727))(v728, v729, v730, v731); -b312: vd = v732; - if (!(*(u *)((vd) + (72UL)))) { goto b317; } -b316: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b321; } -b320: v734 = 0UL; - goto b322; -b322: if (!(v734)) { goto b317; } -b318: v733 = 1UL; - goto b319; -b319: if (!(v733)) { goto b313; } -b314: v735 = (u)zfixup_label; - v736 = *(u *)((vc) + (48UL)); - v737 = *(u *)((vd) + (88UL)); - v738 = ((u (*)())(v735))(v736, v737); -b323: v739 = (u)zadd_symbol; - v740 = *(u *)((vc) + (48UL)); - v741 = *(u *)((vd) + (32UL)); - v742 = *(u *)((vd) + (88UL)); - v743 = ((u (*)())(v739))(v740, v741, v742); -b324: v744 = (u)zas_modrr; - v745 = *(u *)((vc) + (48UL)); - v746 = 3874UL; - v747 = 3UL; - v748 = 7UL; - v749 = ((u (*)())(v744))(v745, v746, v747, v748); -b325: v750 = (u)zas_op; - v751 = *(u *)((vc) + (48UL)); - v752 = 195UL; - v753 = ((u (*)())(v750))(v751, v752); + v730 = 0; + v731 = 1; + v732 = ((u(*)())v727)(v728, v729, v730, v731); + vd = v732; + if (!*(u*)(vd + 72)) goto b317; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b321; + v734 = 0; +b322: if (!v734) goto b317; + v733 = 1; +b319: if (!v733) goto b313; + v735 = (u)zfixup_label; + v736 = *(u*)(vc + 48); + v737 = *(u*)(vd + 88); + v738 = ((u(*)())v735)(v736, v737); + v739 = (u)zadd_symbol; + v740 = *(u*)(vc + 48); + v741 = *(u*)(vd + 32); + v742 = *(u*)(vd + 88); + v743 = ((u(*)())v739)(v740, v741, v742); + v744 = (u)zas_modrr; + v745 = *(u*)(vc + 48); + v746 = 3874; + v747 = 3; + v748 = 7; + v749 = ((u(*)())v744)(v745, v746, v747, v748); + v750 = (u)zas_op; + v751 = *(u*)(vc + 48); + v752 = 195; + v753 = ((u(*)())v750)(v751, v752); b313: v754 = (u)zfind; v755 = vc; v756 = (u)"rdcr4"; - v757 = 0UL; - v758 = 1UL; - v759 = ((u (*)())(v754))(v755, v756, v757, v758); -b327: vd = v759; - if (!(*(u *)((vd) + (72UL)))) { goto b332; } -b331: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b336; } -b335: v761 = 0UL; - goto b337; -b337: if (!(v761)) { goto b332; } -b333: v760 = 1UL; - goto b334; -b334: if (!(v760)) { goto b328; } -b329: v762 = (u)zfixup_label; - v763 = *(u *)((vc) + (48UL)); - v764 = *(u *)((vd) + (88UL)); - v765 = ((u (*)())(v762))(v763, v764); -b338: v766 = (u)zadd_symbol; - v767 = *(u *)((vc) + (48UL)); - v768 = *(u *)((vd) + (32UL)); - v769 = *(u *)((vd) + (88UL)); - v770 = ((u (*)())(v766))(v767, v768, v769); -b339: v771 = (u)zas_modrr; - v772 = *(u *)((vc) + (48UL)); - v773 = 3872UL; - v774 = 4UL; - v775 = 0UL; - v776 = ((u (*)())(v771))(v772, v773, v774, v775); -b340: v777 = (u)zas_op; - v778 = *(u *)((vc) + (48UL)); - v779 = 195UL; - v780 = ((u (*)())(v777))(v778, v779); + v757 = 0; + v758 = 1; + v759 = ((u(*)())v754)(v755, v756, v757, v758); + vd = v759; + if (!*(u*)(vd + 72)) goto b332; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b336; + v761 = 0; +b337: if (!v761) goto b332; + v760 = 1; +b334: if (!v760) goto b328; + v762 = (u)zfixup_label; + v763 = *(u*)(vc + 48); + v764 = *(u*)(vd + 88); + v765 = ((u(*)())v762)(v763, v764); + v766 = (u)zadd_symbol; + v767 = *(u*)(vc + 48); + v768 = *(u*)(vd + 32); + v769 = *(u*)(vd + 88); + v770 = ((u(*)())v766)(v767, v768, v769); + v771 = (u)zas_modrr; + v772 = *(u*)(vc + 48); + v773 = 3872; + v774 = 4; + v775 = 0; + v776 = ((u(*)())v771)(v772, v773, v774, v775); + v777 = (u)zas_op; + v778 = *(u*)(vc + 48); + v779 = 195; + v780 = ((u(*)())v777)(v778, v779); b328: v781 = (u)zfind; v782 = vc; v783 = (u)"wrcr4"; - v784 = 0UL; - v785 = 1UL; - v786 = ((u (*)())(v781))(v782, v783, v784, v785); -b342: vd = v786; - if (!(*(u *)((vd) + (72UL)))) { goto b347; } -b346: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b351; } -b350: v788 = 0UL; - goto b352; -b352: if (!(v788)) { goto b347; } -b348: v787 = 1UL; - goto b349; -b349: if (!(v787)) { goto b343; } -b344: v789 = (u)zfixup_label; - v790 = *(u *)((vc) + (48UL)); - v791 = *(u *)((vd) + (88UL)); - v792 = ((u (*)())(v789))(v790, v791); -b353: v793 = (u)zadd_symbol; - v794 = *(u *)((vc) + (48UL)); - v795 = *(u *)((vd) + (32UL)); - v796 = *(u *)((vd) + (88UL)); - v797 = ((u (*)())(v793))(v794, v795, v796); -b354: v798 = (u)zas_modrr; - v799 = *(u *)((vc) + (48UL)); - v800 = 3874UL; - v801 = 4UL; - v802 = 7UL; - v803 = ((u (*)())(v798))(v799, v800, v801, v802); -b355: v804 = (u)zas_op; - v805 = *(u *)((vc) + (48UL)); - v806 = 195UL; - v807 = ((u (*)())(v804))(v805, v806); + v784 = 0; + v785 = 1; + v786 = ((u(*)())v781)(v782, v783, v784, v785); + vd = v786; + if (!*(u*)(vd + 72)) goto b347; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b351; + v788 = 0; +b352: if (!v788) goto b347; + v787 = 1; +b349: if (!v787) goto b343; + v789 = (u)zfixup_label; + v790 = *(u*)(vc + 48); + v791 = *(u*)(vd + 88); + v792 = ((u(*)())v789)(v790, v791); + v793 = (u)zadd_symbol; + v794 = *(u*)(vc + 48); + v795 = *(u*)(vd + 32); + v796 = *(u*)(vd + 88); + v797 = ((u(*)())v793)(v794, v795, v796); + v798 = (u)zas_modrr; + v799 = *(u*)(vc + 48); + v800 = 3874; + v801 = 4; + v802 = 7; + v803 = ((u(*)())v798)(v799, v800, v801, v802); + v804 = (u)zas_op; + v805 = *(u*)(vc + 48); + v806 = 195; + v807 = ((u(*)())v804)(v805, v806); b343: v808 = (u)zfind; v809 = vc; v810 = (u)"lgdt"; - v811 = 0UL; - v812 = 1UL; - v813 = ((u (*)())(v808))(v809, v810, v811, v812); -b357: vd = v813; - if (!(*(u *)((vd) + (72UL)))) { goto b362; } -b361: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b366; } -b365: v815 = 0UL; - goto b367; -b367: if (!(v815)) { goto b362; } -b363: v814 = 1UL; - goto b364; -b364: if (!(v814)) { goto b358; } -b359: v816 = (u)zfixup_label; - v817 = *(u *)((vc) + (48UL)); - v818 = *(u *)((vd) + (88UL)); - v819 = ((u (*)())(v816))(v817, v818); -b368: v820 = (u)zadd_symbol; - v821 = *(u *)((vc) + (48UL)); - v822 = *(u *)((vd) + (32UL)); - v823 = *(u *)((vd) + (88UL)); - v824 = ((u (*)())(v820))(v821, v822, v823); -b369: v825 = (u)zas_modri; - v826 = *(u *)((vc) + (48UL)); + v811 = 0; + v812 = 1; + v813 = ((u(*)())v808)(v809, v810, v811, v812); + vd = v813; + if (!*(u*)(vd + 72)) goto b362; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b366; + v815 = 0; +b367: if (!v815) goto b362; + v814 = 1; +b364: if (!v814) goto b358; + v816 = (u)zfixup_label; + v817 = *(u*)(vc + 48); + v818 = *(u*)(vd + 88); + v819 = ((u(*)())v816)(v817, v818); + v820 = (u)zadd_symbol; + v821 = *(u*)(vc + 48); + v822 = *(u*)(vd + 32); + v823 = *(u*)(vd + 88); + v824 = ((u(*)())v820)(v821, v822, v823); + v825 = (u)zas_modri; + v826 = *(u*)(vc + 48); v827 = 327809UL; - v828 = 4UL; - v829 = 16UL; - v830 = ((u (*)())(v825))(v826, v827, v828, v829); -b370: v831 = (u)zas_modri; - v832 = *(u *)((vc) + (48UL)); + v828 = 4; + v829 = 16; + v830 = ((u(*)())v825)(v826, v827, v828, v829); + v831 = (u)zas_modri; + v832 = *(u*)(vc + 48); v833 = 327809UL; - v834 = 6UL; - v835 = 1UL; - v836 = ((u (*)())(v831))(v832, v833, v834, v835); -b371: v837 = (u)zas_modrm; - v838 = *(u *)((vc) + (48UL)); - v839 = 137UL; - v840 = 6UL; - v841 = 4UL; - v842 = 0UL; - v843 = 0UL; - v844 = 0UL; - v845 = ((u (*)())(v837))(v838, v839, v840, v841, v842, v843, v844); -b372: v846 = (u)zas_modrm; - v847 = *(u *)((vc) + (48UL)); - v848 = 137UL; - v849 = 7UL; - v850 = 4UL; - v851 = 0UL; - v852 = 0UL; - v853 = 2UL; - v854 = ((u (*)())(v846))(v847, v848, v849, v850, v851, v852, v853); -b373: v855 = (u)zas_modm; - v856 = *(u *)((vc) + (48UL)); + v834 = 6; + v835 = 1; + v836 = ((u(*)())v831)(v832, v833, v834, v835); + v837 = (u)zas_modrm; + v838 = *(u*)(vc + 48); + v839 = 137; + v840 = 6; + v841 = 4; + v842 = 0; + v843 = 0; + v844 = 0; + v845 = ((u(*)())v837)(v838, v839, v840, v841, v842, v843, v844); + v846 = (u)zas_modrm; + v847 = *(u*)(vc + 48); + v848 = 137; + v849 = 7; + v850 = 4; + v851 = 0; + v852 = 0; + v853 = 2; + v854 = ((u(*)())v846)(v847, v848, v849, v850, v851, v852, v853); + v855 = (u)zas_modm; + v856 = *(u*)(vc + 48); v857 = 134913UL; - v858 = 4UL; - v859 = 0UL; - v860 = 0UL; - v861 = 0UL; - v862 = ((u (*)())(v855))(v856, v857, v858, v859, v860, v861); -b374: v863 = (u)zas_modri; - v864 = *(u *)((vc) + (48UL)); - v865 = 129UL; - v866 = 4UL; - v867 = 16UL; - v868 = ((u (*)())(v863))(v864, v865, v866, v867); -b375: v869 = (u)zas_op; - v870 = *(u *)((vc) + (48UL)); - v871 = 195UL; - v872 = ((u (*)())(v869))(v870, v871); + v858 = 4; + v859 = 0; + v860 = 0; + v861 = 0; + v862 = ((u(*)())v855)(v856, v857, v858, v859, v860, v861); + v863 = (u)zas_modri; + v864 = *(u*)(vc + 48); + v865 = 129; + v866 = 4; + v867 = 16; + v868 = ((u(*)())v863)(v864, v865, v866, v867); + v869 = (u)zas_op; + v870 = *(u*)(vc + 48); + v871 = 195; + v872 = ((u(*)())v869)(v870, v871); b358: v873 = (u)zfind; v874 = vc; v875 = (u)"lidt"; - v876 = 0UL; - v877 = 1UL; - v878 = ((u (*)())(v873))(v874, v875, v876, v877); -b377: vd = v878; - if (!(*(u *)((vd) + (72UL)))) { goto b382; } -b381: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b386; } -b385: v880 = 0UL; - goto b387; -b387: if (!(v880)) { goto b382; } -b383: v879 = 1UL; - goto b384; -b384: if (!(v879)) { goto b378; } -b379: v881 = (u)zfixup_label; - v882 = *(u *)((vc) + (48UL)); - v883 = *(u *)((vd) + (88UL)); - v884 = ((u (*)())(v881))(v882, v883); -b388: v885 = (u)zadd_symbol; - v886 = *(u *)((vc) + (48UL)); - v887 = *(u *)((vd) + (32UL)); - v888 = *(u *)((vd) + (88UL)); - v889 = ((u (*)())(v885))(v886, v887, v888); -b389: v890 = (u)zas_modri; - v891 = *(u *)((vc) + (48UL)); + v876 = 0; + v877 = 1; + v878 = ((u(*)())v873)(v874, v875, v876, v877); + vd = v878; + if (!*(u*)(vd + 72)) goto b382; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b386; + v880 = 0; +b387: if (!v880) goto b382; + v879 = 1; +b384: if (!v879) goto b378; + v881 = (u)zfixup_label; + v882 = *(u*)(vc + 48); + v883 = *(u*)(vd + 88); + v884 = ((u(*)())v881)(v882, v883); + v885 = (u)zadd_symbol; + v886 = *(u*)(vc + 48); + v887 = *(u*)(vd + 32); + v888 = *(u*)(vd + 88); + v889 = ((u(*)())v885)(v886, v887, v888); + v890 = (u)zas_modri; + v891 = *(u*)(vc + 48); v892 = 327809UL; - v893 = 4UL; - v894 = 16UL; - v895 = ((u (*)())(v890))(v891, v892, v893, v894); -b390: v896 = (u)zas_modri; - v897 = *(u *)((vc) + (48UL)); + v893 = 4; + v894 = 16; + v895 = ((u(*)())v890)(v891, v892, v893, v894); + v896 = (u)zas_modri; + v897 = *(u*)(vc + 48); v898 = 327809UL; - v899 = 6UL; - v900 = 1UL; - v901 = ((u (*)())(v896))(v897, v898, v899, v900); -b391: v902 = (u)zas_modrm; - v903 = *(u *)((vc) + (48UL)); - v904 = 137UL; - v905 = 6UL; - v906 = 4UL; - v907 = 0UL; - v908 = 0UL; - v909 = 0UL; - v910 = ((u (*)())(v902))(v903, v904, v905, v906, v907, v908, v909); -b392: v911 = (u)zas_modrm; - v912 = *(u *)((vc) + (48UL)); - v913 = 137UL; - v914 = 7UL; - v915 = 4UL; - v916 = 0UL; - v917 = 0UL; - v918 = 2UL; - v919 = ((u (*)())(v911))(v912, v913, v914, v915, v916, v917, v918); -b393: v920 = (u)zas_modm; - v921 = *(u *)((vc) + (48UL)); + v899 = 6; + v900 = 1; + v901 = ((u(*)())v896)(v897, v898, v899, v900); + v902 = (u)zas_modrm; + v903 = *(u*)(vc + 48); + v904 = 137; + v905 = 6; + v906 = 4; + v907 = 0; + v908 = 0; + v909 = 0; + v910 = ((u(*)())v902)(v903, v904, v905, v906, v907, v908, v909); + v911 = (u)zas_modrm; + v912 = *(u*)(vc + 48); + v913 = 137; + v914 = 7; + v915 = 4; + v916 = 0; + v917 = 0; + v918 = 2; + v919 = ((u(*)())v911)(v912, v913, v914, v915, v916, v917, v918); + v920 = (u)zas_modm; + v921 = *(u*)(vc + 48); v922 = 200449UL; - v923 = 4UL; - v924 = 0UL; - v925 = 0UL; - v926 = 0UL; - v927 = ((u (*)())(v920))(v921, v922, v923, v924, v925, v926); -b394: v928 = (u)zas_modri; - v929 = *(u *)((vc) + (48UL)); - v930 = 129UL; - v931 = 4UL; - v932 = 16UL; - v933 = ((u (*)())(v928))(v929, v930, v931, v932); -b395: v934 = (u)zas_op; - v935 = *(u *)((vc) + (48UL)); - v936 = 195UL; - v937 = ((u (*)())(v934))(v935, v936); + v923 = 4; + v924 = 0; + v925 = 0; + v926 = 0; + v927 = ((u(*)())v920)(v921, v922, v923, v924, v925, v926); + v928 = (u)zas_modri; + v929 = *(u*)(vc + 48); + v930 = 129; + v931 = 4; + v932 = 16; + v933 = ((u(*)())v928)(v929, v930, v931, v932); + v934 = (u)zas_op; + v935 = *(u*)(vc + 48); + v936 = 195; + v937 = ((u(*)())v934)(v935, v936); b378: v938 = (u)zfind; v939 = vc; v940 = (u)"lldt"; - v941 = 0UL; - v942 = 1UL; - v943 = ((u (*)())(v938))(v939, v940, v941, v942); -b397: vd = v943; - if (!(*(u *)((vd) + (72UL)))) { goto b402; } -b401: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b406; } -b405: v945 = 0UL; - goto b407; -b407: if (!(v945)) { goto b402; } -b403: v944 = 1UL; - goto b404; -b404: if (!(v944)) { goto b398; } -b399: v946 = (u)zfixup_label; - v947 = *(u *)((vc) + (48UL)); - v948 = *(u *)((vd) + (88UL)); - v949 = ((u (*)())(v946))(v947, v948); -b408: v950 = (u)zadd_symbol; - v951 = *(u *)((vc) + (48UL)); - v952 = *(u *)((vd) + (32UL)); - v953 = *(u *)((vd) + (88UL)); - v954 = ((u (*)())(v950))(v951, v952, v953); -b409: v955 = (u)zas_modr; - v956 = *(u *)((vc) + (48UL)); + v941 = 0; + v942 = 1; + v943 = ((u(*)())v938)(v939, v940, v941, v942); + vd = v943; + if (!*(u*)(vd + 72)) goto b402; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b406; + v945 = 0; +b407: if (!v945) goto b402; + v944 = 1; +b404: if (!v944) goto b398; + v946 = (u)zfixup_label; + v947 = *(u*)(vc + 48); + v948 = *(u*)(vd + 88); + v949 = ((u(*)())v946)(v947, v948); + v950 = (u)zadd_symbol; + v951 = *(u*)(vc + 48); + v952 = *(u*)(vd + 32); + v953 = *(u*)(vd + 88); + v954 = ((u(*)())v950)(v951, v952, v953); + v955 = (u)zas_modr; + v956 = *(u*)(vc + 48); v957 = 134912UL; - v958 = 7UL; - v959 = ((u (*)())(v955))(v956, v957, v958); -b410: v960 = (u)zas_op; - v961 = *(u *)((vc) + (48UL)); - v962 = 195UL; - v963 = ((u (*)())(v960))(v961, v962); + v958 = 7; + v959 = ((u(*)())v955)(v956, v957, v958); + v960 = (u)zas_op; + v961 = *(u*)(vc + 48); + v962 = 195; + v963 = ((u(*)())v960)(v961, v962); b398: v964 = (u)zfind; v965 = vc; v966 = (u)"ltr"; - v967 = 0UL; - v968 = 1UL; - v969 = ((u (*)())(v964))(v965, v966, v967, v968); -b412: vd = v969; - if (!(*(u *)((vd) + (72UL)))) { goto b417; } -b416: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b421; } -b420: v971 = 0UL; - goto b422; -b422: if (!(v971)) { goto b417; } -b418: v970 = 1UL; - goto b419; -b419: if (!(v970)) { goto b413; } -b414: v972 = (u)zfixup_label; - v973 = *(u *)((vc) + (48UL)); - v974 = *(u *)((vd) + (88UL)); - v975 = ((u (*)())(v972))(v973, v974); -b423: v976 = (u)zadd_symbol; - v977 = *(u *)((vc) + (48UL)); - v978 = *(u *)((vd) + (32UL)); - v979 = *(u *)((vd) + (88UL)); - v980 = ((u (*)())(v976))(v977, v978, v979); -b424: v981 = (u)zas_modr; - v982 = *(u *)((vc) + (48UL)); + v967 = 0; + v968 = 1; + v969 = ((u(*)())v964)(v965, v966, v967, v968); + vd = v969; + if (!*(u*)(vd + 72)) goto b417; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b421; + v971 = 0; +b422: if (!v971) goto b417; + v970 = 1; +b419: if (!v970) goto b413; + v972 = (u)zfixup_label; + v973 = *(u*)(vc + 48); + v974 = *(u*)(vd + 88); + v975 = ((u(*)())v972)(v973, v974); + v976 = (u)zadd_symbol; + v977 = *(u*)(vc + 48); + v978 = *(u*)(vd + 32); + v979 = *(u*)(vd + 88); + v980 = ((u(*)())v976)(v977, v978, v979); + v981 = (u)zas_modr; + v982 = *(u*)(vc + 48); v983 = 200448UL; - v984 = 7UL; - v985 = ((u (*)())(v981))(v982, v983, v984); -b425: v986 = (u)zas_op; - v987 = *(u *)((vc) + (48UL)); - v988 = 195UL; - v989 = ((u (*)())(v986))(v987, v988); + v984 = 7; + v985 = ((u(*)())v981)(v982, v983, v984); + v986 = (u)zas_op; + v987 = *(u*)(vc + 48); + v988 = 195; + v989 = ((u(*)())v986)(v987, v988); b413: v990 = (u)zfind; v991 = vc; v992 = (u)"lseg"; - v993 = 0UL; - v994 = 1UL; - v995 = ((u (*)())(v990))(v991, v992, v993, v994); -b427: vd = v995; - if (!(*(u *)((vd) + (72UL)))) { goto b432; } -b431: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b436; } -b435: v997 = 0UL; - goto b437; -b437: if (!(v997)) { goto b432; } -b433: v996 = 1UL; - goto b434; -b434: if (!(v996)) { goto b428; } -b429: v998 = (u)zfixup_label; - v999 = *(u *)((vc) + (48UL)); - v1000 = *(u *)((vd) + (88UL)); - v1001 = ((u (*)())(v998))(v999, v1000); -b438: v1002 = (u)zadd_symbol; - v1003 = *(u *)((vc) + (48UL)); - v1004 = *(u *)((vd) + (32UL)); - v1005 = *(u *)((vd) + (88UL)); - v1006 = ((u (*)())(v1002))(v1003, v1004, v1005); -b439: v1007 = (u)zas_opr; - v1008 = *(u *)((vc) + (48UL)); - v1009 = 80UL; - v1010 = 5UL; - v1011 = ((u (*)())(v1007))(v1008, v1009, v1010); -b440: v1012 = (u)zas_modrr; - v1013 = *(u *)((vc) + (48UL)); - v1014 = 139UL; - v1015 = 5UL; - v1016 = 4UL; - v1017 = ((u (*)())(v1012))(v1013, v1014, v1015, v1016); -b441: v1018 = (u)zas_modrr; - v1019 = *(u *)((vc) + (48UL)); - v1020 = 142UL; - v1021 = 0UL; - v1022 = 6UL; - v1023 = ((u (*)())(v1018))(v1019, v1020, v1021, v1022); -b442: v1024 = (u)zas_modrr; - v1025 = *(u *)((vc) + (48UL)); - v1026 = 142UL; - v1027 = 3UL; - v1028 = 6UL; - v1029 = ((u (*)())(v1024))(v1025, v1026, v1027, v1028); -b443: v1030 = (u)zas_modrr; - v1031 = *(u *)((vc) + (48UL)); - v1032 = 142UL; - v1033 = 4UL; - v1034 = 6UL; - v1035 = ((u (*)())(v1030))(v1031, v1032, v1033, v1034); -b444: v1036 = (u)zas_modrr; - v1037 = *(u *)((vc) + (48UL)); - v1038 = 142UL; - v1039 = 5UL; - v1040 = 6UL; - v1041 = ((u (*)())(v1036))(v1037, v1038, v1039, v1040); -b445: v1042 = (u)zas_opr; - v1043 = *(u *)((vc) + (48UL)); - v1044 = 80UL; - v1045 = 6UL; - v1046 = ((u (*)())(v1042))(v1043, v1044, v1045); -b446: v1047 = (u)zas_opr; - v1048 = *(u *)((vc) + (48UL)); - v1049 = 80UL; - v1050 = 5UL; - v1051 = ((u (*)())(v1047))(v1048, v1049, v1050); -b447: v1052 = (u)zas_op; - v1053 = *(u *)((vc) + (48UL)); - v1054 = 156UL; - v1055 = ((u (*)())(v1052))(v1053, v1054); -b448: v1056 = (u)zas_opr; - v1057 = *(u *)((vc) + (48UL)); - v1058 = 80UL; - v1059 = 7UL; - v1060 = ((u (*)())(v1056))(v1057, v1058, v1059); -b449: v1061 = (u)zas_op; - v1062 = *(u *)((vc) + (48UL)); - v1063 = 232UL; - v1064 = ((u (*)())(v1061))(v1062, v1063); -b450: v1065 = (u)zas_emit; - v1066 = *(u *)((vc) + (48UL)); - v1067 = 5UL; - v1068 = ((u (*)())(v1065))(v1066, v1067); -b451: v1069 = (u)zas_emit; - v1070 = *(u *)((vc) + (48UL)); - v1071 = 0UL; - v1072 = ((u (*)())(v1069))(v1070, v1071); -b452: v1073 = (u)zas_emit; - v1074 = *(u *)((vc) + (48UL)); - v1075 = 0UL; - v1076 = ((u (*)())(v1073))(v1074, v1075); -b453: v1077 = (u)zas_emit; - v1078 = *(u *)((vc) + (48UL)); - v1079 = 0UL; - v1080 = ((u (*)())(v1077))(v1078, v1079); -b454: v1081 = (u)zas_op; - v1082 = *(u *)((vc) + (48UL)); - v1083 = 233UL; - v1084 = ((u (*)())(v1081))(v1082, v1083); -b455: v1085 = (u)zas_emit; - v1086 = *(u *)((vc) + (48UL)); - v1087 = 2UL; - v1088 = ((u (*)())(v1085))(v1086, v1087); -b456: v1089 = (u)zas_emit; - v1090 = *(u *)((vc) + (48UL)); - v1091 = 0UL; - v1092 = ((u (*)())(v1089))(v1090, v1091); -b457: v1093 = (u)zas_emit; - v1094 = *(u *)((vc) + (48UL)); - v1095 = 0UL; - v1096 = ((u (*)())(v1093))(v1094, v1095); -b458: v1097 = (u)zas_emit; - v1098 = *(u *)((vc) + (48UL)); - v1099 = 0UL; - v1100 = ((u (*)())(v1097))(v1098, v1099); -b459: v1101 = (u)zas_op; - v1102 = *(u *)((vc) + (48UL)); - v1103 = 18639UL; - v1104 = ((u (*)())(v1101))(v1102, v1103); -b460: v1105 = (u)zas_opr; - v1106 = *(u *)((vc) + (48UL)); - v1107 = 88UL; - v1108 = 5UL; - v1109 = ((u (*)())(v1105))(v1106, v1107, v1108); -b461: v1110 = (u)zas_op; - v1111 = *(u *)((vc) + (48UL)); - v1112 = 195UL; - v1113 = ((u (*)())(v1110))(v1111, v1112); + v993 = 0; + v994 = 1; + v995 = ((u(*)())v990)(v991, v992, v993, v994); + vd = v995; + if (!*(u*)(vd + 72)) goto b432; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b436; + v997 = 0; +b437: if (!v997) goto b432; + v996 = 1; +b434: if (!v996) goto b428; + v998 = (u)zfixup_label; + v999 = *(u*)(vc + 48); + v1000 = *(u*)(vd + 88); + v1001 = ((u(*)())v998)(v999, v1000); + v1002 = (u)zadd_symbol; + v1003 = *(u*)(vc + 48); + v1004 = *(u*)(vd + 32); + v1005 = *(u*)(vd + 88); + v1006 = ((u(*)())v1002)(v1003, v1004, v1005); + v1007 = (u)zas_opr; + v1008 = *(u*)(vc + 48); + v1009 = 80; + v1010 = 5; + v1011 = ((u(*)())v1007)(v1008, v1009, v1010); + v1012 = (u)zas_modrr; + v1013 = *(u*)(vc + 48); + v1014 = 139; + v1015 = 5; + v1016 = 4; + v1017 = ((u(*)())v1012)(v1013, v1014, v1015, v1016); + v1018 = (u)zas_modrr; + v1019 = *(u*)(vc + 48); + v1020 = 142; + v1021 = 0; + v1022 = 6; + v1023 = ((u(*)())v1018)(v1019, v1020, v1021, v1022); + v1024 = (u)zas_modrr; + v1025 = *(u*)(vc + 48); + v1026 = 142; + v1027 = 3; + v1028 = 6; + v1029 = ((u(*)())v1024)(v1025, v1026, v1027, v1028); + v1030 = (u)zas_modrr; + v1031 = *(u*)(vc + 48); + v1032 = 142; + v1033 = 4; + v1034 = 6; + v1035 = ((u(*)())v1030)(v1031, v1032, v1033, v1034); + v1036 = (u)zas_modrr; + v1037 = *(u*)(vc + 48); + v1038 = 142; + v1039 = 5; + v1040 = 6; + v1041 = ((u(*)())v1036)(v1037, v1038, v1039, v1040); + v1042 = (u)zas_opr; + v1043 = *(u*)(vc + 48); + v1044 = 80; + v1045 = 6; + v1046 = ((u(*)())v1042)(v1043, v1044, v1045); + v1047 = (u)zas_opr; + v1048 = *(u*)(vc + 48); + v1049 = 80; + v1050 = 5; + v1051 = ((u(*)())v1047)(v1048, v1049, v1050); + v1052 = (u)zas_op; + v1053 = *(u*)(vc + 48); + v1054 = 156; + v1055 = ((u(*)())v1052)(v1053, v1054); + v1056 = (u)zas_opr; + v1057 = *(u*)(vc + 48); + v1058 = 80; + v1059 = 7; + v1060 = ((u(*)())v1056)(v1057, v1058, v1059); + v1061 = (u)zas_op; + v1062 = *(u*)(vc + 48); + v1063 = 232; + v1064 = ((u(*)())v1061)(v1062, v1063); + v1065 = (u)zas_emit; + v1066 = *(u*)(vc + 48); + v1067 = 5; + v1068 = ((u(*)())v1065)(v1066, v1067); + v1069 = (u)zas_emit; + v1070 = *(u*)(vc + 48); + v1071 = 0; + v1072 = ((u(*)())v1069)(v1070, v1071); + v1073 = (u)zas_emit; + v1074 = *(u*)(vc + 48); + v1075 = 0; + v1076 = ((u(*)())v1073)(v1074, v1075); + v1077 = (u)zas_emit; + v1078 = *(u*)(vc + 48); + v1079 = 0; + v1080 = ((u(*)())v1077)(v1078, v1079); + v1081 = (u)zas_op; + v1082 = *(u*)(vc + 48); + v1083 = 233; + v1084 = ((u(*)())v1081)(v1082, v1083); + v1085 = (u)zas_emit; + v1086 = *(u*)(vc + 48); + v1087 = 2; + v1088 = ((u(*)())v1085)(v1086, v1087); + v1089 = (u)zas_emit; + v1090 = *(u*)(vc + 48); + v1091 = 0; + v1092 = ((u(*)())v1089)(v1090, v1091); + v1093 = (u)zas_emit; + v1094 = *(u*)(vc + 48); + v1095 = 0; + v1096 = ((u(*)())v1093)(v1094, v1095); + v1097 = (u)zas_emit; + v1098 = *(u*)(vc + 48); + v1099 = 0; + v1100 = ((u(*)())v1097)(v1098, v1099); + v1101 = (u)zas_op; + v1102 = *(u*)(vc + 48); + v1103 = 18639; + v1104 = ((u(*)())v1101)(v1102, v1103); + v1105 = (u)zas_opr; + v1106 = *(u*)(vc + 48); + v1107 = 88; + v1108 = 5; + v1109 = ((u(*)())v1105)(v1106, v1107, v1108); + v1110 = (u)zas_op; + v1111 = *(u*)(vc + 48); + v1112 = 195; + v1113 = ((u(*)())v1110)(v1111, v1112); b428: v1114 = (u)zfind; v1115 = vc; v1116 = (u)"hlt"; - v1117 = 0UL; - v1118 = 1UL; - v1119 = ((u (*)())(v1114))(v1115, v1116, v1117, v1118); -b463: vd = v1119; - if (!(*(u *)((vd) + (72UL)))) { goto b468; } -b467: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b472; } -b471: v1121 = 0UL; - goto b473; -b473: if (!(v1121)) { goto b468; } -b469: v1120 = 1UL; - goto b470; -b470: if (!(v1120)) { goto b464; } -b465: v1122 = (u)zfixup_label; - v1123 = *(u *)((vc) + (48UL)); - v1124 = *(u *)((vd) + (88UL)); - v1125 = ((u (*)())(v1122))(v1123, v1124); -b474: v1126 = (u)zadd_symbol; - v1127 = *(u *)((vc) + (48UL)); - v1128 = *(u *)((vd) + (32UL)); - v1129 = *(u *)((vd) + (88UL)); - v1130 = ((u (*)())(v1126))(v1127, v1128, v1129); -b475: v1131 = (u)zas_op; - v1132 = *(u *)((vc) + (48UL)); - v1133 = 244UL; - v1134 = ((u (*)())(v1131))(v1132, v1133); -b476: v1135 = (u)zas_op; - v1136 = *(u *)((vc) + (48UL)); - v1137 = 195UL; - v1138 = ((u (*)())(v1135))(v1136, v1137); + v1117 = 0; + v1118 = 1; + v1119 = ((u(*)())v1114)(v1115, v1116, v1117, v1118); + vd = v1119; + if (!*(u*)(vd + 72)) goto b468; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b472; + v1121 = 0; +b473: if (!v1121) goto b468; + v1120 = 1; +b470: if (!v1120) goto b464; + v1122 = (u)zfixup_label; + v1123 = *(u*)(vc + 48); + v1124 = *(u*)(vd + 88); + v1125 = ((u(*)())v1122)(v1123, v1124); + v1126 = (u)zadd_symbol; + v1127 = *(u*)(vc + 48); + v1128 = *(u*)(vd + 32); + v1129 = *(u*)(vd + 88); + v1130 = ((u(*)())v1126)(v1127, v1128, v1129); + v1131 = (u)zas_op; + v1132 = *(u*)(vc + 48); + v1133 = 244; + v1134 = ((u(*)())v1131)(v1132, v1133); + v1135 = (u)zas_op; + v1136 = *(u*)(vc + 48); + v1137 = 195; + v1138 = ((u(*)())v1135)(v1136, v1137); b464: v1139 = (u)zfind; v1140 = vc; v1141 = (u)"cli"; - v1142 = 0UL; - v1143 = 1UL; - v1144 = ((u (*)())(v1139))(v1140, v1141, v1142, v1143); -b478: vd = v1144; - if (!(*(u *)((vd) + (72UL)))) { goto b483; } -b482: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b487; } -b486: v1146 = 0UL; - goto b488; -b488: if (!(v1146)) { goto b483; } -b484: v1145 = 1UL; - goto b485; -b485: if (!(v1145)) { goto b479; } -b480: v1147 = (u)zfixup_label; - v1148 = *(u *)((vc) + (48UL)); - v1149 = *(u *)((vd) + (88UL)); - v1150 = ((u (*)())(v1147))(v1148, v1149); -b489: v1151 = (u)zadd_symbol; - v1152 = *(u *)((vc) + (48UL)); - v1153 = *(u *)((vd) + (32UL)); - v1154 = *(u *)((vd) + (88UL)); - v1155 = ((u (*)())(v1151))(v1152, v1153, v1154); -b490: v1156 = (u)zas_op; - v1157 = *(u *)((vc) + (48UL)); - v1158 = 250UL; - v1159 = ((u (*)())(v1156))(v1157, v1158); -b491: v1160 = (u)zas_op; - v1161 = *(u *)((vc) + (48UL)); - v1162 = 195UL; - v1163 = ((u (*)())(v1160))(v1161, v1162); + v1142 = 0; + v1143 = 1; + v1144 = ((u(*)())v1139)(v1140, v1141, v1142, v1143); + vd = v1144; + if (!*(u*)(vd + 72)) goto b483; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b487; + v1146 = 0; +b488: if (!v1146) goto b483; + v1145 = 1; +b485: if (!v1145) goto b479; + v1147 = (u)zfixup_label; + v1148 = *(u*)(vc + 48); + v1149 = *(u*)(vd + 88); + v1150 = ((u(*)())v1147)(v1148, v1149); + v1151 = (u)zadd_symbol; + v1152 = *(u*)(vc + 48); + v1153 = *(u*)(vd + 32); + v1154 = *(u*)(vd + 88); + v1155 = ((u(*)())v1151)(v1152, v1153, v1154); + v1156 = (u)zas_op; + v1157 = *(u*)(vc + 48); + v1158 = 250; + v1159 = ((u(*)())v1156)(v1157, v1158); + v1160 = (u)zas_op; + v1161 = *(u*)(vc + 48); + v1162 = 195; + v1163 = ((u(*)())v1160)(v1161, v1162); b479: v1164 = (u)zfind; v1165 = vc; v1166 = (u)"sti"; - v1167 = 0UL; - v1168 = 1UL; - v1169 = ((u (*)())(v1164))(v1165, v1166, v1167, v1168); -b493: vd = v1169; - if (!(*(u *)((vd) + (72UL)))) { goto b498; } -b497: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b502; } -b501: v1171 = 0UL; - goto b503; -b503: if (!(v1171)) { goto b498; } -b499: v1170 = 1UL; - goto b500; -b500: if (!(v1170)) { goto b494; } -b495: v1172 = (u)zfixup_label; - v1173 = *(u *)((vc) + (48UL)); - v1174 = *(u *)((vd) + (88UL)); - v1175 = ((u (*)())(v1172))(v1173, v1174); -b504: v1176 = (u)zadd_symbol; - v1177 = *(u *)((vc) + (48UL)); - v1178 = *(u *)((vd) + (32UL)); - v1179 = *(u *)((vd) + (88UL)); - v1180 = ((u (*)())(v1176))(v1177, v1178, v1179); -b505: v1181 = (u)zas_op; - v1182 = *(u *)((vc) + (48UL)); - v1183 = 251UL; - v1184 = ((u (*)())(v1181))(v1182, v1183); -b506: v1185 = (u)zas_op; - v1186 = *(u *)((vc) + (48UL)); - v1187 = 195UL; - v1188 = ((u (*)())(v1185))(v1186, v1187); + v1167 = 0; + v1168 = 1; + v1169 = ((u(*)())v1164)(v1165, v1166, v1167, v1168); + vd = v1169; + if (!*(u*)(vd + 72)) goto b498; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b502; + v1171 = 0; +b503: if (!v1171) goto b498; + v1170 = 1; +b500: if (!v1170) goto b494; + v1172 = (u)zfixup_label; + v1173 = *(u*)(vc + 48); + v1174 = *(u*)(vd + 88); + v1175 = ((u(*)())v1172)(v1173, v1174); + v1176 = (u)zadd_symbol; + v1177 = *(u*)(vc + 48); + v1178 = *(u*)(vd + 32); + v1179 = *(u*)(vd + 88); + v1180 = ((u(*)())v1176)(v1177, v1178, v1179); + v1181 = (u)zas_op; + v1182 = *(u*)(vc + 48); + v1183 = 251; + v1184 = ((u(*)())v1181)(v1182, v1183); + v1185 = (u)zas_op; + v1186 = *(u*)(vc + 48); + v1187 = 195; + v1188 = ((u(*)())v1185)(v1186, v1187); b494: v1189 = (u)zfind; v1190 = vc; v1191 = (u)"rdflags"; - v1192 = 0UL; - v1193 = 1UL; - v1194 = ((u (*)())(v1189))(v1190, v1191, v1192, v1193); -b508: vd = v1194; - if (!(*(u *)((vd) + (72UL)))) { goto b513; } -b512: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b517; } -b516: v1196 = 0UL; - goto b518; -b518: if (!(v1196)) { goto b513; } -b514: v1195 = 1UL; - goto b515; -b515: if (!(v1195)) { goto b509; } -b510: v1197 = (u)zfixup_label; - v1198 = *(u *)((vc) + (48UL)); - v1199 = *(u *)((vd) + (88UL)); - v1200 = ((u (*)())(v1197))(v1198, v1199); -b519: v1201 = (u)zadd_symbol; - v1202 = *(u *)((vc) + (48UL)); - v1203 = *(u *)((vd) + (32UL)); - v1204 = *(u *)((vd) + (88UL)); - v1205 = ((u (*)())(v1201))(v1202, v1203, v1204); -b520: v1206 = (u)zas_op; - v1207 = *(u *)((vc) + (48UL)); - v1208 = 156UL; - v1209 = ((u (*)())(v1206))(v1207, v1208); -b521: v1210 = (u)zas_opr; - v1211 = *(u *)((vc) + (48UL)); - v1212 = 88UL; - v1213 = 0UL; - v1214 = ((u (*)())(v1210))(v1211, v1212, v1213); -b522: v1215 = (u)zas_op; - v1216 = *(u *)((vc) + (48UL)); - v1217 = 195UL; - v1218 = ((u (*)())(v1215))(v1216, v1217); + v1192 = 0; + v1193 = 1; + v1194 = ((u(*)())v1189)(v1190, v1191, v1192, v1193); + vd = v1194; + if (!*(u*)(vd + 72)) goto b513; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b517; + v1196 = 0; +b518: if (!v1196) goto b513; + v1195 = 1; +b515: if (!v1195) goto b509; + v1197 = (u)zfixup_label; + v1198 = *(u*)(vc + 48); + v1199 = *(u*)(vd + 88); + v1200 = ((u(*)())v1197)(v1198, v1199); + v1201 = (u)zadd_symbol; + v1202 = *(u*)(vc + 48); + v1203 = *(u*)(vd + 32); + v1204 = *(u*)(vd + 88); + v1205 = ((u(*)())v1201)(v1202, v1203, v1204); + v1206 = (u)zas_op; + v1207 = *(u*)(vc + 48); + v1208 = 156; + v1209 = ((u(*)())v1206)(v1207, v1208); + v1210 = (u)zas_opr; + v1211 = *(u*)(vc + 48); + v1212 = 88; + v1213 = 0; + v1214 = ((u(*)())v1210)(v1211, v1212, v1213); + v1215 = (u)zas_op; + v1216 = *(u*)(vc + 48); + v1217 = 195; + v1218 = ((u(*)())v1215)(v1216, v1217); b509: v1219 = (u)zfind; v1220 = vc; v1221 = (u)"wrflags"; - v1222 = 0UL; - v1223 = 1UL; - v1224 = ((u (*)())(v1219))(v1220, v1221, v1222, v1223); -b524: vd = v1224; - if (!(*(u *)((vd) + (72UL)))) { goto b529; } -b528: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b533; } -b532: v1226 = 0UL; - goto b534; -b534: if (!(v1226)) { goto b529; } -b530: v1225 = 1UL; - goto b531; -b531: if (!(v1225)) { goto b525; } -b526: v1227 = (u)zfixup_label; - v1228 = *(u *)((vc) + (48UL)); - v1229 = *(u *)((vd) + (88UL)); - v1230 = ((u (*)())(v1227))(v1228, v1229); -b535: v1231 = (u)zadd_symbol; - v1232 = *(u *)((vc) + (48UL)); - v1233 = *(u *)((vd) + (32UL)); - v1234 = *(u *)((vd) + (88UL)); - v1235 = ((u (*)())(v1231))(v1232, v1233, v1234); -b536: v1236 = (u)zas_opr; - v1237 = *(u *)((vc) + (48UL)); - v1238 = 80UL; - v1239 = 7UL; - v1240 = ((u (*)())(v1236))(v1237, v1238, v1239); -b537: v1241 = (u)zas_op; - v1242 = *(u *)((vc) + (48UL)); - v1243 = 157UL; - v1244 = ((u (*)())(v1241))(v1242, v1243); -b538: v1245 = (u)zas_op; - v1246 = *(u *)((vc) + (48UL)); - v1247 = 195UL; - v1248 = ((u (*)())(v1245))(v1246, v1247); + v1222 = 0; + v1223 = 1; + v1224 = ((u(*)())v1219)(v1220, v1221, v1222, v1223); + vd = v1224; + if (!*(u*)(vd + 72)) goto b529; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b533; + v1226 = 0; +b534: if (!v1226) goto b529; + v1225 = 1; +b531: if (!v1225) goto b525; + v1227 = (u)zfixup_label; + v1228 = *(u*)(vc + 48); + v1229 = *(u*)(vd + 88); + v1230 = ((u(*)())v1227)(v1228, v1229); + v1231 = (u)zadd_symbol; + v1232 = *(u*)(vc + 48); + v1233 = *(u*)(vd + 32); + v1234 = *(u*)(vd + 88); + v1235 = ((u(*)())v1231)(v1232, v1233, v1234); + v1236 = (u)zas_opr; + v1237 = *(u*)(vc + 48); + v1238 = 80; + v1239 = 7; + v1240 = ((u(*)())v1236)(v1237, v1238, v1239); + v1241 = (u)zas_op; + v1242 = *(u*)(vc + 48); + v1243 = 157; + v1244 = ((u(*)())v1241)(v1242, v1243); + v1245 = (u)zas_op; + v1246 = *(u*)(vc + 48); + v1247 = 195; + v1248 = ((u(*)())v1245)(v1246, v1247); b525: v1249 = (u)zfind; v1250 = vc; v1251 = (u)"wbinvld"; - v1252 = 0UL; - v1253 = 1UL; - v1254 = ((u (*)())(v1249))(v1250, v1251, v1252, v1253); -b540: vd = v1254; - if (!(*(u *)((vd) + (72UL)))) { goto b545; } -b544: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b549; } -b548: v1256 = 0UL; - goto b550; -b550: if (!(v1256)) { goto b545; } -b546: v1255 = 1UL; - goto b547; -b547: if (!(v1255)) { goto b541; } -b542: v1257 = (u)zfixup_label; - v1258 = *(u *)((vc) + (48UL)); - v1259 = *(u *)((vd) + (88UL)); - v1260 = ((u (*)())(v1257))(v1258, v1259); -b551: v1261 = (u)zadd_symbol; - v1262 = *(u *)((vc) + (48UL)); - v1263 = *(u *)((vd) + (32UL)); - v1264 = *(u *)((vd) + (88UL)); - v1265 = ((u (*)())(v1261))(v1262, v1263, v1264); -b552: v1266 = (u)zas_modm; - v1267 = *(u *)((vc) + (48UL)); - v1268 = 3849UL; - v1269 = 7UL; - v1270 = 0UL; - v1271 = 0UL; - v1272 = 0UL; - v1273 = ((u (*)())(v1266))(v1267, v1268, v1269, v1270, v1271, v1272); -b553: v1274 = (u)zas_op; - v1275 = *(u *)((vc) + (48UL)); - v1276 = 195UL; - v1277 = ((u (*)())(v1274))(v1275, v1276); + v1252 = 0; + v1253 = 1; + v1254 = ((u(*)())v1249)(v1250, v1251, v1252, v1253); + vd = v1254; + if (!*(u*)(vd + 72)) goto b545; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b549; + v1256 = 0; +b550: if (!v1256) goto b545; + v1255 = 1; +b547: if (!v1255) goto b541; + v1257 = (u)zfixup_label; + v1258 = *(u*)(vc + 48); + v1259 = *(u*)(vd + 88); + v1260 = ((u(*)())v1257)(v1258, v1259); + v1261 = (u)zadd_symbol; + v1262 = *(u*)(vc + 48); + v1263 = *(u*)(vd + 32); + v1264 = *(u*)(vd + 88); + v1265 = ((u(*)())v1261)(v1262, v1263, v1264); + v1266 = (u)zas_modm; + v1267 = *(u*)(vc + 48); + v1268 = 3849; + v1269 = 7; + v1270 = 0; + v1271 = 0; + v1272 = 0; + v1273 = ((u(*)())v1266)(v1267, v1268, v1269, v1270, v1271, v1272); + v1274 = (u)zas_op; + v1275 = *(u*)(vc + 48); + v1276 = 195; + v1277 = ((u(*)())v1274)(v1275, v1276); b541: v1278 = (u)zfind; v1279 = vc; v1280 = (u)"invlpg"; - v1281 = 0UL; - v1282 = 1UL; - v1283 = ((u (*)())(v1278))(v1279, v1280, v1281, v1282); -b555: vd = v1283; - if (!(*(u *)((vd) + (72UL)))) { goto b560; } -b559: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b564; } -b563: v1285 = 0UL; - goto b565; -b565: if (!(v1285)) { goto b560; } -b561: v1284 = 1UL; - goto b562; -b562: if (!(v1284)) { goto b556; } -b557: v1286 = (u)zfixup_label; - v1287 = *(u *)((vc) + (48UL)); - v1288 = *(u *)((vd) + (88UL)); - v1289 = ((u (*)())(v1286))(v1287, v1288); -b566: v1290 = (u)zadd_symbol; - v1291 = *(u *)((vc) + (48UL)); - v1292 = *(u *)((vd) + (32UL)); - v1293 = *(u *)((vd) + (88UL)); - v1294 = ((u (*)())(v1290))(v1291, v1292, v1293); -b567: v1295 = (u)zas_modm; - v1296 = *(u *)((vc) + (48UL)); + v1281 = 0; + v1282 = 1; + v1283 = ((u(*)())v1278)(v1279, v1280, v1281, v1282); + vd = v1283; + if (!*(u*)(vd + 72)) goto b560; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b564; + v1285 = 0; +b565: if (!v1285) goto b560; + v1284 = 1; +b562: if (!v1284) goto b556; + v1286 = (u)zfixup_label; + v1287 = *(u*)(vc + 48); + v1288 = *(u*)(vd + 88); + v1289 = ((u(*)())v1286)(v1287, v1288); + v1290 = (u)zadd_symbol; + v1291 = *(u*)(vc + 48); + v1292 = *(u*)(vd + 32); + v1293 = *(u*)(vd + 88); + v1294 = ((u(*)())v1290)(v1291, v1292, v1293); + v1295 = (u)zas_modm; + v1296 = *(u*)(vc + 48); v1297 = 462593UL; - v1298 = 7UL; - v1299 = 0UL; - v1300 = 0UL; - v1301 = 0UL; - v1302 = ((u (*)())(v1295))(v1296, v1297, v1298, v1299, v1300, v1301); -b568: v1303 = (u)zas_op; - v1304 = *(u *)((vc) + (48UL)); - v1305 = 195UL; - v1306 = ((u (*)())(v1303))(v1304, v1305); + v1298 = 7; + v1299 = 0; + v1300 = 0; + v1301 = 0; + v1302 = ((u(*)())v1295)(v1296, v1297, v1298, v1299, v1300, v1301); + v1303 = (u)zas_op; + v1304 = *(u*)(vc + 48); + v1305 = 195; + v1306 = ((u(*)())v1303)(v1304, v1305); b556: v1307 = (u)zfind; v1308 = vc; v1309 = (u)"_ssr0"; - v1310 = 0UL; - v1311 = 1UL; - v1312 = ((u (*)())(v1307))(v1308, v1309, v1310, v1311); -b570: vd = v1312; - if (!(*(u *)((vd) + (72UL)))) { goto b575; } -b574: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b579; } -b578: v1314 = 0UL; - goto b580; -b580: if (!(v1314)) { goto b575; } -b576: v1313 = 1UL; - goto b577; -b577: if (!(v1313)) { goto b571; } -b572: v1315 = (u)zfixup_label; - v1316 = *(u *)((vc) + (48UL)); - v1317 = *(u *)((vd) + (88UL)); - v1318 = ((u (*)())(v1315))(v1316, v1317); -b581: v1319 = (u)zadd_symbol; - v1320 = *(u *)((vc) + (48UL)); - v1321 = *(u *)((vd) + (32UL)); - v1322 = *(u *)((vd) + (88UL)); - v1323 = ((u (*)())(v1319))(v1320, v1321, v1322); -b582: v1324 = (u)zemit_ssr; + v1310 = 0; + v1311 = 1; + v1312 = ((u(*)())v1307)(v1308, v1309, v1310, v1311); + vd = v1312; + if (!*(u*)(vd + 72)) goto b575; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b579; + v1314 = 0; +b580: if (!v1314) goto b575; + v1313 = 1; +b577: if (!v1313) goto b571; + v1315 = (u)zfixup_label; + v1316 = *(u*)(vc + 48); + v1317 = *(u*)(vd + 88); + v1318 = ((u(*)())v1315)(v1316, v1317); + v1319 = (u)zadd_symbol; + v1320 = *(u*)(vc + 48); + v1321 = *(u*)(vd + 32); + v1322 = *(u*)(vd + 88); + v1323 = ((u(*)())v1319)(v1320, v1321, v1322); + v1324 = (u)zemit_ssr; v1325 = vc; - v1326 = ((u (*)())(v1324))(v1325); -b583: v1327 = (u)zas_op; - v1328 = *(u *)((vc) + (48UL)); - v1329 = 195UL; - v1330 = ((u (*)())(v1327))(v1328, v1329); + v1326 = ((u(*)())v1324)(v1325); + v1327 = (u)zas_op; + v1328 = *(u*)(vc + 48); + v1329 = 195; + v1330 = ((u(*)())v1327)(v1328, v1329); b571: v1331 = (u)zfind; v1332 = vc; v1333 = (u)"_isr0"; - v1334 = 0UL; - v1335 = 1UL; - v1336 = ((u (*)())(v1331))(v1332, v1333, v1334, v1335); -b585: vd = v1336; - if (!(*(u *)((vd) + (72UL)))) { goto b590; } -b589: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b594; } -b593: v1338 = 0UL; - goto b595; -b595: if (!(v1338)) { goto b590; } -b591: v1337 = 1UL; - goto b592; -b592: if (!(v1337)) { goto b586; } -b587: v1339 = (u)zfixup_label; - v1340 = *(u *)((vc) + (48UL)); - v1341 = *(u *)((vd) + (88UL)); - v1342 = ((u (*)())(v1339))(v1340, v1341); -b596: v1343 = (u)zadd_symbol; - v1344 = *(u *)((vc) + (48UL)); - v1345 = *(u *)((vd) + (32UL)); - v1346 = *(u *)((vd) + (88UL)); - v1347 = ((u (*)())(v1343))(v1344, v1345, v1346); -b597: v1348 = (u)zemit_isr; + v1334 = 0; + v1335 = 1; + v1336 = ((u(*)())v1331)(v1332, v1333, v1334, v1335); + vd = v1336; + if (!*(u*)(vd + 72)) goto b590; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b594; + v1338 = 0; +b595: if (!v1338) goto b590; + v1337 = 1; +b592: if (!v1337) goto b586; + v1339 = (u)zfixup_label; + v1340 = *(u*)(vc + 48); + v1341 = *(u*)(vd + 88); + v1342 = ((u(*)())v1339)(v1340, v1341); + v1343 = (u)zadd_symbol; + v1344 = *(u*)(vc + 48); + v1345 = *(u*)(vd + 32); + v1346 = *(u*)(vd + 88); + v1347 = ((u(*)())v1343)(v1344, v1345, v1346); + v1348 = (u)zemit_isr; v1349 = vc; - v1350 = ((u (*)())(v1348))(v1349); -b598: v1351 = (u)zas_op; - v1352 = *(u *)((vc) + (48UL)); - v1353 = 195UL; - v1354 = ((u (*)())(v1351))(v1352, v1353); + v1350 = ((u(*)())v1348)(v1349); + v1351 = (u)zas_op; + v1352 = *(u*)(vc + 48); + v1353 = 195; + v1354 = ((u(*)())v1351)(v1352, v1353); b586: v1355 = (u)zfind; v1356 = vc; v1357 = (u)"_rgs"; - v1358 = 0UL; - v1359 = 1UL; - v1360 = ((u (*)())(v1355))(v1356, v1357, v1358, v1359); -b600: vd = v1360; - if (!(*(u *)((vd) + (72UL)))) { goto b605; } -b604: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b609; } -b608: v1362 = 0UL; - goto b610; -b610: if (!(v1362)) { goto b605; } -b606: v1361 = 1UL; - goto b607; -b607: if (!(v1361)) { goto b601; } -b602: v1363 = (u)zfixup_label; - v1364 = *(u *)((vc) + (48UL)); - v1365 = *(u *)((vd) + (88UL)); - v1366 = ((u (*)())(v1363))(v1364, v1365); -b611: v1367 = (u)zadd_symbol; - v1368 = *(u *)((vc) + (48UL)); - v1369 = *(u *)((vd) + (32UL)); - v1370 = *(u *)((vd) + (88UL)); - v1371 = ((u (*)())(v1367))(v1368, v1369, v1370); -b612: v1372 = (u)zas_modrm; - v1373 = *(u *)((vc) + (48UL)); - v1374 = 139UL; - v1375 = 6UL; - v1376 = 5UL; - v1377 = 0UL; - v1378 = 0UL; - v1379 = 16UL; - v1380 = ((u (*)())(v1372))(v1373, v1374, v1375, v1376, v1377, v1378, v1379); -b613: v1381 = (u)zas_emit; - v1382 = *(u *)((vc) + (48UL)); - v1383 = 101UL; - v1384 = ((u (*)())(v1381))(v1382, v1383); -b614: v1385 = (u)zas_modrm; - v1386 = *(u *)((vc) + (48UL)); - v1387 = 139UL; - v1388 = 0UL; - v1389 = 6UL; - v1390 = 0UL; - v1391 = 0UL; - v1392 = 0UL; - v1393 = ((u (*)())(v1385))(v1386, v1387, v1388, v1389, v1390, v1391, v1392); -b615: v1394 = (u)zas_op; - v1395 = *(u *)((vc) + (48UL)); - v1396 = 195UL; - v1397 = ((u (*)())(v1394))(v1395, v1396); + v1358 = 0; + v1359 = 1; + v1360 = ((u(*)())v1355)(v1356, v1357, v1358, v1359); + vd = v1360; + if (!*(u*)(vd + 72)) goto b605; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b609; + v1362 = 0; +b610: if (!v1362) goto b605; + v1361 = 1; +b607: if (!v1361) goto b601; + v1363 = (u)zfixup_label; + v1364 = *(u*)(vc + 48); + v1365 = *(u*)(vd + 88); + v1366 = ((u(*)())v1363)(v1364, v1365); + v1367 = (u)zadd_symbol; + v1368 = *(u*)(vc + 48); + v1369 = *(u*)(vd + 32); + v1370 = *(u*)(vd + 88); + v1371 = ((u(*)())v1367)(v1368, v1369, v1370); + v1372 = (u)zas_modrm; + v1373 = *(u*)(vc + 48); + v1374 = 139; + v1375 = 6; + v1376 = 5; + v1377 = 0; + v1378 = 0; + v1379 = 16; + v1380 = ((u(*)())v1372)(v1373, v1374, v1375, v1376, v1377, v1378, v1379); + v1381 = (u)zas_emit; + v1382 = *(u*)(vc + 48); + v1383 = 101; + v1384 = ((u(*)())v1381)(v1382, v1383); + v1385 = (u)zas_modrm; + v1386 = *(u*)(vc + 48); + v1387 = 139; + v1388 = 0; + v1389 = 6; + v1390 = 0; + v1391 = 0; + v1392 = 0; + v1393 = ((u(*)())v1385)(v1386, v1387, v1388, v1389, v1390, v1391, v1392); + v1394 = (u)zas_op; + v1395 = *(u*)(vc + 48); + v1396 = 195; + v1397 = ((u(*)())v1394)(v1395, v1396); b601: v1398 = (u)zfind; v1399 = vc; v1400 = (u)"_r32"; - v1401 = 0UL; - v1402 = 1UL; - v1403 = ((u (*)())(v1398))(v1399, v1400, v1401, v1402); -b617: vd = v1403; - if (!(*(u *)((vd) + (72UL)))) { goto b622; } -b621: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b626; } -b625: v1405 = 0UL; - goto b627; -b627: if (!(v1405)) { goto b622; } -b623: v1404 = 1UL; - goto b624; -b624: if (!(v1404)) { goto b618; } -b619: v1406 = (u)zfixup_label; - v1407 = *(u *)((vc) + (48UL)); - v1408 = *(u *)((vd) + (88UL)); - v1409 = ((u (*)())(v1406))(v1407, v1408); -b628: v1410 = (u)zadd_symbol; - v1411 = *(u *)((vc) + (48UL)); - v1412 = *(u *)((vd) + (32UL)); - v1413 = *(u *)((vd) + (88UL)); - v1414 = ((u (*)())(v1410))(v1411, v1412, v1413); -b629: *(u *)((*(u *)((vc) + (48UL))) + (48UL)) = 1UL; + v1401 = 0; + v1402 = 1; + v1403 = ((u(*)())v1398)(v1399, v1400, v1401, v1402); + vd = v1403; + if (!*(u*)(vd + 72)) goto b622; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b626; + v1405 = 0; +b627: if (!v1405) goto b622; + v1404 = 1; +b624: if (!v1404) goto b618; + v1406 = (u)zfixup_label; + v1407 = *(u*)(vc + 48); + v1408 = *(u*)(vd + 88); + v1409 = ((u(*)())v1406)(v1407, v1408); + v1410 = (u)zadd_symbol; + v1411 = *(u*)(vc + 48); + v1412 = *(u*)(vd + 32); + v1413 = *(u*)(vd + 88); + v1414 = ((u(*)())v1410)(v1411, v1412, v1413); + *(u*)(*(u*)(vc + 48) + 48) = 1; v1415 = (u)zas_modrm; - v1416 = *(u *)((vc) + (48UL)); - v1417 = 139UL; - v1418 = 0UL; - v1419 = 7UL; - v1420 = 0UL; - v1421 = 0UL; - v1422 = 0UL; - v1423 = ((u (*)())(v1415))(v1416, v1417, v1418, v1419, v1420, v1421, v1422); -b630: *(u *)((*(u *)((vc) + (48UL))) + (48UL)) = 0UL; + v1416 = *(u*)(vc + 48); + v1417 = 139; + v1418 = 0; + v1419 = 7; + v1420 = 0; + v1421 = 0; + v1422 = 0; + v1423 = ((u(*)())v1415)(v1416, v1417, v1418, v1419, v1420, v1421, v1422); + *(u*)(*(u*)(vc + 48) + 48) = 0; v1424 = (u)zas_op; - v1425 = *(u *)((vc) + (48UL)); - v1426 = 195UL; - v1427 = ((u (*)())(v1424))(v1425, v1426); + v1425 = *(u*)(vc + 48); + v1426 = 195; + v1427 = ((u(*)())v1424)(v1425, v1426); b618: v1428 = (u)zfind; v1429 = vc; v1430 = (u)"_w32"; - v1431 = 0UL; - v1432 = 1UL; - v1433 = ((u (*)())(v1428))(v1429, v1430, v1431, v1432); -b632: vd = v1433; - if (!(*(u *)((vd) + (72UL)))) { goto b637; } -b636: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b641; } -b640: v1435 = 0UL; - goto b642; -b642: if (!(v1435)) { goto b637; } -b638: v1434 = 1UL; - goto b639; -b639: if (!(v1434)) { goto b633; } -b634: v1436 = (u)zfixup_label; - v1437 = *(u *)((vc) + (48UL)); - v1438 = *(u *)((vd) + (88UL)); - v1439 = ((u (*)())(v1436))(v1437, v1438); -b643: v1440 = (u)zadd_symbol; - v1441 = *(u *)((vc) + (48UL)); - v1442 = *(u *)((vd) + (32UL)); - v1443 = *(u *)((vd) + (88UL)); - v1444 = ((u (*)())(v1440))(v1441, v1442, v1443); -b644: *(u *)((*(u *)((vc) + (48UL))) + (48UL)) = 1UL; + v1431 = 0; + v1432 = 1; + v1433 = ((u(*)())v1428)(v1429, v1430, v1431, v1432); + vd = v1433; + if (!*(u*)(vd + 72)) goto b637; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b641; + v1435 = 0; +b642: if (!v1435) goto b637; + v1434 = 1; +b639: if (!v1434) goto b633; + v1436 = (u)zfixup_label; + v1437 = *(u*)(vc + 48); + v1438 = *(u*)(vd + 88); + v1439 = ((u(*)())v1436)(v1437, v1438); + v1440 = (u)zadd_symbol; + v1441 = *(u*)(vc + 48); + v1442 = *(u*)(vd + 32); + v1443 = *(u*)(vd + 88); + v1444 = ((u(*)())v1440)(v1441, v1442, v1443); + *(u*)(*(u*)(vc + 48) + 48) = 1; v1445 = (u)zas_modrm; - v1446 = *(u *)((vc) + (48UL)); - v1447 = 137UL; - v1448 = 6UL; - v1449 = 7UL; - v1450 = 0UL; - v1451 = 0UL; - v1452 = 0UL; - v1453 = ((u (*)())(v1445))(v1446, v1447, v1448, v1449, v1450, v1451, v1452); -b645: *(u *)((*(u *)((vc) + (48UL))) + (48UL)) = 0UL; + v1446 = *(u*)(vc + 48); + v1447 = 137; + v1448 = 6; + v1449 = 7; + v1450 = 0; + v1451 = 0; + v1452 = 0; + v1453 = ((u(*)())v1445)(v1446, v1447, v1448, v1449, v1450, v1451, v1452); + *(u*)(*(u*)(vc + 48) + 48) = 0; v1454 = (u)zas_op; - v1455 = *(u *)((vc) + (48UL)); - v1456 = 195UL; - v1457 = ((u (*)())(v1454))(v1455, v1456); + v1455 = *(u*)(vc + 48); + v1456 = 195; + v1457 = ((u(*)())v1454)(v1455, v1456); b633: v1458 = (u)zfind; v1459 = vc; v1460 = (u)"_r16"; - v1461 = 0UL; - v1462 = 1UL; - v1463 = ((u (*)())(v1458))(v1459, v1460, v1461, v1462); -b647: vd = v1463; - if (!(*(u *)((vd) + (72UL)))) { goto b652; } -b651: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b656; } -b655: v1465 = 0UL; - goto b657; -b657: if (!(v1465)) { goto b652; } -b653: v1464 = 1UL; - goto b654; -b654: if (!(v1464)) { goto b648; } -b649: v1466 = (u)zfixup_label; - v1467 = *(u *)((vc) + (48UL)); - v1468 = *(u *)((vd) + (88UL)); - v1469 = ((u (*)())(v1466))(v1467, v1468); -b658: v1470 = (u)zadd_symbol; - v1471 = *(u *)((vc) + (48UL)); - v1472 = *(u *)((vd) + (32UL)); - v1473 = *(u *)((vd) + (88UL)); - v1474 = ((u (*)())(v1470))(v1471, v1472, v1473); -b659: v1475 = (u)zas_modrr; - v1476 = *(u *)((vc) + (48UL)); - v1477 = 51UL; - v1478 = 0UL; - v1479 = 0UL; - v1480 = ((u (*)())(v1475))(v1476, v1477, v1478, v1479); -b660: *(u *)((*(u *)((vc) + (48UL))) + (48UL)) = 1UL; + v1461 = 0; + v1462 = 1; + v1463 = ((u(*)())v1458)(v1459, v1460, v1461, v1462); + vd = v1463; + if (!*(u*)(vd + 72)) goto b652; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b656; + v1465 = 0; +b657: if (!v1465) goto b652; + v1464 = 1; +b654: if (!v1464) goto b648; + v1466 = (u)zfixup_label; + v1467 = *(u*)(vc + 48); + v1468 = *(u*)(vd + 88); + v1469 = ((u(*)())v1466)(v1467, v1468); + v1470 = (u)zadd_symbol; + v1471 = *(u*)(vc + 48); + v1472 = *(u*)(vd + 32); + v1473 = *(u*)(vd + 88); + v1474 = ((u(*)())v1470)(v1471, v1472, v1473); + v1475 = (u)zas_modrr; + v1476 = *(u*)(vc + 48); + v1477 = 51; + v1478 = 0; + v1479 = 0; + v1480 = ((u(*)())v1475)(v1476, v1477, v1478, v1479); + *(u*)(*(u*)(vc + 48) + 48) = 1; v1481 = (u)zas_modrm; - v1482 = *(u *)((vc) + (48UL)); - v1483 = 26250UL; - v1484 = 0UL; - v1485 = 7UL; - v1486 = 0UL; - v1487 = 0UL; - v1488 = 0UL; - v1489 = ((u (*)())(v1481))(v1482, v1483, v1484, v1485, v1486, v1487, v1488); -b661: *(u *)((*(u *)((vc) + (48UL))) + (48UL)) = 0UL; + v1482 = *(u*)(vc + 48); + v1483 = 26250; + v1484 = 0; + v1485 = 7; + v1486 = 0; + v1487 = 0; + v1488 = 0; + v1489 = ((u(*)())v1481)(v1482, v1483, v1484, v1485, v1486, v1487, v1488); + *(u*)(*(u*)(vc + 48) + 48) = 0; v1490 = (u)zas_op; - v1491 = *(u *)((vc) + (48UL)); - v1492 = 195UL; - v1493 = ((u (*)())(v1490))(v1491, v1492); + v1491 = *(u*)(vc + 48); + v1492 = 195; + v1493 = ((u(*)())v1490)(v1491, v1492); b648: v1494 = (u)zfind; v1495 = vc; v1496 = (u)"_w16"; - v1497 = 0UL; - v1498 = 1UL; - v1499 = ((u (*)())(v1494))(v1495, v1496, v1497, v1498); -b663: vd = v1499; - if (!(*(u *)((vd) + (72UL)))) { goto b668; } -b667: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b672; } -b671: v1501 = 0UL; - goto b673; -b673: if (!(v1501)) { goto b668; } -b669: v1500 = 1UL; - goto b670; -b670: if (!(v1500)) { goto b664; } -b665: v1502 = (u)zfixup_label; - v1503 = *(u *)((vc) + (48UL)); - v1504 = *(u *)((vd) + (88UL)); - v1505 = ((u (*)())(v1502))(v1503, v1504); -b674: v1506 = (u)zadd_symbol; - v1507 = *(u *)((vc) + (48UL)); - v1508 = *(u *)((vd) + (32UL)); - v1509 = *(u *)((vd) + (88UL)); - v1510 = ((u (*)())(v1506))(v1507, v1508, v1509); -b675: *(u *)((*(u *)((vc) + (48UL))) + (48UL)) = 1UL; + v1497 = 0; + v1498 = 1; + v1499 = ((u(*)())v1494)(v1495, v1496, v1497, v1498); + vd = v1499; + if (!*(u*)(vd + 72)) goto b668; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b672; + v1501 = 0; +b673: if (!v1501) goto b668; + v1500 = 1; +b670: if (!v1500) goto b664; + v1502 = (u)zfixup_label; + v1503 = *(u*)(vc + 48); + v1504 = *(u*)(vd + 88); + v1505 = ((u(*)())v1502)(v1503, v1504); + v1506 = (u)zadd_symbol; + v1507 = *(u*)(vc + 48); + v1508 = *(u*)(vd + 32); + v1509 = *(u*)(vd + 88); + v1510 = ((u(*)())v1506)(v1507, v1508, v1509); + *(u*)(*(u*)(vc + 48) + 48) = 1; v1511 = (u)zas_modrm; - v1512 = *(u *)((vc) + (48UL)); - v1513 = 26249UL; - v1514 = 6UL; - v1515 = 7UL; - v1516 = 0UL; - v1517 = 0UL; - v1518 = 0UL; - v1519 = ((u (*)())(v1511))(v1512, v1513, v1514, v1515, v1516, v1517, v1518); -b676: *(u *)((*(u *)((vc) + (48UL))) + (48UL)) = 0UL; + v1512 = *(u*)(vc + 48); + v1513 = 26249; + v1514 = 6; + v1515 = 7; + v1516 = 0; + v1517 = 0; + v1518 = 0; + v1519 = ((u(*)())v1511)(v1512, v1513, v1514, v1515, v1516, v1517, v1518); + *(u*)(*(u*)(vc + 48) + 48) = 0; v1520 = (u)zas_op; - v1521 = *(u *)((vc) + (48UL)); - v1522 = 195UL; - v1523 = ((u (*)())(v1520))(v1521, v1522); + v1521 = *(u*)(vc + 48); + v1522 = 195; + v1523 = ((u(*)())v1520)(v1521, v1522); b664: v1524 = (u)zfind; v1525 = vc; v1526 = (u)"_rdrand"; - v1527 = 0UL; - v1528 = 1UL; - v1529 = ((u (*)())(v1524))(v1525, v1526, v1527, v1528); -b678: vd = v1529; - if (!(*(u *)((vd) + (72UL)))) { goto b683; } -b682: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b687; } -b686: v1531 = 0UL; - goto b688; -b688: if (!(v1531)) { goto b683; } -b684: v1530 = 1UL; - goto b685; -b685: if (!(v1530)) { goto b679; } -b680: v1532 = (u)zfixup_label; - v1533 = *(u *)((vc) + (48UL)); - v1534 = *(u *)((vd) + (88UL)); - v1535 = ((u (*)())(v1532))(v1533, v1534); -b689: v1536 = (u)zadd_symbol; - v1537 = *(u *)((vc) + (48UL)); - v1538 = *(u *)((vd) + (32UL)); - v1539 = *(u *)((vd) + (88UL)); - v1540 = ((u (*)())(v1536))(v1537, v1538, v1539); -b690: v1541 = (u)zas_modr; - v1542 = *(u *)((vc) + (48UL)); + v1527 = 0; + v1528 = 1; + v1529 = ((u(*)())v1524)(v1525, v1526, v1527, v1528); + vd = v1529; + if (!*(u*)(vd + 72)) goto b683; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b687; + v1531 = 0; +b688: if (!v1531) goto b683; + v1530 = 1; +b685: if (!v1530) goto b679; + v1532 = (u)zfixup_label; + v1533 = *(u*)(vc + 48); + v1534 = *(u*)(vd + 88); + v1535 = ((u(*)())v1532)(v1533, v1534); + v1536 = (u)zadd_symbol; + v1537 = *(u*)(vc + 48); + v1538 = *(u*)(vd + 32); + v1539 = *(u*)(vd + 88); + v1540 = ((u(*)())v1536)(v1537, v1538, v1539); + v1541 = (u)zas_modr; + v1542 = *(u*)(vc + 48); v1543 = 397255UL; - v1544 = 0UL; - v1545 = ((u (*)())(v1541))(v1542, v1543, v1544); -b691: v1546 = (u)zas_op; - v1547 = *(u *)((vc) + (48UL)); - v1548 = 195UL; - v1549 = ((u (*)())(v1546))(v1547, v1548); + v1544 = 0; + v1545 = ((u(*)())v1541)(v1542, v1543, v1544); + v1546 = (u)zas_op; + v1547 = *(u*)(vc + 48); + v1548 = 195; + v1549 = ((u(*)())v1546)(v1547, v1548); b679: v1550 = (u)zfind; v1551 = vc; v1552 = (u)"taskswitch"; - v1553 = 0UL; - v1554 = 1UL; - v1555 = ((u (*)())(v1550))(v1551, v1552, v1553, v1554); -b693: vd = v1555; - if (!(*(u *)((vd) + (72UL)))) { goto b698; } -b697: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b702; } -b701: v1557 = 0UL; - goto b703; -b703: if (!(v1557)) { goto b698; } -b699: v1556 = 1UL; - goto b700; -b700: if (!(v1556)) { goto b694; } -b695: v1558 = (u)zfixup_label; - v1559 = *(u *)((vc) + (48UL)); - v1560 = *(u *)((vd) + (88UL)); - v1561 = ((u (*)())(v1558))(v1559, v1560); -b704: v1562 = (u)zadd_symbol; - v1563 = *(u *)((vc) + (48UL)); - v1564 = *(u *)((vd) + (32UL)); - v1565 = *(u *)((vd) + (88UL)); - v1566 = ((u (*)())(v1562))(v1563, v1564, v1565); -b705: v1567 = (u)zas_modrm; - v1568 = *(u *)((vc) + (48UL)); - v1569 = 137UL; - v1570 = 0UL; - v1571 = 7UL; - v1572 = 0UL; - v1573 = 0UL; - v1574 = 0UL; - v1575 = ((u (*)())(v1567))(v1568, v1569, v1570, v1571, v1572, v1573, v1574); -b706: v1576 = (u)zas_modrm; - v1577 = *(u *)((vc) + (48UL)); - v1578 = 137UL; - v1579 = 1UL; - v1580 = 7UL; - v1581 = 0UL; - v1582 = 0UL; - v1583 = 8UL; - v1584 = ((u (*)())(v1576))(v1577, v1578, v1579, v1580, v1581, v1582, v1583); -b707: v1585 = (u)zas_modrm; - v1586 = *(u *)((vc) + (48UL)); - v1587 = 137UL; - v1588 = 2UL; - v1589 = 7UL; - v1590 = 0UL; - v1591 = 0UL; - v1592 = 16UL; - v1593 = ((u (*)())(v1585))(v1586, v1587, v1588, v1589, v1590, v1591, v1592); -b708: v1594 = (u)zas_modrm; - v1595 = *(u *)((vc) + (48UL)); - v1596 = 137UL; - v1597 = 3UL; - v1598 = 7UL; - v1599 = 0UL; - v1600 = 0UL; - v1601 = 24UL; - v1602 = ((u (*)())(v1594))(v1595, v1596, v1597, v1598, v1599, v1600, v1601); -b709: v1603 = (u)zas_modrm; - v1604 = *(u *)((vc) + (48UL)); - v1605 = 137UL; - v1606 = 5UL; - v1607 = 7UL; - v1608 = 0UL; - v1609 = 0UL; - v1610 = 40UL; - v1611 = ((u (*)())(v1603))(v1604, v1605, v1606, v1607, v1608, v1609, v1610); -b710: v1612 = (u)zas_modrm; - v1613 = *(u *)((vc) + (48UL)); - v1614 = 137UL; - v1615 = 6UL; - v1616 = 7UL; - v1617 = 0UL; - v1618 = 0UL; - v1619 = 48UL; - v1620 = ((u (*)())(v1612))(v1613, v1614, v1615, v1616, v1617, v1618, v1619); -b711: v1621 = (u)zas_modrm; - v1622 = *(u *)((vc) + (48UL)); - v1623 = 137UL; - v1624 = 7UL; - v1625 = 7UL; - v1626 = 0UL; - v1627 = 0UL; - v1628 = 56UL; - v1629 = ((u (*)())(v1621))(v1622, v1623, v1624, v1625, v1626, v1627, v1628); -b712: v1630 = (u)zas_modrm; - v1631 = *(u *)((vc) + (48UL)); - v1632 = 137UL; - v1633 = 8UL; - v1634 = 7UL; - v1635 = 0UL; - v1636 = 0UL; - v1637 = 64UL; - v1638 = ((u (*)())(v1630))(v1631, v1632, v1633, v1634, v1635, v1636, v1637); -b713: v1639 = (u)zas_modrm; - v1640 = *(u *)((vc) + (48UL)); - v1641 = 137UL; - v1642 = 9UL; - v1643 = 7UL; - v1644 = 0UL; - v1645 = 0UL; - v1646 = 72UL; - v1647 = ((u (*)())(v1639))(v1640, v1641, v1642, v1643, v1644, v1645, v1646); -b714: v1648 = (u)zas_modrm; - v1649 = *(u *)((vc) + (48UL)); - v1650 = 137UL; - v1651 = 10UL; - v1652 = 7UL; - v1653 = 0UL; - v1654 = 0UL; - v1655 = 80UL; - v1656 = ((u (*)())(v1648))(v1649, v1650, v1651, v1652, v1653, v1654, v1655); -b715: v1657 = (u)zas_modrm; - v1658 = *(u *)((vc) + (48UL)); - v1659 = 137UL; - v1660 = 11UL; - v1661 = 7UL; - v1662 = 0UL; - v1663 = 0UL; - v1664 = 88UL; - v1665 = ((u (*)())(v1657))(v1658, v1659, v1660, v1661, v1662, v1663, v1664); -b716: v1666 = (u)zas_modrm; - v1667 = *(u *)((vc) + (48UL)); - v1668 = 137UL; - v1669 = 12UL; - v1670 = 7UL; - v1671 = 0UL; - v1672 = 0UL; - v1673 = 96UL; - v1674 = ((u (*)())(v1666))(v1667, v1668, v1669, v1670, v1671, v1672, v1673); -b717: v1675 = (u)zas_modrm; - v1676 = *(u *)((vc) + (48UL)); - v1677 = 137UL; - v1678 = 13UL; - v1679 = 7UL; - v1680 = 0UL; - v1681 = 0UL; - v1682 = 104UL; - v1683 = ((u (*)())(v1675))(v1676, v1677, v1678, v1679, v1680, v1681, v1682); -b718: v1684 = (u)zas_modrm; - v1685 = *(u *)((vc) + (48UL)); - v1686 = 137UL; - v1687 = 14UL; - v1688 = 7UL; - v1689 = 0UL; - v1690 = 0UL; - v1691 = 112UL; - v1692 = ((u (*)())(v1684))(v1685, v1686, v1687, v1688, v1689, v1690, v1691); -b719: v1693 = (u)zas_modrm; - v1694 = *(u *)((vc) + (48UL)); - v1695 = 137UL; - v1696 = 15UL; - v1697 = 7UL; - v1698 = 0UL; - v1699 = 0UL; - v1700 = 120UL; - v1701 = ((u (*)())(v1693))(v1694, v1695, v1696, v1697, v1698, v1699, v1700); -b720: v1702 = (u)zas_opr; - v1703 = *(u *)((vc) + (48UL)); - v1704 = 88UL; - v1705 = 0UL; - v1706 = ((u (*)())(v1702))(v1703, v1704, v1705); -b721: v1707 = (u)zas_modrm; - v1708 = *(u *)((vc) + (48UL)); - v1709 = 137UL; - v1710 = 0UL; - v1711 = 7UL; - v1712 = 0UL; - v1713 = 0UL; - v1714 = 128UL; - v1715 = ((u (*)())(v1707))(v1708, v1709, v1710, v1711, v1712, v1713, v1714); -b722: v1716 = (u)zas_modrr; - v1717 = *(u *)((vc) + (48UL)); - v1718 = 140UL; - v1719 = 1UL; - v1720 = 0UL; - v1721 = ((u (*)())(v1716))(v1717, v1718, v1719, v1720); -b723: v1722 = (u)zas_modrm; - v1723 = *(u *)((vc) + (48UL)); - v1724 = 137UL; - v1725 = 0UL; - v1726 = 7UL; - v1727 = 0UL; - v1728 = 0UL; - v1729 = 144UL; - v1730 = ((u (*)())(v1722))(v1723, v1724, v1725, v1726, v1727, v1728, v1729); -b724: v1731 = (u)zas_op; - v1732 = *(u *)((vc) + (48UL)); - v1733 = 156UL; - v1734 = ((u (*)())(v1731))(v1732, v1733); -b725: v1735 = (u)zas_opr; - v1736 = *(u *)((vc) + (48UL)); - v1737 = 88UL; - v1738 = 0UL; - v1739 = ((u (*)())(v1735))(v1736, v1737, v1738); -b726: v1740 = (u)zas_modrm; - v1741 = *(u *)((vc) + (48UL)); - v1742 = 137UL; - v1743 = 0UL; - v1744 = 7UL; - v1745 = 0UL; - v1746 = 0UL; - v1747 = 136UL; - v1748 = ((u (*)())(v1740))(v1741, v1742, v1743, v1744, v1745, v1746, v1747); -b727: v1749 = (u)zas_modrm; - v1750 = *(u *)((vc) + (48UL)); - v1751 = 137UL; - v1752 = 4UL; - v1753 = 7UL; - v1754 = 0UL; - v1755 = 0UL; - v1756 = 32UL; - v1757 = ((u (*)())(v1749))(v1750, v1751, v1752, v1753, v1754, v1755, v1756); -b728: v1758 = (u)zas_modrr; - v1759 = *(u *)((vc) + (48UL)); - v1760 = 140UL; - v1761 = 2UL; - v1762 = 0UL; - v1763 = ((u (*)())(v1758))(v1759, v1760, v1761, v1762); -b729: v1764 = (u)zas_modrm; - v1765 = *(u *)((vc) + (48UL)); - v1766 = 137UL; - v1767 = 0UL; - v1768 = 7UL; - v1769 = 0UL; - v1770 = 0UL; - v1771 = 152UL; - v1772 = ((u (*)())(v1764))(v1765, v1766, v1767, v1768, v1769, v1770, v1771); -b730: v1773 = (u)zas_modrm; - v1774 = *(u *)((vc) + (48UL)); - v1775 = 137UL; - v1776 = 1UL; - v1777 = 7UL; - v1778 = 0UL; - v1779 = 0UL; - v1780 = 8UL; - v1781 = ((u (*)())(v1773))(v1774, v1775, v1776, v1777, v1778, v1779, v1780); -b731: v1782 = (u)zas_modrm; - v1783 = *(u *)((vc) + (48UL)); - v1784 = 137UL; - v1785 = 2UL; - v1786 = 7UL; - v1787 = 0UL; - v1788 = 0UL; - v1789 = 16UL; - v1790 = ((u (*)())(v1782))(v1783, v1784, v1785, v1786, v1787, v1788, v1789); -b732: v1791 = (u)zas_modrm; - v1792 = *(u *)((vc) + (48UL)); - v1793 = 137UL; - v1794 = 3UL; - v1795 = 7UL; - v1796 = 0UL; - v1797 = 0UL; - v1798 = 24UL; - v1799 = ((u (*)())(v1791))(v1792, v1793, v1794, v1795, v1796, v1797, v1798); -b733: v1800 = (u)zas_modrm; - v1801 = *(u *)((vc) + (48UL)); - v1802 = 137UL; - v1803 = 5UL; - v1804 = 7UL; - v1805 = 0UL; - v1806 = 0UL; - v1807 = 40UL; - v1808 = ((u (*)())(v1800))(v1801, v1802, v1803, v1804, v1805, v1806, v1807); -b734: v1809 = (u)zas_modrm; - v1810 = *(u *)((vc) + (48UL)); - v1811 = 137UL; - v1812 = 7UL; - v1813 = 7UL; - v1814 = 0UL; - v1815 = 0UL; - v1816 = 56UL; - v1817 = ((u (*)())(v1809))(v1810, v1811, v1812, v1813, v1814, v1815, v1816); -b735: v1818 = (u)zas_modrm; - v1819 = *(u *)((vc) + (48UL)); - v1820 = 137UL; - v1821 = 8UL; - v1822 = 7UL; - v1823 = 0UL; - v1824 = 0UL; - v1825 = 64UL; - v1826 = ((u (*)())(v1818))(v1819, v1820, v1821, v1822, v1823, v1824, v1825); -b736: v1827 = (u)zas_modrm; - v1828 = *(u *)((vc) + (48UL)); - v1829 = 137UL; - v1830 = 9UL; - v1831 = 7UL; - v1832 = 0UL; - v1833 = 0UL; - v1834 = 72UL; - v1835 = ((u (*)())(v1827))(v1828, v1829, v1830, v1831, v1832, v1833, v1834); -b737: v1836 = (u)zas_modrm; - v1837 = *(u *)((vc) + (48UL)); - v1838 = 137UL; - v1839 = 10UL; - v1840 = 7UL; - v1841 = 0UL; - v1842 = 0UL; - v1843 = 80UL; - v1844 = ((u (*)())(v1836))(v1837, v1838, v1839, v1840, v1841, v1842, v1843); -b738: v1845 = (u)zas_modrm; - v1846 = *(u *)((vc) + (48UL)); - v1847 = 137UL; - v1848 = 11UL; - v1849 = 7UL; - v1850 = 0UL; - v1851 = 0UL; - v1852 = 88UL; - v1853 = ((u (*)())(v1845))(v1846, v1847, v1848, v1849, v1850, v1851, v1852); -b739: v1854 = (u)zas_modrm; - v1855 = *(u *)((vc) + (48UL)); - v1856 = 137UL; - v1857 = 12UL; - v1858 = 7UL; - v1859 = 0UL; - v1860 = 0UL; - v1861 = 96UL; - v1862 = ((u (*)())(v1854))(v1855, v1856, v1857, v1858, v1859, v1860, v1861); -b740: v1863 = (u)zas_modrm; - v1864 = *(u *)((vc) + (48UL)); - v1865 = 137UL; - v1866 = 13UL; - v1867 = 7UL; - v1868 = 0UL; - v1869 = 0UL; - v1870 = 104UL; - v1871 = ((u (*)())(v1863))(v1864, v1865, v1866, v1867, v1868, v1869, v1870); -b741: v1872 = (u)zas_modrm; - v1873 = *(u *)((vc) + (48UL)); - v1874 = 137UL; - v1875 = 14UL; - v1876 = 7UL; - v1877 = 0UL; - v1878 = 0UL; - v1879 = 112UL; - v1880 = ((u (*)())(v1872))(v1873, v1874, v1875, v1876, v1877, v1878, v1879); -b742: v1881 = (u)zas_modrm; - v1882 = *(u *)((vc) + (48UL)); - v1883 = 137UL; - v1884 = 15UL; - v1885 = 7UL; - v1886 = 0UL; - v1887 = 0UL; - v1888 = 120UL; - v1889 = ((u (*)())(v1881))(v1882, v1883, v1884, v1885, v1886, v1887, v1888); -b743: v1890 = (u)zas_modrm; - v1891 = *(u *)((vc) + (48UL)); - v1892 = 139UL; - v1893 = 0UL; - v1894 = 6UL; - v1895 = 0UL; - v1896 = 0UL; - v1897 = 152UL; - v1898 = ((u (*)())(v1890))(v1891, v1892, v1893, v1894, v1895, v1896, v1897); -b744: v1899 = (u)zas_opr; - v1900 = *(u *)((vc) + (48UL)); - v1901 = 80UL; - v1902 = 0UL; - v1903 = ((u (*)())(v1899))(v1900, v1901, v1902); -b745: v1904 = (u)zas_modrm; - v1905 = *(u *)((vc) + (48UL)); - v1906 = 139UL; - v1907 = 0UL; - v1908 = 6UL; - v1909 = 0UL; - v1910 = 0UL; - v1911 = 32UL; - v1912 = ((u (*)())(v1904))(v1905, v1906, v1907, v1908, v1909, v1910, v1911); -b746: v1913 = (u)zas_opr; - v1914 = *(u *)((vc) + (48UL)); - v1915 = 80UL; - v1916 = 0UL; - v1917 = ((u (*)())(v1913))(v1914, v1915, v1916); -b747: v1918 = (u)zas_modrm; - v1919 = *(u *)((vc) + (48UL)); - v1920 = 139UL; - v1921 = 0UL; - v1922 = 6UL; - v1923 = 0UL; - v1924 = 0UL; - v1925 = 136UL; - v1926 = ((u (*)())(v1918))(v1919, v1920, v1921, v1922, v1923, v1924, v1925); -b748: v1927 = (u)zas_opr; - v1928 = *(u *)((vc) + (48UL)); - v1929 = 80UL; - v1930 = 0UL; - v1931 = ((u (*)())(v1927))(v1928, v1929, v1930); -b749: v1932 = (u)zas_modrm; - v1933 = *(u *)((vc) + (48UL)); - v1934 = 139UL; - v1935 = 0UL; - v1936 = 6UL; - v1937 = 0UL; - v1938 = 0UL; - v1939 = 144UL; - v1940 = ((u (*)())(v1932))(v1933, v1934, v1935, v1936, v1937, v1938, v1939); -b750: v1941 = (u)zas_opr; - v1942 = *(u *)((vc) + (48UL)); - v1943 = 80UL; - v1944 = 0UL; - v1945 = ((u (*)())(v1941))(v1942, v1943, v1944); -b751: v1946 = (u)zas_modrm; - v1947 = *(u *)((vc) + (48UL)); - v1948 = 139UL; - v1949 = 0UL; - v1950 = 6UL; - v1951 = 0UL; - v1952 = 0UL; - v1953 = 128UL; - v1954 = ((u (*)())(v1946))(v1947, v1948, v1949, v1950, v1951, v1952, v1953); -b752: v1955 = (u)zas_opr; - v1956 = *(u *)((vc) + (48UL)); - v1957 = 80UL; - v1958 = 0UL; - v1959 = ((u (*)())(v1955))(v1956, v1957, v1958); -b753: v1960 = (u)zas_modrm; - v1961 = *(u *)((vc) + (48UL)); - v1962 = 139UL; - v1963 = 0UL; - v1964 = 6UL; - v1965 = 0UL; - v1966 = 0UL; - v1967 = 0UL; - v1968 = ((u (*)())(v1960))(v1961, v1962, v1963, v1964, v1965, v1966, v1967); -b754: v1969 = (u)zas_modrm; - v1970 = *(u *)((vc) + (48UL)); - v1971 = 139UL; - v1972 = 6UL; - v1973 = 6UL; - v1974 = 0UL; - v1975 = 0UL; - v1976 = 40UL; - v1977 = ((u (*)())(v1969))(v1970, v1971, v1972, v1973, v1974, v1975, v1976); -b755: v1978 = (u)zas_op; - v1979 = *(u *)((vc) + (48UL)); - v1980 = 18639UL; - v1981 = ((u (*)())(v1978))(v1979, v1980); -b694: return 0UL; -b698: v1556 = 0UL; + v1553 = 0; + v1554 = 1; + v1555 = ((u(*)())v1550)(v1551, v1552, v1553, v1554); + vd = v1555; + if (!*(u*)(vd + 72)) goto b698; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b702; + v1557 = 0; +b703: if (!v1557) goto b698; + v1556 = 1; +b700: if (!v1556) goto b694; + v1558 = (u)zfixup_label; + v1559 = *(u*)(vc + 48); + v1560 = *(u*)(vd + 88); + v1561 = ((u(*)())v1558)(v1559, v1560); + v1562 = (u)zadd_symbol; + v1563 = *(u*)(vc + 48); + v1564 = *(u*)(vd + 32); + v1565 = *(u*)(vd + 88); + v1566 = ((u(*)())v1562)(v1563, v1564, v1565); + v1567 = (u)zas_modrm; + v1568 = *(u*)(vc + 48); + v1569 = 137; + v1570 = 0; + v1571 = 7; + v1572 = 0; + v1573 = 0; + v1574 = 0; + v1575 = ((u(*)())v1567)(v1568, v1569, v1570, v1571, v1572, v1573, v1574); + v1576 = (u)zas_modrm; + v1577 = *(u*)(vc + 48); + v1578 = 137; + v1579 = 1; + v1580 = 7; + v1581 = 0; + v1582 = 0; + v1583 = 8; + v1584 = ((u(*)())v1576)(v1577, v1578, v1579, v1580, v1581, v1582, v1583); + v1585 = (u)zas_modrm; + v1586 = *(u*)(vc + 48); + v1587 = 137; + v1588 = 2; + v1589 = 7; + v1590 = 0; + v1591 = 0; + v1592 = 16; + v1593 = ((u(*)())v1585)(v1586, v1587, v1588, v1589, v1590, v1591, v1592); + v1594 = (u)zas_modrm; + v1595 = *(u*)(vc + 48); + v1596 = 137; + v1597 = 3; + v1598 = 7; + v1599 = 0; + v1600 = 0; + v1601 = 24; + v1602 = ((u(*)())v1594)(v1595, v1596, v1597, v1598, v1599, v1600, v1601); + v1603 = (u)zas_modrm; + v1604 = *(u*)(vc + 48); + v1605 = 137; + v1606 = 5; + v1607 = 7; + v1608 = 0; + v1609 = 0; + v1610 = 40; + v1611 = ((u(*)())v1603)(v1604, v1605, v1606, v1607, v1608, v1609, v1610); + v1612 = (u)zas_modrm; + v1613 = *(u*)(vc + 48); + v1614 = 137; + v1615 = 6; + v1616 = 7; + v1617 = 0; + v1618 = 0; + v1619 = 48; + v1620 = ((u(*)())v1612)(v1613, v1614, v1615, v1616, v1617, v1618, v1619); + v1621 = (u)zas_modrm; + v1622 = *(u*)(vc + 48); + v1623 = 137; + v1624 = 7; + v1625 = 7; + v1626 = 0; + v1627 = 0; + v1628 = 56; + v1629 = ((u(*)())v1621)(v1622, v1623, v1624, v1625, v1626, v1627, v1628); + v1630 = (u)zas_modrm; + v1631 = *(u*)(vc + 48); + v1632 = 137; + v1633 = 8; + v1634 = 7; + v1635 = 0; + v1636 = 0; + v1637 = 64; + v1638 = ((u(*)())v1630)(v1631, v1632, v1633, v1634, v1635, v1636, v1637); + v1639 = (u)zas_modrm; + v1640 = *(u*)(vc + 48); + v1641 = 137; + v1642 = 9; + v1643 = 7; + v1644 = 0; + v1645 = 0; + v1646 = 72; + v1647 = ((u(*)())v1639)(v1640, v1641, v1642, v1643, v1644, v1645, v1646); + v1648 = (u)zas_modrm; + v1649 = *(u*)(vc + 48); + v1650 = 137; + v1651 = 10; + v1652 = 7; + v1653 = 0; + v1654 = 0; + v1655 = 80; + v1656 = ((u(*)())v1648)(v1649, v1650, v1651, v1652, v1653, v1654, v1655); + v1657 = (u)zas_modrm; + v1658 = *(u*)(vc + 48); + v1659 = 137; + v1660 = 11; + v1661 = 7; + v1662 = 0; + v1663 = 0; + v1664 = 88; + v1665 = ((u(*)())v1657)(v1658, v1659, v1660, v1661, v1662, v1663, v1664); + v1666 = (u)zas_modrm; + v1667 = *(u*)(vc + 48); + v1668 = 137; + v1669 = 12; + v1670 = 7; + v1671 = 0; + v1672 = 0; + v1673 = 96; + v1674 = ((u(*)())v1666)(v1667, v1668, v1669, v1670, v1671, v1672, v1673); + v1675 = (u)zas_modrm; + v1676 = *(u*)(vc + 48); + v1677 = 137; + v1678 = 13; + v1679 = 7; + v1680 = 0; + v1681 = 0; + v1682 = 104; + v1683 = ((u(*)())v1675)(v1676, v1677, v1678, v1679, v1680, v1681, v1682); + v1684 = (u)zas_modrm; + v1685 = *(u*)(vc + 48); + v1686 = 137; + v1687 = 14; + v1688 = 7; + v1689 = 0; + v1690 = 0; + v1691 = 112; + v1692 = ((u(*)())v1684)(v1685, v1686, v1687, v1688, v1689, v1690, v1691); + v1693 = (u)zas_modrm; + v1694 = *(u*)(vc + 48); + v1695 = 137; + v1696 = 15; + v1697 = 7; + v1698 = 0; + v1699 = 0; + v1700 = 120; + v1701 = ((u(*)())v1693)(v1694, v1695, v1696, v1697, v1698, v1699, v1700); + v1702 = (u)zas_opr; + v1703 = *(u*)(vc + 48); + v1704 = 88; + v1705 = 0; + v1706 = ((u(*)())v1702)(v1703, v1704, v1705); + v1707 = (u)zas_modrm; + v1708 = *(u*)(vc + 48); + v1709 = 137; + v1710 = 0; + v1711 = 7; + v1712 = 0; + v1713 = 0; + v1714 = 128; + v1715 = ((u(*)())v1707)(v1708, v1709, v1710, v1711, v1712, v1713, v1714); + v1716 = (u)zas_modrr; + v1717 = *(u*)(vc + 48); + v1718 = 140; + v1719 = 1; + v1720 = 0; + v1721 = ((u(*)())v1716)(v1717, v1718, v1719, v1720); + v1722 = (u)zas_modrm; + v1723 = *(u*)(vc + 48); + v1724 = 137; + v1725 = 0; + v1726 = 7; + v1727 = 0; + v1728 = 0; + v1729 = 144; + v1730 = ((u(*)())v1722)(v1723, v1724, v1725, v1726, v1727, v1728, v1729); + v1731 = (u)zas_op; + v1732 = *(u*)(vc + 48); + v1733 = 156; + v1734 = ((u(*)())v1731)(v1732, v1733); + v1735 = (u)zas_opr; + v1736 = *(u*)(vc + 48); + v1737 = 88; + v1738 = 0; + v1739 = ((u(*)())v1735)(v1736, v1737, v1738); + v1740 = (u)zas_modrm; + v1741 = *(u*)(vc + 48); + v1742 = 137; + v1743 = 0; + v1744 = 7; + v1745 = 0; + v1746 = 0; + v1747 = 136; + v1748 = ((u(*)())v1740)(v1741, v1742, v1743, v1744, v1745, v1746, v1747); + v1749 = (u)zas_modrm; + v1750 = *(u*)(vc + 48); + v1751 = 137; + v1752 = 4; + v1753 = 7; + v1754 = 0; + v1755 = 0; + v1756 = 32; + v1757 = ((u(*)())v1749)(v1750, v1751, v1752, v1753, v1754, v1755, v1756); + v1758 = (u)zas_modrr; + v1759 = *(u*)(vc + 48); + v1760 = 140; + v1761 = 2; + v1762 = 0; + v1763 = ((u(*)())v1758)(v1759, v1760, v1761, v1762); + v1764 = (u)zas_modrm; + v1765 = *(u*)(vc + 48); + v1766 = 137; + v1767 = 0; + v1768 = 7; + v1769 = 0; + v1770 = 0; + v1771 = 152; + v1772 = ((u(*)())v1764)(v1765, v1766, v1767, v1768, v1769, v1770, v1771); + v1773 = (u)zas_modrm; + v1774 = *(u*)(vc + 48); + v1775 = 137; + v1776 = 1; + v1777 = 7; + v1778 = 0; + v1779 = 0; + v1780 = 8; + v1781 = ((u(*)())v1773)(v1774, v1775, v1776, v1777, v1778, v1779, v1780); + v1782 = (u)zas_modrm; + v1783 = *(u*)(vc + 48); + v1784 = 137; + v1785 = 2; + v1786 = 7; + v1787 = 0; + v1788 = 0; + v1789 = 16; + v1790 = ((u(*)())v1782)(v1783, v1784, v1785, v1786, v1787, v1788, v1789); + v1791 = (u)zas_modrm; + v1792 = *(u*)(vc + 48); + v1793 = 137; + v1794 = 3; + v1795 = 7; + v1796 = 0; + v1797 = 0; + v1798 = 24; + v1799 = ((u(*)())v1791)(v1792, v1793, v1794, v1795, v1796, v1797, v1798); + v1800 = (u)zas_modrm; + v1801 = *(u*)(vc + 48); + v1802 = 137; + v1803 = 5; + v1804 = 7; + v1805 = 0; + v1806 = 0; + v1807 = 40; + v1808 = ((u(*)())v1800)(v1801, v1802, v1803, v1804, v1805, v1806, v1807); + v1809 = (u)zas_modrm; + v1810 = *(u*)(vc + 48); + v1811 = 137; + v1812 = 7; + v1813 = 7; + v1814 = 0; + v1815 = 0; + v1816 = 56; + v1817 = ((u(*)())v1809)(v1810, v1811, v1812, v1813, v1814, v1815, v1816); + v1818 = (u)zas_modrm; + v1819 = *(u*)(vc + 48); + v1820 = 137; + v1821 = 8; + v1822 = 7; + v1823 = 0; + v1824 = 0; + v1825 = 64; + v1826 = ((u(*)())v1818)(v1819, v1820, v1821, v1822, v1823, v1824, v1825); + v1827 = (u)zas_modrm; + v1828 = *(u*)(vc + 48); + v1829 = 137; + v1830 = 9; + v1831 = 7; + v1832 = 0; + v1833 = 0; + v1834 = 72; + v1835 = ((u(*)())v1827)(v1828, v1829, v1830, v1831, v1832, v1833, v1834); + v1836 = (u)zas_modrm; + v1837 = *(u*)(vc + 48); + v1838 = 137; + v1839 = 10; + v1840 = 7; + v1841 = 0; + v1842 = 0; + v1843 = 80; + v1844 = ((u(*)())v1836)(v1837, v1838, v1839, v1840, v1841, v1842, v1843); + v1845 = (u)zas_modrm; + v1846 = *(u*)(vc + 48); + v1847 = 137; + v1848 = 11; + v1849 = 7; + v1850 = 0; + v1851 = 0; + v1852 = 88; + v1853 = ((u(*)())v1845)(v1846, v1847, v1848, v1849, v1850, v1851, v1852); + v1854 = (u)zas_modrm; + v1855 = *(u*)(vc + 48); + v1856 = 137; + v1857 = 12; + v1858 = 7; + v1859 = 0; + v1860 = 0; + v1861 = 96; + v1862 = ((u(*)())v1854)(v1855, v1856, v1857, v1858, v1859, v1860, v1861); + v1863 = (u)zas_modrm; + v1864 = *(u*)(vc + 48); + v1865 = 137; + v1866 = 13; + v1867 = 7; + v1868 = 0; + v1869 = 0; + v1870 = 104; + v1871 = ((u(*)())v1863)(v1864, v1865, v1866, v1867, v1868, v1869, v1870); + v1872 = (u)zas_modrm; + v1873 = *(u*)(vc + 48); + v1874 = 137; + v1875 = 14; + v1876 = 7; + v1877 = 0; + v1878 = 0; + v1879 = 112; + v1880 = ((u(*)())v1872)(v1873, v1874, v1875, v1876, v1877, v1878, v1879); + v1881 = (u)zas_modrm; + v1882 = *(u*)(vc + 48); + v1883 = 137; + v1884 = 15; + v1885 = 7; + v1886 = 0; + v1887 = 0; + v1888 = 120; + v1889 = ((u(*)())v1881)(v1882, v1883, v1884, v1885, v1886, v1887, v1888); + v1890 = (u)zas_modrm; + v1891 = *(u*)(vc + 48); + v1892 = 139; + v1893 = 0; + v1894 = 6; + v1895 = 0; + v1896 = 0; + v1897 = 152; + v1898 = ((u(*)())v1890)(v1891, v1892, v1893, v1894, v1895, v1896, v1897); + v1899 = (u)zas_opr; + v1900 = *(u*)(vc + 48); + v1901 = 80; + v1902 = 0; + v1903 = ((u(*)())v1899)(v1900, v1901, v1902); + v1904 = (u)zas_modrm; + v1905 = *(u*)(vc + 48); + v1906 = 139; + v1907 = 0; + v1908 = 6; + v1909 = 0; + v1910 = 0; + v1911 = 32; + v1912 = ((u(*)())v1904)(v1905, v1906, v1907, v1908, v1909, v1910, v1911); + v1913 = (u)zas_opr; + v1914 = *(u*)(vc + 48); + v1915 = 80; + v1916 = 0; + v1917 = ((u(*)())v1913)(v1914, v1915, v1916); + v1918 = (u)zas_modrm; + v1919 = *(u*)(vc + 48); + v1920 = 139; + v1921 = 0; + v1922 = 6; + v1923 = 0; + v1924 = 0; + v1925 = 136; + v1926 = ((u(*)())v1918)(v1919, v1920, v1921, v1922, v1923, v1924, v1925); + v1927 = (u)zas_opr; + v1928 = *(u*)(vc + 48); + v1929 = 80; + v1930 = 0; + v1931 = ((u(*)())v1927)(v1928, v1929, v1930); + v1932 = (u)zas_modrm; + v1933 = *(u*)(vc + 48); + v1934 = 139; + v1935 = 0; + v1936 = 6; + v1937 = 0; + v1938 = 0; + v1939 = 144; + v1940 = ((u(*)())v1932)(v1933, v1934, v1935, v1936, v1937, v1938, v1939); + v1941 = (u)zas_opr; + v1942 = *(u*)(vc + 48); + v1943 = 80; + v1944 = 0; + v1945 = ((u(*)())v1941)(v1942, v1943, v1944); + v1946 = (u)zas_modrm; + v1947 = *(u*)(vc + 48); + v1948 = 139; + v1949 = 0; + v1950 = 6; + v1951 = 0; + v1952 = 0; + v1953 = 128; + v1954 = ((u(*)())v1946)(v1947, v1948, v1949, v1950, v1951, v1952, v1953); + v1955 = (u)zas_opr; + v1956 = *(u*)(vc + 48); + v1957 = 80; + v1958 = 0; + v1959 = ((u(*)())v1955)(v1956, v1957, v1958); + v1960 = (u)zas_modrm; + v1961 = *(u*)(vc + 48); + v1962 = 139; + v1963 = 0; + v1964 = 6; + v1965 = 0; + v1966 = 0; + v1967 = 0; + v1968 = ((u(*)())v1960)(v1961, v1962, v1963, v1964, v1965, v1966, v1967); + v1969 = (u)zas_modrm; + v1970 = *(u*)(vc + 48); + v1971 = 139; + v1972 = 6; + v1973 = 6; + v1974 = 0; + v1975 = 0; + v1976 = 40; + v1977 = ((u(*)())v1969)(v1970, v1971, v1972, v1973, v1974, v1975, v1976); + v1978 = (u)zas_op; + v1979 = *(u*)(vc + 48); + v1980 = 18639; + v1981 = ((u(*)())v1978)(v1979, v1980); +b694: return 0; +b698: v1556 = 0; goto b700; -b702: v1557 = 1UL; +b702: v1557 = 1; goto b703; -b683: v1530 = 0UL; +b683: v1530 = 0; goto b685; -b687: v1531 = 1UL; +b687: v1531 = 1; goto b688; -b668: v1500 = 0UL; +b668: v1500 = 0; goto b670; -b672: v1501 = 1UL; +b672: v1501 = 1; goto b673; -b652: v1464 = 0UL; +b652: v1464 = 0; goto b654; -b656: v1465 = 1UL; +b656: v1465 = 1; goto b657; -b637: v1434 = 0UL; +b637: v1434 = 0; goto b639; -b641: v1435 = 1UL; +b641: v1435 = 1; goto b642; -b622: v1404 = 0UL; +b622: v1404 = 0; goto b624; -b626: v1405 = 1UL; +b626: v1405 = 1; goto b627; -b605: v1361 = 0UL; +b605: v1361 = 0; goto b607; -b609: v1362 = 1UL; +b609: v1362 = 1; goto b610; -b590: v1337 = 0UL; +b590: v1337 = 0; goto b592; -b594: v1338 = 1UL; +b594: v1338 = 1; goto b595; -b575: v1313 = 0UL; +b575: v1313 = 0; goto b577; -b579: v1314 = 1UL; +b579: v1314 = 1; goto b580; -b560: v1284 = 0UL; +b560: v1284 = 0; goto b562; -b564: v1285 = 1UL; +b564: v1285 = 1; goto b565; -b545: v1255 = 0UL; +b545: v1255 = 0; goto b547; -b549: v1256 = 1UL; +b549: v1256 = 1; goto b550; -b529: v1225 = 0UL; +b529: v1225 = 0; goto b531; -b533: v1226 = 1UL; +b533: v1226 = 1; goto b534; -b513: v1195 = 0UL; +b513: v1195 = 0; goto b515; -b517: v1196 = 1UL; +b517: v1196 = 1; goto b518; -b498: v1170 = 0UL; +b498: v1170 = 0; goto b500; -b502: v1171 = 1UL; +b502: v1171 = 1; goto b503; -b483: v1145 = 0UL; +b483: v1145 = 0; goto b485; -b487: v1146 = 1UL; +b487: v1146 = 1; goto b488; -b468: v1120 = 0UL; +b468: v1120 = 0; goto b470; -b472: v1121 = 1UL; +b472: v1121 = 1; goto b473; -b432: v996 = 0UL; +b432: v996 = 0; goto b434; -b436: v997 = 1UL; +b436: v997 = 1; goto b437; -b417: v970 = 0UL; +b417: v970 = 0; goto b419; -b421: v971 = 1UL; +b421: v971 = 1; goto b422; -b402: v944 = 0UL; +b402: v944 = 0; goto b404; -b406: v945 = 1UL; +b406: v945 = 1; goto b407; -b382: v879 = 0UL; +b382: v879 = 0; goto b384; -b386: v880 = 1UL; +b386: v880 = 1; goto b387; -b362: v814 = 0UL; +b362: v814 = 0; goto b364; -b366: v815 = 1UL; +b366: v815 = 1; goto b367; -b347: v787 = 0UL; +b347: v787 = 0; goto b349; -b351: v788 = 1UL; +b351: v788 = 1; goto b352; -b332: v760 = 0UL; +b332: v760 = 0; goto b334; -b336: v761 = 1UL; +b336: v761 = 1; goto b337; -b317: v733 = 0UL; +b317: v733 = 0; goto b319; -b321: v734 = 1UL; +b321: v734 = 1; goto b322; -b302: v706 = 0UL; +b302: v706 = 0; goto b304; -b306: v707 = 1UL; +b306: v707 = 1; goto b307; -b287: v679 = 0UL; +b287: v679 = 0; goto b289; -b291: v680 = 1UL; +b291: v680 = 1; goto b292; -b272: v652 = 0UL; +b272: v652 = 0; goto b274; -b276: v653 = 1UL; +b276: v653 = 1; goto b277; -b257: v625 = 0UL; +b257: v625 = 0; goto b259; -b261: v626 = 1UL; +b261: v626 = 1; goto b262; -b242: v598 = 0UL; +b242: v598 = 0; goto b244; -b246: v599 = 1UL; +b246: v599 = 1; goto b247; -b222: v544 = 0UL; +b222: v544 = 0; goto b224; -b226: v545 = 1UL; +b226: v545 = 1; goto b227; -b203: v496 = 0UL; +b203: v496 = 0; goto b205; -b207: v497 = 1UL; +b207: v497 = 1; goto b208; -b186: v459 = 0UL; +b186: v459 = 0; goto b188; -b190: v460 = 1UL; +b190: v460 = 1; goto b191; -b170: v428 = 0UL; +b170: v428 = 0; goto b172; -b174: v429 = 1UL; +b174: v429 = 1; goto b175; -b152: v387 = 0UL; +b152: v387 = 0; goto b154; -b156: v388 = 1UL; +b156: v388 = 1; goto b157; -b135: v352 = 0UL; +b135: v352 = 0; goto b137; -b139: v353 = 1UL; +b139: v353 = 1; goto b140; -b118: v315 = 0UL; +b118: v315 = 0; goto b120; -b122: v316 = 1UL; +b122: v316 = 1; goto b123; -b102: v284 = 0UL; +b102: v284 = 0; goto b104; -b106: v285 = 1UL; +b106: v285 = 1; goto b107; -b71: v147 = 0UL; +b71: v147 = 0; goto b73; -b75: v148 = 1UL; +b75: v148 = 1; goto b76; -b57: v126 = 0UL; +b57: v126 = 0; goto b59; -b61: v127 = 1UL; +b61: v127 = 1; goto b62; -b43: v105 = 0UL; +b43: v105 = 0; goto b45; -b47: v106 = 1UL; +b47: v106 = 1; goto b48; -b28: v78 = 0UL; +b28: v78 = 0; goto b30; -b32: v79 = 1UL; +b32: v79 = 1; goto b33; -b6: v8 = 0UL; +b6: v8 = 0; goto b8; -b10: v9 = 1UL; +b10: v9 = 1; goto b11; } -u zemit_hook(u vc) { +u zemit_hook(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -8402,82 +8182,75 @@ u zemit_hook(u vc) { u v32 = 0; u v33 = 0; u v34 = 0; -b0: if (!(*(u *)((vc) + (80UL)))) { goto b5; } -b4: v1 = 0UL; - goto b6; -b6: if (!(v1)) { goto b1; } -b2: *(u *)((vc) + (112UL)) = *(u *)((vc) + (96UL)); - *(u *)((vc) + (104UL)) = *(u *)((vc) + (88UL)); - goto b1; -b1: if ((*(u *)((vc) + (96UL))) != (*(u *)((vc) + (112UL)))) { goto b11; } -b10: if ((*(u *)((vc) + (88UL))) != (*(u *)((vc) + (104UL)))) { goto b15; } -b14: v3 = 1UL; - goto b17; -b17: if (!(v3)) { goto b11; } -b12: v2 = 1UL; - goto b13; -b13: if (!(v2)) { goto b7; } -b8: return 0UL; + if (!*(u*)(vc + 80)) goto b5; + v1 = 0; +b6: if (!v1) goto b1; + *(u*)(vc + 112) = *(u*)(vc + 96); + *(u*)(vc + 104) = *(u*)(vc + 88); +b1: if (*(u*)(vc + 96) != *(u*)(vc + 112)) goto b11; + if (*(u*)(vc + 88) != *(u*)(vc + 104)) goto b15; + v3 = 1; +b17: if (!v3) goto b11; + v2 = 1; +b13: if (!v2) goto b7; + return 0; b7: v11 = (u)zfputh; - v12 = *(u *)((vc) + (80UL)); - v13 = (*(u *)((vc) + (24UL))) + (1048576UL); - v14 = ((u (*)())(v11))(v12, v13); -b31: v15 = (u)zfputs; - v16 = *(u *)((vc) + (80UL)); + v12 = *(u*)(vc + 80); + v13 = *(u*)(vc + 24) + 1048576UL; + v14 = ((u(*)())v11)(v12, v13); + v15 = (u)zfputs; + v16 = *(u*)(vc + 80); v17 = (u)"\011"; - v18 = ((u (*)())(v15))(v16, v17); -b32: if (!(*(u *)((vc) + (88UL)))) { goto b33; } -b34: v19 = (u)zfputs; - v20 = *(u *)((vc) + (80UL)); - v21 = *(u *)((vc) + (88UL)); - v22 = ((u (*)())(v19))(v20, v21); + v18 = ((u(*)())v15)(v16, v17); + if (!*(u*)(vc + 88)) goto b33; + v19 = (u)zfputs; + v20 = *(u*)(vc + 80); + v21 = *(u*)(vc + 88); + v22 = ((u(*)())v19)(v20, v21); b33: v23 = (u)zfputs; - v24 = *(u *)((vc) + (80UL)); + v24 = *(u*)(vc + 80); v25 = (u)":"; - v26 = ((u (*)())(v23))(v24, v25); -b37: v27 = (u)zfputd; - v28 = *(u *)((vc) + (80UL)); - v29 = *(u *)((vc) + (96UL)); - v30 = ((u (*)())(v27))(v28, v29); -b38: v31 = (u)zfputs; - v32 = *(u *)((vc) + (80UL)); + v26 = ((u(*)())v23)(v24, v25); + v27 = (u)zfputd; + v28 = *(u*)(vc + 80); + v29 = *(u*)(vc + 96); + v30 = ((u(*)())v27)(v28, v29); + v31 = (u)zfputs; + v32 = *(u*)(vc + 80); v33 = (u)"\012"; - v34 = ((u (*)())(v31))(v32, v33); -b39: *(u *)((vc) + (112UL)) = *(u *)((vc) + (96UL)); - *(u *)((vc) + (104UL)) = *(u *)((vc) + (88UL)); - return 0UL; -b11: v2 = 0UL; + v34 = ((u(*)())v31)(v32, v33); + *(u*)(vc + 112) = *(u*)(vc + 96); + *(u*)(vc + 104) = *(u*)(vc + 88); + return 0; +b11: v2 = 0; goto b13; -b15: if (!(*(u *)((vc) + (88UL)))) { goto b20; } -b19: if (!(*(u *)((vc) + (104UL)))) { goto b24; } -b23: v7 = (u)zstrcmp; - v8 = *(u *)((vc) + (88UL)); - v9 = *(u *)((vc) + (104UL)); - v10 = ((u (*)())(v7))(v8, v9); -b30: if (!(v10)) { goto b28; } -b27: v6 = 0UL; - goto b29; -b29: if (!(v6)) { goto b24; } -b25: v5 = 1UL; - goto b26; -b26: if (!(v5)) { goto b20; } -b21: v4 = 1UL; - goto b22; -b22: if (!(v4)) { goto b18; } -b16: v3 = 1UL; +b15: if (!*(u*)(vc + 88)) goto b20; + if (!*(u*)(vc + 104)) goto b24; + v7 = (u)zstrcmp; + v8 = *(u*)(vc + 88); + v9 = *(u*)(vc + 104); + v10 = ((u(*)())v7)(v8, v9); + if (!v10) goto b28; + v6 = 0; +b29: if (!v6) goto b24; + v5 = 1; +b26: if (!v5) goto b20; + v4 = 1; +b22: if (!v4) goto b18; + v3 = 1; goto b17; -b18: v3 = 0UL; +b18: v3 = 0; goto b17; -b20: v4 = 0UL; +b20: v4 = 0; goto b22; -b24: v5 = 0UL; +b24: v5 = 0; goto b26; -b28: v6 = 1UL; +b28: v6 = 1; goto b29; -b5: v1 = 1UL; +b5: v1 = 1; goto b6; } -u zemit_isr(u vc) { +u zemit_isr(u vc){ u vd = 0; u vout = 0; u vi = 0; @@ -9103,709 +8876,698 @@ u zemit_isr(u vc) { u v623 = 0; u v624 = 0; u v625 = 0; -b0: v4 = (u)zmklabel; - v5 = *(u *)((vc) + (48UL)); - v6 = ((u (*)())(v4))(v5); -b1: vout = v6; - vi = 0UL; - goto b2; -b2: if ((vi) != (256UL)) { goto b4; } -b3: v96 = (u)zfixup_label; - v97 = *(u *)((vc) + (48UL)); + v4 = (u)zmklabel; + v5 = *(u*)(vc + 48); + v6 = ((u(*)())v4)(v5); + vout = v6; + vi = 0; +b2: if (vi != 256) goto b4; + v96 = (u)zfixup_label; + v97 = *(u*)(vc + 48); v98 = vout; - v99 = ((u (*)())(v96))(v97, v98); -b75: v100 = (u)zas_modri; - v101 = *(u *)((vc) + (48UL)); + v99 = ((u(*)())v96)(v97, v98); + v100 = (u)zas_modri; + v101 = *(u*)(vc + 48); v102 = 327809UL; - v103 = 4UL; - v104 = 176UL; - v105 = ((u (*)())(v100))(v101, v102, v103, v104); -b76: v106 = (u)zas_modrm; - v107 = *(u *)((vc) + (48UL)); - v108 = 137UL; - v109 = 5UL; - v110 = 4UL; - v111 = 0UL; - v112 = 0UL; - v113 = 40UL; - v114 = ((u (*)())(v106))(v107, v108, v109, v110, v111, v112, v113); -b77: v115 = (u)zas_modrr; - v116 = *(u *)((vc) + (48UL)); - v117 = 139UL; - v118 = 5UL; - v119 = 4UL; - v120 = ((u (*)())(v115))(v116, v117, v118, v119); -b78: v121 = (u)zas_modrm; - v122 = *(u *)((vc) + (48UL)); - v123 = 137UL; - v124 = 0UL; - v125 = 5UL; - v126 = 0UL; - v127 = 0UL; - v128 = 0UL; - v129 = ((u (*)())(v121))(v122, v123, v124, v125, v126, v127, v128); -b79: v130 = (u)zas_modrm; - v131 = *(u *)((vc) + (48UL)); - v132 = 137UL; - v133 = 1UL; - v134 = 5UL; - v135 = 0UL; - v136 = 0UL; - v137 = 8UL; - v138 = ((u (*)())(v130))(v131, v132, v133, v134, v135, v136, v137); -b80: v139 = (u)zas_modrm; - v140 = *(u *)((vc) + (48UL)); - v141 = 137UL; - v142 = 2UL; - v143 = 5UL; - v144 = 0UL; - v145 = 0UL; - v146 = 16UL; - v147 = ((u (*)())(v139))(v140, v141, v142, v143, v144, v145, v146); -b81: v148 = (u)zas_modrm; - v149 = *(u *)((vc) + (48UL)); - v150 = 137UL; - v151 = 3UL; - v152 = 5UL; - v153 = 0UL; - v154 = 0UL; - v155 = 24UL; - v156 = ((u (*)())(v148))(v149, v150, v151, v152, v153, v154, v155); -b82: v157 = (u)zas_modrm; - v158 = *(u *)((vc) + (48UL)); - v159 = 137UL; - v160 = 6UL; - v161 = 5UL; - v162 = 0UL; - v163 = 0UL; - v164 = 48UL; - v165 = ((u (*)())(v157))(v158, v159, v160, v161, v162, v163, v164); -b83: v166 = (u)zas_modrm; - v167 = *(u *)((vc) + (48UL)); - v168 = 137UL; - v169 = 7UL; - v170 = 5UL; - v171 = 0UL; - v172 = 0UL; - v173 = 56UL; - v174 = ((u (*)())(v166))(v167, v168, v169, v170, v171, v172, v173); -b84: v175 = (u)zas_modrm; - v176 = *(u *)((vc) + (48UL)); - v177 = 137UL; - v178 = 8UL; - v179 = 5UL; - v180 = 0UL; - v181 = 0UL; - v182 = 64UL; - v183 = ((u (*)())(v175))(v176, v177, v178, v179, v180, v181, v182); -b85: v184 = (u)zas_modrm; - v185 = *(u *)((vc) + (48UL)); - v186 = 137UL; - v187 = 9UL; - v188 = 5UL; - v189 = 0UL; - v190 = 0UL; - v191 = 72UL; - v192 = ((u (*)())(v184))(v185, v186, v187, v188, v189, v190, v191); -b86: v193 = (u)zas_modrm; - v194 = *(u *)((vc) + (48UL)); - v195 = 137UL; - v196 = 10UL; - v197 = 5UL; - v198 = 0UL; - v199 = 0UL; - v200 = 80UL; - v201 = ((u (*)())(v193))(v194, v195, v196, v197, v198, v199, v200); -b87: v202 = (u)zas_modrm; - v203 = *(u *)((vc) + (48UL)); - v204 = 137UL; - v205 = 11UL; - v206 = 5UL; - v207 = 0UL; - v208 = 0UL; - v209 = 88UL; - v210 = ((u (*)())(v202))(v203, v204, v205, v206, v207, v208, v209); -b88: v211 = (u)zas_modrm; - v212 = *(u *)((vc) + (48UL)); - v213 = 137UL; - v214 = 12UL; - v215 = 5UL; - v216 = 0UL; - v217 = 0UL; - v218 = 96UL; - v219 = ((u (*)())(v211))(v212, v213, v214, v215, v216, v217, v218); -b89: v220 = (u)zas_modrm; - v221 = *(u *)((vc) + (48UL)); - v222 = 137UL; - v223 = 13UL; - v224 = 5UL; - v225 = 0UL; - v226 = 0UL; - v227 = 104UL; - v228 = ((u (*)())(v220))(v221, v222, v223, v224, v225, v226, v227); -b90: v229 = (u)zas_modrm; - v230 = *(u *)((vc) + (48UL)); - v231 = 137UL; - v232 = 14UL; - v233 = 5UL; - v234 = 0UL; - v235 = 0UL; - v236 = 112UL; - v237 = ((u (*)())(v229))(v230, v231, v232, v233, v234, v235, v236); -b91: v238 = (u)zas_modrm; - v239 = *(u *)((vc) + (48UL)); - v240 = 137UL; - v241 = 15UL; - v242 = 5UL; - v243 = 0UL; - v244 = 0UL; - v245 = 120UL; - v246 = ((u (*)())(v238))(v239, v240, v241, v242, v243, v244, v245); -b92: v247 = (u)zas_modrm; - v248 = *(u *)((vc) + (48UL)); - v249 = 139UL; - v250 = 0UL; - v251 = 5UL; - v252 = 0UL; - v253 = 0UL; - v254 = 176UL; - v255 = ((u (*)())(v247))(v248, v249, v250, v251, v252, v253, v254); -b93: v256 = (u)zas_modrm; - v257 = *(u *)((vc) + (48UL)); - v258 = 137UL; - v259 = 0UL; - v260 = 5UL; - v261 = 0UL; - v262 = 0UL; - v263 = 160UL; - v264 = ((u (*)())(v256))(v257, v258, v259, v260, v261, v262, v263); -b94: v265 = (u)zas_modrm; - v266 = *(u *)((vc) + (48UL)); - v267 = 139UL; - v268 = 0UL; - v269 = 5UL; - v270 = 0UL; - v271 = 0UL; - v272 = 184UL; - v273 = ((u (*)())(v265))(v266, v267, v268, v269, v270, v271, v272); -b95: v274 = (u)zas_modrm; - v275 = *(u *)((vc) + (48UL)); - v276 = 137UL; - v277 = 0UL; - v278 = 5UL; - v279 = 0UL; - v280 = 0UL; - v281 = 168UL; - v282 = ((u (*)())(v274))(v275, v276, v277, v278, v279, v280, v281); -b96: v283 = (u)zas_modrm; - v284 = *(u *)((vc) + (48UL)); - v285 = 139UL; - v286 = 0UL; - v287 = 5UL; - v288 = 0UL; - v289 = 0UL; - v290 = 192UL; - v291 = ((u (*)())(v283))(v284, v285, v286, v287, v288, v289, v290); -b97: v292 = (u)zas_modrm; - v293 = *(u *)((vc) + (48UL)); - v294 = 137UL; - v295 = 0UL; - v296 = 5UL; - v297 = 0UL; - v298 = 0UL; - v299 = 128UL; - v300 = ((u (*)())(v292))(v293, v294, v295, v296, v297, v298, v299); -b98: v301 = (u)zas_modrm; - v302 = *(u *)((vc) + (48UL)); - v303 = 139UL; - v304 = 0UL; - v305 = 5UL; - v306 = 0UL; - v307 = 0UL; - v308 = 200UL; - v309 = ((u (*)())(v301))(v302, v303, v304, v305, v306, v307, v308); -b99: v310 = (u)zas_modrm; - v311 = *(u *)((vc) + (48UL)); - v312 = 137UL; - v313 = 0UL; - v314 = 5UL; - v315 = 0UL; - v316 = 0UL; - v317 = 144UL; - v318 = ((u (*)())(v310))(v311, v312, v313, v314, v315, v316, v317); -b100: v319 = (u)zas_modrm; - v320 = *(u *)((vc) + (48UL)); - v321 = 139UL; - v322 = 0UL; - v323 = 5UL; - v324 = 0UL; - v325 = 0UL; - v326 = 208UL; - v327 = ((u (*)())(v319))(v320, v321, v322, v323, v324, v325, v326); -b101: v328 = (u)zas_modrm; - v329 = *(u *)((vc) + (48UL)); - v330 = 137UL; - v331 = 0UL; - v332 = 5UL; - v333 = 0UL; - v334 = 0UL; - v335 = 136UL; - v336 = ((u (*)())(v328))(v329, v330, v331, v332, v333, v334, v335); -b102: v337 = (u)zas_modrm; - v338 = *(u *)((vc) + (48UL)); - v339 = 139UL; - v340 = 0UL; - v341 = 5UL; - v342 = 0UL; - v343 = 0UL; - v344 = 216UL; - v345 = ((u (*)())(v337))(v338, v339, v340, v341, v342, v343, v344); -b103: v346 = (u)zas_modrm; - v347 = *(u *)((vc) + (48UL)); - v348 = 137UL; - v349 = 0UL; - v350 = 5UL; - v351 = 0UL; - v352 = 0UL; - v353 = 32UL; - v354 = ((u (*)())(v346))(v347, v348, v349, v350, v351, v352, v353); -b104: v355 = (u)zas_modrm; - v356 = *(u *)((vc) + (48UL)); - v357 = 139UL; - v358 = 0UL; - v359 = 5UL; - v360 = 0UL; - v361 = 0UL; - v362 = 224UL; - v363 = ((u (*)())(v355))(v356, v357, v358, v359, v360, v361, v362); -b105: v364 = (u)zas_modrm; - v365 = *(u *)((vc) + (48UL)); - v366 = 137UL; - v367 = 0UL; - v368 = 5UL; - v369 = 0UL; - v370 = 0UL; - v371 = 152UL; - v372 = ((u (*)())(v364))(v365, v366, v367, v368, v369, v370, v371); -b106: v373 = (u)zas_modrr; - v374 = *(u *)((vc) + (48UL)); - v375 = 139UL; - v376 = 7UL; - v377 = 5UL; - v378 = ((u (*)())(v373))(v374, v375, v376, v377); -b107: v379 = (u)zfind; + v103 = 4; + v104 = 176; + v105 = ((u(*)())v100)(v101, v102, v103, v104); + v106 = (u)zas_modrm; + v107 = *(u*)(vc + 48); + v108 = 137; + v109 = 5; + v110 = 4; + v111 = 0; + v112 = 0; + v113 = 40; + v114 = ((u(*)())v106)(v107, v108, v109, v110, v111, v112, v113); + v115 = (u)zas_modrr; + v116 = *(u*)(vc + 48); + v117 = 139; + v118 = 5; + v119 = 4; + v120 = ((u(*)())v115)(v116, v117, v118, v119); + v121 = (u)zas_modrm; + v122 = *(u*)(vc + 48); + v123 = 137; + v124 = 0; + v125 = 5; + v126 = 0; + v127 = 0; + v128 = 0; + v129 = ((u(*)())v121)(v122, v123, v124, v125, v126, v127, v128); + v130 = (u)zas_modrm; + v131 = *(u*)(vc + 48); + v132 = 137; + v133 = 1; + v134 = 5; + v135 = 0; + v136 = 0; + v137 = 8; + v138 = ((u(*)())v130)(v131, v132, v133, v134, v135, v136, v137); + v139 = (u)zas_modrm; + v140 = *(u*)(vc + 48); + v141 = 137; + v142 = 2; + v143 = 5; + v144 = 0; + v145 = 0; + v146 = 16; + v147 = ((u(*)())v139)(v140, v141, v142, v143, v144, v145, v146); + v148 = (u)zas_modrm; + v149 = *(u*)(vc + 48); + v150 = 137; + v151 = 3; + v152 = 5; + v153 = 0; + v154 = 0; + v155 = 24; + v156 = ((u(*)())v148)(v149, v150, v151, v152, v153, v154, v155); + v157 = (u)zas_modrm; + v158 = *(u*)(vc + 48); + v159 = 137; + v160 = 6; + v161 = 5; + v162 = 0; + v163 = 0; + v164 = 48; + v165 = ((u(*)())v157)(v158, v159, v160, v161, v162, v163, v164); + v166 = (u)zas_modrm; + v167 = *(u*)(vc + 48); + v168 = 137; + v169 = 7; + v170 = 5; + v171 = 0; + v172 = 0; + v173 = 56; + v174 = ((u(*)())v166)(v167, v168, v169, v170, v171, v172, v173); + v175 = (u)zas_modrm; + v176 = *(u*)(vc + 48); + v177 = 137; + v178 = 8; + v179 = 5; + v180 = 0; + v181 = 0; + v182 = 64; + v183 = ((u(*)())v175)(v176, v177, v178, v179, v180, v181, v182); + v184 = (u)zas_modrm; + v185 = *(u*)(vc + 48); + v186 = 137; + v187 = 9; + v188 = 5; + v189 = 0; + v190 = 0; + v191 = 72; + v192 = ((u(*)())v184)(v185, v186, v187, v188, v189, v190, v191); + v193 = (u)zas_modrm; + v194 = *(u*)(vc + 48); + v195 = 137; + v196 = 10; + v197 = 5; + v198 = 0; + v199 = 0; + v200 = 80; + v201 = ((u(*)())v193)(v194, v195, v196, v197, v198, v199, v200); + v202 = (u)zas_modrm; + v203 = *(u*)(vc + 48); + v204 = 137; + v205 = 11; + v206 = 5; + v207 = 0; + v208 = 0; + v209 = 88; + v210 = ((u(*)())v202)(v203, v204, v205, v206, v207, v208, v209); + v211 = (u)zas_modrm; + v212 = *(u*)(vc + 48); + v213 = 137; + v214 = 12; + v215 = 5; + v216 = 0; + v217 = 0; + v218 = 96; + v219 = ((u(*)())v211)(v212, v213, v214, v215, v216, v217, v218); + v220 = (u)zas_modrm; + v221 = *(u*)(vc + 48); + v222 = 137; + v223 = 13; + v224 = 5; + v225 = 0; + v226 = 0; + v227 = 104; + v228 = ((u(*)())v220)(v221, v222, v223, v224, v225, v226, v227); + v229 = (u)zas_modrm; + v230 = *(u*)(vc + 48); + v231 = 137; + v232 = 14; + v233 = 5; + v234 = 0; + v235 = 0; + v236 = 112; + v237 = ((u(*)())v229)(v230, v231, v232, v233, v234, v235, v236); + v238 = (u)zas_modrm; + v239 = *(u*)(vc + 48); + v240 = 137; + v241 = 15; + v242 = 5; + v243 = 0; + v244 = 0; + v245 = 120; + v246 = ((u(*)())v238)(v239, v240, v241, v242, v243, v244, v245); + v247 = (u)zas_modrm; + v248 = *(u*)(vc + 48); + v249 = 139; + v250 = 0; + v251 = 5; + v252 = 0; + v253 = 0; + v254 = 176; + v255 = ((u(*)())v247)(v248, v249, v250, v251, v252, v253, v254); + v256 = (u)zas_modrm; + v257 = *(u*)(vc + 48); + v258 = 137; + v259 = 0; + v260 = 5; + v261 = 0; + v262 = 0; + v263 = 160; + v264 = ((u(*)())v256)(v257, v258, v259, v260, v261, v262, v263); + v265 = (u)zas_modrm; + v266 = *(u*)(vc + 48); + v267 = 139; + v268 = 0; + v269 = 5; + v270 = 0; + v271 = 0; + v272 = 184; + v273 = ((u(*)())v265)(v266, v267, v268, v269, v270, v271, v272); + v274 = (u)zas_modrm; + v275 = *(u*)(vc + 48); + v276 = 137; + v277 = 0; + v278 = 5; + v279 = 0; + v280 = 0; + v281 = 168; + v282 = ((u(*)())v274)(v275, v276, v277, v278, v279, v280, v281); + v283 = (u)zas_modrm; + v284 = *(u*)(vc + 48); + v285 = 139; + v286 = 0; + v287 = 5; + v288 = 0; + v289 = 0; + v290 = 192; + v291 = ((u(*)())v283)(v284, v285, v286, v287, v288, v289, v290); + v292 = (u)zas_modrm; + v293 = *(u*)(vc + 48); + v294 = 137; + v295 = 0; + v296 = 5; + v297 = 0; + v298 = 0; + v299 = 128; + v300 = ((u(*)())v292)(v293, v294, v295, v296, v297, v298, v299); + v301 = (u)zas_modrm; + v302 = *(u*)(vc + 48); + v303 = 139; + v304 = 0; + v305 = 5; + v306 = 0; + v307 = 0; + v308 = 200; + v309 = ((u(*)())v301)(v302, v303, v304, v305, v306, v307, v308); + v310 = (u)zas_modrm; + v311 = *(u*)(vc + 48); + v312 = 137; + v313 = 0; + v314 = 5; + v315 = 0; + v316 = 0; + v317 = 144; + v318 = ((u(*)())v310)(v311, v312, v313, v314, v315, v316, v317); + v319 = (u)zas_modrm; + v320 = *(u*)(vc + 48); + v321 = 139; + v322 = 0; + v323 = 5; + v324 = 0; + v325 = 0; + v326 = 208; + v327 = ((u(*)())v319)(v320, v321, v322, v323, v324, v325, v326); + v328 = (u)zas_modrm; + v329 = *(u*)(vc + 48); + v330 = 137; + v331 = 0; + v332 = 5; + v333 = 0; + v334 = 0; + v335 = 136; + v336 = ((u(*)())v328)(v329, v330, v331, v332, v333, v334, v335); + v337 = (u)zas_modrm; + v338 = *(u*)(vc + 48); + v339 = 139; + v340 = 0; + v341 = 5; + v342 = 0; + v343 = 0; + v344 = 216; + v345 = ((u(*)())v337)(v338, v339, v340, v341, v342, v343, v344); + v346 = (u)zas_modrm; + v347 = *(u*)(vc + 48); + v348 = 137; + v349 = 0; + v350 = 5; + v351 = 0; + v352 = 0; + v353 = 32; + v354 = ((u(*)())v346)(v347, v348, v349, v350, v351, v352, v353); + v355 = (u)zas_modrm; + v356 = *(u*)(vc + 48); + v357 = 139; + v358 = 0; + v359 = 5; + v360 = 0; + v361 = 0; + v362 = 224; + v363 = ((u(*)())v355)(v356, v357, v358, v359, v360, v361, v362); + v364 = (u)zas_modrm; + v365 = *(u*)(vc + 48); + v366 = 137; + v367 = 0; + v368 = 5; + v369 = 0; + v370 = 0; + v371 = 152; + v372 = ((u(*)())v364)(v365, v366, v367, v368, v369, v370, v371); + v373 = (u)zas_modrr; + v374 = *(u*)(vc + 48); + v375 = 139; + v376 = 7; + v377 = 5; + v378 = ((u(*)())v373)(v374, v375, v376, v377); + v379 = (u)zfind; v380 = vc; v381 = (u)"_isr"; - v382 = 0UL; - v383 = 1UL; - v384 = ((u (*)())(v379))(v380, v381, v382, v383); -b108: vd = v384; - if (!(*(u *)((vd) + (72UL)))) { goto b113; } -b112: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b113; } -b114: v385 = 1UL; - goto b115; -b115: if (!(v385)) { goto b109; } -b110: v386 = (u)zas_jmp; - v387 = *(u *)((vc) + (48UL)); - v388 = 232UL; - v389 = *(u *)((vd) + (88UL)); - v390 = ((u (*)())(v386))(v387, v388, v389); + v382 = 0; + v383 = 1; + v384 = ((u(*)())v379)(v380, v381, v382, v383); + vd = v384; + if (!*(u*)(vd + 72)) goto b113; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b113; + v385 = 1; +b115: if (!v385) goto b109; + v386 = (u)zas_jmp; + v387 = *(u*)(vc + 48); + v388 = 232; + v389 = *(u*)(vd + 88); + v390 = ((u(*)())v386)(v387, v388, v389); b109: v391 = (u)zas_modrm; - v392 = *(u *)((vc) + (48UL)); - v393 = 139UL; - v394 = 0UL; - v395 = 5UL; - v396 = 0UL; - v397 = 0UL; - v398 = 128UL; - v399 = ((u (*)())(v391))(v392, v393, v394, v395, v396, v397, v398); -b117: v400 = (u)zas_modrm; - v401 = *(u *)((vc) + (48UL)); - v402 = 137UL; - v403 = 0UL; - v404 = 5UL; - v405 = 0UL; - v406 = 0UL; - v407 = 192UL; - v408 = ((u (*)())(v400))(v401, v402, v403, v404, v405, v406, v407); -b118: v409 = (u)zas_modrm; - v410 = *(u *)((vc) + (48UL)); - v411 = 139UL; - v412 = 0UL; - v413 = 5UL; - v414 = 0UL; - v415 = 0UL; - v416 = 144UL; - v417 = ((u (*)())(v409))(v410, v411, v412, v413, v414, v415, v416); -b119: v418 = (u)zas_modrm; - v419 = *(u *)((vc) + (48UL)); - v420 = 137UL; - v421 = 0UL; - v422 = 5UL; - v423 = 0UL; - v424 = 0UL; - v425 = 200UL; - v426 = ((u (*)())(v418))(v419, v420, v421, v422, v423, v424, v425); -b120: v427 = (u)zas_modrm; - v428 = *(u *)((vc) + (48UL)); - v429 = 139UL; - v430 = 0UL; - v431 = 5UL; - v432 = 0UL; - v433 = 0UL; - v434 = 136UL; - v435 = ((u (*)())(v427))(v428, v429, v430, v431, v432, v433, v434); -b121: v436 = (u)zas_modrm; - v437 = *(u *)((vc) + (48UL)); - v438 = 137UL; - v439 = 0UL; - v440 = 5UL; - v441 = 0UL; - v442 = 0UL; - v443 = 208UL; - v444 = ((u (*)())(v436))(v437, v438, v439, v440, v441, v442, v443); -b122: v445 = (u)zas_modrm; - v446 = *(u *)((vc) + (48UL)); - v447 = 139UL; - v448 = 0UL; - v449 = 5UL; - v450 = 0UL; - v451 = 0UL; - v452 = 32UL; - v453 = ((u (*)())(v445))(v446, v447, v448, v449, v450, v451, v452); -b123: v454 = (u)zas_modrm; - v455 = *(u *)((vc) + (48UL)); - v456 = 137UL; - v457 = 0UL; - v458 = 5UL; - v459 = 0UL; - v460 = 0UL; - v461 = 216UL; - v462 = ((u (*)())(v454))(v455, v456, v457, v458, v459, v460, v461); -b124: v463 = (u)zas_modrm; - v464 = *(u *)((vc) + (48UL)); - v465 = 139UL; - v466 = 0UL; - v467 = 5UL; - v468 = 0UL; - v469 = 0UL; - v470 = 152UL; - v471 = ((u (*)())(v463))(v464, v465, v466, v467, v468, v469, v470); -b125: v472 = (u)zas_modrm; - v473 = *(u *)((vc) + (48UL)); - v474 = 137UL; - v475 = 0UL; - v476 = 5UL; - v477 = 0UL; - v478 = 0UL; - v479 = 224UL; - v480 = ((u (*)())(v472))(v473, v474, v475, v476, v477, v478, v479); -b126: v481 = (u)zas_modrm; - v482 = *(u *)((vc) + (48UL)); - v483 = 139UL; - v484 = 0UL; - v485 = 5UL; - v486 = 0UL; - v487 = 0UL; - v488 = 0UL; - v489 = ((u (*)())(v481))(v482, v483, v484, v485, v486, v487, v488); -b127: v490 = (u)zas_modrm; - v491 = *(u *)((vc) + (48UL)); - v492 = 139UL; - v493 = 1UL; - v494 = 5UL; - v495 = 0UL; - v496 = 0UL; - v497 = 8UL; - v498 = ((u (*)())(v490))(v491, v492, v493, v494, v495, v496, v497); -b128: v499 = (u)zas_modrm; - v500 = *(u *)((vc) + (48UL)); - v501 = 139UL; - v502 = 2UL; - v503 = 5UL; - v504 = 0UL; - v505 = 0UL; - v506 = 16UL; - v507 = ((u (*)())(v499))(v500, v501, v502, v503, v504, v505, v506); -b129: v508 = (u)zas_modrm; - v509 = *(u *)((vc) + (48UL)); - v510 = 139UL; - v511 = 3UL; - v512 = 5UL; - v513 = 0UL; - v514 = 0UL; - v515 = 24UL; - v516 = ((u (*)())(v508))(v509, v510, v511, v512, v513, v514, v515); -b130: v517 = (u)zas_modrm; - v518 = *(u *)((vc) + (48UL)); - v519 = 139UL; - v520 = 6UL; - v521 = 5UL; - v522 = 0UL; - v523 = 0UL; - v524 = 48UL; - v525 = ((u (*)())(v517))(v518, v519, v520, v521, v522, v523, v524); -b131: v526 = (u)zas_modrm; - v527 = *(u *)((vc) + (48UL)); - v528 = 139UL; - v529 = 7UL; - v530 = 5UL; - v531 = 0UL; - v532 = 0UL; - v533 = 56UL; - v534 = ((u (*)())(v526))(v527, v528, v529, v530, v531, v532, v533); -b132: v535 = (u)zas_modrm; - v536 = *(u *)((vc) + (48UL)); - v537 = 139UL; - v538 = 8UL; - v539 = 5UL; - v540 = 0UL; - v541 = 0UL; - v542 = 64UL; - v543 = ((u (*)())(v535))(v536, v537, v538, v539, v540, v541, v542); -b133: v544 = (u)zas_modrm; - v545 = *(u *)((vc) + (48UL)); - v546 = 139UL; - v547 = 9UL; - v548 = 5UL; - v549 = 0UL; - v550 = 0UL; - v551 = 72UL; - v552 = ((u (*)())(v544))(v545, v546, v547, v548, v549, v550, v551); -b134: v553 = (u)zas_modrm; - v554 = *(u *)((vc) + (48UL)); - v555 = 139UL; - v556 = 10UL; - v557 = 5UL; - v558 = 0UL; - v559 = 0UL; - v560 = 80UL; - v561 = ((u (*)())(v553))(v554, v555, v556, v557, v558, v559, v560); -b135: v562 = (u)zas_modrm; - v563 = *(u *)((vc) + (48UL)); - v564 = 139UL; - v565 = 11UL; - v566 = 5UL; - v567 = 0UL; - v568 = 0UL; - v569 = 88UL; - v570 = ((u (*)())(v562))(v563, v564, v565, v566, v567, v568, v569); -b136: v571 = (u)zas_modrm; - v572 = *(u *)((vc) + (48UL)); - v573 = 139UL; - v574 = 12UL; - v575 = 5UL; - v576 = 0UL; - v577 = 0UL; - v578 = 96UL; - v579 = ((u (*)())(v571))(v572, v573, v574, v575, v576, v577, v578); -b137: v580 = (u)zas_modrm; - v581 = *(u *)((vc) + (48UL)); - v582 = 139UL; - v583 = 13UL; - v584 = 5UL; - v585 = 0UL; - v586 = 0UL; - v587 = 104UL; - v588 = ((u (*)())(v580))(v581, v582, v583, v584, v585, v586, v587); -b138: v589 = (u)zas_modrm; - v590 = *(u *)((vc) + (48UL)); - v591 = 139UL; - v592 = 14UL; - v593 = 5UL; - v594 = 0UL; - v595 = 0UL; - v596 = 112UL; - v597 = ((u (*)())(v589))(v590, v591, v592, v593, v594, v595, v596); -b139: v598 = (u)zas_modrm; - v599 = *(u *)((vc) + (48UL)); - v600 = 139UL; - v601 = 15UL; - v602 = 5UL; - v603 = 0UL; - v604 = 0UL; - v605 = 120UL; - v606 = ((u (*)())(v598))(v599, v600, v601, v602, v603, v604, v605); -b140: v607 = (u)zas_modrm; - v608 = *(u *)((vc) + (48UL)); - v609 = 139UL; - v610 = 5UL; - v611 = 5UL; - v612 = 0UL; - v613 = 0UL; - v614 = 40UL; - v615 = ((u (*)())(v607))(v608, v609, v610, v611, v612, v613, v614); -b141: v616 = (u)zas_modri; - v617 = *(u *)((vc) + (48UL)); - v618 = 129UL; - v619 = 4UL; - v620 = 192UL; - v621 = ((u (*)())(v616))(v617, v618, v619, v620); -b142: v622 = (u)zas_op; - v623 = *(u *)((vc) + (48UL)); - v624 = 18639UL; - v625 = ((u (*)())(v622))(v623, v624); -b143: return 0UL; -b113: v385 = 0UL; + v392 = *(u*)(vc + 48); + v393 = 139; + v394 = 0; + v395 = 5; + v396 = 0; + v397 = 0; + v398 = 128; + v399 = ((u(*)())v391)(v392, v393, v394, v395, v396, v397, v398); + v400 = (u)zas_modrm; + v401 = *(u*)(vc + 48); + v402 = 137; + v403 = 0; + v404 = 5; + v405 = 0; + v406 = 0; + v407 = 192; + v408 = ((u(*)())v400)(v401, v402, v403, v404, v405, v406, v407); + v409 = (u)zas_modrm; + v410 = *(u*)(vc + 48); + v411 = 139; + v412 = 0; + v413 = 5; + v414 = 0; + v415 = 0; + v416 = 144; + v417 = ((u(*)())v409)(v410, v411, v412, v413, v414, v415, v416); + v418 = (u)zas_modrm; + v419 = *(u*)(vc + 48); + v420 = 137; + v421 = 0; + v422 = 5; + v423 = 0; + v424 = 0; + v425 = 200; + v426 = ((u(*)())v418)(v419, v420, v421, v422, v423, v424, v425); + v427 = (u)zas_modrm; + v428 = *(u*)(vc + 48); + v429 = 139; + v430 = 0; + v431 = 5; + v432 = 0; + v433 = 0; + v434 = 136; + v435 = ((u(*)())v427)(v428, v429, v430, v431, v432, v433, v434); + v436 = (u)zas_modrm; + v437 = *(u*)(vc + 48); + v438 = 137; + v439 = 0; + v440 = 5; + v441 = 0; + v442 = 0; + v443 = 208; + v444 = ((u(*)())v436)(v437, v438, v439, v440, v441, v442, v443); + v445 = (u)zas_modrm; + v446 = *(u*)(vc + 48); + v447 = 139; + v448 = 0; + v449 = 5; + v450 = 0; + v451 = 0; + v452 = 32; + v453 = ((u(*)())v445)(v446, v447, v448, v449, v450, v451, v452); + v454 = (u)zas_modrm; + v455 = *(u*)(vc + 48); + v456 = 137; + v457 = 0; + v458 = 5; + v459 = 0; + v460 = 0; + v461 = 216; + v462 = ((u(*)())v454)(v455, v456, v457, v458, v459, v460, v461); + v463 = (u)zas_modrm; + v464 = *(u*)(vc + 48); + v465 = 139; + v466 = 0; + v467 = 5; + v468 = 0; + v469 = 0; + v470 = 152; + v471 = ((u(*)())v463)(v464, v465, v466, v467, v468, v469, v470); + v472 = (u)zas_modrm; + v473 = *(u*)(vc + 48); + v474 = 137; + v475 = 0; + v476 = 5; + v477 = 0; + v478 = 0; + v479 = 224; + v480 = ((u(*)())v472)(v473, v474, v475, v476, v477, v478, v479); + v481 = (u)zas_modrm; + v482 = *(u*)(vc + 48); + v483 = 139; + v484 = 0; + v485 = 5; + v486 = 0; + v487 = 0; + v488 = 0; + v489 = ((u(*)())v481)(v482, v483, v484, v485, v486, v487, v488); + v490 = (u)zas_modrm; + v491 = *(u*)(vc + 48); + v492 = 139; + v493 = 1; + v494 = 5; + v495 = 0; + v496 = 0; + v497 = 8; + v498 = ((u(*)())v490)(v491, v492, v493, v494, v495, v496, v497); + v499 = (u)zas_modrm; + v500 = *(u*)(vc + 48); + v501 = 139; + v502 = 2; + v503 = 5; + v504 = 0; + v505 = 0; + v506 = 16; + v507 = ((u(*)())v499)(v500, v501, v502, v503, v504, v505, v506); + v508 = (u)zas_modrm; + v509 = *(u*)(vc + 48); + v510 = 139; + v511 = 3; + v512 = 5; + v513 = 0; + v514 = 0; + v515 = 24; + v516 = ((u(*)())v508)(v509, v510, v511, v512, v513, v514, v515); + v517 = (u)zas_modrm; + v518 = *(u*)(vc + 48); + v519 = 139; + v520 = 6; + v521 = 5; + v522 = 0; + v523 = 0; + v524 = 48; + v525 = ((u(*)())v517)(v518, v519, v520, v521, v522, v523, v524); + v526 = (u)zas_modrm; + v527 = *(u*)(vc + 48); + v528 = 139; + v529 = 7; + v530 = 5; + v531 = 0; + v532 = 0; + v533 = 56; + v534 = ((u(*)())v526)(v527, v528, v529, v530, v531, v532, v533); + v535 = (u)zas_modrm; + v536 = *(u*)(vc + 48); + v537 = 139; + v538 = 8; + v539 = 5; + v540 = 0; + v541 = 0; + v542 = 64; + v543 = ((u(*)())v535)(v536, v537, v538, v539, v540, v541, v542); + v544 = (u)zas_modrm; + v545 = *(u*)(vc + 48); + v546 = 139; + v547 = 9; + v548 = 5; + v549 = 0; + v550 = 0; + v551 = 72; + v552 = ((u(*)())v544)(v545, v546, v547, v548, v549, v550, v551); + v553 = (u)zas_modrm; + v554 = *(u*)(vc + 48); + v555 = 139; + v556 = 10; + v557 = 5; + v558 = 0; + v559 = 0; + v560 = 80; + v561 = ((u(*)())v553)(v554, v555, v556, v557, v558, v559, v560); + v562 = (u)zas_modrm; + v563 = *(u*)(vc + 48); + v564 = 139; + v565 = 11; + v566 = 5; + v567 = 0; + v568 = 0; + v569 = 88; + v570 = ((u(*)())v562)(v563, v564, v565, v566, v567, v568, v569); + v571 = (u)zas_modrm; + v572 = *(u*)(vc + 48); + v573 = 139; + v574 = 12; + v575 = 5; + v576 = 0; + v577 = 0; + v578 = 96; + v579 = ((u(*)())v571)(v572, v573, v574, v575, v576, v577, v578); + v580 = (u)zas_modrm; + v581 = *(u*)(vc + 48); + v582 = 139; + v583 = 13; + v584 = 5; + v585 = 0; + v586 = 0; + v587 = 104; + v588 = ((u(*)())v580)(v581, v582, v583, v584, v585, v586, v587); + v589 = (u)zas_modrm; + v590 = *(u*)(vc + 48); + v591 = 139; + v592 = 14; + v593 = 5; + v594 = 0; + v595 = 0; + v596 = 112; + v597 = ((u(*)())v589)(v590, v591, v592, v593, v594, v595, v596); + v598 = (u)zas_modrm; + v599 = *(u*)(vc + 48); + v600 = 139; + v601 = 15; + v602 = 5; + v603 = 0; + v604 = 0; + v605 = 120; + v606 = ((u(*)())v598)(v599, v600, v601, v602, v603, v604, v605); + v607 = (u)zas_modrm; + v608 = *(u*)(vc + 48); + v609 = 139; + v610 = 5; + v611 = 5; + v612 = 0; + v613 = 0; + v614 = 40; + v615 = ((u(*)())v607)(v608, v609, v610, v611, v612, v613, v614); + v616 = (u)zas_modri; + v617 = *(u*)(vc + 48); + v618 = 129; + v619 = 4; + v620 = 192; + v621 = ((u(*)())v616)(v617, v618, v619, v620); + v622 = (u)zas_op; + v623 = *(u*)(vc + 48); + v624 = 18639; + v625 = ((u(*)())v622)(v623, v624); + return 0; +b113: v385 = 0; goto b115; b4: v7 = (u)zreserve; - v8 = *(u *)((vc) + (48UL)); - v9 = 16UL; - v10 = ((u (*)())(v7))(v8, v9); -b7: if ((vi) != (8UL)) { goto b12; } -b11: v11 = 1UL; - goto b14; -b14: if (!(v11)) { goto b10; } -b9: v20 = (u)zas_emit; - v21 = *(u *)((vc) + (48UL)); - v22 = 144UL; - v23 = ((u (*)())(v20))(v21, v22); -b56: v24 = (u)zas_emit; - v25 = *(u *)((vc) + (48UL)); - v26 = 144UL; - v27 = ((u (*)())(v24))(v25, v26); + v8 = *(u*)(vc + 48); + v9 = 16; + v10 = ((u(*)())v7)(v8, v9); + if (vi != 8) goto b12; + v11 = 1; +b14: if (!v11) goto b10; + v20 = (u)zas_emit; + v21 = *(u*)(vc + 48); + v22 = 144; + v23 = ((u(*)())v20)(v21, v22); + v24 = (u)zas_emit; + v25 = *(u*)(vc + 48); + v26 = 144; + v27 = ((u(*)())v24)(v25, v26); b8: v36 = (u)zas_emit; - v37 = *(u *)((vc) + (48UL)); - v38 = 104UL; - v39 = ((u (*)())(v36))(v37, v38); -b60: v40 = (u)zas_emit; - v41 = *(u *)((vc) + (48UL)); + v37 = *(u*)(vc + 48); + v38 = 104; + v39 = ((u(*)())v36)(v37, v38); + v40 = (u)zas_emit; + v41 = *(u*)(vc + 48); v42 = vi; - v43 = ((u (*)())(v40))(v41, v42); -b61: v44 = (u)zas_emit; - v45 = *(u *)((vc) + (48UL)); - v46 = 0UL; - v47 = ((u (*)())(v44))(v45, v46); -b62: v48 = (u)zas_emit; - v49 = *(u *)((vc) + (48UL)); - v50 = 0UL; - v51 = ((u (*)())(v48))(v49, v50); -b63: v52 = (u)zas_emit; - v53 = *(u *)((vc) + (48UL)); - v54 = 0UL; - v55 = ((u (*)())(v52))(v53, v54); -b64: v56 = (u)zas_emit; - v57 = *(u *)((vc) + (48UL)); - v58 = 233UL; - v59 = ((u (*)())(v56))(v57, v58); -b65: v60 = (u)zas_emit; - v61 = *(u *)((vc) + (48UL)); - v62 = 0UL; - v63 = ((u (*)())(v60))(v61, v62); -b66: v64 = (u)zas_emit; - v65 = *(u *)((vc) + (48UL)); - v66 = 0UL; - v67 = ((u (*)())(v64))(v65, v66); -b67: v68 = (u)zas_emit; - v69 = *(u *)((vc) + (48UL)); - v70 = 0UL; - v71 = ((u (*)())(v68))(v69, v70); -b68: v72 = (u)zas_emit; - v73 = *(u *)((vc) + (48UL)); - v74 = 0UL; - v75 = ((u (*)())(v72))(v73, v74); -b69: v76 = (u)zaddfixup; - v77 = *(u *)((vc) + (48UL)); + v43 = ((u(*)())v40)(v41, v42); + v44 = (u)zas_emit; + v45 = *(u*)(vc + 48); + v46 = 0; + v47 = ((u(*)())v44)(v45, v46); + v48 = (u)zas_emit; + v49 = *(u*)(vc + 48); + v50 = 0; + v51 = ((u(*)())v48)(v49, v50); + v52 = (u)zas_emit; + v53 = *(u*)(vc + 48); + v54 = 0; + v55 = ((u(*)())v52)(v53, v54); + v56 = (u)zas_emit; + v57 = *(u*)(vc + 48); + v58 = 233; + v59 = ((u(*)())v56)(v57, v58); + v60 = (u)zas_emit; + v61 = *(u*)(vc + 48); + v62 = 0; + v63 = ((u(*)())v60)(v61, v62); + v64 = (u)zas_emit; + v65 = *(u*)(vc + 48); + v66 = 0; + v67 = ((u(*)())v64)(v65, v66); + v68 = (u)zas_emit; + v69 = *(u*)(vc + 48); + v70 = 0; + v71 = ((u(*)())v68)(v69, v70); + v72 = (u)zas_emit; + v73 = *(u*)(vc + 48); + v74 = 0; + v75 = ((u(*)())v72)(v73, v74); + v76 = (u)zaddfixup; + v77 = *(u*)(vc + 48); v78 = vout; - v79 = ((u (*)())(v76))(v77, v78); -b70: v80 = (u)zas_emit; - v81 = *(u *)((vc) + (48UL)); - v82 = 144UL; - v83 = ((u (*)())(v80))(v81, v82); -b71: v84 = (u)zas_emit; - v85 = *(u *)((vc) + (48UL)); - v86 = 144UL; - v87 = ((u (*)())(v84))(v85, v86); -b72: v88 = (u)zas_emit; - v89 = *(u *)((vc) + (48UL)); - v90 = 144UL; - v91 = ((u (*)())(v88))(v89, v90); -b73: v92 = (u)zas_emit; - v93 = *(u *)((vc) + (48UL)); - v94 = 144UL; - v95 = ((u (*)())(v92))(v93, v94); -b74: vi = (vi) + (1UL); + v79 = ((u(*)())v76)(v77, v78); + v80 = (u)zas_emit; + v81 = *(u*)(vc + 48); + v82 = 144; + v83 = ((u(*)())v80)(v81, v82); + v84 = (u)zas_emit; + v85 = *(u*)(vc + 48); + v86 = 144; + v87 = ((u(*)())v84)(v85, v86); + v88 = (u)zas_emit; + v89 = *(u*)(vc + 48); + v90 = 144; + v91 = ((u(*)())v88)(v89, v90); + v92 = (u)zas_emit; + v93 = *(u*)(vc + 48); + v94 = 144; + v95 = ((u(*)())v92)(v93, v94); + vi = vi + 1; goto b2; b10: v28 = (u)zas_emit; - v29 = *(u *)((vc) + (48UL)); - v30 = 106UL; - v31 = ((u (*)())(v28))(v29, v30); -b58: v32 = (u)zas_emit; - v33 = *(u *)((vc) + (48UL)); - v34 = 0UL; - v35 = ((u (*)())(v32))(v33, v34); + v29 = *(u*)(vc + 48); + v30 = 106; + v31 = ((u(*)())v28)(v29, v30); + v32 = (u)zas_emit; + v33 = *(u*)(vc + 48); + v34 = 0; + v35 = ((u(*)())v32)(v33, v34); goto b8; -b12: if ((vi) != (10UL)) { goto b17; } -b16: v12 = 1UL; - goto b19; -b19: if (!(v12)) { goto b15; } -b13: v11 = 1UL; +b12: if (vi != 10) goto b17; + v12 = 1; +b19: if (!v12) goto b15; + v11 = 1; goto b14; -b15: v11 = 0UL; +b15: v11 = 0; goto b14; -b17: if ((vi) != (11UL)) { goto b22; } -b21: v13 = 1UL; - goto b24; -b24: if (!(v13)) { goto b20; } -b18: v12 = 1UL; +b17: if (vi != 11) goto b22; + v13 = 1; +b24: if (!v13) goto b20; + v12 = 1; goto b19; -b20: v12 = 0UL; +b20: v12 = 0; goto b19; -b22: if ((vi) != (12UL)) { goto b27; } -b26: v14 = 1UL; - goto b29; -b29: if (!(v14)) { goto b25; } -b23: v13 = 1UL; +b22: if (vi != 12) goto b27; + v14 = 1; +b29: if (!v14) goto b25; + v13 = 1; goto b24; -b25: v13 = 0UL; +b25: v13 = 0; goto b24; -b27: if ((vi) != (13UL)) { goto b32; } -b31: v15 = 1UL; - goto b34; -b34: if (!(v15)) { goto b30; } -b28: v14 = 1UL; +b27: if (vi != 13) goto b32; + v15 = 1; +b34: if (!v15) goto b30; + v14 = 1; goto b29; -b30: v14 = 0UL; +b30: v14 = 0; goto b29; -b32: if ((vi) != (14UL)) { goto b37; } -b36: v16 = 1UL; - goto b39; -b39: if (!(v16)) { goto b35; } -b33: v15 = 1UL; +b32: if (vi != 14) goto b37; + v16 = 1; +b39: if (!v16) goto b35; + v15 = 1; goto b34; -b35: v15 = 0UL; +b35: v15 = 0; goto b34; -b37: if ((vi) != (17UL)) { goto b42; } -b41: v17 = 1UL; - goto b44; -b44: if (!(v17)) { goto b40; } -b38: v16 = 1UL; +b37: if (vi != 17) goto b42; + v17 = 1; +b44: if (!v17) goto b40; + v16 = 1; goto b39; -b40: v16 = 0UL; +b40: v16 = 0; goto b39; -b42: if ((vi) != (21UL)) { goto b47; } -b46: v18 = 1UL; - goto b49; -b49: if (!(v18)) { goto b45; } -b43: v17 = 1UL; +b42: if (vi != 21) goto b47; + v18 = 1; +b49: if (!v18) goto b45; + v17 = 1; goto b44; -b45: v17 = 0UL; +b45: v17 = 0; goto b44; -b47: if ((vi) != (29UL)) { goto b52; } -b51: v19 = 1UL; - goto b54; -b54: if (!(v19)) { goto b50; } -b48: v18 = 1UL; +b47: if (vi != 29) goto b52; + v19 = 1; +b54: if (!v19) goto b50; + v18 = 1; goto b49; -b50: v18 = 0UL; +b50: v18 = 0; goto b49; -b52: if ((vi) != (30UL)) { goto b55; } -b53: v19 = 1UL; +b52: if (vi != 30) goto b55; + v19 = 1; goto b54; -b55: v19 = 0UL; +b55: v19 = 0; goto b54; } -u zemit_kstart(u vc) { +u zemit_kstart(u vc){ u vhang = 0; u vdo_iret = 0; u vdo_ret = 0; @@ -10430,635 +10192,635 @@ u zemit_kstart(u vc) { u v622 = 0; u v623 = 0; u v624 = 0; -b0: *(u *)((vc) + (48UL)) = 1UL; + *(u*)(vc + 48) = 1; v5 = (u)zmklabel; v6 = vc; - v7 = ((u (*)())(v5))(v6); -b1: vhang = v7; + v7 = ((u(*)())v5)(v6); + vhang = v7; v8 = (u)zmklabel; v9 = vc; - v10 = ((u (*)())(v8))(v9); -b2: vdo_iret = v10; + v10 = ((u(*)())v8)(v9); + vdo_iret = v10; v11 = (u)zmklabel; v12 = vc; - v13 = ((u (*)())(v11))(v12); -b3: vdo_ret = v13; + v13 = ((u(*)())v11)(v12); + vdo_ret = v13; v14 = (u)zmklabel; v15 = vc; - v16 = ((u (*)())(v14))(v15); -b4: vdone = v16; + v16 = ((u(*)())v14)(v15); + vdone = v16; v17 = (u)zas_modri; v18 = vc; - v19 = 199UL; - v20 = 2UL; + v19 = 199; + v20 = 2; v21 = 732803074UL; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b5: v23 = (u)zas_modrr; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + v23 = (u)zas_modrr; v24 = vc; - v25 = 59UL; - v26 = 0UL; - v27 = 2UL; - v28 = ((u (*)())(v23))(v24, v25, v26, v27); -b6: v29 = (u)zas_jmp; + v25 = 59; + v26 = 0; + v27 = 2; + v28 = ((u(*)())v23)(v24, v25, v26, v27); + v29 = (u)zas_jmp; v30 = vc; - v31 = 3973UL; + v31 = 3973; v32 = vhang; - v33 = ((u (*)())(v29))(v30, v31, v32); -b7: v34 = (u)zas_modri; + v33 = ((u(*)())v29)(v30, v31, v32); + v34 = (u)zas_modri; v35 = vc; - v36 = 199UL; - v37 = 4UL; + v36 = 199; + v37 = 4; v38 = 3145728UL; - v39 = ((u (*)())(v34))(v35, v36, v37, v38); -b8: v40 = (u)zas_modri; + v39 = ((u(*)())v34)(v35, v36, v37, v38); + v40 = (u)zas_modri; v41 = vc; v42 = 262273UL; - v43 = 4UL; + v43 = 4; v44 = -4096UL; - v45 = ((u (*)())(v40))(v41, v42, v43, v44); -b9: v46 = (u)zas_modri; + v45 = ((u(*)())v40)(v41, v42, v43, v44); + v46 = (u)zas_modri; v47 = vc; v48 = 327809UL; - v49 = 4UL; - v50 = 4096UL; - v51 = ((u (*)())(v46))(v47, v48, v49, v50); -b10: v52 = (u)zas_modri; + v49 = 4; + v50 = 4096; + v51 = ((u(*)())v46)(v47, v48, v49, v50); + v52 = (u)zas_modri; v53 = vc; - v54 = 199UL; - v55 = 0UL; - v56 = 131UL; - v57 = ((u (*)())(v52))(v53, v54, v55, v56); -b11: v58 = (u)zas_modri; + v54 = 199; + v55 = 0; + v56 = 131; + v57 = ((u(*)())v52)(v53, v54, v55, v56); + v58 = (u)zas_modri; v59 = vc; - v60 = 199UL; - v61 = 2UL; - v62 = 0UL; - v63 = ((u (*)())(v58))(v59, v60, v61, v62); -b12: v64 = (u)zas_modrm; + v60 = 199; + v61 = 2; + v62 = 0; + v63 = ((u(*)())v58)(v59, v60, v61, v62); + v64 = (u)zas_modrm; v65 = vc; - v66 = 137UL; - v67 = 0UL; - v68 = 4UL; - v69 = 0UL; - v70 = 0UL; - v71 = 0UL; - v72 = ((u (*)())(v64))(v65, v66, v67, v68, v69, v70, v71); -b13: v73 = (u)zas_modrm; + v66 = 137; + v67 = 0; + v68 = 4; + v69 = 0; + v70 = 0; + v71 = 0; + v72 = ((u(*)())v64)(v65, v66, v67, v68, v69, v70, v71); + v73 = (u)zas_modrm; v74 = vc; - v75 = 137UL; - v76 = 2UL; - v77 = 4UL; - v78 = 0UL; - v79 = 0UL; - v80 = 4UL; - v81 = ((u (*)())(v73))(v74, v75, v76, v77, v78, v79, v80); -b14: v82 = (u)zas_modrm; + v75 = 137; + v76 = 2; + v77 = 4; + v78 = 0; + v79 = 0; + v80 = 4; + v81 = ((u(*)())v73)(v74, v75, v76, v77, v78, v79, v80); + v82 = (u)zas_modrm; v83 = vc; - v84 = 137UL; - v85 = 0UL; - v86 = 4UL; - v87 = 0UL; - v88 = 0UL; - v89 = 4080UL; - v90 = ((u (*)())(v82))(v83, v84, v85, v86, v87, v88, v89); -b15: v91 = (u)zas_modrm; + v84 = 137; + v85 = 0; + v86 = 4; + v87 = 0; + v88 = 0; + v89 = 4080; + v90 = ((u(*)())v82)(v83, v84, v85, v86, v87, v88, v89); + v91 = (u)zas_modrm; v92 = vc; - v93 = 137UL; - v94 = 2UL; - v95 = 4UL; - v96 = 0UL; - v97 = 0UL; - v98 = 4084UL; - v99 = ((u (*)())(v91))(v92, v93, v94, v95, v96, v97, v98); -b16: v100 = (u)zas_modrr; + v93 = 137; + v94 = 2; + v95 = 4; + v96 = 0; + v97 = 0; + v98 = 4084; + v99 = ((u(*)())v91)(v92, v93, v94, v95, v96, v97, v98); + v100 = (u)zas_modrr; v101 = vc; - v102 = 139UL; - v103 = 0UL; - v104 = 4UL; - v105 = ((u (*)())(v100))(v101, v102, v103, v104); -b17: v106 = (u)zas_modri; + v102 = 139; + v103 = 0; + v104 = 4; + v105 = ((u(*)())v100)(v101, v102, v103, v104); + v106 = (u)zas_modri; v107 = vc; v108 = 327809UL; - v109 = 4UL; - v110 = 4096UL; - v111 = ((u (*)())(v106))(v107, v108, v109, v110); -b18: v112 = (u)zas_modri; + v109 = 4; + v110 = 4096; + v111 = ((u(*)())v106)(v107, v108, v109, v110); + v112 = (u)zas_modri; v113 = vc; v114 = 65665UL; - v115 = 0UL; - v116 = 3UL; - v117 = ((u (*)())(v112))(v113, v114, v115, v116); -b19: v118 = (u)zas_modri; + v115 = 0; + v116 = 3; + v117 = ((u(*)())v112)(v113, v114, v115, v116); + v118 = (u)zas_modri; v119 = vc; - v120 = 199UL; - v121 = 2UL; - v122 = 0UL; - v123 = ((u (*)())(v118))(v119, v120, v121, v122); -b20: v124 = (u)zas_modrm; + v120 = 199; + v121 = 2; + v122 = 0; + v123 = ((u(*)())v118)(v119, v120, v121, v122); + v124 = (u)zas_modrm; v125 = vc; - v126 = 137UL; - v127 = 0UL; - v128 = 4UL; - v129 = 0UL; - v130 = 0UL; - v131 = 0UL; - v132 = ((u (*)())(v124))(v125, v126, v127, v128, v129, v130, v131); -b21: v133 = (u)zas_modrm; + v126 = 137; + v127 = 0; + v128 = 4; + v129 = 0; + v130 = 0; + v131 = 0; + v132 = ((u(*)())v124)(v125, v126, v127, v128, v129, v130, v131); + v133 = (u)zas_modrm; v134 = vc; - v135 = 137UL; - v136 = 2UL; - v137 = 4UL; - v138 = 0UL; - v139 = 0UL; - v140 = 4UL; - v141 = ((u (*)())(v133))(v134, v135, v136, v137, v138, v139, v140); -b22: v142 = (u)zas_modrm; + v135 = 137; + v136 = 2; + v137 = 4; + v138 = 0; + v139 = 0; + v140 = 4; + v141 = ((u(*)())v133)(v134, v135, v136, v137, v138, v139, v140); + v142 = (u)zas_modrm; v143 = vc; - v144 = 137UL; - v145 = 0UL; - v146 = 4UL; - v147 = 0UL; - v148 = 0UL; - v149 = 4088UL; - v150 = ((u (*)())(v142))(v143, v144, v145, v146, v147, v148, v149); -b23: v151 = (u)zas_modrm; + v144 = 137; + v145 = 0; + v146 = 4; + v147 = 0; + v148 = 0; + v149 = 4088; + v150 = ((u(*)())v142)(v143, v144, v145, v146, v147, v148, v149); + v151 = (u)zas_modrm; v152 = vc; - v153 = 137UL; - v154 = 2UL; - v155 = 4UL; - v156 = 0UL; - v157 = 0UL; - v158 = 4092UL; - v159 = ((u (*)())(v151))(v152, v153, v154, v155, v156, v157, v158); -b24: v160 = (u)zas_modrr; + v153 = 137; + v154 = 2; + v155 = 4; + v156 = 0; + v157 = 0; + v158 = 4092; + v159 = ((u(*)())v151)(v152, v153, v154, v155, v156, v157, v158); + v160 = (u)zas_modrr; v161 = vc; - v162 = 3874UL; - v163 = 3UL; - v164 = 4UL; - v165 = ((u (*)())(v160))(v161, v162, v163, v164); -b25: v166 = (u)zas_modri; + v162 = 3874; + v163 = 3; + v164 = 4; + v165 = ((u(*)())v160)(v161, v162, v163, v164); + v166 = (u)zas_modri; v167 = vc; v168 = 327809UL; - v169 = 4UL; - v170 = 64UL; - v171 = ((u (*)())(v166))(v167, v168, v169, v170); -b26: v172 = (u)zas_modrr; + v169 = 4; + v170 = 64; + v171 = ((u(*)())v166)(v167, v168, v169, v170); + v172 = (u)zas_modrr; v173 = vc; - v174 = 139UL; - v175 = 5UL; - v176 = 4UL; - v177 = ((u (*)())(v172))(v173, v174, v175, v176); -b27: v178 = (u)zas_modri; + v174 = 139; + v175 = 5; + v176 = 4; + v177 = ((u(*)())v172)(v173, v174, v175, v176); + v178 = (u)zas_modri; v179 = vc; - v180 = 199UL; - v181 = 0UL; - v182 = 0UL; - v183 = ((u (*)())(v178))(v179, v180, v181, v182); -b28: v184 = (u)zas_modrm; + v180 = 199; + v181 = 0; + v182 = 0; + v183 = ((u(*)())v178)(v179, v180, v181, v182); + v184 = (u)zas_modrm; v185 = vc; - v186 = 137UL; - v187 = 0UL; - v188 = 5UL; - v189 = 0UL; - v190 = 0UL; - v191 = 8UL; - v192 = ((u (*)())(v184))(v185, v186, v187, v188, v189, v190, v191); -b29: v193 = (u)zas_modri; + v186 = 137; + v187 = 0; + v188 = 5; + v189 = 0; + v190 = 0; + v191 = 8; + v192 = ((u(*)())v184)(v185, v186, v187, v188, v189, v190, v191); + v193 = (u)zas_modri; v194 = vc; - v195 = 199UL; - v196 = 0UL; - v197 = 0UL; - v198 = ((u (*)())(v193))(v194, v195, v196, v197); -b30: v199 = (u)zas_modrm; + v195 = 199; + v196 = 0; + v197 = 0; + v198 = ((u(*)())v193)(v194, v195, v196, v197); + v199 = (u)zas_modrm; v200 = vc; - v201 = 137UL; - v202 = 0UL; - v203 = 5UL; - v204 = 0UL; - v205 = 0UL; - v206 = 12UL; - v207 = ((u (*)())(v199))(v200, v201, v202, v203, v204, v205, v206); -b31: v208 = (u)zas_modri; + v201 = 137; + v202 = 0; + v203 = 5; + v204 = 0; + v205 = 0; + v206 = 12; + v207 = ((u(*)())v199)(v200, v201, v202, v203, v204, v205, v206); + v208 = (u)zas_modri; v209 = vc; - v210 = 199UL; - v211 = 0UL; - v212 = 0UL; - v213 = ((u (*)())(v208))(v209, v210, v211, v212); -b32: v214 = (u)zas_modrm; + v210 = 199; + v211 = 0; + v212 = 0; + v213 = ((u(*)())v208)(v209, v210, v211, v212); + v214 = (u)zas_modrm; v215 = vc; - v216 = 137UL; - v217 = 0UL; - v218 = 5UL; - v219 = 0UL; - v220 = 0UL; - v221 = 16UL; - v222 = ((u (*)())(v214))(v215, v216, v217, v218, v219, v220, v221); -b33: v223 = (u)zas_modri; + v216 = 137; + v217 = 0; + v218 = 5; + v219 = 0; + v220 = 0; + v221 = 16; + v222 = ((u(*)())v214)(v215, v216, v217, v218, v219, v220, v221); + v223 = (u)zas_modri; v224 = vc; - v225 = 199UL; - v226 = 0UL; + v225 = 199; + v226 = 0; v227 = 2136064UL; - v228 = ((u (*)())(v223))(v224, v225, v226, v227); -b34: v229 = (u)zas_modrm; + v228 = ((u(*)())v223)(v224, v225, v226, v227); + v229 = (u)zas_modrm; v230 = vc; - v231 = 137UL; - v232 = 0UL; - v233 = 5UL; - v234 = 0UL; - v235 = 0UL; - v236 = 20UL; - v237 = ((u (*)())(v229))(v230, v231, v232, v233, v234, v235, v236); -b35: v238 = (u)zas_modri; + v231 = 137; + v232 = 0; + v233 = 5; + v234 = 0; + v235 = 0; + v236 = 20; + v237 = ((u(*)())v229)(v230, v231, v232, v233, v234, v235, v236); + v238 = (u)zas_modri; v239 = vc; - v240 = 199UL; - v241 = 0UL; - v242 = 0UL; - v243 = ((u (*)())(v238))(v239, v240, v241, v242); -b36: v244 = (u)zas_modrm; + v240 = 199; + v241 = 0; + v242 = 0; + v243 = ((u(*)())v238)(v239, v240, v241, v242); + v244 = (u)zas_modrm; v245 = vc; - v246 = 137UL; - v247 = 0UL; - v248 = 5UL; - v249 = 0UL; - v250 = 0UL; - v251 = 24UL; - v252 = ((u (*)())(v244))(v245, v246, v247, v248, v249, v250, v251); -b37: v253 = (u)zas_modri; + v246 = 137; + v247 = 0; + v248 = 5; + v249 = 0; + v250 = 0; + v251 = 24; + v252 = ((u(*)())v244)(v245, v246, v247, v248, v249, v250, v251); + v253 = (u)zas_modri; v254 = vc; - v255 = 199UL; - v256 = 0UL; + v255 = 199; + v256 = 0; v257 = 37376UL; - v258 = ((u (*)())(v253))(v254, v255, v256, v257); -b38: v259 = (u)zas_modrm; + v258 = ((u(*)())v253)(v254, v255, v256, v257); + v259 = (u)zas_modrm; v260 = vc; - v261 = 137UL; - v262 = 0UL; - v263 = 5UL; - v264 = 0UL; - v265 = 0UL; - v266 = 28UL; - v267 = ((u (*)())(v259))(v260, v261, v262, v263, v264, v265, v266); -b39: v268 = (u)zas_modri; + v261 = 137; + v262 = 0; + v263 = 5; + v264 = 0; + v265 = 0; + v266 = 28; + v267 = ((u(*)())v259)(v260, v261, v262, v263, v264, v265, v266); + v268 = (u)zas_modri; v269 = vc; - v270 = 199UL; - v271 = 0UL; - v272 = 23UL; - v273 = ((u (*)())(v268))(v269, v270, v271, v272); -b40: v274 = (u)zas_modrm; + v270 = 199; + v271 = 0; + v272 = 23; + v273 = ((u(*)())v268)(v269, v270, v271, v272); + v274 = (u)zas_modrm; v275 = vc; - v276 = 137UL; - v277 = 0UL; - v278 = 5UL; - v279 = 0UL; - v280 = 0UL; - v281 = 0UL; - v282 = ((u (*)())(v274))(v275, v276, v277, v278, v279, v280, v281); -b41: v283 = (u)zas_modrm; + v276 = 137; + v277 = 0; + v278 = 5; + v279 = 0; + v280 = 0; + v281 = 0; + v282 = ((u(*)())v274)(v275, v276, v277, v278, v279, v280, v281); + v283 = (u)zas_modrm; v284 = vc; - v285 = 141UL; - v286 = 0UL; - v287 = 5UL; - v288 = 0UL; - v289 = 0UL; - v290 = 8UL; - v291 = ((u (*)())(v283))(v284, v285, v286, v287, v288, v289, v290); -b42: v292 = (u)zas_modrm; + v285 = 141; + v286 = 0; + v287 = 5; + v288 = 0; + v289 = 0; + v290 = 8; + v291 = ((u(*)())v283)(v284, v285, v286, v287, v288, v289, v290); + v292 = (u)zas_modrm; v293 = vc; - v294 = 137UL; - v295 = 0UL; - v296 = 5UL; - v297 = 0UL; - v298 = 0UL; - v299 = 2UL; - v300 = ((u (*)())(v292))(v293, v294, v295, v296, v297, v298, v299); -b43: v301 = (u)zas_modm; + v294 = 137; + v295 = 0; + v296 = 5; + v297 = 0; + v298 = 0; + v299 = 2; + v300 = ((u(*)())v292)(v293, v294, v295, v296, v297, v298, v299); + v301 = (u)zas_modm; v302 = vc; v303 = 134913UL; - v304 = 5UL; - v305 = 0UL; - v306 = 0UL; - v307 = 0UL; - v308 = ((u (*)())(v301))(v302, v303, v304, v305, v306, v307); -b44: v309 = (u)zas_modri; + v304 = 5; + v305 = 0; + v306 = 0; + v307 = 0; + v308 = ((u(*)())v301)(v302, v303, v304, v305, v306, v307); + v309 = (u)zas_modri; v310 = vc; - v311 = 199UL; - v312 = 0UL; - v313 = 0UL; - v314 = ((u (*)())(v309))(v310, v311, v312, v313); -b45: v315 = (u)zas_modr; + v311 = 199; + v312 = 0; + v313 = 0; + v314 = ((u(*)())v309)(v310, v311, v312, v313); + v315 = (u)zas_modr; v316 = vc; v317 = 134912UL; - v318 = 0UL; - v319 = ((u (*)())(v315))(v316, v317, v318); -b46: v320 = (u)zas_modm; + v318 = 0; + v319 = ((u(*)())v315)(v316, v317, v318); + v320 = (u)zas_modm; v321 = vc; v322 = 200449UL; - v323 = 5UL; - v324 = 0UL; - v325 = 0UL; - v326 = 8UL; - v327 = ((u (*)())(v320))(v321, v322, v323, v324, v325, v326); -b47: v328 = (u)zas_modri; + v323 = 5; + v324 = 0; + v325 = 0; + v326 = 8; + v327 = ((u(*)())v320)(v321, v322, v323, v324, v325, v326); + v328 = (u)zas_modri; v329 = vc; - v330 = 199UL; - v331 = 0UL; - v332 = 160UL; - v333 = ((u (*)())(v328))(v329, v330, v331, v332); -b48: v334 = (u)zas_modrr; + v330 = 199; + v331 = 0; + v332 = 160; + v333 = ((u(*)())v328)(v329, v330, v331, v332); + v334 = (u)zas_modrr; v335 = vc; - v336 = 3874UL; - v337 = 4UL; - v338 = 0UL; - v339 = ((u (*)())(v334))(v335, v336, v337, v338); -b49: v340 = (u)zas_modri; + v336 = 3874; + v337 = 4; + v338 = 0; + v339 = ((u(*)())v334)(v335, v336, v337, v338); + v340 = (u)zas_modri; v341 = vc; - v342 = 199UL; - v343 = 1UL; + v342 = 199; + v343 = 1; v344 = -1073741696UL; - v345 = ((u (*)())(v340))(v341, v342, v343, v344); -b50: v346 = (u)zas_op; + v345 = ((u(*)())v340)(v341, v342, v343, v344); + v346 = (u)zas_op; v347 = vc; - v348 = 3890UL; - v349 = ((u (*)())(v346))(v347, v348); -b51: v350 = (u)zas_modri; + v348 = 3890; + v349 = ((u(*)())v346)(v347, v348); + v350 = (u)zas_modri; v351 = vc; v352 = 65665UL; - v353 = 0UL; - v354 = 256UL; - v355 = ((u (*)())(v350))(v351, v352, v353, v354); -b52: v356 = (u)zas_op; + v353 = 0; + v354 = 256; + v355 = ((u(*)())v350)(v351, v352, v353, v354); + v356 = (u)zas_op; v357 = vc; - v358 = 3888UL; - v359 = ((u (*)())(v356))(v357, v358); -b53: v360 = (u)zas_modrr; + v358 = 3888; + v359 = ((u(*)())v356)(v357, v358); + v360 = (u)zas_modrr; v361 = vc; - v362 = 3872UL; - v363 = 0UL; - v364 = 0UL; - v365 = ((u (*)())(v360))(v361, v362, v363, v364); -b54: v366 = (u)zas_modri; + v362 = 3872; + v363 = 0; + v364 = 0; + v365 = ((u(*)())v360)(v361, v362, v363, v364); + v366 = (u)zas_modri; v367 = vc; v368 = 65665UL; - v369 = 0UL; + v369 = 0; v370 = -2147483647UL; - v371 = ((u (*)())(v366))(v367, v368, v369, v370); -b55: v372 = (u)zas_modrr; + v371 = ((u(*)())v366)(v367, v368, v369, v370); + v372 = (u)zas_modrr; v373 = vc; - v374 = 3874UL; - v375 = 0UL; - v376 = 0UL; - v377 = ((u (*)())(v372))(v373, v374, v375, v376); -b56: v378 = (u)zas_modri; + v374 = 3874; + v375 = 0; + v376 = 0; + v377 = ((u(*)())v372)(v373, v374, v375, v376); + v378 = (u)zas_modri; v379 = vc; - v380 = 199UL; - v381 = 0UL; - v382 = 0UL; - v383 = ((u (*)())(v378))(v379, v380, v381, v382); -b57: v384 = (u)zas_opr; + v380 = 199; + v381 = 0; + v382 = 0; + v383 = ((u(*)())v378)(v379, v380, v381, v382); + v384 = (u)zas_opr; v385 = vc; - v386 = 80UL; - v387 = 0UL; - v388 = ((u (*)())(v384))(v385, v386, v387); -b58: v389 = (u)zas_modri; + v386 = 80; + v387 = 0; + v388 = ((u(*)())v384)(v385, v386, v387); + v389 = (u)zas_modri; v390 = vc; - v391 = 199UL; - v392 = 0UL; - v393 = 8UL; - v394 = ((u (*)())(v389))(v390, v391, v392, v393); -b59: v395 = (u)zas_opr; + v391 = 199; + v392 = 0; + v393 = 8; + v394 = ((u(*)())v389)(v390, v391, v392, v393); + v395 = (u)zas_opr; v396 = vc; - v397 = 80UL; - v398 = 0UL; - v399 = ((u (*)())(v395))(v396, v397, v398); -b60: v400 = (u)zas_jmp; + v397 = 80; + v398 = 0; + v399 = ((u(*)())v395)(v396, v397, v398); + v400 = (u)zas_jmp; v401 = vc; - v402 = 232UL; + v402 = 232; v403 = vdo_iret; - v404 = ((u (*)())(v400))(v401, v402, v403); -b61: *(u *)((vc) + (48UL)) = 0UL; + v404 = ((u(*)())v400)(v401, v402, v403); + *(u*)(vc + 48) = 0; v405 = (u)zas_jmp; v406 = vc; - v407 = 232UL; + v407 = 232; v408 = vdo_ret; - v409 = ((u (*)())(v405))(v406, v407, v408); -b62: v410 = (u)zas_modri; + v409 = ((u(*)())v405)(v406, v407, v408); + v410 = (u)zas_modri; v411 = vc; v412 = 65665UL; - v413 = 5UL; + v413 = 5; v414 = -2147483648UL; - v415 = ((u (*)())(v410))(v411, v412, v413, v414); -b63: v416 = (u)zas_modri; + v415 = ((u(*)())v410)(v411, v412, v413, v414); + v416 = (u)zas_modri; v417 = vc; - v418 = 199UL; - v419 = 0UL; - v420 = 23UL; - v421 = ((u (*)())(v416))(v417, v418, v419, v420); -b64: v422 = (u)zas_modrm; + v418 = 199; + v419 = 0; + v420 = 23; + v421 = ((u(*)())v416)(v417, v418, v419, v420); + v422 = (u)zas_modrm; v423 = vc; - v424 = 137UL; - v425 = 0UL; - v426 = 5UL; - v427 = 0UL; - v428 = 0UL; - v429 = 0UL; - v430 = ((u (*)())(v422))(v423, v424, v425, v426, v427, v428, v429); -b65: v431 = (u)zas_modrm; + v424 = 137; + v425 = 0; + v426 = 5; + v427 = 0; + v428 = 0; + v429 = 0; + v430 = ((u(*)())v422)(v423, v424, v425, v426, v427, v428, v429); + v431 = (u)zas_modrm; v432 = vc; - v433 = 141UL; - v434 = 0UL; - v435 = 5UL; - v436 = 0UL; - v437 = 0UL; - v438 = 8UL; - v439 = ((u (*)())(v431))(v432, v433, v434, v435, v436, v437, v438); -b66: v440 = (u)zas_modrm; + v433 = 141; + v434 = 0; + v435 = 5; + v436 = 0; + v437 = 0; + v438 = 8; + v439 = ((u(*)())v431)(v432, v433, v434, v435, v436, v437, v438); + v440 = (u)zas_modrm; v441 = vc; - v442 = 137UL; - v443 = 0UL; - v444 = 5UL; - v445 = 0UL; - v446 = 0UL; - v447 = 2UL; - v448 = ((u (*)())(v440))(v441, v442, v443, v444, v445, v446, v447); -b67: v449 = (u)zas_modm; + v442 = 137; + v443 = 0; + v444 = 5; + v445 = 0; + v446 = 0; + v447 = 2; + v448 = ((u(*)())v440)(v441, v442, v443, v444, v445, v446, v447); + v449 = (u)zas_modm; v450 = vc; v451 = 134913UL; - v452 = 5UL; - v453 = 0UL; - v454 = 0UL; - v455 = 0UL; - v456 = ((u (*)())(v449))(v450, v451, v452, v453, v454, v455); -b68: v457 = (u)zas_modri; + v452 = 5; + v453 = 0; + v454 = 0; + v455 = 0; + v456 = ((u(*)())v449)(v450, v451, v452, v453, v454, v455); + v457 = (u)zas_modri; v458 = vc; - v459 = 199UL; - v460 = 0UL; - v461 = 16UL; - v462 = ((u (*)())(v457))(v458, v459, v460, v461); -b69: v463 = (u)zas_modrr; + v459 = 199; + v460 = 0; + v461 = 16; + v462 = ((u(*)())v457)(v458, v459, v460, v461); + v463 = (u)zas_modrr; v464 = vc; - v465 = 142UL; - v466 = 0UL; - v467 = 0UL; - v468 = ((u (*)())(v463))(v464, v465, v466, v467); -b70: v469 = (u)zas_modrr; + v465 = 142; + v466 = 0; + v467 = 0; + v468 = ((u(*)())v463)(v464, v465, v466, v467); + v469 = (u)zas_modrr; v470 = vc; - v471 = 142UL; - v472 = 3UL; - v473 = 0UL; - v474 = ((u (*)())(v469))(v470, v471, v472, v473); -b71: v475 = (u)zas_modrr; + v471 = 142; + v472 = 3; + v473 = 0; + v474 = ((u(*)())v469)(v470, v471, v472, v473); + v475 = (u)zas_modrr; v476 = vc; - v477 = 142UL; - v478 = 4UL; - v479 = 0UL; - v480 = ((u (*)())(v475))(v476, v477, v478, v479); -b72: v481 = (u)zas_modrr; + v477 = 142; + v478 = 4; + v479 = 0; + v480 = ((u(*)())v475)(v476, v477, v478, v479); + v481 = (u)zas_modrr; v482 = vc; - v483 = 142UL; - v484 = 5UL; - v485 = 0UL; - v486 = ((u (*)())(v481))(v482, v483, v484, v485); -b73: v487 = (u)zas_modrr; + v483 = 142; + v484 = 5; + v485 = 0; + v486 = ((u(*)())v481)(v482, v483, v484, v485); + v487 = (u)zas_modrr; v488 = vc; - v489 = 142UL; - v490 = 2UL; - v491 = 0UL; - v492 = ((u (*)())(v487))(v488, v489, v490, v491); -b74: v493 = (u)zas_modrr; + v489 = 142; + v490 = 2; + v491 = 0; + v492 = ((u(*)())v487)(v488, v489, v490, v491); + v493 = (u)zas_modrr; v494 = vc; - v495 = 139UL; - v496 = 4UL; - v497 = 4UL; - v498 = ((u (*)())(v493))(v494, v495, v496, v497); -b75: v499 = (u)zas_modri; + v495 = 139; + v496 = 4; + v497 = 4; + v498 = ((u(*)())v493)(v494, v495, v496, v497); + v499 = (u)zas_modri; v500 = vc; v501 = 65665UL; - v502 = 4UL; + v502 = 4; v503 = -2147483648UL; - v504 = ((u (*)())(v499))(v500, v501, v502, v503); -b76: v505 = (u)zas_modri; + v504 = ((u(*)())v499)(v500, v501, v502, v503); + v505 = (u)zas_modri; v506 = vc; - v507 = 199UL; - v508 = 0UL; - v509 = 0UL; - v510 = ((u (*)())(v505))(v506, v507, v508, v509); -b77: v511 = (u)zas_modrm; + v507 = 199; + v508 = 0; + v509 = 0; + v510 = ((u(*)())v505)(v506, v507, v508, v509); + v511 = (u)zas_modrm; v512 = vc; - v513 = 141UL; - v514 = 7UL; - v515 = 5UL; - v516 = 0UL; - v517 = 0UL; - v518 = 64UL; - v519 = ((u (*)())(v511))(v512, v513, v514, v515, v516, v517, v518); -b78: v520 = (u)zas_modrm; + v513 = 141; + v514 = 7; + v515 = 5; + v516 = 0; + v517 = 0; + v518 = 64; + v519 = ((u(*)())v511)(v512, v513, v514, v515, v516, v517, v518); + v520 = (u)zas_modrm; v521 = vc; - v522 = 137UL; - v523 = 0UL; - v524 = 7UL; - v525 = 0UL; - v526 = 0UL; - v527 = 4096UL; - v528 = ((u (*)())(v520))(v521, v522, v523, v524, v525, v526, v527); -b79: v529 = (u)zas_modrm; + v522 = 137; + v523 = 0; + v524 = 7; + v525 = 0; + v526 = 0; + v527 = 4096; + v528 = ((u(*)())v520)(v521, v522, v523, v524, v525, v526, v527); + v529 = (u)zas_modrm; v530 = vc; - v531 = 137UL; - v532 = 0UL; - v533 = 7UL; - v534 = 0UL; - v535 = 0UL; - v536 = 0UL; - v537 = ((u (*)())(v529))(v530, v531, v532, v533, v534, v535, v536); -b80: v538 = (u)zas_modri; + v531 = 137; + v532 = 0; + v533 = 7; + v534 = 0; + v535 = 0; + v536 = 0; + v537 = ((u(*)())v529)(v530, v531, v532, v533, v534, v535, v536); + v538 = (u)zas_modri; v539 = vc; v540 = 262273UL; - v541 = 7UL; + v541 = 7; v542 = 2147483647UL; - v543 = ((u (*)())(v538))(v539, v540, v541, v542); -b81: v544 = (u)zas_modrr; + v543 = ((u(*)())v538)(v539, v540, v541, v542); + v544 = (u)zas_modrr; v545 = vc; - v546 = 3874UL; - v547 = 3UL; - v548 = 7UL; - v549 = ((u (*)())(v544))(v545, v546, v547, v548); -b82: v550 = (u)zas_jmp; + v546 = 3874; + v547 = 3; + v548 = 7; + v549 = ((u(*)())v544)(v545, v546, v547, v548); + v550 = (u)zas_jmp; v551 = vc; - v552 = 233UL; + v552 = 233; v553 = vdone; - v554 = ((u (*)())(v550))(v551, v552, v553); -b83: v555 = (u)zfixup_label; + v554 = ((u(*)())v550)(v551, v552, v553); + v555 = (u)zfixup_label; v556 = vc; v557 = vhang; - v558 = ((u (*)())(v555))(v556, v557); -b84: v559 = (u)zas_op; + v558 = ((u(*)())v555)(v556, v557); + v559 = (u)zas_op; v560 = vc; - v561 = 250UL; - v562 = ((u (*)())(v559))(v560, v561); -b85: v563 = (u)zas_op; + v561 = 250; + v562 = ((u(*)())v559)(v560, v561); + v563 = (u)zas_op; v564 = vc; - v565 = 244UL; - v566 = ((u (*)())(v563))(v564, v565); -b86: v567 = (u)zas_jmp; + v565 = 244; + v566 = ((u(*)())v563)(v564, v565); + v567 = (u)zas_jmp; v568 = vc; - v569 = 233UL; + v569 = 233; v570 = vhang; - v571 = ((u (*)())(v567))(v568, v569, v570); -b87: v572 = (u)zfixup_label; + v571 = ((u(*)())v567)(v568, v569, v570); + v572 = (u)zfixup_label; v573 = vc; v574 = vdo_iret; - v575 = ((u (*)())(v572))(v573, v574); -b88: v576 = (u)zas_op; + v575 = ((u(*)())v572)(v573, v574); + v576 = (u)zas_op; v577 = vc; - v578 = 207UL; - v579 = ((u (*)())(v576))(v577, v578); -b89: v580 = (u)zfixup_label; + v578 = 207; + v579 = ((u(*)())v576)(v577, v578); + v580 = (u)zfixup_label; v581 = vc; v582 = vdo_ret; - v583 = ((u (*)())(v580))(v581, v582); -b90: v584 = (u)zas_opr; + v583 = ((u(*)())v580)(v581, v582); + v584 = (u)zas_opr; v585 = vc; - v586 = 88UL; - v587 = 0UL; - v588 = ((u (*)())(v584))(v585, v586, v587); -b91: v589 = (u)zas_modri; + v586 = 88; + v587 = 0; + v588 = ((u(*)())v584)(v585, v586, v587); + v589 = (u)zas_modri; v590 = vc; v591 = 65665UL; - v592 = 0UL; + v592 = 0; v593 = -2147483648UL; - v594 = ((u (*)())(v589))(v590, v591, v592, v593); -b92: v595 = (u)zas_opr; + v594 = ((u(*)())v589)(v590, v591, v592, v593); + v595 = (u)zas_opr; v596 = vc; - v597 = 80UL; - v598 = 0UL; - v599 = ((u (*)())(v595))(v596, v597, v598); -b93: v600 = (u)zas_op; + v597 = 80; + v598 = 0; + v599 = ((u(*)())v595)(v596, v597, v598); + v600 = (u)zas_op; v601 = vc; - v602 = 195UL; - v603 = ((u (*)())(v600))(v601, v602); -b94: v604 = (u)zfixup_label; + v602 = 195; + v603 = ((u(*)())v600)(v601, v602); + v604 = (u)zfixup_label; v605 = vc; v606 = vdone; - v607 = ((u (*)())(v604))(v605, v606); -b95: v608 = (u)zas_modrr; + v607 = ((u(*)())v604)(v605, v606); + v608 = (u)zas_modrr; v609 = vc; - v610 = 51UL; - v611 = 5UL; - v612 = 5UL; - v613 = ((u (*)())(v608))(v609, v610, v611, v612); -b96: v614 = (u)zas_modrr; + v610 = 51; + v611 = 5; + v612 = 5; + v613 = ((u(*)())v608)(v609, v610, v611, v612); + v614 = (u)zas_modrr; v615 = vc; - v616 = 139UL; - v617 = 7UL; - v618 = 3UL; - v619 = ((u (*)())(v614))(v615, v616, v617, v618); -b97: v620 = (u)zas_opr; + v616 = 139; + v617 = 7; + v618 = 3; + v619 = ((u(*)())v614)(v615, v616, v617, v618); + v620 = (u)zas_opr; v621 = vc; - v622 = 80UL; - v623 = 5UL; - v624 = ((u (*)())(v620))(v621, v622, v623); -b98: return 0UL; + v622 = 80; + v623 = 5; + v624 = ((u(*)())v620)(v621, v622, v623); + return 0; } -u zemit_sections(u vc) { +u zemit_sections(u vc){ u vat = 0; u vs = 0; u vy = 0; @@ -11500,540 +11262,526 @@ u zemit_sections(u vc) { u v439 = 0; u v440 = 0; u v441 = 0; -b0: v6 = (u)zadd_symbol; + v6 = (u)zadd_symbol; v7 = vc; v8 = (u)""; - v9 = 0UL; - v10 = ((u (*)())(v6))(v7, v8, v9); -b1: v11 = (u)zfind_section; + v9 = 0; + v10 = ((u(*)())v6)(v7, v8, v9); + v11 = (u)zfind_section; v12 = vc; v13 = (u)""; - v14 = ((u (*)())(v11))(v12, v13); -b2: vs = v14; - *(u *)((vs) + (16UL)) = 0UL; - *(u *)((vs) + (24UL)) = 0UL; - vhere = *(u *)((vc) + (24UL)); + v14 = ((u(*)())v11)(v12, v13); + vs = v14; + *(u*)(vs + 16) = 0; + *(u*)(vs + 24) = 0; + vhere = *(u*)(vc + 24); v15 = (u)zemit_align; v16 = vc; - v17 = 4096UL; - v18 = 144UL; - v19 = ((u (*)())(v15))(v16, v17, v18); -b3: v20 = (u)zadd_section; + v17 = 4096; + v18 = 144; + v19 = ((u(*)())v15)(v16, v17, v18); + v20 = (u)zadd_section; v21 = vc; v22 = (u)".rodata"; - v23 = 1UL; - v24 = ((u (*)())(v20))(v21, v22, v23); -b4: v25 = (u)zfind_section; + v23 = 1; + v24 = ((u(*)())v20)(v21, v22, v23); + v25 = (u)zfind_section; v26 = vc; v27 = (u)".text"; - v28 = ((u (*)())(v25))(v26, v27); -b5: vs = v28; - *(u *)((vs) + (24UL)) = vhere; + v28 = ((u(*)())v25)(v26, v27); + vs = v28; + *(u*)(vs + 24) = vhere; v29 = (u)zemit_blobs; v30 = vc; - v31 = *(u *)((vc) + (120UL)); - v32 = ((u (*)())(v29))(v30, v31); -b6: v33 = (u)zemit_align; + v31 = *(u*)(vc + 120); + v32 = ((u(*)())v29)(v30, v31); + v33 = (u)zemit_align; v34 = vc; - v35 = 4096UL; - v36 = 0UL; - v37 = ((u (*)())(v33))(v34, v35, v36); -b7: v38 = (u)zadd_section; + v35 = 4096; + v36 = 0; + v37 = ((u(*)())v33)(v34, v35, v36); + v38 = (u)zadd_section; v39 = vc; v40 = (u)".strtab"; - v41 = 3UL; - v42 = ((u (*)())(v38))(v39, v40, v41); -b8: vy = *(u *)((vc) + (56UL)); - goto b9; -b9: if (!(vy)) { goto b15; } -b14: v43 = 0UL; - goto b16; -b16: if (!(v43)) { goto b11; } -b10: v48 = (u)zadd_section; + v41 = 3; + v42 = ((u(*)())v38)(v39, v40, v41); + vy = *(u*)(vc + 56); +b9: if (!vy) goto b15; + v43 = 0; +b16: if (!v43) goto b11; + v48 = (u)zadd_section; v49 = vc; v50 = (u)".symtab"; - v51 = 2UL; - v52 = ((u (*)())(v48))(v49, v50, v51); -b18: vy = *(u *)((vc) + (56UL)); - goto b19; -b19: if (!(vy)) { goto b25; } -b24: v53 = 0UL; - goto b26; -b26: if (!(v53)) { goto b21; } -b20: v150 = (u)zfind_section; + v51 = 2; + v52 = ((u(*)())v48)(v49, v50, v51); + vy = *(u*)(vc + 56); +b19: if (!vy) goto b25; + v53 = 0; +b26: if (!v53) goto b21; + v150 = (u)zfind_section; v151 = vc; v152 = (u)".strtab"; - v153 = ((u (*)())(v150))(v151, v152); -b60: vs = v153; - vn = *(u *)((vs) + (32UL)); + v153 = ((u(*)())v150)(v151, v152); + vs = v153; + vn = *(u*)(vs + 32); v154 = (u)zfind_section; v155 = vc; v156 = (u)".symtab"; - v157 = ((u (*)())(v154))(v155, v156); -b61: vs = v157; - *(u *)((vs) + (56UL)) = vn; - *(u *)((vs) + (64UL)) = 24UL; + v157 = ((u(*)())v154)(v155, v156); + vs = v157; + *(u*)(vs + 56) = vn; + *(u*)(vs + 64) = 24; v158 = (u)zadd_section; v159 = vc; v160 = (u)".shstrtab"; - v161 = 3UL; - v162 = ((u (*)())(v158))(v159, v160, v161); -b62: vs = *(u *)((vc) + (64UL)); - vn = 0UL; - goto b63; -b63: if (!(vs)) { goto b69; } -b68: v163 = 0UL; - goto b70; -b70: if (!(v163)) { goto b65; } -b64: v168 = (u)zfind_section; + v161 = 3; + v162 = ((u(*)())v158)(v159, v160, v161); + vs = *(u*)(vc + 64); + vn = 0; +b63: if (!vs) goto b69; + v163 = 0; +b70: if (!v163) goto b65; + v168 = (u)zfind_section; v169 = vc; v170 = (u)".shstrtab"; - v171 = ((u (*)())(v168))(v169, v170); -b72: vs = v171; - *(u *)((vs) + (24UL)) = *(u *)((vc) + (24UL)); + v171 = ((u(*)())v168)(v169, v170); + vs = v171; + *(u*)(vs + 24) = *(u*)(vc + 24); v172 = (u)zemit_align; v173 = vc; - v174 = 16UL; - v175 = 144UL; - v176 = ((u (*)())(v172))(v173, v174, v175); -b73: vat = *(u *)((vc) + (24UL)); - vs = *(u *)((vc) + (64UL)); - goto b74; -b74: if (!(vs)) { goto b80; } -b79: v177 = 0UL; - goto b81; -b81: if (!(v177)) { goto b76; } -b75: return vat; -b76: vn = *(u *)((vs) + (40UL)); + v174 = 16; + v175 = 144; + v176 = ((u(*)())v172)(v173, v174, v175); + vat = *(u*)(vc + 24); + vs = *(u*)(vc + 64); +b74: if (!vs) goto b80; + v177 = 0; +b81: if (!v177) goto b76; + return vat; +b76: vn = *(u*)(vs + 40); v178 = (u)zas_emit; v179 = vc; v180 = vn; - v181 = ((u (*)())(v178))(v179, v180); -b82: v182 = (u)zas_emit; + v181 = ((u(*)())v178)(v179, v180); + v182 = (u)zas_emit; v183 = vc; - v184 = (vn) >> (8UL); - v185 = ((u (*)())(v182))(v183, v184); -b83: v186 = (u)zas_emit; + v184 = vn >> 8; + v185 = ((u(*)())v182)(v183, v184); + v186 = (u)zas_emit; v187 = vc; - v188 = (vn) >> (16UL); - v189 = ((u (*)())(v186))(v187, v188); -b84: v190 = (u)zas_emit; + v188 = vn >> 16; + v189 = ((u(*)())v186)(v187, v188); + v190 = (u)zas_emit; v191 = vc; - v192 = (vn) >> (24UL); - v193 = ((u (*)())(v190))(v191, v192); -b85: vn = *(u *)((vs) + (48UL)); + v192 = vn >> 24; + v193 = ((u(*)())v190)(v191, v192); + vn = *(u*)(vs + 48); v194 = (u)zas_emit; v195 = vc; v196 = vn; - v197 = ((u (*)())(v194))(v195, v196); -b86: v198 = (u)zas_emit; + v197 = ((u(*)())v194)(v195, v196); + v198 = (u)zas_emit; v199 = vc; - v200 = (vn) >> (8UL); - v201 = ((u (*)())(v198))(v199, v200); -b87: v202 = (u)zas_emit; + v200 = vn >> 8; + v201 = ((u(*)())v198)(v199, v200); + v202 = (u)zas_emit; v203 = vc; - v204 = (vn) >> (16UL); - v205 = ((u (*)())(v202))(v203, v204); -b88: v206 = (u)zas_emit; + v204 = vn >> 16; + v205 = ((u(*)())v202)(v203, v204); + v206 = (u)zas_emit; v207 = vc; - v208 = (vn) >> (24UL); - v209 = ((u (*)())(v206))(v207, v208); -b89: v210 = (u)zstrcmp; - v211 = *(u *)((vs) + (8UL)); + v208 = vn >> 24; + v209 = ((u(*)())v206)(v207, v208); + v210 = (u)zstrcmp; + v211 = *(u*)(vs + 8); v212 = (u)".text"; - v213 = ((u (*)())(v210))(v211, v212); -b93: if ((v213) != (0UL)) { goto b92; } -b91: vn = 6UL; - goto b90; + v213 = ((u(*)())v210)(v211, v212); + if (v213 != 0) goto b92; + vn = 6; b90: v218 = (u)zas_emit; v219 = vc; v220 = vn; - v221 = ((u (*)())(v218))(v219, v220); -b97: v222 = (u)zas_emit; + v221 = ((u(*)())v218)(v219, v220); + v222 = (u)zas_emit; v223 = vc; - v224 = (vn) >> (8UL); - v225 = ((u (*)())(v222))(v223, v224); -b98: v226 = (u)zas_emit; + v224 = vn >> 8; + v225 = ((u(*)())v222)(v223, v224); + v226 = (u)zas_emit; v227 = vc; - v228 = (vn) >> (16UL); - v229 = ((u (*)())(v226))(v227, v228); -b99: v230 = (u)zas_emit; + v228 = vn >> 16; + v229 = ((u(*)())v226)(v227, v228); + v230 = (u)zas_emit; v231 = vc; - v232 = (vn) >> (24UL); - v233 = ((u (*)())(v230))(v231, v232); -b100: v234 = (u)zas_emit; + v232 = vn >> 24; + v233 = ((u(*)())v230)(v231, v232); + v234 = (u)zas_emit; v235 = vc; - v236 = (vn) >> (32UL); - v237 = ((u (*)())(v234))(v235, v236); -b101: v238 = (u)zas_emit; + v236 = vn >> 32; + v237 = ((u(*)())v234)(v235, v236); + v238 = (u)zas_emit; v239 = vc; - v240 = (vn) >> (40UL); - v241 = ((u (*)())(v238))(v239, v240); -b102: v242 = (u)zas_emit; + v240 = vn >> 40; + v241 = ((u(*)())v238)(v239, v240); + v242 = (u)zas_emit; v243 = vc; - v244 = (vn) >> (48UL); - v245 = ((u (*)())(v242))(v243, v244); -b103: v246 = (u)zas_emit; + v244 = vn >> 48; + v245 = ((u(*)())v242)(v243, v244); + v246 = (u)zas_emit; v247 = vc; - v248 = (vn) >> (56UL); - v249 = ((u (*)())(v246))(v247, v248); -b104: if ((*(u *)((vs) + (16UL))) != (*(u *)((vs) + (24UL)))) { goto b107; } -b106: vn = 0UL; - goto b105; + v248 = vn >> 56; + v249 = ((u(*)())v246)(v247, v248); + if (*(u*)(vs + 16) != *(u*)(vs + 24)) goto b107; + vn = 0; b105: v250 = (u)zas_emit; v251 = vc; v252 = vn; - v253 = ((u (*)())(v250))(v251, v252); -b108: v254 = (u)zas_emit; + v253 = ((u(*)())v250)(v251, v252); + v254 = (u)zas_emit; v255 = vc; - v256 = (vn) >> (8UL); - v257 = ((u (*)())(v254))(v255, v256); -b109: v258 = (u)zas_emit; + v256 = vn >> 8; + v257 = ((u(*)())v254)(v255, v256); + v258 = (u)zas_emit; v259 = vc; - v260 = (vn) >> (16UL); - v261 = ((u (*)())(v258))(v259, v260); -b110: v262 = (u)zas_emit; + v260 = vn >> 16; + v261 = ((u(*)())v258)(v259, v260); + v262 = (u)zas_emit; v263 = vc; - v264 = (vn) >> (24UL); - v265 = ((u (*)())(v262))(v263, v264); -b111: v266 = (u)zas_emit; + v264 = vn >> 24; + v265 = ((u(*)())v262)(v263, v264); + v266 = (u)zas_emit; v267 = vc; - v268 = (vn) >> (32UL); - v269 = ((u (*)())(v266))(v267, v268); -b112: v270 = (u)zas_emit; + v268 = vn >> 32; + v269 = ((u(*)())v266)(v267, v268); + v270 = (u)zas_emit; v271 = vc; - v272 = (vn) >> (40UL); - v273 = ((u (*)())(v270))(v271, v272); -b113: v274 = (u)zas_emit; + v272 = vn >> 40; + v273 = ((u(*)())v270)(v271, v272); + v274 = (u)zas_emit; v275 = vc; - v276 = (vn) >> (48UL); - v277 = ((u (*)())(v274))(v275, v276); -b114: v278 = (u)zas_emit; + v276 = vn >> 48; + v277 = ((u(*)())v274)(v275, v276); + v278 = (u)zas_emit; v279 = vc; - v280 = (vn) >> (56UL); - v281 = ((u (*)())(v278))(v279, v280); -b115: vn = *(u *)((vs) + (16UL)); + v280 = vn >> 56; + v281 = ((u(*)())v278)(v279, v280); + vn = *(u*)(vs + 16); v282 = (u)zas_emit; v283 = vc; v284 = vn; - v285 = ((u (*)())(v282))(v283, v284); -b116: v286 = (u)zas_emit; + v285 = ((u(*)())v282)(v283, v284); + v286 = (u)zas_emit; v287 = vc; - v288 = (vn) >> (8UL); - v289 = ((u (*)())(v286))(v287, v288); -b117: v290 = (u)zas_emit; + v288 = vn >> 8; + v289 = ((u(*)())v286)(v287, v288); + v290 = (u)zas_emit; v291 = vc; - v292 = (vn) >> (16UL); - v293 = ((u (*)())(v290))(v291, v292); -b118: v294 = (u)zas_emit; + v292 = vn >> 16; + v293 = ((u(*)())v290)(v291, v292); + v294 = (u)zas_emit; v295 = vc; - v296 = (vn) >> (24UL); - v297 = ((u (*)())(v294))(v295, v296); -b119: v298 = (u)zas_emit; + v296 = vn >> 24; + v297 = ((u(*)())v294)(v295, v296); + v298 = (u)zas_emit; v299 = vc; - v300 = (vn) >> (32UL); - v301 = ((u (*)())(v298))(v299, v300); -b120: v302 = (u)zas_emit; + v300 = vn >> 32; + v301 = ((u(*)())v298)(v299, v300); + v302 = (u)zas_emit; v303 = vc; - v304 = (vn) >> (40UL); - v305 = ((u (*)())(v302))(v303, v304); -b121: v306 = (u)zas_emit; + v304 = vn >> 40; + v305 = ((u(*)())v302)(v303, v304); + v306 = (u)zas_emit; v307 = vc; - v308 = (vn) >> (48UL); - v309 = ((u (*)())(v306))(v307, v308); -b122: v310 = (u)zas_emit; + v308 = vn >> 48; + v309 = ((u(*)())v306)(v307, v308); + v310 = (u)zas_emit; v311 = vc; - v312 = (vn) >> (56UL); - v313 = ((u (*)())(v310))(v311, v312); -b123: vn = (*(u *)((vs) + (24UL))) - (*(u *)((vs) + (16UL))); + v312 = vn >> 56; + v313 = ((u(*)())v310)(v311, v312); + vn = *(u*)(vs + 24) - *(u*)(vs + 16); v314 = (u)zas_emit; v315 = vc; v316 = vn; - v317 = ((u (*)())(v314))(v315, v316); -b124: v318 = (u)zas_emit; + v317 = ((u(*)())v314)(v315, v316); + v318 = (u)zas_emit; v319 = vc; - v320 = (vn) >> (8UL); - v321 = ((u (*)())(v318))(v319, v320); -b125: v322 = (u)zas_emit; + v320 = vn >> 8; + v321 = ((u(*)())v318)(v319, v320); + v322 = (u)zas_emit; v323 = vc; - v324 = (vn) >> (16UL); - v325 = ((u (*)())(v322))(v323, v324); -b126: v326 = (u)zas_emit; + v324 = vn >> 16; + v325 = ((u(*)())v322)(v323, v324); + v326 = (u)zas_emit; v327 = vc; - v328 = (vn) >> (24UL); - v329 = ((u (*)())(v326))(v327, v328); -b127: v330 = (u)zas_emit; + v328 = vn >> 24; + v329 = ((u(*)())v326)(v327, v328); + v330 = (u)zas_emit; v331 = vc; - v332 = (vn) >> (32UL); - v333 = ((u (*)())(v330))(v331, v332); -b128: v334 = (u)zas_emit; + v332 = vn >> 32; + v333 = ((u(*)())v330)(v331, v332); + v334 = (u)zas_emit; v335 = vc; - v336 = (vn) >> (40UL); - v337 = ((u (*)())(v334))(v335, v336); -b129: v338 = (u)zas_emit; + v336 = vn >> 40; + v337 = ((u(*)())v334)(v335, v336); + v338 = (u)zas_emit; v339 = vc; - v340 = (vn) >> (48UL); - v341 = ((u (*)())(v338))(v339, v340); -b130: v342 = (u)zas_emit; + v340 = vn >> 48; + v341 = ((u(*)())v338)(v339, v340); + v342 = (u)zas_emit; v343 = vc; - v344 = (vn) >> (56UL); - v345 = ((u (*)())(v342))(v343, v344); -b131: vn = *(u *)((vs) + (56UL)); + v344 = vn >> 56; + v345 = ((u(*)())v342)(v343, v344); + vn = *(u*)(vs + 56); v346 = (u)zas_emit; v347 = vc; v348 = vn; - v349 = ((u (*)())(v346))(v347, v348); -b132: v350 = (u)zas_emit; + v349 = ((u(*)())v346)(v347, v348); + v350 = (u)zas_emit; v351 = vc; - v352 = (vn) >> (8UL); - v353 = ((u (*)())(v350))(v351, v352); -b133: v354 = (u)zas_emit; + v352 = vn >> 8; + v353 = ((u(*)())v350)(v351, v352); + v354 = (u)zas_emit; v355 = vc; - v356 = (vn) >> (16UL); - v357 = ((u (*)())(v354))(v355, v356); -b134: v358 = (u)zas_emit; + v356 = vn >> 16; + v357 = ((u(*)())v354)(v355, v356); + v358 = (u)zas_emit; v359 = vc; - v360 = (vn) >> (24UL); - v361 = ((u (*)())(v358))(v359, v360); -b135: if ((*(u *)((vs) + (48UL))) != (2UL)) { goto b138; } -b137: vn = 1UL; - goto b136; + v360 = vn >> 24; + v361 = ((u(*)())v358)(v359, v360); + if (*(u*)(vs + 48) != 2) goto b138; + vn = 1; b136: v362 = (u)zas_emit; v363 = vc; v364 = vn; - v365 = ((u (*)())(v362))(v363, v364); -b139: v366 = (u)zas_emit; + v365 = ((u(*)())v362)(v363, v364); + v366 = (u)zas_emit; v367 = vc; - v368 = (vn) >> (8UL); - v369 = ((u (*)())(v366))(v367, v368); -b140: v370 = (u)zas_emit; + v368 = vn >> 8; + v369 = ((u(*)())v366)(v367, v368); + v370 = (u)zas_emit; v371 = vc; - v372 = (vn) >> (16UL); - v373 = ((u (*)())(v370))(v371, v372); -b141: v374 = (u)zas_emit; + v372 = vn >> 16; + v373 = ((u(*)())v370)(v371, v372); + v374 = (u)zas_emit; v375 = vc; - v376 = (vn) >> (24UL); - v377 = ((u (*)())(v374))(v375, v376); -b142: v378 = (u)zas_emit; + v376 = vn >> 24; + v377 = ((u(*)())v374)(v375, v376); + v378 = (u)zas_emit; v379 = vc; - v380 = 1UL; - v381 = ((u (*)())(v378))(v379, v380); -b143: v382 = (u)zas_emit; + v380 = 1; + v381 = ((u(*)())v378)(v379, v380); + v382 = (u)zas_emit; v383 = vc; - v384 = 0UL; - v385 = ((u (*)())(v382))(v383, v384); -b144: v386 = (u)zas_emit; + v384 = 0; + v385 = ((u(*)())v382)(v383, v384); + v386 = (u)zas_emit; v387 = vc; - v388 = 0UL; - v389 = ((u (*)())(v386))(v387, v388); -b145: v390 = (u)zas_emit; + v388 = 0; + v389 = ((u(*)())v386)(v387, v388); + v390 = (u)zas_emit; v391 = vc; - v392 = 0UL; - v393 = ((u (*)())(v390))(v391, v392); -b146: v394 = (u)zas_emit; + v392 = 0; + v393 = ((u(*)())v390)(v391, v392); + v394 = (u)zas_emit; v395 = vc; - v396 = 0UL; - v397 = ((u (*)())(v394))(v395, v396); -b147: v398 = (u)zas_emit; + v396 = 0; + v397 = ((u(*)())v394)(v395, v396); + v398 = (u)zas_emit; v399 = vc; - v400 = 0UL; - v401 = ((u (*)())(v398))(v399, v400); -b148: v402 = (u)zas_emit; + v400 = 0; + v401 = ((u(*)())v398)(v399, v400); + v402 = (u)zas_emit; v403 = vc; - v404 = 0UL; - v405 = ((u (*)())(v402))(v403, v404); -b149: v406 = (u)zas_emit; + v404 = 0; + v405 = ((u(*)())v402)(v403, v404); + v406 = (u)zas_emit; v407 = vc; - v408 = 0UL; - v409 = ((u (*)())(v406))(v407, v408); -b150: vn = *(u *)((vs) + (64UL)); + v408 = 0; + v409 = ((u(*)())v406)(v407, v408); + vn = *(u*)(vs + 64); v410 = (u)zas_emit; v411 = vc; v412 = vn; - v413 = ((u (*)())(v410))(v411, v412); -b151: v414 = (u)zas_emit; + v413 = ((u(*)())v410)(v411, v412); + v414 = (u)zas_emit; v415 = vc; - v416 = (vn) >> (8UL); - v417 = ((u (*)())(v414))(v415, v416); -b152: v418 = (u)zas_emit; + v416 = vn >> 8; + v417 = ((u(*)())v414)(v415, v416); + v418 = (u)zas_emit; v419 = vc; - v420 = (vn) >> (16UL); - v421 = ((u (*)())(v418))(v419, v420); -b153: v422 = (u)zas_emit; + v420 = vn >> 16; + v421 = ((u(*)())v418)(v419, v420); + v422 = (u)zas_emit; v423 = vc; - v424 = (vn) >> (24UL); - v425 = ((u (*)())(v422))(v423, v424); -b154: v426 = (u)zas_emit; + v424 = vn >> 24; + v425 = ((u(*)())v422)(v423, v424); + v426 = (u)zas_emit; v427 = vc; - v428 = (vn) >> (32UL); - v429 = ((u (*)())(v426))(v427, v428); -b155: v430 = (u)zas_emit; + v428 = vn >> 32; + v429 = ((u(*)())v426)(v427, v428); + v430 = (u)zas_emit; v431 = vc; - v432 = (vn) >> (40UL); - v433 = ((u (*)())(v430))(v431, v432); -b156: v434 = (u)zas_emit; + v432 = vn >> 40; + v433 = ((u(*)())v430)(v431, v432); + v434 = (u)zas_emit; v435 = vc; - v436 = (vn) >> (48UL); - v437 = ((u (*)())(v434))(v435, v436); -b157: v438 = (u)zas_emit; + v436 = vn >> 48; + v437 = ((u(*)())v434)(v435, v436); + v438 = (u)zas_emit; v439 = vc; - v440 = (vn) >> (56UL); - v441 = ((u (*)())(v438))(v439, v440); -b158: vs = *(u *)(vs); + v440 = vn >> 56; + v441 = ((u(*)())v438)(v439, v440); + vs = *(u*)vs; goto b74; -b138: vn = 0UL; +b138: vn = 0; goto b136; -b107: vn = (*(u *)((vs) + (16UL))) + (1048576UL); +b107: vn = *(u*)(vs + 16) + 1048576UL; goto b105; b92: v214 = (u)zstrcmp; - v215 = *(u *)((vs) + (8UL)); + v215 = *(u*)(vs + 8); v216 = (u)".rodata"; - v217 = ((u (*)())(v214))(v215, v216); -b96: if ((v217) != (0UL)) { goto b95; } -b94: vn = 2UL; + v217 = ((u(*)())v214)(v215, v216); + if (v217 != 0) goto b95; + vn = 2; goto b90; -b95: vn = 0UL; +b95: vn = 0; goto b90; -b80: v177 = 1UL; +b80: v177 = 1; goto b81; -b65: *(u *)((vs) + (40UL)) = vn; +b65: *(u*)(vs + 40) = vn; v164 = (u)zemit_strtab_str; v165 = vc; - v166 = *(u *)((vs) + (8UL)); - v167 = ((u (*)())(v164))(v165, v166); -b71: vn = (vn) + (v167); - vs = *(u *)(vs); + v166 = *(u*)(vs + 8); + v167 = ((u(*)())v164)(v165, v166); + vn = vn + v167; + vs = *(u*)vs; goto b63; -b69: v163 = 1UL; +b69: v163 = 1; goto b70; -b21: vn = *(u *)((vy) + (24UL)); +b21: vn = *(u*)(vy + 24); v54 = (u)zas_emit; v55 = vc; v56 = vn; - v57 = ((u (*)())(v54))(v55, v56); -b27: v58 = (u)zas_emit; + v57 = ((u(*)())v54)(v55, v56); + v58 = (u)zas_emit; v59 = vc; - v60 = (vn) >> (8UL); - v61 = ((u (*)())(v58))(v59, v60); -b28: v62 = (u)zas_emit; + v60 = vn >> 8; + v61 = ((u(*)())v58)(v59, v60); + v62 = (u)zas_emit; v63 = vc; - v64 = (vn) >> (16UL); - v65 = ((u (*)())(v62))(v63, v64); -b29: v66 = (u)zas_emit; + v64 = vn >> 16; + v65 = ((u(*)())v62)(v63, v64); + v66 = (u)zas_emit; v67 = vc; - v68 = (vn) >> (24UL); - v69 = ((u (*)())(v66))(v67, v68); -b30: if (!(*(u *)((vy) + (16UL)))) { goto b33; } -b32: vn = 18UL; - goto b31; + v68 = vn >> 24; + v69 = ((u(*)())v66)(v67, v68); + if (!*(u*)(vy + 16)) goto b33; + vn = 18; b31: v70 = (u)zas_emit; v71 = vc; v72 = vn; - v73 = ((u (*)())(v70))(v71, v72); -b34: v74 = (u)zas_emit; + v73 = ((u(*)())v70)(v71, v72); + v74 = (u)zas_emit; v75 = vc; - v76 = 0UL; - v77 = ((u (*)())(v74))(v75, v76); -b35: if (!(*(u *)((vy) + (16UL)))) { goto b38; } -b37: vn = 1UL; - goto b36; + v76 = 0; + v77 = ((u(*)())v74)(v75, v76); + if (!*(u*)(vy + 16)) goto b38; + vn = 1; b36: v78 = (u)zas_emit; v79 = vc; v80 = vn; - v81 = ((u (*)())(v78))(v79, v80); -b39: v82 = (u)zas_emit; + v81 = ((u(*)())v78)(v79, v80); + v82 = (u)zas_emit; v83 = vc; - v84 = (vn) >> (8UL); - v85 = ((u (*)())(v82))(v83, v84); -b40: if (!(*(u *)((vy) + (16UL)))) { goto b43; } -b42: vn = (*(u *)((*(u *)((vy) + (16UL))) + (8UL))) + (1048576UL); - goto b41; + v84 = vn >> 8; + v85 = ((u(*)())v82)(v83, v84); + if (!*(u*)(vy + 16)) goto b43; + vn = *(u*)(*(u*)(vy + 16) + 8) + 1048576UL; b41: v86 = (u)zas_emit; v87 = vc; v88 = vn; - v89 = ((u (*)())(v86))(v87, v88); -b44: v90 = (u)zas_emit; + v89 = ((u(*)())v86)(v87, v88); + v90 = (u)zas_emit; v91 = vc; - v92 = (vn) >> (8UL); - v93 = ((u (*)())(v90))(v91, v92); -b45: v94 = (u)zas_emit; + v92 = vn >> 8; + v93 = ((u(*)())v90)(v91, v92); + v94 = (u)zas_emit; v95 = vc; - v96 = (vn) >> (16UL); - v97 = ((u (*)())(v94))(v95, v96); -b46: v98 = (u)zas_emit; + v96 = vn >> 16; + v97 = ((u(*)())v94)(v95, v96); + v98 = (u)zas_emit; v99 = vc; - v100 = (vn) >> (24UL); - v101 = ((u (*)())(v98))(v99, v100); -b47: v102 = (u)zas_emit; + v100 = vn >> 24; + v101 = ((u(*)())v98)(v99, v100); + v102 = (u)zas_emit; v103 = vc; - v104 = (vn) >> (32UL); - v105 = ((u (*)())(v102))(v103, v104); -b48: v106 = (u)zas_emit; + v104 = vn >> 32; + v105 = ((u(*)())v102)(v103, v104); + v106 = (u)zas_emit; v107 = vc; - v108 = (vn) >> (40UL); - v109 = ((u (*)())(v106))(v107, v108); -b49: v110 = (u)zas_emit; + v108 = vn >> 40; + v109 = ((u(*)())v106)(v107, v108); + v110 = (u)zas_emit; v111 = vc; - v112 = (vn) >> (48UL); - v113 = ((u (*)())(v110))(v111, v112); -b50: v114 = (u)zas_emit; + v112 = vn >> 48; + v113 = ((u(*)())v110)(v111, v112); + v114 = (u)zas_emit; v115 = vc; - v116 = (vn) >> (56UL); - v117 = ((u (*)())(v114))(v115, v116); -b51: v118 = (u)zas_emit; + v116 = vn >> 56; + v117 = ((u(*)())v114)(v115, v116); + v118 = (u)zas_emit; v119 = vc; - v120 = 0UL; - v121 = ((u (*)())(v118))(v119, v120); -b52: v122 = (u)zas_emit; + v120 = 0; + v121 = ((u(*)())v118)(v119, v120); + v122 = (u)zas_emit; v123 = vc; - v124 = 0UL; - v125 = ((u (*)())(v122))(v123, v124); -b53: v126 = (u)zas_emit; + v124 = 0; + v125 = ((u(*)())v122)(v123, v124); + v126 = (u)zas_emit; v127 = vc; - v128 = 0UL; - v129 = ((u (*)())(v126))(v127, v128); -b54: v130 = (u)zas_emit; + v128 = 0; + v129 = ((u(*)())v126)(v127, v128); + v130 = (u)zas_emit; v131 = vc; - v132 = 0UL; - v133 = ((u (*)())(v130))(v131, v132); -b55: v134 = (u)zas_emit; + v132 = 0; + v133 = ((u(*)())v130)(v131, v132); + v134 = (u)zas_emit; v135 = vc; - v136 = 0UL; - v137 = ((u (*)())(v134))(v135, v136); -b56: v138 = (u)zas_emit; + v136 = 0; + v137 = ((u(*)())v134)(v135, v136); + v138 = (u)zas_emit; v139 = vc; - v140 = 0UL; - v141 = ((u (*)())(v138))(v139, v140); -b57: v142 = (u)zas_emit; + v140 = 0; + v141 = ((u(*)())v138)(v139, v140); + v142 = (u)zas_emit; v143 = vc; - v144 = 0UL; - v145 = ((u (*)())(v142))(v143, v144); -b58: v146 = (u)zas_emit; + v144 = 0; + v145 = ((u(*)())v142)(v143, v144); + v146 = (u)zas_emit; v147 = vc; - v148 = 0UL; - v149 = ((u (*)())(v146))(v147, v148); -b59: vy = *(u *)(vy); + v148 = 0; + v149 = ((u(*)())v146)(v147, v148); + vy = *(u*)vy; goto b19; -b43: vn = 0UL; +b43: vn = 0; goto b41; -b38: vn = 0UL; +b38: vn = 0; goto b36; -b33: vn = 0UL; +b33: vn = 0; goto b31; -b25: v53 = 1UL; +b25: v53 = 1; goto b26; -b11: *(u *)((vy) + (24UL)) = vn; +b11: *(u*)(vy + 24) = vn; v44 = (u)zemit_strtab_str; v45 = vc; - v46 = *(u *)((vy) + (8UL)); - v47 = ((u (*)())(v44))(v45, v46); -b17: vn = (vn) + (v47); - vy = *(u *)(vy); + v46 = *(u*)(vy + 8); + v47 = ((u(*)())v44)(v45, v46); + vn = vn + v47; + vy = *(u*)vy; goto b9; -b15: v43 = 1UL; +b15: v43 = 1; goto b16; } -u zemit_ssr(u vc) { +u zemit_ssr(u vc){ u vd = 0; u vv = 0; u v3 = 0; @@ -12560,641 +12308,626 @@ u zemit_ssr(u vc) { u v524 = 0; u v525 = 0; u v526 = 0; -b0: v3 = (u)zfind; + v3 = (u)zfind; v4 = vc; v5 = (u)"global"; v6 = (u)"_save"; - v7 = 0UL; - v8 = ((u (*)())(v3))(v4, v5, v6, v7); -b1: vv = v8; - if (!(vv)) { goto b10; } -b9: v10 = 0UL; - goto b11; -b11: if (!(v10)) { goto b6; } -b5: v9 = 1UL; - goto b8; -b8: if (!(v9)) { goto b2; } -b3: v12 = (u)zcdie; + v7 = 0; + v8 = ((u(*)())v3)(v4, v5, v6, v7); + vv = v8; + if (!vv) goto b10; + v10 = 0; +b11: if (!v10) goto b6; + v9 = 1; +b8: if (!v9) goto b2; + v12 = (u)zcdie; v13 = vc; v14 = (u)"no _save"; - v15 = ((u (*)())(v12))(v13, v14); + v15 = ((u(*)())v12)(v13, v14); b2: v16 = (u)zas_emit; - v17 = *(u *)((vc) + (48UL)); - v18 = 101UL; - v19 = ((u (*)())(v16))(v17, v18); -b17: v20 = (u)zas_modra; - v21 = *(u *)((vc) + (48UL)); - v22 = 137UL; - v23 = 4UL; - v24 = *(u *)((vv) + (168UL)); - v25 = ((u (*)())(v20))(v21, v22, v23, v24); -b18: v26 = (u)zfind; + v17 = *(u*)(vc + 48); + v18 = 101; + v19 = ((u(*)())v16)(v17, v18); + v20 = (u)zas_modra; + v21 = *(u*)(vc + 48); + v22 = 137; + v23 = 4; + v24 = *(u*)(vv + 168); + v25 = ((u(*)())v20)(v21, v22, v23, v24); + v26 = (u)zfind; v27 = vc; v28 = (u)"global"; v29 = (u)"curtask"; - v30 = 0UL; - v31 = ((u (*)())(v26))(v27, v28, v29, v30); -b19: vv = v31; - if (!(vv)) { goto b28; } -b27: v33 = 0UL; - goto b29; -b29: if (!(v33)) { goto b24; } -b23: v32 = 1UL; - goto b26; -b26: if (!(v32)) { goto b20; } -b21: v35 = (u)zcdie; + v30 = 0; + v31 = ((u(*)())v26)(v27, v28, v29, v30); + vv = v31; + if (!vv) goto b28; + v33 = 0; +b29: if (!v33) goto b24; + v32 = 1; +b26: if (!v32) goto b20; + v35 = (u)zcdie; v36 = vc; v37 = (u)"no global.curtask"; - v38 = ((u (*)())(v35))(v36, v37); + v38 = ((u(*)())v35)(v36, v37); b20: v39 = (u)zas_emit; - v40 = *(u *)((vc) + (48UL)); - v41 = 101UL; - v42 = ((u (*)())(v39))(v40, v41); -b35: v43 = (u)zas_modra; - v44 = *(u *)((vc) + (48UL)); - v45 = 139UL; - v46 = 4UL; - v47 = *(u *)((vv) + (168UL)); - v48 = ((u (*)())(v43))(v44, v45, v46, v47); -b36: v49 = (u)zfind; + v40 = *(u*)(vc + 48); + v41 = 101; + v42 = ((u(*)())v39)(v40, v41); + v43 = (u)zas_modra; + v44 = *(u*)(vc + 48); + v45 = 139; + v46 = 4; + v47 = *(u*)(vv + 168); + v48 = ((u(*)())v43)(v44, v45, v46, v47); + v49 = (u)zfind; v50 = vc; v51 = (u)"task"; v52 = (u)"stack"; - v53 = 0UL; - v54 = ((u (*)())(v49))(v50, v51, v52, v53); -b37: vv = v54; - if (!(vv)) { goto b46; } -b45: v56 = 0UL; - goto b47; -b47: if (!(v56)) { goto b42; } -b41: v55 = 1UL; - goto b44; -b44: if (!(v55)) { goto b38; } -b39: v58 = (u)zcdie; + v53 = 0; + v54 = ((u(*)())v49)(v50, v51, v52, v53); + vv = v54; + if (!vv) goto b46; + v56 = 0; +b47: if (!v56) goto b42; + v55 = 1; +b44: if (!v55) goto b38; + v58 = (u)zcdie; v59 = vc; v60 = (u)"no task.stack"; - v61 = ((u (*)())(v58))(v59, v60); + v61 = ((u(*)())v58)(v59, v60); b38: v62 = (u)zas_modrm; - v63 = *(u *)((vc) + (48UL)); - v64 = 139UL; - v65 = 4UL; - v66 = 4UL; - v67 = 0UL; - v68 = 0UL; - v69 = *(u *)((vv) + (168UL)); - v70 = ((u (*)())(v62))(v63, v64, v65, v66, v67, v68, v69); -b53: v71 = (u)zas_modri; - v72 = *(u *)((vc) + (48UL)); - v73 = 129UL; - v74 = 4UL; - v75 = 3920UL; - v76 = ((u (*)())(v71))(v72, v73, v74, v75); -b54: v77 = (u)zas_modrm; - v78 = *(u *)((vc) + (48UL)); - v79 = 137UL; - v80 = 0UL; - v81 = 4UL; - v82 = 0UL; - v83 = 0UL; - v84 = 0UL; - v85 = ((u (*)())(v77))(v78, v79, v80, v81, v82, v83, v84); -b55: v86 = (u)zas_modrm; - v87 = *(u *)((vc) + (48UL)); - v88 = 137UL; - v89 = 2UL; - v90 = 4UL; - v91 = 0UL; - v92 = 0UL; - v93 = 16UL; - v94 = ((u (*)())(v86))(v87, v88, v89, v90, v91, v92, v93); -b56: v95 = (u)zas_modrm; - v96 = *(u *)((vc) + (48UL)); - v97 = 137UL; - v98 = 3UL; - v99 = 4UL; - v100 = 0UL; - v101 = 0UL; - v102 = 24UL; - v103 = ((u (*)())(v95))(v96, v97, v98, v99, v100, v101, v102); -b57: v104 = (u)zas_modrm; - v105 = *(u *)((vc) + (48UL)); - v106 = 137UL; - v107 = 5UL; - v108 = 4UL; - v109 = 0UL; - v110 = 0UL; - v111 = 40UL; - v112 = ((u (*)())(v104))(v105, v106, v107, v108, v109, v110, v111); -b58: v113 = (u)zas_modrm; - v114 = *(u *)((vc) + (48UL)); - v115 = 137UL; - v116 = 6UL; - v117 = 4UL; - v118 = 0UL; - v119 = 0UL; - v120 = 48UL; - v121 = ((u (*)())(v113))(v114, v115, v116, v117, v118, v119, v120); -b59: v122 = (u)zas_modrm; - v123 = *(u *)((vc) + (48UL)); - v124 = 137UL; - v125 = 7UL; - v126 = 4UL; - v127 = 0UL; - v128 = 0UL; - v129 = 56UL; - v130 = ((u (*)())(v122))(v123, v124, v125, v126, v127, v128, v129); -b60: v131 = (u)zas_modrm; - v132 = *(u *)((vc) + (48UL)); - v133 = 137UL; - v134 = 8UL; - v135 = 4UL; - v136 = 0UL; - v137 = 0UL; - v138 = 64UL; - v139 = ((u (*)())(v131))(v132, v133, v134, v135, v136, v137, v138); -b61: v140 = (u)zas_modrm; - v141 = *(u *)((vc) + (48UL)); - v142 = 137UL; - v143 = 9UL; - v144 = 4UL; - v145 = 0UL; - v146 = 0UL; - v147 = 72UL; - v148 = ((u (*)())(v140))(v141, v142, v143, v144, v145, v146, v147); -b62: v149 = (u)zas_modrm; - v150 = *(u *)((vc) + (48UL)); - v151 = 137UL; - v152 = 10UL; - v153 = 4UL; - v154 = 0UL; - v155 = 0UL; - v156 = 80UL; - v157 = ((u (*)())(v149))(v150, v151, v152, v153, v154, v155, v156); -b63: v158 = (u)zas_modrm; - v159 = *(u *)((vc) + (48UL)); - v160 = 137UL; - v161 = 12UL; - v162 = 4UL; - v163 = 0UL; - v164 = 0UL; - v165 = 96UL; - v166 = ((u (*)())(v158))(v159, v160, v161, v162, v163, v164, v165); -b64: v167 = (u)zas_modrm; - v168 = *(u *)((vc) + (48UL)); - v169 = 137UL; - v170 = 13UL; - v171 = 4UL; - v172 = 0UL; - v173 = 0UL; - v174 = 104UL; - v175 = ((u (*)())(v167))(v168, v169, v170, v171, v172, v173, v174); -b65: v176 = (u)zas_modrm; - v177 = *(u *)((vc) + (48UL)); - v178 = 137UL; - v179 = 14UL; - v180 = 4UL; - v181 = 0UL; - v182 = 0UL; - v183 = 112UL; - v184 = ((u (*)())(v176))(v177, v178, v179, v180, v181, v182, v183); -b66: v185 = (u)zas_modrm; - v186 = *(u *)((vc) + (48UL)); - v187 = 137UL; - v188 = 15UL; - v189 = 4UL; - v190 = 0UL; - v191 = 0UL; - v192 = 120UL; - v193 = ((u (*)())(v185))(v186, v187, v188, v189, v190, v191, v192); -b67: v194 = (u)zas_modrm; - v195 = *(u *)((vc) + (48UL)); - v196 = 137UL; - v197 = 1UL; - v198 = 4UL; - v199 = 0UL; - v200 = 0UL; - v201 = 128UL; - v202 = ((u (*)())(v194))(v195, v196, v197, v198, v199, v200, v201); -b68: v203 = (u)zas_modrm; - v204 = *(u *)((vc) + (48UL)); - v205 = 137UL; - v206 = 11UL; - v207 = 4UL; - v208 = 0UL; - v209 = 0UL; - v210 = 136UL; - v211 = ((u (*)())(v203))(v204, v205, v206, v207, v208, v209, v210); -b69: v212 = (u)zas_modrr; - v213 = *(u *)((vc) + (48UL)); - v214 = 51UL; - v215 = 0UL; - v216 = 0UL; - v217 = ((u (*)())(v212))(v213, v214, v215, v216); -b70: v218 = (u)zas_modrm; - v219 = *(u *)((vc) + (48UL)); - v220 = 137UL; - v221 = 0UL; - v222 = 4UL; - v223 = 0UL; - v224 = 0UL; - v225 = 8UL; - v226 = ((u (*)())(v218))(v219, v220, v221, v222, v223, v224, v225); -b71: v227 = (u)zas_modrm; - v228 = *(u *)((vc) + (48UL)); - v229 = 137UL; - v230 = 0UL; - v231 = 4UL; - v232 = 0UL; - v233 = 0UL; - v234 = 88UL; - v235 = ((u (*)())(v227))(v228, v229, v230, v231, v232, v233, v234); -b72: v236 = (u)zas_modrm; - v237 = *(u *)((vc) + (48UL)); - v238 = 137UL; - v239 = 0UL; - v240 = 4UL; - v241 = 0UL; - v242 = 0UL; - v243 = 160UL; - v244 = ((u (*)())(v236))(v237, v238, v239, v240, v241, v242, v243); -b73: v245 = (u)zas_modrm; - v246 = *(u *)((vc) + (48UL)); - v247 = 137UL; - v248 = 0UL; - v249 = 4UL; - v250 = 0UL; - v251 = 0UL; - v252 = 168UL; - v253 = ((u (*)())(v245))(v246, v247, v248, v249, v250, v251, v252); -b74: v254 = (u)zas_modri; - v255 = *(u *)((vc) + (48UL)); - v256 = 199UL; - v257 = 0UL; - v258 = 43UL; - v259 = ((u (*)())(v254))(v255, v256, v257, v258); -b75: v260 = (u)zas_modrm; - v261 = *(u *)((vc) + (48UL)); - v262 = 137UL; - v263 = 0UL; - v264 = 4UL; - v265 = 0UL; - v266 = 0UL; - v267 = 144UL; - v268 = ((u (*)())(v260))(v261, v262, v263, v264, v265, v266, v267); -b76: v269 = (u)zas_modri; - v270 = *(u *)((vc) + (48UL)); - v271 = 199UL; - v272 = 0UL; - v273 = 35UL; - v274 = ((u (*)())(v269))(v270, v271, v272, v273); -b77: v275 = (u)zas_modrm; - v276 = *(u *)((vc) + (48UL)); - v277 = 137UL; - v278 = 0UL; - v279 = 4UL; - v280 = 0UL; - v281 = 0UL; - v282 = 152UL; - v283 = ((u (*)())(v275))(v276, v277, v278, v279, v280, v281, v282); -b78: v284 = (u)zfind; + v63 = *(u*)(vc + 48); + v64 = 139; + v65 = 4; + v66 = 4; + v67 = 0; + v68 = 0; + v69 = *(u*)(vv + 168); + v70 = ((u(*)())v62)(v63, v64, v65, v66, v67, v68, v69); + v71 = (u)zas_modri; + v72 = *(u*)(vc + 48); + v73 = 129; + v74 = 4; + v75 = 3920; + v76 = ((u(*)())v71)(v72, v73, v74, v75); + v77 = (u)zas_modrm; + v78 = *(u*)(vc + 48); + v79 = 137; + v80 = 0; + v81 = 4; + v82 = 0; + v83 = 0; + v84 = 0; + v85 = ((u(*)())v77)(v78, v79, v80, v81, v82, v83, v84); + v86 = (u)zas_modrm; + v87 = *(u*)(vc + 48); + v88 = 137; + v89 = 2; + v90 = 4; + v91 = 0; + v92 = 0; + v93 = 16; + v94 = ((u(*)())v86)(v87, v88, v89, v90, v91, v92, v93); + v95 = (u)zas_modrm; + v96 = *(u*)(vc + 48); + v97 = 137; + v98 = 3; + v99 = 4; + v100 = 0; + v101 = 0; + v102 = 24; + v103 = ((u(*)())v95)(v96, v97, v98, v99, v100, v101, v102); + v104 = (u)zas_modrm; + v105 = *(u*)(vc + 48); + v106 = 137; + v107 = 5; + v108 = 4; + v109 = 0; + v110 = 0; + v111 = 40; + v112 = ((u(*)())v104)(v105, v106, v107, v108, v109, v110, v111); + v113 = (u)zas_modrm; + v114 = *(u*)(vc + 48); + v115 = 137; + v116 = 6; + v117 = 4; + v118 = 0; + v119 = 0; + v120 = 48; + v121 = ((u(*)())v113)(v114, v115, v116, v117, v118, v119, v120); + v122 = (u)zas_modrm; + v123 = *(u*)(vc + 48); + v124 = 137; + v125 = 7; + v126 = 4; + v127 = 0; + v128 = 0; + v129 = 56; + v130 = ((u(*)())v122)(v123, v124, v125, v126, v127, v128, v129); + v131 = (u)zas_modrm; + v132 = *(u*)(vc + 48); + v133 = 137; + v134 = 8; + v135 = 4; + v136 = 0; + v137 = 0; + v138 = 64; + v139 = ((u(*)())v131)(v132, v133, v134, v135, v136, v137, v138); + v140 = (u)zas_modrm; + v141 = *(u*)(vc + 48); + v142 = 137; + v143 = 9; + v144 = 4; + v145 = 0; + v146 = 0; + v147 = 72; + v148 = ((u(*)())v140)(v141, v142, v143, v144, v145, v146, v147); + v149 = (u)zas_modrm; + v150 = *(u*)(vc + 48); + v151 = 137; + v152 = 10; + v153 = 4; + v154 = 0; + v155 = 0; + v156 = 80; + v157 = ((u(*)())v149)(v150, v151, v152, v153, v154, v155, v156); + v158 = (u)zas_modrm; + v159 = *(u*)(vc + 48); + v160 = 137; + v161 = 12; + v162 = 4; + v163 = 0; + v164 = 0; + v165 = 96; + v166 = ((u(*)())v158)(v159, v160, v161, v162, v163, v164, v165); + v167 = (u)zas_modrm; + v168 = *(u*)(vc + 48); + v169 = 137; + v170 = 13; + v171 = 4; + v172 = 0; + v173 = 0; + v174 = 104; + v175 = ((u(*)())v167)(v168, v169, v170, v171, v172, v173, v174); + v176 = (u)zas_modrm; + v177 = *(u*)(vc + 48); + v178 = 137; + v179 = 14; + v180 = 4; + v181 = 0; + v182 = 0; + v183 = 112; + v184 = ((u(*)())v176)(v177, v178, v179, v180, v181, v182, v183); + v185 = (u)zas_modrm; + v186 = *(u*)(vc + 48); + v187 = 137; + v188 = 15; + v189 = 4; + v190 = 0; + v191 = 0; + v192 = 120; + v193 = ((u(*)())v185)(v186, v187, v188, v189, v190, v191, v192); + v194 = (u)zas_modrm; + v195 = *(u*)(vc + 48); + v196 = 137; + v197 = 1; + v198 = 4; + v199 = 0; + v200 = 0; + v201 = 128; + v202 = ((u(*)())v194)(v195, v196, v197, v198, v199, v200, v201); + v203 = (u)zas_modrm; + v204 = *(u*)(vc + 48); + v205 = 137; + v206 = 11; + v207 = 4; + v208 = 0; + v209 = 0; + v210 = 136; + v211 = ((u(*)())v203)(v204, v205, v206, v207, v208, v209, v210); + v212 = (u)zas_modrr; + v213 = *(u*)(vc + 48); + v214 = 51; + v215 = 0; + v216 = 0; + v217 = ((u(*)())v212)(v213, v214, v215, v216); + v218 = (u)zas_modrm; + v219 = *(u*)(vc + 48); + v220 = 137; + v221 = 0; + v222 = 4; + v223 = 0; + v224 = 0; + v225 = 8; + v226 = ((u(*)())v218)(v219, v220, v221, v222, v223, v224, v225); + v227 = (u)zas_modrm; + v228 = *(u*)(vc + 48); + v229 = 137; + v230 = 0; + v231 = 4; + v232 = 0; + v233 = 0; + v234 = 88; + v235 = ((u(*)())v227)(v228, v229, v230, v231, v232, v233, v234); + v236 = (u)zas_modrm; + v237 = *(u*)(vc + 48); + v238 = 137; + v239 = 0; + v240 = 4; + v241 = 0; + v242 = 0; + v243 = 160; + v244 = ((u(*)())v236)(v237, v238, v239, v240, v241, v242, v243); + v245 = (u)zas_modrm; + v246 = *(u*)(vc + 48); + v247 = 137; + v248 = 0; + v249 = 4; + v250 = 0; + v251 = 0; + v252 = 168; + v253 = ((u(*)())v245)(v246, v247, v248, v249, v250, v251, v252); + v254 = (u)zas_modri; + v255 = *(u*)(vc + 48); + v256 = 199; + v257 = 0; + v258 = 43; + v259 = ((u(*)())v254)(v255, v256, v257, v258); + v260 = (u)zas_modrm; + v261 = *(u*)(vc + 48); + v262 = 137; + v263 = 0; + v264 = 4; + v265 = 0; + v266 = 0; + v267 = 144; + v268 = ((u(*)())v260)(v261, v262, v263, v264, v265, v266, v267); + v269 = (u)zas_modri; + v270 = *(u*)(vc + 48); + v271 = 199; + v272 = 0; + v273 = 35; + v274 = ((u(*)())v269)(v270, v271, v272, v273); + v275 = (u)zas_modrm; + v276 = *(u*)(vc + 48); + v277 = 137; + v278 = 0; + v279 = 4; + v280 = 0; + v281 = 0; + v282 = 152; + v283 = ((u(*)())v275)(v276, v277, v278, v279, v280, v281, v282); + v284 = (u)zfind; v285 = vc; v286 = (u)"global"; v287 = (u)"_save"; - v288 = 0UL; - v289 = ((u (*)())(v284))(v285, v286, v287, v288); -b79: vv = v289; - if (!(vv)) { goto b88; } -b87: v291 = 0UL; - goto b89; -b89: if (!(v291)) { goto b84; } -b83: v290 = 1UL; - goto b86; -b86: if (!(v290)) { goto b80; } -b81: v293 = (u)zcdie; + v288 = 0; + v289 = ((u(*)())v284)(v285, v286, v287, v288); + vv = v289; + if (!vv) goto b88; + v291 = 0; +b89: if (!v291) goto b84; + v290 = 1; +b86: if (!v290) goto b80; + v293 = (u)zcdie; v294 = vc; v295 = (u)"no _save"; - v296 = ((u (*)())(v293))(v294, v295); + v296 = ((u(*)())v293)(v294, v295); b80: v297 = (u)zas_emit; - v298 = *(u *)((vc) + (48UL)); - v299 = 101UL; - v300 = ((u (*)())(v297))(v298, v299); -b95: v301 = (u)zas_modra; - v302 = *(u *)((vc) + (48UL)); - v303 = 139UL; - v304 = 0UL; - v305 = *(u *)((vv) + (168UL)); - v306 = ((u (*)())(v301))(v302, v303, v304, v305); -b96: v307 = (u)zas_modrm; - v308 = *(u *)((vc) + (48UL)); - v309 = 137UL; - v310 = 0UL; - v311 = 4UL; - v312 = 0UL; - v313 = 0UL; - v314 = 32UL; - v315 = ((u (*)())(v307))(v308, v309, v310, v311, v312, v313, v314); -b97: v316 = (u)zas_modrr; - v317 = *(u *)((vc) + (48UL)); - v318 = 139UL; - v319 = 0UL; - v320 = 4UL; - v321 = ((u (*)())(v316))(v317, v318, v319, v320); -b98: v322 = (u)zas_modrr; - v323 = *(u *)((vc) + (48UL)); - v324 = 51UL; - v325 = 5UL; - v326 = 5UL; - v327 = ((u (*)())(v322))(v323, v324, v325, v326); -b99: v328 = (u)zas_opr; - v329 = *(u *)((vc) + (48UL)); - v330 = 80UL; - v331 = 5UL; - v332 = ((u (*)())(v328))(v329, v330, v331); -b100: v333 = (u)zas_opr; - v334 = *(u *)((vc) + (48UL)); - v335 = 80UL; - v336 = 5UL; - v337 = ((u (*)())(v333))(v334, v335, v336); -b101: v338 = (u)zas_modrr; - v339 = *(u *)((vc) + (48UL)); - v340 = 139UL; - v341 = 5UL; - v342 = 4UL; - v343 = ((u (*)())(v338))(v339, v340, v341, v342); -b102: v344 = (u)zas_modrr; - v345 = *(u *)((vc) + (48UL)); - v346 = 139UL; - v347 = 7UL; - v348 = 0UL; - v349 = ((u (*)())(v344))(v345, v346, v347, v348); -b103: v350 = (u)zfind; + v298 = *(u*)(vc + 48); + v299 = 101; + v300 = ((u(*)())v297)(v298, v299); + v301 = (u)zas_modra; + v302 = *(u*)(vc + 48); + v303 = 139; + v304 = 0; + v305 = *(u*)(vv + 168); + v306 = ((u(*)())v301)(v302, v303, v304, v305); + v307 = (u)zas_modrm; + v308 = *(u*)(vc + 48); + v309 = 137; + v310 = 0; + v311 = 4; + v312 = 0; + v313 = 0; + v314 = 32; + v315 = ((u(*)())v307)(v308, v309, v310, v311, v312, v313, v314); + v316 = (u)zas_modrr; + v317 = *(u*)(vc + 48); + v318 = 139; + v319 = 0; + v320 = 4; + v321 = ((u(*)())v316)(v317, v318, v319, v320); + v322 = (u)zas_modrr; + v323 = *(u*)(vc + 48); + v324 = 51; + v325 = 5; + v326 = 5; + v327 = ((u(*)())v322)(v323, v324, v325, v326); + v328 = (u)zas_opr; + v329 = *(u*)(vc + 48); + v330 = 80; + v331 = 5; + v332 = ((u(*)())v328)(v329, v330, v331); + v333 = (u)zas_opr; + v334 = *(u*)(vc + 48); + v335 = 80; + v336 = 5; + v337 = ((u(*)())v333)(v334, v335, v336); + v338 = (u)zas_modrr; + v339 = *(u*)(vc + 48); + v340 = 139; + v341 = 5; + v342 = 4; + v343 = ((u(*)())v338)(v339, v340, v341, v342); + v344 = (u)zas_modrr; + v345 = *(u*)(vc + 48); + v346 = 139; + v347 = 7; + v348 = 0; + v349 = ((u(*)())v344)(v345, v346, v347, v348); + v350 = (u)zfind; v351 = vc; v352 = (u)"_ssr"; - v353 = 0UL; - v354 = 1UL; - v355 = ((u (*)())(v350))(v351, v352, v353, v354); -b104: vd = v355; - if (!(*(u *)((vd) + (72UL)))) { goto b109; } -b108: if (!(*(u *)((*(u *)((vd) + (88UL))) + (16UL)))) { goto b109; } -b110: v356 = 1UL; - goto b111; -b111: if (!(v356)) { goto b105; } -b106: v357 = (u)zas_jmp; - v358 = *(u *)((vc) + (48UL)); - v359 = 232UL; - v360 = *(u *)((vd) + (88UL)); - v361 = ((u (*)())(v357))(v358, v359, v360); + v353 = 0; + v354 = 1; + v355 = ((u(*)())v350)(v351, v352, v353, v354); + vd = v355; + if (!*(u*)(vd + 72)) goto b109; + if (!*(u*)(*(u*)(vd + 88) + 16)) goto b109; + v356 = 1; +b111: if (!v356) goto b105; + v357 = (u)zas_jmp; + v358 = *(u*)(vc + 48); + v359 = 232; + v360 = *(u*)(vd + 88); + v361 = ((u(*)())v357)(v358, v359, v360); b105: v362 = (u)zas_op; - v363 = *(u *)((vc) + (48UL)); - v364 = 250UL; - v365 = ((u (*)())(v362))(v363, v364); -b113: v366 = (u)zas_modri; - v367 = *(u *)((vc) + (48UL)); - v368 = 129UL; - v369 = 4UL; - v370 = 16UL; - v371 = ((u (*)())(v366))(v367, v368, v369, v370); -b114: v372 = (u)zas_modrm; - v373 = *(u *)((vc) + (48UL)); - v374 = 139UL; - v375 = 0UL; - v376 = 4UL; - v377 = 0UL; - v378 = 0UL; - v379 = 0UL; - v380 = ((u (*)())(v372))(v373, v374, v375, v376, v377, v378, v379); -b115: v381 = (u)zas_modrm; - v382 = *(u *)((vc) + (48UL)); - v383 = 139UL; - v384 = 2UL; - v385 = 4UL; - v386 = 0UL; - v387 = 0UL; - v388 = 16UL; - v389 = ((u (*)())(v381))(v382, v383, v384, v385, v386, v387, v388); -b116: v390 = (u)zas_modrm; - v391 = *(u *)((vc) + (48UL)); - v392 = 139UL; - v393 = 3UL; - v394 = 4UL; - v395 = 0UL; - v396 = 0UL; - v397 = 24UL; - v398 = ((u (*)())(v390))(v391, v392, v393, v394, v395, v396, v397); -b117: v399 = (u)zas_modrm; - v400 = *(u *)((vc) + (48UL)); - v401 = 139UL; - v402 = 5UL; - v403 = 4UL; - v404 = 0UL; - v405 = 0UL; - v406 = 40UL; - v407 = ((u (*)())(v399))(v400, v401, v402, v403, v404, v405, v406); -b118: v408 = (u)zas_modrm; - v409 = *(u *)((vc) + (48UL)); - v410 = 139UL; - v411 = 6UL; - v412 = 4UL; - v413 = 0UL; - v414 = 0UL; - v415 = 48UL; - v416 = ((u (*)())(v408))(v409, v410, v411, v412, v413, v414, v415); -b119: v417 = (u)zas_modrm; - v418 = *(u *)((vc) + (48UL)); - v419 = 139UL; - v420 = 7UL; - v421 = 4UL; - v422 = 0UL; - v423 = 0UL; - v424 = 56UL; - v425 = ((u (*)())(v417))(v418, v419, v420, v421, v422, v423, v424); -b120: v426 = (u)zas_modrm; - v427 = *(u *)((vc) + (48UL)); - v428 = 139UL; - v429 = 8UL; - v430 = 4UL; - v431 = 0UL; - v432 = 0UL; - v433 = 64UL; - v434 = ((u (*)())(v426))(v427, v428, v429, v430, v431, v432, v433); -b121: v435 = (u)zas_modrm; - v436 = *(u *)((vc) + (48UL)); - v437 = 139UL; - v438 = 9UL; - v439 = 4UL; - v440 = 0UL; - v441 = 0UL; - v442 = 72UL; - v443 = ((u (*)())(v435))(v436, v437, v438, v439, v440, v441, v442); -b122: v444 = (u)zas_modrm; - v445 = *(u *)((vc) + (48UL)); - v446 = 139UL; - v447 = 10UL; - v448 = 4UL; - v449 = 0UL; - v450 = 0UL; - v451 = 80UL; - v452 = ((u (*)())(v444))(v445, v446, v447, v448, v449, v450, v451); -b123: v453 = (u)zas_modrm; - v454 = *(u *)((vc) + (48UL)); - v455 = 139UL; - v456 = 12UL; - v457 = 4UL; - v458 = 0UL; - v459 = 0UL; - v460 = 96UL; - v461 = ((u (*)())(v453))(v454, v455, v456, v457, v458, v459, v460); -b124: v462 = (u)zas_modrm; - v463 = *(u *)((vc) + (48UL)); - v464 = 139UL; - v465 = 13UL; - v466 = 4UL; - v467 = 0UL; - v468 = 0UL; - v469 = 104UL; - v470 = ((u (*)())(v462))(v463, v464, v465, v466, v467, v468, v469); -b125: v471 = (u)zas_modrm; - v472 = *(u *)((vc) + (48UL)); - v473 = 139UL; - v474 = 14UL; - v475 = 4UL; - v476 = 0UL; - v477 = 0UL; - v478 = 112UL; - v479 = ((u (*)())(v471))(v472, v473, v474, v475, v476, v477, v478); -b126: v480 = (u)zas_modrm; - v481 = *(u *)((vc) + (48UL)); - v482 = 139UL; - v483 = 15UL; - v484 = 4UL; - v485 = 0UL; - v486 = 0UL; - v487 = 120UL; - v488 = ((u (*)())(v480))(v481, v482, v483, v484, v485, v486, v487); -b127: v489 = (u)zas_modrm; - v490 = *(u *)((vc) + (48UL)); - v491 = 139UL; - v492 = 1UL; - v493 = 4UL; - v494 = 0UL; - v495 = 0UL; - v496 = 128UL; - v497 = ((u (*)())(v489))(v490, v491, v492, v493, v494, v495, v496); -b128: v498 = (u)zas_modrm; - v499 = *(u *)((vc) + (48UL)); - v500 = 139UL; - v501 = 11UL; - v502 = 4UL; - v503 = 0UL; - v504 = 0UL; - v505 = 136UL; - v506 = ((u (*)())(v498))(v499, v500, v501, v502, v503, v504, v505); -b129: v507 = (u)zas_modrm; - v508 = *(u *)((vc) + (48UL)); - v509 = 139UL; - v510 = 4UL; - v511 = 4UL; - v512 = 0UL; - v513 = 0UL; - v514 = 32UL; - v515 = ((u (*)())(v507))(v508, v509, v510, v511, v512, v513, v514); -b130: v516 = (u)zas_rex; - v517 = *(u *)((vc) + (48UL)); - v518 = 3847UL; - v519 = 0UL; - v520 = 0UL; - v521 = 0UL; - v522 = ((u (*)())(v516))(v517, v518, v519, v520, v521); -b131: v523 = (u)zas_op; - v524 = *(u *)((vc) + (48UL)); - v525 = 3847UL; - v526 = ((u (*)())(v523))(v524, v525); -b132: return 0UL; -b109: v356 = 0UL; + v363 = *(u*)(vc + 48); + v364 = 250; + v365 = ((u(*)())v362)(v363, v364); + v366 = (u)zas_modri; + v367 = *(u*)(vc + 48); + v368 = 129; + v369 = 4; + v370 = 16; + v371 = ((u(*)())v366)(v367, v368, v369, v370); + v372 = (u)zas_modrm; + v373 = *(u*)(vc + 48); + v374 = 139; + v375 = 0; + v376 = 4; + v377 = 0; + v378 = 0; + v379 = 0; + v380 = ((u(*)())v372)(v373, v374, v375, v376, v377, v378, v379); + v381 = (u)zas_modrm; + v382 = *(u*)(vc + 48); + v383 = 139; + v384 = 2; + v385 = 4; + v386 = 0; + v387 = 0; + v388 = 16; + v389 = ((u(*)())v381)(v382, v383, v384, v385, v386, v387, v388); + v390 = (u)zas_modrm; + v391 = *(u*)(vc + 48); + v392 = 139; + v393 = 3; + v394 = 4; + v395 = 0; + v396 = 0; + v397 = 24; + v398 = ((u(*)())v390)(v391, v392, v393, v394, v395, v396, v397); + v399 = (u)zas_modrm; + v400 = *(u*)(vc + 48); + v401 = 139; + v402 = 5; + v403 = 4; + v404 = 0; + v405 = 0; + v406 = 40; + v407 = ((u(*)())v399)(v400, v401, v402, v403, v404, v405, v406); + v408 = (u)zas_modrm; + v409 = *(u*)(vc + 48); + v410 = 139; + v411 = 6; + v412 = 4; + v413 = 0; + v414 = 0; + v415 = 48; + v416 = ((u(*)())v408)(v409, v410, v411, v412, v413, v414, v415); + v417 = (u)zas_modrm; + v418 = *(u*)(vc + 48); + v419 = 139; + v420 = 7; + v421 = 4; + v422 = 0; + v423 = 0; + v424 = 56; + v425 = ((u(*)())v417)(v418, v419, v420, v421, v422, v423, v424); + v426 = (u)zas_modrm; + v427 = *(u*)(vc + 48); + v428 = 139; + v429 = 8; + v430 = 4; + v431 = 0; + v432 = 0; + v433 = 64; + v434 = ((u(*)())v426)(v427, v428, v429, v430, v431, v432, v433); + v435 = (u)zas_modrm; + v436 = *(u*)(vc + 48); + v437 = 139; + v438 = 9; + v439 = 4; + v440 = 0; + v441 = 0; + v442 = 72; + v443 = ((u(*)())v435)(v436, v437, v438, v439, v440, v441, v442); + v444 = (u)zas_modrm; + v445 = *(u*)(vc + 48); + v446 = 139; + v447 = 10; + v448 = 4; + v449 = 0; + v450 = 0; + v451 = 80; + v452 = ((u(*)())v444)(v445, v446, v447, v448, v449, v450, v451); + v453 = (u)zas_modrm; + v454 = *(u*)(vc + 48); + v455 = 139; + v456 = 12; + v457 = 4; + v458 = 0; + v459 = 0; + v460 = 96; + v461 = ((u(*)())v453)(v454, v455, v456, v457, v458, v459, v460); + v462 = (u)zas_modrm; + v463 = *(u*)(vc + 48); + v464 = 139; + v465 = 13; + v466 = 4; + v467 = 0; + v468 = 0; + v469 = 104; + v470 = ((u(*)())v462)(v463, v464, v465, v466, v467, v468, v469); + v471 = (u)zas_modrm; + v472 = *(u*)(vc + 48); + v473 = 139; + v474 = 14; + v475 = 4; + v476 = 0; + v477 = 0; + v478 = 112; + v479 = ((u(*)())v471)(v472, v473, v474, v475, v476, v477, v478); + v480 = (u)zas_modrm; + v481 = *(u*)(vc + 48); + v482 = 139; + v483 = 15; + v484 = 4; + v485 = 0; + v486 = 0; + v487 = 120; + v488 = ((u(*)())v480)(v481, v482, v483, v484, v485, v486, v487); + v489 = (u)zas_modrm; + v490 = *(u*)(vc + 48); + v491 = 139; + v492 = 1; + v493 = 4; + v494 = 0; + v495 = 0; + v496 = 128; + v497 = ((u(*)())v489)(v490, v491, v492, v493, v494, v495, v496); + v498 = (u)zas_modrm; + v499 = *(u*)(vc + 48); + v500 = 139; + v501 = 11; + v502 = 4; + v503 = 0; + v504 = 0; + v505 = 136; + v506 = ((u(*)())v498)(v499, v500, v501, v502, v503, v504, v505); + v507 = (u)zas_modrm; + v508 = *(u*)(vc + 48); + v509 = 139; + v510 = 4; + v511 = 4; + v512 = 0; + v513 = 0; + v514 = 32; + v515 = ((u(*)())v507)(v508, v509, v510, v511, v512, v513, v514); + v516 = (u)zas_rex; + v517 = *(u*)(vc + 48); + v518 = 3847; + v519 = 0; + v520 = 0; + v521 = 0; + v522 = ((u(*)())v516)(v517, v518, v519, v520, v521); + v523 = (u)zas_op; + v524 = *(u*)(vc + 48); + v525 = 3847; + v526 = ((u(*)())v523)(v524, v525); + return 0; +b109: v356 = 0; goto b111; -b84: if (!(*(u *)((vv) + (152UL)))) { goto b92; } -b91: v292 = 0UL; - goto b93; -b93: if (!(v292)) { goto b90; } -b85: v290 = 1UL; +b84: if (!*(u*)(vv + 152)) goto b92; + v292 = 0; +b93: if (!v292) goto b90; + v290 = 1; goto b86; -b90: v290 = 0UL; +b90: v290 = 0; goto b86; -b92: v292 = 1UL; +b92: v292 = 1; goto b93; -b88: v291 = 1UL; +b88: v291 = 1; goto b89; -b42: if (!(*(u *)((vv) + (152UL)))) { goto b50; } -b49: v57 = 0UL; - goto b51; -b51: if (!(v57)) { goto b48; } -b43: v55 = 1UL; +b42: if (!*(u*)(vv + 152)) goto b50; + v57 = 0; +b51: if (!v57) goto b48; + v55 = 1; goto b44; -b48: v55 = 0UL; +b48: v55 = 0; goto b44; -b50: v57 = 1UL; +b50: v57 = 1; goto b51; -b46: v56 = 1UL; +b46: v56 = 1; goto b47; -b24: if (!(*(u *)((vv) + (152UL)))) { goto b32; } -b31: v34 = 0UL; - goto b33; -b33: if (!(v34)) { goto b30; } -b25: v32 = 1UL; +b24: if (!*(u*)(vv + 152)) goto b32; + v34 = 0; +b33: if (!v34) goto b30; + v32 = 1; goto b26; -b30: v32 = 0UL; +b30: v32 = 0; goto b26; -b32: v34 = 1UL; +b32: v34 = 1; goto b33; -b28: v33 = 1UL; +b28: v33 = 1; goto b29; -b6: if (!(*(u *)((vv) + (152UL)))) { goto b14; } -b13: v11 = 0UL; - goto b15; -b15: if (!(v11)) { goto b12; } -b7: v9 = 1UL; +b6: if (!*(u*)(vv + 152)) goto b14; + v11 = 0; +b15: if (!v11) goto b12; + v9 = 1; goto b8; -b12: v9 = 0UL; +b12: v9 = 0; goto b8; -b14: v11 = 1UL; +b14: v11 = 1; goto b15; -b10: v10 = 1UL; +b10: v10 = 1; goto b11; } -u zemit_strtab_str(u vc, u vs) { +u zemit_strtab_str(u vc, u vs){ u vi = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; u v7 = 0; -b0: vi = 0UL; - goto b1; + vi = 0; b1: v3 = (u)zas_emit; v4 = vc; - v5 = (u)*(b *)((vs) + (vi)); - v6 = ((u (*)())(v3))(v4, v5); -b3: if (!((u)*(b *)((vs) + (vi)))) { goto b8; } -b7: v7 = 0UL; - goto b9; -b9: if (!(v7)) { goto b4; } -b2: return (vi) + (1UL); -b4: vi = (vi) + (1UL); + v5 = (u)*(b*)(vs + vi); + v6 = ((u(*)())v3)(v4, v5); + if (!(u)*(b*)(vs + vi)) goto b8; + v7 = 0; +b9: if (!v7) goto b4; + return vi + 1; +b4: vi = vi + 1; goto b1; -b8: v7 = 1UL; +b8: v7 = 1; goto b9; } -u zenter(u vc, u vtag) { +u zenter(u vc, u vtag){ u v2 = 0; u v3 = 0; u v4 = 0; -b0: v2 = (u)zchoice; + v2 = (u)zchoice; v3 = vc; - v4 = ((u (*)())(v2))(v3); -b1: *(u *)((vc) + (72UL)) = vtag; - return 0UL; + v4 = ((u(*)())v2)(v3); + *(u*)(vc + 72) = vtag; + return 0; } -u zexit(u vn) { +u zexit(u vn){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -13204,18 +12937,18 @@ u zexit(u vn) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v1 = (u)zsyscall; - v2 = 60UL; + v1 = (u)zsyscall; + v2 = 60; v3 = vn; - v4 = 0UL; - v5 = 0UL; - v6 = 0UL; - v7 = 0UL; - v8 = 0UL; - v9 = ((u (*)())(v1))(v2, v3, v4, v5, v6, v7, v8); -b1: return 0UL; -} -u zexpr_to_ir(u vic, u vn) { + v4 = 0; + v5 = 0; + v6 = 0; + v7 = 0; + v8 = 0; + v9 = ((u(*)())v1)(v2, v3, v4, v5, v6, v7, v8); + return 0; +} +u zexpr_to_ir(u vic, u vn){ u va = 0; u vb = 0; u vc = 0; @@ -13901,959 +13634,950 @@ u zexpr_to_ir(u vic, u vn) { u v684 = 0; u v685 = 0; u v686 = 0; -b0: v16 = (u)zassert; - if (!(vn)) { goto b5; } -b4: v19 = 0UL; - goto b6; -b6: if (!(v19)) { goto b2; } -b1: v18 = 0UL; - goto b3; + v16 = (u)zassert; + if (!vn) goto b5; + v19 = 0; +b6: if (!v19) goto b2; + v18 = 0; b3: v17 = v18; v20 = (u)"expected node"; - v21 = ((u (*)())(v16))(v17, v20); -b7: *(u *)((*(u *)(vic)) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((*(u *)(vic)) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((*(u *)(vic)) + (40UL)) = *(u *)((vn) + (40UL)); - vkind = *(u *)(vn); - if ((vkind) != (4UL)) { goto b10; } -b9: v22 = (u)zmkirconst; + v21 = ((u(*)())v16)(v17, v20); + *(u*)(*(u*)vic + 24) = *(u*)(vn + 24); + *(u*)(*(u*)vic + 32) = *(u*)(vn + 32); + *(u*)(*(u*)vic + 40) = *(u*)(vn + 40); + vkind = *(u*)vn; + if (vkind != 4) goto b10; + v22 = (u)zmkirconst; v23 = vic; - v24 = 0UL; - v25 = ((u (*)())(v22))(v23, v24); -b11: vo = v25; + v24 = 0; + v25 = ((u(*)())v22)(v23, v24); + vo = v25; return vo; -b10: if ((vkind) != (1UL)) { goto b13; } -b12: v26 = (u)zmkirconst; +b10: if (vkind != 1) goto b13; + v26 = (u)zmkirconst; v27 = vic; - v28 = *(u *)((vn) + (48UL)); - v29 = ((u (*)())(v26))(v27, v28); -b14: vo = v29; + v28 = *(u*)(vn + 48); + v29 = ((u(*)())v26)(v27, v28); + vo = v29; return vo; -b13: if ((vkind) != (2UL)) { goto b16; } -b15: v30 = (u)zmkirconst; +b13: if (vkind != 2) goto b16; + v30 = (u)zmkirconst; v31 = vic; - v32 = *(u *)((vn) + (48UL)); - v33 = ((u (*)())(v30))(v31, v32); -b17: vo = v33; + v32 = *(u*)(vn + 48); + v33 = ((u(*)())v30)(v31, v32); + vo = v33; return vo; -b16: if ((vkind) != (34UL)) { goto b19; } -b18: if ((*(u *)(*(u *)((*(u *)((vn) + (8UL))) + (64UL)))) != (3UL)) { goto b22; } -b21: vsize = 1UL; - goto b20; +b16: if (vkind != 34) goto b19; + if (*(u*)*(u*)(*(u*)(vn + 8) + 64) != 3) goto b22; + vsize = 1; b20: v38 = (u)zmkirconst; v39 = vic; v40 = vsize; - v41 = ((u (*)())(v38))(v39, v40); -b24: vo = v41; + v41 = ((u(*)())v38)(v39, v40); + vo = v41; return vo; b22: v34 = (u)ztype_sizeof; - v35 = *(u *)(vic); - v36 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v37 = ((u (*)())(v34))(v35, v36); -b23: vsize = v37; + v35 = *(u*)vic; + v36 = *(u*)(*(u*)(vn + 8) + 64); + v37 = ((u(*)())v34)(v35, v36); + vsize = v37; goto b20; -b19: if ((vkind) != (3UL)) { goto b26; } -b25: v42 = (u)zmkirstr; +b19: if (vkind != 3) goto b26; + v42 = (u)zmkirstr; v43 = vic; - v44 = *(u *)((vn) + (56UL)); + v44 = *(u*)(vn + 56); v46 = (u)zstrlen; - v47 = *(u *)((vn) + (56UL)); - v48 = ((u (*)())(v46))(v47); -b27: v45 = v48; - v49 = ((u (*)())(v42))(v43, v44, v45); -b28: vo = v49; + v47 = *(u*)(vn + 56); + v48 = ((u(*)())v46)(v47); + v45 = v48; + v49 = ((u(*)())v42)(v43, v44, v45); + vo = v49; return vo; -b26: if ((vkind) != (7UL)) { goto b30; } -b29: v50 = (u)zcall_to_ir; +b26: if (vkind != 7) goto b30; + v50 = (u)zcall_to_ir; v51 = vic; v52 = vn; - v53 = ((u (*)())(v50))(v51, v52); -b31: vo = v53; + v53 = ((u(*)())v50)(v51, v52); + vo = v53; return vo; -b30: if ((vkind) != (0UL)) { goto b33; } -b32: v54 = (u)zfind; - v55 = *(u *)(vic); - v56 = *(u *)((vn) + (56UL)); - v57 = 0UL; - v58 = 0UL; - v59 = ((u (*)())(v54))(v55, v56, v57, v58); -b34: vv = v59; - if (!(vv)) { goto b39; } -b38: if (!(*(u *)((vv) + (176UL)))) { goto b39; } -b40: v60 = 1UL; - goto b41; -b41: if (!(v60)) { goto b35; } -b36: v61 = (u)zmkirconst; +b30: if (vkind != 0) goto b33; + v54 = (u)zfind; + v55 = *(u*)vic; + v56 = *(u*)(vn + 56); + v57 = 0; + v58 = 0; + v59 = ((u(*)())v54)(v55, v56, v57, v58); + vv = v59; + if (!vv) goto b39; + if (!*(u*)(vv + 176)) goto b39; + v60 = 1; +b41: if (!v60) goto b35; + v61 = (u)zmkirconst; v62 = vic; - v63 = *(u *)((vv) + (184UL)); - v64 = ((u (*)())(v61))(v62, v63); -b42: vo = v64; + v63 = *(u*)(vv + 184); + v64 = ((u(*)())v61)(v62, v63); + vo = v64; return vo; b35: v65 = (u)zirfind_var; v66 = vic; - v67 = *(u *)((vn) + (56UL)); - v68 = ((u (*)())(v65))(v66, v67); -b43: viv = *(u *)(v68); - if (!(viv)) { goto b44; } -b45: v69 = (u)zmkirop; + v67 = *(u*)(vn + 56); + v68 = ((u(*)())v65)(v66, v67); + viv = *(u*)v68; + if (!viv) goto b44; + v69 = (u)zmkirop; v70 = vic; - v71 = 0UL; - v72 = 0UL; - v73 = 0UL; - v74 = ((u (*)())(v69))(v70, v71, v72, v73); -b47: vo = v74; - *(u *)((vo) + (24UL)) = *(u *)((viv) + (32UL)); + v71 = 0; + v72 = 0; + v73 = 0; + v74 = ((u(*)())v69)(v70, v71, v72, v73); + vo = v74; + *(u*)(vo + 24) = *(u*)(viv + 32); return vo; -b44: if (!(vv)) { goto b52; } -b51: if (!(*(u *)((vv) + (72UL)))) { goto b52; } -b53: v75 = 1UL; - goto b54; -b54: if (!(v75)) { goto b48; } -b49: v76 = (u)zmkirfuncref; +b44: if (!vv) goto b52; + if (!*(u*)(vv + 72)) goto b52; + v75 = 1; +b54: if (!v75) goto b48; + v76 = (u)zmkirfuncref; v77 = vic; - v78 = *(u *)((vn) + (56UL)); - v79 = ((u (*)())(v76))(v77, v78); -b55: vo = v79; + v78 = *(u*)(vn + 56); + v79 = ((u(*)())v76)(v77, v78); + vo = v79; return vo; b48: v80 = (u)zcdie; - v81 = *(u *)(vic); + v81 = *(u*)vic; v82 = (u)"no such symbol"; - v83 = ((u (*)())(v80))(v81, v82); -b56: return 0UL; -b52: v75 = 0UL; + v83 = ((u(*)())v80)(v81, v82); + return 0; +b52: v75 = 0; goto b54; -b39: v60 = 0UL; +b39: v60 = 0; goto b41; -b33: if ((vkind) != (9UL)) { goto b58; } -b57: if ((*(u *)(*(u *)((*(u *)((vn) + (8UL))) + (64UL)))) != (4UL)) { goto b61; } -b60: v84 = (u)zexpr_to_ir; +b33: if (vkind != 9) goto b58; + if (*(u*)*(u*)(*(u*)(vn + 8) + 64) != 4) goto b61; + v84 = (u)zexpr_to_ir; v85 = vic; - v86 = *(u *)((vn) + (8UL)); - v87 = ((u (*)())(v84))(v85, v86); -b62: vb = v87; + v86 = *(u*)(vn + 8); + v87 = ((u(*)())v84)(v85, v86); + vb = v87; v88 = (u)zfind; - v89 = *(u *)(vic); - v90 = *(u *)((*(u *)((*(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (16UL))) + (8UL))) + (32UL)); - v91 = *(u *)((*(u *)((vn) + (16UL))) + (56UL)); - v92 = 0UL; - v93 = ((u (*)())(v88))(v89, v90, v91, v92); -b63: vv = v93; - goto b59; + v89 = *(u*)vic; + v90 = *(u*)(*(u*)(*(u*)(*(u*)(*(u*)(vn + 8) + 64) + 16) + 8) + 32); + v91 = *(u*)(*(u*)(vn + 16) + 56); + v92 = 0; + v93 = ((u(*)())v88)(v89, v90, v91, v92); + vv = v93; b59: v113 = (u)zmkirconst; v114 = vic; - v115 = *(u *)((vv) + (168UL)); - v116 = ((u (*)())(v113))(v114, v115); -b73: vc = v116; + v115 = *(u*)(vv + 168); + v116 = ((u(*)())v113)(v114, v115); + vc = v116; v117 = (u)zmkirop; v118 = vic; - v119 = 11UL; + v119 = 11; v120 = vb; v121 = vc; - v122 = ((u (*)())(v117))(v118, v119, v120, v121); -b74: vd = v122; + v122 = ((u(*)())v117)(v118, v119, v120, v121); + vd = v122; v123 = (u)zmkirop; v124 = vic; - v125 = 5UL; + v125 = 5; v126 = vd; - v127 = 0UL; - v128 = ((u (*)())(v123))(v124, v125, v126, v127); -b75: vo = v128; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v127 = 0; + v128 = ((u(*)())v123)(v124, v125, v126, v127); + vo = v128; + *(u*)(vo + 48) = *(u*)(vn + 64); return vo; b61: v94 = (u)zexpr_to_ir; v95 = vic; - v96 = *(u *)((vn) + (8UL)); - v97 = ((u (*)())(v94))(v95, v96); -b64: va = v97; - if ((*(u *)(va)) != (0UL)) { goto b67; } -b66: v98 = (u)zmkirop; + v96 = *(u*)(vn + 8); + v97 = ((u(*)())v94)(v95, v96); + va = v97; + if (*(u*)va != 0) goto b67; + v98 = (u)zmkirop; v99 = vic; - v100 = 1UL; - v101 = 0UL; - v102 = 0UL; - v103 = ((u (*)())(v98))(v99, v100, v101, v102); -b68: vb = v103; - *(u *)((vb) + (24UL)) = *(u *)((va) + (24UL)); - goto b65; + v100 = 1; + v101 = 0; + v102 = 0; + v103 = ((u(*)())v98)(v99, v100, v101, v102); + vb = v103; + *(u*)(vb + 24) = *(u*)(va + 24); b65: v107 = (u)zfind; - v108 = *(u *)(vic); - v109 = *(u *)((*(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (8UL))) + (32UL)); - v110 = *(u *)((*(u *)((vn) + (16UL))) + (56UL)); - v111 = 0UL; - v112 = ((u (*)())(v107))(v108, v109, v110, v111); -b72: vv = v112; + v108 = *(u*)vic; + v109 = *(u*)(*(u*)(*(u*)(*(u*)(vn + 8) + 64) + 8) + 32); + v110 = *(u*)(*(u*)(vn + 16) + 56); + v111 = 0; + v112 = ((u(*)())v107)(v108, v109, v110, v111); + vv = v112; goto b59; -b67: if ((*(u *)(va)) != (5UL)) { goto b70; } -b69: vb = *(u *)((va) + (8UL)); +b67: if (*(u*)va != 5) goto b70; + vb = *(u*)(va + 8); goto b65; b70: v104 = (u)zdie; v105 = (u)"invalid ref"; - v106 = ((u (*)())(v104))(v105); + v106 = ((u(*)())v104)(v105); goto b65; -b58: if ((vkind) != (35UL)) { goto b77; } -b76: v129 = (u)zexpr_to_ir; +b58: if (vkind != 35) goto b77; + v129 = (u)zexpr_to_ir; v130 = vic; - v131 = *(u *)((vn) + (8UL)); - v132 = ((u (*)())(v129))(v130, v131); -b78: va = v132; - if ((*(u *)(va)) != (0UL)) { goto b81; } -b80: v133 = (u)zmkirop; + v131 = *(u*)(vn + 8); + v132 = ((u(*)())v129)(v130, v131); + va = v132; + if (*(u*)va != 0) goto b81; + v133 = (u)zmkirop; v134 = vic; - v135 = 1UL; - v136 = 0UL; - v137 = 0UL; - v138 = ((u (*)())(v133))(v134, v135, v136, v137); -b82: vo = v138; - *(u *)((vo) + (24UL)) = *(u *)((va) + (24UL)); + v135 = 1; + v136 = 0; + v137 = 0; + v138 = ((u(*)())v133)(v134, v135, v136, v137); + vo = v138; + *(u*)(vo + 24) = *(u*)(va + 24); return vo; -b81: if ((*(u *)(va)) != (5UL)) { goto b84; } -b83: return *(u *)((va) + (8UL)); +b81: if (*(u*)va != 5) goto b84; + return *(u*)(va + 8); b84: v139 = (u)zdie; v140 = (u)"invalid ref"; - v141 = ((u (*)())(v139))(v140); -b85: return 0UL; -b77: if ((vkind) != (36UL)) { goto b87; } -b86: v142 = (u)zexpr_to_ir; + v141 = ((u(*)())v139)(v140); + return 0; +b77: if (vkind != 36) goto b87; + v142 = (u)zexpr_to_ir; v143 = vic; - v144 = *(u *)((vn) + (8UL)); - v145 = ((u (*)())(v142))(v143, v144); -b88: va = v145; + v144 = *(u*)(vn + 8); + v145 = ((u(*)())v142)(v143, v144); + va = v145; v146 = (u)zmkirop; v147 = vic; - v148 = 5UL; + v148 = 5; v149 = va; - v150 = 0UL; - v151 = ((u (*)())(v146))(v147, v148, v149, v150); -b89: vo = v151; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v150 = 0; + v151 = ((u(*)())v146)(v147, v148, v149, v150); + vo = v151; + *(u*)(vo + 48) = *(u*)(vn + 64); return vo; -b87: if ((vkind) != (38UL)) { goto b91; } -b90: v152 = (u)zexpr_to_ir; +b87: if (vkind != 38) goto b91; + v152 = (u)zexpr_to_ir; v153 = vic; - v154 = *(u *)((vn) + (8UL)); - v155 = ((u (*)())(v152))(v153, v154); -b92: va = v155; + v154 = *(u*)(vn + 8); + v155 = ((u(*)())v152)(v153, v154); + va = v155; v156 = (u)zexpr_to_ir; v157 = vic; - v158 = *(u *)((vn) + (16UL)); - v159 = ((u (*)())(v156))(v157, v158); -b93: vb = v159; - if ((*(u *)(*(u *)((vn) + (64UL)))) != (3UL)) { goto b96; } -b95: vsize = 1UL; - goto b94; + v158 = *(u*)(vn + 16); + v159 = ((u(*)())v156)(v157, v158); + vb = v159; + if (*(u*)*(u*)(vn + 64) != 3) goto b96; + vsize = 1; b94: v164 = (u)zmkirconst; v165 = vic; v166 = vsize; - v167 = ((u (*)())(v164))(v165, v166); -b98: vc = v167; + v167 = ((u(*)())v164)(v165, v166); + vc = v167; v168 = (u)zmkirop; v169 = vic; - v170 = 19UL; + v170 = 19; v171 = vb; v172 = vc; - v173 = ((u (*)())(v168))(v169, v170, v171, v172); -b99: vd = v173; + v173 = ((u(*)())v168)(v169, v170, v171, v172); + vd = v173; v174 = (u)zmkirop; v175 = vic; - v176 = 11UL; + v176 = 11; v177 = va; v178 = vd; - v179 = ((u (*)())(v174))(v175, v176, v177, v178); -b100: ve = v179; + v179 = ((u(*)())v174)(v175, v176, v177, v178); + ve = v179; v180 = (u)zmkirop; v181 = vic; - v182 = 5UL; + v182 = 5; v183 = ve; - v184 = 0UL; - v185 = ((u (*)())(v180))(v181, v182, v183, v184); -b101: vo = v185; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v184 = 0; + v185 = ((u(*)())v180)(v181, v182, v183, v184); + vo = v185; + *(u*)(vo + 48) = *(u*)(vn + 64); return vo; b96: v160 = (u)ztype_sizeof; - v161 = *(u *)(vic); - v162 = *(u *)((vn) + (64UL)); - v163 = ((u (*)())(v160))(v161, v162); -b97: vsize = v163; + v161 = *(u*)vic; + v162 = *(u*)(vn + 64); + v163 = ((u(*)())v160)(v161, v162); + vsize = v163; goto b94; -b91: if ((vkind) != (33UL)) { goto b103; } -b102: v186 = (u)zexpr_to_ir; +b91: if (vkind != 33) goto b103; + v186 = (u)zexpr_to_ir; v187 = vic; - v188 = *(u *)((vn) + (8UL)); - v189 = ((u (*)())(v186))(v187, v188); -b104: va = v189; + v188 = *(u*)(vn + 8); + v189 = ((u(*)())v186)(v187, v188); + va = v189; v190 = (u)zexpr_to_ir; v191 = vic; - v192 = *(u *)((vn) + (16UL)); - v193 = ((u (*)())(v190))(v191, v192); -b105: vb = v193; + v192 = *(u*)(vn + 16); + v193 = ((u(*)())v190)(v191, v192); + vb = v193; v194 = (u)zmkirop; v195 = vic; - v196 = 6UL; + v196 = 6; v197 = va; v198 = vb; - v199 = ((u (*)())(v194))(v195, v196, v197, v198); -b106: vo = v199; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v199 = ((u(*)())v194)(v195, v196, v197, v198); + vo = v199; + *(u*)(vo + 48) = *(u*)(vn + 64); return vo; -b103: if ((vkind) != (57UL)) { goto b108; } -b107: v200 = (u)zexpr_to_ir; +b103: if (vkind != 57) goto b108; + v200 = (u)zexpr_to_ir; v201 = vic; - v202 = *(u *)((vn) + (8UL)); - v203 = ((u (*)())(v200))(v201, v202); -b109: vo = v203; + v202 = *(u*)(vn + 8); + v203 = ((u(*)())v200)(v201, v202); + vo = v203; return vo; -b108: if ((vkind) != (37UL)) { goto b111; } -b110: v204 = (u)zexpr_to_ir; +b108: if (vkind != 37) goto b111; + v204 = (u)zexpr_to_ir; v205 = vic; - v206 = *(u *)((vn) + (8UL)); - v207 = ((u (*)())(v204))(v205, v206); -b112: vo = v207; + v206 = *(u*)(vn + 8); + v207 = ((u(*)())v204)(v205, v206); + vo = v207; return vo; -b111: if ((vkind) != (58UL)) { goto b114; } -b113: v208 = (u)zexpr_to_ir; +b111: if (vkind != 58) goto b114; + v208 = (u)zexpr_to_ir; v209 = vic; - v210 = *(u *)((vn) + (8UL)); - v211 = ((u (*)())(v208))(v209, v210); -b115: va = v211; + v210 = *(u*)(vn + 8); + v211 = ((u(*)())v208)(v209, v210); + va = v211; v212 = (u)zmkirop; v213 = vic; - v214 = 9UL; + v214 = 9; v215 = va; - v216 = 0UL; - v217 = ((u (*)())(v212))(v213, v214, v215, v216); -b116: vo = v217; + v216 = 0; + v217 = ((u(*)())v212)(v213, v214, v215, v216); + vo = v217; return vo; -b114: if ((vkind) != (56UL)) { goto b118; } -b117: v218 = (u)zexpr_to_ir; +b114: if (vkind != 56) goto b118; + v218 = (u)zexpr_to_ir; v219 = vic; - v220 = *(u *)((vn) + (8UL)); - v221 = ((u (*)())(v218))(v219, v220); -b119: va = v221; + v220 = *(u*)(vn + 8); + v221 = ((u(*)())v218)(v219, v220); + va = v221; v222 = (u)zmkirop; v223 = vic; - v224 = 10UL; + v224 = 10; v225 = va; - v226 = 0UL; - v227 = ((u (*)())(v222))(v223, v224, v225, v226); -b120: vo = v227; + v226 = 0; + v227 = ((u(*)())v222)(v223, v224, v225, v226); + vo = v227; return vo; -b118: if ((vkind) != (50UL)) { goto b122; } -b121: v228 = (u)zmkirblock; +b118: if (vkind != 50) goto b122; + v228 = (u)zmkirblock; v229 = vic; - v230 = ((u (*)())(v228))(v229); -b123: vbool_body = v230; + v230 = ((u(*)())v228)(v229); + vbool_body = v230; v231 = (u)zmkirblock; v232 = vic; - v233 = ((u (*)())(v231))(v232); -b124: vbool_next = v233; + v233 = ((u(*)())v231)(v232); + vbool_next = v233; v234 = (u)zmkirblock; v235 = vic; - v236 = ((u (*)())(v234))(v235); -b125: vbool_out = v236; + v236 = ((u(*)())v234)(v235); + vbool_out = v236; v237 = (u)zmkirtmp; v238 = vic; - v239 = *(u *)((vn) + (64UL)); - v240 = ((u (*)())(v237))(v238, v239); -b126: ve = v240; + v239 = *(u*)(vn + 64); + v240 = ((u(*)())v237)(v238, v239); + ve = v240; v241 = (u)zexpr_to_ir; v242 = vic; - v243 = *(u *)((vn) + (8UL)); - v244 = ((u (*)())(v241))(v242, v243); -b127: va = v244; + v243 = *(u*)(vn + 8); + v244 = ((u(*)())v241)(v242, v243); + va = v244; v245 = (u)zirbranch; v246 = vic; v247 = va; v248 = vbool_next; v249 = vbool_body; - v250 = ((u (*)())(v245))(v246, v247, v248, v249); -b128: v251 = (u)zmkirconst; + v250 = ((u(*)())v245)(v246, v247, v248, v249); + v251 = (u)zmkirconst; v252 = vic; - v253 = 0UL; - v254 = ((u (*)())(v251))(v252, v253); -b129: vb = v254; + v253 = 0; + v254 = ((u(*)())v251)(v252, v253); + vb = v254; v255 = (u)zmkirop; v256 = vic; - v257 = 6UL; + v257 = 6; v258 = ve; v259 = vb; - v260 = ((u (*)())(v255))(v256, v257, v258, v259); -b130: vo = v260; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v260 = ((u(*)())v255)(v256, v257, v258, v259); + vo = v260; + *(u*)(vo + 48) = *(u*)(vn + 64); v261 = (u)ziraddop; v262 = vic; v263 = vo; - v264 = ((u (*)())(v261))(v262, v263); -b131: v265 = (u)zirjump; + v264 = ((u(*)())v261)(v262, v263); + v265 = (u)zirjump; v266 = vic; v267 = vbool_out; v268 = vbool_next; - v269 = ((u (*)())(v265))(v266, v267, v268); -b132: v270 = (u)zmkirconst; + v269 = ((u(*)())v265)(v266, v267, v268); + v270 = (u)zmkirconst; v271 = vic; - v272 = 1UL; - v273 = ((u (*)())(v270))(v271, v272); -b133: vb = v273; + v272 = 1; + v273 = ((u(*)())v270)(v271, v272); + vb = v273; v274 = (u)zmkirop; v275 = vic; - v276 = 6UL; + v276 = 6; v277 = ve; v278 = vb; - v279 = ((u (*)())(v274))(v275, v276, v277, v278); -b134: vo = v279; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v279 = ((u(*)())v274)(v275, v276, v277, v278); + vo = v279; + *(u*)(vo + 48) = *(u*)(vn + 64); v280 = (u)ziraddop; v281 = vic; v282 = vo; - v283 = ((u (*)())(v280))(v281, v282); -b135: v284 = (u)zirjump; + v283 = ((u(*)())v280)(v281, v282); + v284 = (u)zirjump; v285 = vic; v286 = vbool_out; v287 = vbool_out; - v288 = ((u (*)())(v284))(v285, v286, v287); -b136: return ve; -b122: if ((vkind) != (51UL)) { goto b138; } -b137: v289 = (u)zmkirblock; + v288 = ((u(*)())v284)(v285, v286, v287); + return ve; +b122: if (vkind != 51) goto b138; + v289 = (u)zmkirblock; v290 = vic; - v291 = ((u (*)())(v289))(v290); -b139: vbool_body = v291; + v291 = ((u(*)())v289)(v290); + vbool_body = v291; v292 = (u)zmkirblock; v293 = vic; - v294 = ((u (*)())(v292))(v293); -b140: vbool_next = v294; + v294 = ((u(*)())v292)(v293); + vbool_next = v294; v295 = (u)zmkirblock; v296 = vic; - v297 = ((u (*)())(v295))(v296); -b141: vbool_final = v297; + v297 = ((u(*)())v295)(v296); + vbool_final = v297; v298 = (u)zmkirblock; v299 = vic; - v300 = ((u (*)())(v298))(v299); -b142: vbool_out = v300; + v300 = ((u(*)())v298)(v299); + vbool_out = v300; v301 = (u)zmkirtmp; v302 = vic; - v303 = *(u *)((vn) + (64UL)); - v304 = ((u (*)())(v301))(v302, v303); -b143: ve = v304; + v303 = *(u*)(vn + 64); + v304 = ((u(*)())v301)(v302, v303); + ve = v304; v305 = (u)zexpr_to_ir; v306 = vic; - v307 = *(u *)((vn) + (8UL)); - v308 = ((u (*)())(v305))(v306, v307); -b144: va = v308; + v307 = *(u*)(vn + 8); + v308 = ((u(*)())v305)(v306, v307); + va = v308; v309 = (u)zirbranch; v310 = vic; v311 = va; v312 = vbool_next; v313 = vbool_body; - v314 = ((u (*)())(v309))(v310, v311, v312, v313); -b145: v315 = (u)zmkirconst; + v314 = ((u(*)())v309)(v310, v311, v312, v313); + v315 = (u)zmkirconst; v316 = vic; - v317 = 1UL; - v318 = ((u (*)())(v315))(v316, v317); -b146: vb = v318; + v317 = 1; + v318 = ((u(*)())v315)(v316, v317); + vb = v318; v319 = (u)zmkirop; v320 = vic; - v321 = 6UL; + v321 = 6; v322 = ve; v323 = vb; - v324 = ((u (*)())(v319))(v320, v321, v322, v323); -b147: vo = v324; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v324 = ((u(*)())v319)(v320, v321, v322, v323); + vo = v324; + *(u*)(vo + 48) = *(u*)(vn + 64); v325 = (u)ziraddop; v326 = vic; v327 = vo; - v328 = ((u (*)())(v325))(v326, v327); -b148: v329 = (u)zirjump; + v328 = ((u(*)())v325)(v326, v327); + v329 = (u)zirjump; v330 = vic; v331 = vbool_out; v332 = vbool_next; - v333 = ((u (*)())(v329))(v330, v331, v332); -b149: v334 = (u)zmkirblock; + v333 = ((u(*)())v329)(v330, v331, v332); + v334 = (u)zmkirblock; v335 = vic; - v336 = ((u (*)())(v334))(v335); -b150: vbool_next = v336; + v336 = ((u(*)())v334)(v335); + vbool_next = v336; v337 = (u)zexpr_to_ir; v338 = vic; - v339 = *(u *)((vn) + (16UL)); - v340 = ((u (*)())(v337))(v338, v339); -b151: va = v340; + v339 = *(u*)(vn + 16); + v340 = ((u(*)())v337)(v338, v339); + va = v340; v341 = (u)zirbranch; v342 = vic; v343 = va; v344 = vbool_next; v345 = vbool_final; - v346 = ((u (*)())(v341))(v342, v343, v344, v345); -b152: v347 = (u)zmkirconst; + v346 = ((u(*)())v341)(v342, v343, v344, v345); + v347 = (u)zmkirconst; v348 = vic; - v349 = 1UL; - v350 = ((u (*)())(v347))(v348, v349); -b153: vb = v350; + v349 = 1; + v350 = ((u(*)())v347)(v348, v349); + vb = v350; v351 = (u)zmkirop; v352 = vic; - v353 = 6UL; + v353 = 6; v354 = ve; v355 = vb; - v356 = ((u (*)())(v351))(v352, v353, v354, v355); -b154: vo = v356; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v356 = ((u(*)())v351)(v352, v353, v354, v355); + vo = v356; + *(u*)(vo + 48) = *(u*)(vn + 64); v357 = (u)ziraddop; v358 = vic; v359 = vo; - v360 = ((u (*)())(v357))(v358, v359); -b155: v361 = (u)zirjump; + v360 = ((u(*)())v357)(v358, v359); + v361 = (u)zirjump; v362 = vic; v363 = vbool_out; v364 = vbool_next; - v365 = ((u (*)())(v361))(v362, v363, v364); -b156: v366 = (u)zmkirconst; + v365 = ((u(*)())v361)(v362, v363, v364); + v366 = (u)zmkirconst; v367 = vic; - v368 = 0UL; - v369 = ((u (*)())(v366))(v367, v368); -b157: vb = v369; + v368 = 0; + v369 = ((u(*)())v366)(v367, v368); + vb = v369; v370 = (u)zmkirop; v371 = vic; - v372 = 6UL; + v372 = 6; v373 = ve; v374 = vb; - v375 = ((u (*)())(v370))(v371, v372, v373, v374); -b158: vo = v375; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v375 = ((u(*)())v370)(v371, v372, v373, v374); + vo = v375; + *(u*)(vo + 48) = *(u*)(vn + 64); v376 = (u)ziraddop; v377 = vic; v378 = vo; - v379 = ((u (*)())(v376))(v377, v378); -b159: v380 = (u)zirjump; + v379 = ((u(*)())v376)(v377, v378); + v380 = (u)zirjump; v381 = vic; v382 = vbool_out; v383 = vbool_out; - v384 = ((u (*)())(v380))(v381, v382, v383); -b160: return ve; -b138: if ((vkind) != (52UL)) { goto b162; } -b161: v385 = (u)zmkirblock; + v384 = ((u(*)())v380)(v381, v382, v383); + return ve; +b138: if (vkind != 52) goto b162; + v385 = (u)zmkirblock; v386 = vic; - v387 = ((u (*)())(v385))(v386); -b163: vbool_body = v387; + v387 = ((u(*)())v385)(v386); + vbool_body = v387; v388 = (u)zmkirblock; v389 = vic; - v390 = ((u (*)())(v388))(v389); -b164: vbool_next = v390; + v390 = ((u(*)())v388)(v389); + vbool_next = v390; v391 = (u)zmkirblock; v392 = vic; - v393 = ((u (*)())(v391))(v392); -b165: vbool_final = v393; + v393 = ((u(*)())v391)(v392); + vbool_final = v393; v394 = (u)zmkirblock; v395 = vic; - v396 = ((u (*)())(v394))(v395); -b166: vbool_out = v396; + v396 = ((u(*)())v394)(v395); + vbool_out = v396; v397 = (u)zmkirtmp; v398 = vic; - v399 = *(u *)((vn) + (64UL)); - v400 = ((u (*)())(v397))(v398, v399); -b167: ve = v400; + v399 = *(u*)(vn + 64); + v400 = ((u(*)())v397)(v398, v399); + ve = v400; v401 = (u)zexpr_to_ir; v402 = vic; - v403 = *(u *)((vn) + (8UL)); - v404 = ((u (*)())(v401))(v402, v403); -b168: va = v404; + v403 = *(u*)(vn + 8); + v404 = ((u(*)())v401)(v402, v403); + va = v404; v405 = (u)zirbranch; v406 = vic; v407 = va; v408 = vbool_next; v409 = vbool_body; - v410 = ((u (*)())(v405))(v406, v407, v408, v409); -b169: v411 = (u)zexpr_to_ir; + v410 = ((u(*)())v405)(v406, v407, v408, v409); + v411 = (u)zexpr_to_ir; v412 = vic; - v413 = *(u *)((vn) + (16UL)); - v414 = ((u (*)())(v411))(v412, v413); -b170: va = v414; + v413 = *(u*)(vn + 16); + v414 = ((u(*)())v411)(v412, v413); + va = v414; v415 = (u)zirbranch; v416 = vic; v417 = va; v418 = vbool_next; v419 = vbool_final; - v420 = ((u (*)())(v415))(v416, v417, v418, v419); -b171: v421 = (u)zmkirconst; + v420 = ((u(*)())v415)(v416, v417, v418, v419); + v421 = (u)zmkirconst; v422 = vic; - v423 = 1UL; - v424 = ((u (*)())(v421))(v422, v423); -b172: vb = v424; + v423 = 1; + v424 = ((u(*)())v421)(v422, v423); + vb = v424; v425 = (u)zmkirop; v426 = vic; - v427 = 6UL; + v427 = 6; v428 = ve; v429 = vb; - v430 = ((u (*)())(v425))(v426, v427, v428, v429); -b173: vo = v430; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v430 = ((u(*)())v425)(v426, v427, v428, v429); + vo = v430; + *(u*)(vo + 48) = *(u*)(vn + 64); v431 = (u)ziraddop; v432 = vic; v433 = vo; - v434 = ((u (*)())(v431))(v432, v433); -b174: v435 = (u)zirjump; + v434 = ((u(*)())v431)(v432, v433); + v435 = (u)zirjump; v436 = vic; v437 = vbool_out; v438 = vbool_next; - v439 = ((u (*)())(v435))(v436, v437, v438); -b175: v440 = (u)zmkirconst; + v439 = ((u(*)())v435)(v436, v437, v438); + v440 = (u)zmkirconst; v441 = vic; - v442 = 0UL; - v443 = ((u (*)())(v440))(v441, v442); -b176: vb = v443; + v442 = 0; + v443 = ((u(*)())v440)(v441, v442); + vb = v443; v444 = (u)zmkirop; v445 = vic; - v446 = 6UL; + v446 = 6; v447 = ve; v448 = vb; - v449 = ((u (*)())(v444))(v445, v446, v447, v448); -b177: vo = v449; - *(u *)((vo) + (48UL)) = *(u *)((vn) + (64UL)); + v449 = ((u(*)())v444)(v445, v446, v447, v448); + vo = v449; + *(u*)(vo + 48) = *(u*)(vn + 64); v450 = (u)ziraddop; v451 = vic; v452 = vo; - v453 = ((u (*)())(v450))(v451, v452); -b178: v454 = (u)zirjump; + v453 = ((u(*)())v450)(v451, v452); + v454 = (u)zirjump; v455 = vic; v456 = vbool_out; v457 = vbool_out; - v458 = ((u (*)())(v454))(v455, v456, v457); -b179: return ve; -b162: if ((vkind) != (39UL)) { goto b181; } -b180: v459 = (u)zexpr_to_ir; + v458 = ((u(*)())v454)(v455, v456, v457); + return ve; +b162: if (vkind != 39) goto b181; + v459 = (u)zexpr_to_ir; v460 = vic; - v461 = *(u *)((vn) + (8UL)); - v462 = ((u (*)())(v459))(v460, v461); -b182: va = v462; + v461 = *(u*)(vn + 8); + v462 = ((u(*)())v459)(v460, v461); + va = v462; v463 = (u)zexpr_to_ir; v464 = vic; - v465 = *(u *)((vn) + (16UL)); - v466 = ((u (*)())(v463))(v464, v465); -b183: vb = v466; + v465 = *(u*)(vn + 16); + v466 = ((u(*)())v463)(v464, v465); + vb = v466; v467 = (u)zmkirop; v468 = vic; - v469 = 25UL; + v469 = 25; v470 = va; v471 = vb; - v472 = ((u (*)())(v467))(v468, v469, v470, v471); -b184: vo = v472; + v472 = ((u(*)())v467)(v468, v469, v470, v471); + vo = v472; return vo; -b181: if ((vkind) != (40UL)) { goto b186; } -b185: v473 = (u)zexpr_to_ir; +b181: if (vkind != 40) goto b186; + v473 = (u)zexpr_to_ir; v474 = vic; - v475 = *(u *)((vn) + (8UL)); - v476 = ((u (*)())(v473))(v474, v475); -b187: va = v476; + v475 = *(u*)(vn + 8); + v476 = ((u(*)())v473)(v474, v475); + va = v476; v477 = (u)zexpr_to_ir; v478 = vic; - v479 = *(u *)((vn) + (16UL)); - v480 = ((u (*)())(v477))(v478, v479); -b188: vb = v480; + v479 = *(u*)(vn + 16); + v480 = ((u(*)())v477)(v478, v479); + vb = v480; v481 = (u)zmkirop; v482 = vic; - v483 = 23UL; + v483 = 23; v484 = va; v485 = vb; - v486 = ((u (*)())(v481))(v482, v483, v484, v485); -b189: vo = v486; + v486 = ((u(*)())v481)(v482, v483, v484, v485); + vo = v486; return vo; -b186: if ((vkind) != (41UL)) { goto b191; } -b190: v487 = (u)zexpr_to_ir; +b186: if (vkind != 41) goto b191; + v487 = (u)zexpr_to_ir; v488 = vic; - v489 = *(u *)((vn) + (8UL)); - v490 = ((u (*)())(v487))(v488, v489); -b192: va = v490; + v489 = *(u*)(vn + 8); + v490 = ((u(*)())v487)(v488, v489); + va = v490; v491 = (u)zexpr_to_ir; v492 = vic; - v493 = *(u *)((vn) + (16UL)); - v494 = ((u (*)())(v491))(v492, v493); -b193: vb = v494; + v493 = *(u*)(vn + 16); + v494 = ((u(*)())v491)(v492, v493); + vb = v494; v495 = (u)zmkirop; v496 = vic; - v497 = 26UL; + v497 = 26; v498 = va; v499 = vb; - v500 = ((u (*)())(v495))(v496, v497, v498, v499); -b194: vo = v500; + v500 = ((u(*)())v495)(v496, v497, v498, v499); + vo = v500; return vo; -b191: if ((vkind) != (42UL)) { goto b196; } -b195: v501 = (u)zexpr_to_ir; +b191: if (vkind != 42) goto b196; + v501 = (u)zexpr_to_ir; v502 = vic; - v503 = *(u *)((vn) + (8UL)); - v504 = ((u (*)())(v501))(v502, v503); -b197: va = v504; + v503 = *(u*)(vn + 8); + v504 = ((u(*)())v501)(v502, v503); + va = v504; v505 = (u)zexpr_to_ir; v506 = vic; - v507 = *(u *)((vn) + (16UL)); - v508 = ((u (*)())(v505))(v506, v507); -b198: vb = v508; + v507 = *(u*)(vn + 16); + v508 = ((u(*)())v505)(v506, v507); + vb = v508; v509 = (u)zmkirop; v510 = vic; - v511 = 24UL; + v511 = 24; v512 = va; v513 = vb; - v514 = ((u (*)())(v509))(v510, v511, v512, v513); -b199: vo = v514; + v514 = ((u(*)())v509)(v510, v511, v512, v513); + vo = v514; return vo; -b196: if ((vkind) != (43UL)) { goto b201; } -b200: v515 = (u)zexpr_to_ir; +b196: if (vkind != 43) goto b201; + v515 = (u)zexpr_to_ir; v516 = vic; - v517 = *(u *)((vn) + (8UL)); - v518 = ((u (*)())(v515))(v516, v517); -b202: va = v518; + v517 = *(u*)(vn + 8); + v518 = ((u(*)())v515)(v516, v517); + va = v518; v519 = (u)zexpr_to_ir; v520 = vic; - v521 = *(u *)((vn) + (16UL)); - v522 = ((u (*)())(v519))(v520, v521); -b203: vb = v522; + v521 = *(u*)(vn + 16); + v522 = ((u(*)())v519)(v520, v521); + vb = v522; v523 = (u)zmkirop; v524 = vic; - v525 = 21UL; + v525 = 21; v526 = va; v527 = vb; - v528 = ((u (*)())(v523))(v524, v525, v526, v527); -b204: vo = v528; + v528 = ((u(*)())v523)(v524, v525, v526, v527); + vo = v528; return vo; -b201: if ((vkind) != (44UL)) { goto b206; } -b205: v529 = (u)zexpr_to_ir; +b201: if (vkind != 44) goto b206; + v529 = (u)zexpr_to_ir; v530 = vic; - v531 = *(u *)((vn) + (8UL)); - v532 = ((u (*)())(v529))(v530, v531); -b207: va = v532; + v531 = *(u*)(vn + 8); + v532 = ((u(*)())v529)(v530, v531); + va = v532; v533 = (u)zexpr_to_ir; v534 = vic; - v535 = *(u *)((vn) + (16UL)); - v536 = ((u (*)())(v533))(v534, v535); -b208: vb = v536; + v535 = *(u*)(vn + 16); + v536 = ((u(*)())v533)(v534, v535); + vb = v536; v537 = (u)zmkirop; v538 = vic; - v539 = 22UL; + v539 = 22; v540 = va; v541 = vb; - v542 = ((u (*)())(v537))(v538, v539, v540, v541); -b209: vo = v542; + v542 = ((u(*)())v537)(v538, v539, v540, v541); + vo = v542; return vo; -b206: if ((vkind) != (45UL)) { goto b211; } -b210: v543 = (u)zexpr_to_ir; +b206: if (vkind != 45) goto b211; + v543 = (u)zexpr_to_ir; v544 = vic; - v545 = *(u *)((vn) + (8UL)); - v546 = ((u (*)())(v543))(v544, v545); -b212: va = v546; + v545 = *(u*)(vn + 8); + v546 = ((u(*)())v543)(v544, v545); + va = v546; v547 = (u)zexpr_to_ir; v548 = vic; - v549 = *(u *)((vn) + (16UL)); - v550 = ((u (*)())(v547))(v548, v549); -b213: vb = v550; + v549 = *(u*)(vn + 16); + v550 = ((u(*)())v547)(v548, v549); + vb = v550; v551 = (u)zmkirop; v552 = vic; - v553 = 11UL; + v553 = 11; v554 = va; v555 = vb; - v556 = ((u (*)())(v551))(v552, v553, v554, v555); -b214: vo = v556; + v556 = ((u(*)())v551)(v552, v553, v554, v555); + vo = v556; return vo; -b211: if ((vkind) != (46UL)) { goto b216; } -b215: v557 = (u)zexpr_to_ir; +b211: if (vkind != 46) goto b216; + v557 = (u)zexpr_to_ir; v558 = vic; - v559 = *(u *)((vn) + (8UL)); - v560 = ((u (*)())(v557))(v558, v559); -b217: va = v560; + v559 = *(u*)(vn + 8); + v560 = ((u(*)())v557)(v558, v559); + va = v560; v561 = (u)zexpr_to_ir; v562 = vic; - v563 = *(u *)((vn) + (16UL)); - v564 = ((u (*)())(v561))(v562, v563); -b218: vb = v564; + v563 = *(u*)(vn + 16); + v564 = ((u(*)())v561)(v562, v563); + vb = v564; v565 = (u)zmkirop; v566 = vic; - v567 = 20UL; + v567 = 20; v568 = va; v569 = vb; - v570 = ((u (*)())(v565))(v566, v567, v568, v569); -b219: vo = v570; + v570 = ((u(*)())v565)(v566, v567, v568, v569); + vo = v570; return vo; -b216: if ((vkind) != (47UL)) { goto b221; } -b220: v571 = (u)zexpr_to_ir; +b216: if (vkind != 47) goto b221; + v571 = (u)zexpr_to_ir; v572 = vic; - v573 = *(u *)((vn) + (8UL)); - v574 = ((u (*)())(v571))(v572, v573); -b222: va = v574; + v573 = *(u*)(vn + 8); + v574 = ((u(*)())v571)(v572, v573); + va = v574; v575 = (u)zexpr_to_ir; v576 = vic; - v577 = *(u *)((vn) + (16UL)); - v578 = ((u (*)())(v575))(v576, v577); -b223: vb = v578; + v577 = *(u*)(vn + 16); + v578 = ((u(*)())v575)(v576, v577); + vb = v578; v579 = (u)zmkirop; v580 = vic; - v581 = 19UL; + v581 = 19; v582 = va; v583 = vb; - v584 = ((u (*)())(v579))(v580, v581, v582, v583); -b224: vo = v584; + v584 = ((u(*)())v579)(v580, v581, v582, v583); + vo = v584; return vo; -b221: if ((vkind) != (59UL)) { goto b226; } -b225: v585 = (u)zexpr_to_ir; +b221: if (vkind != 59) goto b226; + v585 = (u)zexpr_to_ir; v586 = vic; - v587 = *(u *)((vn) + (8UL)); - v588 = ((u (*)())(v585))(v586, v587); -b227: va = v588; + v587 = *(u*)(vn + 8); + v588 = ((u(*)())v585)(v586, v587); + va = v588; v589 = (u)zexpr_to_ir; v590 = vic; - v591 = *(u *)((vn) + (16UL)); - v592 = ((u (*)())(v589))(v590, v591); -b228: vb = v592; + v591 = *(u*)(vn + 16); + v592 = ((u(*)())v589)(v590, v591); + vb = v592; v593 = (u)zmkirop; v594 = vic; - v595 = 15UL; + v595 = 15; v596 = va; v597 = vb; - v598 = ((u (*)())(v593))(v594, v595, v596, v597); -b229: vo = v598; + v598 = ((u(*)())v593)(v594, v595, v596, v597); + vo = v598; return vo; -b226: if ((vkind) != (60UL)) { goto b231; } -b230: v599 = (u)zexpr_to_ir; +b226: if (vkind != 60) goto b231; + v599 = (u)zexpr_to_ir; v600 = vic; - v601 = *(u *)((vn) + (8UL)); - v602 = ((u (*)())(v599))(v600, v601); -b232: va = v602; + v601 = *(u*)(vn + 8); + v602 = ((u(*)())v599)(v600, v601); + va = v602; v603 = (u)zexpr_to_ir; v604 = vic; - v605 = *(u *)((vn) + (16UL)); - v606 = ((u (*)())(v603))(v604, v605); -b233: vb = v606; + v605 = *(u*)(vn + 16); + v606 = ((u(*)())v603)(v604, v605); + vb = v606; v607 = (u)zmkirop; v608 = vic; - v609 = 16UL; + v609 = 16; v610 = va; v611 = vb; - v612 = ((u (*)())(v607))(v608, v609, v610, v611); -b234: vo = v612; + v612 = ((u(*)())v607)(v608, v609, v610, v611); + vo = v612; return vo; -b231: if ((vkind) != (48UL)) { goto b236; } -b235: v613 = (u)zexpr_to_ir; +b231: if (vkind != 48) goto b236; + v613 = (u)zexpr_to_ir; v614 = vic; - v615 = *(u *)((vn) + (8UL)); - v616 = ((u (*)())(v613))(v614, v615); -b237: va = v616; + v615 = *(u*)(vn + 8); + v616 = ((u(*)())v613)(v614, v615); + va = v616; v617 = (u)zexpr_to_ir; v618 = vic; - v619 = *(u *)((vn) + (16UL)); - v620 = ((u (*)())(v617))(v618, v619); -b238: vb = v620; + v619 = *(u*)(vn + 16); + v620 = ((u(*)())v617)(v618, v619); + vb = v620; v621 = (u)zmkirop; v622 = vic; - v623 = 17UL; + v623 = 17; v624 = va; v625 = vb; - v626 = ((u (*)())(v621))(v622, v623, v624, v625); -b239: vo = v626; + v626 = ((u(*)())v621)(v622, v623, v624, v625); + vo = v626; return vo; -b236: if ((vkind) != (49UL)) { goto b241; } -b240: v627 = (u)zexpr_to_ir; +b236: if (vkind != 49) goto b241; + v627 = (u)zexpr_to_ir; v628 = vic; - v629 = *(u *)((vn) + (8UL)); - v630 = ((u (*)())(v627))(v628, v629); -b242: va = v630; + v629 = *(u*)(vn + 8); + v630 = ((u(*)())v627)(v628, v629); + va = v630; v631 = (u)zexpr_to_ir; v632 = vic; - v633 = *(u *)((vn) + (16UL)); - v634 = ((u (*)())(v631))(v632, v633); -b243: vb = v634; + v633 = *(u*)(vn + 16); + v634 = ((u(*)())v631)(v632, v633); + vb = v634; v635 = (u)zmkirop; v636 = vic; - v637 = 18UL; + v637 = 18; v638 = va; v639 = vb; - v640 = ((u (*)())(v635))(v636, v637, v638, v639); -b244: vo = v640; + v640 = ((u(*)())v635)(v636, v637, v638, v639); + vo = v640; return vo; -b241: if ((vkind) != (53UL)) { goto b246; } -b245: v641 = (u)zexpr_to_ir; +b241: if (vkind != 53) goto b246; + v641 = (u)zexpr_to_ir; v642 = vic; - v643 = *(u *)((vn) + (8UL)); - v644 = ((u (*)())(v641))(v642, v643); -b247: va = v644; + v643 = *(u*)(vn + 8); + v644 = ((u(*)())v641)(v642, v643); + va = v644; v645 = (u)zexpr_to_ir; v646 = vic; - v647 = *(u *)((vn) + (16UL)); - v648 = ((u (*)())(v645))(v646, v647); -b248: vb = v648; + v647 = *(u*)(vn + 16); + v648 = ((u(*)())v645)(v646, v647); + vb = v648; v649 = (u)zmkirop; v650 = vic; - v651 = 12UL; + v651 = 12; v652 = va; v653 = vb; - v654 = ((u (*)())(v649))(v650, v651, v652, v653); -b249: vo = v654; + v654 = ((u(*)())v649)(v650, v651, v652, v653); + vo = v654; return vo; -b246: if ((vkind) != (54UL)) { goto b251; } -b250: v655 = (u)zexpr_to_ir; +b246: if (vkind != 54) goto b251; + v655 = (u)zexpr_to_ir; v656 = vic; - v657 = *(u *)((vn) + (8UL)); - v658 = ((u (*)())(v655))(v656, v657); -b252: va = v658; + v657 = *(u*)(vn + 8); + v658 = ((u(*)())v655)(v656, v657); + va = v658; v659 = (u)zexpr_to_ir; v660 = vic; - v661 = *(u *)((vn) + (16UL)); - v662 = ((u (*)())(v659))(v660, v661); -b253: vb = v662; + v661 = *(u*)(vn + 16); + v662 = ((u(*)())v659)(v660, v661); + vb = v662; v663 = (u)zmkirop; v664 = vic; - v665 = 13UL; + v665 = 13; v666 = va; v667 = vb; - v668 = ((u (*)())(v663))(v664, v665, v666, v667); -b254: vo = v668; + v668 = ((u(*)())v663)(v664, v665, v666, v667); + vo = v668; return vo; -b251: if ((vkind) != (55UL)) { goto b256; } -b255: v669 = (u)zexpr_to_ir; +b251: if (vkind != 55) goto b256; + v669 = (u)zexpr_to_ir; v670 = vic; - v671 = *(u *)((vn) + (8UL)); - v672 = ((u (*)())(v669))(v670, v671); -b257: va = v672; + v671 = *(u*)(vn + 8); + v672 = ((u(*)())v669)(v670, v671); + va = v672; v673 = (u)zexpr_to_ir; v674 = vic; - v675 = *(u *)((vn) + (16UL)); - v676 = ((u (*)())(v673))(v674, v675); -b258: vb = v676; + v675 = *(u*)(vn + 16); + v676 = ((u(*)())v673)(v674, v675); + vb = v676; v677 = (u)zmkirop; v678 = vic; - v679 = 14UL; + v679 = 14; v680 = va; v681 = vb; - v682 = ((u (*)())(v677))(v678, v679, v680, v681); -b259: vo = v682; + v682 = ((u(*)())v677)(v678, v679, v680, v681); + vo = v682; return vo; b256: v683 = (u)zcdie; - v684 = *(u *)(vic); + v684 = *(u*)vic; v685 = (u)"unknown expression"; - v686 = ((u (*)())(v683))(v684, v685); -b260: return 0UL; -b2: v18 = 1UL; + v686 = ((u(*)())v683)(v684, v685); + return 0; +b2: v18 = 1; goto b3; -b5: v19 = 1UL; +b5: v19 = 1; goto b6; } -u zfail(u vc) { +u zfail(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: if ((*(u *)((vc) + (128UL))) != (0UL)) { goto b1; } -b2: v1 = (u)zdie; + if (*(u*)(vc + 128) != 0) goto b1; + v1 = (u)zdie; v2 = (u)"fail underflow"; - v3 = ((u (*)())(v1))(v2); -b1: if ((s)(*(u *)((vc) + (144UL))) <= (s)(*(u *)((vc) + (80UL)))) { goto b5; } -b6: *(u *)((vc) + (80UL)) = *(u *)((vc) + (144UL)); - *(u *)((vc) + (88UL)) = *(u *)((vc) + (72UL)); - *(u *)((vc) + (96UL)) = *(u *)((vc) + (56UL)); - *(u *)((vc) + (104UL)) = *(u *)((vc) + (64UL)); - *(u *)((vc) + (112UL)) = 0UL; - goto b5; -b5: *(u *)((vc) + (128UL)) = (*(u *)((vc) + (128UL))) - (1UL); - *(u *)((vc) + (48UL)) = *(u *)((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))); - *(u *)((vc) + (144UL)) = *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (8UL)); - *(u *)((vc) + (152UL)) = *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (16UL)); - *(u *)((vc) + (72UL)) = *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (24UL)); - *(u *)((vc) + (56UL)) = *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (32UL)); - *(u *)((vc) + (64UL)) = *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (40UL)); - return 0UL; -} -u zfclose(u vf) { + v3 = ((u(*)())v1)(v2); +b1: if ((s)*(u*)(vc + 144) <= (s)*(u*)(vc + 80)) goto b5; + *(u*)(vc + 80) = *(u*)(vc + 144); + *(u*)(vc + 88) = *(u*)(vc + 72); + *(u*)(vc + 96) = *(u*)(vc + 56); + *(u*)(vc + 104) = *(u*)(vc + 64); + *(u*)(vc + 112) = 0; +b5: *(u*)(vc + 128) = *(u*)(vc + 128) - 1; + *(u*)(vc + 48) = *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48); + *(u*)(vc + 144) = *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 8); + *(u*)(vc + 152) = *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 16); + *(u*)(vc + 72) = *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 24); + *(u*)(vc + 56) = *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 32); + *(u*)(vc + 64) = *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 40); + return 0; +} +u zfclose(u vf){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -14871,27 +14595,27 @@ u zfclose(u vf) { u v15 = 0; u v16 = 0; u v17 = 0; -b0: v1 = (u)zfflush; + v1 = (u)zfflush; v2 = vf; - v3 = ((u (*)())(v1))(v2); -b1: v4 = (u)zclose; - v5 = *(u *)((vf) + (8UL)); - v6 = ((u (*)())(v4))(v5); -b5: if ((v6) == (0UL)) { goto b2; } -b3: v7 = (u)zdie; + v3 = ((u(*)())v1)(v2); + v4 = (u)zclose; + v5 = *(u*)(vf + 8); + v6 = ((u(*)())v4)(v5); + if (v6 == 0) goto b2; + v7 = (u)zdie; v8 = (u)"write failed"; - v9 = ((u (*)())(v7))(v8); + v9 = ((u(*)())v7)(v8); b2: v10 = (u)zfree; - v11 = *(u *)(vf); - v12 = *(u *)((vf) + (16UL)); - v13 = ((u (*)())(v10))(v11, v12); -b7: v14 = (u)zfree; - v15 = *(u *)(vf); + v11 = *(u*)vf; + v12 = *(u*)(vf + 16); + v13 = ((u(*)())v10)(v11, v12); + v14 = (u)zfree; + v15 = *(u*)vf; v16 = vf; - v17 = ((u (*)())(v14))(v15, v16); -b8: return 0UL; + v17 = ((u(*)())v14)(v15, v16); + return 0; } -u zffill(u vf) { +u zffill(u vf){ u vret = 0; u v2 = 0; u v3 = 0; @@ -14904,33 +14628,31 @@ u zffill(u vf) { u v10 = 0; u v11 = 0; u v12 = 0; -b0: if (!(*(u *)((vf) + (48UL)))) { goto b1; } -b2: return 0UL; -b1: if ((*(u *)((vf) + (24UL))) != (*(u *)((vf) + (32UL)))) { goto b4; } -b5: *(u *)((vf) + (24UL)) = 0UL; - *(u *)((vf) + (32UL)) = 0UL; - goto b4; -b4: if ((*(u *)((vf) + (32UL))) != (*(u *)((vf) + (40UL)))) { goto b7; } -b8: v2 = (u)zdie; + if (!*(u*)(vf + 48)) goto b1; + return 0; +b1: if (*(u*)(vf + 24) != *(u*)(vf + 32)) goto b4; + *(u*)(vf + 24) = 0; + *(u*)(vf + 32) = 0; +b4: if (*(u*)(vf + 32) != *(u*)(vf + 40)) goto b7; + v2 = (u)zdie; v3 = (u)"out of space"; - v4 = ((u (*)())(v2))(v3); + v4 = ((u(*)())v2)(v3); b7: v5 = (u)zread; - v6 = *(u *)((vf) + (8UL)); - v7 = (*(u *)((vf) + (16UL))) + (*(u *)((vf) + (32UL))); - v8 = (*(u *)((vf) + (40UL))) - (*(u *)((vf) + (32UL))); - v9 = ((u (*)())(v5))(v6, v7, v8); -b11: vret = v9; - if ((s)(vret) >= (s)(0UL)) { goto b12; } -b13: v10 = (u)zdie; + v6 = *(u*)(vf + 8); + v7 = *(u*)(vf + 16) + *(u*)(vf + 32); + v8 = *(u*)(vf + 40) - *(u*)(vf + 32); + v9 = ((u(*)())v5)(v6, v7, v8); + vret = v9; + if ((s)vret >= (s)0) goto b12; + v10 = (u)zdie; v11 = (u)"read failed"; - v12 = ((u (*)())(v10))(v11); -b12: if ((vret) != (0UL)) { goto b16; } -b17: *(u *)((vf) + (48UL)) = 1UL; - goto b16; -b16: *(u *)((vf) + (32UL)) = (*(u *)((vf) + (32UL))) + (vret); - return 0UL; + v12 = ((u(*)())v10)(v11); +b12: if (vret != 0) goto b16; + *(u*)(vf + 48) = 1; +b16: *(u*)(vf + 32) = *(u*)(vf + 32) + vret; + return 0; } -u zfflush(u vf) { +u zfflush(u vf){ u vret = 0; u v2 = 0; u v3 = 0; @@ -14940,43 +14662,42 @@ u zfflush(u vf) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: goto b1; -b1: if ((*(u *)((vf) + (24UL))) != (*(u *)((vf) + (32UL)))) { goto b3; } -b4: *(u *)((vf) + (24UL)) = 0UL; - *(u *)((vf) + (32UL)) = 0UL; - return 0UL; +b1: if (*(u*)(vf + 24) != *(u*)(vf + 32)) goto b3; + *(u*)(vf + 24) = 0; + *(u*)(vf + 32) = 0; + return 0; b3: v2 = (u)zwrite; - v3 = *(u *)((vf) + (8UL)); - v4 = (*(u *)((vf) + (16UL))) + (*(u *)((vf) + (24UL))); - v5 = (*(u *)((vf) + (32UL))) - (*(u *)((vf) + (24UL))); - v6 = ((u (*)())(v2))(v3, v4, v5); -b6: vret = v6; - if ((s)(vret) >= (s)(0UL)) { goto b7; } -b8: v7 = (u)zdie; + v3 = *(u*)(vf + 8); + v4 = *(u*)(vf + 16) + *(u*)(vf + 24); + v5 = *(u*)(vf + 32) - *(u*)(vf + 24); + v6 = ((u(*)())v2)(v3, v4, v5); + vret = v6; + if ((s)vret >= (s)0) goto b7; + v7 = (u)zdie; v8 = (u)"write failed"; - v9 = ((u (*)())(v7))(v8); -b7: *(u *)((vf) + (24UL)) = (*(u *)((vf) + (24UL))) + (vret); + v9 = ((u(*)())v7)(v8); +b7: *(u*)(vf + 24) = *(u*)(vf + 24) + vret; goto b1; } -u zfgetc(u vf) { +u zfgetc(u vf){ u vch = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: if ((*(u *)((vf) + (24UL))) != (*(u *)((vf) + (32UL)))) { goto b1; } -b2: v2 = (u)zffill; + if (*(u*)(vf + 24) != *(u*)(vf + 32)) goto b1; + v2 = (u)zffill; v3 = vf; - v4 = ((u (*)())(v2))(v3); -b1: if (!(*(u *)((vf) + (48UL)))) { goto b5; } -b6: return -1UL; -b5: vch = (u)*(b *)((*(u *)((vf) + (16UL))) + (*(u *)((vf) + (24UL)))); - *(u *)((vf) + (24UL)) = (*(u *)((vf) + (24UL))) + (1UL); + v4 = ((u(*)())v2)(v3); +b1: if (!*(u*)(vf + 48)) goto b5; + return -1UL; +b5: vch = (u)*(b*)(*(u*)(vf + 16) + *(u*)(vf + 24)); + *(u*)(vf + 24) = *(u*)(vf + 24) + 1; return vch; } -u zfillpos(u vc, u vn) { -b0: return 0UL; +u zfillpos(u vc, u vn){ + return 0; } -u zfind(u vc, u vname, u vmember_name, u vmake) { +u zfind(u vc, u vname, u vmember_name, u vmake){ u vlink = 0; u vp = 0; u vd = 0; @@ -15012,167 +14733,155 @@ u zfind(u vc, u vname, u vmember_name, u vmake) { u v36 = 0; u v37 = 0; u v38 = 0; -b0: vp = 0UL; - vlink = (vc) + (56UL); - goto b1; -b1: vd = *(u *)(vlink); - if (!(vd)) { goto b7; } -b6: v8 = 0UL; - goto b8; -b8: if (!(v8)) { goto b3; } -b2: if (!(vmake)) { goto b46; } -b45: v22 = 0UL; - goto b47; -b47: if (!(v22)) { goto b42; } -b43: return 0UL; + vp = 0; + vlink = vc + 56; +b1: vd = *(u*)vlink; + if (!vd) goto b7; + v8 = 0; +b8: if (!v8) goto b3; + if (!vmake) goto b46; + v22 = 0; +b47: if (!v22) goto b42; + return 0; b42: v23 = (u)zalloc; - v24 = *(u *)(vc); - v25 = 224UL; - v26 = ((u (*)())(v23))(v24, v25); -b48: vd = v26; - *(u *)((vd) + (32UL)) = vname; - *(u *)((vd) + (40UL)) = vmember_name; + v24 = *(u*)vc; + v25 = 224; + v26 = ((u(*)())v23)(v24, v25); + vd = v26; + *(u*)(vd + 32) = vname; + *(u*)(vd + 40) = vmember_name; v27 = (u)zrb_link; - v28 = (vc) + (56UL); + v28 = vc + 56; v29 = vlink; v30 = vp; v31 = vd; - v32 = ((u (*)())(v27))(v28, v29, v30, v31); -b49: *(u *)((vd) + (48UL)) = 0UL; - *(u *)((vd) + (72UL)) = 0UL; - *(u *)((vd) + (80UL)) = 0UL; + v32 = ((u(*)())v27)(v28, v29, v30, v31); + *(u*)(vd + 48) = 0; + *(u*)(vd + 72) = 0; + *(u*)(vd + 80) = 0; v33 = (u)zmklabel; - v34 = *(u *)((vc) + (48UL)); - v35 = ((u (*)())(v33))(v34); -b50: *(u *)((vd) + (88UL)) = v35; - *(u *)((vd) + (96UL)) = 0UL; - *(u *)((vd) + (112UL)) = 0UL; - *(u *)((vd) + (120UL)) = 0UL; - *(u *)((vd) + (128UL)) = 0UL; - *(u *)((vd) + (152UL)) = 0UL; - *(u *)((vd) + (160UL)) = 0UL; - *(u *)((vd) + (168UL)) = 0UL; - *(u *)((vd) + (176UL)) = 0UL; - *(u *)((vd) + (184UL)) = 0UL; - *(u *)((vd) + (192UL)) = 0UL; - *(u *)((vd) + (200UL)) = 0UL; - *(u *)((vd) + (208UL)) = 0UL; + v34 = *(u*)(vc + 48); + v35 = ((u(*)())v33)(v34); + *(u*)(vd + 88) = v35; + *(u*)(vd + 96) = 0; + *(u*)(vd + 112) = 0; + *(u*)(vd + 120) = 0; + *(u*)(vd + 128) = 0; + *(u*)(vd + 152) = 0; + *(u*)(vd + 160) = 0; + *(u*)(vd + 168) = 0; + *(u*)(vd + 176) = 0; + *(u*)(vd + 184) = 0; + *(u*)(vd + 192) = 0; + *(u*)(vd + 200) = 0; + *(u*)(vd + 208) = 0; v36 = (u)zmklabel; - v37 = *(u *)((vc) + (48UL)); - v38 = ((u (*)())(v36))(v37); -b51: *(u *)((vd) + (216UL)) = v38; + v37 = *(u*)(vc + 48); + v38 = ((u(*)())v36)(v37); + *(u*)(vd + 216) = v38; return vd; -b46: v22 = 1UL; +b46: v22 = 1; goto b47; b3: v9 = (u)zstrcmp; v10 = vname; - v11 = *(u *)((vd) + (32UL)); - v12 = ((u (*)())(v9))(v10, v11); -b9: vdir = v12; - if ((vdir) != (0UL)) { goto b10; } -b11: if (!(vmember_name)) { goto b21; } -b20: v14 = 0UL; - goto b22; -b22: if (!(v14)) { goto b17; } -b16: if (!(*(u *)((vd) + (40UL)))) { goto b24; } -b23: v15 = 0UL; - goto b25; -b25: if (!(v15)) { goto b17; } -b18: v13 = 1UL; - goto b19; -b19: if (!(v13)) { goto b15; } -b14: vdir = 0UL; - goto b10; -b10: if ((s)(vdir) >= (s)(0UL)) { goto b39; } -b38: vlink = (vd) + (16UL); + v11 = *(u*)(vd + 32); + v12 = ((u(*)())v9)(v10, v11); + vdir = v12; + if (vdir != 0) goto b10; + if (!vmember_name) goto b21; + v14 = 0; +b22: if (!v14) goto b17; + if (!*(u*)(vd + 40)) goto b24; + v15 = 0; +b25: if (!v15) goto b17; + v13 = 1; +b19: if (!v13) goto b15; + vdir = 0; +b10: if ((s)vdir >= (s)0) goto b39; + vlink = vd + 16; vp = vd; goto b1; -b39: if ((s)(vdir) <= (s)(0UL)) { goto b41; } -b40: vlink = (vd) + (24UL); +b39: if ((s)vdir <= (s)0) goto b41; + vlink = vd + 24; vp = vd; goto b1; b41: return vd; -b15: if (!(vmember_name)) { goto b29; } -b28: v16 = 0UL; - goto b30; -b30: if (!(v16)) { goto b27; } -b26: vdir = -1UL; +b15: if (!vmember_name) goto b29; + v16 = 0; +b30: if (!v16) goto b27; + vdir = -1UL; goto b10; -b27: if (!(*(u *)((vd) + (40UL)))) { goto b34; } -b33: v17 = 0UL; - goto b35; -b35: if (!(v17)) { goto b32; } -b31: vdir = 1UL; +b27: if (!*(u*)(vd + 40)) goto b34; + v17 = 0; +b35: if (!v17) goto b32; + vdir = 1; goto b10; b32: v18 = (u)zstrcmp; v19 = vmember_name; - v20 = *(u *)((vd) + (40UL)); - v21 = ((u (*)())(v18))(v19, v20); -b36: vdir = v21; + v20 = *(u*)(vd + 40); + v21 = ((u(*)())v18)(v19, v20); + vdir = v21; goto b10; -b34: v17 = 1UL; +b34: v17 = 1; goto b35; -b29: v16 = 1UL; +b29: v16 = 1; goto b30; -b17: v13 = 0UL; +b17: v13 = 0; goto b19; -b24: v15 = 1UL; +b24: v15 = 1; goto b25; -b21: v14 = 1UL; +b21: v14 = 1; goto b22; -b7: v8 = 1UL; +b7: v8 = 1; goto b8; } -u zfind_section(u vc, u vname) { +u zfind_section(u vc, u vname){ u vn = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; u v7 = 0; -b0: vn = *(u *)((vc) + (64UL)); - goto b1; -b1: if (!(vn)) { goto b7; } -b6: v3 = 0UL; - goto b8; -b8: if (!(v3)) { goto b3; } + vn = *(u*)(vc + 64); +b1: if (!vn) goto b7; + v3 = 0; +b8: if (!v3) goto b3; b2: return vn; b3: v4 = (u)zstrcmp; - v5 = *(u *)((vn) + (8UL)); + v5 = *(u*)(vn + 8); v6 = vname; - v7 = ((u (*)())(v4))(v5, v6); -b12: if ((v7) != (0UL)) { goto b9; } + v7 = ((u(*)())v4)(v5, v6); + if (v7 != 0) goto b9; goto b2; -b9: vn = *(u *)(vn); +b9: vn = *(u*)vn; goto b1; -b7: v3 = 1UL; +b7: v3 = 1; goto b8; } -u zfirst_decl(u vc) { +u zfirst_decl(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: if (!(*(u *)((vc) + (56UL)))) { goto b5; } -b4: v1 = 0UL; - goto b6; -b6: if (!(v1)) { goto b1; } -b2: return 0UL; + if (!*(u*)(vc + 56)) goto b5; + v1 = 0; +b6: if (!v1) goto b1; + return 0; b1: v2 = (u)zrb_first; - v3 = *(u *)((vc) + (56UL)); - v4 = ((u (*)())(v2))(v3); -b7: return v4; -b5: v1 = 1UL; + v3 = *(u*)(vc + 56); + v4 = ((u(*)())v2)(v3); + return v4; +b5: v1 = 1; goto b6; } -u zfixup(u vc, u vhere, u vdelta) { -b0: *(b *)(vhere) = vdelta; - *(b *)((vhere) + (1UL)) = (vdelta) >> (8UL); - *(b *)((vhere) + (2UL)) = (vdelta) >> (16UL); - *(b *)((vhere) + (3UL)) = (vdelta) >> (24UL); - return 0UL; +u zfixup(u vc, u vhere, u vdelta){ + *(b*)vhere = vdelta; + *(b*)(vhere + 1) = vdelta >> 8; + *(b*)(vhere + 2) = vdelta >> 16; + *(b*)(vhere + 3) = vdelta >> 24; + return 0; } -u zfixup_label(u vc, u vl) { +u zfixup_label(u vc, u vl){ u vf = 0; u v3 = 0; u v4 = 0; @@ -15183,30 +14892,28 @@ u zfixup_label(u vc, u vl) { u v9 = 0; u v10 = 0; u v11 = 0; -b0: if (!(*(u *)((vl) + (16UL)))) { goto b1; } -b2: v3 = (u)zdie; + if (!*(u*)(vl + 16)) goto b1; + v3 = (u)zdie; v4 = (u)"already fixed"; - v5 = ((u (*)())(v3))(v4); -b1: *(u *)((vl) + (8UL)) = *(u *)((vc) + (24UL)); - *(u *)((vl) + (16UL)) = 1UL; - vf = *(u *)(vl); - goto b5; -b5: if (!(vf)) { goto b11; } -b10: v6 = 0UL; - goto b12; -b12: if (!(v6)) { goto b7; } -b6: return 0UL; + v5 = ((u(*)())v3)(v4); +b1: *(u*)(vl + 8) = *(u*)(vc + 24); + *(u*)(vl + 16) = 1; + vf = *(u*)vl; +b5: if (!vf) goto b11; + v6 = 0; +b12: if (!v6) goto b7; + return 0; b7: v7 = (u)zfixup; v8 = vc; - v9 = *(u *)((vf) + (8UL)); - v10 = (*(u *)((vl) + (8UL))) - (*(u *)((vf) + (16UL))); - v11 = ((u (*)())(v7))(v8, v9, v10); -b13: vf = *(u *)(vf); + v9 = *(u*)(vf + 8); + v10 = *(u*)(vl + 8) - *(u*)(vf + 16); + v11 = ((u(*)())v7)(v8, v9, v10); + vf = *(u*)vf; goto b5; -b11: v6 = 1UL; +b11: v6 = 1; goto b12; } -u zfopen(u vfd, u va) { +u zfopen(u vfd, u va){ u vf = 0; u v3 = 0; u v4 = 0; @@ -15216,25 +14923,25 @@ u zfopen(u vfd, u va) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: v3 = (u)zalloc; + v3 = (u)zalloc; v4 = va; - v5 = 64UL; - v6 = ((u (*)())(v3))(v4, v5); -b1: vf = v6; - *(u *)((vf) + (8UL)) = vfd; - *(u *)(vf) = va; - *(u *)((vf) + (24UL)) = 0UL; - *(u *)((vf) + (32UL)) = 0UL; - *(u *)((vf) + (40UL)) = 65536UL; - *(u *)((vf) + (48UL)) = 0UL; + v5 = 64; + v6 = ((u(*)())v3)(v4, v5); + vf = v6; + *(u*)(vf + 8) = vfd; + *(u*)vf = va; + *(u*)(vf + 24) = 0; + *(u*)(vf + 32) = 0; + *(u*)(vf + 40) = 65536UL; + *(u*)(vf + 48) = 0; v7 = (u)zalloc; v8 = va; - v9 = *(u *)((vf) + (40UL)); - v10 = ((u (*)())(v7))(v8, v9); -b2: *(u *)((vf) + (16UL)) = v10; + v9 = *(u*)(vf + 40); + v10 = ((u(*)())v7)(v8, v9); + *(u*)(vf + 16) = v10; return vf; } -u zfputc(u vf, u vch) { +u zfputc(u vf, u vch){ u vb = 0; u v3 = 0; u v4 = 0; @@ -15253,47 +14960,44 @@ u zfputc(u vf, u vch) { u v17 = 0; u v18 = 0; u v19 = 0; -b0: if (!(vf)) { goto b5; } -b4: v3 = 0UL; - goto b6; -b6: if (!(v3)) { goto b1; } -b2: vb = vch; + if (!vf) goto b5; + v3 = 0; +b6: if (!v3) goto b1; + vb = vch; v4 = (u)zwrite; - v5 = 1UL; + v5 = 1; v6 = (u)&vb; - v7 = 1UL; - v8 = ((u (*)())(v4))(v5, v6, v7); -b10: if ((v8) == (1UL)) { goto b7; } -b8: v9 = (u)zexit; - v10 = 3UL; - v11 = ((u (*)())(v9))(v10); -b7: return 0UL; -b1: if ((*(u *)((vf) + (32UL))) != (*(u *)((vf) + (40UL)))) { goto b12; } -b13: v12 = (u)zfflush; + v7 = 1; + v8 = ((u(*)())v4)(v5, v6, v7); + if (v8 == 1) goto b7; + v9 = (u)zexit; + v10 = 3; + v11 = ((u(*)())v9)(v10); +b7: return 0; +b1: if (*(u*)(vf + 32) != *(u*)(vf + 40)) goto b12; + v12 = (u)zfflush; v13 = vf; - v14 = ((u (*)())(v12))(v13); -b12: *(b *)((*(u *)((vf) + (16UL))) + (*(u *)((vf) + (32UL)))) = vch; - *(u *)((vf) + (32UL)) = (*(u *)((vf) + (32UL))) + (1UL); - if ((vch) != (10UL)) { goto b20; } -b19: if (!(*(u *)((vf) + (56UL)))) { goto b24; } -b23: v16 = 0UL; - goto b25; -b25: if (!(v16)) { goto b20; } -b21: v15 = 1UL; - goto b22; -b22: if (!(v15)) { goto b16; } -b17: v17 = (u)zfflush; + v14 = ((u(*)())v12)(v13); +b12: *(b*)(*(u*)(vf + 16) + *(u*)(vf + 32)) = vch; + *(u*)(vf + 32) = *(u*)(vf + 32) + 1; + if (vch != 10) goto b20; + if (!*(u*)(vf + 56)) goto b24; + v16 = 0; +b25: if (!v16) goto b20; + v15 = 1; +b22: if (!v15) goto b16; + v17 = (u)zfflush; v18 = vf; - v19 = ((u (*)())(v17))(v18); -b16: return 0UL; -b20: v15 = 0UL; + v19 = ((u(*)())v17)(v18); +b16: return 0; +b20: v15 = 0; goto b22; -b24: v16 = 1UL; +b24: v16 = 1; goto b25; -b5: v3 = 1UL; +b5: v3 = 1; goto b6; } -u zfputd(u vout, u vn) { +u zfputd(u vout, u vn){ u va = 0; u v3 = 0; u v4 = 0; @@ -15307,29 +15011,28 @@ u zfputd(u vout, u vn) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: if ((s)(vn) >= (s)(0UL)) { goto b3; } -b2: v3 = (u)zfputc; + if ((s)vn >= (s)0) goto b3; + v3 = (u)zfputc; v4 = vout; - v5 = 45UL; - v6 = ((u (*)())(v3))(v4, v5); -b4: va = -((u)(((s)(vn)) % ((s)(10UL)))); - vn = (u)(((s)(vn)) / ((s)(-10UL))); - goto b1; -b1: if ((vn) == (0UL)) { goto b5; } -b6: v7 = (u)zfputd; + v5 = 45; + v6 = ((u(*)())v3)(v4, v5); + va = -(u)((s)vn % (s)10); + vn = (u)((s)vn / (s)-10UL); +b1: if (vn == 0) goto b5; + v7 = (u)zfputd; v8 = vout; v9 = vn; - v10 = ((u (*)())(v7))(v8, v9); + v10 = ((u(*)())v7)(v8, v9); b5: v11 = (u)zfputc; v12 = vout; - v13 = (48UL) + (va); - v14 = ((u (*)())(v11))(v12, v13); -b9: return 0UL; -b3: va = (u)(((s)(vn)) % ((s)(10UL))); - vn = (u)(((s)(vn)) / ((s)(10UL))); + v13 = 48 + va; + v14 = ((u(*)())v11)(v12, v13); + return 0; +b3: va = (u)((s)vn % (s)10); + vn = (u)((s)vn / (s)10); goto b1; } -u zfputh(u vout, u vn) { +u zfputh(u vout, u vn){ u vd = 0; u v3 = 0; u v4 = 0; @@ -15339,43 +15042,41 @@ u zfputh(u vout, u vn) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: vd = (vn) & (15UL); - vn = (vn) >> (4UL); - if (!(vn)) { goto b1; } -b2: v3 = (u)zfputh; + vd = vn & 15; + vn = vn >> 4; + if (!vn) goto b1; + v3 = (u)zfputh; v4 = vout; v5 = vn; - v6 = ((u (*)())(v3))(v4, v5); + v6 = ((u(*)())v3)(v4, v5); b1: v7 = (u)zfputc; v8 = vout; - v9 = (u)*(b *)(((u)"0123456789abcdef") + (vd)); - v10 = ((u (*)())(v7))(v8, v9); -b5: return 0UL; + v9 = (u)*(b*)((u)"0123456789abcdef" + vd); + v10 = ((u(*)())v7)(v8, v9); + return 0; } -u zfputs(u vf, u vs) { +u zfputs(u vf, u vs){ u vi = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; u v7 = 0; -b0: vi = 0UL; - goto b1; -b1: if (!((u)*(b *)((vs) + (vi)))) { goto b7; } -b6: v3 = 0UL; - goto b8; -b8: if (!(v3)) { goto b3; } -b2: return 0UL; + vi = 0; +b1: if (!(u)*(b*)(vs + vi)) goto b7; + v3 = 0; +b8: if (!v3) goto b3; + return 0; b3: v4 = (u)zfputc; v5 = vf; - v6 = (u)*(b *)((vs) + (vi)); - v7 = ((u (*)())(v4))(v5, v6); -b9: vi = (vi) + (1UL); + v6 = (u)*(b*)(vs + vi); + v7 = ((u(*)())v4)(v5, v6); + vi = vi + 1; goto b1; -b7: v3 = 1UL; +b7: v3 = 1; goto b8; } -u zfreadall(u vf, u vsize) { +u zfreadall(u vf, u vsize){ u vi = 0; u vcap = 0; u vret = 0; @@ -15401,50 +15102,48 @@ u zfreadall(u vf, u vsize) { u v24 = 0; u v25 = 0; u v26 = 0; -b0: vi = 0UL; - vcap = 0UL; - goto b1; + vi = 0; + vcap = 0; b1: v7 = (u)zfgetc; v8 = vf; - v9 = ((u (*)())(v7))(v8); -b3: vch = v9; - if ((vch) != (-1UL)) { goto b4; } -b5: *(u *)(vsize) = vi; + v9 = ((u(*)())v7)(v8); + vch = v9; + if (vch != -1UL) goto b4; + *(u*)vsize = vi; return vret; -b4: if ((vi) != (vcap)) { goto b7; } -b8: if ((vcap) != (0UL)) { goto b12; } -b11: vcap = 4096UL; +b4: if (vi != vcap) goto b7; + if (vcap != 0) goto b12; + vcap = 4096; v10 = (u)zalloc; - v11 = *(u *)(vf); + v11 = *(u*)vf; v12 = vcap; - v13 = ((u (*)())(v10))(v11, v12); -b13: vret = v13; - goto b7; -b7: *(b *)((vret) + (vi)) = vch; - vi = (vi) + (1UL); + v13 = ((u(*)())v10)(v11, v12); + vret = v13; +b7: *(b*)(vret + vi) = vch; + vi = vi + 1; goto b1; -b12: vcap = (vcap) * (2UL); +b12: vcap = vcap * 2; v14 = (u)zalloc; - v15 = *(u *)(vf); + v15 = *(u*)vf; v16 = vcap; - v17 = ((u (*)())(v14))(v15, v16); -b14: vtmp = v17; + v17 = ((u(*)())v14)(v15, v16); + vtmp = v17; v18 = (u)zmemcpy; v19 = vtmp; v20 = vret; v21 = vi; - v22 = ((u (*)())(v18))(v19, v20, v21); -b15: v23 = (u)zfree; - v24 = *(u *)(vf); + v22 = ((u(*)())v18)(v19, v20, v21); + v23 = (u)zfree; + v24 = *(u*)vf; v25 = vret; - v26 = ((u (*)())(v23))(v24, v25); -b16: vret = vtmp; + v26 = ((u(*)())v23)(v24, v25); + vret = vtmp; goto b7; } -u zfree(u va, u vp) { -b0: return 0UL; +u zfree(u va, u vp){ + return 0; } -u zfunc_to_ir(u vc, u vn) { +u zfunc_to_ir(u vc, u vn){ u vic = 0; u vvalue = 0; u vt = 0; @@ -15481,55 +15180,54 @@ u zfunc_to_ir(u vc, u vn) { u v35 = 0; u v36 = 0; u v37 = 0; -b0: if (!(vn)) { goto b5; } -b4: v5 = 0UL; - goto b6; -b6: if (!(v5)) { goto b1; } -b2: return 0UL; + if (!vn) goto b5; + v5 = 0; +b6: if (!v5) goto b1; + return 0; b1: v6 = (u)zmkirfunc; v7 = vc; - v8 = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (8UL))) + (56UL)); - v9 = ((u (*)())(v6))(v7, v8); -b7: vic = v9; - *(u *)((vic) + (32UL)) = *(u *)((vn) + (24UL)); - *(u *)((vic) + (40UL)) = *(u *)((vn) + (32UL)); - *(u *)((vic) + (48UL)) = *(u *)((vn) + (40UL)); + v8 = *(u*)(*(u*)(*(u*)(vn + 8) + 8) + 56); + v9 = ((u(*)())v6)(v7, v8); + vic = v9; + *(u*)(vic + 32) = *(u*)(vn + 24); + *(u*)(vic + 40) = *(u*)(vn + 32); + *(u*)(vic + 48) = *(u*)(vn + 40); v10 = (u)zargs_to_ir; v11 = vic; - v12 = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (16UL))) + (8UL)); - v13 = ((u (*)())(v10))(v11, v12); -b8: v14 = (u)zlocals_to_ir; + v12 = *(u*)(*(u*)(*(u*)(vn + 8) + 16) + 8); + v13 = ((u(*)())v10)(v11, v12); + v14 = (u)zlocals_to_ir; v15 = vic; - v16 = *(u *)((vn) + (16UL)); - v17 = ((u (*)())(v14))(v15, v16); -b9: v18 = (u)zlabels_to_ir; + v16 = *(u*)(vn + 16); + v17 = ((u(*)())v14)(v15, v16); + v18 = (u)zlabels_to_ir; v19 = vic; - v20 = *(u *)((vn) + (16UL)); - v21 = ((u (*)())(v18))(v19, v20); -b10: v22 = (u)zstmt_to_ir; + v20 = *(u*)(vn + 16); + v21 = ((u(*)())v18)(v19, v20); + v22 = (u)zstmt_to_ir; v23 = vic; - v24 = *(u *)((vn) + (16UL)); - v25 = ((u (*)())(v22))(v23, v24); -b11: v26 = (u)zprototype; + v24 = *(u*)(vn + 16); + v25 = ((u(*)())v22)(v23, v24); + v26 = (u)zprototype; v27 = vc; - v28 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v29 = ((u (*)())(v26))(v27, v28); -b12: vt = v29; - if ((*(u *)(*(u *)((vt) + (16UL)))) != (1UL)) { goto b13; } -b14: v30 = (u)zmkirconst; + v28 = *(u*)(*(u*)(vn + 8) + 16); + v29 = ((u(*)())v26)(v27, v28); + vt = v29; + if (*(u*)*(u*)(vt + 16) != 1) goto b13; + v30 = (u)zmkirconst; v31 = vic; - v32 = 0UL; - v33 = ((u (*)())(v30))(v31, v32); -b16: vvalue = v33; + v32 = 0; + v33 = ((u(*)())v30)(v31, v32); + vvalue = v33; v34 = (u)zirreturn; v35 = vic; v36 = vvalue; - v37 = ((u (*)())(v34))(v35, v36); + v37 = ((u(*)())v34)(v35, v36); b13: return vic; -b5: v5 = 1UL; +b5: v5 = 1; goto b6; } -u zgather_include(u vc, u vfilename, u vslen) { +u zgather_include(u vc, u vfilename, u vslen){ u vfd = 0; u vblob = 0; u v5 = 0; @@ -15549,140 +15247,131 @@ u zgather_include(u vc, u vfilename, u vslen) { u v19 = 0; u v20 = 0; u v21 = 0; -b0: v5 = (u)zopen; + v5 = (u)zopen; v6 = vfilename; - v7 = 0UL; - v8 = 0UL; - v9 = ((u (*)())(v5))(v6, v7, v8); -b1: vfd = v9; - if ((s)(vfd) >= (s)(0UL)) { goto b2; } -b3: v10 = (u)zcdie; + v7 = 0; + v8 = 0; + v9 = ((u(*)())v5)(v6, v7, v8); + vfd = v9; + if ((s)vfd >= (s)0) goto b2; + v10 = (u)zcdie; v11 = vc; v12 = (u)"gather_include: failed to open include"; - v13 = ((u (*)())(v10))(v11, v12); + v13 = ((u(*)())v10)(v11, v12); b2: v14 = (u)zreadall; v15 = vfd; v16 = vslen; - v17 = *(u *)(vc); - v18 = ((u (*)())(v14))(v15, v16, v17); -b6: vblob = v18; + v17 = *(u*)vc; + v18 = ((u(*)())v14)(v15, v16, v17); + vblob = v18; v19 = (u)zclose; v20 = vfd; - v21 = ((u (*)())(v19))(v20); -b7: return vblob; + v21 = ((u(*)())v19)(v20); + return vblob; } -u zget(u vc) { +u zget(u vc){ u vch = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: if ((*(u *)((vc) + (48UL))) != (*(u *)((vc) + (40UL)))) { goto b1; } -b2: return -1UL; -b1: vch = (u)*(b *)((*(u *)((vc) + (32UL))) + (*(u *)((vc) + (48UL)))); - *(u *)((vc) + (48UL)) = (*(u *)((vc) + (48UL))) + (1UL); - *(u *)((vc) + (64UL)) = (*(u *)((vc) + (64UL))) + (1UL); - if ((vch) != (10UL)) { goto b4; } -b5: *(u *)((vc) + (64UL)) = 1UL; - *(u *)((vc) + (56UL)) = (*(u *)((vc) + (56UL))) + (1UL); - goto b4; -b4: if ((vch) != (0UL)) { goto b7; } -b8: v2 = (u)zdie; + if (*(u*)(vc + 48) != *(u*)(vc + 40)) goto b1; + return -1UL; +b1: vch = (u)*(b*)(*(u*)(vc + 32) + *(u*)(vc + 48)); + *(u*)(vc + 48) = *(u*)(vc + 48) + 1; + *(u*)(vc + 64) = *(u*)(vc + 64) + 1; + if (vch != 10) goto b4; + *(u*)(vc + 64) = 1; + *(u*)(vc + 56) = *(u*)(vc + 56) + 1; +b4: if (vch != 0) goto b7; + v2 = (u)zdie; v3 = (u)"invalid nul in source"; - v4 = ((u (*)())(v2))(v3); + v4 = ((u(*)())v2)(v3); b7: return vch; } -u zhex2int(u vs, u vlen, u vok) { +u zhex2int(u vs, u vlen, u vok){ u vi = 0; u vx = 0; u vd = 0; u v6 = 0; u v7 = 0; u v8 = 0; -b0: vx = 0UL; - vi = 0UL; - goto b1; -b1: if ((vi) != (vlen)) { goto b3; } -b2: *(u *)(vok) = 1UL; + vx = 0; + vi = 0; +b1: if (vi != vlen) goto b3; + *(u*)vok = 1; return vx; -b3: vd = (u)*(b *)((vs) + (vi)); - if ((vd) != (95UL)) { goto b8; } -b7: vi = (vi) + (1UL); +b3: vd = (u)*(b*)(vs + vi); + if (vd != 95) goto b8; + vi = vi + 1; goto b1; -b8: if ((s)(vd) < (s)(48UL)) { goto b12; } -b11: if ((s)(vd) > (s)(57UL)) { goto b12; } -b13: v6 = 1UL; - goto b14; -b14: if (!(v6)) { goto b10; } -b9: vd = (vd) - (48UL); - goto b6; -b6: if ((s)(vx) <= (s)(576460752303423487UL)) { goto b27; } -b28: *(u *)(vok) = 0UL; - return 0UL; -b27: vx = (vx) * (16UL); - if ((s)(vx) <= (s)((9223372036854775807UL) - (vd))) { goto b30; } -b31: *(u *)(vok) = 0UL; - return 0UL; -b30: vx = (vx) + (vd); - vi = (vi) + (1UL); +b8: if ((s)vd < (s)48) goto b12; + if ((s)vd > (s)57) goto b12; + v6 = 1; +b14: if (!v6) goto b10; + vd = vd - 48; +b6: if ((s)vx <= (s)576460752303423487UL) goto b27; + *(u*)vok = 0; + return 0; +b27: vx = vx * 16; + if ((s)vx <= (s)(9223372036854775807UL - vd)) goto b30; + *(u*)vok = 0; + return 0; +b30: vx = vx + vd; + vi = vi + 1; goto b1; -b10: if ((s)(vd) < (s)(97UL)) { goto b18; } -b17: if ((s)(vd) > (s)(102UL)) { goto b18; } -b19: v7 = 1UL; - goto b20; -b20: if (!(v7)) { goto b16; } -b15: vd = ((vd) - (97UL)) + (10UL); +b10: if ((s)vd < (s)97) goto b18; + if ((s)vd > (s)102) goto b18; + v7 = 1; +b20: if (!v7) goto b16; + vd = vd - 97 + 10; goto b6; -b16: if ((s)(vd) < (s)(65UL)) { goto b24; } -b23: if ((s)(vd) > (s)(70UL)) { goto b24; } -b25: v8 = 1UL; - goto b26; -b26: if (!(v8)) { goto b22; } -b21: vd = ((vd) - (65UL)) + (10UL); +b16: if ((s)vd < (s)65) goto b24; + if ((s)vd > (s)70) goto b24; + v8 = 1; +b26: if (!v8) goto b22; + vd = vd - 65 + 10; goto b6; -b22: *(u *)(vok) = 0UL; - return 0UL; -b24: v8 = 0UL; +b22: *(u*)vok = 0; + return 0; +b24: v8 = 0; goto b26; -b18: v7 = 0UL; +b18: v7 = 0; goto b20; -b12: v6 = 0UL; +b12: v6 = 0; goto b14; } -u zhexdig(u vch, u vok) { +u zhexdig(u vch, u vok){ u v2 = 0; u v3 = 0; u v4 = 0; -b0: if ((s)(vch) < (s)(48UL)) { goto b5; } -b4: if ((s)(vch) > (s)(57UL)) { goto b5; } -b6: v2 = 1UL; - goto b7; -b7: if (!(v2)) { goto b3; } -b2: *(u *)(vok) = 1UL; - return (vch) - (48UL); -b3: if ((s)(vch) < (s)(65UL)) { goto b11; } -b10: if ((s)(vch) > (s)(70UL)) { goto b11; } -b12: v3 = 1UL; - goto b13; -b13: if (!(v3)) { goto b9; } -b8: *(u *)(vok) = 1UL; - return ((vch) - (70UL)) + (10UL); -b9: if ((s)(vch) < (s)(97UL)) { goto b17; } -b16: if ((s)(vch) > (s)(102UL)) { goto b17; } -b18: v4 = 1UL; - goto b19; -b19: if (!(v4)) { goto b15; } -b14: *(u *)(vok) = 1UL; - return ((vch) - (97UL)) + (10UL); -b15: *(u *)(vok) = 0UL; - return 0UL; -b17: v4 = 0UL; + if ((s)vch < (s)48) goto b5; + if ((s)vch > (s)57) goto b5; + v2 = 1; +b7: if (!v2) goto b3; + *(u*)vok = 1; + return vch - 48; +b3: if ((s)vch < (s)65) goto b11; + if ((s)vch > (s)70) goto b11; + v3 = 1; +b13: if (!v3) goto b9; + *(u*)vok = 1; + return vch - 70 + 10; +b9: if ((s)vch < (s)97) goto b17; + if ((s)vch > (s)102) goto b17; + v4 = 1; +b19: if (!v4) goto b15; + *(u*)vok = 1; + return vch - 97 + 10; +b15: *(u*)vok = 0; + return 0; +b17: v4 = 0; goto b19; -b11: v3 = 0UL; +b11: v3 = 0; goto b13; -b5: v2 = 0UL; +b5: v2 = 0; goto b7; } -u zhoist_locals(u vc, u vd, u vn) { +u zhoist_locals(u vc, u vd, u vn){ u vkind = 0; u vname = 0; u vt = 0; @@ -15729,93 +15418,90 @@ u zhoist_locals(u vc, u vd, u vn) { u v46 = 0; u v47 = 0; u v48 = 0; -b0: if (!(vn)) { goto b5; } -b4: v7 = 0UL; - goto b6; -b6: if (!(v7)) { goto b1; } -b2: return 0UL; -b1: vkind = *(u *)(vn); - if ((vkind) != (21UL)) { goto b9; } -b10: if (!(vn)) { goto b16; } -b15: v8 = 0UL; - goto b17; -b17: if (!(v8)) { goto b12; } -b13: return 0UL; + if (!vn) goto b5; + v7 = 0; +b6: if (!v7) goto b1; + return 0; +b1: vkind = *(u*)vn; + if (vkind != 21) goto b9; +b10: if (!vn) goto b16; + v8 = 0; +b17: if (!v8) goto b12; + return 0; b12: v9 = (u)zhoist_locals; v10 = vc; v11 = vd; - v12 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v13 = ((u (*)())(v9))(v10, v11, v12); -b18: vn = *(u *)((vn) + (16UL)); + v12 = *(u*)(*(u*)(vn + 8) + 16); + v13 = ((u(*)())v9)(v10, v11, v12); + vn = *(u*)(vn + 16); goto b10; -b16: v8 = 1UL; +b16: v8 = 1; goto b17; -b9: if ((vkind) != (5UL)) { goto b20; } -b21: if (!(vn)) { goto b27; } -b26: v14 = 0UL; - goto b28; -b28: if (!(v14)) { goto b23; } -b24: return 0UL; +b9: if (vkind != 5) goto b20; +b21: if (!vn) goto b27; + v14 = 0; +b28: if (!v14) goto b23; + return 0; b23: v15 = (u)zhoist_locals; v16 = vc; v17 = vd; - v18 = *(u *)((vn) + (8UL)); - v19 = ((u (*)())(v15))(v16, v17, v18); -b29: vn = *(u *)((vn) + (16UL)); + v18 = *(u*)(vn + 8); + v19 = ((u(*)())v15)(v16, v17, v18); + vn = *(u*)(vn + 16); goto b21; -b27: v14 = 1UL; +b27: v14 = 1; goto b28; -b20: if ((vkind) != (26UL)) { goto b31; } -b30: v20 = (u)zhoist_locals; +b20: if (vkind != 26) goto b31; + v20 = (u)zhoist_locals; v21 = vc; v22 = vd; - v23 = *(u *)((vn) + (8UL)); - v24 = ((u (*)())(v20))(v21, v22, v23); -b32: return 0UL; -b31: if ((vkind) != (31UL)) { goto b34; } -b33: vname = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); + v23 = *(u*)(vn + 8); + v24 = ((u(*)())v20)(v21, v22, v23); + return 0; +b31: if (vkind != 31) goto b34; + vname = *(u*)(*(u*)(vn + 8) + 56); v25 = (u)zfind; v26 = vc; - v27 = *(u *)((vd) + (32UL)); + v27 = *(u*)(vd + 32); v28 = vname; - v29 = 1UL; - v30 = ((u (*)())(v25))(v26, v27, v28, v29); -b35: vv = v30; - if (!(*(u *)((vv) + (208UL)))) { goto b36; } -b37: v31 = (u)zcdie; + v29 = 1; + v30 = ((u(*)())v25)(v26, v27, v28, v29); + vv = v30; + if (!*(u*)(vv + 208)) goto b36; + v31 = (u)zcdie; v32 = vc; v33 = (u)"duplicate goto"; - v34 = ((u (*)())(v31))(v32, v33); -b36: *(u *)((vv) + (208UL)) = 1UL; - return 0UL; -b34: if ((vkind) == (30UL)) { goto b7; } -b40: return 0UL; -b7: vname = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); + v34 = ((u(*)())v31)(v32, v33); +b36: *(u*)(vv + 208) = 1; + return 0; +b34: if (vkind == 30) goto b7; + return 0; +b7: vname = *(u*)(*(u*)(vn + 8) + 56); v35 = (u)zprototype; v36 = vc; - v37 = *(u *)((vn) + (16UL)); - v38 = ((u (*)())(v35))(v36, v37); -b42: vt = v38; - *(u *)((vn) + (64UL)) = vt; + v37 = *(u*)(vn + 16); + v38 = ((u(*)())v35)(v36, v37); + vt = v38; + *(u*)(vn + 64) = vt; v39 = (u)zfind; v40 = vc; - v41 = *(u *)((vd) + (32UL)); + v41 = *(u*)(vd + 32); v42 = vname; - v43 = 1UL; - v44 = ((u (*)())(v39))(v40, v41, v42, v43); -b43: vv = v44; - if (!(*(u *)((vv) + (192UL)))) { goto b44; } -b45: v45 = (u)zcdie; + v43 = 1; + v44 = ((u(*)())v39)(v40, v41, v42, v43); + vv = v44; + if (!*(u*)(vv + 192)) goto b44; + v45 = (u)zcdie; v46 = vc; v47 = (u)"duplicate variable"; - v48 = ((u (*)())(v45))(v46, v47); -b44: *(u *)((vv) + (200UL)) = vt; - *(u *)((vv) + (192UL)) = 1UL; - return 0UL; -b5: v7 = 1UL; + v48 = ((u(*)())v45)(v46, v47); +b44: *(u*)(vv + 200) = vt; + *(u*)(vv + 192) = 1; + return 0; +b5: v7 = 1; goto b6; } -u zir_optimize(u vic) { +u zir_optimize(u vic){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -15837,30 +15523,30 @@ u zir_optimize(u vic) { u v19 = 0; u v20 = 0; u v21 = 0; -b0: v1 = (u)zirfunc_dead; + v1 = (u)zirfunc_dead; v2 = vic; - v3 = ((u (*)())(v1))(v2); -b1: v4 = (u)zirfunc_fold; + v3 = ((u(*)())v1)(v2); + v4 = (u)zirfunc_fold; v5 = vic; - v6 = ((u (*)())(v4))(v5); -b2: v7 = (u)zirfunc_flow; + v6 = ((u(*)())v4)(v5); + v7 = (u)zirfunc_flow; v8 = vic; - v9 = ((u (*)())(v7))(v8); -b3: v10 = (u)zirfunc_value; + v9 = ((u(*)())v7)(v8); + v10 = (u)zirfunc_value; v11 = vic; - v12 = ((u (*)())(v10))(v11); -b4: v13 = (u)zirfunc_dead; + v12 = ((u(*)())v10)(v11); + v13 = (u)zirfunc_dead; v14 = vic; - v15 = ((u (*)())(v13))(v14); -b5: v16 = (u)zirfunc_fold; + v15 = ((u(*)())v13)(v14); + v16 = (u)zirfunc_fold; v17 = vic; - v18 = ((u (*)())(v16))(v17); -b6: v19 = (u)zirfunc_flow; + v18 = ((u(*)())v16)(v17); + v19 = (u)zirfunc_flow; v20 = vic; - v21 = ((u (*)())(v19))(v20); -b7: return 0UL; + v21 = ((u(*)())v19)(v20); + return 0; } -u ziraddarg(u vic, u vname, u vt) { +u ziraddarg(u vic, u vname, u vt){ u viv = 0; u v4 = 0; u v5 = 0; @@ -15875,26 +15561,26 @@ u ziraddarg(u vic, u vname, u vt) { u v14 = 0; u v15 = 0; u v16 = 0; -b0: v4 = (u)zirfind_var; + v4 = (u)zirfind_var; v5 = vic; v6 = vname; - v7 = ((u (*)())(v4))(v5, v6); -b1: viv = v7; - if (!(*(u *)(viv))) { goto b2; } -b3: v8 = (u)zcdie; - v9 = *(u *)(vic); + v7 = ((u(*)())v4)(v5, v6); + viv = v7; + if (!*(u*)viv) goto b2; + v8 = (u)zcdie; + v9 = *(u*)vic; v10 = (u)"duplicate var"; - v11 = ((u (*)())(v8))(v9, v10); + v11 = ((u(*)())v8)(v9, v10); b2: v12 = (u)zmkirvar; v13 = vic; v14 = vname; v15 = vt; - v16 = ((u (*)())(v12))(v13, v14, v15); -b6: *(u *)(viv) = v16; - *(u *)((vic) + (136UL)) = (*(u *)((vic) + (136UL))) + (1UL); - return 0UL; + v16 = ((u(*)())v12)(v13, v14, v15); + *(u*)viv = v16; + *(u*)(vic + 136) = *(u*)(vic + 136) + 1; + return 0; } -u ziraddop(u vic, u vo) { +u ziraddop(u vic, u vo){ u vcur = 0; u vops = 0; u vi = 0; @@ -15914,57 +15600,51 @@ u ziraddop(u vic, u vo) { u v18 = 0; u v19 = 0; u v20 = 0; -b0: vcur = *(u *)((vic) + (88UL)); - if (!(vcur)) { goto b5; } -b4: v5 = 0UL; - goto b6; -b6: if (!(v5)) { goto b1; } -b2: return 0UL; + vcur = *(u*)(vic + 88); + if (!vcur) goto b5; + v5 = 0; +b6: if (!v5) goto b1; + return 0; b1: v6 = (u)zassert; - if (!(vo)) { goto b11; } -b10: v9 = 0UL; - goto b12; -b12: if (!(v9)) { goto b8; } -b7: v8 = 0UL; - goto b9; + if (!vo) goto b11; + v9 = 0; +b12: if (!v9) goto b8; + v8 = 0; b9: v7 = v8; v10 = (u)"expected op to add"; - v11 = ((u (*)())(v6))(v7, v10); -b13: v12 = (u)zassert; - if (!(*(u *)((vcur) + (32UL)))) { goto b15; } -b14: v14 = 0UL; - goto b16; + v11 = ((u(*)())v6)(v7, v10); + v12 = (u)zassert; + if (!*(u*)(vcur + 32)) goto b15; + v14 = 0; b16: v13 = v14; v15 = (u)"block already closed"; - v16 = ((u (*)())(v12))(v13, v15); -b17: if ((*(u *)((vcur) + (16UL))) != (*(u *)((vcur) + (24UL)))) { goto b18; } -b19: *(u *)((vcur) + (24UL)) = ((*(u *)((vcur) + (24UL))) * (2UL)) + (16UL); + v16 = ((u(*)())v12)(v13, v15); + if (*(u*)(vcur + 16) != *(u*)(vcur + 24)) goto b18; + *(u*)(vcur + 24) = *(u*)(vcur + 24) * 2 + 16; v17 = (u)zalloc; - v18 = *(u *)((vic) + (16UL)); - v19 = (*(u *)((vcur) + (24UL))) * (8UL); - v20 = ((u (*)())(v17))(v18, v19); -b21: vops = v20; - vi = 0UL; - goto b22; -b22: if ((vi) != (*(u *)((vcur) + (16UL)))) { goto b24; } -b23: *(u *)((vcur) + (8UL)) = vops; - goto b18; -b18: *(u *)((*(u *)((vcur) + (8UL))) + ((*(u *)((vcur) + (16UL))) * (8UL))) = vo; - *(u *)((vcur) + (16UL)) = (*(u *)((vcur) + (16UL))) + (1UL); - return 0UL; -b24: *(u *)((vops) + ((vi) * (8UL))) = *(u *)((*(u *)((vcur) + (8UL))) + ((vi) * (8UL))); - vi = (vi) + (1UL); + v18 = *(u*)(vic + 16); + v19 = *(u*)(vcur + 24) * 8; + v20 = ((u(*)())v17)(v18, v19); + vops = v20; + vi = 0; +b22: if (vi != *(u*)(vcur + 16)) goto b24; + *(u*)(vcur + 8) = vops; +b18: *(u*)(*(u*)(vcur + 8) + *(u*)(vcur + 16) * 8) = vo; + *(u*)(vcur + 16) = *(u*)(vcur + 16) + 1; + return 0; +b24: *(u*)(vops + vi * 8) = *(u*)(*(u*)(vcur + 8) + vi * 8); + vi = vi + 1; goto b22; -b15: v14 = 1UL; +b15: v14 = 1; goto b16; -b8: v8 = 1UL; +b8: v8 = 1; goto b9; -b11: v9 = 1UL; +b11: v9 = 1; goto b12; -b5: v5 = 1UL; +b5: v5 = 1; goto b6; } -u ziraddvar(u vic, u vname, u vt) { +u ziraddvar(u vic, u vname, u vt){ u viv = 0; u v4 = 0; u v5 = 0; @@ -15979,25 +15659,25 @@ u ziraddvar(u vic, u vname, u vt) { u v14 = 0; u v15 = 0; u v16 = 0; -b0: v4 = (u)zirfind_var; + v4 = (u)zirfind_var; v5 = vic; v6 = vname; - v7 = ((u (*)())(v4))(v5, v6); -b1: viv = v7; - if (!(*(u *)(viv))) { goto b2; } -b3: v8 = (u)zcdie; - v9 = *(u *)(vic); + v7 = ((u(*)())v4)(v5, v6); + viv = v7; + if (!*(u*)viv) goto b2; + v8 = (u)zcdie; + v9 = *(u*)vic; v10 = (u)"duplicate var"; - v11 = ((u (*)())(v8))(v9, v10); + v11 = ((u(*)())v8)(v9, v10); b2: v12 = (u)zmkirvar; v13 = vic; v14 = vname; v15 = vt; - v16 = ((u (*)())(v12))(v13, v14, v15); -b6: *(u *)(viv) = v16; - return 0UL; + v16 = ((u(*)())v12)(v13, v14, v15); + *(u*)viv = v16; + return 0; } -u zirblock_dead_expr(u vic, u vb) { +u zirblock_dead_expr(u vic, u vb){ u vi = 0; u vj = 0; u vo = 0; @@ -16009,77 +15689,68 @@ u zirblock_dead_expr(u vic, u vb) { u v10 = 0; u v11 = 0; u v12 = 0; -b0: if (!(*(u *)((vb) + (32UL)))) { goto b5; } -b4: v6 = 0UL; - goto b6; -b6: if (!(v6)) { goto b1; } -b2: return 0UL; -b1: vi = 0UL; - vj = 0UL; - goto b7; -b7: if ((vi) != (*(u *)((vb) + (16UL)))) { goto b9; } -b8: *(u *)((vb) + (16UL)) = vj; - return 0UL; -b9: vo = *(u *)((*(u *)((vb) + (8UL))) + ((vi) * (8UL))); - vkind = *(u *)(vo); - if ((vkind) != (6UL)) { goto b16; } -b15: v7 = 1UL; - goto b18; -b18: if (!(v7)) { goto b12; } -b13: *(u *)((*(u *)((vb) + (8UL))) + ((vj) * (8UL))) = vo; - vj = (vj) + (1UL); - goto b12; -b12: vi = (vi) + (1UL); + if (!*(u*)(vb + 32)) goto b5; + v6 = 0; +b6: if (!v6) goto b1; + return 0; +b1: vi = 0; + vj = 0; +b7: if (vi != *(u*)(vb + 16)) goto b9; + *(u*)(vb + 16) = vj; + return 0; +b9: vo = *(u*)(*(u*)(vb + 8) + vi * 8); + vkind = *(u*)vo; + if (vkind != 6) goto b16; + v7 = 1; +b18: if (!v7) goto b12; + *(u*)(*(u*)(vb + 8) + vj * 8) = vo; + vj = vj + 1; +b12: vi = vi + 1; goto b7; -b16: if ((vkind) != (7UL)) { goto b21; } -b20: v8 = 1UL; - goto b23; -b23: if (!(v8)) { goto b19; } -b17: v7 = 1UL; +b16: if (vkind != 7) goto b21; + v8 = 1; +b23: if (!v8) goto b19; + v7 = 1; goto b18; -b19: v7 = 0UL; +b19: v7 = 0; goto b18; -b21: if ((vkind) != (8UL)) { goto b26; } -b25: v9 = 1UL; - goto b28; -b28: if (!(v9)) { goto b24; } -b22: v8 = 1UL; +b21: if (vkind != 8) goto b26; + v9 = 1; +b28: if (!v9) goto b24; + v8 = 1; goto b23; -b24: v8 = 0UL; +b24: v8 = 0; goto b23; -b26: if ((vkind) != (27UL)) { goto b31; } -b30: v10 = 1UL; - goto b33; -b33: if (!(v10)) { goto b29; } -b27: v9 = 1UL; +b26: if (vkind != 27) goto b31; + v10 = 1; +b33: if (!v10) goto b29; + v9 = 1; goto b28; -b29: v9 = 0UL; +b29: v9 = 0; goto b28; -b31: if ((vkind) != (28UL)) { goto b36; } -b35: v11 = 1UL; - goto b38; -b38: if (!(v11)) { goto b34; } -b32: v10 = 1UL; +b31: if (vkind != 28) goto b36; + v11 = 1; +b38: if (!v11) goto b34; + v10 = 1; goto b33; -b34: v10 = 0UL; +b34: v10 = 0; goto b33; -b36: if ((vkind) != (29UL)) { goto b41; } -b40: v12 = 1UL; - goto b43; -b43: if (!(v12)) { goto b39; } -b37: v11 = 1UL; +b36: if (vkind != 29) goto b41; + v12 = 1; +b43: if (!v12) goto b39; + v11 = 1; goto b38; -b39: v11 = 0UL; +b39: v11 = 0; goto b38; -b41: if ((vkind) != (30UL)) { goto b44; } -b42: v12 = 1UL; +b41: if (vkind != 30) goto b44; + v12 = 1; goto b43; -b44: v12 = 0UL; +b44: v12 = 0; goto b43; -b5: v6 = 1UL; +b5: v6 = 1; goto b6; } -u zirblock_flow2(u vic, u vib) { +u zirblock_flow2(u vic, u vib){ u vkind = 0; u v3 = 0; u v4 = 0; @@ -16093,58 +15764,52 @@ u zirblock_flow2(u vic, u vib) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: if (!(*(u *)((vib) + (64UL)))) { goto b1; } -b2: *(u *)((vib) + (64UL)) = 2UL; - return 0UL; -b1: *(u *)((vib) + (64UL)) = 1UL; - vkind = *(u *)(*(u *)((*(u *)((vib) + (8UL))) + (((*(u *)((vib) + (16UL))) - (1UL)) * (8UL)))); - if ((vkind) != (29UL)) { goto b4; } -b5: v3 = (u)zirblock_flow2; + if (!*(u*)(vib + 64)) goto b1; + *(u*)(vib + 64) = 2; + return 0; +b1: *(u*)(vib + 64) = 1; + vkind = *(u*)*(u*)(*(u*)(vib + 8) + (*(u*)(vib + 16) - 1) * 8); + if (vkind != 29) goto b4; + v3 = (u)zirblock_flow2; v4 = vic; - v5 = *(u *)((vib) + (48UL)); - v6 = ((u (*)())(v3))(v4, v5); -b7: if ((*(u *)((*(u *)((vib) + (48UL))) + (16UL))) != (1UL)) { goto b12; } -b11: if ((*(u *)(*(u *)(*(u *)((*(u *)((vib) + (48UL))) + (8UL))))) != (28UL)) { goto b12; } -b13: v7 = 1UL; - goto b14; -b14: if (!(v7)) { goto b4; } -b9: *(u *)((vib) + (48UL)) = *(u *)((*(u *)((vib) + (48UL))) + (40UL)); - goto b4; -b4: if ((vkind) != (29UL)) { goto b19; } -b18: v8 = 1UL; - goto b21; -b21: if (!(v8)) { goto b15; } -b16: v10 = (u)zirblock_flow2; + v5 = *(u*)(vib + 48); + v6 = ((u(*)())v3)(v4, v5); + if (*(u*)(*(u*)(vib + 48) + 16) != 1) goto b12; + if (*(u*)*(u*)*(u*)(*(u*)(vib + 48) + 8) != 28) goto b12; + v7 = 1; +b14: if (!v7) goto b4; + *(u*)(vib + 48) = *(u*)(*(u*)(vib + 48) + 40); +b4: if (vkind != 29) goto b19; + v8 = 1; +b21: if (!v8) goto b15; + v10 = (u)zirblock_flow2; v11 = vic; - v12 = *(u *)((vib) + (40UL)); - v13 = ((u (*)())(v10))(v11, v12); -b28: if ((*(u *)((*(u *)((vib) + (40UL))) + (16UL))) != (1UL)) { goto b33; } -b32: if ((*(u *)(*(u *)(*(u *)((*(u *)((vib) + (40UL))) + (8UL))))) != (28UL)) { goto b33; } -b34: v14 = 1UL; - goto b35; -b35: if (!(v14)) { goto b15; } -b30: *(u *)((vib) + (40UL)) = *(u *)((*(u *)((vib) + (40UL))) + (40UL)); - goto b15; -b15: return 0UL; -b33: v14 = 0UL; + v12 = *(u*)(vib + 40); + v13 = ((u(*)())v10)(v11, v12); + if (*(u*)(*(u*)(vib + 40) + 16) != 1) goto b33; + if (*(u*)*(u*)*(u*)(*(u*)(vib + 40) + 8) != 28) goto b33; + v14 = 1; +b35: if (!v14) goto b15; + *(u*)(vib + 40) = *(u*)(*(u*)(vib + 40) + 40); +b15: return 0; +b33: v14 = 0; goto b35; -b19: if ((vkind) != (27UL)) { goto b24; } -b23: v9 = 1UL; - goto b26; -b26: if (!(v9)) { goto b22; } -b20: v8 = 1UL; +b19: if (vkind != 27) goto b24; + v9 = 1; +b26: if (!v9) goto b22; + v8 = 1; goto b21; -b22: v8 = 0UL; +b22: v8 = 0; goto b21; -b24: if ((vkind) != (28UL)) { goto b27; } -b25: v9 = 1UL; +b24: if (vkind != 28) goto b27; + v9 = 1; goto b26; -b27: v9 = 0UL; +b27: v9 = 0; goto b26; -b12: v7 = 0UL; +b12: v7 = 0; goto b14; } -u zirblock_flow3(u vic, u vib) { +u zirblock_flow3(u vic, u vib){ u vout = 0; u vkind = 0; u vi = 0; @@ -16156,44 +15821,42 @@ u zirblock_flow3(u vic, u vib) { u v10 = 0; u v11 = 0; u v12 = 0; -b0: if ((*(u *)((vib) + (64UL))) != (3UL)) { goto b1; } -b2: return 0UL; -b1: *(u *)((vib) + (64UL)) = 3UL; - goto b4; -b4: vkind = *(u *)(*(u *)((*(u *)((vib) + (8UL))) + (((*(u *)((vib) + (16UL))) - (1UL)) * (8UL)))); - if ((vkind) != (29UL)) { goto b6; } -b7: v5 = (u)zirblock_flow3; + if (*(u*)(vib + 64) != 3) goto b1; + return 0; +b1: *(u*)(vib + 64) = 3; +b4: vkind = *(u*)*(u*)(*(u*)(vib + 8) + (*(u*)(vib + 16) - 1) * 8); + if (vkind != 29) goto b6; + v5 = (u)zirblock_flow3; v6 = vic; - v7 = *(u *)((vib) + (48UL)); - v8 = ((u (*)())(v5))(v6, v7); -b5: return 0UL; -b6: if ((vkind) == (28UL)) { goto b10; } + v7 = *(u*)(vib + 48); + v8 = ((u(*)())v5)(v6, v7); +b5: return 0; +b6: if (vkind == 28) goto b10; goto b5; -b10: vout = *(u *)((vib) + (40UL)); - if ((*(u *)((vout) + (64UL))) != (2UL)) { goto b13; } -b14: vib = vout; - *(u *)((vib) + (64UL)) = 3UL; +b10: vout = *(u*)(vib + 40); + if (*(u*)(vout + 64) != 2) goto b13; + vib = vout; + *(u*)(vib + 64) = 3; goto b4; -b13: if ((*(u *)((vout) + (64UL))) != (3UL)) { goto b16; } +b13: if (*(u*)(vout + 64) != 3) goto b16; goto b5; -b16: *(u *)((vib) + (40UL)) = 0UL; - *(u *)((vib) + (16UL)) = (*(u *)((vib) + (16UL))) - (1UL); - *(u *)((vib) + (32UL)) = 0UL; - vi = 0UL; - goto b19; -b19: if ((vi) != (*(u *)((vout) + (16UL)))) { goto b21; } -b20: *(u *)((vib) + (40UL)) = *(u *)((vout) + (40UL)); - *(u *)((vib) + (48UL)) = *(u *)((vout) + (48UL)); - *(u *)((vib) + (32UL)) = 1UL; +b16: *(u*)(vib + 40) = 0; + *(u*)(vib + 16) = *(u*)(vib + 16) - 1; + *(u*)(vib + 32) = 0; + vi = 0; +b19: if (vi != *(u*)(vout + 16)) goto b21; + *(u*)(vib + 40) = *(u*)(vout + 40); + *(u*)(vib + 48) = *(u*)(vout + 48); + *(u*)(vib + 32) = 1; goto b4; b21: v9 = (u)ziraddop; v10 = vic; - v11 = *(u *)((*(u *)((vout) + (8UL))) + ((vi) * (8UL))); - v12 = ((u (*)())(v9))(v10, v11); -b24: vi = (vi) + (1UL); + v11 = *(u*)(*(u*)(vout + 8) + vi * 8); + v12 = ((u(*)())v9)(v10, v11); + vi = vi + 1; goto b19; } -u zirblock_fold(u vic, u vb) { +u zirblock_fold(u vic, u vb){ u vi = 0; u vo = 0; u vret = 0; @@ -16210,66 +15873,59 @@ u zirblock_fold(u vic, u vb) { u v15 = 0; u v16 = 0; u v17 = 0; -b0: if (!(*(u *)((vb) + (32UL)))) { goto b5; } -b4: v5 = 0UL; - goto b6; -b6: if (!(v5)) { goto b1; } -b2: return 0UL; -b1: vi = 0UL; - goto b7; -b7: if ((vi) != (*(u *)((vb) + (16UL)))) { goto b9; } -b8: vi = (vi) - (1UL); - vo = *(u *)((*(u *)((vb) + (8UL))) + ((vi) * (8UL))); - if ((*(u *)(vo)) != (29UL)) { goto b17; } -b16: if ((*(u *)(*(u *)((vo) + (8UL)))) != (3UL)) { goto b17; } -b18: v10 = 1UL; - goto b19; -b19: if (!(v10)) { goto b13; } -b14: v11 = (u)zmkirop; + if (!*(u*)(vb + 32)) goto b5; + v5 = 0; +b6: if (!v5) goto b1; + return 0; +b1: vi = 0; +b7: if (vi != *(u*)(vb + 16)) goto b9; + vi = vi - 1; + vo = *(u*)(*(u*)(vb + 8) + vi * 8); + if (*(u*)vo != 29) goto b17; + if (*(u*)*(u*)(vo + 8) != 3) goto b17; + v10 = 1; +b19: if (!v10) goto b13; + v11 = (u)zmkirop; v12 = vic; - v13 = 28UL; - v14 = 0UL; - v15 = 0UL; - v16 = ((u (*)())(v11))(v12, v13, v14, v15); -b20: vret = v16; - *(u *)((vret) + (64UL)) = *(u *)((vo) + (64UL)); - *(u *)((vret) + (72UL)) = *(u *)((vo) + (72UL)); - *(u *)((vret) + (80UL)) = *(u *)((vo) + (80UL)); - *(u *)((*(u *)((vb) + (8UL))) + ((vi) * (8UL))) = vret; - if (!(*(u *)((vo) + (24UL)))) { goto b25; } -b24: v17 = 0UL; - goto b26; -b26: if (!(v17)) { goto b21; } -b22: *(u *)((vb) + (40UL)) = *(u *)((vb) + (48UL)); - goto b21; -b21: *(u *)((vb) + (48UL)) = 0UL; - goto b13; -b13: return 0UL; -b25: v17 = 1UL; + v13 = 28; + v14 = 0; + v15 = 0; + v16 = ((u(*)())v11)(v12, v13, v14, v15); + vret = v16; + *(u*)(vret + 64) = *(u*)(vo + 64); + *(u*)(vret + 72) = *(u*)(vo + 72); + *(u*)(vret + 80) = *(u*)(vo + 80); + *(u*)(*(u*)(vb + 8) + vi * 8) = vret; + if (!*(u*)(vo + 24)) goto b25; + v17 = 0; +b26: if (!v17) goto b21; + *(u*)(vb + 40) = *(u*)(vb + 48); +b21: *(u*)(vb + 48) = 0; +b13: return 0; +b25: v17 = 1; goto b26; -b17: v10 = 0UL; +b17: v10 = 0; goto b19; b9: v6 = (u)zirexpr_fold; v7 = vic; - v8 = *(u *)((*(u *)((vb) + (8UL))) + ((vi) * (8UL))); - v9 = ((u (*)())(v6))(v7, v8); -b12: vo = v9; - *(u *)((*(u *)((vb) + (8UL))) + ((vi) * (8UL))) = vo; - vi = (vi) + (1UL); + v8 = *(u*)(*(u*)(vb + 8) + vi * 8); + v9 = ((u(*)())v6)(v7, v8); + vo = v9; + *(u*)(*(u*)(vb + 8) + vi * 8) = vo; + vi = vi + 1; goto b7; -b5: v5 = 1UL; +b5: v5 = 1; goto b6; } -u zirblock_value(u vic, u vib) { +u zirblock_value(u vic, u vib){ u vi = 0; -b0: vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vib) + (16UL)))) { goto b3; } -b2: return 0UL; -b3: vi = (vi) + (1UL); + vi = 0; +b1: if (vi != *(u*)(vib + 16)) goto b3; + return 0; +b3: vi = vi + 1; goto b1; } -u zirbranch(u vic, u vcond, u valt, u vnext) { +u zirbranch(u vic, u vcond, u valt, u vnext){ u vcur = 0; u vo = 0; u v6 = 0; @@ -16286,32 +15942,31 @@ u zirbranch(u vic, u vcond, u valt, u vnext) { u v17 = 0; u v18 = 0; u v19 = 0; -b0: v6 = (u)zmkirop; + v6 = (u)zmkirop; v7 = vic; - v8 = 29UL; + v8 = 29; v9 = vcond; - v10 = 0UL; - v11 = ((u (*)())(v6))(v7, v8, v9, v10); -b1: vo = v11; + v10 = 0; + v11 = ((u(*)())v6)(v7, v8, v9, v10); + vo = v11; v12 = (u)ziraddop; v13 = vic; v14 = vo; - v15 = ((u (*)())(v12))(v13, v14); -b2: vcur = *(u *)((vic) + (88UL)); - if (!(vcur)) { goto b3; } -b4: if (!(*(u *)((vcur) + (32UL)))) { goto b6; } -b7: v16 = (u)zcdie; - v17 = *(u *)(vic); + v15 = ((u(*)())v12)(v13, v14); + vcur = *(u*)(vic + 88); + if (!vcur) goto b3; + if (!*(u*)(vcur + 32)) goto b6; + v16 = (u)zcdie; + v17 = *(u*)vic; v18 = (u)"block already done"; - v19 = ((u (*)())(v16))(v17, v18); -b6: *(u *)((vcur) + (32UL)) = 1UL; - *(u *)((vcur) + (48UL)) = valt; - *(u *)((vcur) + (40UL)) = vnext; - goto b3; -b3: *(u *)((vic) + (88UL)) = vnext; - return 0UL; + v19 = ((u(*)())v16)(v17, v18); +b6: *(u*)(vcur + 32) = 1; + *(u*)(vcur + 48) = valt; + *(u*)(vcur + 40) = vnext; +b3: *(u*)(vic + 88) = vnext; + return 0; } -u zircall(u vic, u vfp, u vnargs) { +u zircall(u vic, u vfp, u vnargs){ u vo = 0; u vcur = 0; u vnext = 0; @@ -16332,36 +15987,35 @@ u zircall(u vic, u vfp, u vnargs) { u v20 = 0; u v21 = 0; u v22 = 0; -b0: v6 = (u)zmkirop; + v6 = (u)zmkirop; v7 = vic; - v8 = 27UL; + v8 = 27; v9 = vfp; - v10 = 0UL; - v11 = ((u (*)())(v6))(v7, v8, v9, v10); -b1: vo = v11; - *(u *)((vo) + (24UL)) = vnargs; + v10 = 0; + v11 = ((u(*)())v6)(v7, v8, v9, v10); + vo = v11; + *(u*)(vo + 24) = vnargs; v12 = (u)ziraddop; v13 = vic; v14 = vo; - v15 = ((u (*)())(v12))(v13, v14); -b2: v16 = (u)zmkirblock; + v15 = ((u(*)())v12)(v13, v14); + v16 = (u)zmkirblock; v17 = vic; - v18 = ((u (*)())(v16))(v17); -b3: vnext = v18; - vcur = *(u *)((vic) + (88UL)); - if (!(vcur)) { goto b4; } -b5: if (!(*(u *)((vcur) + (32UL)))) { goto b7; } -b8: v19 = (u)zcdie; - v20 = *(u *)(vic); + v18 = ((u(*)())v16)(v17); + vnext = v18; + vcur = *(u*)(vic + 88); + if (!vcur) goto b4; + if (!*(u*)(vcur + 32)) goto b7; + v19 = (u)zcdie; + v20 = *(u*)vic; v21 = (u)"block already done"; - v22 = ((u (*)())(v19))(v20, v21); -b7: *(u *)((vcur) + (32UL)) = 1UL; - *(u *)((vcur) + (40UL)) = vnext; - goto b4; -b4: *(u *)((vic) + (88UL)) = vnext; - return 0UL; + v22 = ((u(*)())v19)(v20, v21); +b7: *(u*)(vcur + 32) = 1; + *(u*)(vcur + 40) = vnext; +b4: *(u*)(vic + 88) = vnext; + return 0; } -u zircargs(u vc, u vic, u vib, u vn) { +u zircargs(u vc, u vic, u vib, u vn){ u vi = 0; u vop = 0; u vargs = 0; @@ -16387,49 +16041,48 @@ u zircargs(u vc, u vic, u vib, u vn) { u v27 = 0; u v28 = 0; u v29 = 0; -b0: v8 = (u)zalloc; - v9 = *(u *)(vc); - v10 = (vn) * (8UL); - v11 = ((u (*)())(v8))(v9, v10); -b1: vargs = v11; - vi = 0UL; - goto b2; -b2: if ((vi) != (*(u *)((vib) + (16UL)))) { goto b4; } -b3: vi = 0UL; - goto b10; -b10: if ((vi) != (vn)) { goto b12; } -b11: v26 = (u)zfree; - v27 = *(u *)(vc); - v28 = vargs; - v29 = ((u (*)())(v26))(v27, v28); -b24: return 0UL; -b12: if (!(*(u *)((vargs) + ((vi) * (8UL))))) { goto b17; } -b16: v12 = (u)zircop; + u v30 = 0; + v8 = (u)zalloc; + v9 = *(u*)vc; + v10 = vn * 8; + v11 = ((u(*)())v8)(v9, v10); + vargs = v11; + vi = 0; +b2: if (vi != *(u*)(vib + 16)) goto b4; + vi = 0; +b10: if (vi != vn) goto b12; + v27 = (u)zfree; + v28 = *(u*)vc; + v29 = vargs; + v30 = ((u(*)())v27)(v28, v29); + return 0; +b12: if (!*(u*)(vargs + vi * 8)) goto b17; + v12 = (u)zircop; v13 = vc; v14 = vic; v15 = vib; - v16 = *(u *)((vargs) + ((vi) * (8UL))); - v17 = ((u (*)())(v12))(v13, v14, v15, v16); -b15: vi = (vi) + (1UL); - if ((vi) == (vn)) { goto b10; } -b21: v22 = (u)zfputs; - v23 = *(u *)((vc) + (72UL)); - v24 = (u)", "; - v25 = ((u (*)())(v22))(v23, v24); + v16 = *(u*)(vargs + vi * 8); + v17 = 15; + v18 = ((u(*)())v12)(v13, v14, v15, v16, v17); +b15: vi = vi + 1; + if (vi == vn) goto b10; + v23 = (u)zfputs; + v24 = *(u*)(vc + 72); + v25 = (u)", "; + v26 = ((u(*)())v23)(v24, v25); goto b10; -b17: v18 = (u)zfputs; - v19 = *(u *)((vc) + (72UL)); - v20 = (u)"0UL"; - v21 = ((u (*)())(v18))(v19, v20); +b17: v19 = (u)zfputs; + v20 = *(u*)(vc + 72); + v21 = (u)"0UL"; + v22 = ((u(*)())v19)(v20, v21); goto b15; -b4: vop = *(u *)((*(u *)((vib) + (8UL))) + ((vi) * (8UL))); - if ((*(u *)(vop)) != (8UL)) { goto b7; } -b8: *(u *)((vargs) + ((*(u *)((vop) + (24UL))) * (8UL))) = *(u *)((vop) + (8UL)); - goto b7; -b7: vi = (vi) + (1UL); +b4: vop = *(u*)(*(u*)(vib + 8) + vi * 8); + if (*(u*)vop != 8) goto b7; + *(u*)(vargs + *(u*)(vop + 24) * 8) = *(u*)(vop + 8); +b7: vi = vi + 1; goto b2; } -u zircblock(u vc, u vic, u vib) { +u zircblock(u vc, u vic, u vib){ u vi = 0; u vop = 0; u vkind = 0; @@ -16607,244 +16260,272 @@ u zircblock(u vc, u vic, u vib) { u v177 = 0; u v178 = 0; u v179 = 0; -b0: goto b1; -b1: if (((vi) + (1UL)) != (*(u *)((vib) + (16UL)))) { goto b3; } -b2: vop = *(u *)((*(u *)((vib) + (8UL))) + ((vi) * (8UL))); - vkind = *(u *)(vop); - if ((vkind) != (27UL)) { goto b29; } -b28: v39 = (u)zircline; - v40 = vc; - v41 = vop; - v42 = ((u (*)())(v39))(v40, v41); -b30: if (!(vdidlabel)) { goto b35; } -b34: v43 = 0UL; - goto b36; -b36: if (!(v43)) { goto b31; } -b32: v44 = (u)zfputs; - v45 = *(u *)((vc) + (72UL)); - v46 = (u)"b"; - v47 = ((u (*)())(v44))(v45, v46); -b37: v48 = (u)zfputd; - v49 = *(u *)((vc) + (72UL)); - v50 = *(u *)(vib); - v51 = ((u (*)())(v48))(v49, v50); -b38: v52 = (u)zfputs; - v53 = *(u *)((vc) + (72UL)); - v54 = (u)":"; - v55 = ((u (*)())(v52))(v53, v54); -b39: vdidlabel = 1UL; - goto b31; -b31: v56 = (u)zirccall; - v57 = vc; - v58 = vic; - v59 = vib; - v60 = vop; - v61 = ((u (*)())(v56))(v57, v58, v59, v60); -b27: return 0UL; -b35: v43 = 1UL; + u v180 = 0; + u v181 = 0; + u v182 = 0; + u v183 = 0; + u v184 = 0; + u v185 = 0; + u v186 = 0; + u v187 = 0; + u v188 = 0; + u v189 = 0; + u v190 = 0; + u v191 = 0; + u v192 = 0; + u v193 = 0; + u v194 = 0; + u v195 = 0; + u v196 = 0; + u v197 = 0; + u v198 = 0; + vdidlabel = (u)((*(u*)(vib + 64) & 4) == 0); +b1: if (vi + 1 != *(u*)(vib + 16)) goto b3; + vop = *(u*)(*(u*)(vib + 8) + vi * 8); + vkind = *(u*)vop; + if (vkind != 27) goto b29; + v40 = (u)zircline; + v41 = vc; + v42 = vop; + v43 = ((u(*)())v40)(v41, v42); + if (!vdidlabel) goto b35; + v44 = 0; +b36: if (!v44) goto b31; + v45 = (u)zfputs; + v46 = *(u*)(vc + 72); + v47 = (u)"b"; + v48 = ((u(*)())v45)(v46, v47); + v49 = (u)zfputd; + v50 = *(u*)(vc + 72); + v51 = *(u*)vib; + v52 = ((u(*)())v49)(v50, v51); + v53 = (u)zfputs; + v54 = *(u*)(vc + 72); + v55 = (u)":"; + v56 = ((u(*)())v53)(v54, v55); + vdidlabel = 1; +b31: v57 = (u)zirccall; + v58 = vc; + v59 = vic; + v60 = vib; + v61 = vop; + v62 = ((u(*)())v57)(v58, v59, v60, v61); +b27: return 0; +b35: v44 = 1; goto b36; -b29: if ((vkind) != (28UL)) { goto b42; } -b41: v62 = (u)zircline; - v63 = vc; - v64 = vop; - v65 = ((u (*)())(v62))(v63, v64); -b43: if (!(vdidlabel)) { goto b48; } -b47: v66 = 0UL; - goto b49; -b49: if (!(v66)) { goto b44; } -b45: v67 = (u)zfputs; - v68 = *(u *)((vc) + (72UL)); - v69 = (u)"b"; - v70 = ((u (*)())(v67))(v68, v69); -b50: v71 = (u)zfputd; - v72 = *(u *)((vc) + (72UL)); - v73 = *(u *)(vib); - v74 = ((u (*)())(v71))(v72, v73); -b51: v75 = (u)zfputs; - v76 = *(u *)((vc) + (72UL)); - v77 = (u)":"; - v78 = ((u (*)())(v75))(v76, v77); -b52: vdidlabel = 1UL; - goto b44; -b44: v79 = (u)zfputs; - v80 = *(u *)((vc) + (72UL)); - v81 = (u)"\011goto b"; - v82 = ((u (*)())(v79))(v80, v81); -b53: v83 = (u)zfputd; - v84 = *(u *)((vc) + (72UL)); - v85 = *(u *)(*(u *)((vib) + (40UL))); - v86 = ((u (*)())(v83))(v84, v85); -b54: v87 = (u)zfputs; - v88 = *(u *)((vc) + (72UL)); - v89 = (u)";\012"; - v90 = ((u (*)())(v87))(v88, v89); +b29: if (vkind != 28) goto b42; + v63 = (u)zircline; + v64 = vc; + v65 = vop; + v66 = ((u(*)())v63)(v64, v65); + if (!vdidlabel) goto b48; + v67 = 0; +b49: if (!v67) goto b44; + v68 = (u)zfputs; + v69 = *(u*)(vc + 72); + v70 = (u)"b"; + v71 = ((u(*)())v68)(v69, v70); + v72 = (u)zfputd; + v73 = *(u*)(vc + 72); + v74 = *(u*)vib; + v75 = ((u(*)())v72)(v73, v74); + v76 = (u)zfputs; + v77 = *(u*)(vc + 72); + v78 = (u)":"; + v79 = ((u(*)())v76)(v77, v78); + vdidlabel = 1; +b44: if (!(*(u*)(*(u*)(vib + 40) + 64) & 1)) goto b27; + v80 = (u)zfputs; + v81 = *(u*)(vc + 72); + v82 = (u)"\011"; + v83 = ((u(*)())v80)(v81, v82); + v84 = (u)zfputs; + v85 = *(u*)(vc + 72); + v86 = (u)"goto b"; + v87 = ((u(*)())v84)(v85, v86); + v88 = (u)zfputd; + v89 = *(u*)(vc + 72); + v90 = *(u*)*(u*)(vib + 40); + v91 = ((u(*)())v88)(v89, v90); + v92 = (u)zfputs; + v93 = *(u*)(vc + 72); + v94 = (u)";\012"; + v95 = ((u(*)())v92)(v93, v94); goto b27; -b48: v66 = 1UL; +b48: v67 = 1; goto b49; -b42: if ((vkind) != (29UL)) { goto b57; } -b56: v91 = (u)zircline; - v92 = vc; - v93 = vop; - v94 = ((u (*)())(v91))(v92, v93); -b58: if (!(vdidlabel)) { goto b63; } -b62: v95 = 0UL; - goto b64; -b64: if (!(v95)) { goto b59; } -b60: v96 = (u)zfputs; - v97 = *(u *)((vc) + (72UL)); - v98 = (u)"b"; - v99 = ((u (*)())(v96))(v97, v98); -b65: v100 = (u)zfputd; - v101 = *(u *)((vc) + (72UL)); - v102 = *(u *)(vib); - v103 = ((u (*)())(v100))(v101, v102); -b66: v104 = (u)zfputs; - v105 = *(u *)((vc) + (72UL)); - v106 = (u)":"; - v107 = ((u (*)())(v104))(v105, v106); -b67: vdidlabel = 1UL; - goto b59; -b59: v108 = (u)zfputs; - v109 = *(u *)((vc) + (72UL)); - v110 = (u)"\011if ("; - v111 = ((u (*)())(v108))(v109, v110); -b68: v112 = (u)zircop_neg; - v113 = vc; - v114 = vic; - v115 = vib; - v116 = *(u *)((vop) + (8UL)); - v117 = ((u (*)())(v112))(v113, v114, v115, v116); -b69: v118 = (u)zfputs; - v119 = *(u *)((vc) + (72UL)); - v120 = (u)") { goto b"; - v121 = ((u (*)())(v118))(v119, v120); -b70: v122 = (u)zfputd; - v123 = *(u *)((vc) + (72UL)); - v124 = *(u *)(*(u *)((vib) + (48UL))); - v125 = ((u (*)())(v122))(v123, v124); -b71: v126 = (u)zfputs; - v127 = *(u *)((vc) + (72UL)); - v128 = (u)"; }\012"; - v129 = ((u (*)())(v126))(v127, v128); -b72: if (!(*(u *)((*(u *)((vib) + (40UL))) + (64UL)))) { goto b27; } -b74: v130 = (u)zircline; - v131 = vc; - v132 = vop; - v133 = ((u (*)())(v130))(v131, v132); -b76: v134 = (u)zfputs; - v135 = *(u *)((vc) + (72UL)); - v136 = (u)"\011goto b"; - v137 = ((u (*)())(v134))(v135, v136); -b77: v138 = (u)zfputd; - v139 = *(u *)((vc) + (72UL)); - v140 = *(u *)(*(u *)((vib) + (40UL))); - v141 = ((u (*)())(v138))(v139, v140); -b78: v142 = (u)zfputs; - v143 = *(u *)((vc) + (72UL)); - v144 = (u)";\012"; - v145 = ((u (*)())(v142))(v143, v144); +b42: if (vkind != 29) goto b61; + v96 = (u)zircline; + v97 = vc; + v98 = vop; + v99 = ((u(*)())v96)(v97, v98); + if (!vdidlabel) goto b67; + v100 = 0; +b68: if (!v100) goto b63; + v101 = (u)zfputs; + v102 = *(u*)(vc + 72); + v103 = (u)"b"; + v104 = ((u(*)())v101)(v102, v103); + v105 = (u)zfputd; + v106 = *(u*)(vc + 72); + v107 = *(u*)vib; + v108 = ((u(*)())v105)(v106, v107); + v109 = (u)zfputs; + v110 = *(u*)(vc + 72); + v111 = (u)":"; + v112 = ((u(*)())v109)(v110, v111); + vdidlabel = 1; +b63: v113 = (u)zfputs; + v114 = *(u*)(vc + 72); + v115 = (u)"\011"; + v116 = ((u(*)())v113)(v114, v115); + v117 = (u)zfputs; + v118 = *(u*)(vc + 72); + v119 = (u)"if ("; + v120 = ((u(*)())v117)(v118, v119); + v121 = (u)zircop_neg; + v122 = vc; + v123 = vic; + v124 = vib; + v125 = *(u*)(vop + 8); + v126 = 20; + v127 = ((u(*)())v121)(v122, v123, v124, v125, v126); + v128 = (u)zfputs; + v129 = *(u*)(vc + 72); + v130 = (u)") goto b"; + v131 = ((u(*)())v128)(v129, v130); + v132 = (u)zfputd; + v133 = *(u*)(vc + 72); + v134 = *(u*)*(u*)(vib + 48); + v135 = ((u(*)())v132)(v133, v134); + v136 = (u)zfputs; + v137 = *(u*)(vc + 72); + v138 = (u)";\012"; + v139 = ((u(*)())v136)(v137, v138); + if (!(*(u*)(*(u*)(vib + 40) + 64) & 1)) goto b27; + v140 = (u)zircline; + v141 = vc; + v142 = vop; + v143 = ((u(*)())v140)(v141, v142); + v144 = (u)zfputs; + v145 = *(u*)(vc + 72); + v146 = (u)"\011"; + v147 = ((u(*)())v144)(v145, v146); + v148 = (u)zfputs; + v149 = *(u*)(vc + 72); + v150 = (u)"goto b"; + v151 = ((u(*)())v148)(v149, v150); + v152 = (u)zfputd; + v153 = *(u*)(vc + 72); + v154 = *(u*)*(u*)(vib + 40); + v155 = ((u(*)())v152)(v153, v154); + v156 = (u)zfputs; + v157 = *(u*)(vc + 72); + v158 = (u)";\012"; + v159 = ((u(*)())v156)(v157, v158); goto b27; -b63: v95 = 1UL; - goto b64; -b57: if ((vkind) != (30UL)) { goto b81; } -b80: v146 = (u)zircline; - v147 = vc; - v148 = vop; - v149 = ((u (*)())(v146))(v147, v148); -b82: if (!(vdidlabel)) { goto b87; } -b86: v150 = 0UL; - goto b88; -b88: if (!(v150)) { goto b83; } -b84: v151 = (u)zfputs; - v152 = *(u *)((vc) + (72UL)); - v153 = (u)"b"; - v154 = ((u (*)())(v151))(v152, v153); -b89: v155 = (u)zfputd; - v156 = *(u *)((vc) + (72UL)); - v157 = *(u *)(vib); - v158 = ((u (*)())(v155))(v156, v157); -b90: v159 = (u)zfputs; - v160 = *(u *)((vc) + (72UL)); - v161 = (u)":"; - v162 = ((u (*)())(v159))(v160, v161); -b91: vdidlabel = 1UL; - goto b83; -b83: v163 = (u)zfputs; - v164 = *(u *)((vc) + (72UL)); - v165 = (u)"\011return "; - v166 = ((u (*)())(v163))(v164, v165); -b92: v167 = (u)zircop; - v168 = vc; - v169 = vic; - v170 = vib; - v171 = *(u *)((vop) + (8UL)); - v172 = ((u (*)())(v167))(v168, v169, v170, v171); -b93: v173 = (u)zfputs; - v174 = *(u *)((vc) + (72UL)); - v175 = (u)";\012"; - v176 = ((u (*)())(v173))(v174, v175); +b67: v100 = 1; + goto b68; +b61: if (vkind != 30) goto b87; + v160 = (u)zircline; + v161 = vc; + v162 = vop; + v163 = ((u(*)())v160)(v161, v162); + if (!vdidlabel) goto b93; + v164 = 0; +b94: if (!v164) goto b89; + v165 = (u)zfputs; + v166 = *(u*)(vc + 72); + v167 = (u)"b"; + v168 = ((u(*)())v165)(v166, v167); + v169 = (u)zfputd; + v170 = *(u*)(vc + 72); + v171 = *(u*)vib; + v172 = ((u(*)())v169)(v170, v171); + v173 = (u)zfputs; + v174 = *(u*)(vc + 72); + v175 = (u)":"; + v176 = ((u(*)())v173)(v174, v175); + vdidlabel = 1; +b89: v177 = (u)zfputs; + v178 = *(u*)(vc + 72); + v179 = (u)"\011"; + v180 = ((u(*)())v177)(v178, v179); + v181 = (u)zfputs; + v182 = *(u*)(vc + 72); + v183 = (u)"return "; + v184 = ((u(*)())v181)(v182, v183); + v185 = (u)zircop; + v186 = vc; + v187 = vic; + v188 = vib; + v189 = *(u*)(vop + 8); + v190 = 20; + v191 = ((u(*)())v185)(v186, v187, v188, v189, v190); + v192 = (u)zfputs; + v193 = *(u*)(vc + 72); + v194 = (u)";\012"; + v195 = ((u(*)())v192)(v193, v194); goto b27; -b87: v150 = 1UL; - goto b88; -b81: v177 = (u)zdie; - v178 = (u)"invalid op"; - v179 = ((u (*)())(v177))(v178); +b93: v164 = 1; + goto b94; +b87: v196 = (u)zdie; + v197 = (u)"invalid op"; + v198 = ((u(*)())v196)(v197); goto b27; -b3: vop = *(u *)((*(u *)((vib) + (8UL))) + ((vi) * (8UL))); - vkind = *(u *)(vop); - if ((vkind) != (8UL)) { goto b10; } -b9: v7 = 1UL; - goto b12; -b12: if (!(v7)) { goto b6; } -b7: vi = (vi) + (1UL); +b3: vop = *(u*)(*(u*)(vib + 8) + vi * 8); + vkind = *(u*)vop; + if (vkind != 8) goto b10; + v7 = 1; +b12: if (!v7) goto b6; + vi = vi + 1; goto b1; b6: v8 = (u)zircline; v9 = vc; v10 = vop; - v11 = ((u (*)())(v8))(v9, v10); -b14: if (!(vdidlabel)) { goto b19; } -b18: v12 = 0UL; - goto b20; -b20: if (!(v12)) { goto b15; } -b16: v13 = (u)zfputs; - v14 = *(u *)((vc) + (72UL)); + v11 = ((u(*)())v8)(v9, v10); + if (!vdidlabel) goto b19; + v12 = 0; +b20: if (!v12) goto b15; + v13 = (u)zfputs; + v14 = *(u*)(vc + 72); v15 = (u)"b"; - v16 = ((u (*)())(v13))(v14, v15); -b21: v17 = (u)zfputd; - v18 = *(u *)((vc) + (72UL)); - v19 = *(u *)(vib); - v20 = ((u (*)())(v17))(v18, v19); -b22: v21 = (u)zfputs; - v22 = *(u *)((vc) + (72UL)); + v16 = ((u(*)())v13)(v14, v15); + v17 = (u)zfputd; + v18 = *(u*)(vc + 72); + v19 = *(u*)vib; + v20 = ((u(*)())v17)(v18, v19); + v21 = (u)zfputs; + v22 = *(u*)(vc + 72); v23 = (u)":"; - v24 = ((u (*)())(v21))(v22, v23); -b23: vdidlabel = 1UL; - goto b15; + v24 = ((u(*)())v21)(v22, v23); + vdidlabel = 1; b15: v25 = (u)zfputs; - v26 = *(u *)((vc) + (72UL)); + v26 = *(u*)(vc + 72); v27 = (u)"\011"; - v28 = ((u (*)())(v25))(v26, v27); -b24: v29 = (u)zircop; + v28 = ((u(*)())v25)(v26, v27); + v29 = (u)zircop; v30 = vc; v31 = vic; v32 = vib; v33 = vop; - v34 = ((u (*)())(v29))(v30, v31, v32, v33); -b25: v35 = (u)zfputs; - v36 = *(u *)((vc) + (72UL)); - v37 = (u)";\012"; - v38 = ((u (*)())(v35))(v36, v37); -b26: vi = (vi) + (1UL); + v34 = 20; + v35 = ((u(*)())v29)(v30, v31, v32, v33, v34); + v36 = (u)zfputs; + v37 = *(u*)(vc + 72); + v38 = (u)";\012"; + v39 = ((u(*)())v36)(v37, v38); + vi = vi + 1; goto b1; -b19: v12 = 1UL; +b19: v12 = 1; goto b20; -b10: if ((vkind) != (7UL)) { goto b13; } -b11: v7 = 1UL; +b10: if (vkind != 7) goto b13; + v7 = 1; goto b12; -b13: v7 = 0UL; +b13: v7 = 0; goto b12; } -u zircbody(u vc, u vic, u vib) { +u zircbody(u vc, u vic, u vib){ u v3 = 0; u v4 = 0; u v5 = 0; @@ -16863,48 +16544,45 @@ u zircbody(u vc, u vic, u vib) { u v18 = 0; u v19 = 0; u v20 = 0; -b0: if (!(vib)) { goto b9; } -b8: v4 = 0UL; - goto b10; -b10: if (!(v4)) { goto b5; } -b4: v3 = 1UL; - goto b7; -b7: if (!(v3)) { goto b1; } -b2: return 0UL; -b1: *(u *)((vib) + (64UL)) = 1UL; + if (!vib) goto b9; + v4 = 0; +b10: if (!v4) goto b5; + v3 = 1; +b7: if (!v3) goto b1; + return 0; +b1: *(u*)(vib + 64) = *(u*)(vib + 64) | 1; v5 = (u)zircblock; v6 = vc; v7 = vic; v8 = vib; - v9 = ((u (*)())(v5))(v6, v7, v8); -b12: if (!(*(u *)((vib) + (40UL)))) { goto b13; } -b14: v10 = (u)zircbody; + v9 = ((u(*)())v5)(v6, v7, v8); + if (!*(u*)(vib + 40)) goto b13; + v10 = (u)zircbody; v11 = vc; v12 = vic; - v13 = *(u *)((vib) + (40UL)); - v14 = ((u (*)())(v10))(v11, v12, v13); -b13: if (!(*(u *)((vib) + (48UL)))) { goto b21; } -b20: if ((*(u *)(*(u *)((*(u *)((vib) + (8UL))) + (((*(u *)((vib) + (16UL))) - (1UL)) * (8UL))))) != (29UL)) { goto b21; } -b22: v15 = 1UL; - goto b23; -b23: if (!(v15)) { goto b17; } -b18: v16 = (u)zircbody; + v13 = *(u*)(vib + 40); + v14 = ((u(*)())v10)(v11, v12, v13); +b13: if (!*(u*)(vib + 48)) goto b21; + if (*(u*)*(u*)(*(u*)(vib + 8) + (*(u*)(vib + 16) - 1) * 8) != 29) goto b21; + v15 = 1; +b23: if (!v15) goto b17; + v16 = (u)zircbody; v17 = vc; v18 = vic; - v19 = *(u *)((vib) + (48UL)); - v20 = ((u (*)())(v16))(v17, v18, v19); -b17: return 0UL; -b21: v15 = 0UL; + v19 = *(u*)(vib + 48); + v20 = ((u(*)())v16)(v17, v18, v19); +b17: return 0; +b21: v15 = 0; goto b23; -b5: if (!(*(u *)((vib) + (64UL)))) { goto b11; } -b6: v3 = 1UL; +b5: if (!(*(u*)(vib + 64) & 1)) goto b11; + v3 = 1; goto b7; -b11: v3 = 0UL; +b11: v3 = 0; goto b7; -b9: v4 = 1UL; +b9: v4 = 1; goto b10; } -u zirccall(u vc, u vic, u vib, u vop) { +u zirccall(u vc, u vic, u vib, u vop){ u v4 = 0; u v5 = 0; u v6 = 0; @@ -16966,73 +16644,83 @@ u zirccall(u vc, u vic, u vib, u vop) { u v62 = 0; u v63 = 0; u v64 = 0; -b0: v4 = (u)zfputs; - v5 = *(u *)((vc) + (72UL)); + u v65 = 0; + u v66 = 0; + u v67 = 0; + u v68 = 0; + u v69 = 0; + v4 = (u)zfputs; + v5 = *(u*)(vc + 72); v6 = (u)"\011"; - v7 = ((u (*)())(v4))(v5, v6); -b1: v8 = (u)zircretval; + v7 = ((u(*)())v4)(v5, v6); + v8 = (u)zircretval; v9 = vc; v10 = vic; v11 = vib; - v12 = ((u (*)())(v8))(v9, v10, v11); -b2: if ((*(u *)(*(u *)((vop) + (8UL)))) == (2UL)) { goto b5; } -b4: v13 = (u)zfputs; - v14 = *(u *)((vc) + (72UL)); - v15 = (u)"((u (*)())("; - v16 = ((u (*)())(v13))(v14, v15); -b6: v17 = (u)zircop; + v12 = ((u(*)())v8)(v9, v10, v11); + if (*(u*)*(u*)(vop + 8) == 2) goto b5; + v13 = (u)zfputs; + v14 = *(u*)(vc + 72); + v15 = (u)"((u(*)())"; + v16 = ((u(*)())v13)(v14, v15); + v17 = (u)zircop; v18 = vc; v19 = vic; v20 = vib; - v21 = *(u *)((vop) + (8UL)); - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b7: v23 = (u)zfputs; - v24 = *(u *)((vc) + (72UL)); - v25 = (u)"))("; - v26 = ((u (*)())(v23))(v24, v25); -b3: v39 = (u)zircargs; - v40 = vc; - v41 = vic; - v42 = vib; - v43 = *(u *)((vop) + (24UL)); - v44 = ((u (*)())(v39))(v40, v41, v42, v43); -b12: v45 = (u)zfputs; - v46 = *(u *)((vc) + (72UL)); - v47 = (u)");\012"; - v48 = ((u (*)())(v45))(v46, v47); -b13: if (!(*(u *)((*(u *)((vib) + (40UL))) + (64UL)))) { goto b14; } -b15: v49 = (u)zircline; - v50 = vc; - v51 = vop; - v52 = ((u (*)())(v49))(v50, v51); -b17: v53 = (u)zfputs; - v54 = *(u *)((vc) + (72UL)); - v55 = (u)"\011goto b"; - v56 = ((u (*)())(v53))(v54, v55); -b18: v57 = (u)zfputd; - v58 = *(u *)((vc) + (72UL)); - v59 = *(u *)(*(u *)((vib) + (40UL))); - v60 = ((u (*)())(v57))(v58, v59); -b19: v61 = (u)zfputs; - v62 = *(u *)((vc) + (72UL)); - v63 = (u)";\012"; - v64 = ((u (*)())(v61))(v62, v63); -b14: return 0UL; -b5: v27 = (u)zfputs; - v28 = *(u *)((vc) + (72UL)); - v29 = (u)"z"; - v30 = ((u (*)())(v27))(v28, v29); -b9: v31 = (u)zfputs; - v32 = *(u *)((vc) + (72UL)); - v33 = *(u *)((*(u *)((vop) + (8UL))) + (32UL)); - v34 = ((u (*)())(v31))(v32, v33); -b10: v35 = (u)zfputs; - v36 = *(u *)((vc) + (72UL)); - v37 = (u)"("; - v38 = ((u (*)())(v35))(v36, v37); + v21 = *(u*)(vop + 8); + v22 = 2; + v23 = ((u(*)())v17)(v18, v19, v20, v21, v22); + v24 = (u)zfputs; + v25 = *(u*)(vc + 72); + v26 = (u)")("; + v27 = ((u(*)())v24)(v25, v26); +b3: v40 = (u)zircargs; + v41 = vc; + v42 = vic; + v43 = vib; + v44 = *(u*)(vop + 24); + v45 = ((u(*)())v40)(v41, v42, v43, v44); + v46 = (u)zfputs; + v47 = *(u*)(vc + 72); + v48 = (u)");\012"; + v49 = ((u(*)())v46)(v47, v48); + if (!(*(u*)(*(u*)(vib + 40) + 64) & 1)) goto b14; + v50 = (u)zircline; + v51 = vc; + v52 = vop; + v53 = ((u(*)())v50)(v51, v52); + v54 = (u)zfputs; + v55 = *(u*)(vc + 72); + v56 = (u)"\011"; + v57 = ((u(*)())v54)(v55, v56); + v58 = (u)zfputs; + v59 = *(u*)(vc + 72); + v60 = (u)"goto b"; + v61 = ((u(*)())v58)(v59, v60); + v62 = (u)zfputd; + v63 = *(u*)(vc + 72); + v64 = *(u*)*(u*)(vib + 40); + v65 = ((u(*)())v62)(v63, v64); + v66 = (u)zfputs; + v67 = *(u*)(vc + 72); + v68 = (u)";\012"; + v69 = ((u(*)())v66)(v67, v68); +b14: return 0; +b5: v28 = (u)zfputs; + v29 = *(u*)(vc + 72); + v30 = (u)"z"; + v31 = ((u(*)())v28)(v29, v30); + v32 = (u)zfputs; + v33 = *(u*)(vc + 72); + v34 = *(u*)(*(u*)(vop + 8) + 32); + v35 = ((u(*)())v32)(v33, v34); + v36 = (u)zfputs; + v37 = *(u*)(vc + 72); + v38 = (u)"("; + v39 = ((u(*)())v36)(v37, v38); goto b3; } -u zircdecl(u vc, u vic) { +u zircdecl(u vc, u vic){ u vi = 0; u viv = 0; u v4 = 0; @@ -17063,44 +16751,43 @@ u zircdecl(u vc, u vic) { u v29 = 0; u v30 = 0; u v31 = 0; -b0: v4 = (u)zfputs; - v5 = *(u *)((vc) + (72UL)); + v4 = (u)zfputs; + v5 = *(u*)(vc + 72); v6 = (u)"u z"; - v7 = ((u (*)())(v4))(v5, v6); -b1: v8 = (u)zfputs; - v9 = *(u *)((vc) + (72UL)); - v10 = *(u *)((vic) + (24UL)); - v11 = ((u (*)())(v8))(v9, v10); -b2: v12 = (u)zfputs; - v13 = *(u *)((vc) + (72UL)); + v7 = ((u(*)())v4)(v5, v6); + v8 = (u)zfputs; + v9 = *(u*)(vc + 72); + v10 = *(u*)(vic + 24); + v11 = ((u(*)())v8)(v9, v10); + v12 = (u)zfputs; + v13 = *(u*)(vc + 72); v14 = (u)"("; - v15 = ((u (*)())(v12))(v13, v14); -b3: vi = 0UL; - goto b4; -b4: if ((vi) != (*(u *)((vic) + (136UL)))) { goto b6; } -b5: v28 = (u)zfputs; - v29 = *(u *)((vc) + (72UL)); + v15 = ((u(*)())v12)(v13, v14); + vi = 0; +b4: if (vi != *(u*)(vic + 136)) goto b6; + v28 = (u)zfputs; + v29 = *(u*)(vc + 72); v30 = (u)")"; - v31 = ((u (*)())(v28))(v29, v30); -b15: return 0UL; -b6: viv = *(u *)((*(u *)((vic) + (112UL))) + ((vi) * (8UL))); + v31 = ((u(*)())v28)(v29, v30); + return 0; +b6: viv = *(u*)(*(u*)(vic + 112) + vi * 8); v16 = (u)zfputs; - v17 = *(u *)((vc) + (72UL)); + v17 = *(u*)(vc + 72); v18 = (u)"u v"; - v19 = ((u (*)())(v16))(v17, v18); -b9: v20 = (u)zfputs; - v21 = *(u *)((vc) + (72UL)); - v22 = *(u *)(viv); - v23 = ((u (*)())(v20))(v21, v22); -b10: vi = (vi) + (1UL); - if ((vi) == (*(u *)((vic) + (136UL)))) { goto b4; } -b12: v24 = (u)zfputs; - v25 = *(u *)((vc) + (72UL)); + v19 = ((u(*)())v16)(v17, v18); + v20 = (u)zfputs; + v21 = *(u*)(vc + 72); + v22 = *(u*)viv; + v23 = ((u(*)())v20)(v21, v22); + vi = vi + 1; + if (vi == *(u*)(vic + 136)) goto b4; + v24 = (u)zfputs; + v25 = *(u*)(vc + 72); v26 = (u)", "; - v27 = ((u (*)())(v24))(v25, v26); + v27 = ((u(*)())v24)(v25, v26); goto b4; } -u zircdefine(u vc, u vd) { +u zircdefine(u vc, u vd){ u vi = 0; u vic = 0; u viv = 0; @@ -17181,133 +16868,128 @@ u zircdefine(u vc, u vd) { u v80 = 0; u v81 = 0; u v82 = 0; -b0: vic = *(u *)((vd) + (104UL)); - if (!(vic)) { goto b5; } -b4: v8 = 0UL; - goto b6; -b6: if (!(v8)) { goto b1; } -b2: return 0UL; -b1: vi = 0UL; - goto b7; -b7: if ((vi) != (*(u *)((vic) + (120UL)))) { goto b9; } -b8: vtop = *(u *)(*(u *)((vic) + (64UL))); + u v83 = 0; + vic = *(u*)(vd + 104); + if (!vic) goto b5; + v8 = 0; +b6: if (!v8) goto b1; + return 0; +b1: vi = 0; +b7: if (vi != *(u*)(vic + 120)) goto b9; + vtop = *(u*)*(u*)(vic + 64); v9 = (u)zircuse; v10 = vc; v11 = vic; v12 = vtop; - v13 = ((u (*)())(v9))(v10, v11, v12); -b12: v14 = (u)zirreset; - v15 = vtop; - v16 = ((u (*)())(v14))(v15); -b13: v17 = (u)zircdecl; - v18 = vc; - v19 = vic; - v20 = ((u (*)())(v17))(v18, v19); -b14: v21 = (u)zfputs; - v22 = *(u *)((vc) + (72UL)); - v23 = (u)" {\012"; - v24 = ((u (*)())(v21))(v22, v23); -b15: vi = *(u *)((vic) + (136UL)); - goto b16; -b16: if ((vi) != (*(u *)((vic) + (120UL)))) { goto b18; } -b17: v71 = (u)zircbody; - v72 = vc; - v73 = vic; - v74 = vtop; - v75 = ((u (*)())(v71))(v72, v73, v74); -b51: v76 = (u)zirreset; - v77 = vtop; - v78 = ((u (*)())(v76))(v77); -b52: v79 = (u)zfputs; - v80 = *(u *)((vc) + (72UL)); - v81 = (u)"}\012"; - v82 = ((u (*)())(v79))(v80, v81); -b53: vi = 0UL; - goto b54; -b54: if ((vi) != (*(u *)((vic) + (120UL)))) { goto b56; } -b55: return 0UL; -b56: viv = *(u *)((*(u *)((vic) + (112UL))) + ((vi) * (8UL))); - *(u *)((viv) + (48UL)) = 0UL; - vi = (vi) + (1UL); + v13 = ((u(*)())v9)(v10, v11, v12); + v14 = (u)zircdecl; + v15 = vc; + v16 = vic; + v17 = ((u(*)())v14)(v15, v16); + v18 = (u)zfputs; + v19 = *(u*)(vc + 72); + v20 = (u)"{\012"; + v21 = ((u(*)())v18)(v19, v20); + vi = *(u*)(vic + 136); +b15: if (vi != *(u*)(vic + 120)) goto b17; + v72 = (u)zircbody; + v73 = vc; + v74 = vic; + v75 = vtop; + v76 = ((u(*)())v72)(v73, v74, v75); + v77 = (u)zirreset; + v78 = vtop; + v79 = ((u(*)())v77)(v78); + v80 = (u)zfputs; + v81 = *(u*)(vc + 72); + v82 = (u)"}\012"; + v83 = ((u(*)())v80)(v81, v82); + vi = 0; +b54: if (vi != *(u*)(vic + 120)) goto b56; + return 0; +b56: viv = *(u*)(*(u*)(vic + 112) + vi * 8); + *(u*)(viv + 48) = 0; + vi = vi + 1; goto b54; -b18: viv = *(u *)((*(u *)((vic) + (112UL))) + ((vi) * (8UL))); - if (!(*(u *)((viv) + (48UL)))) { goto b25; } -b24: v25 = 0UL; - goto b26; -b26: if (!(v25)) { goto b21; } -b22: vi = (vi) + (1UL); - goto b16; -b21: v26 = (u)zfputs; - v27 = *(u *)((vc) + (72UL)); - v28 = (u)"\011u "; - v29 = ((u (*)())(v26))(v27, v28); -b27: if (!(*(u *)(viv))) { goto b30; } -b29: v30 = (u)zfputs; - v31 = *(u *)((vc) + (72UL)); - v32 = (u)"v"; - v33 = ((u (*)())(v30))(v31, v32); -b31: v34 = (u)zfputs; - v35 = *(u *)((vc) + (72UL)); - v36 = *(u *)(viv); - v37 = ((u (*)())(v34))(v35, v36); -b28: if (!(*(u *)((viv) + (24UL)))) { goto b39; } -b38: if ((*(u *)(*(u *)((viv) + (24UL)))) == (1UL)) { goto b39; } -b40: v46 = 1UL; - goto b41; -b41: if (!(v46)) { goto b37; } -b36: v47 = (u)ztype_sizeof; - v48 = vc; - v49 = *(u *)((viv) + (24UL)); - v50 = ((u (*)())(v47))(v48, v49); -b42: vsize = v50; - goto b35; -b35: if ((vsize) != (8UL)) { goto b45; } -b44: v51 = (u)zfputs; - v52 = *(u *)((vc) + (72UL)); - v53 = (u)" = 0"; - v54 = ((u (*)())(v51))(v52, v53); -b43: v67 = (u)zfputs; - v68 = *(u *)((vc) + (72UL)); - v69 = (u)";\012"; - v70 = ((u (*)())(v67))(v68, v69); -b50: vi = (vi) + (1UL); - goto b16; -b45: v55 = (u)zfputs; - v56 = *(u *)((vc) + (72UL)); - v57 = (u)"["; - v58 = ((u (*)())(v55))(v56, v57); -b47: v59 = (u)zfputd; - v60 = *(u *)((vc) + (72UL)); - v61 = (u)(((s)((vsize) + (7UL))) / ((s)(8UL))); - v62 = ((u (*)())(v59))(v60, v61); -b48: v63 = (u)zfputs; - v64 = *(u *)((vc) + (72UL)); - v65 = (u)"] = {0}"; - v66 = ((u (*)())(v63))(v64, v65); +b17: viv = *(u*)(*(u*)(vic + 112) + vi * 8); + if (!*(u*)(viv + 48)) goto b24; + v22 = 0; +b25: if (!v22) goto b20; + vi = vi + 1; + goto b15; +b20: v23 = (u)zfputs; + v24 = *(u*)(vc + 72); + v25 = (u)"\011"; + v26 = ((u(*)())v23)(v24, v25); + v27 = (u)zfputs; + v28 = *(u*)(vc + 72); + v29 = (u)"u "; + v30 = ((u(*)())v27)(v28, v29); + if (!*(u*)viv) goto b30; + v31 = (u)zfputs; + v32 = *(u*)(vc + 72); + v33 = (u)"v"; + v34 = ((u(*)())v31)(v32, v33); + v35 = (u)zfputs; + v36 = *(u*)(vc + 72); + v37 = *(u*)viv; + v38 = ((u(*)())v35)(v36, v37); +b28: if (!*(u*)(viv + 24)) goto b39; + if (*(u*)*(u*)(viv + 24) == 1) goto b39; + v47 = 1; +b41: if (!v47) goto b37; + v48 = (u)ztype_sizeof; + v49 = vc; + v50 = *(u*)(viv + 24); + v51 = ((u(*)())v48)(v49, v50); + vsize = v51; +b35: if (vsize != 8) goto b45; + v52 = (u)zfputs; + v53 = *(u*)(vc + 72); + v54 = (u)" = 0"; + v55 = ((u(*)())v52)(v53, v54); +b43: v68 = (u)zfputs; + v69 = *(u*)(vc + 72); + v70 = (u)";\012"; + v71 = ((u(*)())v68)(v69, v70); + vi = vi + 1; + goto b15; +b45: v56 = (u)zfputs; + v57 = *(u*)(vc + 72); + v58 = (u)"["; + v59 = ((u(*)())v56)(v57, v58); + v60 = (u)zfputd; + v61 = *(u*)(vc + 72); + v62 = (u)((s)(vsize + 7) / (s)8); + v63 = ((u(*)())v60)(v61, v62); + v64 = (u)zfputs; + v65 = *(u*)(vc + 72); + v66 = (u)"] = {0}"; + v67 = ((u(*)())v64)(v65, v66); goto b43; -b37: vsize = 8UL; +b37: vsize = 8; goto b35; -b39: v46 = 0UL; +b39: v47 = 0; goto b41; -b30: v38 = (u)zfputs; - v39 = *(u *)((vc) + (72UL)); - v40 = (u)"v"; - v41 = ((u (*)())(v38))(v39, v40); -b33: v42 = (u)zfputd; - v43 = *(u *)((vc) + (72UL)); - v44 = vi; - v45 = ((u (*)())(v42))(v43, v44); +b30: v39 = (u)zfputs; + v40 = *(u*)(vc + 72); + v41 = (u)"v"; + v42 = ((u(*)())v39)(v40, v41); + v43 = (u)zfputd; + v44 = *(u*)(vc + 72); + v45 = vi; + v46 = ((u(*)())v43)(v44, v45); goto b28; -b25: v25 = 1UL; - goto b26; -b9: viv = *(u *)((*(u *)((vic) + (112UL))) + ((vi) * (8UL))); - *(u *)((viv) + (48UL)) = 0UL; - vi = (vi) + (1UL); +b24: v22 = 1; + goto b25; +b9: viv = *(u*)(*(u*)(vic + 112) + vi * 8); + *(u*)(viv + 48) = 0; + vi = vi + 1; goto b7; -b5: v8 = 1UL; +b5: v8 = 1; goto b6; } -u zircforward(u vc, u vd) { +u zircforward(u vc, u vd){ u vic = 0; u v3 = 0; u v4 = 0; @@ -17322,37 +17004,35 @@ u zircforward(u vc, u vd) { u v13 = 0; u v14 = 0; u v15 = 0; -b0: vic = *(u *)((vd) + (104UL)); - if (!(vic)) { goto b5; } -b4: v3 = 0UL; - goto b6; -b6: if (!(v3)) { goto b1; } -b2: return 0UL; + vic = *(u*)(vd + 104); + if (!vic) goto b5; + v3 = 0; +b6: if (!v3) goto b1; + return 0; b1: v4 = (u)zfputs; - v5 = *(u *)((vc) + (72UL)); + v5 = *(u*)(vc + 72); v6 = (u)"u z"; - v7 = ((u (*)())(v4))(v5, v6); -b7: v8 = (u)zfputs; - v9 = *(u *)((vc) + (72UL)); - v10 = *(u *)((vic) + (24UL)); - v11 = ((u (*)())(v8))(v9, v10); -b8: v12 = (u)zfputs; - v13 = *(u *)((vc) + (72UL)); + v7 = ((u(*)())v4)(v5, v6); + v8 = (u)zfputs; + v9 = *(u*)(vc + 72); + v10 = *(u*)(vic + 24); + v11 = ((u(*)())v8)(v9, v10); + v12 = (u)zfputs; + v13 = *(u*)(vc + 72); v14 = (u)"();\012"; - v15 = ((u (*)())(v12))(v13, v14); -b9: return 0UL; -b5: v3 = 1UL; + v15 = ((u(*)())v12)(v13, v14); + return 0; +b5: v3 = 1; goto b6; } -u zircline(u vc, u vop) { -b0: return 0UL; +u zircline(u vc, u vop){ + return 0; } -u zircop(u vc, u vic, u vib, u vop) { +u zircop(u vc, u vic, u vib, u vop, u vpri){ u vkind = 0; u viv = 0; u vsize = 0; - u v7 = 0; - u v8 = 0; + u vmypri = 0; u v9 = 0; u v10 = 0; u v11 = 0; @@ -17871,663 +17551,694 @@ u zircop(u vc, u vic, u vib, u vop) { u v524 = 0; u v525 = 0; u v526 = 0; - u v527 = 0; - u v528 = 0; - u v529 = 0; - u v530 = 0; - u v531 = 0; - u v532 = 0; - u v533 = 0; - u v534 = 0; - u v535 = 0; - u v536 = 0; - u v537 = 0; - u v538 = 0; - u v539 = 0; - u v540 = 0; - u v541 = 0; - u v542 = 0; - u v543 = 0; - u v544 = 0; - u v545 = 0; - u v546 = 0; - u v547 = 0; - u v548 = 0; - u v549 = 0; - u v550 = 0; - u v551 = 0; -b0: vkind = *(u *)(vop); - if ((vkind) != (0UL)) { goto b5; } -b4: v7 = 1UL; - goto b7; -b7: if (!(v7)) { goto b3; } -b2: viv = *(u *)((*(u *)((vic) + (112UL))) + ((*(u *)((vop) + (24UL))) * (8UL))); - if (!(*(u *)((viv) + (24UL)))) { goto b13; } -b12: if ((*(u *)(*(u *)((viv) + (24UL)))) == (1UL)) { goto b13; } -b14: v8 = 1UL; - goto b15; -b15: if (!(v8)) { goto b11; } -b10: v9 = (u)ztype_sizeof; - v10 = vc; - v11 = *(u *)((viv) + (24UL)); - v12 = ((u (*)())(v9))(v10, v11); -b16: vsize = v12; - goto b9; -b9: if ((vsize) != (8UL)) { goto b19; } -b18: if ((vkind) != (1UL)) { goto b17; } -b21: v13 = (u)zfputs; - v14 = *(u *)((vc) + (72UL)); - v15 = (u)"(u)&"; - v16 = ((u (*)())(v13))(v14, v15); -b17: if (!(*(u *)(viv))) { goto b31; } -b30: v25 = (u)zfputs; - v26 = *(u *)((vc) + (72UL)); - v27 = (u)"v"; - v28 = ((u (*)())(v25))(v26, v27); -b32: v29 = (u)zfputs; - v30 = *(u *)((vc) + (72UL)); - v31 = *(u *)(viv); - v32 = ((u (*)())(v29))(v30, v31); -b1: return 0UL; -b31: v33 = (u)zfputs; - v34 = *(u *)((vc) + (72UL)); - v35 = (u)"v"; - v36 = ((u (*)())(v33))(v34, v35); -b34: v37 = (u)zfputd; - v38 = *(u *)((vc) + (72UL)); - v39 = *(u *)((vop) + (24UL)); - v40 = ((u (*)())(v37))(v38, v39); - goto b1; -b19: if ((vkind) != (1UL)) { goto b26; } -b25: v17 = (u)zfputs; - v18 = *(u *)((vc) + (72UL)); - v19 = (u)"(u)"; - v20 = ((u (*)())(v17))(v18, v19); - goto b17; -b26: v21 = (u)zfputs; - v22 = *(u *)((vc) + (72UL)); - v23 = (u)"*"; - v24 = ((u (*)())(v21))(v22, v23); - goto b17; -b11: vsize = 8UL; - goto b9; -b13: v8 = 0UL; - goto b15; -b3: if ((vkind) != (2UL)) { goto b37; } -b36: v41 = (u)zfputs; - v42 = *(u *)((vc) + (72UL)); - v43 = (u)"(u)z"; - v44 = ((u (*)())(v41))(v42, v43); -b38: v45 = (u)zfputs; - v46 = *(u *)((vc) + (72UL)); - v47 = *(u *)((vop) + (32UL)); - v48 = ((u (*)())(v45))(v46, v47); - goto b1; -b37: if ((vkind) != (3UL)) { goto b41; } -b40: v49 = (u)zfputd; - v50 = *(u *)((vc) + (72UL)); - v51 = *(u *)((vop) + (24UL)); - v52 = ((u (*)())(v49))(v50, v51); -b42: v53 = (u)zfputs; - v54 = *(u *)((vc) + (72UL)); - v55 = (u)"UL"; - v56 = ((u (*)())(v53))(v54, v55); - goto b1; -b41: if ((vkind) != (4UL)) { goto b45; } -b44: v57 = (u)zfputs; - v58 = *(u *)((vc) + (72UL)); - v59 = (u)"(u)"; - v60 = ((u (*)())(v57))(v58, v59); -b46: v61 = (u)zircstr; - v62 = vc; - v63 = *(u *)((vop) + (32UL)); - v64 = *(u *)((vop) + (40UL)); - v65 = ((u (*)())(v61))(v62, v63, v64); - goto b1; -b45: if ((vkind) != (5UL)) { goto b49; } -b48: if ((*(u *)(*(u *)((vop) + (48UL)))) != (3UL)) { goto b52; } -b51: v66 = (u)zfputs; - v67 = *(u *)((vc) + (72UL)); - v68 = (u)"(u)*(b *)("; - v69 = ((u (*)())(v66))(v67, v68); -b53: v70 = (u)zircop; - v71 = vc; - v72 = vic; - v73 = vib; - v74 = *(u *)((vop) + (8UL)); - v75 = ((u (*)())(v70))(v71, v72, v73, v74); -b54: v76 = (u)zfputs; - v77 = *(u *)((vc) + (72UL)); - v78 = (u)")"; - v79 = ((u (*)())(v76))(v77, v78); + vkind = *(u*)vop; + if (vkind != 0) goto b5; + v9 = 1; +b7: if (!v9) goto b3; + vmypri = 2; +b1: if ((s)vmypri <= (s)vpri) goto b56; + v13 = (u)zfputs; + v14 = *(u*)(vc + 72); + v15 = (u)"("; + v16 = ((u(*)())v13)(v14, v15); +b56: if (vkind != 0) goto b64; + v17 = 1; +b66: if (!v17) goto b62; + viv = *(u*)(*(u*)(vic + 112) + *(u*)(vop + 24) * 8); + if (!*(u*)(viv + 24)) goto b72; + if (*(u*)*(u*)(viv + 24) == 1) goto b72; + v18 = 1; +b74: if (!v18) goto b70; + v19 = (u)ztype_sizeof; + v20 = vc; + v21 = *(u*)(viv + 24); + v22 = ((u(*)())v19)(v20, v21); + vsize = v22; +b68: if (vsize != 8) goto b78; + if (vkind != 1) goto b76; + v23 = (u)zfputs; + v24 = *(u*)(vc + 72); + v25 = (u)"(u)&"; + v26 = ((u(*)())v23)(v24, v25); +b76: if (!*(u*)viv) goto b90; + v35 = (u)zfputs; + v36 = *(u*)(vc + 72); + v37 = (u)"v"; + v38 = ((u(*)())v35)(v36, v37); + v39 = (u)zfputs; + v40 = *(u*)(vc + 72); + v41 = *(u*)viv; + v42 = ((u(*)())v39)(v40, v41); +b60: if ((s)vmypri <= (s)vpri) goto b248; + v523 = (u)zfputs; + v524 = *(u*)(vc + 72); + v525 = (u)")"; + v526 = ((u(*)())v523)(v524, v525); +b248: return 0; +b90: v43 = (u)zfputs; + v44 = *(u*)(vc + 72); + v45 = (u)"v"; + v46 = ((u(*)())v43)(v44, v45); + v47 = (u)zfputd; + v48 = *(u*)(vc + 72); + v49 = *(u*)(vop + 24); + v50 = ((u(*)())v47)(v48, v49); + goto b60; +b78: if (vkind != 1) goto b85; + v27 = (u)zfputs; + v28 = *(u*)(vc + 72); + v29 = (u)"(u)"; + v30 = ((u(*)())v27)(v28, v29); + goto b76; +b85: v31 = (u)zfputs; + v32 = *(u*)(vc + 72); + v33 = (u)"*"; + v34 = ((u(*)())v31)(v32, v33); + goto b76; +b70: vsize = 8; + goto b68; +b72: v18 = 0; + goto b74; +b62: if (vkind != 2) goto b96; + v51 = (u)zfputs; + v52 = *(u*)(vc + 72); + v53 = (u)"(u)z"; + v54 = ((u(*)())v51)(v52, v53); + v55 = (u)zfputs; + v56 = *(u*)(vc + 72); + v57 = *(u*)(vop + 32); + v58 = ((u(*)())v55)(v56, v57); + goto b60; +b96: if (vkind != 3) goto b100; + v59 = (u)zfputd; + v60 = *(u*)(vc + 72); + v61 = *(u*)(vop + 24); + v62 = ((u(*)())v59)(v60, v61); + if ((s)*(u*)(vop + 24) <= (s)32768) goto b106; + v63 = 1; +b108: if (!v63) goto b60; + v64 = (u)zfputs; + v65 = *(u*)(vc + 72); + v66 = (u)"UL"; + v67 = ((u(*)())v64)(v65, v66); + goto b60; +b106: if ((s)*(u*)(vop + 24) >= (s)0) goto b109; + v63 = 1; + goto b108; +b109: v63 = 0; + goto b108; +b100: if (vkind != 4) goto b112; + v68 = (u)zfputs; + v69 = *(u*)(vc + 72); + v70 = (u)"(u)"; + v71 = ((u(*)())v68)(v69, v70); + v72 = (u)zircstr; + v73 = vc; + v74 = *(u*)(vop + 32); + v75 = *(u*)(vop + 40); + v76 = ((u(*)())v72)(v73, v74, v75); + goto b60; +b112: if (vkind != 5) goto b116; + if (*(u*)*(u*)(vop + 48) != 3) goto b119; + v77 = (u)zfputs; + v78 = *(u*)(vc + 72); + v79 = (u)"(u)*(b*)"; + v80 = ((u(*)())v77)(v78, v79); + v81 = (u)zircop; + v82 = vc; + v83 = vic; + v84 = vib; + v85 = *(u*)(vop + 8); + v86 = 2; + v87 = ((u(*)())v81)(v82, v83, v84, v85, v86); + goto b60; +b119: v88 = (u)zfputs; + v89 = *(u*)(vc + 72); + v90 = (u)"*(u*)"; + v91 = ((u(*)())v88)(v89, v90); + v92 = (u)zircop; + v93 = vc; + v94 = vic; + v95 = vib; + v96 = *(u*)(vop + 8); + v97 = 2; + v98 = ((u(*)())v92)(v93, v94, v95, v96, v97); + goto b60; +b116: if (vkind != 6) goto b125; + if (*(u*)*(u*)(vop + 8) != 0) goto b128; + v99 = (u)zircop; + v100 = vc; + v101 = vic; + v102 = vib; + v103 = *(u*)(vop + 8); + v104 = 14; + v105 = ((u(*)())v99)(v100, v101, v102, v103, v104); + v106 = (u)zfputs; + v107 = *(u*)(vc + 72); + v108 = (u)" = "; + v109 = ((u(*)())v106)(v107, v108); + v110 = (u)zircop; + v111 = vc; + v112 = vic; + v113 = vib; + v114 = *(u*)(vop + 16); + v115 = 14; + v116 = ((u(*)())v110)(v111, v112, v113, v114, v115); + goto b60; +b128: if (*(u*)*(u*)(vop + 8) != 5) goto b133; + if (*(u*)*(u*)(vop + 48) != 3) goto b136; + v117 = (u)zfputs; + v118 = *(u*)(vc + 72); + v119 = (u)"*(b*)"; + v120 = ((u(*)())v117)(v118, v119); +b134: v125 = (u)zircop; + v126 = vc; + v127 = vic; + v128 = vib; + v129 = *(u*)(*(u*)(vop + 8) + 8); + v130 = 2; + v131 = ((u(*)())v125)(v126, v127, v128, v129, v130); + v132 = (u)zfputs; + v133 = *(u*)(vc + 72); + v134 = (u)" = "; + v135 = ((u(*)())v132)(v133, v134); + v136 = (u)zircop; + v137 = vc; + v138 = vic; + v139 = vib; + v140 = *(u*)(vop + 16); + v141 = 14; + v142 = ((u(*)())v136)(v137, v138, v139, v140, v141); + goto b60; +b136: v121 = (u)zfputs; + v122 = *(u*)(vc + 72); + v123 = (u)"*(u*)"; + v124 = ((u(*)())v121)(v122, v123); + goto b134; +b133: v143 = (u)zdie; + v144 = (u)"invalid store"; + v145 = ((u(*)())v143)(v144); + goto b60; +b125: if (vkind != 9) goto b144; + v146 = (u)zfputs; + v147 = *(u*)(vc + 72); + v148 = (u)"-"; + v149 = ((u(*)())v146)(v147, v148); + v150 = (u)zircop; + v151 = vc; + v152 = vic; + v153 = vib; + v154 = *(u*)(vop + 8); + v155 = 2; + v156 = ((u(*)())v150)(v151, v152, v153, v154, v155); + goto b60; +b144: if (vkind != 10) goto b148; + v157 = (u)zfputs; + v158 = *(u*)(vc + 72); + v159 = (u)"~"; + v160 = ((u(*)())v157)(v158, v159); + v161 = (u)zircop; + v162 = vc; + v163 = vic; + v164 = vib; + v165 = *(u*)(vop + 8); + v166 = 2; + v167 = ((u(*)())v161)(v162, v163, v164, v165, v166); + goto b60; +b148: if (vkind != 11) goto b152; + v168 = (u)zircop; + v169 = vc; + v170 = vic; + v171 = vib; + v172 = *(u*)(vop + 8); + v173 = 4; + v174 = ((u(*)())v168)(v169, v170, v171, v172, v173); + v175 = (u)zfputs; + v176 = *(u*)(vc + 72); + v177 = (u)" + "; + v178 = ((u(*)())v175)(v176, v177); + v179 = (u)zircop; + v180 = vc; + v181 = vic; + v182 = vib; + v183 = *(u*)(vop + 16); + v184 = 4; + v185 = ((u(*)())v179)(v180, v181, v182, v183, v184); + goto b60; +b152: if (vkind != 12) goto b157; + v186 = (u)zircop; + v187 = vc; + v188 = vic; + v189 = vib; + v190 = *(u*)(vop + 8); + v191 = 8; + v192 = ((u(*)())v186)(v187, v188, v189, v190, v191); + v193 = (u)zfputs; + v194 = *(u*)(vc + 72); + v195 = (u)" & "; + v196 = ((u(*)())v193)(v194, v195); + v197 = (u)zircop; + v198 = vc; + v199 = vic; + v200 = vib; + v201 = *(u*)(vop + 16); + v202 = 8; + v203 = ((u(*)())v197)(v198, v199, v200, v201, v202); + goto b60; +b157: if (vkind != 13) goto b162; + v204 = (u)zircop; + v205 = vc; + v206 = vic; + v207 = vib; + v208 = *(u*)(vop + 8); + v209 = 10; + v210 = ((u(*)())v204)(v205, v206, v207, v208, v209); + v211 = (u)zfputs; + v212 = *(u*)(vc + 72); + v213 = (u)" | "; + v214 = ((u(*)())v211)(v212, v213); + v215 = (u)zircop; + v216 = vc; + v217 = vic; + v218 = vib; + v219 = *(u*)(vop + 16); + v220 = 10; + v221 = ((u(*)())v215)(v216, v217, v218, v219, v220); + goto b60; +b162: if (vkind != 14) goto b167; + v222 = (u)zircop; + v223 = vc; + v224 = vic; + v225 = vib; + v226 = *(u*)(vop + 8); + v227 = 9; + v228 = ((u(*)())v222)(v223, v224, v225, v226, v227); + v229 = (u)zfputs; + v230 = *(u*)(vc + 72); + v231 = (u)" ^ "; + v232 = ((u(*)())v229)(v230, v231); + v233 = (u)zircop; + v234 = vc; + v235 = vic; + v236 = vib; + v237 = *(u*)(vop + 16); + v238 = 9; + v239 = ((u(*)())v233)(v234, v235, v236, v237, v238); + goto b60; +b167: if (vkind != 15) goto b172; + v240 = (u)zfputs; + v241 = *(u*)(vc + 72); + v242 = (u)"(u)((s)"; + v243 = ((u(*)())v240)(v241, v242); + v244 = (u)zircop; + v245 = vc; + v246 = vic; + v247 = vib; + v248 = *(u*)(vop + 8); + v249 = 2; + v250 = ((u(*)())v244)(v245, v246, v247, v248, v249); + v251 = (u)zfputs; + v252 = *(u*)(vc + 72); + v253 = (u)" / (s)"; + v254 = ((u(*)())v251)(v252, v253); + v255 = (u)zircop; + v256 = vc; + v257 = vic; + v258 = vib; + v259 = *(u*)(vop + 16); + v260 = 2; + v261 = ((u(*)())v255)(v256, v257, v258, v259, v260); + v262 = (u)zfputs; + v263 = *(u*)(vc + 72); + v264 = (u)")"; + v265 = ((u(*)())v262)(v263, v264); + goto b60; +b172: if (vkind != 16) goto b179; + v266 = (u)zfputs; + v267 = *(u*)(vc + 72); + v268 = (u)"(u)((s)"; + v269 = ((u(*)())v266)(v267, v268); + v270 = (u)zircop; + v271 = vc; + v272 = vic; + v273 = vib; + v274 = *(u*)(vop + 8); + v275 = 2; + v276 = ((u(*)())v270)(v271, v272, v273, v274, v275); + v277 = (u)zfputs; + v278 = *(u*)(vc + 72); + v279 = (u)" % (s)"; + v280 = ((u(*)())v277)(v278, v279); + v281 = (u)zircop; + v282 = vc; + v283 = vic; + v284 = vib; + v285 = *(u*)(vop + 16); + v286 = 2; + v287 = ((u(*)())v281)(v282, v283, v284, v285, v286); + v288 = (u)zfputs; + v289 = *(u*)(vc + 72); + v290 = (u)")"; + v291 = ((u(*)())v288)(v289, v290); + goto b60; +b179: if (vkind != 17) goto b186; + v292 = (u)zircop; + v293 = vc; + v294 = vic; + v295 = vib; + v296 = *(u*)(vop + 8); + v297 = 6; + v298 = ((u(*)())v292)(v293, v294, v295, v296, v297); + v299 = (u)zfputs; + v300 = *(u*)(vc + 72); + v301 = (u)" << "; + v302 = ((u(*)())v299)(v300, v301); + v303 = (u)zircop; + v304 = vc; + v305 = vic; + v306 = vib; + v307 = *(u*)(vop + 16); + v308 = 6; + v309 = ((u(*)())v303)(v304, v305, v306, v307, v308); + goto b60; +b186: if (vkind != 18) goto b191; + v310 = (u)zircop; + v311 = vc; + v312 = vic; + v313 = vib; + v314 = *(u*)(vop + 8); + v315 = 6; + v316 = ((u(*)())v310)(v311, v312, v313, v314, v315); + v317 = (u)zfputs; + v318 = *(u*)(vc + 72); + v319 = (u)" >> "; + v320 = ((u(*)())v317)(v318, v319); + v321 = (u)zircop; + v322 = vc; + v323 = vic; + v324 = vib; + v325 = *(u*)(vop + 16); + v326 = 6; + v327 = ((u(*)())v321)(v322, v323, v324, v325, v326); + goto b60; +b191: if (vkind != 19) goto b196; + v328 = (u)zircop; + v329 = vc; + v330 = vic; + v331 = vib; + v332 = *(u*)(vop + 8); + v333 = 3; + v334 = ((u(*)())v328)(v329, v330, v331, v332, v333); + v335 = (u)zfputs; + v336 = *(u*)(vc + 72); + v337 = (u)" * "; + v338 = ((u(*)())v335)(v336, v337); + v339 = (u)zircop; + v340 = vc; + v341 = vic; + v342 = vib; + v343 = *(u*)(vop + 16); + v344 = 3; + v345 = ((u(*)())v339)(v340, v341, v342, v343, v344); + goto b60; +b196: if (vkind != 20) goto b201; + v346 = (u)zircop; + v347 = vc; + v348 = vic; + v349 = vib; + v350 = *(u*)(vop + 8); + v351 = 4; + v352 = ((u(*)())v346)(v347, v348, v349, v350, v351); + v353 = (u)zfputs; + v354 = *(u*)(vc + 72); + v355 = (u)" - "; + v356 = ((u(*)())v353)(v354, v355); + v357 = (u)zircop; + v358 = vc; + v359 = vic; + v360 = vib; + v361 = *(u*)(vop + 16); + v362 = 4; + v363 = ((u(*)())v357)(v358, v359, v360, v361, v362); + goto b60; +b201: if (vkind != 21) goto b206; + v364 = (u)zfputs; + v365 = *(u*)(vc + 72); + v366 = (u)"(u)("; + v367 = ((u(*)())v364)(v365, v366); + v368 = (u)zircop; + v369 = vc; + v370 = vic; + v371 = vib; + v372 = *(u*)(vop + 8); + v373 = 7; + v374 = ((u(*)())v368)(v369, v370, v371, v372, v373); + v375 = (u)zfputs; + v376 = *(u*)(vc + 72); + v377 = (u)" == "; + v378 = ((u(*)())v375)(v376, v377); + v379 = (u)zircop; + v380 = vc; + v381 = vic; + v382 = vib; + v383 = *(u*)(vop + 16); + v384 = 7; + v385 = ((u(*)())v379)(v380, v381, v382, v383, v384); + v386 = (u)zfputs; + v387 = *(u*)(vc + 72); + v388 = (u)")"; + v389 = ((u(*)())v386)(v387, v388); + goto b60; +b206: if (vkind != 22) goto b213; + v390 = (u)zfputs; + v391 = *(u*)(vc + 72); + v392 = (u)"(u)("; + v393 = ((u(*)())v390)(v391, v392); + v394 = (u)zircop; + v395 = vc; + v396 = vic; + v397 = vib; + v398 = *(u*)(vop + 8); + v399 = 7; + v400 = ((u(*)())v394)(v395, v396, v397, v398, v399); + v401 = (u)zfputs; + v402 = *(u*)(vc + 72); + v403 = (u)" != "; + v404 = ((u(*)())v401)(v402, v403); + v405 = (u)zircop; + v406 = vc; + v407 = vic; + v408 = vib; + v409 = *(u*)(vop + 16); + v410 = 7; + v411 = ((u(*)())v405)(v406, v407, v408, v409, v410); + v412 = (u)zfputs; + v413 = *(u*)(vc + 72); + v414 = (u)")"; + v415 = ((u(*)())v412)(v413, v414); + goto b60; +b213: if (vkind != 23) goto b220; + v416 = (u)zfputs; + v417 = *(u*)(vc + 72); + v418 = (u)"(u)((s)"; + v419 = ((u(*)())v416)(v417, v418); + v420 = (u)zircop; + v421 = vc; + v422 = vic; + v423 = vib; + v424 = *(u*)(vop + 8); + v425 = 6; + v426 = ((u(*)())v420)(v421, v422, v423, v424, v425); + v427 = (u)zfputs; + v428 = *(u*)(vc + 72); + v429 = (u)" > (s)"; + v430 = ((u(*)())v427)(v428, v429); + v431 = (u)zircop; + v432 = vc; + v433 = vic; + v434 = vib; + v435 = *(u*)(vop + 16); + v436 = 6; + v437 = ((u(*)())v431)(v432, v433, v434, v435, v436); + v438 = (u)zfputs; + v439 = *(u*)(vc + 72); + v440 = (u)")"; + v441 = ((u(*)())v438)(v439, v440); + goto b60; +b220: if (vkind != 24) goto b227; + v442 = (u)zfputs; + v443 = *(u*)(vc + 72); + v444 = (u)"(u)((s)"; + v445 = ((u(*)())v442)(v443, v444); + v446 = (u)zircop; + v447 = vc; + v448 = vic; + v449 = vib; + v450 = *(u*)(vop + 8); + v451 = 6; + v452 = ((u(*)())v446)(v447, v448, v449, v450, v451); + v453 = (u)zfputs; + v454 = *(u*)(vc + 72); + v455 = (u)" >= (s)"; + v456 = ((u(*)())v453)(v454, v455); + v457 = (u)zircop; + v458 = vc; + v459 = vic; + v460 = vib; + v461 = *(u*)(vop + 16); + v462 = 6; + v463 = ((u(*)())v457)(v458, v459, v460, v461, v462); + v464 = (u)zfputs; + v465 = *(u*)(vc + 72); + v466 = (u)")"; + v467 = ((u(*)())v464)(v465, v466); + goto b60; +b227: if (vkind != 25) goto b234; + v468 = (u)zfputs; + v469 = *(u*)(vc + 72); + v470 = (u)"(u)((s)"; + v471 = ((u(*)())v468)(v469, v470); + v472 = (u)zircop; + v473 = vc; + v474 = vic; + v475 = vib; + v476 = *(u*)(vop + 8); + v477 = 6; + v478 = ((u(*)())v472)(v473, v474, v475, v476, v477); + v479 = (u)zfputs; + v480 = *(u*)(vc + 72); + v481 = (u)" < (s)"; + v482 = ((u(*)())v479)(v480, v481); + v483 = (u)zircop; + v484 = vc; + v485 = vic; + v486 = vib; + v487 = *(u*)(vop + 16); + v488 = 6; + v489 = ((u(*)())v483)(v484, v485, v486, v487, v488); + v490 = (u)zfputs; + v491 = *(u*)(vc + 72); + v492 = (u)")"; + v493 = ((u(*)())v490)(v491, v492); + goto b60; +b234: if (vkind != 26) goto b241; + v494 = (u)zfputs; + v495 = *(u*)(vc + 72); + v496 = (u)"(u)((s)"; + v497 = ((u(*)())v494)(v495, v496); + v498 = (u)zircop; + v499 = vc; + v500 = vic; + v501 = vib; + v502 = *(u*)(vop + 8); + v503 = 6; + v504 = ((u(*)())v498)(v499, v500, v501, v502, v503); + v505 = (u)zfputs; + v506 = *(u*)(vc + 72); + v507 = (u)" <= (s)"; + v508 = ((u(*)())v505)(v506, v507); + v509 = (u)zircop; + v510 = vc; + v511 = vic; + v512 = vib; + v513 = *(u*)(vop + 16); + v514 = 6; + v515 = ((u(*)())v509)(v510, v511, v512, v513, v514); + v516 = (u)zfputs; + v517 = *(u*)(vc + 72); + v518 = (u)")"; + v519 = ((u(*)())v516)(v517, v518); + goto b60; +b241: v520 = (u)zdie; + v521 = (u)"invalid op"; + v522 = ((u(*)())v520)(v521); + goto b60; +b64: if (vkind != 1) goto b67; + v17 = 1; + goto b66; +b67: v17 = 0; + goto b66; +b3: if (vkind != 2) goto b10; + vmypri = 2; goto b1; -b52: v80 = (u)zfputs; - v81 = *(u *)((vc) + (72UL)); - v82 = (u)"*(u *)("; - v83 = ((u (*)())(v80))(v81, v82); -b56: v84 = (u)zircop; - v85 = vc; - v86 = vic; - v87 = vib; - v88 = *(u *)((vop) + (8UL)); - v89 = ((u (*)())(v84))(v85, v86, v87, v88); -b57: v90 = (u)zfputs; - v91 = *(u *)((vc) + (72UL)); - v92 = (u)")"; - v93 = ((u (*)())(v90))(v91, v92); +b10: if (vkind != 3) goto b12; + vmypri = 1; goto b1; -b49: if ((vkind) != (6UL)) { goto b60; } -b59: if ((*(u *)(*(u *)((vop) + (8UL)))) != (0UL)) { goto b63; } -b62: v94 = (u)zircop; - v95 = vc; - v96 = vic; - v97 = vib; - v98 = *(u *)((vop) + (8UL)); - v99 = ((u (*)())(v94))(v95, v96, v97, v98); -b64: v100 = (u)zfputs; - v101 = *(u *)((vc) + (72UL)); - v102 = (u)" = "; - v103 = ((u (*)())(v100))(v101, v102); -b65: v104 = (u)zircop; - v105 = vc; - v106 = vic; - v107 = vib; - v108 = *(u *)((vop) + (16UL)); - v109 = ((u (*)())(v104))(v105, v106, v107, v108); +b12: if (vkind != 4) goto b14; + vmypri = 2; goto b1; -b63: if ((*(u *)(*(u *)((vop) + (8UL)))) != (5UL)) { goto b68; } -b67: if ((*(u *)(*(u *)((vop) + (48UL)))) != (3UL)) { goto b71; } -b70: v110 = (u)zfputs; - v111 = *(u *)((vc) + (72UL)); - v112 = (u)"*(b *)("; - v113 = ((u (*)())(v110))(v111, v112); -b69: v118 = (u)zircop; - v119 = vc; - v120 = vic; - v121 = vib; - v122 = *(u *)((*(u *)((vop) + (8UL))) + (8UL)); - v123 = ((u (*)())(v118))(v119, v120, v121, v122); -b74: v124 = (u)zfputs; - v125 = *(u *)((vc) + (72UL)); - v126 = (u)") = "; - v127 = ((u (*)())(v124))(v125, v126); -b75: v128 = (u)zircop; - v129 = vc; - v130 = vic; - v131 = vib; - v132 = *(u *)((vop) + (16UL)); - v133 = ((u (*)())(v128))(v129, v130, v131, v132); +b14: if (vkind != 5) goto b16; + vmypri = 2; goto b1; -b71: v114 = (u)zfputs; - v115 = *(u *)((vc) + (72UL)); - v116 = (u)"*(u *)("; - v117 = ((u (*)())(v114))(v115, v116); - goto b69; -b68: v134 = (u)zdie; - v135 = (u)"invalid store"; - v136 = ((u (*)())(v134))(v135); +b16: if (vkind != 6) goto b18; + vmypri = 2; goto b1; -b60: if ((vkind) != (9UL)) { goto b79; } -b78: v137 = (u)zfputs; - v138 = *(u *)((vc) + (72UL)); - v139 = (u)"-("; - v140 = ((u (*)())(v137))(v138, v139); -b80: v141 = (u)zircop; - v142 = vc; - v143 = vic; - v144 = vib; - v145 = *(u *)((vop) + (8UL)); - v146 = ((u (*)())(v141))(v142, v143, v144, v145); -b81: v147 = (u)zfputs; - v148 = *(u *)((vc) + (72UL)); - v149 = (u)")"; - v150 = ((u (*)())(v147))(v148, v149); +b18: if (vkind != 9) goto b20; + vmypri = 2; goto b1; -b79: if ((vkind) != (10UL)) { goto b84; } -b83: v151 = (u)zfputs; - v152 = *(u *)((vc) + (72UL)); - v153 = (u)"~("; - v154 = ((u (*)())(v151))(v152, v153); -b85: v155 = (u)zircop; - v156 = vc; - v157 = vic; - v158 = vib; - v159 = *(u *)((vop) + (8UL)); - v160 = ((u (*)())(v155))(v156, v157, v158, v159); -b86: v161 = (u)zfputs; - v162 = *(u *)((vc) + (72UL)); - v163 = (u)")"; - v164 = ((u (*)())(v161))(v162, v163); +b20: if (vkind != 10) goto b22; + vmypri = 2; goto b1; -b84: if ((vkind) != (11UL)) { goto b89; } -b88: v165 = (u)zfputs; - v166 = *(u *)((vc) + (72UL)); - v167 = (u)"("; - v168 = ((u (*)())(v165))(v166, v167); -b90: v169 = (u)zircop; - v170 = vc; - v171 = vic; - v172 = vib; - v173 = *(u *)((vop) + (8UL)); - v174 = ((u (*)())(v169))(v170, v171, v172, v173); -b91: v175 = (u)zfputs; - v176 = *(u *)((vc) + (72UL)); - v177 = (u)") + ("; - v178 = ((u (*)())(v175))(v176, v177); -b92: v179 = (u)zircop; - v180 = vc; - v181 = vic; - v182 = vib; - v183 = *(u *)((vop) + (16UL)); - v184 = ((u (*)())(v179))(v180, v181, v182, v183); -b93: v185 = (u)zfputs; - v186 = *(u *)((vc) + (72UL)); - v187 = (u)")"; - v188 = ((u (*)())(v185))(v186, v187); +b22: if (vkind != 11) goto b24; + vmypri = 4; goto b1; -b89: if ((vkind) != (12UL)) { goto b96; } -b95: v189 = (u)zfputs; - v190 = *(u *)((vc) + (72UL)); - v191 = (u)"("; - v192 = ((u (*)())(v189))(v190, v191); -b97: v193 = (u)zircop; - v194 = vc; - v195 = vic; - v196 = vib; - v197 = *(u *)((vop) + (8UL)); - v198 = ((u (*)())(v193))(v194, v195, v196, v197); -b98: v199 = (u)zfputs; - v200 = *(u *)((vc) + (72UL)); - v201 = (u)") & ("; - v202 = ((u (*)())(v199))(v200, v201); -b99: v203 = (u)zircop; - v204 = vc; - v205 = vic; - v206 = vib; - v207 = *(u *)((vop) + (16UL)); - v208 = ((u (*)())(v203))(v204, v205, v206, v207); -b100: v209 = (u)zfputs; - v210 = *(u *)((vc) + (72UL)); - v211 = (u)")"; - v212 = ((u (*)())(v209))(v210, v211); +b24: if (vkind != 12) goto b26; + vmypri = 8; goto b1; -b96: if ((vkind) != (13UL)) { goto b103; } -b102: v213 = (u)zfputs; - v214 = *(u *)((vc) + (72UL)); - v215 = (u)"("; - v216 = ((u (*)())(v213))(v214, v215); -b104: v217 = (u)zircop; - v218 = vc; - v219 = vic; - v220 = vib; - v221 = *(u *)((vop) + (8UL)); - v222 = ((u (*)())(v217))(v218, v219, v220, v221); -b105: v223 = (u)zfputs; - v224 = *(u *)((vc) + (72UL)); - v225 = (u)") | ("; - v226 = ((u (*)())(v223))(v224, v225); -b106: v227 = (u)zircop; - v228 = vc; - v229 = vic; - v230 = vib; - v231 = *(u *)((vop) + (16UL)); - v232 = ((u (*)())(v227))(v228, v229, v230, v231); -b107: v233 = (u)zfputs; - v234 = *(u *)((vc) + (72UL)); - v235 = (u)")"; - v236 = ((u (*)())(v233))(v234, v235); +b26: if (vkind != 13) goto b28; + vmypri = 10; goto b1; -b103: if ((vkind) != (14UL)) { goto b110; } -b109: v237 = (u)zfputs; - v238 = *(u *)((vc) + (72UL)); - v239 = (u)"("; - v240 = ((u (*)())(v237))(v238, v239); -b111: v241 = (u)zircop; - v242 = vc; - v243 = vic; - v244 = vib; - v245 = *(u *)((vop) + (8UL)); - v246 = ((u (*)())(v241))(v242, v243, v244, v245); -b112: v247 = (u)zfputs; - v248 = *(u *)((vc) + (72UL)); - v249 = (u)") ^ ("; - v250 = ((u (*)())(v247))(v248, v249); -b113: v251 = (u)zircop; - v252 = vc; - v253 = vic; - v254 = vib; - v255 = *(u *)((vop) + (16UL)); - v256 = ((u (*)())(v251))(v252, v253, v254, v255); -b114: v257 = (u)zfputs; - v258 = *(u *)((vc) + (72UL)); - v259 = (u)")"; - v260 = ((u (*)())(v257))(v258, v259); +b28: if (vkind != 14) goto b30; + vmypri = 9; goto b1; -b110: if ((vkind) != (15UL)) { goto b117; } -b116: v261 = (u)zfputs; - v262 = *(u *)((vc) + (72UL)); - v263 = (u)"(u)(((s)("; - v264 = ((u (*)())(v261))(v262, v263); -b118: v265 = (u)zircop; - v266 = vc; - v267 = vic; - v268 = vib; - v269 = *(u *)((vop) + (8UL)); - v270 = ((u (*)())(v265))(v266, v267, v268, v269); -b119: v271 = (u)zfputs; - v272 = *(u *)((vc) + (72UL)); - v273 = (u)")) / ((s)("; - v274 = ((u (*)())(v271))(v272, v273); -b120: v275 = (u)zircop; - v276 = vc; - v277 = vic; - v278 = vib; - v279 = *(u *)((vop) + (16UL)); - v280 = ((u (*)())(v275))(v276, v277, v278, v279); -b121: v281 = (u)zfputs; - v282 = *(u *)((vc) + (72UL)); - v283 = (u)")))"; - v284 = ((u (*)())(v281))(v282, v283); +b30: if (vkind != 15) goto b32; + vmypri = 2; goto b1; -b117: if ((vkind) != (16UL)) { goto b124; } -b123: v285 = (u)zfputs; - v286 = *(u *)((vc) + (72UL)); - v287 = (u)"(u)(((s)("; - v288 = ((u (*)())(v285))(v286, v287); -b125: v289 = (u)zircop; - v290 = vc; - v291 = vic; - v292 = vib; - v293 = *(u *)((vop) + (8UL)); - v294 = ((u (*)())(v289))(v290, v291, v292, v293); -b126: v295 = (u)zfputs; - v296 = *(u *)((vc) + (72UL)); - v297 = (u)")) % ((s)("; - v298 = ((u (*)())(v295))(v296, v297); -b127: v299 = (u)zircop; - v300 = vc; - v301 = vic; - v302 = vib; - v303 = *(u *)((vop) + (16UL)); - v304 = ((u (*)())(v299))(v300, v301, v302, v303); -b128: v305 = (u)zfputs; - v306 = *(u *)((vc) + (72UL)); - v307 = (u)")))"; - v308 = ((u (*)())(v305))(v306, v307); +b32: if (vkind != 16) goto b34; + vmypri = 2; goto b1; -b124: if ((vkind) != (17UL)) { goto b131; } -b130: v309 = (u)zfputs; - v310 = *(u *)((vc) + (72UL)); - v311 = (u)"("; - v312 = ((u (*)())(v309))(v310, v311); -b132: v313 = (u)zircop; - v314 = vc; - v315 = vic; - v316 = vib; - v317 = *(u *)((vop) + (8UL)); - v318 = ((u (*)())(v313))(v314, v315, v316, v317); -b133: v319 = (u)zfputs; - v320 = *(u *)((vc) + (72UL)); - v321 = (u)") << ("; - v322 = ((u (*)())(v319))(v320, v321); -b134: v323 = (u)zircop; - v324 = vc; - v325 = vic; - v326 = vib; - v327 = *(u *)((vop) + (16UL)); - v328 = ((u (*)())(v323))(v324, v325, v326, v327); -b135: v329 = (u)zfputs; - v330 = *(u *)((vc) + (72UL)); - v331 = (u)")"; - v332 = ((u (*)())(v329))(v330, v331); +b34: if (vkind != 17) goto b36; + vmypri = 6; goto b1; -b131: if ((vkind) != (18UL)) { goto b138; } -b137: v333 = (u)zfputs; - v334 = *(u *)((vc) + (72UL)); - v335 = (u)"("; - v336 = ((u (*)())(v333))(v334, v335); -b139: v337 = (u)zircop; - v338 = vc; - v339 = vic; - v340 = vib; - v341 = *(u *)((vop) + (8UL)); - v342 = ((u (*)())(v337))(v338, v339, v340, v341); -b140: v343 = (u)zfputs; - v344 = *(u *)((vc) + (72UL)); - v345 = (u)") >> ("; - v346 = ((u (*)())(v343))(v344, v345); -b141: v347 = (u)zircop; - v348 = vc; - v349 = vic; - v350 = vib; - v351 = *(u *)((vop) + (16UL)); - v352 = ((u (*)())(v347))(v348, v349, v350, v351); -b142: v353 = (u)zfputs; - v354 = *(u *)((vc) + (72UL)); - v355 = (u)")"; - v356 = ((u (*)())(v353))(v354, v355); +b36: if (vkind != 18) goto b38; + vmypri = 6; goto b1; -b138: if ((vkind) != (19UL)) { goto b145; } -b144: v357 = (u)zfputs; - v358 = *(u *)((vc) + (72UL)); - v359 = (u)"("; - v360 = ((u (*)())(v357))(v358, v359); -b146: v361 = (u)zircop; - v362 = vc; - v363 = vic; - v364 = vib; - v365 = *(u *)((vop) + (8UL)); - v366 = ((u (*)())(v361))(v362, v363, v364, v365); -b147: v367 = (u)zfputs; - v368 = *(u *)((vc) + (72UL)); - v369 = (u)") * ("; - v370 = ((u (*)())(v367))(v368, v369); -b148: v371 = (u)zircop; - v372 = vc; - v373 = vic; - v374 = vib; - v375 = *(u *)((vop) + (16UL)); - v376 = ((u (*)())(v371))(v372, v373, v374, v375); -b149: v377 = (u)zfputs; - v378 = *(u *)((vc) + (72UL)); - v379 = (u)")"; - v380 = ((u (*)())(v377))(v378, v379); +b38: if (vkind != 19) goto b40; + vmypri = 3; goto b1; -b145: if ((vkind) != (20UL)) { goto b152; } -b151: v381 = (u)zfputs; - v382 = *(u *)((vc) + (72UL)); - v383 = (u)"("; - v384 = ((u (*)())(v381))(v382, v383); -b153: v385 = (u)zircop; - v386 = vc; - v387 = vic; - v388 = vib; - v389 = *(u *)((vop) + (8UL)); - v390 = ((u (*)())(v385))(v386, v387, v388, v389); -b154: v391 = (u)zfputs; - v392 = *(u *)((vc) + (72UL)); - v393 = (u)") - ("; - v394 = ((u (*)())(v391))(v392, v393); -b155: v395 = (u)zircop; - v396 = vc; - v397 = vic; - v398 = vib; - v399 = *(u *)((vop) + (16UL)); - v400 = ((u (*)())(v395))(v396, v397, v398, v399); -b156: v401 = (u)zfputs; - v402 = *(u *)((vc) + (72UL)); - v403 = (u)")"; - v404 = ((u (*)())(v401))(v402, v403); +b40: if (vkind != 20) goto b42; + vmypri = 4; goto b1; -b152: if ((vkind) != (21UL)) { goto b159; } -b158: v405 = (u)zfputs; - v406 = *(u *)((vc) + (72UL)); - v407 = (u)"(u)(("; - v408 = ((u (*)())(v405))(v406, v407); -b160: v409 = (u)zircop; - v410 = vc; - v411 = vic; - v412 = vib; - v413 = *(u *)((vop) + (8UL)); - v414 = ((u (*)())(v409))(v410, v411, v412, v413); -b161: v415 = (u)zfputs; - v416 = *(u *)((vc) + (72UL)); - v417 = (u)") == ("; - v418 = ((u (*)())(v415))(v416, v417); -b162: v419 = (u)zircop; - v420 = vc; - v421 = vic; - v422 = vib; - v423 = *(u *)((vop) + (16UL)); - v424 = ((u (*)())(v419))(v420, v421, v422, v423); -b163: v425 = (u)zfputs; - v426 = *(u *)((vc) + (72UL)); - v427 = (u)"))"; - v428 = ((u (*)())(v425))(v426, v427); +b42: if (vkind != 21) goto b44; + vmypri = 7; goto b1; -b159: if ((vkind) != (22UL)) { goto b166; } -b165: v429 = (u)zfputs; - v430 = *(u *)((vc) + (72UL)); - v431 = (u)"(u)(("; - v432 = ((u (*)())(v429))(v430, v431); -b167: v433 = (u)zircop; - v434 = vc; - v435 = vic; - v436 = vib; - v437 = *(u *)((vop) + (8UL)); - v438 = ((u (*)())(v433))(v434, v435, v436, v437); -b168: v439 = (u)zfputs; - v440 = *(u *)((vc) + (72UL)); - v441 = (u)") != ("; - v442 = ((u (*)())(v439))(v440, v441); -b169: v443 = (u)zircop; - v444 = vc; - v445 = vic; - v446 = vib; - v447 = *(u *)((vop) + (16UL)); - v448 = ((u (*)())(v443))(v444, v445, v446, v447); -b170: v449 = (u)zfputs; - v450 = *(u *)((vc) + (72UL)); - v451 = (u)"))"; - v452 = ((u (*)())(v449))(v450, v451); +b44: if (vkind != 22) goto b46; + vmypri = 7; goto b1; -b166: if ((vkind) != (23UL)) { goto b173; } -b172: v453 = (u)zfputs; - v454 = *(u *)((vc) + (72UL)); - v455 = (u)"(u)(((s)("; - v456 = ((u (*)())(v453))(v454, v455); -b174: v457 = (u)zircop; - v458 = vc; - v459 = vic; - v460 = vib; - v461 = *(u *)((vop) + (8UL)); - v462 = ((u (*)())(v457))(v458, v459, v460, v461); -b175: v463 = (u)zfputs; - v464 = *(u *)((vc) + (72UL)); - v465 = (u)")) > ((s)("; - v466 = ((u (*)())(v463))(v464, v465); -b176: v467 = (u)zircop; - v468 = vc; - v469 = vic; - v470 = vib; - v471 = *(u *)((vop) + (16UL)); - v472 = ((u (*)())(v467))(v468, v469, v470, v471); -b177: v473 = (u)zfputs; - v474 = *(u *)((vc) + (72UL)); - v475 = (u)")))"; - v476 = ((u (*)())(v473))(v474, v475); +b46: if (vkind != 23) goto b48; + vmypri = 2; goto b1; -b173: if ((vkind) != (24UL)) { goto b180; } -b179: v477 = (u)zfputs; - v478 = *(u *)((vc) + (72UL)); - v479 = (u)"(u)(((s)("; - v480 = ((u (*)())(v477))(v478, v479); -b181: v481 = (u)zircop; - v482 = vc; - v483 = vic; - v484 = vib; - v485 = *(u *)((vop) + (8UL)); - v486 = ((u (*)())(v481))(v482, v483, v484, v485); -b182: v487 = (u)zfputs; - v488 = *(u *)((vc) + (72UL)); - v489 = (u)")) >= ((s)("; - v490 = ((u (*)())(v487))(v488, v489); -b183: v491 = (u)zircop; - v492 = vc; - v493 = vic; - v494 = vib; - v495 = *(u *)((vop) + (16UL)); - v496 = ((u (*)())(v491))(v492, v493, v494, v495); -b184: v497 = (u)zfputs; - v498 = *(u *)((vc) + (72UL)); - v499 = (u)")))"; - v500 = ((u (*)())(v497))(v498, v499); +b48: if (vkind != 24) goto b50; + vmypri = 2; goto b1; -b180: if ((vkind) != (25UL)) { goto b187; } -b186: v501 = (u)zfputs; - v502 = *(u *)((vc) + (72UL)); - v503 = (u)"(u)(((s)("; - v504 = ((u (*)())(v501))(v502, v503); -b188: v505 = (u)zircop; - v506 = vc; - v507 = vic; - v508 = vib; - v509 = *(u *)((vop) + (8UL)); - v510 = ((u (*)())(v505))(v506, v507, v508, v509); -b189: v511 = (u)zfputs; - v512 = *(u *)((vc) + (72UL)); - v513 = (u)")) < ((s)("; - v514 = ((u (*)())(v511))(v512, v513); -b190: v515 = (u)zircop; - v516 = vc; - v517 = vic; - v518 = vib; - v519 = *(u *)((vop) + (16UL)); - v520 = ((u (*)())(v515))(v516, v517, v518, v519); -b191: v521 = (u)zfputs; - v522 = *(u *)((vc) + (72UL)); - v523 = (u)")))"; - v524 = ((u (*)())(v521))(v522, v523); +b50: if (vkind != 25) goto b52; + vmypri = 2; goto b1; -b187: if ((vkind) != (26UL)) { goto b194; } -b193: v525 = (u)zfputs; - v526 = *(u *)((vc) + (72UL)); - v527 = (u)"(u)(((s)("; - v528 = ((u (*)())(v525))(v526, v527); -b195: v529 = (u)zircop; - v530 = vc; - v531 = vic; - v532 = vib; - v533 = *(u *)((vop) + (8UL)); - v534 = ((u (*)())(v529))(v530, v531, v532, v533); -b196: v535 = (u)zfputs; - v536 = *(u *)((vc) + (72UL)); - v537 = (u)")) <= ((s)("; - v538 = ((u (*)())(v535))(v536, v537); -b197: v539 = (u)zircop; - v540 = vc; - v541 = vic; - v542 = vib; - v543 = *(u *)((vop) + (16UL)); - v544 = ((u (*)())(v539))(v540, v541, v542, v543); -b198: v545 = (u)zfputs; - v546 = *(u *)((vc) + (72UL)); - v547 = (u)")))"; - v548 = ((u (*)())(v545))(v546, v547); +b52: if (vkind != 26) goto b54; + vmypri = 2; goto b1; -b194: v549 = (u)zdie; - v550 = (u)"invalid op"; - v551 = ((u (*)())(v549))(v550); +b54: v10 = (u)zdie; + v11 = (u)"invalid op"; + v12 = ((u(*)())v10)(v11); goto b1; -b5: if ((vkind) != (1UL)) { goto b8; } -b6: v7 = 1UL; +b5: if (vkind != 1) goto b8; + v9 = 1; goto b7; -b8: v7 = 0UL; +b8: v9 = 0; goto b7; } -u zircop_neg(u vc, u vic, u vib, u vop) { +u zircop_neg(u vc, u vic, u vib, u vop, u vpri){ u vkind = 0; - u v5 = 0; u v6 = 0; u v7 = 0; u v8 = 0; @@ -18663,202 +18374,157 @@ u zircop_neg(u vc, u vic, u vib, u vop) { u v138 = 0; u v139 = 0; u v140 = 0; - u v141 = 0; - u v142 = 0; - u v143 = 0; - u v144 = 0; - u v145 = 0; - u v146 = 0; - u v147 = 0; - u v148 = 0; - u v149 = 0; - u v150 = 0; - u v151 = 0; - u v152 = 0; - u v153 = 0; - u v154 = 0; - u v155 = 0; - u v156 = 0; - u v157 = 0; - u v158 = 0; - u v159 = 0; - u v160 = 0; - u v161 = 0; - u v162 = 0; -b0: vkind = *(u *)(vop); - if ((vkind) != (21UL)) { goto b3; } -b2: v5 = (u)zfputs; - v6 = *(u *)((vc) + (72UL)); - v7 = (u)"("; - v8 = ((u (*)())(v5))(v6, v7); -b4: v9 = (u)zircop; - v10 = vc; - v11 = vic; - v12 = vib; - v13 = *(u *)((vop) + (8UL)); - v14 = ((u (*)())(v9))(v10, v11, v12, v13); -b5: v15 = (u)zfputs; - v16 = *(u *)((vc) + (72UL)); - v17 = (u)") != ("; - v18 = ((u (*)())(v15))(v16, v17); -b6: v19 = (u)zircop; - v20 = vc; - v21 = vic; - v22 = vib; - v23 = *(u *)((vop) + (16UL)); - v24 = ((u (*)())(v19))(v20, v21, v22, v23); -b7: v25 = (u)zfputs; - v26 = *(u *)((vc) + (72UL)); - v27 = (u)")"; - v28 = ((u (*)())(v25))(v26, v27); -b1: return 0UL; -b3: if ((vkind) != (22UL)) { goto b10; } -b9: v29 = (u)zfputs; - v30 = *(u *)((vc) + (72UL)); - v31 = (u)"("; - v32 = ((u (*)())(v29))(v30, v31); -b11: v33 = (u)zircop; - v34 = vc; - v35 = vic; - v36 = vib; - v37 = *(u *)((vop) + (8UL)); - v38 = ((u (*)())(v33))(v34, v35, v36, v37); -b12: v39 = (u)zfputs; - v40 = *(u *)((vc) + (72UL)); - v41 = (u)") == ("; - v42 = ((u (*)())(v39))(v40, v41); -b13: v43 = (u)zircop; - v44 = vc; - v45 = vic; - v46 = vib; - v47 = *(u *)((vop) + (16UL)); - v48 = ((u (*)())(v43))(v44, v45, v46, v47); -b14: v49 = (u)zfputs; - v50 = *(u *)((vc) + (72UL)); - v51 = (u)")"; - v52 = ((u (*)())(v49))(v50, v51); + vkind = *(u*)vop; + if (vkind != 21) goto b3; + v6 = (u)zircop; + v7 = vc; + v8 = vic; + v9 = vib; + v10 = *(u*)(vop + 8); + v11 = 7; + v12 = ((u(*)())v6)(v7, v8, v9, v10, v11); + v13 = (u)zfputs; + v14 = *(u*)(vc + 72); + v15 = (u)" != "; + v16 = ((u(*)())v13)(v14, v15); + v17 = (u)zircop; + v18 = vc; + v19 = vic; + v20 = vib; + v21 = *(u*)(vop + 16); + v22 = 7; + v23 = ((u(*)())v17)(v18, v19, v20, v21, v22); +b1: return 0; +b3: if (vkind != 22) goto b8; + v24 = (u)zircop; + v25 = vc; + v26 = vic; + v27 = vib; + v28 = *(u*)(vop + 8); + v29 = 7; + v30 = ((u(*)())v24)(v25, v26, v27, v28, v29); + v31 = (u)zfputs; + v32 = *(u*)(vc + 72); + v33 = (u)" == "; + v34 = ((u(*)())v31)(v32, v33); + v35 = (u)zircop; + v36 = vc; + v37 = vic; + v38 = vib; + v39 = *(u*)(vop + 16); + v40 = 7; + v41 = ((u(*)())v35)(v36, v37, v38, v39, v40); goto b1; -b10: if ((vkind) != (23UL)) { goto b17; } -b16: v53 = (u)zfputs; - v54 = *(u *)((vc) + (72UL)); - v55 = (u)"(s)("; - v56 = ((u (*)())(v53))(v54, v55); -b18: v57 = (u)zircop; +b8: if (vkind != 23) goto b13; + v42 = (u)zfputs; + v43 = *(u*)(vc + 72); + v44 = (u)"(s)"; + v45 = ((u(*)())v42)(v43, v44); + v46 = (u)zircop; + v47 = vc; + v48 = vic; + v49 = vib; + v50 = *(u*)(vop + 8); + v51 = 2; + v52 = ((u(*)())v46)(v47, v48, v49, v50, v51); + v53 = (u)zfputs; + v54 = *(u*)(vc + 72); + v55 = (u)" <= (s)"; + v56 = ((u(*)())v53)(v54, v55); + v57 = (u)zircop; v58 = vc; v59 = vic; v60 = vib; - v61 = *(u *)((vop) + (8UL)); - v62 = ((u (*)())(v57))(v58, v59, v60, v61); -b19: v63 = (u)zfputs; - v64 = *(u *)((vc) + (72UL)); - v65 = (u)") <= (s)("; - v66 = ((u (*)())(v63))(v64, v65); -b20: v67 = (u)zircop; - v68 = vc; - v69 = vic; - v70 = vib; - v71 = *(u *)((vop) + (16UL)); - v72 = ((u (*)())(v67))(v68, v69, v70, v71); -b21: v73 = (u)zfputs; - v74 = *(u *)((vc) + (72UL)); - v75 = (u)")"; - v76 = ((u (*)())(v73))(v74, v75); + v61 = *(u*)(vop + 16); + v62 = 2; + v63 = ((u(*)())v57)(v58, v59, v60, v61, v62); goto b1; -b17: if ((vkind) != (24UL)) { goto b24; } -b23: v77 = (u)zfputs; - v78 = *(u *)((vc) + (72UL)); - v79 = (u)"(s)("; - v80 = ((u (*)())(v77))(v78, v79); -b25: v81 = (u)zircop; - v82 = vc; - v83 = vic; - v84 = vib; - v85 = *(u *)((vop) + (8UL)); - v86 = ((u (*)())(v81))(v82, v83, v84, v85); -b26: v87 = (u)zfputs; - v88 = *(u *)((vc) + (72UL)); - v89 = (u)") < (s)("; - v90 = ((u (*)())(v87))(v88, v89); -b27: v91 = (u)zircop; - v92 = vc; - v93 = vic; - v94 = vib; - v95 = *(u *)((vop) + (16UL)); - v96 = ((u (*)())(v91))(v92, v93, v94, v95); -b28: v97 = (u)zfputs; - v98 = *(u *)((vc) + (72UL)); - v99 = (u)")"; - v100 = ((u (*)())(v97))(v98, v99); +b13: if (vkind != 24) goto b19; + v64 = (u)zfputs; + v65 = *(u*)(vc + 72); + v66 = (u)"(s)"; + v67 = ((u(*)())v64)(v65, v66); + v68 = (u)zircop; + v69 = vc; + v70 = vic; + v71 = vib; + v72 = *(u*)(vop + 8); + v73 = 2; + v74 = ((u(*)())v68)(v69, v70, v71, v72, v73); + v75 = (u)zfputs; + v76 = *(u*)(vc + 72); + v77 = (u)" < (s)"; + v78 = ((u(*)())v75)(v76, v77); + v79 = (u)zircop; + v80 = vc; + v81 = vic; + v82 = vib; + v83 = *(u*)(vop + 16); + v84 = 2; + v85 = ((u(*)())v79)(v80, v81, v82, v83, v84); goto b1; -b24: if ((vkind) != (25UL)) { goto b31; } -b30: v101 = (u)zfputs; - v102 = *(u *)((vc) + (72UL)); - v103 = (u)"(s)("; - v104 = ((u (*)())(v101))(v102, v103); -b32: v105 = (u)zircop; - v106 = vc; - v107 = vic; - v108 = vib; - v109 = *(u *)((vop) + (8UL)); - v110 = ((u (*)())(v105))(v106, v107, v108, v109); -b33: v111 = (u)zfputs; - v112 = *(u *)((vc) + (72UL)); - v113 = (u)") >= (s)("; - v114 = ((u (*)())(v111))(v112, v113); -b34: v115 = (u)zircop; - v116 = vc; - v117 = vic; - v118 = vib; - v119 = *(u *)((vop) + (16UL)); - v120 = ((u (*)())(v115))(v116, v117, v118, v119); -b35: v121 = (u)zfputs; - v122 = *(u *)((vc) + (72UL)); - v123 = (u)")"; - v124 = ((u (*)())(v121))(v122, v123); +b19: if (vkind != 25) goto b25; + v86 = (u)zfputs; + v87 = *(u*)(vc + 72); + v88 = (u)"(s)"; + v89 = ((u(*)())v86)(v87, v88); + v90 = (u)zircop; + v91 = vc; + v92 = vic; + v93 = vib; + v94 = *(u*)(vop + 8); + v95 = 2; + v96 = ((u(*)())v90)(v91, v92, v93, v94, v95); + v97 = (u)zfputs; + v98 = *(u*)(vc + 72); + v99 = (u)" >= (s)"; + v100 = ((u(*)())v97)(v98, v99); + v101 = (u)zircop; + v102 = vc; + v103 = vic; + v104 = vib; + v105 = *(u*)(vop + 16); + v106 = 2; + v107 = ((u(*)())v101)(v102, v103, v104, v105, v106); goto b1; -b31: if ((vkind) != (26UL)) { goto b38; } -b37: v125 = (u)zfputs; - v126 = *(u *)((vc) + (72UL)); - v127 = (u)"(s)("; - v128 = ((u (*)())(v125))(v126, v127); -b39: v129 = (u)zircop; - v130 = vc; - v131 = vic; - v132 = vib; - v133 = *(u *)((vop) + (8UL)); - v134 = ((u (*)())(v129))(v130, v131, v132, v133); -b40: v135 = (u)zfputs; - v136 = *(u *)((vc) + (72UL)); - v137 = (u)") > (s)("; - v138 = ((u (*)())(v135))(v136, v137); -b41: v139 = (u)zircop; - v140 = vc; - v141 = vic; - v142 = vib; - v143 = *(u *)((vop) + (16UL)); - v144 = ((u (*)())(v139))(v140, v141, v142, v143); -b42: v145 = (u)zfputs; - v146 = *(u *)((vc) + (72UL)); - v147 = (u)")"; - v148 = ((u (*)())(v145))(v146, v147); +b25: if (vkind != 26) goto b31; + v108 = (u)zfputs; + v109 = *(u*)(vc + 72); + v110 = (u)"(s)"; + v111 = ((u(*)())v108)(v109, v110); + v112 = (u)zircop; + v113 = vc; + v114 = vic; + v115 = vib; + v116 = *(u*)(vop + 8); + v117 = 2; + v118 = ((u(*)())v112)(v113, v114, v115, v116, v117); + v119 = (u)zfputs; + v120 = *(u*)(vc + 72); + v121 = (u)" > (s)"; + v122 = ((u(*)())v119)(v120, v121); + v123 = (u)zircop; + v124 = vc; + v125 = vic; + v126 = vib; + v127 = *(u*)(vop + 16); + v128 = 2; + v129 = ((u(*)())v123)(v124, v125, v126, v127, v128); goto b1; -b38: v149 = (u)zfputs; - v150 = *(u *)((vc) + (72UL)); - v151 = (u)"!("; - v152 = ((u (*)())(v149))(v150, v151); -b44: v153 = (u)zircop; - v154 = vc; - v155 = vic; - v156 = vib; - v157 = vop; - v158 = ((u (*)())(v153))(v154, v155, v156, v157); -b45: v159 = (u)zfputs; - v160 = *(u *)((vc) + (72UL)); - v161 = (u)")"; - v162 = ((u (*)())(v159))(v160, v161); +b31: v130 = (u)zfputs; + v131 = *(u*)(vc + 72); + v132 = (u)"!"; + v133 = ((u(*)())v130)(v131, v132); + v134 = (u)zircop; + v135 = vc; + v136 = vic; + v137 = vib; + v138 = vop; + v139 = 2; + v140 = ((u(*)())v134)(v135, v136, v137, v138, v139); goto b1; } -u zircout(u vc) { +u zircout(u vc){ u vd = 0; u v2 = 0; u v3 = 0; @@ -18913,132 +18579,86 @@ u zircout(u vc) { u v52 = 0; u v53 = 0; u v54 = 0; - u v55 = 0; - u v56 = 0; - u v57 = 0; - u v58 = 0; - u v59 = 0; - u v60 = 0; - u v61 = 0; - u v62 = 0; - u v63 = 0; - u v64 = 0; - u v65 = 0; - u v66 = 0; - u v67 = 0; - u v68 = 0; - u v69 = 0; - u v70 = 0; - u v71 = 0; - u v72 = 0; - u v73 = 0; - u v74 = 0; -b0: v2 = (u)zfputs; - v3 = *(u *)((vc) + (72UL)); + v2 = (u)zfputs; + v3 = *(u*)(vc + 72); v4 = (u)"typedef unsigned char b;\012"; - v5 = ((u (*)())(v2))(v3, v4); -b1: v6 = (u)zfputs; - v7 = *(u *)((vc) + (72UL)); + v5 = ((u(*)())v2)(v3, v4); + v6 = (u)zfputs; + v7 = *(u*)(vc + 72); v8 = (u)"typedef unsigned long u;\012"; - v9 = ((u (*)())(v6))(v7, v8); -b2: v10 = (u)zfputs; - v11 = *(u *)((vc) + (72UL)); + v9 = ((u(*)())v6)(v7, v8); + v10 = (u)zfputs; + v11 = *(u*)(vc + 72); v12 = (u)"typedef long s;\012"; - v13 = ((u (*)())(v10))(v11, v12); -b3: v14 = (u)zfirst_decl; + v13 = ((u(*)())v10)(v11, v12); + v14 = (u)zfirst_decl; v15 = vc; - v16 = ((u (*)())(v14))(v15); -b4: vd = v16; - goto b5; -b5: if (!(vd)) { goto b11; } -b10: v17 = 0UL; - goto b12; -b12: if (!(v17)) { goto b7; } -b6: v27 = (u)zfputs; - v28 = *(u *)((vc) + (72UL)); - v29 = (u)"int main(int argc, char **argv) {\012"; - v30 = ((u (*)())(v27))(v28, v29); -b22: v31 = (u)zfputs; - v32 = *(u *)((vc) + (72UL)); - v33 = (u)"\011z_start((u)argc, (u)argv, 0);\012"; - v34 = ((u (*)())(v31))(v32, v33); -b23: v35 = (u)zfputs; - v36 = *(u *)((vc) + (72UL)); - v37 = (u)"\011return 0;\012"; - v38 = ((u (*)())(v35))(v36, v37); -b24: v39 = (u)zfputs; - v40 = *(u *)((vc) + (72UL)); - v41 = (u)"}\012"; - v42 = ((u (*)())(v39))(v40, v41); -b25: v43 = (u)zfputs; - v44 = *(u *)((vc) + (72UL)); - v45 = (u)"s syscall();\012"; - v46 = ((u (*)())(v43))(v44, v45); -b26: v47 = (u)zfputs; - v48 = *(u *)((vc) + (72UL)); - v49 = (u)"u zsyscall(u nr, u a, u b, u c, u d, u e, u f) {\012"; - v50 = ((u (*)())(v47))(v48, v49); -b27: v51 = (u)zfputs; - v52 = *(u *)((vc) + (72UL)); - v53 = (u)"\011return (u)syscall((s)nr, (s)a, (s)b, (s)c, (s)d, (s)e, (s)f);\012"; - v54 = ((u (*)())(v51))(v52, v53); -b28: v55 = (u)zfputs; - v56 = *(u *)((vc) + (72UL)); - v57 = (u)"}\012"; - v58 = ((u (*)())(v55))(v56, v57); -b29: v59 = (u)zfirst_decl; - v60 = vc; - v61 = ((u (*)())(v59))(v60); -b30: vd = v61; - goto b31; -b31: if (!(vd)) { goto b37; } -b36: v62 = 0UL; - goto b38; -b38: if (!(v62)) { goto b33; } -b32: v72 = (u)zfflush; - v73 = *(u *)((vc) + (72UL)); - v74 = ((u (*)())(v72))(v73); -b48: return 0UL; -b33: if (!(*(u *)((vd) + (96UL)))) { goto b43; } -b42: if (!(*(u *)((vd) + (72UL)))) { goto b43; } -b44: v63 = 1UL; - goto b45; -b45: if (!(v63)) { goto b39; } -b40: v64 = (u)zircdefine; - v65 = vc; - v66 = vd; - v67 = ((u (*)())(v64))(v65, v66); -b39: v68 = (u)znext_decl; - v69 = vc; - v70 = vd; - v71 = ((u (*)())(v68))(v69, v70); -b47: vd = v71; - goto b31; -b43: v63 = 0UL; - goto b45; -b37: v62 = 1UL; - goto b38; -b7: if (!(*(u *)((vd) + (96UL)))) { goto b17; } -b16: if (!(*(u *)((vd) + (72UL)))) { goto b17; } -b18: v18 = 1UL; - goto b19; -b19: if (!(v18)) { goto b13; } -b14: v19 = (u)zircforward; + v16 = ((u(*)())v14)(v15); + vd = v16; +b5: if (!vd) goto b11; + v17 = 0; +b12: if (!v17) goto b7; + v27 = (u)zfputs; + v28 = *(u*)(vc + 72); + v29 = (u)"s syscall();\012"; + v30 = ((u(*)())v27)(v28, v29); + v31 = (u)zfputs; + v32 = *(u*)(vc + 72); + v33 = (u)"int main(int argc,char**argv){return z_start((u)argc,(u)argv,0);}\012"; + v34 = ((u(*)())v31)(v32, v33); + v35 = (u)zfputs; + v36 = *(u*)(vc + 72); + v37 = (u)"u zsyscall(u n,u a,u b,u c,u d,u e,u f){return syscall(n,a,b,c,d,e,f);}\012"; + v38 = ((u(*)())v35)(v36, v37); + v39 = (u)zfirst_decl; + v40 = vc; + v41 = ((u(*)())v39)(v40); + vd = v41; +b26: if (!vd) goto b32; + v42 = 0; +b33: if (!v42) goto b28; + v52 = (u)zfflush; + v53 = *(u*)(vc + 72); + v54 = ((u(*)())v52)(v53); + return 0; +b28: if (!*(u*)(vd + 96)) goto b38; + if (!*(u*)(vd + 72)) goto b38; + v43 = 1; +b40: if (!v43) goto b34; + v44 = (u)zircdefine; + v45 = vc; + v46 = vd; + v47 = ((u(*)())v44)(v45, v46); +b34: v48 = (u)znext_decl; + v49 = vc; + v50 = vd; + v51 = ((u(*)())v48)(v49, v50); + vd = v51; + goto b26; +b38: v43 = 0; + goto b40; +b32: v42 = 1; + goto b33; +b7: if (!*(u*)(vd + 96)) goto b17; + if (!*(u*)(vd + 72)) goto b17; + v18 = 1; +b19: if (!v18) goto b13; + v19 = (u)zircforward; v20 = vc; v21 = vd; - v22 = ((u (*)())(v19))(v20, v21); + v22 = ((u(*)())v19)(v20, v21); b13: v23 = (u)znext_decl; v24 = vc; v25 = vd; - v26 = ((u (*)())(v23))(v24, v25); -b21: vd = v26; + v26 = ((u(*)())v23)(v24, v25); + vd = v26; goto b5; -b17: v18 = 0UL; +b17: v18 = 0; goto b19; -b11: v17 = 1UL; +b11: v17 = 1; goto b12; } -u zircretval(u vc, u vic, u vib) { +u zircretval(u vc, u vic, u vib){ u vi = 0; u vop = 0; u v6 = 0; @@ -19051,27 +18671,28 @@ u zircretval(u vc, u vic, u vib) { u v13 = 0; u v14 = 0; u v15 = 0; -b0: vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vib) + (16UL)))) { goto b3; } -b2: return 0UL; -b3: vop = *(u *)((*(u *)((vib) + (8UL))) + ((vi) * (8UL))); - if ((*(u *)(vop)) != (7UL)) { goto b6; } -b7: v6 = (u)zircop; + u v16 = 0; + vi = 0; +b1: if (vi != *(u*)(vib + 16)) goto b3; +b2: return 0; +b3: vop = *(u*)(*(u*)(vib + 8) + vi * 8); + if (*(u*)vop != 7) goto b6; + v6 = (u)zircop; v7 = vc; v8 = vic; v9 = vib; - v10 = *(u *)((vop) + (8UL)); - v11 = ((u (*)())(v6))(v7, v8, v9, v10); -b9: v12 = (u)zfputs; - v13 = *(u *)((vc) + (72UL)); - v14 = (u)" = "; - v15 = ((u (*)())(v12))(v13, v14); + v10 = *(u*)(vop + 8); + v11 = 14; + v12 = ((u(*)())v6)(v7, v8, v9, v10, v11); + v13 = (u)zfputs; + v14 = *(u*)(vc + 72); + v15 = (u)" = "; + v16 = ((u(*)())v13)(v14, v15); goto b2; -b6: vi = (vi) + (1UL); +b6: vi = vi + 1; goto b1; } -u zircstr(u vc, u vs, u vn) { +u zircstr(u vc, u vs, u vn){ u vi = 0; u vch = 0; u v5 = 0; @@ -19105,68 +18726,65 @@ u zircstr(u vc, u vs, u vn) { u v33 = 0; u v34 = 0; u v35 = 0; -b0: vi = 0UL; + vi = 0; v5 = (u)zfputs; - v6 = *(u *)((vc) + (72UL)); + v6 = *(u*)(vc + 72); v7 = (u)"\042"; - v8 = ((u (*)())(v5))(v6, v7); -b2: if ((vi) != (vn)) { goto b4; } -b3: v32 = (u)zfputs; - v33 = *(u *)((vc) + (72UL)); + v8 = ((u(*)())v5)(v6, v7); +b2: if (vi != vn) goto b4; + v32 = (u)zfputs; + v33 = *(u*)(vc + 72); v34 = (u)"\042"; - v35 = ((u (*)())(v32))(v33, v34); -b30: return 0UL; -b4: vch = (u)*(b *)((vs) + (vi)); - if ((s)(vch) >= (s)(32UL)) { goto b11; } -b10: v9 = 1UL; - goto b13; -b13: if (!(v9)) { goto b9; } -b8: v12 = (u)zfputc; - v13 = *(u *)((vc) + (72UL)); - v14 = 92UL; - v15 = ((u (*)())(v12))(v13, v14); -b25: v16 = (u)zfputc; - v17 = *(u *)((vc) + (72UL)); - v18 = (48UL) + (((vch) >> (6UL)) & (7UL)); - v19 = ((u (*)())(v16))(v17, v18); -b26: v20 = (u)zfputc; - v21 = *(u *)((vc) + (72UL)); - v22 = (48UL) + (((vch) >> (3UL)) & (7UL)); - v23 = ((u (*)())(v20))(v21, v22); -b27: v24 = (u)zfputc; - v25 = *(u *)((vc) + (72UL)); - v26 = (48UL) + ((vch) & (7UL)); - v27 = ((u (*)())(v24))(v25, v26); -b7: vi = (vi) + (1UL); + v35 = ((u(*)())v32)(v33, v34); + return 0; +b4: vch = (u)*(b*)(vs + vi); + if ((s)vch >= (s)32) goto b11; + v9 = 1; +b13: if (!v9) goto b9; + v12 = (u)zfputc; + v13 = *(u*)(vc + 72); + v14 = 92; + v15 = ((u(*)())v12)(v13, v14); + v16 = (u)zfputc; + v17 = *(u*)(vc + 72); + v18 = 48 + (vch >> 6 & 7); + v19 = ((u(*)())v16)(v17, v18); + v20 = (u)zfputc; + v21 = *(u*)(vc + 72); + v22 = 48 + (vch >> 3 & 7); + v23 = ((u(*)())v20)(v21, v22); + v24 = (u)zfputc; + v25 = *(u*)(vc + 72); + v26 = 48 + (vch & 7); + v27 = ((u(*)())v24)(v25, v26); +b7: vi = vi + 1; goto b2; b9: v28 = (u)zfputc; - v29 = *(u *)((vc) + (72UL)); + v29 = *(u*)(vc + 72); v30 = vch; - v31 = ((u (*)())(v28))(v29, v30); + v31 = ((u(*)())v28)(v29, v30); goto b7; -b11: if ((s)(vch) <= (s)(127UL)) { goto b16; } -b15: v10 = 1UL; - goto b18; -b18: if (!(v10)) { goto b14; } -b12: v9 = 1UL; +b11: if ((s)vch <= (s)127) goto b16; + v10 = 1; +b18: if (!v10) goto b14; + v9 = 1; goto b13; -b14: v9 = 0UL; +b14: v9 = 0; goto b13; -b16: if ((vch) != (92UL)) { goto b21; } -b20: v11 = 1UL; - goto b23; -b23: if (!(v11)) { goto b19; } -b17: v10 = 1UL; +b16: if (vch != 92) goto b21; + v11 = 1; +b23: if (!v11) goto b19; + v10 = 1; goto b18; -b19: v10 = 0UL; +b19: v10 = 0; goto b18; -b21: if ((vch) != (34UL)) { goto b24; } -b22: v11 = 1UL; +b21: if (vch != 34) goto b24; + v11 = 1; goto b23; -b24: v11 = 0UL; +b24: v11 = 0; goto b23; } -u zircuse(u vc, u vic, u vib) { +u zircuse(u vc, u vic, u vib){ u vi = 0; u v4 = 0; u v5 = 0; @@ -19186,55 +18804,47 @@ u zircuse(u vc, u vic, u vib) { u v19 = 0; u v20 = 0; u v21 = 0; - u v22 = 0; -b0: if (!(vib)) { goto b9; } -b8: v5 = 0UL; - goto b10; -b10: if (!(v5)) { goto b5; } -b4: v4 = 1UL; - goto b7; -b7: if (!(v4)) { goto b1; } -b2: return 0UL; -b1: *(u *)((vib) + (64UL)) = 1UL; - vi = 0UL; - goto b12; -b12: if ((vi) != (*(u *)((vib) + (16UL)))) { goto b14; } -b13: if (!(*(u *)((vib) + (40UL)))) { goto b18; } -b19: v12 = (u)zircuse; - v13 = vc; - v14 = vic; - v15 = *(u *)((vib) + (40UL)); - v16 = ((u (*)())(v12))(v13, v14, v15); -b18: if (!(*(u *)((vib) + (48UL)))) { goto b26; } -b25: if ((*(u *)(*(u *)((*(u *)((vib) + (8UL))) + (((*(u *)((vib) + (16UL))) - (1UL)) * (8UL))))) != (29UL)) { goto b26; } -b27: v17 = 1UL; - goto b28; -b28: if (!(v17)) { goto b22; } -b23: v18 = (u)zircuse; - v19 = vc; - v20 = vic; - v21 = *(u *)((vib) + (48UL)); - v22 = ((u (*)())(v18))(v19, v20, v21); -b22: return 0UL; -b26: v17 = 0UL; - goto b28; -b14: v6 = (u)zircuseop; - v7 = vc; - v8 = vic; - v9 = vib; - v10 = *(u *)((*(u *)((vib) + (8UL))) + ((vi) * (8UL))); - v11 = ((u (*)())(v6))(v7, v8, v9, v10); -b17: vi = (vi) + (1UL); - goto b12; -b5: if (!(*(u *)((vib) + (64UL)))) { goto b11; } -b6: v4 = 1UL; - goto b7; -b11: v4 = 0UL; - goto b7; -b9: v5 = 1UL; + if (!vib) goto b5; + v4 = 0; +b6: if (!v4) goto b1; + return 0; +b1: if (!*(u*)(vib + 64)) goto b7; + *(u*)(vib + 64) = 6; + return 0; +b7: *(u*)(vib + 64) = 2; + vi = 0; +b10: if (vi != *(u*)(vib + 16)) goto b12; + if (!*(u*)(vib + 40)) goto b16; + v11 = (u)zircuse; + v12 = vc; + v13 = vic; + v14 = *(u*)(vib + 40); + v15 = ((u(*)())v11)(v12, v13, v14); +b16: if (!*(u*)(vib + 48)) goto b24; + if (*(u*)*(u*)(*(u*)(vib + 8) + (*(u*)(vib + 16) - 1) * 8) != 29) goto b24; + v16 = 1; +b26: if (!v16) goto b20; + v17 = (u)zircuse; + v18 = vc; + v19 = vic; + v20 = *(u*)(vib + 48); + v21 = ((u(*)())v17)(v18, v19, v20); + *(u*)(*(u*)(vib + 48) + 64) = 6; +b20: return 0; +b24: v16 = 0; + goto b26; +b12: v5 = (u)zircuseop; + v6 = vc; + v7 = vic; + v8 = vib; + v9 = *(u*)(*(u*)(vib + 8) + vi * 8); + v10 = ((u(*)())v5)(v6, v7, v8, v9); + vi = vi + 1; goto b10; +b5: v4 = 1; + goto b6; } -u zircuseop(u vc, u vic, u vib, u vop) { +u zircuseop(u vc, u vic, u vib, u vop){ u vkind = 0; u v5 = 0; u v6 = 0; @@ -19284,257 +18894,229 @@ u zircuseop(u vc, u vic, u vib, u vop) { u v50 = 0; u v51 = 0; u v52 = 0; -b0: vkind = *(u *)(vop); - if ((vkind) != (0UL)) { goto b5; } -b4: v5 = 1UL; - goto b7; -b7: if (!(v5)) { goto b3; } -b2: *(u *)((*(u *)((*(u *)((vic) + (112UL))) + ((*(u *)((vop) + (24UL))) * (8UL)))) + (48UL)) = 1UL; - goto b1; -b1: return 0UL; -b3: if ((vkind) != (6UL)) { goto b12; } -b11: v6 = 1UL; - goto b14; -b14: if (!(v6)) { goto b10; } -b9: v22 = (u)zircuseop; + vkind = *(u*)vop; + if (vkind != 0) goto b5; + v5 = 1; +b7: if (!v5) goto b3; + *(u*)(*(u*)(*(u*)(vic + 112) + *(u*)(vop + 24) * 8) + 48) = 1; +b1: return 0; +b3: if (vkind != 6) goto b12; + v6 = 1; +b14: if (!v6) goto b10; + v22 = (u)zircuseop; v23 = vc; v24 = vic; v25 = vib; - v26 = *(u *)((vop) + (8UL)); - v27 = ((u (*)())(v22))(v23, v24, v25, v26); -b91: v28 = (u)zircuseop; + v26 = *(u*)(vop + 8); + v27 = ((u(*)())v22)(v23, v24, v25, v26); + v28 = (u)zircuseop; v29 = vc; v30 = vic; v31 = vib; - v32 = *(u *)((vop) + (16UL)); - v33 = ((u (*)())(v28))(v29, v30, v31, v32); + v32 = *(u*)(vop + 16); + v33 = ((u(*)())v28)(v29, v30, v31, v32); goto b1; -b10: if ((vkind) != (9UL)) { goto b96; } -b95: v34 = 1UL; - goto b98; -b98: if (!(v34)) { goto b94; } -b93: v41 = (u)zircuseop; +b10: if (vkind != 9) goto b96; + v34 = 1; +b98: if (!v34) goto b94; + v41 = (u)zircuseop; v42 = vc; v43 = vic; v44 = vib; - v45 = *(u *)((vop) + (8UL)); - v46 = ((u (*)())(v41))(v42, v43, v44, v45); + v45 = *(u*)(vop + 8); + v46 = ((u(*)())v41)(v42, v43, v44, v45); goto b1; -b94: if ((vkind) != (2UL)) { goto b134; } -b133: v47 = 1UL; - goto b136; -b136: if (!(v47)) { goto b132; } +b94: if (vkind != 2) goto b134; + v47 = 1; +b136: if (!v47) goto b132; goto b1; b132: v50 = (u)zdie; v51 = (u)"invalid op"; - v52 = ((u (*)())(v50))(v51); + v52 = ((u(*)())v50)(v51); goto b1; -b134: if ((vkind) != (3UL)) { goto b139; } -b138: v48 = 1UL; - goto b141; -b141: if (!(v48)) { goto b137; } -b135: v47 = 1UL; +b134: if (vkind != 3) goto b139; + v48 = 1; +b141: if (!v48) goto b137; + v47 = 1; goto b136; -b137: v47 = 0UL; +b137: v47 = 0; goto b136; -b139: if ((vkind) != (4UL)) { goto b144; } -b143: v49 = 1UL; - goto b146; -b146: if (!(v49)) { goto b142; } -b140: v48 = 1UL; +b139: if (vkind != 4) goto b144; + v49 = 1; +b146: if (!v49) goto b142; + v48 = 1; goto b141; -b142: v48 = 0UL; +b142: v48 = 0; goto b141; -b144: if ((vkind) != (28UL)) { goto b147; } -b145: v49 = 1UL; +b144: if (vkind != 28) goto b147; + v49 = 1; goto b146; -b147: v49 = 0UL; +b147: v49 = 0; goto b146; -b96: if ((vkind) != (10UL)) { goto b101; } -b100: v35 = 1UL; - goto b103; -b103: if (!(v35)) { goto b99; } -b97: v34 = 1UL; +b96: if (vkind != 10) goto b101; + v35 = 1; +b103: if (!v35) goto b99; + v34 = 1; goto b98; -b99: v34 = 0UL; +b99: v34 = 0; goto b98; -b101: if ((vkind) != (5UL)) { goto b106; } -b105: v36 = 1UL; - goto b108; -b108: if (!(v36)) { goto b104; } -b102: v35 = 1UL; +b101: if (vkind != 5) goto b106; + v36 = 1; +b108: if (!v36) goto b104; + v35 = 1; goto b103; -b104: v35 = 0UL; +b104: v35 = 0; goto b103; -b106: if ((vkind) != (7UL)) { goto b111; } -b110: v37 = 1UL; - goto b113; -b113: if (!(v37)) { goto b109; } -b107: v36 = 1UL; +b106: if (vkind != 7) goto b111; + v37 = 1; +b113: if (!v37) goto b109; + v36 = 1; goto b108; -b109: v36 = 0UL; +b109: v36 = 0; goto b108; -b111: if ((vkind) != (8UL)) { goto b116; } -b115: v38 = 1UL; - goto b118; -b118: if (!(v38)) { goto b114; } -b112: v37 = 1UL; +b111: if (vkind != 8) goto b116; + v38 = 1; +b118: if (!v38) goto b114; + v37 = 1; goto b113; -b114: v37 = 0UL; +b114: v37 = 0; goto b113; -b116: if ((vkind) != (27UL)) { goto b121; } -b120: v39 = 1UL; - goto b123; -b123: if (!(v39)) { goto b119; } -b117: v38 = 1UL; +b116: if (vkind != 27) goto b121; + v39 = 1; +b123: if (!v39) goto b119; + v38 = 1; goto b118; -b119: v38 = 0UL; +b119: v38 = 0; goto b118; -b121: if ((vkind) != (29UL)) { goto b126; } -b125: v40 = 1UL; - goto b128; -b128: if (!(v40)) { goto b124; } -b122: v39 = 1UL; +b121: if (vkind != 29) goto b126; + v40 = 1; +b128: if (!v40) goto b124; + v39 = 1; goto b123; -b124: v39 = 0UL; +b124: v39 = 0; goto b123; -b126: if ((vkind) != (30UL)) { goto b129; } -b127: v40 = 1UL; +b126: if (vkind != 30) goto b129; + v40 = 1; goto b128; -b129: v40 = 0UL; +b129: v40 = 0; goto b128; -b12: if ((vkind) != (11UL)) { goto b17; } -b16: v7 = 1UL; - goto b19; -b19: if (!(v7)) { goto b15; } -b13: v6 = 1UL; +b12: if (vkind != 11) goto b17; + v7 = 1; +b19: if (!v7) goto b15; + v6 = 1; goto b14; -b15: v6 = 0UL; +b15: v6 = 0; goto b14; -b17: if ((vkind) != (12UL)) { goto b22; } -b21: v8 = 1UL; - goto b24; -b24: if (!(v8)) { goto b20; } -b18: v7 = 1UL; +b17: if (vkind != 12) goto b22; + v8 = 1; +b24: if (!v8) goto b20; + v7 = 1; goto b19; -b20: v7 = 0UL; +b20: v7 = 0; goto b19; -b22: if ((vkind) != (13UL)) { goto b27; } -b26: v9 = 1UL; - goto b29; -b29: if (!(v9)) { goto b25; } -b23: v8 = 1UL; +b22: if (vkind != 13) goto b27; + v9 = 1; +b29: if (!v9) goto b25; + v8 = 1; goto b24; -b25: v8 = 0UL; +b25: v8 = 0; goto b24; -b27: if ((vkind) != (14UL)) { goto b32; } -b31: v10 = 1UL; - goto b34; -b34: if (!(v10)) { goto b30; } -b28: v9 = 1UL; +b27: if (vkind != 14) goto b32; + v10 = 1; +b34: if (!v10) goto b30; + v9 = 1; goto b29; -b30: v9 = 0UL; +b30: v9 = 0; goto b29; -b32: if ((vkind) != (15UL)) { goto b37; } -b36: v11 = 1UL; - goto b39; -b39: if (!(v11)) { goto b35; } -b33: v10 = 1UL; +b32: if (vkind != 15) goto b37; + v11 = 1; +b39: if (!v11) goto b35; + v10 = 1; goto b34; -b35: v10 = 0UL; +b35: v10 = 0; goto b34; -b37: if ((vkind) != (16UL)) { goto b42; } -b41: v12 = 1UL; - goto b44; -b44: if (!(v12)) { goto b40; } -b38: v11 = 1UL; +b37: if (vkind != 16) goto b42; + v12 = 1; +b44: if (!v12) goto b40; + v11 = 1; goto b39; -b40: v11 = 0UL; +b40: v11 = 0; goto b39; -b42: if ((vkind) != (17UL)) { goto b47; } -b46: v13 = 1UL; - goto b49; -b49: if (!(v13)) { goto b45; } -b43: v12 = 1UL; +b42: if (vkind != 17) goto b47; + v13 = 1; +b49: if (!v13) goto b45; + v12 = 1; goto b44; -b45: v12 = 0UL; +b45: v12 = 0; goto b44; -b47: if ((vkind) != (18UL)) { goto b52; } -b51: v14 = 1UL; - goto b54; -b54: if (!(v14)) { goto b50; } -b48: v13 = 1UL; +b47: if (vkind != 18) goto b52; + v14 = 1; +b54: if (!v14) goto b50; + v13 = 1; goto b49; -b50: v13 = 0UL; +b50: v13 = 0; goto b49; -b52: if ((vkind) != (19UL)) { goto b57; } -b56: v15 = 1UL; - goto b59; -b59: if (!(v15)) { goto b55; } -b53: v14 = 1UL; +b52: if (vkind != 19) goto b57; + v15 = 1; +b59: if (!v15) goto b55; + v14 = 1; goto b54; -b55: v14 = 0UL; +b55: v14 = 0; goto b54; -b57: if ((vkind) != (20UL)) { goto b62; } -b61: v16 = 1UL; - goto b64; -b64: if (!(v16)) { goto b60; } -b58: v15 = 1UL; +b57: if (vkind != 20) goto b62; + v16 = 1; +b64: if (!v16) goto b60; + v15 = 1; goto b59; -b60: v15 = 0UL; +b60: v15 = 0; goto b59; -b62: if ((vkind) != (21UL)) { goto b67; } -b66: v17 = 1UL; - goto b69; -b69: if (!(v17)) { goto b65; } -b63: v16 = 1UL; +b62: if (vkind != 21) goto b67; + v17 = 1; +b69: if (!v17) goto b65; + v16 = 1; goto b64; -b65: v16 = 0UL; +b65: v16 = 0; goto b64; -b67: if ((vkind) != (22UL)) { goto b72; } -b71: v18 = 1UL; - goto b74; -b74: if (!(v18)) { goto b70; } -b68: v17 = 1UL; +b67: if (vkind != 22) goto b72; + v18 = 1; +b74: if (!v18) goto b70; + v17 = 1; goto b69; -b70: v17 = 0UL; +b70: v17 = 0; goto b69; -b72: if ((vkind) != (23UL)) { goto b77; } -b76: v19 = 1UL; - goto b79; -b79: if (!(v19)) { goto b75; } -b73: v18 = 1UL; +b72: if (vkind != 23) goto b77; + v19 = 1; +b79: if (!v19) goto b75; + v18 = 1; goto b74; -b75: v18 = 0UL; +b75: v18 = 0; goto b74; -b77: if ((vkind) != (24UL)) { goto b82; } -b81: v20 = 1UL; - goto b84; -b84: if (!(v20)) { goto b80; } -b78: v19 = 1UL; +b77: if (vkind != 24) goto b82; + v20 = 1; +b84: if (!v20) goto b80; + v19 = 1; goto b79; -b80: v19 = 0UL; +b80: v19 = 0; goto b79; -b82: if ((vkind) != (25UL)) { goto b87; } -b86: v21 = 1UL; - goto b89; -b89: if (!(v21)) { goto b85; } -b83: v20 = 1UL; +b82: if (vkind != 25) goto b87; + v21 = 1; +b89: if (!v21) goto b85; + v20 = 1; goto b84; -b85: v20 = 0UL; +b85: v20 = 0; goto b84; -b87: if ((vkind) != (26UL)) { goto b90; } -b88: v21 = 1UL; +b87: if (vkind != 26) goto b90; + v21 = 1; goto b89; -b90: v21 = 0UL; +b90: v21 = 0; goto b89; -b5: if ((vkind) != (1UL)) { goto b8; } -b6: v5 = 1UL; +b5: if (vkind != 1) goto b8; + v5 = 1; goto b7; -b8: v5 = 0UL; +b8: v5 = 0; goto b7; } -u zirexpr_fold(u vic, u vo) { +u zirexpr_fold(u vic, u vo){ u va = 0; u vb = 0; u vn = 0; @@ -19703,403 +19285,383 @@ u zirexpr_fold(u vic, u vo) { u v168 = 0; u v169 = 0; u v170 = 0; -b0: if (!(*(u *)((vo) + (8UL)))) { goto b4; } -b3: v8 = (u)zirexpr_fold; + if (!*(u*)(vo + 8)) goto b4; + v8 = (u)zirexpr_fold; v9 = vic; - v10 = *(u *)((vo) + (8UL)); - v11 = ((u (*)())(v8))(v9, v10); -b5: va = v11; - goto b2; -b2: if (!(*(u *)((vo) + (16UL)))) { goto b6; } -b7: v12 = (u)zirexpr_fold; + v10 = *(u*)(vo + 8); + v11 = ((u(*)())v8)(v9, v10); + va = v11; + if (!*(u*)(vo + 16)) goto b6; + v12 = (u)zirexpr_fold; v13 = vic; - v14 = *(u *)((vo) + (16UL)); - v15 = ((u (*)())(v12))(v13, v14); -b9: vb = v15; - goto b6; -b6: vkind = *(u *)(vo); - if ((vkind) != (5UL)) { goto b14; } -b13: if ((*(u *)(va)) != (1UL)) { goto b14; } -b15: v16 = 1UL; - goto b16; -b16: if (!(v16)) { goto b10; } -b11: v17 = (u)zmkirop; + v14 = *(u*)(vo + 16); + v15 = ((u(*)())v12)(v13, v14); + vb = v15; +b6: vkind = *(u*)vo; + if (vkind != 5) goto b14; + if (*(u*)va != 1) goto b14; + v16 = 1; +b16: if (!v16) goto b10; + v17 = (u)zmkirop; v18 = vic; - v19 = 0UL; - v20 = 0UL; - v21 = 0UL; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b17: vret = v22; - *(u *)((vret) + (24UL)) = *(u *)((va) + (24UL)); - *(u *)((vret) + (64UL)) = *(u *)((vo) + (64UL)); - *(u *)((vret) + (72UL)) = *(u *)((vo) + (72UL)); - *(u *)((vret) + (80UL)) = *(u *)((vo) + (80UL)); + v19 = 0; + v20 = 0; + v21 = 0; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + vret = v22; + *(u*)(vret + 24) = *(u*)(va + 24); + *(u*)(vret + 64) = *(u*)(vo + 64); + *(u*)(vret + 72) = *(u*)(vo + 72); + *(u*)(vret + 80) = *(u*)(vo + 80); return vret; -b10: if ((*(u *)(va)) == (3UL)) { goto b18; } -b1: if (!(va)) { goto b89; } -b88: if ((*(u *)(va)) != (3UL)) { goto b89; } -b90: v110 = 1UL; - goto b91; -b91: if (!(v110)) { goto b85; } -b86: vn = *(u *)((va) + (24UL)); - if ((vn) != (0UL)) { goto b94; } -b93: if ((vkind) != (11UL)) { goto b99; } -b98: v111 = 1UL; - goto b101; -b101: if (!(v111)) { goto b95; } -b96: return vb; -b95: if ((vkind) != (20UL)) { goto b108; } -b109: v113 = (u)zmkirop; +b10: if (*(u*)va == 3) goto b18; +b1: if (!va) goto b89; + if (*(u*)va != 3) goto b89; + v110 = 1; +b91: if (!v110) goto b85; + vn = *(u*)(va + 24); + if (vn != 0) goto b94; + if (vkind != 11) goto b99; + v111 = 1; +b101: if (!v111) goto b95; + return vb; +b95: if (vkind != 20) goto b108; + v113 = (u)zmkirop; v114 = vic; - v115 = 9UL; + v115 = 9; v116 = vb; - v117 = 0UL; - v118 = ((u (*)())(v113))(v114, v115, v116, v117); -b111: vret = v118; - *(u *)((vret) + (64UL)) = *(u *)((vo) + (64UL)); - *(u *)((vret) + (72UL)) = *(u *)((vo) + (72UL)); - *(u *)((vret) + (80UL)) = *(u *)((vo) + (80UL)); + v117 = 0; + v118 = ((u(*)())v113)(v114, v115, v116, v117); + vret = v118; + *(u*)(vret + 64) = *(u*)(vo + 64); + *(u*)(vret + 72) = *(u*)(vo + 72); + *(u*)(vret + 80) = *(u*)(vo + 80); return vret; -b108: if ((vkind) != (12UL)) { goto b116; } -b115: v119 = 1UL; - goto b118; -b118: if (!(v119)) { goto b85; } -b113: v122 = (u)zmkirfold; +b108: if (vkind != 12) goto b116; + v119 = 1; +b118: if (!v119) goto b85; + v122 = (u)zmkirfold; v123 = vic; v124 = vo; - v125 = 0UL; - v126 = ((u (*)())(v122))(v123, v124, v125); -b130: return v126; -b85: if (!(vb)) { goto b153; } -b152: if ((*(u *)(vb)) != (3UL)) { goto b153; } -b154: v139 = 1UL; - goto b155; -b155: if (!(v139)) { goto b149; } -b150: vn = *(u *)((vb) + (24UL)); - if ((vn) != (0UL)) { goto b158; } -b157: if ((vkind) != (11UL)) { goto b163; } -b162: v140 = 1UL; - goto b165; -b165: if (!(v140)) { goto b159; } -b160: return va; -b159: if ((vkind) != (12UL)) { goto b191; } -b190: v145 = 1UL; - goto b193; -b193: if (!(v145)) { goto b149; } -b188: v146 = (u)zmkirfold; + v125 = 0; + v126 = ((u(*)())v122)(v123, v124, v125); + return v126; +b85: if (!vb) goto b153; + if (*(u*)vb != 3) goto b153; + v139 = 1; +b155: if (!v139) goto b149; + vn = *(u*)(vb + 24); + if (vn != 0) goto b158; + if (vkind != 11) goto b163; + v140 = 1; +b165: if (!v140) goto b159; + return va; +b159: if (vkind != 12) goto b191; + v145 = 1; +b193: if (!v145) goto b149; + v146 = (u)zmkirfold; v147 = vic; v148 = vo; - v149 = 0UL; - v150 = ((u (*)())(v146))(v147, v148, v149); -b195: return v150; -b149: if ((*(u *)((vo) + (8UL))) != (va)) { goto b223; } -b222: if ((*(u *)((vo) + (16UL))) != (vb)) { goto b223; } -b224: v164 = 1UL; - goto b225; -b225: if (!(v164)) { goto b219; } -b220: return vo; + v149 = 0; + v150 = ((u(*)())v146)(v147, v148, v149); + return v150; +b149: if (*(u*)(vo + 8) != va) goto b223; + if (*(u*)(vo + 16) != vb) goto b223; + v164 = 1; +b225: if (!v164) goto b219; + return vo; b219: v165 = (u)zmkirop; v166 = vic; v167 = vkind; v168 = va; v169 = vb; - v170 = ((u (*)())(v165))(v166, v167, v168, v169); -b226: vret = v170; - *(u *)((vret) + (64UL)) = *(u *)((vo) + (64UL)); - *(u *)((vret) + (72UL)) = *(u *)((vo) + (72UL)); - *(u *)((vret) + (80UL)) = *(u *)((vo) + (80UL)); - *(u *)((vret) + (48UL)) = *(u *)((vo) + (48UL)); - *(u *)((vret) + (24UL)) = *(u *)((vo) + (24UL)); + v170 = ((u(*)())v165)(v166, v167, v168, v169); + vret = v170; + *(u*)(vret + 64) = *(u*)(vo + 64); + *(u*)(vret + 72) = *(u*)(vo + 72); + *(u*)(vret + 80) = *(u*)(vo + 80); + *(u*)(vret + 48) = *(u*)(vo + 48); + *(u*)(vret + 24) = *(u*)(vo + 24); return vret; -b223: v164 = 0UL; +b223: v164 = 0; goto b225; -b191: if ((vkind) != (19UL)) { goto b194; } -b192: v145 = 1UL; +b191: if (vkind != 19) goto b194; + v145 = 1; goto b193; -b194: v145 = 0UL; +b194: v145 = 0; goto b193; -b163: if ((vkind) != (13UL)) { goto b168; } -b167: v141 = 1UL; - goto b170; -b170: if (!(v141)) { goto b166; } -b164: v140 = 1UL; +b163: if (vkind != 13) goto b168; + v141 = 1; +b170: if (!v141) goto b166; + v140 = 1; goto b165; -b166: v140 = 0UL; +b166: v140 = 0; goto b165; -b168: if ((vkind) != (14UL)) { goto b173; } -b172: v142 = 1UL; - goto b175; -b175: if (!(v142)) { goto b171; } -b169: v141 = 1UL; +b168: if (vkind != 14) goto b173; + v142 = 1; +b175: if (!v142) goto b171; + v141 = 1; goto b170; -b171: v141 = 0UL; +b171: v141 = 0; goto b170; -b173: if ((vkind) != (20UL)) { goto b178; } -b177: v143 = 1UL; - goto b180; -b180: if (!(v143)) { goto b176; } -b174: v142 = 1UL; +b173: if (vkind != 20) goto b178; + v143 = 1; +b180: if (!v143) goto b176; + v142 = 1; goto b175; -b176: v142 = 0UL; +b176: v142 = 0; goto b175; -b178: if ((vkind) != (17UL)) { goto b183; } -b182: v144 = 1UL; - goto b185; -b185: if (!(v144)) { goto b181; } -b179: v143 = 1UL; +b178: if (vkind != 17) goto b183; + v144 = 1; +b185: if (!v144) goto b181; + v143 = 1; goto b180; -b181: v143 = 0UL; +b181: v143 = 0; goto b180; -b183: if ((vkind) != (18UL)) { goto b186; } -b184: v144 = 1UL; +b183: if (vkind != 18) goto b186; + v144 = 1; goto b185; -b186: v144 = 0UL; +b186: v144 = 0; goto b185; -b158: if ((vn) != (1UL)) { goto b197; } -b196: if ((vkind) != (15UL)) { goto b202; } -b201: v151 = 1UL; +b158: if (vn != 1) goto b197; + if (vkind != 15) goto b202; + v151 = 1; +b204: if (!v151) goto b149; + return va; +b202: if (vkind != 19) goto b205; + v151 = 1; goto b204; -b204: if (!(v151)) { goto b149; } -b199: return va; -b202: if ((vkind) != (19UL)) { goto b205; } -b203: v151 = 1UL; +b205: v151 = 0; goto b204; -b205: v151 = 0UL; - goto b204; -b197: if ((vn) != (-1UL)) { goto b149; } -b206: if ((vkind) != (19UL)) { goto b208; } -b209: v152 = (u)zmkirop; +b197: if (vn != -1UL) goto b149; + if (vkind != 19) goto b208; + v152 = (u)zmkirop; v153 = vic; - v154 = 9UL; + v154 = 9; v155 = va; - v156 = 0UL; - v157 = ((u (*)())(v152))(v153, v154, v155, v156); -b211: vret = v157; - *(u *)((vret) + (64UL)) = *(u *)((vo) + (64UL)); - *(u *)((vret) + (72UL)) = *(u *)((vo) + (72UL)); - *(u *)((vret) + (80UL)) = *(u *)((vo) + (80UL)); + v156 = 0; + v157 = ((u(*)())v152)(v153, v154, v155, v156); + vret = v157; + *(u*)(vret + 64) = *(u*)(vo + 64); + *(u*)(vret + 72) = *(u*)(vo + 72); + *(u*)(vret + 80) = *(u*)(vo + 80); return vret; -b208: if ((vkind) != (14UL)) { goto b212; } -b213: v158 = (u)zmkirop; +b208: if (vkind != 14) goto b212; + v158 = (u)zmkirop; v159 = vic; - v160 = 10UL; + v160 = 10; v161 = va; - v162 = 0UL; - v163 = ((u (*)())(v158))(v159, v160, v161, v162); -b215: vret = v163; - *(u *)((vret) + (64UL)) = *(u *)((vo) + (64UL)); - *(u *)((vret) + (72UL)) = *(u *)((vo) + (72UL)); - *(u *)((vret) + (80UL)) = *(u *)((vo) + (80UL)); + v162 = 0; + v163 = ((u(*)())v158)(v159, v160, v161, v162); + vret = v163; + *(u*)(vret + 64) = *(u*)(vo + 64); + *(u*)(vret + 72) = *(u*)(vo + 72); + *(u*)(vret + 80) = *(u*)(vo + 80); return vret; -b212: if ((vkind) != (12UL)) { goto b149; } -b217: return va; -b153: v139 = 0UL; +b212: if (vkind != 12) goto b149; + return va; +b153: v139 = 0; goto b155; -b116: if ((vkind) != (19UL)) { goto b121; } -b120: v120 = 1UL; - goto b123; -b123: if (!(v120)) { goto b119; } -b117: v119 = 1UL; +b116: if (vkind != 19) goto b121; + v120 = 1; +b123: if (!v120) goto b119; + v119 = 1; goto b118; -b119: v119 = 0UL; +b119: v119 = 0; goto b118; -b121: if ((vkind) != (17UL)) { goto b126; } -b125: v121 = 1UL; - goto b128; -b128: if (!(v121)) { goto b124; } -b122: v120 = 1UL; +b121: if (vkind != 17) goto b126; + v121 = 1; +b128: if (!v121) goto b124; + v120 = 1; goto b123; -b124: v120 = 0UL; +b124: v120 = 0; goto b123; -b126: if ((vkind) != (18UL)) { goto b129; } -b127: v121 = 1UL; +b126: if (vkind != 18) goto b129; + v121 = 1; goto b128; -b129: v121 = 0UL; +b129: v121 = 0; goto b128; -b99: if ((vkind) != (13UL)) { goto b104; } -b103: v112 = 1UL; - goto b106; -b106: if (!(v112)) { goto b102; } -b100: v111 = 1UL; +b99: if (vkind != 13) goto b104; + v112 = 1; +b106: if (!v112) goto b102; + v111 = 1; goto b101; -b102: v111 = 0UL; +b102: v111 = 0; goto b101; -b104: if ((vkind) != (14UL)) { goto b107; } -b105: v112 = 1UL; +b104: if (vkind != 14) goto b107; + v112 = 1; goto b106; -b107: v112 = 0UL; +b107: v112 = 0; goto b106; -b94: if ((vn) != (1UL)) { goto b132; } -b131: if ((vkind) != (19UL)) { goto b85; } -b134: return vb; -b132: if ((vn) != (-1UL)) { goto b85; } -b136: if ((vkind) != (19UL)) { goto b138; } -b139: v127 = (u)zmkirop; +b94: if (vn != 1) goto b132; + if (vkind != 19) goto b85; + return vb; +b132: if (vn != -1UL) goto b85; + if (vkind != 19) goto b138; + v127 = (u)zmkirop; v128 = vic; - v129 = 9UL; + v129 = 9; v130 = vb; - v131 = 0UL; - v132 = ((u (*)())(v127))(v128, v129, v130, v131); -b141: vret = v132; - *(u *)((vret) + (64UL)) = *(u *)((vo) + (64UL)); - *(u *)((vret) + (72UL)) = *(u *)((vo) + (72UL)); - *(u *)((vret) + (80UL)) = *(u *)((vo) + (80UL)); + v131 = 0; + v132 = ((u(*)())v127)(v128, v129, v130, v131); + vret = v132; + *(u*)(vret + 64) = *(u*)(vo + 64); + *(u*)(vret + 72) = *(u*)(vo + 72); + *(u*)(vret + 80) = *(u*)(vo + 80); return vret; -b138: if ((vkind) != (14UL)) { goto b142; } -b143: v133 = (u)zmkirop; +b138: if (vkind != 14) goto b142; + v133 = (u)zmkirop; v134 = vic; - v135 = 10UL; + v135 = 10; v136 = vb; - v137 = 0UL; - v138 = ((u (*)())(v133))(v134, v135, v136, v137); -b145: vret = v138; - *(u *)((vret) + (64UL)) = *(u *)((vo) + (64UL)); - *(u *)((vret) + (72UL)) = *(u *)((vo) + (72UL)); - *(u *)((vret) + (80UL)) = *(u *)((vo) + (80UL)); + v137 = 0; + v138 = ((u(*)())v133)(v134, v135, v136, v137); + vret = v138; + *(u*)(vret + 64) = *(u*)(vo + 64); + *(u*)(vret + 72) = *(u*)(vo + 72); + *(u*)(vret + 80) = *(u*)(vo + 80); return vret; -b142: if ((vkind) != (12UL)) { goto b85; } -b147: return vb; -b89: v110 = 0UL; +b142: if (vkind != 12) goto b85; + return vb; +b89: v110 = 0; goto b91; -b18: if ((vkind) != (9UL)) { goto b23; } -b22: v23 = (u)zmkirfold; +b18: if (vkind != 9) goto b23; + v23 = (u)zmkirfold; v24 = vic; v25 = vo; - v26 = -(*(u *)((va) + (24UL))); - v27 = ((u (*)())(v23))(v24, v25, v26); -b24: return v27; -b23: if ((vkind) != (10UL)) { goto b21; } -b25: v28 = (u)zmkirfold; + v26 = -*(u*)(va + 24); + v27 = ((u(*)())v23)(v24, v25, v26); + return v27; +b23: if (vkind != 10) goto b21; + v28 = (u)zmkirfold; v29 = vic; v30 = vo; - v31 = ~(*(u *)((va) + (24UL))); - v32 = ((u (*)())(v28))(v29, v30, v31); -b27: return v32; -b21: if (!(vb)) { goto b36; } -b35: v34 = 0UL; - goto b37; -b37: if (!(v34)) { goto b32; } -b31: v33 = 1UL; - goto b34; -b34: if (!(v33)) { goto b28; } + v31 = ~*(u*)(va + 24); + v32 = ((u(*)())v28)(v29, v30, v31); + return v32; +b21: if (!vb) goto b36; + v34 = 0; +b37: if (!v34) goto b32; + v33 = 1; +b34: if (!v33) goto b28; goto b1; -b28: if ((vkind) != (11UL)) { goto b41; } -b40: v35 = (u)zmkirfold; +b28: if (vkind != 11) goto b41; + v35 = (u)zmkirfold; v36 = vic; v37 = vo; - v38 = (*(u *)((va) + (24UL))) + (*(u *)((vb) + (24UL))); - v39 = ((u (*)())(v35))(v36, v37, v38); -b42: return v39; -b41: if ((vkind) != (13UL)) { goto b44; } -b43: v40 = (u)zmkirfold; + v38 = *(u*)(va + 24) + *(u*)(vb + 24); + v39 = ((u(*)())v35)(v36, v37, v38); + return v39; +b41: if (vkind != 13) goto b44; + v40 = (u)zmkirfold; v41 = vic; v42 = vo; - v43 = (*(u *)((va) + (24UL))) | (*(u *)((vb) + (24UL))); - v44 = ((u (*)())(v40))(v41, v42, v43); -b45: return v44; -b44: if ((vkind) != (14UL)) { goto b47; } -b46: v45 = (u)zmkirfold; + v43 = *(u*)(va + 24) | *(u*)(vb + 24); + v44 = ((u(*)())v40)(v41, v42, v43); + return v44; +b44: if (vkind != 14) goto b47; + v45 = (u)zmkirfold; v46 = vic; v47 = vo; - v48 = (*(u *)((va) + (24UL))) ^ (*(u *)((vb) + (24UL))); - v49 = ((u (*)())(v45))(v46, v47, v48); -b48: return v49; -b47: if ((vkind) != (15UL)) { goto b50; } -b49: v50 = (u)zmkirfold; + v48 = *(u*)(va + 24) ^ *(u*)(vb + 24); + v49 = ((u(*)())v45)(v46, v47, v48); + return v49; +b47: if (vkind != 15) goto b50; + v50 = (u)zmkirfold; v51 = vic; v52 = vo; - v53 = (u)(((s)(*(u *)((va) + (24UL)))) / ((s)(*(u *)((vb) + (24UL))))); - v54 = ((u (*)())(v50))(v51, v52, v53); -b51: return v54; -b50: if ((vkind) != (16UL)) { goto b53; } -b52: v55 = (u)zmkirfold; + v53 = (u)((s)*(u*)(va + 24) / (s)*(u*)(vb + 24)); + v54 = ((u(*)())v50)(v51, v52, v53); + return v54; +b50: if (vkind != 16) goto b53; + v55 = (u)zmkirfold; v56 = vic; v57 = vo; - v58 = (u)(((s)(*(u *)((va) + (24UL)))) % ((s)(*(u *)((vb) + (24UL))))); - v59 = ((u (*)())(v55))(v56, v57, v58); -b54: return v59; -b53: if ((vkind) != (17UL)) { goto b56; } -b55: v60 = (u)zmkirfold; + v58 = (u)((s)*(u*)(va + 24) % (s)*(u*)(vb + 24)); + v59 = ((u(*)())v55)(v56, v57, v58); + return v59; +b53: if (vkind != 17) goto b56; + v60 = (u)zmkirfold; v61 = vic; v62 = vo; - v63 = (*(u *)((va) + (24UL))) << (*(u *)((vb) + (24UL))); - v64 = ((u (*)())(v60))(v61, v62, v63); -b57: return v64; -b56: if ((vkind) != (18UL)) { goto b59; } -b58: v65 = (u)zmkirfold; + v63 = *(u*)(va + 24) << *(u*)(vb + 24); + v64 = ((u(*)())v60)(v61, v62, v63); + return v64; +b56: if (vkind != 18) goto b59; + v65 = (u)zmkirfold; v66 = vic; v67 = vo; - v68 = (*(u *)((va) + (24UL))) >> (*(u *)((vb) + (24UL))); - v69 = ((u (*)())(v65))(v66, v67, v68); -b60: return v69; -b59: if ((vkind) != (19UL)) { goto b62; } -b61: v70 = (u)zmkirfold; + v68 = *(u*)(va + 24) >> *(u*)(vb + 24); + v69 = ((u(*)())v65)(v66, v67, v68); + return v69; +b59: if (vkind != 19) goto b62; + v70 = (u)zmkirfold; v71 = vic; v72 = vo; - v73 = (*(u *)((va) + (24UL))) * (*(u *)((vb) + (24UL))); - v74 = ((u (*)())(v70))(v71, v72, v73); -b63: return v74; -b62: if ((vkind) != (20UL)) { goto b65; } -b64: v75 = (u)zmkirfold; + v73 = *(u*)(va + 24) * *(u*)(vb + 24); + v74 = ((u(*)())v70)(v71, v72, v73); + return v74; +b62: if (vkind != 20) goto b65; + v75 = (u)zmkirfold; v76 = vic; v77 = vo; - v78 = (*(u *)((va) + (24UL))) - (*(u *)((vb) + (24UL))); - v79 = ((u (*)())(v75))(v76, v77, v78); -b66: return v79; -b65: if ((vkind) != (21UL)) { goto b68; } -b67: v80 = (u)zmkirfold; + v78 = *(u*)(va + 24) - *(u*)(vb + 24); + v79 = ((u(*)())v75)(v76, v77, v78); + return v79; +b65: if (vkind != 21) goto b68; + v80 = (u)zmkirfold; v81 = vic; v82 = vo; - v83 = (u)((*(u *)((va) + (24UL))) == (*(u *)((vb) + (24UL)))); - v84 = ((u (*)())(v80))(v81, v82, v83); -b69: return v84; -b68: if ((vkind) != (22UL)) { goto b71; } -b70: v85 = (u)zmkirfold; + v83 = (u)(*(u*)(va + 24) == *(u*)(vb + 24)); + v84 = ((u(*)())v80)(v81, v82, v83); + return v84; +b68: if (vkind != 22) goto b71; + v85 = (u)zmkirfold; v86 = vic; v87 = vo; - v88 = (u)((*(u *)((va) + (24UL))) != (*(u *)((vb) + (24UL)))); - v89 = ((u (*)())(v85))(v86, v87, v88); -b72: return v89; -b71: if ((vkind) != (23UL)) { goto b74; } -b73: v90 = (u)zmkirfold; + v88 = (u)(*(u*)(va + 24) != *(u*)(vb + 24)); + v89 = ((u(*)())v85)(v86, v87, v88); + return v89; +b71: if (vkind != 23) goto b74; + v90 = (u)zmkirfold; v91 = vic; v92 = vo; - v93 = (u)(((s)(*(u *)((va) + (24UL)))) > ((s)(*(u *)((vb) + (24UL))))); - v94 = ((u (*)())(v90))(v91, v92, v93); -b75: return v94; -b74: if ((vkind) != (24UL)) { goto b77; } -b76: v95 = (u)zmkirfold; + v93 = (u)((s)*(u*)(va + 24) > (s)*(u*)(vb + 24)); + v94 = ((u(*)())v90)(v91, v92, v93); + return v94; +b74: if (vkind != 24) goto b77; + v95 = (u)zmkirfold; v96 = vic; v97 = vo; - v98 = (u)(((s)(*(u *)((va) + (24UL)))) >= ((s)(*(u *)((vb) + (24UL))))); - v99 = ((u (*)())(v95))(v96, v97, v98); -b78: return v99; -b77: if ((vkind) != (25UL)) { goto b80; } -b79: v100 = (u)zmkirfold; + v98 = (u)((s)*(u*)(va + 24) >= (s)*(u*)(vb + 24)); + v99 = ((u(*)())v95)(v96, v97, v98); + return v99; +b77: if (vkind != 25) goto b80; + v100 = (u)zmkirfold; v101 = vic; v102 = vo; - v103 = (u)(((s)(*(u *)((va) + (24UL)))) < ((s)(*(u *)((vb) + (24UL))))); - v104 = ((u (*)())(v100))(v101, v102, v103); -b81: return v104; -b80: if ((vkind) != (26UL)) { goto b1; } -b82: v105 = (u)zmkirfold; + v103 = (u)((s)*(u*)(va + 24) < (s)*(u*)(vb + 24)); + v104 = ((u(*)())v100)(v101, v102, v103); + return v104; +b80: if (vkind != 26) goto b1; + v105 = (u)zmkirfold; v106 = vic; v107 = vo; - v108 = (u)(((s)(*(u *)((va) + (24UL)))) <= ((s)(*(u *)((vb) + (24UL))))); - v109 = ((u (*)())(v105))(v106, v107, v108); -b84: return v109; -b32: if ((*(u *)(vb)) == (3UL)) { goto b38; } -b33: v33 = 1UL; + v108 = (u)((s)*(u*)(va + 24) <= (s)*(u*)(vb + 24)); + v109 = ((u(*)())v105)(v106, v107, v108); + return v109; +b32: if (*(u*)vb == 3) goto b38; + v33 = 1; goto b34; -b38: v33 = 0UL; +b38: v33 = 0; goto b34; -b36: v34 = 1UL; +b36: v34 = 1; goto b37; -b14: v16 = 0UL; +b14: v16 = 0; goto b16; b4: return vo; } -u zirfind_block(u vic, u vname, u vmake) { +u zirfind_block(u vic, u vname, u vmake){ u vlink = 0; u vl = 0; u vdir = 0; @@ -20124,58 +19686,55 @@ u zirfind_block(u vic, u vname, u vmake) { u v24 = 0; u v25 = 0; u v26 = 0; -b0: vlink = (vic) + (96UL); - goto b1; -b1: vl = *(u *)(vlink); - if (!(vl)) { goto b7; } -b6: v6 = 0UL; - goto b8; -b8: if (!(v6)) { goto b3; } -b2: if (!(vmake)) { goto b23; } -b22: v15 = 0UL; - goto b24; -b24: if (!(v15)) { goto b19; } -b20: v16 = (u)zcdie; - v17 = *(u *)(vic); + vlink = vic + 96; +b1: vl = *(u*)vlink; + if (!vl) goto b7; + v6 = 0; +b8: if (!v6) goto b3; + if (!vmake) goto b23; + v15 = 0; +b24: if (!v15) goto b19; + v16 = (u)zcdie; + v17 = *(u*)vic; v18 = (u)"no such label"; - v19 = ((u (*)())(v16))(v17, v18); + v19 = ((u(*)())v16)(v17, v18); b19: v20 = (u)zalloc; - v21 = *(u *)((vic) + (16UL)); - v22 = 32UL; - v23 = ((u (*)())(v20))(v21, v22); -b26: vl = v23; - *(u *)(vl) = vname; - *(u *)((vl) + (8UL)) = 0UL; - *(u *)((vl) + (16UL)) = 0UL; + v21 = *(u*)(vic + 16); + v22 = 32; + v23 = ((u(*)())v20)(v21, v22); + vl = v23; + *(u*)vl = vname; + *(u*)(vl + 8) = 0; + *(u*)(vl + 16) = 0; v24 = (u)zmkirblock; v25 = vic; - v26 = ((u (*)())(v24))(v25); -b27: *(u *)((vl) + (24UL)) = v26; - *(u *)(vlink) = vl; - return *(u *)((vl) + (24UL)); -b23: v15 = 1UL; + v26 = ((u(*)())v24)(v25); + *(u*)(vl + 24) = v26; + *(u*)vlink = vl; + return *(u*)(vl + 24); +b23: v15 = 1; goto b24; b3: v7 = (u)zstrcmp; v8 = vname; - v9 = *(u *)(vl); - v10 = ((u (*)())(v7))(v8, v9); -b9: vdir = v10; - if ((vdir) != (0UL)) { goto b12; } -b11: if (!(vmake)) { goto b13; } -b14: v11 = (u)zcdie; - v12 = *(u *)(vic); + v9 = *(u*)vl; + v10 = ((u(*)())v7)(v8, v9); + vdir = v10; + if (vdir != 0) goto b12; + if (!vmake) goto b13; + v11 = (u)zcdie; + v12 = *(u*)vic; v13 = (u)"duplicate label"; - v14 = ((u (*)())(v11))(v12, v13); -b13: return *(u *)((vl) + (24UL)); -b12: if ((s)(vdir) >= (s)(0UL)) { goto b18; } -b17: vlink = (vl) + (8UL); + v14 = ((u(*)())v11)(v12, v13); +b13: return *(u*)(vl + 24); +b12: if ((s)vdir >= (s)0) goto b18; + vlink = vl + 8; goto b1; -b18: vlink = (vl) + (16UL); +b18: vlink = vl + 16; goto b1; -b7: v6 = 1UL; +b7: v6 = 1; goto b8; } -u zirfind_var(u vic, u vname) { +u zirfind_var(u vic, u vname){ u vlink = 0; u vv = 0; u vdir = 0; @@ -20184,47 +19743,44 @@ u zirfind_var(u vic, u vname) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: vlink = (vic) + (104UL); - goto b1; -b1: vv = *(u *)(vlink); - if (!(vv)) { goto b7; } -b6: v5 = 0UL; - goto b8; -b8: if (!(v5)) { goto b3; } -b4: return vlink; + vlink = vic + 104; +b1: vv = *(u*)vlink; + if (!vv) goto b7; + v5 = 0; +b8: if (!v5) goto b3; + return vlink; b3: v6 = (u)zstrcmp; v7 = vname; - v8 = *(u *)(vv); - v9 = ((u (*)())(v6))(v7, v8); -b9: vdir = v9; - if ((vdir) != (0UL)) { goto b12; } -b11: return vlink; -b12: if ((s)(vdir) >= (s)(0UL)) { goto b14; } -b13: vlink = (vv) + (8UL); + v8 = *(u*)vv; + v9 = ((u(*)())v6)(v7, v8); + vdir = v9; + if (vdir != 0) goto b12; + return vlink; +b12: if ((s)vdir >= (s)0) goto b14; + vlink = vv + 8; goto b1; -b14: vlink = (vv) + (16UL); +b14: vlink = vv + 16; goto b1; -b7: v5 = 1UL; +b7: v5 = 1; goto b8; } -u zirfunc_dead(u vic) { +u zirfunc_dead(u vic){ u vi = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vic) + (72UL)))) { goto b3; } -b2: return 0UL; + vi = 0; +b1: if (vi != *(u*)(vic + 72)) goto b3; + return 0; b3: v2 = (u)zirblock_dead_expr; v3 = vic; - v4 = *(u *)((*(u *)((vic) + (64UL))) + ((vi) * (8UL))); - v5 = ((u (*)())(v2))(v3, v4); -b6: vi = (vi) + (1UL); + v4 = *(u*)(*(u*)(vic + 64) + vi * 8); + v5 = ((u(*)())v2)(v3, v4); + vi = vi + 1; goto b1; } -u zirfunc_flow(u vic) { +u zirfunc_flow(u vic){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -20236,54 +19792,52 @@ u zirfunc_flow(u vic) { u v9 = 0; u v10 = 0; u v11 = 0; -b0: v1 = (u)zirblock_flow2; + v1 = (u)zirblock_flow2; v2 = vic; - v3 = *(u *)(*(u *)((vic) + (64UL))); - v4 = ((u (*)())(v1))(v2, v3); -b1: v5 = (u)zirblock_flow3; + v3 = *(u*)*(u*)(vic + 64); + v4 = ((u(*)())v1)(v2, v3); + v5 = (u)zirblock_flow3; v6 = vic; - v7 = *(u *)(*(u *)((vic) + (64UL))); - v8 = ((u (*)())(v5))(v6, v7); -b2: v9 = (u)zirreset; - v10 = *(u *)(*(u *)((vic) + (64UL))); - v11 = ((u (*)())(v9))(v10); -b3: return 0UL; -} -u zirfunc_fold(u vic) { + v7 = *(u*)*(u*)(vic + 64); + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zirreset; + v10 = *(u*)*(u*)(vic + 64); + v11 = ((u(*)())v9)(v10); + return 0; +} +u zirfunc_fold(u vic){ u vi = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vic) + (72UL)))) { goto b3; } -b2: return 0UL; + vi = 0; +b1: if (vi != *(u*)(vic + 72)) goto b3; + return 0; b3: v2 = (u)zirblock_fold; v3 = vic; - v4 = *(u *)((*(u *)((vic) + (64UL))) + ((vi) * (8UL))); - v5 = ((u (*)())(v2))(v3, v4); -b6: vi = (vi) + (1UL); + v4 = *(u*)(*(u*)(vic + 64) + vi * 8); + v5 = ((u(*)())v2)(v3, v4); + vi = vi + 1; goto b1; } -u zirfunc_value(u vic) { +u zirfunc_value(u vic){ u vi = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vic) + (72UL)))) { goto b3; } -b2: return 0UL; + vi = 0; +b1: if (vi != *(u*)(vic + 72)) goto b3; + return 0; b3: v2 = (u)zirblock_value; v3 = vic; - v4 = *(u *)((*(u *)((vic) + (64UL))) + ((vi) * (8UL))); - v5 = ((u (*)())(v2))(v3, v4); -b6: vi = (vi) + (1UL); + v4 = *(u*)(*(u*)(vic + 64) + vi * 8); + v5 = ((u(*)())v2)(v3, v4); + vi = vi + 1; goto b1; } -u zirjump(u vic, u vto, u vnext) { +u zirjump(u vic, u vto, u vnext){ u vcur = 0; u vo = 0; u v5 = 0; @@ -20300,31 +19854,30 @@ u zirjump(u vic, u vto, u vnext) { u v16 = 0; u v17 = 0; u v18 = 0; -b0: v5 = (u)zmkirop; + v5 = (u)zmkirop; v6 = vic; - v7 = 28UL; - v8 = 0UL; - v9 = 0UL; - v10 = ((u (*)())(v5))(v6, v7, v8, v9); -b1: vo = v10; + v7 = 28; + v8 = 0; + v9 = 0; + v10 = ((u(*)())v5)(v6, v7, v8, v9); + vo = v10; v11 = (u)ziraddop; v12 = vic; v13 = vo; - v14 = ((u (*)())(v11))(v12, v13); -b2: vcur = *(u *)((vic) + (88UL)); - if (!(vcur)) { goto b3; } -b4: if (!(*(u *)((vcur) + (32UL)))) { goto b6; } -b7: v15 = (u)zcdie; - v16 = *(u *)(vic); + v14 = ((u(*)())v11)(v12, v13); + vcur = *(u*)(vic + 88); + if (!vcur) goto b3; + if (!*(u*)(vcur + 32)) goto b6; + v15 = (u)zcdie; + v16 = *(u*)vic; v17 = (u)"block already done"; - v18 = ((u (*)())(v15))(v16, v17); -b6: *(u *)((vcur) + (32UL)) = 1UL; - *(u *)((vcur) + (40UL)) = vto; - goto b3; -b3: *(u *)((vic) + (88UL)) = vnext; - return 0UL; + v18 = ((u(*)())v15)(v16, v17); +b6: *(u*)(vcur + 32) = 1; + *(u*)(vcur + 40) = vto; +b3: *(u*)(vic + 88) = vnext; + return 0; } -u zirreset(u vb) { +u zirreset(u vb){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -20333,30 +19886,28 @@ u zirreset(u vb) { u v6 = 0; u v7 = 0; u v8 = 0; -b0: if (!(vb)) { goto b5; } -b4: v1 = 0UL; - goto b6; -b6: if (!(v1)) { goto b1; } -b2: return 0UL; -b1: if (!(*(u *)((vb) + (64UL)))) { goto b11; } -b10: v2 = 0UL; - goto b12; -b12: if (!(v2)) { goto b7; } -b8: return 0UL; -b7: *(u *)((vb) + (64UL)) = 0UL; + if (!vb) goto b5; + v1 = 0; +b6: if (!v1) goto b1; + return 0; +b1: if (!*(u*)(vb + 64)) goto b11; + v2 = 0; +b12: if (!v2) goto b7; + return 0; +b7: *(u*)(vb + 64) = 0; v3 = (u)zirreset; - v4 = *(u *)((vb) + (40UL)); - v5 = ((u (*)())(v3))(v4); -b13: v6 = (u)zirreset; - v7 = *(u *)((vb) + (48UL)); - v8 = ((u (*)())(v6))(v7); -b14: return 0UL; -b11: v2 = 1UL; + v4 = *(u*)(vb + 40); + v5 = ((u(*)())v3)(v4); + v6 = (u)zirreset; + v7 = *(u*)(vb + 48); + v8 = ((u(*)())v6)(v7); + return 0; +b11: v2 = 1; goto b12; -b5: v1 = 1UL; +b5: v1 = 1; goto b6; } -u zirreturn(u vic, u vvalue) { +u zirreturn(u vic, u vvalue){ u vcur = 0; u vo = 0; u v4 = 0; @@ -20373,30 +19924,29 @@ u zirreturn(u vic, u vvalue) { u v15 = 0; u v16 = 0; u v17 = 0; -b0: v4 = (u)zmkirop; + v4 = (u)zmkirop; v5 = vic; - v6 = 30UL; + v6 = 30; v7 = vvalue; - v8 = 0UL; - v9 = ((u (*)())(v4))(v5, v6, v7, v8); -b1: vo = v9; + v8 = 0; + v9 = ((u(*)())v4)(v5, v6, v7, v8); + vo = v9; v10 = (u)ziraddop; v11 = vic; v12 = vo; - v13 = ((u (*)())(v10))(v11, v12); -b2: vcur = *(u *)((vic) + (88UL)); - if (!(vcur)) { goto b3; } -b4: if (!(*(u *)((vcur) + (32UL)))) { goto b6; } -b7: v14 = (u)zcdie; - v15 = *(u *)(vic); + v13 = ((u(*)())v10)(v11, v12); + vcur = *(u*)(vic + 88); + if (!vcur) goto b3; + if (!*(u*)(vcur + 32)) goto b6; + v14 = (u)zcdie; + v15 = *(u*)vic; v16 = (u)"block already done"; - v17 = ((u (*)())(v14))(v15, v16); -b6: *(u *)((vcur) + (32UL)) = 1UL; - goto b3; -b3: *(u *)((vic) + (88UL)) = 0UL; - return 0UL; + v17 = ((u(*)())v14)(v15, v16); +b6: *(u*)(vcur + 32) = 1; +b3: *(u*)(vic + 88) = 0; + return 0; } -u zlabels_to_ir(u vic, u vn) { +u zlabels_to_ir(u vic, u vn){ u vkind = 0; u vname = 0; u v4 = 0; @@ -20419,61 +19969,58 @@ u zlabels_to_ir(u vic, u vn) { u v21 = 0; u v22 = 0; u v23 = 0; -b0: if (!(vn)) { goto b5; } -b4: v4 = 0UL; - goto b6; -b6: if (!(v4)) { goto b1; } -b2: return 0UL; -b1: *(u *)((*(u *)(vic)) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((*(u *)(vic)) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((*(u *)(vic)) + (40UL)) = *(u *)((vn) + (40UL)); - vkind = *(u *)(vn); - if ((vkind) != (21UL)) { goto b9; } -b10: if (!(vn)) { goto b16; } -b15: v5 = 0UL; - goto b17; -b17: if (!(v5)) { goto b12; } -b7: return 0UL; + if (!vn) goto b5; + v4 = 0; +b6: if (!v4) goto b1; + return 0; +b1: *(u*)(*(u*)vic + 24) = *(u*)(vn + 24); + *(u*)(*(u*)vic + 32) = *(u*)(vn + 32); + *(u*)(*(u*)vic + 40) = *(u*)(vn + 40); + vkind = *(u*)vn; + if (vkind != 21) goto b9; +b10: if (!vn) goto b16; + v5 = 0; +b17: if (!v5) goto b12; +b7: return 0; b12: v6 = (u)zlabels_to_ir; v7 = vic; - v8 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v9 = ((u (*)())(v6))(v7, v8); -b18: vn = *(u *)((vn) + (16UL)); + v8 = *(u*)(*(u*)(vn + 8) + 16); + v9 = ((u(*)())v6)(v7, v8); + vn = *(u*)(vn + 16); goto b10; -b16: v5 = 1UL; +b16: v5 = 1; goto b17; -b9: if ((vkind) != (5UL)) { goto b20; } -b21: if (!(vn)) { goto b27; } -b26: v10 = 0UL; - goto b28; -b28: if (!(v10)) { goto b23; } +b9: if (vkind != 5) goto b20; +b21: if (!vn) goto b27; + v10 = 0; +b28: if (!v10) goto b23; goto b7; b23: v11 = (u)zlabels_to_ir; v12 = vic; - v13 = *(u *)((vn) + (8UL)); - v14 = ((u (*)())(v11))(v12, v13); -b29: vn = *(u *)((vn) + (16UL)); + v13 = *(u*)(vn + 8); + v14 = ((u(*)())v11)(v12, v13); + vn = *(u*)(vn + 16); goto b21; -b27: v10 = 1UL; +b27: v10 = 1; goto b28; -b20: if ((vkind) != (26UL)) { goto b31; } -b30: v15 = (u)zlabels_to_ir; +b20: if (vkind != 26) goto b31; + v15 = (u)zlabels_to_ir; v16 = vic; - v17 = *(u *)((vn) + (8UL)); - v18 = ((u (*)())(v15))(v16, v17); + v17 = *(u*)(vn + 8); + v18 = ((u(*)())v15)(v16, v17); goto b7; -b31: if ((vkind) != (31UL)) { goto b7; } -b33: vname = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); +b31: if (vkind != 31) goto b7; + vname = *(u*)(*(u*)(vn + 8) + 56); v19 = (u)zirfind_block; v20 = vic; v21 = vname; - v22 = 1UL; - v23 = ((u (*)())(v19))(v20, v21, v22); + v22 = 1; + v23 = ((u(*)())v19)(v20, v21, v22); goto b7; -b5: v4 = 1UL; +b5: v4 = 1; goto b6; } -u zlayout_struct(u vc, u vd) { +u zlayout_struct(u vc, u vd){ u vm = 0; u voffset = 0; u vname = 0; @@ -20502,59 +20049,57 @@ u zlayout_struct(u vc, u vd) { u v27 = 0; u v28 = 0; u v29 = 0; -b0: if (!(*(u *)((vd) + (128UL)))) { goto b1; } -b2: if ((*(u *)((vd) + (128UL))) != (2UL)) { goto b4; } -b5: v7 = (u)zcdie; + if (!*(u*)(vd + 128)) goto b1; + if (*(u*)(vd + 128) != 2) goto b4; + v7 = (u)zcdie; v8 = vc; v9 = (u)"circular struct definition"; - v10 = ((u (*)())(v7))(v8, v9); -b4: return 0UL; -b1: *(u *)((vd) + (128UL)) = 2UL; - vm = *(u *)((*(u *)((vd) + (136UL))) + (16UL)); - voffset = 0UL; - goto b8; -b8: if (!(vm)) { goto b14; } -b13: v11 = 0UL; - goto b15; -b15: if (!(v11)) { goto b10; } -b9: *(u *)((vd) + (120UL)) = voffset; - *(u *)((vd) + (128UL)) = 1UL; - return 0UL; -b10: *(u *)((vc) + (24UL)) = *(u *)((*(u *)((vm) + (8UL))) + (24UL)); - *(u *)((vc) + (32UL)) = *(u *)((*(u *)((vm) + (8UL))) + (32UL)); - *(u *)((vc) + (40UL)) = *(u *)((*(u *)((vm) + (8UL))) + (40UL)); - vname = *(u *)((*(u *)((*(u *)((vm) + (8UL))) + (8UL))) + (56UL)); + v10 = ((u(*)())v7)(v8, v9); +b4: return 0; +b1: *(u*)(vd + 128) = 2; + vm = *(u*)(*(u*)(vd + 136) + 16); + voffset = 0; +b8: if (!vm) goto b14; + v11 = 0; +b15: if (!v11) goto b10; + *(u*)(vd + 120) = voffset; + *(u*)(vd + 128) = 1; + return 0; +b10: *(u*)(vc + 24) = *(u*)(*(u*)(vm + 8) + 24); + *(u*)(vc + 32) = *(u*)(*(u*)(vm + 8) + 32); + *(u*)(vc + 40) = *(u*)(*(u*)(vm + 8) + 40); + vname = *(u*)(*(u*)(*(u*)(vm + 8) + 8) + 56); v12 = (u)zprototype; v13 = vc; - v14 = *(u *)((*(u *)((vm) + (8UL))) + (16UL)); - v15 = ((u (*)())(v12))(v13, v14); -b16: vt = v15; + v14 = *(u*)(*(u*)(vm + 8) + 16); + v15 = ((u(*)())v12)(v13, v14); + vt = v15; v16 = (u)zfind; v17 = vc; - v18 = *(u *)((vd) + (32UL)); + v18 = *(u*)(vd + 32); v19 = vname; - v20 = 1UL; - v21 = ((u (*)())(v16))(v17, v18, v19, v20); -b17: vmd = v21; - if (!(*(u *)((vd) + (152UL)))) { goto b18; } -b19: v22 = (u)zcdie; + v20 = 1; + v21 = ((u(*)())v16)(v17, v18, v19, v20); + vmd = v21; + if (!*(u*)(vd + 152)) goto b18; + v22 = (u)zcdie; v23 = vc; v24 = (u)"duplicate member"; - v25 = ((u (*)())(v22))(v23, v24); -b18: *(u *)((vmd) + (152UL)) = 1UL; - *(u *)((vmd) + (160UL)) = vt; - *(u *)((vmd) + (168UL)) = voffset; + v25 = ((u(*)())v22)(v23, v24); +b18: *(u*)(vmd + 152) = 1; + *(u*)(vmd + 160) = vt; + *(u*)(vmd + 168) = voffset; v26 = (u)ztype_sizeof; v27 = vc; v28 = vt; - v29 = ((u (*)())(v26))(v27, v28); -b22: voffset = (voffset) + (v29); - vm = *(u *)((vm) + (16UL)); + v29 = ((u(*)())v26)(v27, v28); + voffset = voffset + v29; + vm = *(u*)(vm + 16); goto b8; -b14: v11 = 1UL; +b14: v11 = 1; goto b15; } -u zlayout_union(u vc, u vd) { +u zlayout_union(u vc, u vd){ u vm = 0; u vsize = 0; u vmember_size = 0; @@ -20584,62 +20129,59 @@ u zlayout_union(u vc, u vd) { u v28 = 0; u v29 = 0; u v30 = 0; -b0: if (!(*(u *)((vd) + (128UL)))) { goto b1; } -b2: if ((*(u *)((vd) + (128UL))) != (2UL)) { goto b4; } -b5: v8 = (u)zcdie; + if (!*(u*)(vd + 128)) goto b1; + if (*(u*)(vd + 128) != 2) goto b4; + v8 = (u)zcdie; v9 = vc; v10 = (u)"circular struct definition"; - v11 = ((u (*)())(v8))(v9, v10); -b4: return 0UL; -b1: *(u *)((vd) + (128UL)) = 2UL; - vm = *(u *)((*(u *)((vd) + (136UL))) + (16UL)); - vsize = 0UL; - goto b8; -b8: if (!(vm)) { goto b14; } -b13: v12 = 0UL; - goto b15; -b15: if (!(v12)) { goto b10; } -b9: *(u *)((vd) + (120UL)) = vsize; - *(u *)((vd) + (128UL)) = 1UL; - return 0UL; -b10: *(u *)((vc) + (24UL)) = *(u *)((*(u *)((vm) + (8UL))) + (24UL)); - *(u *)((vc) + (32UL)) = *(u *)((*(u *)((vm) + (8UL))) + (32UL)); - *(u *)((vc) + (40UL)) = *(u *)((*(u *)((vm) + (8UL))) + (40UL)); - vname = *(u *)((*(u *)((*(u *)((vm) + (8UL))) + (8UL))) + (56UL)); + v11 = ((u(*)())v8)(v9, v10); +b4: return 0; +b1: *(u*)(vd + 128) = 2; + vm = *(u*)(*(u*)(vd + 136) + 16); + vsize = 0; +b8: if (!vm) goto b14; + v12 = 0; +b15: if (!v12) goto b10; + *(u*)(vd + 120) = vsize; + *(u*)(vd + 128) = 1; + return 0; +b10: *(u*)(vc + 24) = *(u*)(*(u*)(vm + 8) + 24); + *(u*)(vc + 32) = *(u*)(*(u*)(vm + 8) + 32); + *(u*)(vc + 40) = *(u*)(*(u*)(vm + 8) + 40); + vname = *(u*)(*(u*)(*(u*)(vm + 8) + 8) + 56); v13 = (u)zprototype; v14 = vc; - v15 = *(u *)((*(u *)((vm) + (8UL))) + (16UL)); - v16 = ((u (*)())(v13))(v14, v15); -b16: vt = v16; + v15 = *(u*)(*(u*)(vm + 8) + 16); + v16 = ((u(*)())v13)(v14, v15); + vt = v16; v17 = (u)zfind; v18 = vc; - v19 = *(u *)((vd) + (32UL)); + v19 = *(u*)(vd + 32); v20 = vname; - v21 = 1UL; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b17: vmd = v22; - if (!(*(u *)((vd) + (152UL)))) { goto b18; } -b19: v23 = (u)zcdie; + v21 = 1; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + vmd = v22; + if (!*(u*)(vd + 152)) goto b18; + v23 = (u)zcdie; v24 = vc; v25 = (u)"duplicate member"; - v26 = ((u (*)())(v23))(v24, v25); -b18: *(u *)((vmd) + (152UL)) = 1UL; - *(u *)((vmd) + (160UL)) = vt; - *(u *)((vmd) + (168UL)) = 0UL; + v26 = ((u(*)())v23)(v24, v25); +b18: *(u*)(vmd + 152) = 1; + *(u*)(vmd + 160) = vt; + *(u*)(vmd + 168) = 0; v27 = (u)ztype_sizeof; v28 = vc; v29 = vt; - v30 = ((u (*)())(v27))(v28, v29); -b22: vmember_size = v30; - if ((s)(vmember_size) <= (s)(vsize)) { goto b23; } -b24: vsize = vmember_size; - goto b23; -b23: vm = *(u *)((vm) + (16UL)); + v30 = ((u(*)())v27)(v28, v29); + vmember_size = v30; + if ((s)vmember_size <= (s)vsize) goto b23; + vsize = vmember_size; +b23: vm = *(u*)(vm + 16); goto b8; -b14: v12 = 1UL; +b14: v12 = 1; goto b15; } -u zleave(u vc, u vtag) { +u zleave(u vc, u vtag){ u vnargs = 0; u vstart = 0; u vline = 0; @@ -20666,52 +20208,51 @@ u zleave(u vc, u vtag) { u v25 = 0; u v26 = 0; u v27 = 0; -b0: v8 = (u)zcommit; + v8 = (u)zcommit; v9 = vc; - v10 = ((u (*)())(v8))(v9); -b1: *(u *)((vc) + (80UL)) = 0UL; - vnargs = (*(u *)((vc) + (144UL))) - (*(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (8UL))); - vline = *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (32UL)); - vcol = *(u *)(((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))) + (40UL)); - vstart = *(u *)((*(u *)((vc) + (120UL))) + ((*(u *)((vc) + (128UL))) * (48UL))); - vend = *(u *)((vc) + (48UL)); - if ((*(u *)((vc) + (152UL))) != (*(u *)((vc) + (168UL)))) { goto b2; } -b3: if ((*(u *)((vc) + (168UL))) != (0UL)) { goto b7; } -b6: *(u *)((vc) + (168UL)) = 1024UL; + v10 = ((u(*)())v8)(v9); + *(u*)(vc + 80) = 0; + vnargs = *(u*)(vc + 144) - *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 8); + vline = *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 32); + vcol = *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48 + 40); + vstart = *(u*)(*(u*)(vc + 120) + *(u*)(vc + 128) * 48); + vend = *(u*)(vc + 48); + if (*(u*)(vc + 152) != *(u*)(vc + 168)) goto b2; + if (*(u*)(vc + 168) != 0) goto b7; + *(u*)(vc + 168) = 1024; v11 = (u)zalloc; - v12 = *(u *)(vc); - v13 = (*(u *)((vc) + (168UL))) * (48UL); - v14 = ((u (*)())(v11))(v12, v13); -b8: *(u *)((vc) + (160UL)) = v14; - goto b2; -b2: *(u *)((*(u *)((vc) + (160UL))) + ((*(u *)((vc) + (152UL))) * (48UL))) = vtag; - *(u *)(((*(u *)((vc) + (160UL))) + ((*(u *)((vc) + (152UL))) * (48UL))) + (8UL)) = vnargs; - *(u *)(((*(u *)((vc) + (160UL))) + ((*(u *)((vc) + (152UL))) * (48UL))) + (16UL)) = vstart; - *(u *)(((*(u *)((vc) + (160UL))) + ((*(u *)((vc) + (152UL))) * (48UL))) + (24UL)) = vend; - *(u *)(((*(u *)((vc) + (160UL))) + ((*(u *)((vc) + (152UL))) * (48UL))) + (32UL)) = vline; - *(u *)(((*(u *)((vc) + (160UL))) + ((*(u *)((vc) + (152UL))) * (48UL))) + (40UL)) = vcol; - *(u *)((vc) + (152UL)) = (*(u *)((vc) + (152UL))) + (1UL); - *(u *)((vc) + (144UL)) = ((*(u *)((vc) + (144UL))) - (vnargs)) + (1UL); - return 0UL; -b7: *(u *)((vc) + (168UL)) = (*(u *)((vc) + (168UL))) * (2UL); + v12 = *(u*)vc; + v13 = *(u*)(vc + 168) * 48; + v14 = ((u(*)())v11)(v12, v13); + *(u*)(vc + 160) = v14; +b2: *(u*)(*(u*)(vc + 160) + *(u*)(vc + 152) * 48) = vtag; + *(u*)(*(u*)(vc + 160) + *(u*)(vc + 152) * 48 + 8) = vnargs; + *(u*)(*(u*)(vc + 160) + *(u*)(vc + 152) * 48 + 16) = vstart; + *(u*)(*(u*)(vc + 160) + *(u*)(vc + 152) * 48 + 24) = vend; + *(u*)(*(u*)(vc + 160) + *(u*)(vc + 152) * 48 + 32) = vline; + *(u*)(*(u*)(vc + 160) + *(u*)(vc + 152) * 48 + 40) = vcol; + *(u*)(vc + 152) = *(u*)(vc + 152) + 1; + *(u*)(vc + 144) = *(u*)(vc + 144) - vnargs + 1; + return 0; +b7: *(u*)(vc + 168) = *(u*)(vc + 168) * 2; v15 = (u)zalloc; - v16 = *(u *)(vc); - v17 = (*(u *)((vc) + (168UL))) * (48UL); - v18 = ((u (*)())(v15))(v16, v17); -b9: vtmp = v18; + v16 = *(u*)vc; + v17 = *(u*)(vc + 168) * 48; + v18 = ((u(*)())v15)(v16, v17); + vtmp = v18; v19 = (u)zmemcpy; v20 = vtmp; - v21 = *(u *)((vc) + (160UL)); - v22 = (*(u *)((vc) + (152UL))) * (48UL); - v23 = ((u (*)())(v19))(v20, v21, v22); -b10: v24 = (u)zfree; - v25 = *(u *)(vc); - v26 = *(u *)((vc) + (160UL)); - v27 = ((u (*)())(v24))(v25, v26); -b11: *(u *)((vc) + (160UL)) = vtmp; + v21 = *(u*)(vc + 160); + v22 = *(u*)(vc + 152) * 48; + v23 = ((u(*)())v19)(v20, v21, v22); + v24 = (u)zfree; + v25 = *(u*)vc; + v26 = *(u*)(vc + 160); + v27 = ((u(*)())v24)(v25, v26); + *(u*)(vc + 160) = vtmp; goto b2; } -u zliteral(u vc, u vs) { +u zliteral(u vc, u vs){ u vi = 0; u vch = 0; u v4 = 0; @@ -20721,29 +20262,27 @@ u zliteral(u vc, u vs) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: vi = 0UL; - goto b1; -b1: if (!((u)*(b *)((vs) + (vi)))) { goto b7; } -b6: v4 = 0UL; - goto b8; -b8: if (!(v4)) { goto b3; } -b2: return 1UL; + vi = 0; +b1: if (!(u)*(b*)(vs + vi)) goto b7; + v4 = 0; +b8: if (!v4) goto b3; + return 1; b3: v5 = (u)zget; v6 = vc; - v7 = ((u (*)())(v5))(v6); -b9: vch = v7; - if ((vch) == ((u)*(b *)((vs) + (vi)))) { goto b10; } -b11: v8 = (u)zfail; + v7 = ((u(*)())v5)(v6); + vch = v7; + if (vch == (u)*(b*)(vs + vi)) goto b10; + v8 = (u)zfail; v9 = vc; - v10 = ((u (*)())(v8))(v9); -b13: *(u *)((vc) + (112UL)) = vs; - return 0UL; -b10: vi = (vi) + (1UL); + v10 = ((u(*)())v8)(v9); + *(u*)(vc + 112) = vs; + return 0; +b10: vi = vi + 1; goto b1; -b7: v4 = 1UL; +b7: v4 = 1; goto b8; } -u zlocals_to_ir(u vic, u vn) { +u zlocals_to_ir(u vic, u vn){ u vname = 0; u vt = 0; u vkind = 0; @@ -20771,66 +20310,63 @@ u zlocals_to_ir(u vic, u vn) { u v26 = 0; u v27 = 0; u v28 = 0; -b0: if (!(vn)) { goto b5; } -b4: v5 = 0UL; - goto b6; -b6: if (!(v5)) { goto b1; } -b2: return 0UL; -b1: *(u *)((*(u *)(vic)) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((*(u *)(vic)) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((*(u *)(vic)) + (40UL)) = *(u *)((vn) + (40UL)); - vkind = *(u *)(vn); - if ((vkind) != (21UL)) { goto b9; } -b10: if (!(vn)) { goto b16; } -b15: v6 = 0UL; - goto b17; -b17: if (!(v6)) { goto b12; } -b7: return 0UL; + if (!vn) goto b5; + v5 = 0; +b6: if (!v5) goto b1; + return 0; +b1: *(u*)(*(u*)vic + 24) = *(u*)(vn + 24); + *(u*)(*(u*)vic + 32) = *(u*)(vn + 32); + *(u*)(*(u*)vic + 40) = *(u*)(vn + 40); + vkind = *(u*)vn; + if (vkind != 21) goto b9; +b10: if (!vn) goto b16; + v6 = 0; +b17: if (!v6) goto b12; +b7: return 0; b12: v7 = (u)zlocals_to_ir; v8 = vic; - v9 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v10 = ((u (*)())(v7))(v8, v9); -b18: vn = *(u *)((vn) + (16UL)); + v9 = *(u*)(*(u*)(vn + 8) + 16); + v10 = ((u(*)())v7)(v8, v9); + vn = *(u*)(vn + 16); goto b10; -b16: v6 = 1UL; +b16: v6 = 1; goto b17; -b9: if ((vkind) != (5UL)) { goto b20; } -b21: if (!(vn)) { goto b27; } -b26: v11 = 0UL; - goto b28; -b28: if (!(v11)) { goto b23; } +b9: if (vkind != 5) goto b20; +b21: if (!vn) goto b27; + v11 = 0; +b28: if (!v11) goto b23; goto b7; b23: v12 = (u)zlocals_to_ir; v13 = vic; - v14 = *(u *)((vn) + (8UL)); - v15 = ((u (*)())(v12))(v13, v14); -b29: vn = *(u *)((vn) + (16UL)); + v14 = *(u*)(vn + 8); + v15 = ((u(*)())v12)(v13, v14); + vn = *(u*)(vn + 16); goto b21; -b27: v11 = 1UL; +b27: v11 = 1; goto b28; -b20: if ((vkind) != (26UL)) { goto b31; } -b30: v16 = (u)zlocals_to_ir; +b20: if (vkind != 26) goto b31; + v16 = (u)zlocals_to_ir; v17 = vic; - v18 = *(u *)((vn) + (8UL)); - v19 = ((u (*)())(v16))(v17, v18); + v18 = *(u*)(vn + 8); + v19 = ((u(*)())v16)(v17, v18); goto b7; -b31: if ((vkind) != (30UL)) { goto b7; } -b33: vname = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); +b31: if (vkind != 30) goto b7; + vname = *(u*)(*(u*)(vn + 8) + 56); v20 = (u)zprototype; - v21 = *(u *)(vic); - v22 = *(u *)((vn) + (16UL)); - v23 = ((u (*)())(v20))(v21, v22); -b35: vt = v23; + v21 = *(u*)vic; + v22 = *(u*)(vn + 16); + v23 = ((u(*)())v20)(v21, v22); + vt = v23; v24 = (u)ziraddvar; v25 = vic; v26 = vname; v27 = vt; - v28 = ((u (*)())(v24))(v25, v26, v27); + v28 = ((u(*)())v24)(v25, v26, v27); goto b7; -b5: v5 = 1UL; +b5: v5 = 1; goto b6; } -u zmain(u vargc, u vargv, u venvp) { +u zmain(u vargc, u vargv, u venvp){ u va = 0; u vc = 0; u vp = 0; @@ -20945,186 +20481,178 @@ u zmain(u vargc, u vargv, u venvp) { u v114 = 0; u v115 = 0; u v116 = 0; -b0: vlink = (u)&vinput; + vlink = (u)&vinput; v14 = (u)zsetup_alloc; v15 = (u)&va; - v16 = ((u (*)())(v14))(v15); -b1: v17 = (u)zfopen; - v18 = 2UL; + v16 = ((u(*)())v14)(v15); + v17 = (u)zfopen; + v18 = 2; v19 = (u)&va; - v20 = ((u (*)())(v17))(v18, v19); -b2: verr = v20; + v20 = ((u(*)())v17)(v18, v19); + verr = v20; v21 = (u)zcomp_setup; v22 = (u)&va; v23 = verr; - v24 = ((u (*)())(v21))(v22, v23); -b3: vc = v24; - vi = 1UL; - goto b4; -b4: if ((s)(vi) < (s)(vargc)) { goto b6; } -b5: vtmp = vinput; - goto b67; -b67: if (!(vtmp)) { goto b73; } -b72: v77 = 0UL; - goto b74; -b74: if (!(v77)) { goto b69; } -b68: if (!(vshow)) { goto b77; } -b78: v87 = (u)zshow_node; + v24 = ((u(*)())v21)(v22, v23); + vc = v24; + vi = 1; +b4: if ((s)vi < (s)vargc) goto b6; + vtmp = vinput; +b67: if (!vtmp) goto b73; + v77 = 0; +b74: if (!v77) goto b69; + if (!vshow) goto b77; + v87 = (u)zshow_node; v88 = verr; v89 = vp; - v90 = ((u (*)())(v87))(v88, v89); -b80: v91 = (u)zfflush; + v90 = ((u(*)())v87)(v88, v89); + v91 = (u)zfflush; v92 = verr; - v93 = ((u (*)())(v91))(v92); -b81: return 0UL; + v93 = ((u(*)())v91)(v92); + return 0; b77: v94 = (u)zcompile; v95 = vc; v96 = vp; - v97 = ((u (*)())(v94))(v95, v96); -b82: if (!(vcout_filename)) { goto b83; } -b84: v98 = (u)zopen_coutput; + v97 = ((u(*)())v94)(v95, v96); + if (!vcout_filename) goto b83; + v98 = (u)zopen_coutput; v99 = vc; v100 = vcout_filename; - v101 = ((u (*)())(v98))(v99, v100); -b86: v102 = (u)zircout; + v101 = ((u(*)())v98)(v99, v100); + v102 = (u)zircout; v103 = vc; - v104 = ((u (*)())(v102))(v103); + v104 = ((u(*)())v102)(v103); b83: v105 = (u)zemit_builtin; v106 = vc; - v107 = ((u (*)())(v105))(v106); -b88: if (!(vout_filename)) { goto b89; } -b90: v108 = (u)zopen_output; - v109 = *(u *)((vc) + (48UL)); + v107 = ((u(*)())v105)(v106); + if (!vout_filename) goto b89; + v108 = (u)zopen_output; + v109 = *(u*)(vc + 48); v110 = vout_filename; - v111 = ((u (*)())(v108))(v109, v110); -b92: v112 = (u)zwriteout; - v113 = *(u *)((vc) + (48UL)); - v114 = *(u *)((vc) + (88UL)); - v115 = *(u *)((vc) + (96UL)); - v116 = ((u (*)())(v112))(v113, v114, v115); -b89: return 0UL; + v111 = ((u(*)())v108)(v109, v110); + v112 = (u)zwriteout; + v113 = *(u*)(vc + 48); + v114 = *(u*)(vc + 88); + v115 = *(u*)(vc + 96); + v116 = ((u(*)())v112)(v113, v114, v115); +b89: return 0; b69: v78 = (u)zconcat_program; v79 = vp; v81 = (u)zparse; - v82 = *(u *)((vc) + (16UL)); - v83 = *(u *)((vtmp) + (8UL)); + v82 = *(u*)(vc + 16); + v83 = *(u*)(vtmp + 8); v84 = verr; - v85 = ((u (*)())(v81))(v82, v83, v84); -b75: v80 = v85; - v86 = ((u (*)())(v78))(v79, v80); -b76: vp = v86; - vtmp = *(u *)(vtmp); + v85 = ((u(*)())v81)(v82, v83, v84); + v80 = v85; + v86 = ((u(*)())v78)(v79, v80); + vp = v86; + vtmp = *(u*)vtmp; goto b67; -b73: v77 = 1UL; +b73: v77 = 1; goto b74; b6: v26 = (u)zstrcmp; - v27 = *(u *)((vargv) + ((vi) * (8UL))); + v27 = *(u*)(vargv + vi * 8); v28 = (u)"-o"; - v29 = ((u (*)())(v26))(v27, v28); -b15: if (!(v29)) { goto b13; } -b12: v25 = 0UL; - goto b14; -b14: if (!(v25)) { goto b9; } -b10: vi = (vi) + (1UL); - if ((s)(vi) < (s)(vargc)) { goto b16; } -b17: v30 = (u)zdie; + v29 = ((u(*)())v26)(v27, v28); + if (!v29) goto b13; + v25 = 0; +b14: if (!v25) goto b9; + vi = vi + 1; + if ((s)vi < (s)vargc) goto b16; + v30 = (u)zdie; v31 = (u)"invalid -o at end of argument list"; - v32 = ((u (*)())(v30))(v31); -b16: vout_filename = *(u *)((vargv) + ((vi) * (8UL))); - vi = (vi) + (1UL); + v32 = ((u(*)())v30)(v31); +b16: vout_filename = *(u*)(vargv + vi * 8); + vi = vi + 1; goto b4; b9: v34 = (u)zstrcmp; - v35 = *(u *)((vargv) + ((vi) * (8UL))); + v35 = *(u*)(vargv + vi * 8); v36 = (u)"-fdump"; - v37 = ((u (*)())(v34))(v35, v36); -b26: if (!(v37)) { goto b24; } -b23: v33 = 0UL; - goto b25; -b25: if (!(v33)) { goto b20; } -b21: vi = (vi) + (1UL); - vshow = 1UL; + v37 = ((u(*)())v34)(v35, v36); + if (!v37) goto b24; + v33 = 0; +b25: if (!v33) goto b20; + vi = vi + 1; + vshow = 1; goto b4; b20: v39 = (u)zstrcmp; - v40 = *(u *)((vargv) + ((vi) * (8UL))); + v40 = *(u*)(vargv + vi * 8); v41 = (u)"-C"; - v42 = ((u (*)())(v39))(v40, v41); -b33: if (!(v42)) { goto b31; } -b30: v38 = 0UL; - goto b32; -b32: if (!(v38)) { goto b27; } -b28: vi = (vi) + (1UL); - if ((s)(vi) < (s)(vargc)) { goto b34; } -b35: v43 = (u)zdie; + v42 = ((u(*)())v39)(v40, v41); + if (!v42) goto b31; + v38 = 0; +b32: if (!v38) goto b27; + vi = vi + 1; + if ((s)vi < (s)vargc) goto b34; + v43 = (u)zdie; v44 = (u)"invalid -o at end of argument list"; - v45 = ((u (*)())(v43))(v44); -b34: vcout_filename = *(u *)((vargv) + ((vi) * (8UL))); - vi = (vi) + (1UL); + v45 = ((u(*)())v43)(v44); +b34: vcout_filename = *(u*)(vargv + vi * 8); + vi = vi + 1; goto b4; b27: v47 = (u)zstrcmp; - v48 = *(u *)((vargv) + ((vi) * (8UL))); + v48 = *(u*)(vargv + vi * 8); v49 = (u)"-G"; - v50 = ((u (*)())(v47))(v48, v49); -b44: if (!(v50)) { goto b42; } -b41: v46 = 0UL; - goto b43; -b43: if (!(v46)) { goto b38; } -b39: vi = (vi) + (1UL); - if ((s)(vi) < (s)(vargc)) { goto b45; } -b46: v51 = (u)zdie; + v50 = ((u(*)())v47)(v48, v49); + if (!v50) goto b42; + v46 = 0; +b43: if (!v46) goto b38; + vi = vi + 1; + if ((s)vi < (s)vargc) goto b45; + v51 = (u)zdie; v52 = (u)"invalid -P at end of argument list"; - v53 = ((u (*)())(v51))(v52); + v53 = ((u(*)())v51)(v52); b45: v54 = (u)zopen_call_out; v55 = vc; - v56 = *(u *)((vargv) + ((vi) * (8UL))); - v57 = ((u (*)())(v54))(v55, v56); -b49: vi = (vi) + (1UL); + v56 = *(u*)(vargv + vi * 8); + v57 = ((u(*)())v54)(v55, v56); + vi = vi + 1; goto b4; b38: v59 = (u)zstrcmp; - v60 = *(u *)((vargv) + ((vi) * (8UL))); + v60 = *(u*)(vargv + vi * 8); v61 = (u)"-n"; - v62 = ((u (*)())(v59))(v60, v61); -b56: if (!(v62)) { goto b54; } -b53: v58 = 0UL; - goto b55; -b55: if (!(v58)) { goto b50; } -b51: vi = (vi) + (1UL); - if ((s)(vi) < (s)(vargc)) { goto b57; } -b58: v63 = (u)zdie; + v62 = ((u(*)())v59)(v60, v61); + if (!v62) goto b54; + v58 = 0; +b55: if (!v58) goto b50; + vi = vi + 1; + if ((s)vi < (s)vargc) goto b57; + v63 = (u)zdie; v64 = (u)"invalid -P at end of argument list"; - v65 = ((u (*)())(v63))(v64); + v65 = ((u(*)())v63)(v64); b57: v66 = (u)zopen_lines_out; v67 = vc; - v68 = *(u *)((vargv) + ((vi) * (8UL))); - v69 = ((u (*)())(v66))(v67, v68); -b61: vi = (vi) + (1UL); + v68 = *(u*)(vargv + vi * 8); + v69 = ((u(*)())v66)(v67, v68); + vi = vi + 1; goto b4; -b50: if (((u)*(b *)(*(u *)((vargv) + ((vi) * (8UL))))) != (45UL)) { goto b62; } -b63: v70 = (u)zdie; +b50: if ((u)*(b*)*(u*)(vargv + vi * 8) != 45) goto b62; + v70 = (u)zdie; v71 = (u)"invalid argument"; - v72 = ((u (*)())(v70))(v71); + v72 = ((u(*)())v70)(v71); b62: v73 = (u)zalloc; v74 = (u)&va; - v75 = 16UL; - v76 = ((u (*)())(v73))(v74, v75); -b66: vtmp = v76; - *(u *)(vtmp) = 0UL; - *(u *)((vtmp) + (8UL)) = *(u *)((vargv) + ((vi) * (8UL))); - *(u *)(vlink) = vtmp; + v75 = 16; + v76 = ((u(*)())v73)(v74, v75); + vtmp = v76; + *(u*)vtmp = 0; + *(u*)(vtmp + 8) = *(u*)(vargv + vi * 8); + *(u*)vlink = vtmp; vlink = vtmp; - vi = (vi) + (1UL); + vi = vi + 1; goto b4; -b54: v58 = 1UL; +b54: v58 = 1; goto b55; -b42: v46 = 1UL; +b42: v46 = 1; goto b43; -b31: v38 = 1UL; +b31: v38 = 1; goto b32; -b24: v33 = 1UL; +b24: v33 = 1; goto b25; -b13: v25 = 1UL; +b13: v25 = 1; goto b14; } -u zmake_tag(u vc, u vsuffix, u vsuffix_len) { +u zmake_tag(u vc, u vsuffix, u vsuffix_len){ u vprefix = 0; u vprefix_len = 0; u vresult = 0; @@ -21146,31 +20674,31 @@ u zmake_tag(u vc, u vsuffix, u vsuffix_len) { u v21 = 0; u v22 = 0; u v23 = 0; -b0: vprefix = *(u *)((vc) + (32UL)); + vprefix = *(u*)(vc + 32); v7 = (u)zstrlen; v8 = vprefix; - v9 = ((u (*)())(v7))(v8); -b1: vprefix_len = v9; - vlen = (vprefix_len) + (vsuffix_len); + v9 = ((u(*)())v7)(v8); + vprefix_len = v9; + vlen = vprefix_len + vsuffix_len; v10 = (u)zalloc; - v11 = *(u *)(vc); - v12 = (vlen) + (1UL); - v13 = ((u (*)())(v10))(v11, v12); -b2: vresult = v13; + v11 = *(u*)vc; + v12 = vlen + 1; + v13 = ((u(*)())v10)(v11, v12); + vresult = v13; v14 = (u)zmemcpy; v15 = vresult; v16 = vprefix; v17 = vprefix_len; - v18 = ((u (*)())(v14))(v15, v16, v17); -b3: v19 = (u)zmemcpy; - v20 = (vresult) + (vprefix_len); + v18 = ((u(*)())v14)(v15, v16, v17); + v19 = (u)zmemcpy; + v20 = vresult + vprefix_len; v21 = vsuffix; v22 = vsuffix_len; - v23 = ((u (*)())(v19))(v20, v21, v22); -b4: *(b *)((vresult) + (vlen)) = 0UL; + v23 = ((u(*)())v19)(v20, v21, v22); + *(b*)(vresult + vlen) = 0; return vresult; } -u zmark_func_used(u vc, u vd, u vv) { +u zmark_func_used(u vc, u vd, u vv){ u vedge = 0; u v4 = 0; u v5 = 0; @@ -21202,60 +20730,57 @@ u zmark_func_used(u vc, u vd, u vv) { u v31 = 0; u v32 = 0; u v33 = 0; -b0: if (!(vd)) { goto b1; } -b2: v4 = (u)zfind; + if (!vd) goto b1; + v4 = (u)zfind; v5 = vc; - v6 = *(u *)((vd) + (32UL)); - v7 = *(u *)((vv) + (32UL)); - v8 = 1UL; - v9 = ((u (*)())(v4))(v5, v6, v7, v8); -b4: vedge = v9; - if (!(*(u *)((vc) + (80UL)))) { goto b9; } -b8: if (!(*(u *)((vedge) + (56UL)))) { goto b13; } -b12: v11 = 0UL; - goto b14; -b14: if (!(v11)) { goto b9; } -b10: v10 = 1UL; - goto b11; -b11: if (!(v10)) { goto b5; } -b6: v12 = (u)zfputs; - v13 = *(u *)((vc) + (80UL)); - v14 = *(u *)((vd) + (32UL)); - v15 = ((u (*)())(v12))(v13, v14); -b15: v16 = (u)zfputs; - v17 = *(u *)((vc) + (80UL)); + v6 = *(u*)(vd + 32); + v7 = *(u*)(vv + 32); + v8 = 1; + v9 = ((u(*)())v4)(v5, v6, v7, v8); + vedge = v9; + if (!*(u*)(vc + 80)) goto b9; + if (!*(u*)(vedge + 56)) goto b13; + v11 = 0; +b14: if (!v11) goto b9; + v10 = 1; +b11: if (!v10) goto b5; + v12 = (u)zfputs; + v13 = *(u*)(vc + 80); + v14 = *(u*)(vd + 32); + v15 = ((u(*)())v12)(v13, v14); + v16 = (u)zfputs; + v17 = *(u*)(vc + 80); v18 = (u)" -> "; - v19 = ((u (*)())(v16))(v17, v18); -b16: v20 = (u)zfputs; - v21 = *(u *)((vc) + (80UL)); - v22 = *(u *)((vv) + (32UL)); - v23 = ((u (*)())(v20))(v21, v22); -b17: v24 = (u)zfputs; - v25 = *(u *)((vc) + (80UL)); + v19 = ((u(*)())v16)(v17, v18); + v20 = (u)zfputs; + v21 = *(u*)(vc + 80); + v22 = *(u*)(vv + 32); + v23 = ((u(*)())v20)(v21, v22); + v24 = (u)zfputs; + v25 = *(u*)(vc + 80); v26 = (u)"\012"; - v27 = ((u (*)())(v24))(v25, v26); -b5: *(u *)((vedge) + (56UL)) = 1UL; + v27 = ((u(*)())v24)(v25, v26); +b5: *(u*)(vedge + 56) = 1; v28 = (u)zfind; v29 = vc; - v30 = *(u *)((vv) + (32UL)); - v31 = *(u *)((vd) + (32UL)); - v32 = 1UL; - v33 = ((u (*)())(v28))(v29, v30, v31, v32); -b19: vedge = v33; - *(u *)((vedge) + (64UL)) = 1UL; - goto b1; -b1: if (!(*(u *)((vv) + (96UL)))) { goto b20; } -b21: return 0UL; -b20: *(u *)((vv) + (96UL)) = 1UL; - *(u *)((vv) + (48UL)) = *(u *)((vc) + (104UL)); - *(u *)((vc) + (104UL)) = vv; - return 0UL; -b9: v10 = 0UL; + v30 = *(u*)(vv + 32); + v31 = *(u*)(vd + 32); + v32 = 1; + v33 = ((u(*)())v28)(v29, v30, v31, v32); + vedge = v33; + *(u*)(vedge + 64) = 1; +b1: if (!*(u*)(vv + 96)) goto b20; + return 0; +b20: *(u*)(vv + 96) = 1; + *(u*)(vv + 48) = *(u*)(vc + 104); + *(u*)(vc + 104) = vv; + return 0; +b9: v10 = 0; goto b11; -b13: v11 = 1UL; +b13: v11 = 1; goto b14; } -u zmark_ir_expr(u vc, u vd, u vop) { +u zmark_ir_expr(u vc, u vd, u vop){ u vv = 0; u v5 = 0; u v6 = 0; @@ -21281,54 +20806,51 @@ u zmark_ir_expr(u vc, u vd, u vop) { u v26 = 0; u v27 = 0; u v28 = 0; -b0: if ((*(u *)(vop)) != (2UL)) { goto b1; } -b2: v5 = (u)zfind; + if (*(u*)vop != 2) goto b1; + v5 = (u)zfind; v6 = vc; - v7 = *(u *)((vop) + (32UL)); - v8 = 0UL; - v9 = 0UL; - v10 = ((u (*)())(v5))(v6, v7, v8, v9); -b4: vv = v10; - if (!(vv)) { goto b13; } -b12: v12 = 0UL; - goto b14; -b14: if (!(v12)) { goto b9; } -b8: v11 = 1UL; - goto b11; -b11: if (!(v11)) { goto b5; } -b6: return 0UL; + v7 = *(u*)(vop + 32); + v8 = 0; + v9 = 0; + v10 = ((u(*)())v5)(v6, v7, v8, v9); + vv = v10; + if (!vv) goto b13; + v12 = 0; +b14: if (!v12) goto b9; + v11 = 1; +b11: if (!v11) goto b5; + return 0; b5: v14 = (u)zmark_func_used; v15 = vc; v16 = vd; v17 = vv; - v18 = ((u (*)())(v14))(v15, v16, v17); -b1: if (!(*(u *)((vop) + (8UL)))) { goto b20; } -b21: v19 = (u)zmark_ir_expr; + v18 = ((u(*)())v14)(v15, v16, v17); +b1: if (!*(u*)(vop + 8)) goto b20; + v19 = (u)zmark_ir_expr; v20 = vc; v21 = vd; - v22 = *(u *)((vop) + (8UL)); - v23 = ((u (*)())(v19))(v20, v21, v22); -b20: if (!(*(u *)((vop) + (16UL)))) { goto b24; } -b25: v24 = (u)zmark_ir_expr; + v22 = *(u*)(vop + 8); + v23 = ((u(*)())v19)(v20, v21, v22); +b20: if (!*(u*)(vop + 16)) goto b24; + v24 = (u)zmark_ir_expr; v25 = vc; v26 = vd; - v27 = *(u *)((vop) + (16UL)); - v28 = ((u (*)())(v24))(v25, v26, v27); -b24: return 0UL; -b9: if (!(*(u *)((vv) + (72UL)))) { goto b17; } -b16: v13 = 0UL; - goto b18; -b18: if (!(v13)) { goto b15; } -b10: v11 = 1UL; + v27 = *(u*)(vop + 16); + v28 = ((u(*)())v24)(v25, v26, v27); +b24: return 0; +b9: if (!*(u*)(vv + 72)) goto b17; + v13 = 0; +b18: if (!v13) goto b15; + v11 = 1; goto b11; -b15: v11 = 0UL; +b15: v11 = 0; goto b11; -b17: v13 = 1UL; +b17: v13 = 1; goto b18; -b13: v12 = 1UL; +b13: v12 = 1; goto b14; } -u zmark_ir_used(u vc, u vd) { +u zmark_ir_used(u vc, u vd){ u vic = 0; u vib = 0; u vi = 0; @@ -21338,72 +20860,66 @@ u zmark_ir_used(u vc, u vd) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: vic = *(u *)((vd) + (104UL)); - vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vic) + (72UL)))) { goto b3; } -b2: return 0UL; -b3: vib = *(u *)((*(u *)((vic) + (64UL))) + ((vi) * (8UL))); - vj = 0UL; - goto b6; -b6: if ((vj) != (*(u *)((vib) + (16UL)))) { goto b8; } -b7: vi = (vi) + (1UL); + vic = *(u*)(vd + 104); + vi = 0; +b1: if (vi != *(u*)(vic + 72)) goto b3; + return 0; +b3: vib = *(u*)(*(u*)(vic + 64) + vi * 8); + vj = 0; +b6: if (vj != *(u*)(vib + 16)) goto b8; + vi = vi + 1; goto b1; b8: v6 = (u)zmark_ir_expr; v7 = vc; v8 = vd; - v9 = *(u *)((*(u *)((vib) + (8UL))) + ((vj) * (8UL))); - v10 = ((u (*)())(v6))(v7, v8, v9); -b11: vj = (vj) + (1UL); + v9 = *(u*)(*(u*)(vib + 8) + vj * 8); + v10 = ((u(*)())v6)(v7, v8, v9); + vj = vj + 1; goto b6; } -u zmemcmp(u va, u vb, u vn) { +u zmemcmp(u va, u vb, u vn){ u vi = 0; -b0: vi = 0UL; - goto b1; -b1: if ((vi) != (vn)) { goto b3; } -b4: return 0UL; -b3: if ((s)((u)*(b *)((va) + (vi))) <= (s)((u)*(b *)((vb) + (vi)))) { goto b6; } -b7: return 1UL; -b6: if ((s)((u)*(b *)((va) + (vi))) >= (s)((u)*(b *)((vb) + (vi)))) { goto b9; } -b10: return -1UL; -b9: vi = (vi) + (1UL); + vi = 0; +b1: if (vi != vn) goto b3; + return 0; +b3: if ((s)(u)*(b*)(va + vi) <= (s)(u)*(b*)(vb + vi)) goto b6; + return 1; +b6: if ((s)(u)*(b*)(va + vi) >= (s)(u)*(b*)(vb + vi)) goto b9; + return -1UL; +b9: vi = vi + 1; goto b1; } -u zmemcpy(u vdest, u vsrc, u vsize) { +u zmemcpy(u vdest, u vsrc, u vsize){ u vi = 0; -b0: if ((s)(vsize) >= (s)(0UL)) { goto b1; } -b2: return 0UL; -b1: if ((s)(vsrc) <= (s)(vdest)) { goto b6; } -b5: vi = 0UL; - goto b7; -b7: if ((vi) != (vsize)) { goto b9; } -b4: return 0UL; -b9: *(b *)((vdest) + (vi)) = (u)*(b *)((vsrc) + (vi)); - vi = (vi) + (1UL); + if ((s)vsize >= (s)0) goto b1; + return 0; +b1: if ((s)vsrc <= (s)vdest) goto b6; + vi = 0; +b7: if (vi != vsize) goto b9; +b4: return 0; +b9: *(b*)(vdest + vi) = (u)*(b*)(vsrc + vi); + vi = vi + 1; goto b7; -b6: if ((s)(vsrc) >= (s)(vdest)) { goto b4; } -b12: vi = vsize; - goto b14; -b14: if ((vi) != (0UL)) { goto b16; } +b6: if ((s)vsrc >= (s)vdest) goto b4; + vi = vsize; +b14: if (vi != 0) goto b16; goto b4; -b16: vi = (vi) - (1UL); - *(b *)((vdest) + (vi)) = (u)*(b *)((vsrc) + (vi)); +b16: vi = vi - 1; + *(b*)(vdest + vi) = (u)*(b*)(vsrc + vi); goto b14; } -u zmemset(u vdest, u vc, u vsize) { +u zmemset(u vdest, u vc, u vsize){ u vi = 0; -b0: if ((s)(vsize) >= (s)(0UL)) { goto b1; } -b2: return 0UL; -b1: vi = 0UL; - goto b4; -b4: if ((vi) != (vsize)) { goto b6; } -b5: return 0UL; -b6: *(b *)((vdest) + (vi)) = vc; - vi = (vi) + (1UL); + if ((s)vsize >= (s)0) goto b1; + return 0; +b1: vi = 0; +b4: if (vi != vsize) goto b6; + return 0; +b6: *(b*)(vdest + vi) = vc; + vi = vi + 1; goto b4; } -u zmkirarg(u vic, u vn, u va) { +u zmkirarg(u vic, u vn, u va){ u vo = 0; u v4 = 0; u v5 = 0; @@ -21411,17 +20927,17 @@ u zmkirarg(u vic, u vn, u va) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v4 = (u)zmkirop; + v4 = (u)zmkirop; v5 = vic; - v6 = 8UL; + v6 = 8; v7 = va; - v8 = 0UL; - v9 = ((u (*)())(v4))(v5, v6, v7, v8); -b1: vo = v9; - *(u *)((vo) + (24UL)) = vn; + v8 = 0; + v9 = ((u(*)())v4)(v5, v6, v7, v8); + vo = v9; + *(u*)(vo + 24) = vn; return vo; } -u zmkirblock(u vic) { +u zmkirblock(u vic){ u vb = 0; u vtmp = 0; u vi = 0; @@ -21436,42 +20952,40 @@ u zmkirblock(u vic) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: if ((*(u *)((vic) + (72UL))) != (*(u *)((vic) + (80UL)))) { goto b1; } -b2: *(u *)((vic) + (80UL)) = ((*(u *)((vic) + (80UL))) * (2UL)) + (16UL); + if (*(u*)(vic + 72) != *(u*)(vic + 80)) goto b1; + *(u*)(vic + 80) = *(u*)(vic + 80) * 2 + 16; v4 = (u)zalloc; - v5 = *(u *)((vic) + (16UL)); - v6 = (8UL) * (*(u *)((vic) + (80UL))); - v7 = ((u (*)())(v4))(v5, v6); -b4: vtmp = v7; - vi = 0UL; - goto b5; -b5: if ((vi) != (*(u *)((vic) + (72UL)))) { goto b7; } -b6: *(u *)((vic) + (64UL)) = vtmp; - goto b1; + v5 = *(u*)(vic + 16); + v6 = 8 * *(u*)(vic + 80); + v7 = ((u(*)())v4)(v5, v6); + vtmp = v7; + vi = 0; +b5: if (vi != *(u*)(vic + 72)) goto b7; + *(u*)(vic + 64) = vtmp; b1: v8 = (u)zalloc; - v9 = *(u *)((vic) + (16UL)); - v10 = 72UL; - v11 = ((u (*)())(v8))(v9, v10); -b10: vb = v11; - *(u *)(vb) = *(u *)((vic) + (72UL)); + v9 = *(u*)(vic + 16); + v10 = 72; + v11 = ((u(*)())v8)(v9, v10); + vb = v11; + *(u*)vb = *(u*)(vic + 72); v12 = (u)zmklabel; - v13 = *(u *)((vic) + (8UL)); - v14 = ((u (*)())(v12))(v13); -b11: *(u *)((vb) + (56UL)) = v14; - *(u *)((vb) + (8UL)) = 0UL; - *(u *)((vb) + (16UL)) = 0UL; - *(u *)((vb) + (24UL)) = 0UL; - *(u *)((vb) + (32UL)) = 0UL; - *(u *)((vb) + (40UL)) = 0UL; - *(u *)((vb) + (48UL)) = 0UL; - *(u *)((*(u *)((vic) + (64UL))) + ((*(u *)((vic) + (72UL))) * (8UL))) = vb; - *(u *)((vic) + (72UL)) = (*(u *)((vic) + (72UL))) + (1UL); + v13 = *(u*)(vic + 8); + v14 = ((u(*)())v12)(v13); + *(u*)(vb + 56) = v14; + *(u*)(vb + 8) = 0; + *(u*)(vb + 16) = 0; + *(u*)(vb + 24) = 0; + *(u*)(vb + 32) = 0; + *(u*)(vb + 40) = 0; + *(u*)(vb + 48) = 0; + *(u*)(*(u*)(vic + 64) + *(u*)(vic + 72) * 8) = vb; + *(u*)(vic + 72) = *(u*)(vic + 72) + 1; return vb; -b7: *(u *)((vtmp) + ((vi) * (8UL))) = *(u *)((*(u *)((vic) + (64UL))) + ((vi) * (8UL))); - vi = (vi) + (1UL); +b7: *(u*)(vtmp + vi * 8) = *(u*)(*(u*)(vic + 64) + vi * 8); + vi = vi + 1; goto b5; } -u zmkirconst(u vic, u vn) { +u zmkirconst(u vic, u vn){ u vo = 0; u v3 = 0; u v4 = 0; @@ -21479,17 +20993,17 @@ u zmkirconst(u vic, u vn) { u v6 = 0; u v7 = 0; u v8 = 0; -b0: v3 = (u)zmkirop; + v3 = (u)zmkirop; v4 = vic; - v5 = 3UL; - v6 = 0UL; - v7 = 0UL; - v8 = ((u (*)())(v3))(v4, v5, v6, v7); -b1: vo = v8; - *(u *)((vo) + (24UL)) = vn; + v5 = 3; + v6 = 0; + v7 = 0; + v8 = ((u(*)())v3)(v4, v5, v6, v7); + vo = v8; + *(u*)(vo + 24) = vn; return vo; } -u zmkirfold(u vic, u vs, u vn) { +u zmkirfold(u vic, u vs, u vn){ u vo = 0; u v4 = 0; u v5 = 0; @@ -21497,20 +21011,20 @@ u zmkirfold(u vic, u vs, u vn) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v4 = (u)zmkirop; + v4 = (u)zmkirop; v5 = vic; - v6 = 3UL; - v7 = 0UL; - v8 = 0UL; - v9 = ((u (*)())(v4))(v5, v6, v7, v8); -b1: vo = v9; - *(u *)((vo) + (64UL)) = *(u *)((vs) + (64UL)); - *(u *)((vo) + (72UL)) = *(u *)((vs) + (72UL)); - *(u *)((vo) + (80UL)) = *(u *)((vs) + (80UL)); - *(u *)((vo) + (24UL)) = vn; + v6 = 3; + v7 = 0; + v8 = 0; + v9 = ((u(*)())v4)(v5, v6, v7, v8); + vo = v9; + *(u*)(vo + 64) = *(u*)(vs + 64); + *(u*)(vo + 72) = *(u*)(vs + 72); + *(u*)(vo + 80) = *(u*)(vs + 80); + *(u*)(vo + 24) = vn; return vo; } -u zmkirfunc(u vc, u vname) { +u zmkirfunc(u vc, u vname){ u vic = 0; u v3 = 0; u v4 = 0; @@ -21519,22 +21033,22 @@ u zmkirfunc(u vc, u vname) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v3 = (u)zalloc; - v4 = *(u *)(vc); - v5 = 144UL; - v6 = ((u (*)())(v3))(v4, v5); -b1: vic = v6; - *(u *)(vic) = vc; - *(u *)((vic) + (16UL)) = *(u *)(vc); - *(u *)((vic) + (8UL)) = *(u *)((vc) + (48UL)); + v3 = (u)zalloc; + v4 = *(u*)vc; + v5 = 144; + v6 = ((u(*)())v3)(v4, v5); + vic = v6; + *(u*)vic = vc; + *(u*)(vic + 16) = *(u*)vc; + *(u*)(vic + 8) = *(u*)(vc + 48); v7 = (u)zmkirblock; v8 = vic; - v9 = ((u (*)())(v7))(v8); -b2: *(u *)((vic) + (88UL)) = *(u *)(*(u *)((vic) + (64UL))); - *(u *)((vic) + (24UL)) = vname; + v9 = ((u(*)())v7)(v8); + *(u*)(vic + 88) = *(u*)*(u*)(vic + 64); + *(u*)(vic + 24) = vname; return vic; } -u zmkirfuncref(u vic, u vname) { +u zmkirfuncref(u vic, u vname){ u vo = 0; u v3 = 0; u v4 = 0; @@ -21545,40 +21059,40 @@ u zmkirfuncref(u vic, u vname) { u v9 = 0; u v10 = 0; u v11 = 0; -b0: v3 = (u)zmkirop; + v3 = (u)zmkirop; v4 = vic; - v5 = 2UL; - v6 = 0UL; - v7 = 0UL; - v8 = ((u (*)())(v3))(v4, v5, v6, v7); -b1: vo = v8; - *(u *)((vo) + (32UL)) = vname; + v5 = 2; + v6 = 0; + v7 = 0; + v8 = ((u(*)())v3)(v4, v5, v6, v7); + vo = v8; + *(u*)(vo + 32) = vname; v9 = (u)zstrlen; v10 = vname; - v11 = ((u (*)())(v9))(v10); -b2: *(u *)((vo) + (40UL)) = v11; + v11 = ((u(*)())v9)(v10); + *(u*)(vo + 40) = v11; return vo; } -u zmkirop(u vic, u vkind, u va, u vb) { +u zmkirop(u vic, u vkind, u va, u vb){ u vo = 0; u v5 = 0; u v6 = 0; u v7 = 0; u v8 = 0; -b0: v5 = (u)zalloc; - v6 = *(u *)((vic) + (16UL)); - v7 = 88UL; - v8 = ((u (*)())(v5))(v6, v7); -b1: vo = v8; - *(u *)(vo) = vkind; - *(u *)((vo) + (8UL)) = va; - *(u *)((vo) + (16UL)) = vb; - *(u *)((vo) + (64UL)) = *(u *)((*(u *)(vic)) + (24UL)); - *(u *)((vo) + (72UL)) = *(u *)((*(u *)(vic)) + (32UL)); - *(u *)((vo) + (80UL)) = *(u *)((*(u *)(vic)) + (40UL)); + v5 = (u)zalloc; + v6 = *(u*)(vic + 16); + v7 = 88; + v8 = ((u(*)())v5)(v6, v7); + vo = v8; + *(u*)vo = vkind; + *(u*)(vo + 8) = va; + *(u*)(vo + 16) = vb; + *(u*)(vo + 64) = *(u*)(*(u*)vic + 24); + *(u*)(vo + 72) = *(u*)(*(u*)vic + 32); + *(u*)(vo + 80) = *(u*)(*(u*)vic + 40); return vo; } -u zmkirretval(u vic, u va, u vt) { +u zmkirretval(u vic, u va, u vt){ u vo = 0; u v4 = 0; u v5 = 0; @@ -21586,17 +21100,17 @@ u zmkirretval(u vic, u va, u vt) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v4 = (u)zmkirop; + v4 = (u)zmkirop; v5 = vic; - v6 = 7UL; + v6 = 7; v7 = va; - v8 = 0UL; - v9 = ((u (*)())(v4))(v5, v6, v7, v8); -b1: vo = v9; - *(u *)((vo) + (48UL)) = vt; + v8 = 0; + v9 = ((u(*)())v4)(v5, v6, v7, v8); + vo = v9; + *(u*)(vo + 48) = vt; return vo; } -u zmkirstr(u vic, u vs, u vslen) { +u zmkirstr(u vic, u vs, u vslen){ u vo = 0; u v4 = 0; u v5 = 0; @@ -21604,18 +21118,18 @@ u zmkirstr(u vic, u vs, u vslen) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v4 = (u)zmkirop; + v4 = (u)zmkirop; v5 = vic; - v6 = 4UL; - v7 = 0UL; - v8 = 0UL; - v9 = ((u (*)())(v4))(v5, v6, v7, v8); -b1: vo = v9; - *(u *)((vo) + (32UL)) = vs; - *(u *)((vo) + (40UL)) = vslen; + v6 = 4; + v7 = 0; + v8 = 0; + v9 = ((u(*)())v4)(v5, v6, v7, v8); + vo = v9; + *(u*)(vo + 32) = vs; + *(u*)(vo + 40) = vslen; return vo; } -u zmkirtmp(u vic, u vt) { +u zmkirtmp(u vic, u vt){ u vo = 0; u vv = 0; u v4 = 0; @@ -21629,23 +21143,23 @@ u zmkirtmp(u vic, u vt) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: v4 = (u)zmkirvar; + v4 = (u)zmkirvar; v5 = vic; - v6 = 0UL; + v6 = 0; v7 = vt; - v8 = ((u (*)())(v4))(v5, v6, v7); -b1: vv = v8; + v8 = ((u(*)())v4)(v5, v6, v7); + vv = v8; v9 = (u)zmkirop; v10 = vic; - v11 = 0UL; - v12 = 0UL; - v13 = 0UL; - v14 = ((u (*)())(v9))(v10, v11, v12, v13); -b2: vo = v14; - *(u *)((vo) + (24UL)) = *(u *)((vv) + (32UL)); + v11 = 0; + v12 = 0; + v13 = 0; + v14 = ((u(*)())v9)(v10, v11, v12, v13); + vo = v14; + *(u*)(vo + 24) = *(u*)(vv + 32); return vo; } -u zmkirvar(u vic, u vname, u vt) { +u zmkirvar(u vic, u vname, u vt){ u vv = 0; u vtmp = 0; u vi = 0; @@ -21657,35 +21171,33 @@ u zmkirvar(u vic, u vname, u vt) { u v11 = 0; u v12 = 0; u v13 = 0; -b0: if ((*(u *)((vic) + (120UL))) != (*(u *)((vic) + (128UL)))) { goto b1; } -b2: *(u *)((vic) + (128UL)) = ((*(u *)((vic) + (128UL))) * (2UL)) + (16UL); + if (*(u*)(vic + 120) != *(u*)(vic + 128)) goto b1; + *(u*)(vic + 128) = *(u*)(vic + 128) * 2 + 16; v6 = (u)zalloc; - v7 = *(u *)((vic) + (16UL)); - v8 = (8UL) * (*(u *)((vic) + (128UL))); - v9 = ((u (*)())(v6))(v7, v8); -b4: vtmp = v9; - vi = 0UL; - goto b5; -b5: if ((vi) != (*(u *)((vic) + (120UL)))) { goto b7; } -b6: *(u *)((vic) + (112UL)) = vtmp; - goto b1; -b1: vi = *(u *)((vic) + (120UL)); + v7 = *(u*)(vic + 16); + v8 = 8 * *(u*)(vic + 128); + v9 = ((u(*)())v6)(v7, v8); + vtmp = v9; + vi = 0; +b5: if (vi != *(u*)(vic + 120)) goto b7; + *(u*)(vic + 112) = vtmp; +b1: vi = *(u*)(vic + 120); v10 = (u)zalloc; - v11 = *(u *)((vic) + (16UL)); - v12 = 56UL; - v13 = ((u (*)())(v10))(v11, v12); -b10: vv = v13; - *(u *)((vv) + (32UL)) = vi; - *(u *)(vv) = vname; - *(u *)((vv) + (24UL)) = vt; - *(u *)((*(u *)((vic) + (112UL))) + ((vi) * (8UL))) = vv; - *(u *)((vic) + (120UL)) = (*(u *)((vic) + (120UL))) + (1UL); + v11 = *(u*)(vic + 16); + v12 = 56; + v13 = ((u(*)())v10)(v11, v12); + vv = v13; + *(u*)(vv + 32) = vi; + *(u*)vv = vname; + *(u*)(vv + 24) = vt; + *(u*)(*(u*)(vic + 112) + vi * 8) = vv; + *(u*)(vic + 120) = *(u*)(vic + 120) + 1; return vv; -b7: *(u *)((vtmp) + ((vi) * (8UL))) = *(u *)((*(u *)((vic) + (112UL))) + ((vi) * (8UL))); - vi = (vi) + (1UL); +b7: *(u*)(vtmp + vi * 8) = *(u*)(*(u*)(vic + 112) + vi * 8); + vi = vi + 1; goto b5; } -u zmkirvarop(u vic, u vname) { +u zmkirvarop(u vic, u vname){ u viv = 0; u vo = 0; u v4 = 0; @@ -21703,48 +21215,47 @@ u zmkirvarop(u vic, u vname) { u v16 = 0; u v17 = 0; u v18 = 0; -b0: v4 = (u)zirfind_var; + v4 = (u)zirfind_var; v5 = vic; v6 = vname; - v7 = ((u (*)())(v4))(v5, v6); -b1: viv = *(u *)(v7); - if (!(viv)) { goto b6; } -b5: v8 = 0UL; - goto b7; -b7: if (!(v8)) { goto b2; } -b3: v9 = (u)zcdie; - v10 = *(u *)(vic); + v7 = ((u(*)())v4)(v5, v6); + viv = *(u*)v7; + if (!viv) goto b6; + v8 = 0; +b7: if (!v8) goto b2; + v9 = (u)zcdie; + v10 = *(u*)vic; v11 = (u)"no such variable"; - v12 = ((u (*)())(v9))(v10, v11); + v12 = ((u(*)())v9)(v10, v11); b2: v13 = (u)zmkirop; v14 = vic; - v15 = 0UL; - v16 = 0UL; - v17 = 0UL; - v18 = ((u (*)())(v13))(v14, v15, v16, v17); -b9: vo = v18; - *(u *)((vo) + (24UL)) = *(u *)((viv) + (32UL)); + v15 = 0; + v16 = 0; + v17 = 0; + v18 = ((u(*)())v13)(v14, v15, v16, v17); + vo = v18; + *(u*)(vo + 24) = *(u*)(viv + 32); return vo; -b6: v8 = 1UL; +b6: v8 = 1; goto b7; } -u zmklabel(u vc) { +u zmklabel(u vc){ u vl = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: v2 = (u)zalloc; - v3 = *(u *)(vc); - v4 = 24UL; - v5 = ((u (*)())(v2))(v3, v4); -b1: vl = v5; - *(u *)(vl) = 0UL; - *(u *)((vl) + (8UL)) = 0UL; - *(u *)((vl) + (16UL)) = 0UL; + v2 = (u)zalloc; + v3 = *(u*)vc; + v4 = 24; + v5 = ((u(*)())v2)(v3, v4); + vl = v5; + *(u*)vl = 0; + *(u*)(vl + 8) = 0; + *(u*)(vl + 16) = 0; return vl; } -u zmknode(u vc, u vkind, u va, u vb) { +u zmknode(u vc, u vkind, u va, u vb){ u vret = 0; u v5 = 0; u v6 = 0; @@ -21754,74 +21265,74 @@ u zmknode(u vc, u vkind, u va, u vb) { u v10 = 0; u v11 = 0; u v12 = 0; -b0: v5 = (u)zalloc; - v6 = *(u *)(vc); - v7 = 72UL; - v8 = ((u (*)())(v5))(v6, v7); -b1: vret = v8; - *(u *)(vret) = vkind; - *(u *)((vret) + (8UL)) = va; - *(u *)((vret) + (16UL)) = vb; - *(u *)((vret) + (24UL)) = 0UL; - *(u *)((vret) + (32UL)) = 0UL; - *(u *)((vret) + (40UL)) = 0UL; - *(u *)((vret) + (48UL)) = 0UL; - *(u *)((vret) + (56UL)) = 0UL; - *(u *)((vret) + (64UL)) = 0UL; + v5 = (u)zalloc; + v6 = *(u*)vc; + v7 = 72; + v8 = ((u(*)())v5)(v6, v7); + vret = v8; + *(u*)vret = vkind; + *(u*)(vret + 8) = va; + *(u*)(vret + 16) = vb; + *(u*)(vret + 24) = 0; + *(u*)(vret + 32) = 0; + *(u*)(vret + 40) = 0; + *(u*)(vret + 48) = 0; + *(u*)(vret + 56) = 0; + *(u*)(vret + 64) = 0; v9 = (u)zfillpos; v10 = vc; v11 = vret; - v12 = ((u (*)())(v9))(v10, v11); -b2: return vret; + v12 = ((u(*)())v9)(v10, v11); + return vret; } -u zmknode0(u vc, u vkind) { +u zmknode0(u vc, u vkind){ u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; u v7 = 0; -b0: v2 = (u)zmknode; + v2 = (u)zmknode; v3 = vc; v4 = vkind; - v5 = 0UL; - v6 = 0UL; - v7 = ((u (*)())(v2))(v3, v4, v5, v6); -b1: return v7; + v5 = 0; + v6 = 0; + v7 = ((u(*)())v2)(v3, v4, v5, v6); + return v7; } -u zmknode1(u vc, u vkind, u va) { +u zmknode1(u vc, u vkind, u va){ u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; u v7 = 0; u v8 = 0; -b0: v3 = (u)zmknode; + v3 = (u)zmknode; v4 = vc; v5 = vkind; v6 = va; - v7 = 0UL; - v8 = ((u (*)())(v3))(v4, v5, v6, v7); -b1: return v8; + v7 = 0; + v8 = ((u(*)())v3)(v4, v5, v6, v7); + return v8; } -u zmktype(u vc, u vkind, u va, u vb, u vst) { +u zmktype(u vc, u vkind, u va, u vb, u vst){ u vt = 0; u v6 = 0; u v7 = 0; u v8 = 0; u v9 = 0; -b0: v6 = (u)zalloc; - v7 = *(u *)(vc); - v8 = 32UL; - v9 = ((u (*)())(v6))(v7, v8); -b1: vt = v9; - *(u *)(vt) = vkind; - *(u *)((vt) + (8UL)) = vst; - *(u *)((vt) + (16UL)) = va; - *(u *)((vt) + (24UL)) = vb; + v6 = (u)zalloc; + v7 = *(u*)vc; + v8 = 32; + v9 = ((u(*)())v6)(v7, v8); + vt = v9; + *(u*)vt = vkind; + *(u*)(vt + 8) = vst; + *(u*)(vt + 16) = va; + *(u*)(vt + 24) = vb; return vt; } -u zmktype0(u vc, u vkind) { +u zmktype0(u vc, u vkind){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -21829,16 +21340,16 @@ u zmktype0(u vc, u vkind) { u v6 = 0; u v7 = 0; u v8 = 0; -b0: v2 = (u)zmktype; + v2 = (u)zmktype; v3 = vc; v4 = vkind; - v5 = 0UL; - v6 = 0UL; - v7 = 0UL; - v8 = ((u (*)())(v2))(v3, v4, v5, v6, v7); -b1: return v8; + v5 = 0; + v6 = 0; + v7 = 0; + v8 = ((u(*)())v2)(v3, v4, v5, v6, v7); + return v8; } -u zmktype1(u vc, u vkind, u va) { +u zmktype1(u vc, u vkind, u va){ u v3 = 0; u v4 = 0; u v5 = 0; @@ -21846,16 +21357,16 @@ u zmktype1(u vc, u vkind, u va) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v3 = (u)zmktype; + v3 = (u)zmktype; v4 = vc; v5 = vkind; v6 = va; - v7 = 0UL; - v8 = 0UL; - v9 = ((u (*)())(v3))(v4, v5, v6, v7, v8); -b1: return v9; + v7 = 0; + v8 = 0; + v9 = ((u(*)())v3)(v4, v5, v6, v7, v8); + return v9; } -u zmktype2(u vc, u vkind, u va, u vb) { +u zmktype2(u vc, u vkind, u va, u vb){ u v4 = 0; u v5 = 0; u v6 = 0; @@ -21863,16 +21374,16 @@ u zmktype2(u vc, u vkind, u va, u vb) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: v4 = (u)zmktype; + v4 = (u)zmktype; v5 = vc; v6 = vkind; v7 = va; v8 = vb; - v9 = 0UL; - v10 = ((u (*)())(v4))(v5, v6, v7, v8, v9); -b1: return v10; + v9 = 0; + v10 = ((u(*)())v4)(v5, v6, v7, v8, v9); + return v10; } -u zmktype_struct(u vc, u vst) { +u zmktype_struct(u vc, u vst){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -21880,16 +21391,16 @@ u zmktype_struct(u vc, u vst) { u v6 = 0; u v7 = 0; u v8 = 0; -b0: v2 = (u)zmktype; + v2 = (u)zmktype; v3 = vc; - v4 = 7UL; - v5 = 0UL; - v6 = 0UL; + v4 = 7; + v5 = 0; + v6 = 0; v7 = vst; - v8 = ((u (*)())(v2))(v3, v4, v5, v6, v7); -b1: return v8; + v8 = ((u(*)())v2)(v3, v4, v5, v6, v7); + return v8; } -u zmktype_union(u vc, u vst) { +u zmktype_union(u vc, u vst){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -21897,16 +21408,16 @@ u zmktype_union(u vc, u vst) { u v6 = 0; u v7 = 0; u v8 = 0; -b0: v2 = (u)zmktype; + v2 = (u)zmktype; v3 = vc; - v4 = 8UL; - v5 = 0UL; - v6 = 0UL; + v4 = 8; + v5 = 0; + v6 = 0; v7 = vst; - v8 = ((u (*)())(v2))(v3, v4, v5, v6, v7); -b1: return v8; + v8 = ((u(*)())v2)(v3, v4, v5, v6, v7); + return v8; } -u zmmap(u vaddr, u vlen, u vprot, u vflags, u vfd, u voff) { +u zmmap(u vaddr, u vlen, u vprot, u vflags, u vfd, u voff){ u v6 = 0; u v7 = 0; u v8 = 0; @@ -21916,150 +21427,150 @@ u zmmap(u vaddr, u vlen, u vprot, u vflags, u vfd, u voff) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: v6 = (u)zsyscall; - v7 = 9UL; + v6 = (u)zsyscall; + v7 = 9; v8 = vaddr; v9 = vlen; v10 = vprot; v11 = vflags; v12 = vfd; v13 = voff; - v14 = ((u (*)())(v6))(v7, v8, v9, v10, v11, v12, v13); -b1: return v14; + v14 = ((u(*)())v6)(v7, v8, v9, v10, v11, v12, v13); + return v14; } -u znext_decl(u vc, u vd) { +u znext_decl(u vc, u vd){ u v2 = 0; u v3 = 0; u v4 = 0; -b0: v2 = (u)zrb_next; + v2 = (u)zrb_next; v3 = vd; - v4 = ((u (*)())(v2))(v3); -b1: return v4; -} -u znode_to_str(u vkind) { -b0: if ((vkind) != (0UL)) { goto b1; } -b2: return (u)"N_IDENT"; -b1: if ((vkind) != (1UL)) { goto b4; } -b5: return (u)"N_NUM"; -b4: if ((vkind) != (2UL)) { goto b7; } -b8: return (u)"N_CHAR"; -b7: if ((vkind) != (3UL)) { goto b10; } -b11: return (u)"N_STR"; -b10: if ((vkind) != (4UL)) { goto b13; } -b14: return (u)"N_NIL"; -b13: if ((vkind) != (5UL)) { goto b16; } -b17: return (u)"N_STMTLIST"; -b16: if ((vkind) != (6UL)) { goto b19; } -b20: return (u)"N_EXPRLIST"; -b19: if ((vkind) != (7UL)) { goto b22; } -b23: return (u)"N_CALL"; -b22: if ((vkind) != (9UL)) { goto b25; } -b26: return (u)"N_DOT"; -b25: if ((vkind) != (10UL)) { goto b28; } -b29: return (u)"N_ARGLIST"; -b28: if ((vkind) != (11UL)) { goto b31; } -b32: return (u)"N_FUNC"; -b31: if ((vkind) != (12UL)) { goto b34; } -b35: return (u)"N_ARGDECL"; -b34: if ((vkind) != (13UL)) { goto b37; } -b38: return (u)"N_FUNCDECL"; -b37: if ((vkind) != (14UL)) { goto b40; } -b41: return (u)"N_PROGRAM"; -b40: if ((vkind) != (15UL)) { goto b43; } -b44: return (u)"N_FUNCTYPE"; -b43: if ((vkind) != (16UL)) { goto b46; } -b47: return (u)"N_PTRTYPE"; -b46: if ((vkind) != (17UL)) { goto b49; } -b50: return (u)"N_STRUCT"; -b49: if ((vkind) != (18UL)) { goto b52; } -b53: return (u)"N_UNION"; -b52: if ((vkind) != (19UL)) { goto b55; } -b56: return (u)"N_MEMBERDECL"; -b55: if ((vkind) != (20UL)) { goto b58; } -b59: return (u)"N_MEMBERLIST"; -b58: if ((vkind) != (21UL)) { goto b61; } -b62: return (u)"N_CONDLIST"; -b61: if ((vkind) != (22UL)) { goto b64; } -b65: return (u)"N_COND"; -b64: if ((vkind) != (23UL)) { goto b67; } -b68: return (u)"N_ENUM"; -b67: if ((vkind) != (24UL)) { goto b70; } -b71: return (u)"N_ENUMITEM"; -b70: if ((vkind) != (25UL)) { goto b73; } -b74: return (u)"N_ENUMLIST"; -b73: if ((vkind) != (26UL)) { goto b76; } -b77: return (u)"N_LOOP"; -b76: if ((vkind) != (27UL)) { goto b79; } -b80: return (u)"N_BREAK"; -b79: if ((vkind) != (28UL)) { goto b82; } -b83: return (u)"N_CONTINUE"; -b82: if ((vkind) != (29UL)) { goto b85; } -b86: return (u)"N_RETURN"; -b85: if ((vkind) != (30UL)) { goto b88; } -b89: return (u)"N_VARDECL"; -b88: if ((vkind) != (31UL)) { goto b91; } -b92: return (u)"N_LABEL"; -b91: if ((vkind) != (32UL)) { goto b94; } -b95: return (u)"N_GOTO"; -b94: if ((vkind) != (33UL)) { goto b97; } -b98: return (u)"N_ASSIGN"; -b97: if ((vkind) != (34UL)) { goto b100; } -b101: return (u)"N_SIZEOF"; -b100: if ((vkind) != (35UL)) { goto b103; } -b104: return (u)"N_REF"; -b103: if ((vkind) != (36UL)) { goto b106; } -b107: return (u)"N_DEREF"; -b106: if ((vkind) != (37UL)) { goto b109; } -b110: return (u)"N_CAST"; -b109: if ((vkind) != (38UL)) { goto b112; } -b113: return (u)"N_INDEX"; -b112: if ((vkind) != (39UL)) { goto b115; } -b116: return (u)"N_LT"; -b115: if ((vkind) != (40UL)) { goto b118; } -b119: return (u)"N_GT"; -b118: if ((vkind) != (41UL)) { goto b121; } -b122: return (u)"N_LE"; -b121: if ((vkind) != (42UL)) { goto b124; } -b125: return (u)"N_GE"; -b124: if ((vkind) != (43UL)) { goto b127; } -b128: return (u)"N_EQ"; -b127: if ((vkind) != (44UL)) { goto b130; } -b131: return (u)"N_NE"; -b130: if ((vkind) != (45UL)) { goto b133; } -b134: return (u)"N_ADD"; -b133: if ((vkind) != (46UL)) { goto b136; } -b137: return (u)"N_SUB"; -b136: if ((vkind) != (47UL)) { goto b139; } -b140: return (u)"N_MUL"; -b139: if ((vkind) != (48UL)) { goto b142; } -b143: return (u)"N_LSH"; -b142: if ((vkind) != (49UL)) { goto b145; } -b146: return (u)"N_RSH"; -b145: if ((vkind) != (50UL)) { goto b148; } -b149: return (u)"N_BNOT"; -b148: if ((vkind) != (51UL)) { goto b151; } -b152: return (u)"N_BOR"; -b151: if ((vkind) != (52UL)) { goto b154; } -b155: return (u)"N_BAND"; -b154: if ((vkind) != (53UL)) { goto b157; } -b158: return (u)"N_AND"; -b157: if ((vkind) != (54UL)) { goto b160; } -b161: return (u)"N_OR"; -b160: if ((vkind) != (55UL)) { goto b163; } -b164: return (u)"N_XOR"; -b163: if ((vkind) != (56UL)) { goto b166; } -b167: return (u)"N_NOT"; -b166: if ((vkind) != (57UL)) { goto b169; } -b170: return (u)"N_POS"; -b169: if ((vkind) != (58UL)) { goto b172; } -b173: return (u)"N_NEG"; -b172: if ((vkind) != (59UL)) { goto b175; } -b176: return (u)"N_DIV"; -b175: if ((vkind) != (60UL)) { goto b178; } -b179: return (u)"N_MOD"; + v4 = ((u(*)())v2)(v3); + return v4; +} +u znode_to_str(u vkind){ + if (vkind != 0) goto b1; + return (u)"N_IDENT"; +b1: if (vkind != 1) goto b4; + return (u)"N_NUM"; +b4: if (vkind != 2) goto b7; + return (u)"N_CHAR"; +b7: if (vkind != 3) goto b10; + return (u)"N_STR"; +b10: if (vkind != 4) goto b13; + return (u)"N_NIL"; +b13: if (vkind != 5) goto b16; + return (u)"N_STMTLIST"; +b16: if (vkind != 6) goto b19; + return (u)"N_EXPRLIST"; +b19: if (vkind != 7) goto b22; + return (u)"N_CALL"; +b22: if (vkind != 9) goto b25; + return (u)"N_DOT"; +b25: if (vkind != 10) goto b28; + return (u)"N_ARGLIST"; +b28: if (vkind != 11) goto b31; + return (u)"N_FUNC"; +b31: if (vkind != 12) goto b34; + return (u)"N_ARGDECL"; +b34: if (vkind != 13) goto b37; + return (u)"N_FUNCDECL"; +b37: if (vkind != 14) goto b40; + return (u)"N_PROGRAM"; +b40: if (vkind != 15) goto b43; + return (u)"N_FUNCTYPE"; +b43: if (vkind != 16) goto b46; + return (u)"N_PTRTYPE"; +b46: if (vkind != 17) goto b49; + return (u)"N_STRUCT"; +b49: if (vkind != 18) goto b52; + return (u)"N_UNION"; +b52: if (vkind != 19) goto b55; + return (u)"N_MEMBERDECL"; +b55: if (vkind != 20) goto b58; + return (u)"N_MEMBERLIST"; +b58: if (vkind != 21) goto b61; + return (u)"N_CONDLIST"; +b61: if (vkind != 22) goto b64; + return (u)"N_COND"; +b64: if (vkind != 23) goto b67; + return (u)"N_ENUM"; +b67: if (vkind != 24) goto b70; + return (u)"N_ENUMITEM"; +b70: if (vkind != 25) goto b73; + return (u)"N_ENUMLIST"; +b73: if (vkind != 26) goto b76; + return (u)"N_LOOP"; +b76: if (vkind != 27) goto b79; + return (u)"N_BREAK"; +b79: if (vkind != 28) goto b82; + return (u)"N_CONTINUE"; +b82: if (vkind != 29) goto b85; + return (u)"N_RETURN"; +b85: if (vkind != 30) goto b88; + return (u)"N_VARDECL"; +b88: if (vkind != 31) goto b91; + return (u)"N_LABEL"; +b91: if (vkind != 32) goto b94; + return (u)"N_GOTO"; +b94: if (vkind != 33) goto b97; + return (u)"N_ASSIGN"; +b97: if (vkind != 34) goto b100; + return (u)"N_SIZEOF"; +b100: if (vkind != 35) goto b103; + return (u)"N_REF"; +b103: if (vkind != 36) goto b106; + return (u)"N_DEREF"; +b106: if (vkind != 37) goto b109; + return (u)"N_CAST"; +b109: if (vkind != 38) goto b112; + return (u)"N_INDEX"; +b112: if (vkind != 39) goto b115; + return (u)"N_LT"; +b115: if (vkind != 40) goto b118; + return (u)"N_GT"; +b118: if (vkind != 41) goto b121; + return (u)"N_LE"; +b121: if (vkind != 42) goto b124; + return (u)"N_GE"; +b124: if (vkind != 43) goto b127; + return (u)"N_EQ"; +b127: if (vkind != 44) goto b130; + return (u)"N_NE"; +b130: if (vkind != 45) goto b133; + return (u)"N_ADD"; +b133: if (vkind != 46) goto b136; + return (u)"N_SUB"; +b136: if (vkind != 47) goto b139; + return (u)"N_MUL"; +b139: if (vkind != 48) goto b142; + return (u)"N_LSH"; +b142: if (vkind != 49) goto b145; + return (u)"N_RSH"; +b145: if (vkind != 50) goto b148; + return (u)"N_BNOT"; +b148: if (vkind != 51) goto b151; + return (u)"N_BOR"; +b151: if (vkind != 52) goto b154; + return (u)"N_BAND"; +b154: if (vkind != 53) goto b157; + return (u)"N_AND"; +b157: if (vkind != 54) goto b160; + return (u)"N_OR"; +b160: if (vkind != 55) goto b163; + return (u)"N_XOR"; +b163: if (vkind != 56) goto b166; + return (u)"N_NOT"; +b166: if (vkind != 57) goto b169; + return (u)"N_POS"; +b169: if (vkind != 58) goto b172; + return (u)"N_NEG"; +b172: if (vkind != 59) goto b175; + return (u)"N_DIV"; +b175: if (vkind != 60) goto b178; + return (u)"N_MOD"; b178: return (u)"(invalid)"; } -u zopen(u vname, u vflags, u vmode) { +u zopen(u vname, u vflags, u vmode){ u v3 = 0; u v4 = 0; u v5 = 0; @@ -22069,18 +21580,18 @@ u zopen(u vname, u vflags, u vmode) { u v9 = 0; u v10 = 0; u v11 = 0; -b0: v3 = (u)zsyscall; - v4 = 2UL; + v3 = (u)zsyscall; + v4 = 2; v5 = vname; v6 = vflags; v7 = vmode; - v8 = 0UL; - v9 = 0UL; - v10 = 0UL; - v11 = ((u (*)())(v3))(v4, v5, v6, v7, v8, v9, v10); -b1: return v11; + v8 = 0; + v9 = 0; + v10 = 0; + v11 = ((u(*)())v3)(v4, v5, v6, v7, v8, v9, v10); + return v11; } -u zopen_call_out(u vc, u vfilename) { +u zopen_call_out(u vc, u vfilename){ u vfd = 0; u v3 = 0; u v4 = 0; @@ -22094,25 +21605,25 @@ u zopen_call_out(u vc, u vfilename) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: v3 = (u)zopen; + v3 = (u)zopen; v4 = vfilename; - v5 = 577UL; - v6 = 438UL; - v7 = ((u (*)())(v3))(v4, v5, v6); -b1: vfd = v7; - if ((s)(vfd) >= (s)(0UL)) { goto b2; } -b3: v8 = (u)zdie; + v5 = 577; + v6 = 438; + v7 = ((u(*)())v3)(v4, v5, v6); + vfd = v7; + if ((s)vfd >= (s)0) goto b2; + v8 = (u)zdie; v9 = (u)"open_call_out: failed to open output"; - v10 = ((u (*)())(v8))(v9); + v10 = ((u(*)())v8)(v9); b2: v11 = (u)zfopen; v12 = vfd; - v13 = *(u *)(vc); - v14 = ((u (*)())(v11))(v12, v13); -b6: *(u *)((vc) + (80UL)) = v14; - *(u *)((*(u *)((vc) + (80UL))) + (56UL)) = 1UL; - return 0UL; + v13 = *(u*)vc; + v14 = ((u(*)())v11)(v12, v13); + *(u*)(vc + 80) = v14; + *(u*)(*(u*)(vc + 80) + 56) = 1; + return 0; } -u zopen_coutput(u vc, u vfilename) { +u zopen_coutput(u vc, u vfilename){ u vfd = 0; u v3 = 0; u v4 = 0; @@ -22129,29 +21640,29 @@ u zopen_coutput(u vc, u vfilename) { u v15 = 0; u v16 = 0; u v17 = 0; -b0: if (!(*(u *)((vc) + (72UL)))) { goto b1; } -b2: v3 = (u)zdie; + if (!*(u*)(vc + 72)) goto b1; + v3 = (u)zdie; v4 = (u)"multiple output files"; - v5 = ((u (*)())(v3))(v4); + v5 = ((u(*)())v3)(v4); b1: v6 = (u)zopen; v7 = vfilename; - v8 = 577UL; - v9 = 438UL; - v10 = ((u (*)())(v6))(v7, v8, v9); -b5: vfd = v10; - if ((s)(vfd) >= (s)(0UL)) { goto b6; } -b7: v11 = (u)zdie; + v8 = 577; + v9 = 438; + v10 = ((u(*)())v6)(v7, v8, v9); + vfd = v10; + if ((s)vfd >= (s)0) goto b6; + v11 = (u)zdie; v12 = (u)"open_coutput: failed to open output"; - v13 = ((u (*)())(v11))(v12); + v13 = ((u(*)())v11)(v12); b6: v14 = (u)zfopen; v15 = vfd; - v16 = *(u *)(vc); - v17 = ((u (*)())(v14))(v15, v16); -b10: *(u *)((vc) + (72UL)) = v17; - *(u *)((*(u *)((vc) + (72UL))) + (56UL)) = 1UL; - return 0UL; + v16 = *(u*)vc; + v17 = ((u(*)())v14)(v15, v16); + *(u*)(vc + 72) = v17; + *(u*)(*(u*)(vc + 72) + 56) = 1; + return 0; } -u zopen_lines_out(u vc, u vfilename) { +u zopen_lines_out(u vc, u vfilename){ u vfd = 0; u v3 = 0; u v4 = 0; @@ -22165,25 +21676,25 @@ u zopen_lines_out(u vc, u vfilename) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: v3 = (u)zopen; + v3 = (u)zopen; v4 = vfilename; - v5 = 577UL; - v6 = 438UL; - v7 = ((u (*)())(v3))(v4, v5, v6); -b1: vfd = v7; - if ((s)(vfd) >= (s)(0UL)) { goto b2; } -b3: v8 = (u)zdie; + v5 = 577; + v6 = 438; + v7 = ((u(*)())v3)(v4, v5, v6); + vfd = v7; + if ((s)vfd >= (s)0) goto b2; + v8 = (u)zdie; v9 = (u)"open_lines_out: failed to open output"; - v10 = ((u (*)())(v8))(v9); + v10 = ((u(*)())v8)(v9); b2: v11 = (u)zfopen; v12 = vfd; - v13 = *(u *)(vc); - v14 = ((u (*)())(v11))(v12, v13); -b6: *(u *)((*(u *)((vc) + (48UL))) + (80UL)) = v14; - *(u *)((*(u *)((*(u *)((vc) + (48UL))) + (80UL))) + (56UL)) = 1UL; - return 0UL; + v13 = *(u*)vc; + v14 = ((u(*)())v11)(v12, v13); + *(u*)(*(u*)(vc + 48) + 80) = v14; + *(u*)(*(u*)(*(u*)(vc + 48) + 80) + 56) = 1; + return 0; } -u zopen_output(u vc, u vfilename) { +u zopen_output(u vc, u vfilename){ u vfd = 0; u v3 = 0; u v4 = 0; @@ -22203,32 +21714,32 @@ u zopen_output(u vc, u vfilename) { u v18 = 0; u v19 = 0; u v20 = 0; -b0: if (!(*(u *)((vc) + (8UL)))) { goto b1; } -b2: v3 = (u)zdie; + if (!*(u*)(vc + 8)) goto b1; + v3 = (u)zdie; v4 = (u)"multiple output files"; - v5 = ((u (*)())(v3))(v4); + v5 = ((u(*)())v3)(v4); b1: v6 = (u)zunlink; v7 = vfilename; - v8 = ((u (*)())(v6))(v7); -b5: v9 = (u)zopen; + v8 = ((u(*)())v6)(v7); + v9 = (u)zopen; v10 = vfilename; - v11 = 65UL; - v12 = 511UL; - v13 = ((u (*)())(v9))(v10, v11, v12); -b6: vfd = v13; - if ((s)(vfd) >= (s)(0UL)) { goto b7; } -b8: v14 = (u)zdie; + v11 = 65; + v12 = 511; + v13 = ((u(*)())v9)(v10, v11, v12); + vfd = v13; + if ((s)vfd >= (s)0) goto b7; + v14 = (u)zdie; v15 = (u)"failed to open output"; - v16 = ((u (*)())(v14))(v15); + v16 = ((u(*)())v14)(v15); b7: v17 = (u)zfopen; v18 = vfd; - v19 = *(u *)(vc); - v20 = ((u (*)())(v17))(v18, v19); -b11: *(u *)((vc) + (8UL)) = v20; - *(u *)((*(u *)((vc) + (8UL))) + (56UL)) = 1UL; - return 0UL; + v19 = *(u*)vc; + v20 = ((u(*)())v17)(v18, v19); + *(u*)(vc + 8) = v20; + *(u*)(*(u*)(vc + 8) + 56) = 1; + return 0; } -u zoutput_ir(u vc, u vd) { +u zoutput_ir(u vc, u vd){ u vic = 0; u v3 = 0; u v4 = 0; @@ -22303,91 +21814,91 @@ u zoutput_ir(u vc, u vd) { u v73 = 0; u v74 = 0; u v75 = 0; -b0: vic = *(u *)((vd) + (104UL)); - *(u *)((*(u *)(vic)) + (24UL)) = *(u *)((vic) + (32UL)); - *(u *)((*(u *)(vic)) + (32UL)) = *(u *)((vic) + (40UL)); - *(u *)((*(u *)(vic)) + (40UL)) = *(u *)((vic) + (48UL)); - *(u *)((*(u *)((vic) + (8UL))) + (88UL)) = *(u *)((vic) + (32UL)); - *(u *)((*(u *)((vic) + (8UL))) + (96UL)) = *(u *)((vic) + (40UL)); + vic = *(u*)(vd + 104); + *(u*)(*(u*)vic + 24) = *(u*)(vic + 32); + *(u*)(*(u*)vic + 32) = *(u*)(vic + 40); + *(u*)(*(u*)vic + 40) = *(u*)(vic + 48); + *(u*)(*(u*)(vic + 8) + 88) = *(u*)(vic + 32); + *(u*)(*(u*)(vic + 8) + 96) = *(u*)(vic + 40); v3 = (u)zfixup_label; - v4 = *(u *)((vc) + (48UL)); - v5 = *(u *)((vd) + (88UL)); - v6 = ((u (*)())(v3))(v4, v5); -b1: v7 = (u)zadd_symbol; - v8 = *(u *)((vc) + (48UL)); - v9 = *(u *)((vd) + (32UL)); - v10 = *(u *)((vd) + (88UL)); - v11 = ((u (*)())(v7))(v8, v9, v10); -b2: v12 = (u)zstrcmp; - v13 = *(u *)((vd) + (32UL)); + v4 = *(u*)(vc + 48); + v5 = *(u*)(vd + 88); + v6 = ((u(*)())v3)(v4, v5); + v7 = (u)zadd_symbol; + v8 = *(u*)(vc + 48); + v9 = *(u*)(vd + 32); + v10 = *(u*)(vd + 88); + v11 = ((u(*)())v7)(v8, v9, v10); + v12 = (u)zstrcmp; + v13 = *(u*)(vd + 32); v14 = (u)"_start"; - v15 = ((u (*)())(v12))(v13, v14); -b6: if ((v15) != (0UL)) { goto b5; } -b4: v16 = (u)zas_modrm; - v17 = *(u *)((vc) + (48UL)); - v18 = 139UL; - v19 = 7UL; - v20 = 4UL; - v21 = 0UL; - v22 = 0UL; - v23 = 0UL; - v24 = ((u (*)())(v16))(v17, v18, v19, v20, v21, v22, v23); -b7: v25 = (u)zas_modrm; - v26 = *(u *)((vc) + (48UL)); - v27 = 141UL; - v28 = 6UL; - v29 = 4UL; - v30 = 0UL; - v31 = 0UL; - v32 = 8UL; - v33 = ((u (*)())(v25))(v26, v27, v28, v29, v30, v31, v32); -b8: v34 = (u)zas_modrm; - v35 = *(u *)((vc) + (48UL)); - v36 = 141UL; - v37 = 2UL; - v38 = 6UL; - v39 = 7UL; - v40 = 8UL; - v41 = 8UL; - v42 = ((u (*)())(v34))(v35, v36, v37, v38, v39, v40, v41); -b9: v43 = (u)zas_opr; - v44 = *(u *)((vc) + (48UL)); - v45 = 80UL; - v46 = 5UL; - v47 = ((u (*)())(v43))(v44, v45, v46); + v15 = ((u(*)())v12)(v13, v14); + if (v15 != 0) goto b5; + v16 = (u)zas_modrm; + v17 = *(u*)(vc + 48); + v18 = 139; + v19 = 7; + v20 = 4; + v21 = 0; + v22 = 0; + v23 = 0; + v24 = ((u(*)())v16)(v17, v18, v19, v20, v21, v22, v23); + v25 = (u)zas_modrm; + v26 = *(u*)(vc + 48); + v27 = 141; + v28 = 6; + v29 = 4; + v30 = 0; + v31 = 0; + v32 = 8; + v33 = ((u(*)())v25)(v26, v27, v28, v29, v30, v31, v32); + v34 = (u)zas_modrm; + v35 = *(u*)(vc + 48); + v36 = 141; + v37 = 2; + v38 = 6; + v39 = 7; + v40 = 8; + v41 = 8; + v42 = ((u(*)())v34)(v35, v36, v37, v38, v39, v40, v41); + v43 = (u)zas_opr; + v44 = *(u*)(vc + 48); + v45 = 80; + v46 = 5; + v47 = ((u(*)())v43)(v44, v45, v46); b3: v55 = (u)zas_opr; - v56 = *(u *)((vic) + (8UL)); - v57 = 80UL; - v58 = 5UL; - v59 = ((u (*)())(v55))(v56, v57, v58); -b15: v60 = (u)zas_modrr; - v61 = *(u *)((vic) + (8UL)); - v62 = 139UL; - v63 = 5UL; - v64 = 4UL; - v65 = ((u (*)())(v60))(v61, v62, v63, v64); -b16: v66 = (u)zoutput_irvars; + v56 = *(u*)(vic + 8); + v57 = 80; + v58 = 5; + v59 = ((u(*)())v55)(v56, v57, v58); + v60 = (u)zas_modrr; + v61 = *(u*)(vic + 8); + v62 = 139; + v63 = 5; + v64 = 4; + v65 = ((u(*)())v60)(v61, v62, v63, v64); + v66 = (u)zoutput_irvars; v67 = vic; - v68 = ((u (*)())(v66))(v67); -b17: v69 = (u)zoutput_irblock; + v68 = ((u(*)())v66)(v67); + v69 = (u)zoutput_irblock; v70 = vic; - v71 = *(u *)(*(u *)((vic) + (64UL))); - v72 = ((u (*)())(v69))(v70, v71); -b18: v73 = (u)zirreset; - v74 = *(u *)(*(u *)((vic) + (64UL))); - v75 = ((u (*)())(v73))(v74); -b19: return 0UL; + v71 = *(u*)*(u*)(vic + 64); + v72 = ((u(*)())v69)(v70, v71); + v73 = (u)zirreset; + v74 = *(u*)*(u*)(vic + 64); + v75 = ((u(*)())v73)(v74); + return 0; b5: v48 = (u)zstrcmp; - v49 = *(u *)((vd) + (32UL)); + v49 = *(u*)(vd + 32); v50 = (u)"_kstart"; - v51 = ((u (*)())(v48))(v49, v50); -b13: if ((v51) != (0UL)) { goto b3; } -b11: v52 = (u)zemit_kstart; - v53 = *(u *)((vc) + (48UL)); - v54 = ((u (*)())(v52))(v53); + v51 = ((u(*)())v48)(v49, v50); + if (v51 != 0) goto b3; + v52 = (u)zemit_kstart; + v53 = *(u*)(vc + 48); + v54 = ((u(*)())v52)(v53); goto b3; } -u zoutput_irargs(u vic, u vb, u vo) { +u zoutput_irargs(u vic, u vb, u vo){ u vi = 0; u vop = 0; u v5 = 0; @@ -22440,78 +21951,77 @@ u zoutput_irargs(u vic, u vb, u vo) { u v52 = 0; u v53 = 0; u v54 = 0; -b0: vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vb) + (16UL)))) { goto b3; } -b4: return 0UL; -b3: vop = *(u *)((*(u *)((vb) + (8UL))) + ((vi) * (8UL))); - if ((*(u *)(vop)) != (8UL)) { goto b6; } -b7: v5 = (u)zoutput_irexpr; + vi = 0; +b1: if (vi != *(u*)(vb + 16)) goto b3; + return 0; +b3: vop = *(u*)(*(u*)(vb + 8) + vi * 8); + if (*(u*)vop != 8) goto b6; + v5 = (u)zoutput_irexpr; v6 = vic; v7 = vb; - v8 = *(u *)((vop) + (8UL)); - v9 = ((u (*)())(v5))(v6, v7, v8); -b9: if ((*(u *)((vop) + (24UL))) != (0UL)) { goto b12; } -b11: v10 = (u)zas_modrr; - v11 = *(u *)((vic) + (8UL)); - v12 = 139UL; - v13 = 7UL; - v14 = 0UL; - v15 = ((u (*)())(v10))(v11, v12, v13, v14); -b6: vi = (vi) + (1UL); + v8 = *(u*)(vop + 8); + v9 = ((u(*)())v5)(v6, v7, v8); + if (*(u*)(vop + 24) != 0) goto b12; + v10 = (u)zas_modrr; + v11 = *(u*)(vic + 8); + v12 = 139; + v13 = 7; + v14 = 0; + v15 = ((u(*)())v10)(v11, v12, v13, v14); +b6: vi = vi + 1; goto b1; -b12: if ((*(u *)((vop) + (24UL))) != (1UL)) { goto b15; } -b14: v16 = (u)zas_modrr; - v17 = *(u *)((vic) + (8UL)); - v18 = 139UL; - v19 = 6UL; - v20 = 0UL; - v21 = ((u (*)())(v16))(v17, v18, v19, v20); +b12: if (*(u*)(vop + 24) != 1) goto b15; + v16 = (u)zas_modrr; + v17 = *(u*)(vic + 8); + v18 = 139; + v19 = 6; + v20 = 0; + v21 = ((u(*)())v16)(v17, v18, v19, v20); goto b6; -b15: if ((*(u *)((vop) + (24UL))) != (2UL)) { goto b18; } -b17: v22 = (u)zas_modrr; - v23 = *(u *)((vic) + (8UL)); - v24 = 139UL; - v25 = 2UL; - v26 = 0UL; - v27 = ((u (*)())(v22))(v23, v24, v25, v26); +b15: if (*(u*)(vop + 24) != 2) goto b18; + v22 = (u)zas_modrr; + v23 = *(u*)(vic + 8); + v24 = 139; + v25 = 2; + v26 = 0; + v27 = ((u(*)())v22)(v23, v24, v25, v26); goto b6; -b18: if ((*(u *)((vop) + (24UL))) != (3UL)) { goto b21; } -b20: v28 = (u)zas_modrr; - v29 = *(u *)((vic) + (8UL)); - v30 = 139UL; - v31 = 1UL; - v32 = 0UL; - v33 = ((u (*)())(v28))(v29, v30, v31, v32); +b18: if (*(u*)(vop + 24) != 3) goto b21; + v28 = (u)zas_modrr; + v29 = *(u*)(vic + 8); + v30 = 139; + v31 = 1; + v32 = 0; + v33 = ((u(*)())v28)(v29, v30, v31, v32); goto b6; -b21: if ((*(u *)((vop) + (24UL))) != (4UL)) { goto b24; } -b23: v34 = (u)zas_modrr; - v35 = *(u *)((vic) + (8UL)); - v36 = 139UL; - v37 = 8UL; - v38 = 0UL; - v39 = ((u (*)())(v34))(v35, v36, v37, v38); +b21: if (*(u*)(vop + 24) != 4) goto b24; + v34 = (u)zas_modrr; + v35 = *(u*)(vic + 8); + v36 = 139; + v37 = 8; + v38 = 0; + v39 = ((u(*)())v34)(v35, v36, v37, v38); goto b6; -b24: if ((*(u *)((vop) + (24UL))) != (5UL)) { goto b27; } -b26: v40 = (u)zas_modrr; - v41 = *(u *)((vic) + (8UL)); - v42 = 139UL; - v43 = 9UL; - v44 = 0UL; - v45 = ((u (*)())(v40))(v41, v42, v43, v44); +b24: if (*(u*)(vop + 24) != 5) goto b27; + v40 = (u)zas_modrr; + v41 = *(u*)(vic + 8); + v42 = 139; + v43 = 9; + v44 = 0; + v45 = ((u(*)())v40)(v41, v42, v43, v44); goto b6; b27: v46 = (u)zas_modrm; - v47 = *(u *)((vic) + (8UL)); - v48 = 137UL; - v49 = 0UL; - v50 = 4UL; - v51 = 0UL; - v52 = 0UL; - v53 = ((*(u *)((vop) + (24UL))) - (6UL)) * (8UL); - v54 = ((u (*)())(v46))(v47, v48, v49, v50, v51, v52, v53); + v47 = *(u*)(vic + 8); + v48 = 137; + v49 = 0; + v50 = 4; + v51 = 0; + v52 = 0; + v53 = (*(u*)(vop + 24) - 6) * 8; + v54 = ((u(*)())v46)(v47, v48, v49, v50, v51, v52, v53); goto b6; } -u zoutput_irblock(u vic, u vb) { +u zoutput_irblock(u vic, u vb){ u vop = 0; u vi = 0; u v4 = 0; @@ -22528,35 +22038,33 @@ u zoutput_irblock(u vic, u vb) { u v15 = 0; u v16 = 0; u v17 = 0; -b0: *(u *)((vb) + (64UL)) = 1UL; - if (!(*(u *)((vb) + (32UL)))) { goto b5; } -b4: v4 = 0UL; - goto b6; -b6: if (!(v4)) { goto b1; } -b2: v5 = (u)zcdie; - v6 = *(u *)(vic); + *(u*)(vb + 64) = 1; + if (!*(u*)(vb + 32)) goto b5; + v4 = 0; +b6: if (!v4) goto b1; + v5 = (u)zcdie; + v6 = *(u*)vic; v7 = (u)"no return in function"; - v8 = ((u (*)())(v5))(v6, v7); + v8 = ((u(*)())v5)(v6, v7); b1: v9 = (u)zfixup_label; - v10 = *(u *)((vic) + (8UL)); - v11 = *(u *)((vb) + (56UL)); - v12 = ((u (*)())(v9))(v10, v11); -b8: vi = 0UL; - goto b9; -b9: if ((vi) != (*(u *)((vb) + (16UL)))) { goto b11; } -b10: return 0UL; -b11: vop = *(u *)((*(u *)((vb) + (8UL))) + ((vi) * (8UL))); + v10 = *(u*)(vic + 8); + v11 = *(u*)(vb + 56); + v12 = ((u(*)())v9)(v10, v11); + vi = 0; +b9: if (vi != *(u*)(vb + 16)) goto b11; + return 0; +b11: vop = *(u*)(*(u*)(vb + 8) + vi * 8); v13 = (u)zoutput_irstmt; v14 = vic; v15 = vb; v16 = vop; - v17 = ((u (*)())(v13))(v14, v15, v16); -b14: vi = (vi) + (1UL); + v17 = ((u(*)())v13)(v14, v15, v16); + vi = vi + 1; goto b9; -b5: v4 = 1UL; +b5: v4 = 1; goto b6; } -u zoutput_irexpr(u vic, u vb, u vo) { +u zoutput_irexpr(u vic, u vb, u vo){ u vkind = 0; u v4 = 0; u v5 = 0; @@ -23247,765 +22755,763 @@ u zoutput_irexpr(u vic, u vb, u vo) { u v690 = 0; u v691 = 0; u v692 = 0; -b0: if (!(vo)) { goto b5; } -b4: v4 = 0UL; - goto b6; -b6: if (!(v4)) { goto b1; } -b2: v5 = (u)zcdie; - v6 = *(u *)(vic); + if (!vo) goto b5; + v4 = 0; +b6: if (!v4) goto b1; + v5 = (u)zcdie; + v6 = *(u*)vic; v7 = (u)"no expr"; - v8 = ((u (*)())(v5))(v6, v7); -b1: vkind = *(u *)(vo); - if ((vkind) != (0UL)) { goto b10; } -b9: v9 = (u)zas_modrm; - v10 = *(u *)((vic) + (8UL)); - v11 = 139UL; - v12 = 0UL; - v13 = 5UL; - v14 = 0UL; - v15 = 0UL; - v16 = *(u *)((*(u *)((*(u *)((vic) + (112UL))) + ((*(u *)((vo) + (24UL))) * (8UL)))) + (40UL)); - v17 = ((u (*)())(v9))(v10, v11, v12, v13, v14, v15, v16); -b8: return 0UL; -b10: if ((vkind) != (1UL)) { goto b13; } -b12: v18 = (u)zas_modrm; - v19 = *(u *)((vic) + (8UL)); - v20 = 141UL; - v21 = 0UL; - v22 = 5UL; - v23 = 0UL; - v24 = 0UL; - v25 = *(u *)((*(u *)((*(u *)((vic) + (112UL))) + ((*(u *)((vo) + (24UL))) * (8UL)))) + (40UL)); - v26 = ((u (*)())(v18))(v19, v20, v21, v22, v23, v24, v25); + v8 = ((u(*)())v5)(v6, v7); +b1: vkind = *(u*)vo; + if (vkind != 0) goto b10; + v9 = (u)zas_modrm; + v10 = *(u*)(vic + 8); + v11 = 139; + v12 = 0; + v13 = 5; + v14 = 0; + v15 = 0; + v16 = *(u*)(*(u*)(*(u*)(vic + 112) + *(u*)(vo + 24) * 8) + 40); + v17 = ((u(*)())v9)(v10, v11, v12, v13, v14, v15, v16); +b8: return 0; +b10: if (vkind != 1) goto b13; + v18 = (u)zas_modrm; + v19 = *(u*)(vic + 8); + v20 = 141; + v21 = 0; + v22 = 5; + v23 = 0; + v24 = 0; + v25 = *(u*)(*(u*)(*(u*)(vic + 112) + *(u*)(vo + 24) * 8) + 40); + v26 = ((u(*)())v18)(v19, v20, v21, v22, v23, v24, v25); goto b8; -b13: if ((vkind) != (2UL)) { goto b16; } -b15: v27 = (u)zoutput_irfuncptr; +b13: if (vkind != 2) goto b16; + v27 = (u)zoutput_irfuncptr; v28 = vic; v29 = vb; v30 = vo; - v31 = ((u (*)())(v27))(v28, v29, v30); + v31 = ((u(*)())v27)(v28, v29, v30); goto b8; -b16: if ((vkind) != (3UL)) { goto b19; } -b18: if ((*(u *)((vo) + (24UL))) != (0UL)) { goto b22; } -b21: v32 = (u)zas_modrr; - v33 = *(u *)((vic) + (8UL)); - v34 = 51UL; - v35 = 0UL; - v36 = 0UL; - v37 = ((u (*)())(v32))(v33, v34, v35, v36); +b16: if (vkind != 3) goto b19; + if (*(u*)(vo + 24) != 0) goto b22; + v32 = (u)zas_modrr; + v33 = *(u*)(vic + 8); + v34 = 51; + v35 = 0; + v36 = 0; + v37 = ((u(*)())v32)(v33, v34, v35, v36); goto b8; -b22: if ((s)(*(u *)((vo) + (24UL))) >= (s)(2147483647UL)) { goto b27; } -b26: if ((s)(*(u *)((vo) + (24UL))) < (s)(-2147483648UL)) { goto b27; } -b28: v38 = 1UL; - goto b29; -b29: if (!(v38)) { goto b25; } -b24: v39 = (u)zas_modri; - v40 = *(u *)((vic) + (8UL)); - v41 = 199UL; - v42 = 0UL; - v43 = *(u *)((vo) + (24UL)); - v44 = ((u (*)())(v39))(v40, v41, v42, v43); +b22: if ((s)*(u*)(vo + 24) >= (s)2147483647UL) goto b27; + if ((s)*(u*)(vo + 24) < (s)-2147483648UL) goto b27; + v38 = 1; +b29: if (!v38) goto b25; + v39 = (u)zas_modri; + v40 = *(u*)(vic + 8); + v41 = 199; + v42 = 0; + v43 = *(u*)(vo + 24); + v44 = ((u(*)())v39)(v40, v41, v42, v43); goto b8; b25: v45 = (u)zas_opri64; - v46 = *(u *)((vic) + (8UL)); - v47 = 184UL; - v48 = 0UL; - v49 = *(u *)((vo) + (24UL)); - v50 = ((u (*)())(v45))(v46, v47, v48, v49); + v46 = *(u*)(vic + 8); + v47 = 184; + v48 = 0; + v49 = *(u*)(vo + 24); + v50 = ((u(*)())v45)(v46, v47, v48, v49); goto b8; -b27: v38 = 0UL; +b27: v38 = 0; goto b29; -b19: if ((vkind) != (4UL)) { goto b33; } -b32: v51 = (u)zoutput_irstr; +b19: if (vkind != 4) goto b33; + v51 = (u)zoutput_irstr; v52 = vic; v53 = vb; v54 = vo; - v55 = ((u (*)())(v51))(v52, v53, v54); + v55 = ((u(*)())v51)(v52, v53, v54); goto b8; -b33: if ((vkind) != (5UL)) { goto b36; } -b35: v56 = (u)zoutput_irexpr; +b33: if (vkind != 5) goto b36; + v56 = (u)zoutput_irexpr; v57 = vic; v58 = vb; - v59 = *(u *)((vo) + (8UL)); - v60 = ((u (*)())(v56))(v57, v58, v59); -b37: if ((*(u *)(*(u *)((vo) + (48UL)))) != (3UL)) { goto b40; } -b39: v61 = (u)zas_modrr; - v62 = *(u *)((vic) + (8UL)); - v63 = 139UL; - v64 = 6UL; - v65 = 0UL; - v66 = ((u (*)())(v61))(v62, v63, v64, v65); -b41: v67 = (u)zas_modrr; - v68 = *(u *)((vic) + (8UL)); - v69 = 51UL; - v70 = 0UL; - v71 = 0UL; - v72 = ((u (*)())(v67))(v68, v69, v70, v71); -b42: v73 = (u)zas_modrm; - v74 = *(u *)((vic) + (8UL)); - v75 = 138UL; - v76 = 0UL; - v77 = 6UL; - v78 = 0UL; - v79 = 0UL; - v80 = 0UL; - v81 = ((u (*)())(v73))(v74, v75, v76, v77, v78, v79, v80); + v59 = *(u*)(vo + 8); + v60 = ((u(*)())v56)(v57, v58, v59); + if (*(u*)*(u*)(vo + 48) != 3) goto b40; + v61 = (u)zas_modrr; + v62 = *(u*)(vic + 8); + v63 = 139; + v64 = 6; + v65 = 0; + v66 = ((u(*)())v61)(v62, v63, v64, v65); + v67 = (u)zas_modrr; + v68 = *(u*)(vic + 8); + v69 = 51; + v70 = 0; + v71 = 0; + v72 = ((u(*)())v67)(v68, v69, v70, v71); + v73 = (u)zas_modrm; + v74 = *(u*)(vic + 8); + v75 = 138; + v76 = 0; + v77 = 6; + v78 = 0; + v79 = 0; + v80 = 0; + v81 = ((u(*)())v73)(v74, v75, v76, v77, v78, v79, v80); goto b8; b40: v82 = (u)ztype_isprim; - v83 = *(u *)((vo) + (48UL)); - v84 = ((u (*)())(v82))(v83); -b46: if (!(v84)) { goto b45; } -b44: v85 = (u)zas_modrm; - v86 = *(u *)((vic) + (8UL)); - v87 = 139UL; - v88 = 0UL; - v89 = 0UL; - v90 = 0UL; - v91 = 0UL; - v92 = 0UL; - v93 = ((u (*)())(v85))(v86, v87, v88, v89, v90, v91, v92); + v83 = *(u*)(vo + 48); + v84 = ((u(*)())v82)(v83); + if (!v84) goto b45; + v85 = (u)zas_modrm; + v86 = *(u*)(vic + 8); + v87 = 139; + v88 = 0; + v89 = 0; + v90 = 0; + v91 = 0; + v92 = 0; + v93 = ((u(*)())v85)(v86, v87, v88, v89, v90, v91, v92); goto b8; b45: v94 = (u)zcdie; - v95 = *(u *)(vic); + v95 = *(u*)vic; v96 = (u)"invalid load"; - v97 = ((u (*)())(v94))(v95, v96); + v97 = ((u(*)())v94)(v95, v96); goto b8; -b36: if ((vkind) != (9UL)) { goto b50; } -b49: v98 = (u)zoutput_irexpr; +b36: if (vkind != 9) goto b50; + v98 = (u)zoutput_irexpr; v99 = vic; v100 = vb; - v101 = *(u *)((vo) + (8UL)); - v102 = ((u (*)())(v98))(v99, v100, v101); -b51: v103 = (u)zas_modr; - v104 = *(u *)((vic) + (8UL)); + v101 = *(u*)(vo + 8); + v102 = ((u(*)())v98)(v99, v100, v101); + v103 = (u)zas_modr; + v104 = *(u*)(vic + 8); v105 = 196855UL; - v106 = 0UL; - v107 = ((u (*)())(v103))(v104, v105, v106); + v106 = 0; + v107 = ((u(*)())v103)(v104, v105, v106); goto b8; -b50: if ((vkind) != (10UL)) { goto b54; } -b53: v108 = (u)zoutput_irexpr; +b50: if (vkind != 10) goto b54; + v108 = (u)zoutput_irexpr; v109 = vic; v110 = vb; - v111 = *(u *)((vo) + (8UL)); - v112 = ((u (*)())(v108))(v109, v110, v111); -b55: v113 = (u)zas_modr; - v114 = *(u *)((vic) + (8UL)); + v111 = *(u*)(vo + 8); + v112 = ((u(*)())v108)(v109, v110, v111); + v113 = (u)zas_modr; + v114 = *(u*)(vic + 8); v115 = 131319UL; - v116 = 0UL; - v117 = ((u (*)())(v113))(v114, v115, v116); + v116 = 0; + v117 = ((u(*)())v113)(v114, v115, v116); goto b8; -b54: if ((vkind) != (11UL)) { goto b58; } -b57: v118 = (u)zoutput_irexpr; +b54: if (vkind != 11) goto b58; + v118 = (u)zoutput_irexpr; v119 = vic; v120 = vb; - v121 = *(u *)((vo) + (16UL)); - v122 = ((u (*)())(v118))(v119, v120, v121); -b59: v123 = (u)zas_opr; - v124 = *(u *)((vic) + (8UL)); - v125 = 80UL; - v126 = 0UL; - v127 = ((u (*)())(v123))(v124, v125, v126); -b60: v128 = (u)zoutput_irexpr; + v121 = *(u*)(vo + 16); + v122 = ((u(*)())v118)(v119, v120, v121); + v123 = (u)zas_opr; + v124 = *(u*)(vic + 8); + v125 = 80; + v126 = 0; + v127 = ((u(*)())v123)(v124, v125, v126); + v128 = (u)zoutput_irexpr; v129 = vic; v130 = vb; - v131 = *(u *)((vo) + (8UL)); - v132 = ((u (*)())(v128))(v129, v130, v131); -b61: v133 = (u)zas_opr; - v134 = *(u *)((vic) + (8UL)); - v135 = 88UL; - v136 = 1UL; - v137 = ((u (*)())(v133))(v134, v135, v136); -b62: v138 = (u)zas_modrr; - v139 = *(u *)((vic) + (8UL)); - v140 = 3UL; - v141 = 0UL; - v142 = 1UL; - v143 = ((u (*)())(v138))(v139, v140, v141, v142); + v131 = *(u*)(vo + 8); + v132 = ((u(*)())v128)(v129, v130, v131); + v133 = (u)zas_opr; + v134 = *(u*)(vic + 8); + v135 = 88; + v136 = 1; + v137 = ((u(*)())v133)(v134, v135, v136); + v138 = (u)zas_modrr; + v139 = *(u*)(vic + 8); + v140 = 3; + v141 = 0; + v142 = 1; + v143 = ((u(*)())v138)(v139, v140, v141, v142); goto b8; -b58: if ((vkind) != (12UL)) { goto b65; } -b64: v144 = (u)zoutput_irexpr; +b58: if (vkind != 12) goto b65; + v144 = (u)zoutput_irexpr; v145 = vic; v146 = vb; - v147 = *(u *)((vo) + (16UL)); - v148 = ((u (*)())(v144))(v145, v146, v147); -b66: v149 = (u)zas_opr; - v150 = *(u *)((vic) + (8UL)); - v151 = 80UL; - v152 = 0UL; - v153 = ((u (*)())(v149))(v150, v151, v152); -b67: v154 = (u)zoutput_irexpr; + v147 = *(u*)(vo + 16); + v148 = ((u(*)())v144)(v145, v146, v147); + v149 = (u)zas_opr; + v150 = *(u*)(vic + 8); + v151 = 80; + v152 = 0; + v153 = ((u(*)())v149)(v150, v151, v152); + v154 = (u)zoutput_irexpr; v155 = vic; v156 = vb; - v157 = *(u *)((vo) + (8UL)); - v158 = ((u (*)())(v154))(v155, v156, v157); -b68: v159 = (u)zas_opr; - v160 = *(u *)((vic) + (8UL)); - v161 = 88UL; - v162 = 1UL; - v163 = ((u (*)())(v159))(v160, v161, v162); -b69: v164 = (u)zas_modrr; - v165 = *(u *)((vic) + (8UL)); - v166 = 35UL; - v167 = 0UL; - v168 = 1UL; - v169 = ((u (*)())(v164))(v165, v166, v167, v168); + v157 = *(u*)(vo + 8); + v158 = ((u(*)())v154)(v155, v156, v157); + v159 = (u)zas_opr; + v160 = *(u*)(vic + 8); + v161 = 88; + v162 = 1; + v163 = ((u(*)())v159)(v160, v161, v162); + v164 = (u)zas_modrr; + v165 = *(u*)(vic + 8); + v166 = 35; + v167 = 0; + v168 = 1; + v169 = ((u(*)())v164)(v165, v166, v167, v168); goto b8; -b65: if ((vkind) != (13UL)) { goto b72; } -b71: v170 = (u)zoutput_irexpr; +b65: if (vkind != 13) goto b72; + v170 = (u)zoutput_irexpr; v171 = vic; v172 = vb; - v173 = *(u *)((vo) + (16UL)); - v174 = ((u (*)())(v170))(v171, v172, v173); -b73: v175 = (u)zas_opr; - v176 = *(u *)((vic) + (8UL)); - v177 = 80UL; - v178 = 0UL; - v179 = ((u (*)())(v175))(v176, v177, v178); -b74: v180 = (u)zoutput_irexpr; + v173 = *(u*)(vo + 16); + v174 = ((u(*)())v170)(v171, v172, v173); + v175 = (u)zas_opr; + v176 = *(u*)(vic + 8); + v177 = 80; + v178 = 0; + v179 = ((u(*)())v175)(v176, v177, v178); + v180 = (u)zoutput_irexpr; v181 = vic; v182 = vb; - v183 = *(u *)((vo) + (8UL)); - v184 = ((u (*)())(v180))(v181, v182, v183); -b75: v185 = (u)zas_opr; - v186 = *(u *)((vic) + (8UL)); - v187 = 88UL; - v188 = 1UL; - v189 = ((u (*)())(v185))(v186, v187, v188); -b76: v190 = (u)zas_modrr; - v191 = *(u *)((vic) + (8UL)); - v192 = 11UL; - v193 = 0UL; - v194 = 1UL; - v195 = ((u (*)())(v190))(v191, v192, v193, v194); + v183 = *(u*)(vo + 8); + v184 = ((u(*)())v180)(v181, v182, v183); + v185 = (u)zas_opr; + v186 = *(u*)(vic + 8); + v187 = 88; + v188 = 1; + v189 = ((u(*)())v185)(v186, v187, v188); + v190 = (u)zas_modrr; + v191 = *(u*)(vic + 8); + v192 = 11; + v193 = 0; + v194 = 1; + v195 = ((u(*)())v190)(v191, v192, v193, v194); goto b8; -b72: if ((vkind) != (14UL)) { goto b79; } -b78: v196 = (u)zoutput_irexpr; +b72: if (vkind != 14) goto b79; + v196 = (u)zoutput_irexpr; v197 = vic; v198 = vb; - v199 = *(u *)((vo) + (16UL)); - v200 = ((u (*)())(v196))(v197, v198, v199); -b80: v201 = (u)zas_opr; - v202 = *(u *)((vic) + (8UL)); - v203 = 80UL; - v204 = 0UL; - v205 = ((u (*)())(v201))(v202, v203, v204); -b81: v206 = (u)zoutput_irexpr; + v199 = *(u*)(vo + 16); + v200 = ((u(*)())v196)(v197, v198, v199); + v201 = (u)zas_opr; + v202 = *(u*)(vic + 8); + v203 = 80; + v204 = 0; + v205 = ((u(*)())v201)(v202, v203, v204); + v206 = (u)zoutput_irexpr; v207 = vic; v208 = vb; - v209 = *(u *)((vo) + (8UL)); - v210 = ((u (*)())(v206))(v207, v208, v209); -b82: v211 = (u)zas_opr; - v212 = *(u *)((vic) + (8UL)); - v213 = 88UL; - v214 = 1UL; - v215 = ((u (*)())(v211))(v212, v213, v214); -b83: v216 = (u)zas_modrr; - v217 = *(u *)((vic) + (8UL)); - v218 = 51UL; - v219 = 0UL; - v220 = 1UL; - v221 = ((u (*)())(v216))(v217, v218, v219, v220); + v209 = *(u*)(vo + 8); + v210 = ((u(*)())v206)(v207, v208, v209); + v211 = (u)zas_opr; + v212 = *(u*)(vic + 8); + v213 = 88; + v214 = 1; + v215 = ((u(*)())v211)(v212, v213, v214); + v216 = (u)zas_modrr; + v217 = *(u*)(vic + 8); + v218 = 51; + v219 = 0; + v220 = 1; + v221 = ((u(*)())v216)(v217, v218, v219, v220); goto b8; -b79: if ((vkind) != (15UL)) { goto b86; } -b85: v222 = (u)zoutput_irexpr; +b79: if (vkind != 15) goto b86; + v222 = (u)zoutput_irexpr; v223 = vic; v224 = vb; - v225 = *(u *)((vo) + (16UL)); - v226 = ((u (*)())(v222))(v223, v224, v225); -b87: v227 = (u)zas_opr; - v228 = *(u *)((vic) + (8UL)); - v229 = 80UL; - v230 = 0UL; - v231 = ((u (*)())(v227))(v228, v229, v230); -b88: v232 = (u)zoutput_irexpr; + v225 = *(u*)(vo + 16); + v226 = ((u(*)())v222)(v223, v224, v225); + v227 = (u)zas_opr; + v228 = *(u*)(vic + 8); + v229 = 80; + v230 = 0; + v231 = ((u(*)())v227)(v228, v229, v230); + v232 = (u)zoutput_irexpr; v233 = vic; v234 = vb; - v235 = *(u *)((vo) + (8UL)); - v236 = ((u (*)())(v232))(v233, v234, v235); -b89: v237 = (u)zas_opr; - v238 = *(u *)((vic) + (8UL)); - v239 = 88UL; - v240 = 1UL; - v241 = ((u (*)())(v237))(v238, v239, v240); -b90: v242 = (u)zas_modrr; - v243 = *(u *)((vic) + (8UL)); - v244 = 51UL; - v245 = 2UL; - v246 = 2UL; - v247 = ((u (*)())(v242))(v243, v244, v245, v246); -b91: v248 = (u)zas_modrr; - v249 = *(u *)((vic) + (8UL)); - v250 = 133UL; - v251 = 0UL; - v252 = 0UL; - v253 = ((u (*)())(v248))(v249, v250, v251, v252); -b92: v254 = (u)zas_modrr; - v255 = *(u *)((vic) + (8UL)); - v256 = 3992UL; - v257 = 0UL; - v258 = 2UL; - v259 = ((u (*)())(v254))(v255, v256, v257, v258); -b93: v260 = (u)zas_modr; - v261 = *(u *)((vic) + (8UL)); + v235 = *(u*)(vo + 8); + v236 = ((u(*)())v232)(v233, v234, v235); + v237 = (u)zas_opr; + v238 = *(u*)(vic + 8); + v239 = 88; + v240 = 1; + v241 = ((u(*)())v237)(v238, v239, v240); + v242 = (u)zas_modrr; + v243 = *(u*)(vic + 8); + v244 = 51; + v245 = 2; + v246 = 2; + v247 = ((u(*)())v242)(v243, v244, v245, v246); + v248 = (u)zas_modrr; + v249 = *(u*)(vic + 8); + v250 = 133; + v251 = 0; + v252 = 0; + v253 = ((u(*)())v248)(v249, v250, v251, v252); + v254 = (u)zas_modrr; + v255 = *(u*)(vic + 8); + v256 = 3992; + v257 = 0; + v258 = 2; + v259 = ((u(*)())v254)(v255, v256, v257, v258); + v260 = (u)zas_modr; + v261 = *(u*)(vic + 8); v262 = 196855UL; - v263 = 2UL; - v264 = ((u (*)())(v260))(v261, v262, v263); -b94: v265 = (u)zas_modr; - v266 = *(u *)((vic) + (8UL)); + v263 = 2; + v264 = ((u(*)())v260)(v261, v262, v263); + v265 = (u)zas_modr; + v266 = *(u*)(vic + 8); v267 = 458999UL; - v268 = 1UL; - v269 = ((u (*)())(v265))(v266, v267, v268); + v268 = 1; + v269 = ((u(*)())v265)(v266, v267, v268); goto b8; -b86: if ((vkind) != (16UL)) { goto b97; } -b96: v270 = (u)zoutput_irexpr; +b86: if (vkind != 16) goto b97; + v270 = (u)zoutput_irexpr; v271 = vic; v272 = vb; - v273 = *(u *)((vo) + (16UL)); - v274 = ((u (*)())(v270))(v271, v272, v273); -b98: v275 = (u)zas_opr; - v276 = *(u *)((vic) + (8UL)); - v277 = 80UL; - v278 = 0UL; - v279 = ((u (*)())(v275))(v276, v277, v278); -b99: v280 = (u)zoutput_irexpr; + v273 = *(u*)(vo + 16); + v274 = ((u(*)())v270)(v271, v272, v273); + v275 = (u)zas_opr; + v276 = *(u*)(vic + 8); + v277 = 80; + v278 = 0; + v279 = ((u(*)())v275)(v276, v277, v278); + v280 = (u)zoutput_irexpr; v281 = vic; v282 = vb; - v283 = *(u *)((vo) + (8UL)); - v284 = ((u (*)())(v280))(v281, v282, v283); -b100: v285 = (u)zas_opr; - v286 = *(u *)((vic) + (8UL)); - v287 = 88UL; - v288 = 1UL; - v289 = ((u (*)())(v285))(v286, v287, v288); -b101: v290 = (u)zas_modrr; - v291 = *(u *)((vic) + (8UL)); - v292 = 51UL; - v293 = 2UL; - v294 = 2UL; - v295 = ((u (*)())(v290))(v291, v292, v293, v294); -b102: v296 = (u)zas_modrr; - v297 = *(u *)((vic) + (8UL)); - v298 = 133UL; - v299 = 0UL; - v300 = 0UL; - v301 = ((u (*)())(v296))(v297, v298, v299, v300); -b103: v302 = (u)zas_modrr; - v303 = *(u *)((vic) + (8UL)); - v304 = 3992UL; - v305 = 0UL; - v306 = 2UL; - v307 = ((u (*)())(v302))(v303, v304, v305, v306); -b104: v308 = (u)zas_modr; - v309 = *(u *)((vic) + (8UL)); + v283 = *(u*)(vo + 8); + v284 = ((u(*)())v280)(v281, v282, v283); + v285 = (u)zas_opr; + v286 = *(u*)(vic + 8); + v287 = 88; + v288 = 1; + v289 = ((u(*)())v285)(v286, v287, v288); + v290 = (u)zas_modrr; + v291 = *(u*)(vic + 8); + v292 = 51; + v293 = 2; + v294 = 2; + v295 = ((u(*)())v290)(v291, v292, v293, v294); + v296 = (u)zas_modrr; + v297 = *(u*)(vic + 8); + v298 = 133; + v299 = 0; + v300 = 0; + v301 = ((u(*)())v296)(v297, v298, v299, v300); + v302 = (u)zas_modrr; + v303 = *(u*)(vic + 8); + v304 = 3992; + v305 = 0; + v306 = 2; + v307 = ((u(*)())v302)(v303, v304, v305, v306); + v308 = (u)zas_modr; + v309 = *(u*)(vic + 8); v310 = 196855UL; - v311 = 2UL; - v312 = ((u (*)())(v308))(v309, v310, v311); -b105: v313 = (u)zas_modr; - v314 = *(u *)((vic) + (8UL)); + v311 = 2; + v312 = ((u(*)())v308)(v309, v310, v311); + v313 = (u)zas_modr; + v314 = *(u*)(vic + 8); v315 = 458999UL; - v316 = 1UL; - v317 = ((u (*)())(v313))(v314, v315, v316); -b106: v318 = (u)zas_modrr; - v319 = *(u *)((vic) + (8UL)); - v320 = 139UL; - v321 = 0UL; - v322 = 2UL; - v323 = ((u (*)())(v318))(v319, v320, v321, v322); + v316 = 1; + v317 = ((u(*)())v313)(v314, v315, v316); + v318 = (u)zas_modrr; + v319 = *(u*)(vic + 8); + v320 = 139; + v321 = 0; + v322 = 2; + v323 = ((u(*)())v318)(v319, v320, v321, v322); goto b8; -b97: if ((vkind) != (17UL)) { goto b109; } -b108: v324 = (u)zoutput_irexpr; +b97: if (vkind != 17) goto b109; + v324 = (u)zoutput_irexpr; v325 = vic; v326 = vb; - v327 = *(u *)((vo) + (16UL)); - v328 = ((u (*)())(v324))(v325, v326, v327); -b110: v329 = (u)zas_opr; - v330 = *(u *)((vic) + (8UL)); - v331 = 80UL; - v332 = 0UL; - v333 = ((u (*)())(v329))(v330, v331, v332); -b111: v334 = (u)zoutput_irexpr; + v327 = *(u*)(vo + 16); + v328 = ((u(*)())v324)(v325, v326, v327); + v329 = (u)zas_opr; + v330 = *(u*)(vic + 8); + v331 = 80; + v332 = 0; + v333 = ((u(*)())v329)(v330, v331, v332); + v334 = (u)zoutput_irexpr; v335 = vic; v336 = vb; - v337 = *(u *)((vo) + (8UL)); - v338 = ((u (*)())(v334))(v335, v336, v337); -b112: v339 = (u)zas_opr; - v340 = *(u *)((vic) + (8UL)); - v341 = 88UL; - v342 = 1UL; - v343 = ((u (*)())(v339))(v340, v341, v342); -b113: v344 = (u)zas_modr; - v345 = *(u *)((vic) + (8UL)); + v337 = *(u*)(vo + 8); + v338 = ((u(*)())v334)(v335, v336, v337); + v339 = (u)zas_opr; + v340 = *(u*)(vic + 8); + v341 = 88; + v342 = 1; + v343 = ((u(*)())v339)(v340, v341, v342); + v344 = (u)zas_modr; + v345 = *(u*)(vic + 8); v346 = 262355UL; - v347 = 0UL; - v348 = ((u (*)())(v344))(v345, v346, v347); + v347 = 0; + v348 = ((u(*)())v344)(v345, v346, v347); goto b8; -b109: if ((vkind) != (18UL)) { goto b116; } -b115: v349 = (u)zoutput_irexpr; +b109: if (vkind != 18) goto b116; + v349 = (u)zoutput_irexpr; v350 = vic; v351 = vb; - v352 = *(u *)((vo) + (16UL)); - v353 = ((u (*)())(v349))(v350, v351, v352); -b117: v354 = (u)zas_opr; - v355 = *(u *)((vic) + (8UL)); - v356 = 80UL; - v357 = 0UL; - v358 = ((u (*)())(v354))(v355, v356, v357); -b118: v359 = (u)zoutput_irexpr; + v352 = *(u*)(vo + 16); + v353 = ((u(*)())v349)(v350, v351, v352); + v354 = (u)zas_opr; + v355 = *(u*)(vic + 8); + v356 = 80; + v357 = 0; + v358 = ((u(*)())v354)(v355, v356, v357); + v359 = (u)zoutput_irexpr; v360 = vic; v361 = vb; - v362 = *(u *)((vo) + (8UL)); - v363 = ((u (*)())(v359))(v360, v361, v362); -b119: v364 = (u)zas_opr; - v365 = *(u *)((vic) + (8UL)); - v366 = 88UL; - v367 = 1UL; - v368 = ((u (*)())(v364))(v365, v366, v367); -b120: v369 = (u)zas_modr; - v370 = *(u *)((vic) + (8UL)); + v362 = *(u*)(vo + 8); + v363 = ((u(*)())v359)(v360, v361, v362); + v364 = (u)zas_opr; + v365 = *(u*)(vic + 8); + v366 = 88; + v367 = 1; + v368 = ((u(*)())v364)(v365, v366, v367); + v369 = (u)zas_modr; + v370 = *(u*)(vic + 8); v371 = 327891UL; - v372 = 0UL; - v373 = ((u (*)())(v369))(v370, v371, v372); + v372 = 0; + v373 = ((u(*)())v369)(v370, v371, v372); goto b8; -b116: if ((vkind) != (19UL)) { goto b123; } -b122: v374 = (u)zoutput_irexpr; +b116: if (vkind != 19) goto b123; + v374 = (u)zoutput_irexpr; v375 = vic; v376 = vb; - v377 = *(u *)((vo) + (16UL)); - v378 = ((u (*)())(v374))(v375, v376, v377); -b124: v379 = (u)zas_opr; - v380 = *(u *)((vic) + (8UL)); - v381 = 80UL; - v382 = 0UL; - v383 = ((u (*)())(v379))(v380, v381, v382); -b125: v384 = (u)zoutput_irexpr; + v377 = *(u*)(vo + 16); + v378 = ((u(*)())v374)(v375, v376, v377); + v379 = (u)zas_opr; + v380 = *(u*)(vic + 8); + v381 = 80; + v382 = 0; + v383 = ((u(*)())v379)(v380, v381, v382); + v384 = (u)zoutput_irexpr; v385 = vic; v386 = vb; - v387 = *(u *)((vo) + (8UL)); - v388 = ((u (*)())(v384))(v385, v386, v387); -b126: v389 = (u)zas_opr; - v390 = *(u *)((vic) + (8UL)); - v391 = 88UL; - v392 = 1UL; - v393 = ((u (*)())(v389))(v390, v391, v392); -b127: v394 = (u)zas_modr; - v395 = *(u *)((vic) + (8UL)); + v387 = *(u*)(vo + 8); + v388 = ((u(*)())v384)(v385, v386, v387); + v389 = (u)zas_opr; + v390 = *(u*)(vic + 8); + v391 = 88; + v392 = 1; + v393 = ((u(*)())v389)(v390, v391, v392); + v394 = (u)zas_modr; + v395 = *(u*)(vic + 8); v396 = 262391UL; - v397 = 1UL; - v398 = ((u (*)())(v394))(v395, v396, v397); + v397 = 1; + v398 = ((u(*)())v394)(v395, v396, v397); goto b8; -b123: if ((vkind) != (20UL)) { goto b130; } -b129: v399 = (u)zoutput_irexpr; +b123: if (vkind != 20) goto b130; + v399 = (u)zoutput_irexpr; v400 = vic; v401 = vb; - v402 = *(u *)((vo) + (16UL)); - v403 = ((u (*)())(v399))(v400, v401, v402); -b131: v404 = (u)zas_opr; - v405 = *(u *)((vic) + (8UL)); - v406 = 80UL; - v407 = 0UL; - v408 = ((u (*)())(v404))(v405, v406, v407); -b132: v409 = (u)zoutput_irexpr; + v402 = *(u*)(vo + 16); + v403 = ((u(*)())v399)(v400, v401, v402); + v404 = (u)zas_opr; + v405 = *(u*)(vic + 8); + v406 = 80; + v407 = 0; + v408 = ((u(*)())v404)(v405, v406, v407); + v409 = (u)zoutput_irexpr; v410 = vic; v411 = vb; - v412 = *(u *)((vo) + (8UL)); - v413 = ((u (*)())(v409))(v410, v411, v412); -b133: v414 = (u)zas_opr; - v415 = *(u *)((vic) + (8UL)); - v416 = 88UL; - v417 = 1UL; - v418 = ((u (*)())(v414))(v415, v416, v417); -b134: v419 = (u)zas_modrr; - v420 = *(u *)((vic) + (8UL)); - v421 = 43UL; - v422 = 0UL; - v423 = 1UL; - v424 = ((u (*)())(v419))(v420, v421, v422, v423); + v412 = *(u*)(vo + 8); + v413 = ((u(*)())v409)(v410, v411, v412); + v414 = (u)zas_opr; + v415 = *(u*)(vic + 8); + v416 = 88; + v417 = 1; + v418 = ((u(*)())v414)(v415, v416, v417); + v419 = (u)zas_modrr; + v420 = *(u*)(vic + 8); + v421 = 43; + v422 = 0; + v423 = 1; + v424 = ((u(*)())v419)(v420, v421, v422, v423); goto b8; -b130: if ((vkind) != (21UL)) { goto b137; } -b136: v425 = (u)zoutput_irexpr; +b130: if (vkind != 21) goto b137; + v425 = (u)zoutput_irexpr; v426 = vic; v427 = vb; - v428 = *(u *)((vo) + (16UL)); - v429 = ((u (*)())(v425))(v426, v427, v428); -b138: v430 = (u)zas_opr; - v431 = *(u *)((vic) + (8UL)); - v432 = 80UL; - v433 = 0UL; - v434 = ((u (*)())(v430))(v431, v432, v433); -b139: v435 = (u)zoutput_irexpr; + v428 = *(u*)(vo + 16); + v429 = ((u(*)())v425)(v426, v427, v428); + v430 = (u)zas_opr; + v431 = *(u*)(vic + 8); + v432 = 80; + v433 = 0; + v434 = ((u(*)())v430)(v431, v432, v433); + v435 = (u)zoutput_irexpr; v436 = vic; v437 = vb; - v438 = *(u *)((vo) + (8UL)); - v439 = ((u (*)())(v435))(v436, v437, v438); -b140: v440 = (u)zas_opr; - v441 = *(u *)((vic) + (8UL)); - v442 = 88UL; - v443 = 1UL; - v444 = ((u (*)())(v440))(v441, v442, v443); -b141: v445 = (u)zas_modrr; - v446 = *(u *)((vic) + (8UL)); - v447 = 139UL; - v448 = 2UL; - v449 = 0UL; - v450 = ((u (*)())(v445))(v446, v447, v448, v449); -b142: v451 = (u)zas_modrr; - v452 = *(u *)((vic) + (8UL)); - v453 = 51UL; - v454 = 0UL; - v455 = 0UL; - v456 = ((u (*)())(v451))(v452, v453, v454, v455); -b143: v457 = (u)zas_modrr; - v458 = *(u *)((vic) + (8UL)); - v459 = 59UL; - v460 = 2UL; - v461 = 1UL; - v462 = ((u (*)())(v457))(v458, v459, v460, v461); -b144: v463 = (u)zas_modrr; - v464 = *(u *)((vic) + (8UL)); - v465 = 3988UL; - v466 = 0UL; - v467 = 0UL; - v468 = ((u (*)())(v463))(v464, v465, v466, v467); + v438 = *(u*)(vo + 8); + v439 = ((u(*)())v435)(v436, v437, v438); + v440 = (u)zas_opr; + v441 = *(u*)(vic + 8); + v442 = 88; + v443 = 1; + v444 = ((u(*)())v440)(v441, v442, v443); + v445 = (u)zas_modrr; + v446 = *(u*)(vic + 8); + v447 = 139; + v448 = 2; + v449 = 0; + v450 = ((u(*)())v445)(v446, v447, v448, v449); + v451 = (u)zas_modrr; + v452 = *(u*)(vic + 8); + v453 = 51; + v454 = 0; + v455 = 0; + v456 = ((u(*)())v451)(v452, v453, v454, v455); + v457 = (u)zas_modrr; + v458 = *(u*)(vic + 8); + v459 = 59; + v460 = 2; + v461 = 1; + v462 = ((u(*)())v457)(v458, v459, v460, v461); + v463 = (u)zas_modrr; + v464 = *(u*)(vic + 8); + v465 = 3988; + v466 = 0; + v467 = 0; + v468 = ((u(*)())v463)(v464, v465, v466, v467); goto b8; -b137: if ((vkind) != (22UL)) { goto b147; } -b146: v469 = (u)zoutput_irexpr; +b137: if (vkind != 22) goto b147; + v469 = (u)zoutput_irexpr; v470 = vic; v471 = vb; - v472 = *(u *)((vo) + (16UL)); - v473 = ((u (*)())(v469))(v470, v471, v472); -b148: v474 = (u)zas_opr; - v475 = *(u *)((vic) + (8UL)); - v476 = 80UL; - v477 = 0UL; - v478 = ((u (*)())(v474))(v475, v476, v477); -b149: v479 = (u)zoutput_irexpr; + v472 = *(u*)(vo + 16); + v473 = ((u(*)())v469)(v470, v471, v472); + v474 = (u)zas_opr; + v475 = *(u*)(vic + 8); + v476 = 80; + v477 = 0; + v478 = ((u(*)())v474)(v475, v476, v477); + v479 = (u)zoutput_irexpr; v480 = vic; v481 = vb; - v482 = *(u *)((vo) + (8UL)); - v483 = ((u (*)())(v479))(v480, v481, v482); -b150: v484 = (u)zas_opr; - v485 = *(u *)((vic) + (8UL)); - v486 = 88UL; - v487 = 1UL; - v488 = ((u (*)())(v484))(v485, v486, v487); -b151: v489 = (u)zas_modrr; - v490 = *(u *)((vic) + (8UL)); - v491 = 139UL; - v492 = 2UL; - v493 = 0UL; - v494 = ((u (*)())(v489))(v490, v491, v492, v493); -b152: v495 = (u)zas_modrr; - v496 = *(u *)((vic) + (8UL)); - v497 = 51UL; - v498 = 0UL; - v499 = 0UL; - v500 = ((u (*)())(v495))(v496, v497, v498, v499); -b153: v501 = (u)zas_modrr; - v502 = *(u *)((vic) + (8UL)); - v503 = 59UL; - v504 = 2UL; - v505 = 1UL; - v506 = ((u (*)())(v501))(v502, v503, v504, v505); -b154: v507 = (u)zas_modrr; - v508 = *(u *)((vic) + (8UL)); - v509 = 3989UL; - v510 = 0UL; - v511 = 0UL; - v512 = ((u (*)())(v507))(v508, v509, v510, v511); + v482 = *(u*)(vo + 8); + v483 = ((u(*)())v479)(v480, v481, v482); + v484 = (u)zas_opr; + v485 = *(u*)(vic + 8); + v486 = 88; + v487 = 1; + v488 = ((u(*)())v484)(v485, v486, v487); + v489 = (u)zas_modrr; + v490 = *(u*)(vic + 8); + v491 = 139; + v492 = 2; + v493 = 0; + v494 = ((u(*)())v489)(v490, v491, v492, v493); + v495 = (u)zas_modrr; + v496 = *(u*)(vic + 8); + v497 = 51; + v498 = 0; + v499 = 0; + v500 = ((u(*)())v495)(v496, v497, v498, v499); + v501 = (u)zas_modrr; + v502 = *(u*)(vic + 8); + v503 = 59; + v504 = 2; + v505 = 1; + v506 = ((u(*)())v501)(v502, v503, v504, v505); + v507 = (u)zas_modrr; + v508 = *(u*)(vic + 8); + v509 = 3989; + v510 = 0; + v511 = 0; + v512 = ((u(*)())v507)(v508, v509, v510, v511); goto b8; -b147: if ((vkind) != (23UL)) { goto b157; } -b156: v513 = (u)zoutput_irexpr; +b147: if (vkind != 23) goto b157; + v513 = (u)zoutput_irexpr; v514 = vic; v515 = vb; - v516 = *(u *)((vo) + (16UL)); - v517 = ((u (*)())(v513))(v514, v515, v516); -b158: v518 = (u)zas_opr; - v519 = *(u *)((vic) + (8UL)); - v520 = 80UL; - v521 = 0UL; - v522 = ((u (*)())(v518))(v519, v520, v521); -b159: v523 = (u)zoutput_irexpr; + v516 = *(u*)(vo + 16); + v517 = ((u(*)())v513)(v514, v515, v516); + v518 = (u)zas_opr; + v519 = *(u*)(vic + 8); + v520 = 80; + v521 = 0; + v522 = ((u(*)())v518)(v519, v520, v521); + v523 = (u)zoutput_irexpr; v524 = vic; v525 = vb; - v526 = *(u *)((vo) + (8UL)); - v527 = ((u (*)())(v523))(v524, v525, v526); -b160: v528 = (u)zas_opr; - v529 = *(u *)((vic) + (8UL)); - v530 = 88UL; - v531 = 1UL; - v532 = ((u (*)())(v528))(v529, v530, v531); -b161: v533 = (u)zas_modrr; - v534 = *(u *)((vic) + (8UL)); - v535 = 139UL; - v536 = 2UL; - v537 = 0UL; - v538 = ((u (*)())(v533))(v534, v535, v536, v537); -b162: v539 = (u)zas_modrr; - v540 = *(u *)((vic) + (8UL)); - v541 = 51UL; - v542 = 0UL; - v543 = 0UL; - v544 = ((u (*)())(v539))(v540, v541, v542, v543); -b163: v545 = (u)zas_modrr; - v546 = *(u *)((vic) + (8UL)); - v547 = 59UL; - v548 = 2UL; - v549 = 1UL; - v550 = ((u (*)())(v545))(v546, v547, v548, v549); -b164: v551 = (u)zas_modrr; - v552 = *(u *)((vic) + (8UL)); - v553 = 3999UL; - v554 = 0UL; - v555 = 0UL; - v556 = ((u (*)())(v551))(v552, v553, v554, v555); + v526 = *(u*)(vo + 8); + v527 = ((u(*)())v523)(v524, v525, v526); + v528 = (u)zas_opr; + v529 = *(u*)(vic + 8); + v530 = 88; + v531 = 1; + v532 = ((u(*)())v528)(v529, v530, v531); + v533 = (u)zas_modrr; + v534 = *(u*)(vic + 8); + v535 = 139; + v536 = 2; + v537 = 0; + v538 = ((u(*)())v533)(v534, v535, v536, v537); + v539 = (u)zas_modrr; + v540 = *(u*)(vic + 8); + v541 = 51; + v542 = 0; + v543 = 0; + v544 = ((u(*)())v539)(v540, v541, v542, v543); + v545 = (u)zas_modrr; + v546 = *(u*)(vic + 8); + v547 = 59; + v548 = 2; + v549 = 1; + v550 = ((u(*)())v545)(v546, v547, v548, v549); + v551 = (u)zas_modrr; + v552 = *(u*)(vic + 8); + v553 = 3999; + v554 = 0; + v555 = 0; + v556 = ((u(*)())v551)(v552, v553, v554, v555); goto b8; -b157: if ((vkind) != (24UL)) { goto b167; } -b166: v557 = (u)zoutput_irexpr; +b157: if (vkind != 24) goto b167; + v557 = (u)zoutput_irexpr; v558 = vic; v559 = vb; - v560 = *(u *)((vo) + (16UL)); - v561 = ((u (*)())(v557))(v558, v559, v560); -b168: v562 = (u)zas_opr; - v563 = *(u *)((vic) + (8UL)); - v564 = 80UL; - v565 = 0UL; - v566 = ((u (*)())(v562))(v563, v564, v565); -b169: v567 = (u)zoutput_irexpr; + v560 = *(u*)(vo + 16); + v561 = ((u(*)())v557)(v558, v559, v560); + v562 = (u)zas_opr; + v563 = *(u*)(vic + 8); + v564 = 80; + v565 = 0; + v566 = ((u(*)())v562)(v563, v564, v565); + v567 = (u)zoutput_irexpr; v568 = vic; v569 = vb; - v570 = *(u *)((vo) + (8UL)); - v571 = ((u (*)())(v567))(v568, v569, v570); -b170: v572 = (u)zas_opr; - v573 = *(u *)((vic) + (8UL)); - v574 = 88UL; - v575 = 1UL; - v576 = ((u (*)())(v572))(v573, v574, v575); -b171: v577 = (u)zas_modrr; - v578 = *(u *)((vic) + (8UL)); - v579 = 139UL; - v580 = 2UL; - v581 = 0UL; - v582 = ((u (*)())(v577))(v578, v579, v580, v581); -b172: v583 = (u)zas_modrr; - v584 = *(u *)((vic) + (8UL)); - v585 = 51UL; - v586 = 0UL; - v587 = 0UL; - v588 = ((u (*)())(v583))(v584, v585, v586, v587); -b173: v589 = (u)zas_modrr; - v590 = *(u *)((vic) + (8UL)); - v591 = 59UL; - v592 = 2UL; - v593 = 1UL; - v594 = ((u (*)())(v589))(v590, v591, v592, v593); -b174: v595 = (u)zas_modrr; - v596 = *(u *)((vic) + (8UL)); - v597 = 3997UL; - v598 = 0UL; - v599 = 0UL; - v600 = ((u (*)())(v595))(v596, v597, v598, v599); + v570 = *(u*)(vo + 8); + v571 = ((u(*)())v567)(v568, v569, v570); + v572 = (u)zas_opr; + v573 = *(u*)(vic + 8); + v574 = 88; + v575 = 1; + v576 = ((u(*)())v572)(v573, v574, v575); + v577 = (u)zas_modrr; + v578 = *(u*)(vic + 8); + v579 = 139; + v580 = 2; + v581 = 0; + v582 = ((u(*)())v577)(v578, v579, v580, v581); + v583 = (u)zas_modrr; + v584 = *(u*)(vic + 8); + v585 = 51; + v586 = 0; + v587 = 0; + v588 = ((u(*)())v583)(v584, v585, v586, v587); + v589 = (u)zas_modrr; + v590 = *(u*)(vic + 8); + v591 = 59; + v592 = 2; + v593 = 1; + v594 = ((u(*)())v589)(v590, v591, v592, v593); + v595 = (u)zas_modrr; + v596 = *(u*)(vic + 8); + v597 = 3997; + v598 = 0; + v599 = 0; + v600 = ((u(*)())v595)(v596, v597, v598, v599); goto b8; -b167: if ((vkind) != (25UL)) { goto b177; } -b176: v601 = (u)zoutput_irexpr; +b167: if (vkind != 25) goto b177; + v601 = (u)zoutput_irexpr; v602 = vic; v603 = vb; - v604 = *(u *)((vo) + (16UL)); - v605 = ((u (*)())(v601))(v602, v603, v604); -b178: v606 = (u)zas_opr; - v607 = *(u *)((vic) + (8UL)); - v608 = 80UL; - v609 = 0UL; - v610 = ((u (*)())(v606))(v607, v608, v609); -b179: v611 = (u)zoutput_irexpr; + v604 = *(u*)(vo + 16); + v605 = ((u(*)())v601)(v602, v603, v604); + v606 = (u)zas_opr; + v607 = *(u*)(vic + 8); + v608 = 80; + v609 = 0; + v610 = ((u(*)())v606)(v607, v608, v609); + v611 = (u)zoutput_irexpr; v612 = vic; v613 = vb; - v614 = *(u *)((vo) + (8UL)); - v615 = ((u (*)())(v611))(v612, v613, v614); -b180: v616 = (u)zas_opr; - v617 = *(u *)((vic) + (8UL)); - v618 = 88UL; - v619 = 1UL; - v620 = ((u (*)())(v616))(v617, v618, v619); -b181: v621 = (u)zas_modrr; - v622 = *(u *)((vic) + (8UL)); - v623 = 139UL; - v624 = 2UL; - v625 = 0UL; - v626 = ((u (*)())(v621))(v622, v623, v624, v625); -b182: v627 = (u)zas_modrr; - v628 = *(u *)((vic) + (8UL)); - v629 = 51UL; - v630 = 0UL; - v631 = 0UL; - v632 = ((u (*)())(v627))(v628, v629, v630, v631); -b183: v633 = (u)zas_modrr; - v634 = *(u *)((vic) + (8UL)); - v635 = 59UL; - v636 = 2UL; - v637 = 1UL; - v638 = ((u (*)())(v633))(v634, v635, v636, v637); -b184: v639 = (u)zas_modrr; - v640 = *(u *)((vic) + (8UL)); - v641 = 3996UL; - v642 = 0UL; - v643 = 0UL; - v644 = ((u (*)())(v639))(v640, v641, v642, v643); + v614 = *(u*)(vo + 8); + v615 = ((u(*)())v611)(v612, v613, v614); + v616 = (u)zas_opr; + v617 = *(u*)(vic + 8); + v618 = 88; + v619 = 1; + v620 = ((u(*)())v616)(v617, v618, v619); + v621 = (u)zas_modrr; + v622 = *(u*)(vic + 8); + v623 = 139; + v624 = 2; + v625 = 0; + v626 = ((u(*)())v621)(v622, v623, v624, v625); + v627 = (u)zas_modrr; + v628 = *(u*)(vic + 8); + v629 = 51; + v630 = 0; + v631 = 0; + v632 = ((u(*)())v627)(v628, v629, v630, v631); + v633 = (u)zas_modrr; + v634 = *(u*)(vic + 8); + v635 = 59; + v636 = 2; + v637 = 1; + v638 = ((u(*)())v633)(v634, v635, v636, v637); + v639 = (u)zas_modrr; + v640 = *(u*)(vic + 8); + v641 = 3996; + v642 = 0; + v643 = 0; + v644 = ((u(*)())v639)(v640, v641, v642, v643); goto b8; -b177: if ((vkind) != (26UL)) { goto b187; } -b186: v645 = (u)zoutput_irexpr; +b177: if (vkind != 26) goto b187; + v645 = (u)zoutput_irexpr; v646 = vic; v647 = vb; - v648 = *(u *)((vo) + (16UL)); - v649 = ((u (*)())(v645))(v646, v647, v648); -b188: v650 = (u)zas_opr; - v651 = *(u *)((vic) + (8UL)); - v652 = 80UL; - v653 = 0UL; - v654 = ((u (*)())(v650))(v651, v652, v653); -b189: v655 = (u)zoutput_irexpr; + v648 = *(u*)(vo + 16); + v649 = ((u(*)())v645)(v646, v647, v648); + v650 = (u)zas_opr; + v651 = *(u*)(vic + 8); + v652 = 80; + v653 = 0; + v654 = ((u(*)())v650)(v651, v652, v653); + v655 = (u)zoutput_irexpr; v656 = vic; v657 = vb; - v658 = *(u *)((vo) + (8UL)); - v659 = ((u (*)())(v655))(v656, v657, v658); -b190: v660 = (u)zas_opr; - v661 = *(u *)((vic) + (8UL)); - v662 = 88UL; - v663 = 1UL; - v664 = ((u (*)())(v660))(v661, v662, v663); -b191: v665 = (u)zas_modrr; - v666 = *(u *)((vic) + (8UL)); - v667 = 139UL; - v668 = 2UL; - v669 = 0UL; - v670 = ((u (*)())(v665))(v666, v667, v668, v669); -b192: v671 = (u)zas_modrr; - v672 = *(u *)((vic) + (8UL)); - v673 = 51UL; - v674 = 0UL; - v675 = 0UL; - v676 = ((u (*)())(v671))(v672, v673, v674, v675); -b193: v677 = (u)zas_modrr; - v678 = *(u *)((vic) + (8UL)); - v679 = 59UL; - v680 = 2UL; - v681 = 1UL; - v682 = ((u (*)())(v677))(v678, v679, v680, v681); -b194: v683 = (u)zas_modrr; - v684 = *(u *)((vic) + (8UL)); - v685 = 3998UL; - v686 = 0UL; - v687 = 0UL; - v688 = ((u (*)())(v683))(v684, v685, v686, v687); + v658 = *(u*)(vo + 8); + v659 = ((u(*)())v655)(v656, v657, v658); + v660 = (u)zas_opr; + v661 = *(u*)(vic + 8); + v662 = 88; + v663 = 1; + v664 = ((u(*)())v660)(v661, v662, v663); + v665 = (u)zas_modrr; + v666 = *(u*)(vic + 8); + v667 = 139; + v668 = 2; + v669 = 0; + v670 = ((u(*)())v665)(v666, v667, v668, v669); + v671 = (u)zas_modrr; + v672 = *(u*)(vic + 8); + v673 = 51; + v674 = 0; + v675 = 0; + v676 = ((u(*)())v671)(v672, v673, v674, v675); + v677 = (u)zas_modrr; + v678 = *(u*)(vic + 8); + v679 = 59; + v680 = 2; + v681 = 1; + v682 = ((u(*)())v677)(v678, v679, v680, v681); + v683 = (u)zas_modrr; + v684 = *(u*)(vic + 8); + v685 = 3998; + v686 = 0; + v687 = 0; + v688 = ((u(*)())v683)(v684, v685, v686, v687); goto b8; b187: v689 = (u)zcdie; - v690 = *(u *)(vic); + v690 = *(u*)vic; v691 = (u)"invalid op"; - v692 = ((u (*)())(v689))(v690, v691); + v692 = ((u(*)())v689)(v690, v691); goto b8; -b5: v4 = 1UL; +b5: v4 = 1; goto b6; } -u zoutput_irfuncptr(u vic, u vb, u vo) { +u zoutput_irfuncptr(u vic, u vb, u vo){ u vd = 0; u v4 = 0; u v5 = 0; @@ -24037,56 +23543,53 @@ u zoutput_irfuncptr(u vic, u vb, u vo) { u v31 = 0; u v32 = 0; u v33 = 0; -b0: v4 = (u)zfind; - v5 = *(u *)(vic); - v6 = *(u *)((vo) + (32UL)); - v7 = 0UL; - v8 = 0UL; - v9 = ((u (*)())(v4))(v5, v6, v7, v8); -b1: vd = v9; - if (!(vd)) { goto b10; } -b9: v11 = 0UL; - goto b11; -b11: if (!(v11)) { goto b6; } -b5: v10 = 1UL; - goto b8; -b8: if (!(v10)) { goto b2; } -b3: v13 = (u)zcdie; - v14 = *(u *)(vic); + v4 = (u)zfind; + v5 = *(u*)vic; + v6 = *(u*)(vo + 32); + v7 = 0; + v8 = 0; + v9 = ((u(*)())v4)(v5, v6, v7, v8); + vd = v9; + if (!vd) goto b10; + v11 = 0; +b11: if (!v11) goto b6; + v10 = 1; +b8: if (!v10) goto b2; + v13 = (u)zcdie; + v14 = *(u*)vic; v15 = (u)"no such function"; - v16 = ((u (*)())(v13))(v14, v15); + v16 = ((u(*)())v13)(v14, v15); b2: v17 = (u)zreserve; - v18 = *(u *)((vic) + (8UL)); - v19 = 16UL; - v20 = ((u (*)())(v17))(v18, v19); -b17: v21 = (u)zas_modrm; - v22 = *(u *)((vic) + (8UL)); - v23 = 141UL; - v24 = 0UL; - v25 = 16UL; - v26 = 0UL; - v27 = 0UL; - v28 = 128UL; - v29 = ((u (*)())(v21))(v22, v23, v24, v25, v26, v27, v28); -b18: v30 = (u)zaddfixup; - v31 = *(u *)((vic) + (8UL)); - v32 = *(u *)((vd) + (88UL)); - v33 = ((u (*)())(v30))(v31, v32); -b19: return 0UL; -b6: if (!(*(u *)((vd) + (72UL)))) { goto b14; } -b13: v12 = 0UL; - goto b15; -b15: if (!(v12)) { goto b12; } -b7: v10 = 1UL; + v18 = *(u*)(vic + 8); + v19 = 16; + v20 = ((u(*)())v17)(v18, v19); + v21 = (u)zas_modrm; + v22 = *(u*)(vic + 8); + v23 = 141; + v24 = 0; + v25 = 16; + v26 = 0; + v27 = 0; + v28 = 128; + v29 = ((u(*)())v21)(v22, v23, v24, v25, v26, v27, v28); + v30 = (u)zaddfixup; + v31 = *(u*)(vic + 8); + v32 = *(u*)(vd + 88); + v33 = ((u(*)())v30)(v31, v32); + return 0; +b6: if (!*(u*)(vd + 72)) goto b14; + v12 = 0; +b15: if (!v12) goto b12; + v10 = 1; goto b8; -b12: v10 = 0UL; +b12: v10 = 0; goto b8; -b14: v12 = 1UL; +b14: v12 = 1; goto b15; -b10: v11 = 1UL; +b10: v11 = 1; goto b11; } -u zoutput_irretval(u vic, u vb, u vo) { +u zoutput_irretval(u vic, u vb, u vo){ u vi = 0; u vop = 0; u v5 = 0; @@ -24137,76 +23640,75 @@ u zoutput_irretval(u vic, u vb, u vo) { u v50 = 0; u v51 = 0; u v52 = 0; -b0: vop = 0UL; - vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vb) + (16UL)))) { goto b3; } -b4: return 0UL; -b3: vop = *(u *)((*(u *)((vb) + (8UL))) + ((vi) * (8UL))); - if ((*(u *)(vop)) != (7UL)) { goto b6; } -b2: if ((*(u *)(*(u *)((vop) + (48UL)))) != (1UL)) { goto b9; } -b10: return 0UL; + vop = 0; + vi = 0; +b1: if (vi != *(u*)(vb + 16)) goto b3; + return 0; +b3: vop = *(u*)(*(u*)(vb + 8) + vi * 8); + if (*(u*)vop != 7) goto b6; + if (*(u*)*(u*)(vop + 48) != 1) goto b9; + return 0; b9: v5 = (u)zas_modrr; - v6 = *(u *)((vic) + (8UL)); - v7 = 139UL; - v8 = 7UL; - v9 = 0UL; - v10 = ((u (*)())(v5))(v6, v7, v8, v9); -b12: if ((*(u *)(*(u *)((vop) + (8UL)))) != (5UL)) { goto b15; } -b14: v11 = (u)zoutput_irexpr; + v6 = *(u*)(vic + 8); + v7 = 139; + v8 = 7; + v9 = 0; + v10 = ((u(*)())v5)(v6, v7, v8, v9); + if (*(u*)*(u*)(vop + 8) != 5) goto b15; + v11 = (u)zoutput_irexpr; v12 = vic; v13 = vb; - v14 = *(u *)((*(u *)((vop) + (8UL))) + (8UL)); - v15 = ((u (*)())(v11))(v12, v13, v14); -b13: if ((*(u *)(*(u *)((vop) + (48UL)))) != (3UL)) { goto b23; } -b22: v28 = (u)zas_modrm; - v29 = *(u *)((vic) + (8UL)); - v30 = 136UL; - v31 = 7UL; - v32 = 0UL; - v33 = 0UL; - v34 = 0UL; - v35 = 0UL; - v36 = ((u (*)())(v28))(v29, v30, v31, v32, v33, v34, v35); -b21: return 0UL; + v14 = *(u*)(*(u*)(vop + 8) + 8); + v15 = ((u(*)())v11)(v12, v13, v14); +b13: if (*(u*)*(u*)(vop + 48) != 3) goto b23; + v28 = (u)zas_modrm; + v29 = *(u*)(vic + 8); + v30 = 136; + v31 = 7; + v32 = 0; + v33 = 0; + v34 = 0; + v35 = 0; + v36 = ((u(*)())v28)(v29, v30, v31, v32, v33, v34, v35); +b21: return 0; b23: v37 = (u)ztype_isprim; - v38 = *(u *)((vop) + (48UL)); - v39 = ((u (*)())(v37))(v38); -b27: if (!(v39)) { goto b26; } -b25: v40 = (u)zas_modrm; - v41 = *(u *)((vic) + (8UL)); - v42 = 137UL; - v43 = 7UL; - v44 = 0UL; - v45 = 0UL; - v46 = 0UL; - v47 = 0UL; - v48 = ((u (*)())(v40))(v41, v42, v43, v44, v45, v46, v47); + v38 = *(u*)(vop + 48); + v39 = ((u(*)())v37)(v38); + if (!v39) goto b26; + v40 = (u)zas_modrm; + v41 = *(u*)(vic + 8); + v42 = 137; + v43 = 7; + v44 = 0; + v45 = 0; + v46 = 0; + v47 = 0; + v48 = ((u(*)())v40)(v41, v42, v43, v44, v45, v46, v47); goto b21; b26: v49 = (u)zcdie; - v50 = *(u *)(vic); + v50 = *(u*)vic; v51 = (u)"invalid store"; - v52 = ((u (*)())(v49))(v50, v51); + v52 = ((u(*)())v49)(v50, v51); goto b21; -b15: if ((*(u *)(*(u *)((vop) + (8UL)))) != (0UL)) { goto b18; } -b17: v16 = (u)zas_modrm; - v17 = *(u *)((vic) + (8UL)); - v18 = 141UL; - v19 = 0UL; - v20 = 5UL; - v21 = 0UL; - v22 = 0UL; - v23 = *(u *)((*(u *)((*(u *)((vic) + (112UL))) + ((*(u *)((*(u *)((vop) + (8UL))) + (24UL))) * (8UL)))) + (40UL)); - v24 = ((u (*)())(v16))(v17, v18, v19, v20, v21, v22, v23); +b15: if (*(u*)*(u*)(vop + 8) != 0) goto b18; + v16 = (u)zas_modrm; + v17 = *(u*)(vic + 8); + v18 = 141; + v19 = 0; + v20 = 5; + v21 = 0; + v22 = 0; + v23 = *(u*)(*(u*)(*(u*)(vic + 112) + *(u*)(*(u*)(vop + 8) + 24) * 8) + 40); + v24 = ((u(*)())v16)(v17, v18, v19, v20, v21, v22, v23); goto b13; b18: v25 = (u)zdie; v26 = (u)"invalid store"; - v27 = ((u (*)())(v25))(v26); + v27 = ((u(*)())v25)(v26); goto b13; -b6: vi = (vi) + (1UL); +b6: vi = vi + 1; goto b1; } -u zoutput_irstmt(u vic, u vb, u vo) { +u zoutput_irstmt(u vic, u vb, u vo){ u vkind = 0; u v4 = 0; u v5 = 0; @@ -24370,213 +23872,212 @@ u zoutput_irstmt(u vic, u vb, u vo) { u v163 = 0; u v164 = 0; u v165 = 0; -b0: *(u *)((*(u *)(vic)) + (24UL)) = *(u *)((vo) + (64UL)); - *(u *)((*(u *)(vic)) + (32UL)) = *(u *)((vo) + (72UL)); - *(u *)((*(u *)(vic)) + (40UL)) = *(u *)((vo) + (80UL)); - *(u *)((*(u *)((vic) + (8UL))) + (88UL)) = *(u *)((vo) + (64UL)); - *(u *)((*(u *)((vic) + (8UL))) + (96UL)) = *(u *)((vo) + (72UL)); - vkind = *(u *)(vo); - if ((vkind) != (6UL)) { goto b3; } -b2: if ((*(u *)(*(u *)((vo) + (8UL)))) != (5UL)) { goto b6; } -b5: v4 = (u)zoutput_irexpr; + *(u*)(*(u*)vic + 24) = *(u*)(vo + 64); + *(u*)(*(u*)vic + 32) = *(u*)(vo + 72); + *(u*)(*(u*)vic + 40) = *(u*)(vo + 80); + *(u*)(*(u*)(vic + 8) + 88) = *(u*)(vo + 64); + *(u*)(*(u*)(vic + 8) + 96) = *(u*)(vo + 72); + vkind = *(u*)vo; + if (vkind != 6) goto b3; + if (*(u*)*(u*)(vo + 8) != 5) goto b6; + v4 = (u)zoutput_irexpr; v5 = vic; v6 = vb; - v7 = *(u *)((*(u *)((vo) + (8UL))) + (8UL)); - v8 = ((u (*)())(v4))(v5, v6, v7); + v7 = *(u*)(*(u*)(vo + 8) + 8); + v8 = ((u(*)())v4)(v5, v6, v7); b4: v21 = (u)zas_opr; - v22 = *(u *)((vic) + (8UL)); - v23 = 80UL; - v24 = 0UL; - v25 = ((u (*)())(v21))(v22, v23, v24); -b12: v26 = (u)zoutput_irexpr; + v22 = *(u*)(vic + 8); + v23 = 80; + v24 = 0; + v25 = ((u(*)())v21)(v22, v23, v24); + v26 = (u)zoutput_irexpr; v27 = vic; v28 = vb; - v29 = *(u *)((vo) + (16UL)); - v30 = ((u (*)())(v26))(v27, v28, v29); -b13: v31 = (u)zas_opr; - v32 = *(u *)((vic) + (8UL)); - v33 = 88UL; - v34 = 7UL; - v35 = ((u (*)())(v31))(v32, v33, v34); -b14: if ((*(u *)(*(u *)((vo) + (48UL)))) != (3UL)) { goto b17; } -b16: v36 = (u)zas_modrm; - v37 = *(u *)((vic) + (8UL)); - v38 = 136UL; - v39 = 0UL; - v40 = 7UL; - v41 = 0UL; - v42 = 0UL; - v43 = 0UL; - v44 = ((u (*)())(v36))(v37, v38, v39, v40, v41, v42, v43); -b1: return 0UL; + v29 = *(u*)(vo + 16); + v30 = ((u(*)())v26)(v27, v28, v29); + v31 = (u)zas_opr; + v32 = *(u*)(vic + 8); + v33 = 88; + v34 = 7; + v35 = ((u(*)())v31)(v32, v33, v34); + if (*(u*)*(u*)(vo + 48) != 3) goto b17; + v36 = (u)zas_modrm; + v37 = *(u*)(vic + 8); + v38 = 136; + v39 = 0; + v40 = 7; + v41 = 0; + v42 = 0; + v43 = 0; + v44 = ((u(*)())v36)(v37, v38, v39, v40, v41, v42, v43); +b1: return 0; b17: v45 = (u)ztype_isprim; - v46 = *(u *)((vo) + (48UL)); - v47 = ((u (*)())(v45))(v46); -b21: if (!(v47)) { goto b20; } -b19: v48 = (u)zas_modrm; - v49 = *(u *)((vic) + (8UL)); - v50 = 137UL; - v51 = 0UL; - v52 = 7UL; - v53 = 0UL; - v54 = 0UL; - v55 = 0UL; - v56 = ((u (*)())(v48))(v49, v50, v51, v52, v53, v54, v55); + v46 = *(u*)(vo + 48); + v47 = ((u(*)())v45)(v46); + if (!v47) goto b20; + v48 = (u)zas_modrm; + v49 = *(u*)(vic + 8); + v50 = 137; + v51 = 0; + v52 = 7; + v53 = 0; + v54 = 0; + v55 = 0; + v56 = ((u(*)())v48)(v49, v50, v51, v52, v53, v54, v55); goto b1; b20: v57 = (u)zcdie; - v58 = *(u *)(vic); + v58 = *(u*)vic; v59 = (u)"invalid store"; - v60 = ((u (*)())(v57))(v58, v59); + v60 = ((u(*)())v57)(v58, v59); goto b1; -b6: if ((*(u *)(*(u *)((vo) + (8UL)))) != (0UL)) { goto b9; } -b8: v9 = (u)zas_modrm; - v10 = *(u *)((vic) + (8UL)); - v11 = 141UL; - v12 = 0UL; - v13 = 5UL; - v14 = 0UL; - v15 = 0UL; - v16 = *(u *)((*(u *)((*(u *)((vic) + (112UL))) + ((*(u *)((*(u *)((vo) + (8UL))) + (24UL))) * (8UL)))) + (40UL)); - v17 = ((u (*)())(v9))(v10, v11, v12, v13, v14, v15, v16); +b6: if (*(u*)*(u*)(vo + 8) != 0) goto b9; + v9 = (u)zas_modrm; + v10 = *(u*)(vic + 8); + v11 = 141; + v12 = 0; + v13 = 5; + v14 = 0; + v15 = 0; + v16 = *(u*)(*(u*)(*(u*)(vic + 112) + *(u*)(*(u*)(vo + 8) + 24) * 8) + 40); + v17 = ((u(*)())v9)(v10, v11, v12, v13, v14, v15, v16); goto b4; b9: v18 = (u)zdie; v19 = (u)"invalid store"; - v20 = ((u (*)())(v18))(v19); + v20 = ((u(*)())v18)(v19); goto b4; -b3: if ((vkind) != (7UL)) { goto b25; } +b3: if (vkind != 7) goto b25; goto b1; -b25: if ((vkind) != (8UL)) { goto b27; } +b25: if (vkind != 8) goto b27; goto b1; -b27: if ((vkind) != (27UL)) { goto b29; } -b28: if ((s)(*(u *)((vo) + (24UL))) <= (s)(6UL)) { goto b30; } -b31: v61 = (u)zas_modri; - v62 = *(u *)((vic) + (8UL)); +b27: if (vkind != 27) goto b29; + if ((s)*(u*)(vo + 24) <= (s)6) goto b30; + v61 = (u)zas_modri; + v62 = *(u*)(vic + 8); v63 = 327809UL; - v64 = 4UL; - v65 = ((*(u *)((vo) + (24UL))) - (6UL)) * (8UL); - v66 = ((u (*)())(v61))(v62, v63, v64, v65); + v64 = 4; + v65 = (*(u*)(vo + 24) - 6) * 8; + v66 = ((u(*)())v61)(v62, v63, v64, v65); b30: v67 = (u)zoutput_irargs; v68 = vic; v69 = vb; v70 = vo; - v71 = ((u (*)())(v67))(v68, v69, v70); -b34: v72 = (u)zoutput_irexpr; + v71 = ((u(*)())v67)(v68, v69, v70); + v72 = (u)zoutput_irexpr; v73 = vic; v74 = vb; - v75 = *(u *)((vo) + (8UL)); - v76 = ((u (*)())(v72))(v73, v74, v75); -b35: v77 = (u)zas_modr; - v78 = *(u *)((vic) + (8UL)); + v75 = *(u*)(vo + 8); + v76 = ((u(*)())v72)(v73, v74, v75); + v77 = (u)zas_modr; + v78 = *(u*)(vic + 8); v79 = 131327UL; - v80 = 0UL; - v81 = ((u (*)())(v77))(v78, v79, v80); -b36: if ((s)(*(u *)((vo) + (24UL))) <= (s)(6UL)) { goto b37; } -b38: v82 = (u)zas_modri; - v83 = *(u *)((vic) + (8UL)); - v84 = 129UL; - v85 = 4UL; - v86 = ((*(u *)((vo) + (24UL))) - (6UL)) * (8UL); - v87 = ((u (*)())(v82))(v83, v84, v85, v86); + v80 = 0; + v81 = ((u(*)())v77)(v78, v79, v80); + if ((s)*(u*)(vo + 24) <= (s)6) goto b37; + v82 = (u)zas_modri; + v83 = *(u*)(vic + 8); + v84 = 129; + v85 = 4; + v86 = (*(u*)(vo + 24) - 6) * 8; + v87 = ((u(*)())v82)(v83, v84, v85, v86); b37: v88 = (u)zoutput_irretval; v89 = vic; v90 = vb; v91 = vo; - v92 = ((u (*)())(v88))(v89, v90, v91); -b41: if (!(*(u *)((*(u *)((vb) + (40UL))) + (64UL)))) { goto b44; } -b43: v93 = (u)zas_jmp; - v94 = *(u *)((vic) + (8UL)); - v95 = 233UL; - v96 = *(u *)((*(u *)((vb) + (40UL))) + (56UL)); - v97 = ((u (*)())(v93))(v94, v95, v96); -b42: return 0UL; + v92 = ((u(*)())v88)(v89, v90, v91); + if (!*(u*)(*(u*)(vb + 40) + 64)) goto b44; + v93 = (u)zas_jmp; + v94 = *(u*)(vic + 8); + v95 = 233; + v96 = *(u*)(*(u*)(vb + 40) + 56); + v97 = ((u(*)())v93)(v94, v95, v96); +b42: return 0; b44: v98 = (u)zoutput_irblock; v99 = vic; - v100 = *(u *)((vb) + (40UL)); - v101 = ((u (*)())(v98))(v99, v100); + v100 = *(u*)(vb + 40); + v101 = ((u(*)())v98)(v99, v100); goto b42; -b29: if ((vkind) != (28UL)) { goto b48; } -b47: if (!(*(u *)((*(u *)((vb) + (40UL))) + (64UL)))) { goto b51; } -b50: v102 = (u)zas_jmp; - v103 = *(u *)((vic) + (8UL)); - v104 = 233UL; - v105 = *(u *)((*(u *)((vb) + (40UL))) + (56UL)); - v106 = ((u (*)())(v102))(v103, v104, v105); -b49: return 0UL; +b29: if (vkind != 28) goto b48; + if (!*(u*)(*(u*)(vb + 40) + 64)) goto b51; + v102 = (u)zas_jmp; + v103 = *(u*)(vic + 8); + v104 = 233; + v105 = *(u*)(*(u*)(vb + 40) + 56); + v106 = ((u(*)())v102)(v103, v104, v105); +b49: return 0; b51: v107 = (u)zoutput_irblock; v108 = vic; - v109 = *(u *)((vb) + (40UL)); - v110 = ((u (*)())(v107))(v108, v109); + v109 = *(u*)(vb + 40); + v110 = ((u(*)())v107)(v108, v109); goto b49; -b48: if ((vkind) != (29UL)) { goto b55; } -b54: v111 = (u)zoutput_irexpr; +b48: if (vkind != 29) goto b55; + v111 = (u)zoutput_irexpr; v112 = vic; v113 = vb; - v114 = *(u *)((vo) + (8UL)); - v115 = ((u (*)())(v111))(v112, v113, v114); -b56: v116 = (u)zas_modrr; - v117 = *(u *)((vic) + (8UL)); - v118 = 133UL; - v119 = 0UL; - v120 = 0UL; - v121 = ((u (*)())(v116))(v117, v118, v119, v120); -b57: v122 = (u)zas_jmp; - v123 = *(u *)((vic) + (8UL)); - v124 = 3972UL; - v125 = *(u *)((*(u *)((vb) + (48UL))) + (56UL)); - v126 = ((u (*)())(v122))(v123, v124, v125); -b58: if (!(*(u *)((*(u *)((vb) + (40UL))) + (64UL)))) { goto b61; } -b60: v127 = (u)zas_jmp; - v128 = *(u *)((vic) + (8UL)); - v129 = 3973UL; - v130 = *(u *)((*(u *)((vb) + (40UL))) + (56UL)); - v131 = ((u (*)())(v127))(v128, v129, v130); -b59: if (!(*(u *)((*(u *)((vb) + (48UL))) + (64UL)))) { goto b68; } -b67: v136 = 0UL; - goto b69; -b69: if (!(v136)) { goto b64; } -b65: v137 = (u)zoutput_irblock; + v114 = *(u*)(vo + 8); + v115 = ((u(*)())v111)(v112, v113, v114); + v116 = (u)zas_modrr; + v117 = *(u*)(vic + 8); + v118 = 133; + v119 = 0; + v120 = 0; + v121 = ((u(*)())v116)(v117, v118, v119, v120); + v122 = (u)zas_jmp; + v123 = *(u*)(vic + 8); + v124 = 3972; + v125 = *(u*)(*(u*)(vb + 48) + 56); + v126 = ((u(*)())v122)(v123, v124, v125); + if (!*(u*)(*(u*)(vb + 40) + 64)) goto b61; + v127 = (u)zas_jmp; + v128 = *(u*)(vic + 8); + v129 = 3973; + v130 = *(u*)(*(u*)(vb + 40) + 56); + v131 = ((u(*)())v127)(v128, v129, v130); +b59: if (!*(u*)(*(u*)(vb + 48) + 64)) goto b68; + v136 = 0; +b69: if (!v136) goto b64; + v137 = (u)zoutput_irblock; v138 = vic; - v139 = *(u *)((vb) + (48UL)); - v140 = ((u (*)())(v137))(v138, v139); -b64: return 0UL; -b68: v136 = 1UL; + v139 = *(u*)(vb + 48); + v140 = ((u(*)())v137)(v138, v139); +b64: return 0; +b68: v136 = 1; goto b69; b61: v132 = (u)zoutput_irblock; v133 = vic; - v134 = *(u *)((vb) + (40UL)); - v135 = ((u (*)())(v132))(v133, v134); + v134 = *(u*)(vb + 40); + v135 = ((u(*)())v132)(v133, v134); goto b59; -b55: if ((vkind) != (30UL)) { goto b72; } -b71: if (!(*(u *)((vo) + (8UL)))) { goto b73; } -b74: v141 = (u)zoutput_irexpr; +b55: if (vkind != 30) goto b72; + if (!*(u*)(vo + 8)) goto b73; + v141 = (u)zoutput_irexpr; v142 = vic; v143 = vb; - v144 = *(u *)((vo) + (8UL)); - v145 = ((u (*)())(v141))(v142, v143, v144); + v144 = *(u*)(vo + 8); + v145 = ((u(*)())v141)(v142, v143, v144); b73: v146 = (u)zas_modrr; - v147 = *(u *)((vic) + (8UL)); - v148 = 139UL; - v149 = 4UL; - v150 = 5UL; - v151 = ((u (*)())(v146))(v147, v148, v149, v150); -b77: v152 = (u)zas_opr; - v153 = *(u *)((vic) + (8UL)); - v154 = 88UL; - v155 = 5UL; - v156 = ((u (*)())(v152))(v153, v154, v155); -b78: v157 = (u)zas_op; - v158 = *(u *)((vic) + (8UL)); - v159 = 195UL; - v160 = ((u (*)())(v157))(v158, v159); + v147 = *(u*)(vic + 8); + v148 = 139; + v149 = 4; + v150 = 5; + v151 = ((u(*)())v146)(v147, v148, v149, v150); + v152 = (u)zas_opr; + v153 = *(u*)(vic + 8); + v154 = 88; + v155 = 5; + v156 = ((u(*)())v152)(v153, v154, v155); + v157 = (u)zas_op; + v158 = *(u*)(vic + 8); + v159 = 195; + v160 = ((u(*)())v157)(v158, v159); goto b1; b72: v161 = (u)zoutput_irexpr; v162 = vic; v163 = vb; v164 = vo; - v165 = ((u (*)())(v161))(v162, v163, v164); + v165 = ((u(*)())v161)(v162, v163, v164); goto b1; } -u zoutput_irstr(u vic, u vb, u vo) { +u zoutput_irstr(u vic, u vb, u vo){ u vs = 0; u v4 = 0; u v5 = 0; @@ -24600,32 +24101,32 @@ u zoutput_irstr(u vic, u vb, u vo) { u v23 = 0; u v24 = 0; u v25 = 0; -b0: v4 = (u)zas_blob; - v5 = *(u *)((vic) + (8UL)); - v6 = *(u *)((vo) + (32UL)); - v7 = (*(u *)((vo) + (40UL))) + (1UL); - v8 = ((u (*)())(v4))(v5, v6, v7); -b1: vs = v8; + v4 = (u)zas_blob; + v5 = *(u*)(vic + 8); + v6 = *(u*)(vo + 32); + v7 = *(u*)(vo + 40) + 1; + v8 = ((u(*)())v4)(v5, v6, v7); + vs = v8; v9 = (u)zreserve; - v10 = *(u *)((vic) + (8UL)); - v11 = 16UL; - v12 = ((u (*)())(v9))(v10, v11); -b2: v13 = (u)zas_modrm; - v14 = *(u *)((vic) + (8UL)); - v15 = 141UL; - v16 = 0UL; - v17 = 16UL; - v18 = 0UL; - v19 = 0UL; - v20 = 128UL; - v21 = ((u (*)())(v13))(v14, v15, v16, v17, v18, v19, v20); -b3: v22 = (u)zaddfixup; - v23 = *(u *)((vic) + (8UL)); + v10 = *(u*)(vic + 8); + v11 = 16; + v12 = ((u(*)())v9)(v10, v11); + v13 = (u)zas_modrm; + v14 = *(u*)(vic + 8); + v15 = 141; + v16 = 0; + v17 = 16; + v18 = 0; + v19 = 0; + v20 = 128; + v21 = ((u(*)())v13)(v14, v15, v16, v17, v18, v19, v20); + v22 = (u)zaddfixup; + v23 = *(u*)(vic + 8); v24 = vs; - v25 = ((u (*)())(v22))(v23, v24); -b4: return 0UL; + v25 = ((u(*)())v22)(v23, v24); + return 0; } -u zoutput_irvars(u vic) { +u zoutput_irvars(u vic){ u voffset = 0; u vsize = 0; u vi = 0; @@ -24728,151 +24229,146 @@ u zoutput_irvars(u vic) { u v100 = 0; u v101 = 0; u v102 = 0; -b0: voffset = 0UL; - vi = 0UL; - goto b1; -b1: if ((vi) != (*(u *)((vic) + (120UL)))) { goto b3; } -b2: if ((voffset) == (0UL)) { goto b14; } -b15: v10 = (u)zas_modri; - v11 = *(u *)((vic) + (8UL)); + voffset = 0; + vi = 0; +b1: if (vi != *(u*)(vic + 120)) goto b3; + if (voffset == 0) goto b14; + v10 = (u)zas_modri; + v11 = *(u*)(vic + 8); v12 = 327809UL; - v13 = 4UL; + v13 = 4; v14 = voffset; - v15 = ((u (*)())(v10))(v11, v12, v13, v14); -b17: v16 = (u)zas_modrr; - v17 = *(u *)((vic) + (8UL)); - v18 = 51UL; - v19 = 0UL; - v20 = 0UL; - v21 = ((u (*)())(v16))(v17, v18, v19, v20); -b18: vi = 0UL; - goto b19; -b19: if ((vi) != (voffset)) { goto b21; } -b14: vi = 0UL; - goto b25; -b25: if ((vi) != (*(u *)((vic) + (136UL)))) { goto b27; } -b26: return 0UL; -b27: vv = *(u *)((*(u *)((vic) + (112UL))) + ((vi) * (8UL))); - if ((vi) != (0UL)) { goto b32; } -b31: v31 = (u)zas_modrm; - v32 = *(u *)((vic) + (8UL)); - v33 = 137UL; - v34 = 7UL; - v35 = 5UL; - v36 = 0UL; - v37 = 0UL; - v38 = *(u *)((vv) + (40UL)); - v39 = ((u (*)())(v31))(v32, v33, v34, v35, v36, v37, v38); -b30: vi = (vi) + (1UL); + v15 = ((u(*)())v10)(v11, v12, v13, v14); + v16 = (u)zas_modrr; + v17 = *(u*)(vic + 8); + v18 = 51; + v19 = 0; + v20 = 0; + v21 = ((u(*)())v16)(v17, v18, v19, v20); + vi = 0; +b19: if (vi != voffset) goto b21; +b14: vi = 0; +b25: if (vi != *(u*)(vic + 136)) goto b27; + return 0; +b27: vv = *(u*)(*(u*)(vic + 112) + vi * 8); + if (vi != 0) goto b32; + v31 = (u)zas_modrm; + v32 = *(u*)(vic + 8); + v33 = 137; + v34 = 7; + v35 = 5; + v36 = 0; + v37 = 0; + v38 = *(u*)(vv + 40); + v39 = ((u(*)())v31)(v32, v33, v34, v35, v36, v37, v38); +b30: vi = vi + 1; goto b25; -b32: if ((vi) != (1UL)) { goto b35; } -b34: v40 = (u)zas_modrm; - v41 = *(u *)((vic) + (8UL)); - v42 = 137UL; - v43 = 6UL; - v44 = 5UL; - v45 = 0UL; - v46 = 0UL; - v47 = *(u *)((vv) + (40UL)); - v48 = ((u (*)())(v40))(v41, v42, v43, v44, v45, v46, v47); +b32: if (vi != 1) goto b35; + v40 = (u)zas_modrm; + v41 = *(u*)(vic + 8); + v42 = 137; + v43 = 6; + v44 = 5; + v45 = 0; + v46 = 0; + v47 = *(u*)(vv + 40); + v48 = ((u(*)())v40)(v41, v42, v43, v44, v45, v46, v47); goto b30; -b35: if ((vi) != (2UL)) { goto b38; } -b37: v49 = (u)zas_modrm; - v50 = *(u *)((vic) + (8UL)); - v51 = 137UL; - v52 = 2UL; - v53 = 5UL; - v54 = 0UL; - v55 = 0UL; - v56 = *(u *)((vv) + (40UL)); - v57 = ((u (*)())(v49))(v50, v51, v52, v53, v54, v55, v56); +b35: if (vi != 2) goto b38; + v49 = (u)zas_modrm; + v50 = *(u*)(vic + 8); + v51 = 137; + v52 = 2; + v53 = 5; + v54 = 0; + v55 = 0; + v56 = *(u*)(vv + 40); + v57 = ((u(*)())v49)(v50, v51, v52, v53, v54, v55, v56); goto b30; -b38: if ((vi) != (3UL)) { goto b41; } -b40: v58 = (u)zas_modrm; - v59 = *(u *)((vic) + (8UL)); - v60 = 137UL; - v61 = 1UL; - v62 = 5UL; - v63 = 0UL; - v64 = 0UL; - v65 = *(u *)((vv) + (40UL)); - v66 = ((u (*)())(v58))(v59, v60, v61, v62, v63, v64, v65); +b38: if (vi != 3) goto b41; + v58 = (u)zas_modrm; + v59 = *(u*)(vic + 8); + v60 = 137; + v61 = 1; + v62 = 5; + v63 = 0; + v64 = 0; + v65 = *(u*)(vv + 40); + v66 = ((u(*)())v58)(v59, v60, v61, v62, v63, v64, v65); goto b30; -b41: if ((vi) != (4UL)) { goto b44; } -b43: v67 = (u)zas_modrm; - v68 = *(u *)((vic) + (8UL)); - v69 = 137UL; - v70 = 8UL; - v71 = 5UL; - v72 = 0UL; - v73 = 0UL; - v74 = *(u *)((vv) + (40UL)); - v75 = ((u (*)())(v67))(v68, v69, v70, v71, v72, v73, v74); +b41: if (vi != 4) goto b44; + v67 = (u)zas_modrm; + v68 = *(u*)(vic + 8); + v69 = 137; + v70 = 8; + v71 = 5; + v72 = 0; + v73 = 0; + v74 = *(u*)(vv + 40); + v75 = ((u(*)())v67)(v68, v69, v70, v71, v72, v73, v74); goto b30; -b44: if ((vi) != (5UL)) { goto b47; } -b46: v76 = (u)zas_modrm; - v77 = *(u *)((vic) + (8UL)); - v78 = 137UL; - v79 = 9UL; - v80 = 5UL; - v81 = 0UL; - v82 = 0UL; - v83 = *(u *)((vv) + (40UL)); - v84 = ((u (*)())(v76))(v77, v78, v79, v80, v81, v82, v83); +b44: if (vi != 5) goto b47; + v76 = (u)zas_modrm; + v77 = *(u*)(vic + 8); + v78 = 137; + v79 = 9; + v80 = 5; + v81 = 0; + v82 = 0; + v83 = *(u*)(vv + 40); + v84 = ((u(*)())v76)(v77, v78, v79, v80, v81, v82, v83); goto b30; b47: v85 = (u)zas_modrm; - v86 = *(u *)((vic) + (8UL)); - v87 = 139UL; - v88 = 0UL; - v89 = 5UL; - v90 = 0UL; - v91 = 0UL; - v92 = (((vi) - (6UL)) + (2UL)) * (8UL); - v93 = ((u (*)())(v85))(v86, v87, v88, v89, v90, v91, v92); -b49: v94 = (u)zas_modrm; - v95 = *(u *)((vic) + (8UL)); - v96 = 137UL; - v97 = 0UL; - v98 = 5UL; - v99 = 0UL; - v100 = 0UL; - v101 = *(u *)((vv) + (40UL)); - v102 = ((u (*)())(v94))(v95, v96, v97, v98, v99, v100, v101); + v86 = *(u*)(vic + 8); + v87 = 139; + v88 = 0; + v89 = 5; + v90 = 0; + v91 = 0; + v92 = (vi - 6 + 2) * 8; + v93 = ((u(*)())v85)(v86, v87, v88, v89, v90, v91, v92); + v94 = (u)zas_modrm; + v95 = *(u*)(vic + 8); + v96 = 137; + v97 = 0; + v98 = 5; + v99 = 0; + v100 = 0; + v101 = *(u*)(vv + 40); + v102 = ((u(*)())v94)(v95, v96, v97, v98, v99, v100, v101); goto b30; -b21: vi = (vi) + (8UL); +b21: vi = vi + 8; v22 = (u)zas_modrm; - v23 = *(u *)((vic) + (8UL)); - v24 = 137UL; - v25 = 0UL; - v26 = 5UL; - v27 = 0UL; - v28 = 0UL; - v29 = -(vi); - v30 = ((u (*)())(v22))(v23, v24, v25, v26, v27, v28, v29); + v23 = *(u*)(vic + 8); + v24 = 137; + v25 = 0; + v26 = 5; + v27 = 0; + v28 = 0; + v29 = -vi; + v30 = ((u(*)())v22)(v23, v24, v25, v26, v27, v28, v29); goto b19; -b3: vv = *(u *)((*(u *)((vic) + (112UL))) + ((vi) * (8UL))); - if (!(*(u *)((vv) + (24UL)))) { goto b10; } -b9: if ((*(u *)(*(u *)((vv) + (24UL)))) == (1UL)) { goto b10; } -b11: v5 = 1UL; - goto b12; -b12: if (!(v5)) { goto b8; } -b7: v6 = (u)ztype_sizeof; - v7 = *(u *)(vic); - v8 = *(u *)((vv) + (24UL)); - v9 = ((u (*)())(v6))(v7, v8); -b13: vsize = v9; - goto b6; -b6: vsize = ((vsize) + (7UL)) & (-8UL); - voffset = (voffset) + (vsize); - *(u *)((vv) + (40UL)) = -(voffset); - vi = (vi) + (1UL); +b3: vv = *(u*)(*(u*)(vic + 112) + vi * 8); + if (!*(u*)(vv + 24)) goto b10; + if (*(u*)*(u*)(vv + 24) == 1) goto b10; + v5 = 1; +b12: if (!v5) goto b8; + v6 = (u)ztype_sizeof; + v7 = *(u*)vic; + v8 = *(u*)(vv + 24); + v9 = ((u(*)())v6)(v7, v8); + vsize = v9; +b6: vsize = vsize + 7 & -8UL; + voffset = voffset + vsize; + *(u*)(vv + 40) = -voffset; + vi = vi + 1; goto b1; -b8: vsize = 8UL; +b8: vsize = 8; goto b6; -b10: v5 = 0UL; +b10: v5 = 0; goto b12; } -u zparse(u vc, u vfilename, u verr) { +u zparse(u vc, u vfilename, u verr){ u vf = 0; u vfd = 0; u vlen = 0; @@ -24924,60 +24420,60 @@ u zparse(u vc, u vfilename, u verr) { u v51 = 0; u v52 = 0; u v53 = 0; -b0: v8 = (u)zopen; + v8 = (u)zopen; v9 = vfilename; - v10 = 0UL; - v11 = 0UL; - v12 = ((u (*)())(v8))(v9, v10, v11); -b1: vfd = v12; - if ((s)(vfd) >= (s)(0UL)) { goto b2; } -b3: v13 = (u)zfputs; + v10 = 0; + v11 = 0; + v12 = ((u(*)())v8)(v9, v10, v11); + vfd = v12; + if ((s)vfd >= (s)0) goto b2; + v13 = (u)zfputs; v14 = verr; v15 = (u)"failed to open "; - v16 = ((u (*)())(v13))(v14, v15); -b5: v17 = (u)zfputs; + v16 = ((u(*)())v13)(v14, v15); + v17 = (u)zfputs; v18 = verr; v19 = vfilename; - v20 = ((u (*)())(v17))(v18, v19); -b6: v21 = (u)zfputs; + v20 = ((u(*)())v17)(v18, v19); + v21 = (u)zfputs; v22 = verr; v23 = (u)"\012"; - v24 = ((u (*)())(v21))(v22, v23); -b7: v25 = (u)zexit; - v26 = 1UL; - v27 = ((u (*)())(v25))(v26); + v24 = ((u(*)())v21)(v22, v23); + v25 = (u)zexit; + v26 = 1; + v27 = ((u(*)())v25)(v26); b2: v28 = (u)zfopen; v29 = vfd; - v30 = *(u *)(vc); - v31 = ((u (*)())(v28))(v29, v30); -b9: vf = v31; + v30 = *(u*)vc; + v31 = ((u(*)())v28)(v29, v30); + vf = v31; v32 = (u)zfreadall; v33 = vf; v34 = (u)&vlen; - v35 = ((u (*)())(v32))(v33, v34); -b10: vsrc = v35; + v35 = ((u(*)())v32)(v33, v34); + vsrc = v35; v36 = (u)zfclose; v37 = vf; - v38 = ((u (*)())(v36))(v37); -b11: v39 = (u)zpeg_reset; - v40 = *(u *)((vc) + (8UL)); + v38 = ((u(*)())v36)(v37); + v39 = (u)zpeg_reset; + v40 = *(u*)(vc + 8); v41 = vfilename; v42 = vsrc; v43 = vlen; - v44 = ((u (*)())(v39))(v40, v41, v42, v43); -b12: v45 = (u)zpeg_parse; - v46 = *(u *)((vc) + (8UL)); - v47 = 89UL; + v44 = ((u(*)())v39)(v40, v41, v42, v43); + v45 = (u)zpeg_parse; + v46 = *(u*)(vc + 8); + v47 = 89; v48 = verr; - v49 = ((u (*)())(v45))(v46, v47, v48); -b13: vpn = v49; + v49 = ((u(*)())v45)(v46, v47, v48); + vpn = v49; v50 = (u)zreconstruct; v51 = vc; v52 = vpn; - v53 = ((u (*)())(v50))(v51, v52); -b14: return v53; + v53 = ((u(*)())v50)(v51, v52); + return v53; } -u zparse_escape(u vs, u vi, u vn) { +u zparse_escape(u vs, u vi, u vn){ u vnc = 0; u vok = 0; u v5 = 0; @@ -25005,71 +24501,69 @@ u zparse_escape(u vs, u vi, u vn) { u v27 = 0; u v28 = 0; u v29 = 0; -b0: if ((*(u *)(vi)) != (vn)) { goto b1; } -b2: v5 = (u)zdie; + if (*(u*)vi != vn) goto b1; + v5 = (u)zdie; v6 = (u)"invalid escape"; - v7 = ((u (*)())(v5))(v6); -b1: vnc = (u)*(b *)((vs) + (*(u *)(vi))); - *(u *)(vi) = (*(u *)(vi)) + (1UL); - if ((vnc) != (116UL)) { goto b7; } -b6: return 9UL; -b7: if ((vnc) != (114UL)) { goto b9; } -b8: return 13UL; -b9: if ((vnc) != (110UL)) { goto b11; } -b10: return 10UL; -b11: if ((vnc) != (92UL)) { goto b13; } -b12: return 92UL; -b13: if ((vnc) != (39UL)) { goto b15; } -b14: return 39UL; -b15: if ((vnc) != (34UL)) { goto b17; } -b16: return 34UL; -b17: if ((vnc) != (45UL)) { goto b19; } -b18: return 45UL; -b19: if ((vnc) != (91UL)) { goto b21; } -b20: return 91UL; -b21: if ((vnc) != (93UL)) { goto b23; } -b22: return 93UL; -b23: if ((vnc) != (120UL)) { goto b25; } -b24: if ((s)((vn) - (*(u *)(vi))) >= (s)(2UL)) { goto b26; } -b27: v8 = (u)zdie; + v7 = ((u(*)())v5)(v6); +b1: vnc = (u)*(b*)(vs + *(u*)vi); + *(u*)vi = *(u*)vi + 1; + if (vnc != 116) goto b7; + return 9; +b7: if (vnc != 114) goto b9; + return 13; +b9: if (vnc != 110) goto b11; + return 10; +b11: if (vnc != 92) goto b13; + return 92; +b13: if (vnc != 39) goto b15; + return 39; +b15: if (vnc != 34) goto b17; + return 34; +b17: if (vnc != 45) goto b19; + return 45; +b19: if (vnc != 91) goto b21; + return 91; +b21: if (vnc != 93) goto b23; + return 93; +b23: if (vnc != 120) goto b25; + if ((s)(vn - *(u*)vi) >= (s)2) goto b26; + v8 = (u)zdie; v9 = (u)"invalid escape"; - v10 = ((u (*)())(v8))(v9); + v10 = ((u(*)())v8)(v9); b26: v11 = (u)zhexdig; - v12 = (u)*(b *)((vs) + (*(u *)(vi))); + v12 = (u)*(b*)(vs + *(u*)vi); v13 = (u)&vok; - v14 = ((u (*)())(v11))(v12, v13); -b30: vnc = (v14) * (16UL); - if (!(vok)) { goto b35; } -b34: v15 = 0UL; - goto b36; -b36: if (!(v15)) { goto b31; } -b32: v16 = (u)zdie; + v14 = ((u(*)())v11)(v12, v13); + vnc = v14 * 16; + if (!vok) goto b35; + v15 = 0; +b36: if (!v15) goto b31; + v16 = (u)zdie; v17 = (u)"invalid hex"; - v18 = ((u (*)())(v16))(v17); + v18 = ((u(*)())v16)(v17); b31: v19 = (u)zhexdig; - v20 = (u)*(b *)((vs) + ((*(u *)(vi)) + (1UL))); + v20 = (u)*(b*)(vs + *(u*)vi + 1); v21 = (u)&vok; - v22 = ((u (*)())(v19))(v20, v21); -b38: vnc = (vnc) + (v22); - if (!(vok)) { goto b43; } -b42: v23 = 0UL; - goto b44; -b44: if (!(v23)) { goto b39; } -b40: v24 = (u)zdie; + v22 = ((u(*)())v19)(v20, v21); + vnc = vnc + v22; + if (!vok) goto b43; + v23 = 0; +b44: if (!v23) goto b39; + v24 = (u)zdie; v25 = (u)"invalid hex"; - v26 = ((u (*)())(v24))(v25); -b39: *(u *)(vi) = (*(u *)(vi)) + (2UL); + v26 = ((u(*)())v24)(v25); +b39: *(u*)vi = *(u*)vi + 2; return vnc; -b43: v23 = 1UL; +b43: v23 = 1; goto b44; -b35: v15 = 1UL; +b35: v15 = 1; goto b36; b25: v27 = (u)zdie; v28 = (u)"invalid escape"; - v29 = ((u (*)())(v27))(v28); -b46: return 0UL; + v29 = ((u(*)())v27)(v28); + return 0; } -u zpeg_P_add_expr(u vc) { +u zpeg_P_add_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -25077,247 +24571,247 @@ u zpeg_P_add_expr(u vc) { u v5 = 0; u v6 = 0; u v7 = 0; -b0: zenter(vc, 42UL); -b2: v1 = zpeg_P_mul_expr(vc); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 42); + v1 = zpeg_P_mul_expr(vc); + if (v1 == 0) goto b1; b5: zchoice(vc); -b8: zchoice(vc); -b11: v2 = zpeg_P_add_op(vc); -b13: if ((v2) == (0UL)) { goto b10; } + zchoice(vc); + v2 = zpeg_P_add_op(vc); + if (v2 == 0) goto b10; b9: zcommit(vc); -b27: v6 = zpeg_P_sp(vc); -b29: if ((v6) == (0UL)) { goto b6; } -b28: v7 = zpeg_P_mul_expr(vc); -b31: if ((v7) == (0UL)) { goto b6; } -b30: zcommit(vc); + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b6; + v7 = zpeg_P_mul_expr(vc); + if (v7 == 0) goto b6; + zcommit(vc); goto b5; -b6: zleave(vc, 42UL); -b33: return 1UL; +b6: zleave(vc, 42); + return 1; b10: zchoice(vc); -b15: v3 = zpeg_P_sub_op(vc); -b17: if ((v3) == (0UL)) { goto b14; } + v3 = zpeg_P_sub_op(vc); + if (v3 == 0) goto b14; goto b9; b14: zchoice(vc); -b19: v4 = zpeg_P_or_op(vc); -b21: if ((v4) == (0UL)) { goto b18; } + v4 = zpeg_P_or_op(vc); + if (v4 == 0) goto b18; goto b9; b18: zchoice(vc); -b23: v5 = zpeg_P_xor_op(vc); -b25: if ((v5) == (0UL)) { goto b22; } + v5 = zpeg_P_xor_op(vc); + if (v5 == 0) goto b22; goto b9; b22: zfail(vc); goto b6; b1: zfail(vc); -b34: return 0UL; + return 0; } -u zpeg_P_add_op(u vc) { +u zpeg_P_add_op(u vc){ u v1 = 0; -b0: zenter(vc, 38UL); -b2: v1 = zliteral(vc, (u)"+"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 38UL); -b5: return 1UL; + zenter(vc, 38); + v1 = zliteral(vc, (u)"+"); + if (v1 == 0) goto b1; + zleave(vc, 38); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_and_op(u vc) { +u zpeg_P_and_op(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 46UL); -b2: v1 = zliteral(vc, (u)"&"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zliteral(vc, (u)"&"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 46); + v1 = zliteral(vc, (u)"&"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zliteral(vc, (u)"&"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 46UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 46); + return 1; } -u zpeg_P_arg_decl(u vc) { +u zpeg_P_arg_decl(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: zenter(vc, 10UL); -b2: v1 = zpeg_P_ident(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zliteral(vc, (u)":"); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zpeg_P_type(vc); -b12: if ((v5) == (0UL)) { goto b1; } -b11: zleave(vc, 10UL); -b13: return 1UL; + zenter(vc, 10); + v1 = zpeg_P_ident(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zliteral(vc, (u)":"); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zpeg_P_type(vc); + if (v5 == 0) goto b1; + zleave(vc, 10); + return 1; b1: zfail(vc); -b14: return 0UL; + return 0; } -u zpeg_P_as(u vc) { +u zpeg_P_as(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 86UL); -b2: v1 = zliteral(vc, (u)"as"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 86); + v1 = zliteral(vc, (u)"as"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 86UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 86); + return 1; } -u zpeg_P_assign_stmt(u vc) { +u zpeg_P_assign_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; -b0: zenter(vc, 23UL); -b2: v1 = zpeg_P_unary_expr(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zliteral(vc, (u)"="); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_sp(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_expr(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zliteral(vc, (u)";"); -b12: if ((v5) == (0UL)) { goto b1; } -b11: v6 = zpeg_P_sp(vc); -b14: if ((v6) == (0UL)) { goto b1; } -b13: zleave(vc, 23UL); -b15: return 1UL; + zenter(vc, 23); + v1 = zpeg_P_unary_expr(vc); + if (v1 == 0) goto b1; + v2 = zliteral(vc, (u)"="); + if (v2 == 0) goto b1; + v3 = zpeg_P_sp(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_expr(vc); + if (v4 == 0) goto b1; + v5 = zliteral(vc, (u)";"); + if (v5 == 0) goto b1; + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b1; + zleave(vc, 23); + return 1; b1: zfail(vc); -b16: return 0UL; + return 0; } -u zpeg_P_band_op(u vc) { +u zpeg_P_band_op(u vc){ u v1 = 0; -b0: zenter(vc, 28UL); -b2: v1 = zliteral(vc, (u)"&&"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 28UL); -b5: return 1UL; + zenter(vc, 28); + v1 = zliteral(vc, (u)"&&"); + if (v1 == 0) goto b1; + zleave(vc, 28); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_bnot_op(u vc) { +u zpeg_P_bnot_op(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 56UL); -b2: v1 = zliteral(vc, (u)"!"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zliteral(vc, (u)"="); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 56); + v1 = zliteral(vc, (u)"!"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zliteral(vc, (u)"="); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 56UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 56); + return 1; } -u zpeg_P_bool_expr(u vc) { +u zpeg_P_bool_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: zenter(vc, 30UL); -b2: v1 = zpeg_P_comp_expr(vc); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 30); + v1 = zpeg_P_comp_expr(vc); + if (v1 == 0) goto b1; b5: zchoice(vc); -b8: zchoice(vc); -b11: v2 = zpeg_P_band_op(vc); -b13: if ((v2) == (0UL)) { goto b10; } + zchoice(vc); + v2 = zpeg_P_band_op(vc); + if (v2 == 0) goto b10; b9: zcommit(vc); -b19: v4 = zpeg_P_sp(vc); -b21: if ((v4) == (0UL)) { goto b6; } -b20: v5 = zpeg_P_comp_expr(vc); -b23: if ((v5) == (0UL)) { goto b6; } -b22: zcommit(vc); + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b6; + v5 = zpeg_P_comp_expr(vc); + if (v5 == 0) goto b6; + zcommit(vc); goto b5; -b6: zleave(vc, 30UL); -b25: return 1UL; +b6: zleave(vc, 30); + return 1; b10: zchoice(vc); -b15: v3 = zpeg_P_bor_op(vc); -b17: if ((v3) == (0UL)) { goto b14; } + v3 = zpeg_P_bor_op(vc); + if (v3 == 0) goto b14; goto b9; b14: zfail(vc); goto b6; b1: zfail(vc); -b26: return 0UL; + return 0; } -u zpeg_P_bor_op(u vc) { +u zpeg_P_bor_op(u vc){ u v1 = 0; -b0: zenter(vc, 29UL); -b2: v1 = zliteral(vc, (u)"||"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 29UL); -b5: return 1UL; + zenter(vc, 29); + v1 = zliteral(vc, (u)"||"); + if (v1 == 0) goto b1; + zleave(vc, 29); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_break(u vc) { +u zpeg_P_break(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 71UL); -b2: v1 = zliteral(vc, (u)"break"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 71); + v1 = zliteral(vc, (u)"break"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 71UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 71); + return 1; } -u zpeg_P_break_stmt(u vc) { +u zpeg_P_break_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: zenter(vc, 17UL); -b2: v1 = zpeg_P_break(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zliteral(vc, (u)";"); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: zleave(vc, 17UL); -b11: return 1UL; + zenter(vc, 17); + v1 = zpeg_P_break(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zliteral(vc, (u)";"); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + zleave(vc, 17); + return 1; b1: zfail(vc); -b12: return 0UL; + return 0; } -u zpeg_P_byte(u vc) { +u zpeg_P_byte(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 82UL); -b2: v1 = zliteral(vc, (u)"byte"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 82); + v1 = zliteral(vc, (u)"byte"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 82UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 82); + return 1; } -u zpeg_P_call_expr(u vc) { +u zpeg_P_call_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -25328,56 +24822,56 @@ u zpeg_P_call_expr(u vc) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: zenter(vc, 59UL); -b2: v1 = zliteral(vc, (u)"("); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: zchoice(vc); -b7: v3 = zpeg_P_expr(vc); -b10: if ((v3) == (0UL)) { goto b8; } + zenter(vc, 59); + v1 = zliteral(vc, (u)"("); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + zchoice(vc); + v3 = zpeg_P_expr(vc); + if (v3 == 0) goto b8; b11: zchoice(vc); -b13: v4 = zliteral(vc, (u)","); -b15: if ((v4) == (0UL)) { goto b12; } -b14: v5 = zpeg_P_sp(vc); -b17: if ((v5) == (0UL)) { goto b12; } -b16: v6 = zpeg_P_expr(vc); -b19: if ((v6) == (0UL)) { goto b12; } -b18: zcommit(vc); + v4 = zliteral(vc, (u)","); + if (v4 == 0) goto b12; + v5 = zpeg_P_sp(vc); + if (v5 == 0) goto b12; + v6 = zpeg_P_expr(vc); + if (v6 == 0) goto b12; + zcommit(vc); goto b11; b12: zcommit(vc); b8: zchoice(vc); -b22: v7 = zliteral(vc, (u)","); -b25: if ((v7) == (0UL)) { goto b23; } -b24: v8 = zpeg_P_sp(vc); -b27: if ((v8) == (0UL)) { goto b23; } -b26: zcommit(vc); + v7 = zliteral(vc, (u)","); + if (v7 == 0) goto b23; + v8 = zpeg_P_sp(vc); + if (v8 == 0) goto b23; + zcommit(vc); b23: v9 = zliteral(vc, (u)")"); -b30: if ((v9) == (0UL)) { goto b1; } -b29: v10 = zpeg_P_sp(vc); -b32: if ((v10) == (0UL)) { goto b1; } -b31: zleave(vc, 59UL); -b33: return 1UL; + if (v9 == 0) goto b1; + v10 = zpeg_P_sp(vc); + if (v10 == 0) goto b1; + zleave(vc, 59); + return 1; b1: zfail(vc); -b34: return 0UL; + return 0; } -u zpeg_P_cast_expr(u vc) { +u zpeg_P_cast_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 61UL); -b2: v1 = zliteral(vc, (u)"as"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_type(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: zleave(vc, 61UL); -b9: return 1UL; + zenter(vc, 61); + v1 = zliteral(vc, (u)"as"); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_type(vc); + if (v3 == 0) goto b1; + zleave(vc, 61); + return 1; b1: zfail(vc); -b10: return 0UL; + return 0; } -u zpeg_P_char(u vc) { +u zpeg_P_char(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -25388,53 +24882,53 @@ u zpeg_P_char(u vc) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: zenter(vc, 68UL); -b2: v1 = zcharset(vc, (u)"'"); -b4: if ((v1) == (0UL)) { goto b1; } -b5: zchoice(vc); -b8: v2 = zcharset(vc, (u)"\134"); -b10: if ((v2) == (0UL)) { goto b7; } -b9: v3 = zany(vc); -b12: if ((v3) == (0UL)) { goto b7; } + zenter(vc, 68); + v1 = zcharset(vc, (u)"'"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"\134"); + if (v2 == 0) goto b7; + v3 = zany(vc); + if (v3 == 0) goto b7; b6: zcommit(vc); b25: zchoice(vc); -b28: zchoice(vc); -b31: v6 = zcharset(vc, (u)"\134"); -b33: if ((v6) == (0UL)) { goto b30; } -b32: v7 = zany(vc); -b35: if ((v7) == (0UL)) { goto b30; } + zchoice(vc); + v6 = zcharset(vc, (u)"\134"); + if (v6 == 0) goto b30; + v7 = zany(vc); + if (v7 == 0) goto b30; b29: zcommit(vc); -b47: zcommit(vc); + zcommit(vc); goto b25; b30: zchoice(vc); -b37: zchoice(vc); -b39: v8 = zcharset(vc, (u)"'"); -b41: if ((v8) == (0UL)) { goto b38; } -b40: zfail(vc); -b42: zfail(vc); + zchoice(vc); + v8 = zcharset(vc, (u)"'"); + if (v8 == 0) goto b38; + zfail(vc); + zfail(vc); b36: zfail(vc); -b26: v10 = zcharset(vc, (u)"'"); -b50: if ((v10) == (0UL)) { goto b1; } -b49: zleave(vc, 68UL); -b51: return 1UL; + v10 = zcharset(vc, (u)"'"); + if (v10 == 0) goto b1; + zleave(vc, 68); + return 1; b1: zfail(vc); -b52: return 0UL; + return 0; b38: v9 = zany(vc); -b45: if ((v9) == (0UL)) { goto b36; } + if (v9 == 0) goto b36; goto b29; b7: zchoice(vc); -b14: zchoice(vc); -b16: v4 = zcharset(vc, (u)"'"); -b18: if ((v4) == (0UL)) { goto b15; } -b17: zfail(vc); -b19: zfail(vc); + zchoice(vc); + v4 = zcharset(vc, (u)"'"); + if (v4 == 0) goto b15; + zfail(vc); + zfail(vc); b13: zfail(vc); goto b1; b15: v5 = zany(vc); -b22: if ((v5) == (0UL)) { goto b13; } + if (v5 == 0) goto b13; goto b6; } -u zpeg_P_comp_expr(u vc) { +u zpeg_P_comp_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -25444,241 +24938,241 @@ u zpeg_P_comp_expr(u vc) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: zenter(vc, 37UL); -b2: v1 = zpeg_P_add_expr(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b7: zchoice(vc); -b10: v2 = zpeg_P_le_op(vc); -b12: if ((v2) == (0UL)) { goto b9; } + zenter(vc, 37); + v1 = zpeg_P_add_expr(vc); + if (v1 == 0) goto b1; + zchoice(vc); + zchoice(vc); + v2 = zpeg_P_le_op(vc); + if (v2 == 0) goto b9; b8: zcommit(vc); -b34: v8 = zpeg_P_sp(vc); -b36: if ((v8) == (0UL)) { goto b6; } -b35: v9 = zpeg_P_add_expr(vc); -b38: if ((v9) == (0UL)) { goto b6; } -b37: zcommit(vc); -b6: zleave(vc, 37UL); -b40: return 1UL; + v8 = zpeg_P_sp(vc); + if (v8 == 0) goto b6; + v9 = zpeg_P_add_expr(vc); + if (v9 == 0) goto b6; + zcommit(vc); +b6: zleave(vc, 37); + return 1; b9: zchoice(vc); -b14: v3 = zpeg_P_ge_op(vc); -b16: if ((v3) == (0UL)) { goto b13; } + v3 = zpeg_P_ge_op(vc); + if (v3 == 0) goto b13; goto b8; b13: zchoice(vc); -b18: v4 = zpeg_P_lt_op(vc); -b20: if ((v4) == (0UL)) { goto b17; } + v4 = zpeg_P_lt_op(vc); + if (v4 == 0) goto b17; goto b8; b17: zchoice(vc); -b22: v5 = zpeg_P_gt_op(vc); -b24: if ((v5) == (0UL)) { goto b21; } + v5 = zpeg_P_gt_op(vc); + if (v5 == 0) goto b21; goto b8; b21: zchoice(vc); -b26: v6 = zpeg_P_eq_op(vc); -b28: if ((v6) == (0UL)) { goto b25; } + v6 = zpeg_P_eq_op(vc); + if (v6 == 0) goto b25; goto b8; b25: zchoice(vc); -b30: v7 = zpeg_P_ne_op(vc); -b32: if ((v7) == (0UL)) { goto b29; } + v7 = zpeg_P_ne_op(vc); + if (v7 == 0) goto b29; goto b8; b29: zfail(vc); goto b6; b1: zfail(vc); -b41: return 0UL; + return 0; } -u zpeg_P_compound_stmt(u vc) { +u zpeg_P_compound_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: zenter(vc, 26UL); -b2: v1 = zliteral(vc, (u)"{"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } + zenter(vc, 26); + v1 = zliteral(vc, (u)"{"); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; b7: zchoice(vc); -b9: v3 = zpeg_P_stmt(vc); -b11: if ((v3) == (0UL)) { goto b8; } -b10: zcommit(vc); + v3 = zpeg_P_stmt(vc); + if (v3 == 0) goto b8; + zcommit(vc); goto b7; b8: v4 = zliteral(vc, (u)"}"); -b14: if ((v4) == (0UL)) { goto b1; } -b13: v5 = zpeg_P_sp(vc); -b16: if ((v5) == (0UL)) { goto b1; } -b15: zleave(vc, 26UL); -b17: return 1UL; + if (v4 == 0) goto b1; + v5 = zpeg_P_sp(vc); + if (v5 == 0) goto b1; + zleave(vc, 26); + return 1; b1: zfail(vc); -b18: return 0UL; + return 0; } -u zpeg_P_continue(u vc) { +u zpeg_P_continue(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 76UL); -b2: v1 = zliteral(vc, (u)"continue"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 76); + v1 = zliteral(vc, (u)"continue"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 76UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 76); + return 1; } -u zpeg_P_continue_stmt(u vc) { +u zpeg_P_continue_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: zenter(vc, 18UL); -b2: v1 = zpeg_P_continue(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zliteral(vc, (u)";"); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: zleave(vc, 18UL); -b11: return 1UL; + zenter(vc, 18); + v1 = zpeg_P_continue(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zliteral(vc, (u)";"); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + zleave(vc, 18); + return 1; b1: zfail(vc); -b12: return 0UL; + return 0; } -u zpeg_P_dec(u vc) { +u zpeg_P_dec(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 66UL); -b2: zchoice(vc); -b4: v1 = zliteral(vc, (u)"_"); -b6: if ((v1) == (0UL)) { goto b3; } -b5: zfail(vc); -b7: zfail(vc); + zenter(vc, 66); + zchoice(vc); + v1 = zliteral(vc, (u)"_"); + if (v1 == 0) goto b3; + zfail(vc); + zfail(vc); b1: zfail(vc); -b18: return 0UL; + return 0; b3: v2 = zcharset(vc, (u)"0123456789_"); -b10: if ((v2) == (0UL)) { goto b1; } + if (v2 == 0) goto b1; b11: zchoice(vc); -b13: v3 = zcharset(vc, (u)"0123456789_"); -b15: if ((v3) == (0UL)) { goto b12; } -b14: zcommit(vc); + v3 = zcharset(vc, (u)"0123456789_"); + if (v3 == 0) goto b12; + zcommit(vc); goto b11; -b12: zleave(vc, 66UL); -b17: return 1UL; +b12: zleave(vc, 66); + return 1; } -u zpeg_P_deref_op(u vc) { +u zpeg_P_deref_op(u vc){ u v1 = 0; -b0: zenter(vc, 52UL); -b2: v1 = zliteral(vc, (u)"*"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 52UL); -b5: return 1UL; + zenter(vc, 52); + v1 = zliteral(vc, (u)"*"); + if (v1 == 0) goto b1; + zleave(vc, 52); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_div_op(u vc) { +u zpeg_P_div_op(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 44UL); -b2: v1 = zliteral(vc, (u)"/"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zliteral(vc, (u)"/"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 44); + v1 = zliteral(vc, (u)"/"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zliteral(vc, (u)"/"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 44UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 44); + return 1; } -u zpeg_P_elif_stmt(u vc) { +u zpeg_P_elif_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; -b0: zenter(vc, 13UL); -b2: v1 = zpeg_P_else(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_if(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zpeg_P_expr(vc); -b12: if ((v5) == (0UL)) { goto b1; } -b11: v6 = zpeg_P_compound_stmt(vc); -b14: if ((v6) == (0UL)) { goto b1; } -b13: zleave(vc, 13UL); -b15: return 1UL; + zenter(vc, 13); + v1 = zpeg_P_else(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_if(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zpeg_P_expr(vc); + if (v5 == 0) goto b1; + v6 = zpeg_P_compound_stmt(vc); + if (v6 == 0) goto b1; + zleave(vc, 13); + return 1; b1: zfail(vc); -b16: return 0UL; + return 0; } -u zpeg_P_else(u vc) { +u zpeg_P_else(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 74UL); -b2: v1 = zliteral(vc, (u)"else"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 74); + v1 = zliteral(vc, (u)"else"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 74UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 74); + return 1; } -u zpeg_P_else_stmt(u vc) { +u zpeg_P_else_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 14UL); -b2: v1 = zpeg_P_else(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_compound_stmt(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: zleave(vc, 14UL); -b9: return 1UL; + zenter(vc, 14); + v1 = zpeg_P_else(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_compound_stmt(vc); + if (v3 == 0) goto b1; + zleave(vc, 14); + return 1; b1: zfail(vc); -b10: return 0UL; + return 0; } -u zpeg_P_empty_stmt(u vc) { +u zpeg_P_empty_stmt(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 25UL); -b2: v1 = zliteral(vc, (u)";"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: zleave(vc, 25UL); -b7: return 1UL; + zenter(vc, 25); + v1 = zliteral(vc, (u)";"); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + zleave(vc, 25); + return 1; b1: zfail(vc); -b8: return 0UL; + return 0; } -u zpeg_P_enum(u vc) { +u zpeg_P_enum(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 79UL); -b2: v1 = zliteral(vc, (u)"enum"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 79); + v1 = zliteral(vc, (u)"enum"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 79UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 79); + return 1; } -u zpeg_P_enum_decl(u vc) { +u zpeg_P_enum_decl(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -25691,120 +25185,120 @@ u zpeg_P_enum_decl(u vc) { u v10 = 0; u v11 = 0; u v12 = 0; -b0: zenter(vc, 2UL); -b2: v1 = zpeg_P_enum(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zliteral(vc, (u)"{"); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: zchoice(vc); -b11: v5 = zpeg_P_enum_item(vc); -b14: if ((v5) == (0UL)) { goto b12; } + zenter(vc, 2); + v1 = zpeg_P_enum(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zliteral(vc, (u)"{"); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + zchoice(vc); + v5 = zpeg_P_enum_item(vc); + if (v5 == 0) goto b12; b15: zchoice(vc); -b17: v6 = zliteral(vc, (u)","); -b19: if ((v6) == (0UL)) { goto b16; } -b18: v7 = zpeg_P_sp(vc); -b21: if ((v7) == (0UL)) { goto b16; } -b20: v8 = zpeg_P_enum_item(vc); -b23: if ((v8) == (0UL)) { goto b16; } -b22: zcommit(vc); + v6 = zliteral(vc, (u)","); + if (v6 == 0) goto b16; + v7 = zpeg_P_sp(vc); + if (v7 == 0) goto b16; + v8 = zpeg_P_enum_item(vc); + if (v8 == 0) goto b16; + zcommit(vc); goto b15; b16: zcommit(vc); b12: zchoice(vc); -b26: v9 = zliteral(vc, (u)","); -b29: if ((v9) == (0UL)) { goto b27; } -b28: v10 = zpeg_P_sp(vc); -b31: if ((v10) == (0UL)) { goto b27; } -b30: zcommit(vc); + v9 = zliteral(vc, (u)","); + if (v9 == 0) goto b27; + v10 = zpeg_P_sp(vc); + if (v10 == 0) goto b27; + zcommit(vc); b27: v11 = zliteral(vc, (u)"}"); -b34: if ((v11) == (0UL)) { goto b1; } -b33: v12 = zpeg_P_sp(vc); -b36: if ((v12) == (0UL)) { goto b1; } -b35: zleave(vc, 2UL); -b37: return 1UL; + if (v11 == 0) goto b1; + v12 = zpeg_P_sp(vc); + if (v12 == 0) goto b1; + zleave(vc, 2); + return 1; b1: zfail(vc); -b38: return 0UL; + return 0; } -u zpeg_P_enum_item(u vc) { +u zpeg_P_enum_item(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: zenter(vc, 1UL); -b2: v1 = zpeg_P_ident(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: zchoice(vc); -b7: v3 = zliteral(vc, (u)"="); -b10: if ((v3) == (0UL)) { goto b8; } -b9: v4 = zpeg_P_sp(vc); -b12: if ((v4) == (0UL)) { goto b8; } -b11: v5 = zpeg_P_expr(vc); -b14: if ((v5) == (0UL)) { goto b8; } -b13: zcommit(vc); -b8: zleave(vc, 1UL); -b16: return 1UL; + zenter(vc, 1); + v1 = zpeg_P_ident(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + zchoice(vc); + v3 = zliteral(vc, (u)"="); + if (v3 == 0) goto b8; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b8; + v5 = zpeg_P_expr(vc); + if (v5 == 0) goto b8; + zcommit(vc); +b8: zleave(vc, 1); + return 1; b1: zfail(vc); -b17: return 0UL; + return 0; } -u zpeg_P_eq_op(u vc) { +u zpeg_P_eq_op(u vc){ u v1 = 0; -b0: zenter(vc, 35UL); -b2: v1 = zliteral(vc, (u)"=="); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 35UL); -b5: return 1UL; + zenter(vc, 35); + v1 = zliteral(vc, (u)"=="); + if (v1 == 0) goto b1; + zleave(vc, 35); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_expr(u vc) { +u zpeg_P_expr(u vc){ u v1 = 0; -b0: zenter(vc, 27UL); -b2: v1 = zpeg_P_bool_expr(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 27UL); -b5: return 1UL; + zenter(vc, 27); + v1 = zpeg_P_bool_expr(vc); + if (v1 == 0) goto b1; + zleave(vc, 27); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_expr_stmt(u vc) { +u zpeg_P_expr_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 24UL); -b2: v1 = zpeg_P_expr(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zliteral(vc, (u)";"); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_sp(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: zleave(vc, 24UL); -b9: return 1UL; + zenter(vc, 24); + v1 = zpeg_P_expr(vc); + if (v1 == 0) goto b1; + v2 = zliteral(vc, (u)";"); + if (v2 == 0) goto b1; + v3 = zpeg_P_sp(vc); + if (v3 == 0) goto b1; + zleave(vc, 24); + return 1; b1: zfail(vc); -b10: return 0UL; + return 0; } -u zpeg_P_func(u vc) { +u zpeg_P_func(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 85UL); -b2: v1 = zliteral(vc, (u)"func"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 85); + v1 = zliteral(vc, (u)"func"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 85UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 85); + return 1; } -u zpeg_P_func_decl(u vc) { +u zpeg_P_func_decl(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -25813,34 +25307,34 @@ u zpeg_P_func_decl(u vc) { u v6 = 0; u v7 = 0; u v8 = 0; -b0: zenter(vc, 6UL); -b2: v1 = zliteral(vc, (u)"func"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_ident(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zpeg_P_func_type(vc); -b12: if ((v5) == (0UL)) { goto b1; } -b13: zchoice(vc); -b16: v6 = zliteral(vc, (u)";"); -b18: if ((v6) == (0UL)) { goto b15; } -b17: v7 = zpeg_P_sp(vc); -b20: if ((v7) == (0UL)) { goto b15; } + zenter(vc, 6); + v1 = zliteral(vc, (u)"func"); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_ident(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zpeg_P_func_type(vc); + if (v5 == 0) goto b1; + zchoice(vc); + v6 = zliteral(vc, (u)";"); + if (v6 == 0) goto b15; + v7 = zpeg_P_sp(vc); + if (v7 == 0) goto b15; b14: zcommit(vc); -b26: zleave(vc, 6UL); -b27: return 1UL; + zleave(vc, 6); + return 1; b15: zchoice(vc); -b22: v8 = zpeg_P_compound_stmt(vc); -b24: if ((v8) == (0UL)) { goto b21; } + v8 = zpeg_P_compound_stmt(vc); + if (v8 == 0) goto b21; goto b14; b21: zfail(vc); b1: zfail(vc); -b28: return 0UL; + return 0; } -u zpeg_P_func_type(u vc) { +u zpeg_P_func_type(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -25854,99 +25348,99 @@ u zpeg_P_func_type(u vc) { u v11 = 0; u v12 = 0; u v13 = 0; -b0: zenter(vc, 11UL); -b2: v1 = zliteral(vc, (u)"("); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: zchoice(vc); -b7: v3 = zpeg_P_arg_decl(vc); -b10: if ((v3) == (0UL)) { goto b8; } + zenter(vc, 11); + v1 = zliteral(vc, (u)"("); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + zchoice(vc); + v3 = zpeg_P_arg_decl(vc); + if (v3 == 0) goto b8; b11: zchoice(vc); -b13: v4 = zliteral(vc, (u)","); -b15: if ((v4) == (0UL)) { goto b12; } -b14: v5 = zpeg_P_sp(vc); -b17: if ((v5) == (0UL)) { goto b12; } -b16: v6 = zpeg_P_arg_decl(vc); -b19: if ((v6) == (0UL)) { goto b12; } -b18: zcommit(vc); + v4 = zliteral(vc, (u)","); + if (v4 == 0) goto b12; + v5 = zpeg_P_sp(vc); + if (v5 == 0) goto b12; + v6 = zpeg_P_arg_decl(vc); + if (v6 == 0) goto b12; + zcommit(vc); goto b11; b12: zcommit(vc); b8: zchoice(vc); -b22: v7 = zliteral(vc, (u)","); -b25: if ((v7) == (0UL)) { goto b23; } -b24: v8 = zpeg_P_sp(vc); -b27: if ((v8) == (0UL)) { goto b23; } -b26: zcommit(vc); + v7 = zliteral(vc, (u)","); + if (v7 == 0) goto b23; + v8 = zpeg_P_sp(vc); + if (v8 == 0) goto b23; + zcommit(vc); b23: v9 = zliteral(vc, (u)")"); -b30: if ((v9) == (0UL)) { goto b1; } -b29: v10 = zpeg_P_sp(vc); -b32: if ((v10) == (0UL)) { goto b1; } -b31: zchoice(vc); -b33: v11 = zliteral(vc, (u)":"); -b36: if ((v11) == (0UL)) { goto b34; } -b35: v12 = zpeg_P_sp(vc); -b38: if ((v12) == (0UL)) { goto b34; } -b37: v13 = zpeg_P_type(vc); -b40: if ((v13) == (0UL)) { goto b34; } -b39: zcommit(vc); -b34: zleave(vc, 11UL); -b42: return 1UL; + if (v9 == 0) goto b1; + v10 = zpeg_P_sp(vc); + if (v10 == 0) goto b1; + zchoice(vc); + v11 = zliteral(vc, (u)":"); + if (v11 == 0) goto b34; + v12 = zpeg_P_sp(vc); + if (v12 == 0) goto b34; + v13 = zpeg_P_type(vc); + if (v13 == 0) goto b34; + zcommit(vc); +b34: zleave(vc, 11); + return 1; b1: zfail(vc); -b43: return 0UL; + return 0; } -u zpeg_P_ge_op(u vc) { +u zpeg_P_ge_op(u vc){ u v1 = 0; -b0: zenter(vc, 32UL); -b2: v1 = zliteral(vc, (u)">="); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 32UL); -b5: return 1UL; + zenter(vc, 32); + v1 = zliteral(vc, (u)">="); + if (v1 == 0) goto b1; + zleave(vc, 32); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_goto(u vc) { +u zpeg_P_goto(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 77UL); -b2: v1 = zliteral(vc, (u)"goto"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 77); + v1 = zliteral(vc, (u)"goto"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 77UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 77); + return 1; } -u zpeg_P_goto_stmt(u vc) { +u zpeg_P_goto_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; -b0: zenter(vc, 22UL); -b2: v1 = zpeg_P_goto(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_ident(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zliteral(vc, (u)";"); -b12: if ((v5) == (0UL)) { goto b1; } -b11: v6 = zpeg_P_sp(vc); -b14: if ((v6) == (0UL)) { goto b1; } -b13: zleave(vc, 22UL); -b15: return 1UL; + zenter(vc, 22); + v1 = zpeg_P_goto(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_ident(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zliteral(vc, (u)";"); + if (v5 == 0) goto b1; + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b1; + zleave(vc, 22); + return 1; b1: zfail(vc); -b16: return 0UL; + return 0; } -u zpeg_P_grammar(u vc) { +u zpeg_P_grammar(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -25954,289 +25448,289 @@ u zpeg_P_grammar(u vc) { u v5 = 0; u v6 = 0; u v7 = 0; -b0: zenter(vc, 0UL); -b2: v1 = zpeg_P_sp(vc); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 0); + v1 = zpeg_P_sp(vc); + if (v1 == 0) goto b1; b5: zchoice(vc); -b8: zchoice(vc); -b11: v2 = zpeg_P_enum_decl(vc); -b13: if ((v2) == (0UL)) { goto b10; } + zchoice(vc); + v2 = zpeg_P_enum_decl(vc); + if (v2 == 0) goto b10; b9: zcommit(vc); -b31: zcommit(vc); + zcommit(vc); goto b5; b10: zchoice(vc); -b15: v3 = zpeg_P_struct_decl(vc); -b17: if ((v3) == (0UL)) { goto b14; } + v3 = zpeg_P_struct_decl(vc); + if (v3 == 0) goto b14; goto b9; b14: zchoice(vc); -b19: v4 = zpeg_P_union_decl(vc); -b21: if ((v4) == (0UL)) { goto b18; } + v4 = zpeg_P_union_decl(vc); + if (v4 == 0) goto b18; goto b9; b18: zchoice(vc); -b23: v5 = zpeg_P_func_decl(vc); -b25: if ((v5) == (0UL)) { goto b22; } + v5 = zpeg_P_func_decl(vc); + if (v5 == 0) goto b22; goto b9; b22: zchoice(vc); -b27: v6 = zpeg_P_peg_grammar(vc); -b29: if ((v6) == (0UL)) { goto b26; } + v6 = zpeg_P_peg_grammar(vc); + if (v6 == 0) goto b26; goto b9; b26: zfail(vc); -b6: zchoice(vc); -b34: v7 = zany(vc); -b36: if ((v7) == (0UL)) { goto b33; } -b35: zfail(vc); -b37: zfail(vc); + zchoice(vc); + v7 = zany(vc); + if (v7 == 0) goto b33; + zfail(vc); + zfail(vc); b1: zfail(vc); -b40: return 0UL; -b33: zleave(vc, 0UL); -b39: return 1UL; + return 0; +b33: zleave(vc, 0); + return 1; } -u zpeg_P_gt_op(u vc) { +u zpeg_P_gt_op(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 34UL); -b2: v1 = zliteral(vc, (u)">"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zliteral(vc, (u)"="); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 34); + v1 = zliteral(vc, (u)">"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zliteral(vc, (u)"="); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b18: return 0UL; + return 0; b5: zchoice(vc); -b12: v3 = zliteral(vc, (u)">"); -b14: if ((v3) == (0UL)) { goto b11; } -b13: zfail(vc); -b15: zfail(vc); + v3 = zliteral(vc, (u)">"); + if (v3 == 0) goto b11; + zfail(vc); + zfail(vc); goto b1; -b11: zleave(vc, 34UL); -b17: return 1UL; +b11: zleave(vc, 34); + return 1; } -u zpeg_P_hex(u vc) { +u zpeg_P_hex(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 65UL); -b2: v1 = zliteral(vc, (u)"0x"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zcharset(vc, (u)"0123456789ABCDEF_abcdef"); -b6: if ((v2) == (0UL)) { goto b1; } + zenter(vc, 65); + v1 = zliteral(vc, (u)"0x"); + if (v1 == 0) goto b1; + v2 = zcharset(vc, (u)"0123456789ABCDEF_abcdef"); + if (v2 == 0) goto b1; b7: zchoice(vc); -b9: v3 = zcharset(vc, (u)"0123456789ABCDEF_abcdef"); -b11: if ((v3) == (0UL)) { goto b8; } -b10: zcommit(vc); + v3 = zcharset(vc, (u)"0123456789ABCDEF_abcdef"); + if (v3 == 0) goto b8; + zcommit(vc); goto b7; -b8: zleave(vc, 65UL); -b13: return 1UL; +b8: zleave(vc, 65); + return 1; b1: zfail(vc); -b14: return 0UL; + return 0; } -u zpeg_P_ident(u vc) { +u zpeg_P_ident(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 88UL); -b2: zchoice(vc); -b4: v1 = zpeg_P_reserved(vc); -b6: if ((v1) == (0UL)) { goto b3; } -b5: zfail(vc); -b7: zfail(vc); + zenter(vc, 88); + zchoice(vc); + v1 = zpeg_P_reserved(vc); + if (v1 == 0) goto b3; + zfail(vc); + zfail(vc); b1: zfail(vc); -b18: return 0UL; + return 0; b3: v2 = zcharset(vc, (u)"ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b10: if ((v2) == (0UL)) { goto b1; } + if (v2 == 0) goto b1; b11: zchoice(vc); -b13: v3 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b15: if ((v3) == (0UL)) { goto b12; } -b14: zcommit(vc); + v3 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v3 == 0) goto b12; + zcommit(vc); goto b11; -b12: zleave(vc, 88UL); -b17: return 1UL; +b12: zleave(vc, 88); + return 1; } -u zpeg_P_if(u vc) { +u zpeg_P_if(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 73UL); -b2: v1 = zliteral(vc, (u)"if"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 73); + v1 = zliteral(vc, (u)"if"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 73UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 73); + return 1; } -u zpeg_P_if_stmt(u vc) { +u zpeg_P_if_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; -b0: zenter(vc, 15UL); -b2: v1 = zpeg_P_if(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_expr(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_compound_stmt(vc); -b10: if ((v4) == (0UL)) { goto b1; } + zenter(vc, 15); + v1 = zpeg_P_if(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_expr(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_compound_stmt(vc); + if (v4 == 0) goto b1; b11: zchoice(vc); -b13: v5 = zpeg_P_elif_stmt(vc); -b15: if ((v5) == (0UL)) { goto b12; } -b14: zcommit(vc); + v5 = zpeg_P_elif_stmt(vc); + if (v5 == 0) goto b12; + zcommit(vc); goto b11; b12: zchoice(vc); -b17: v6 = zpeg_P_else_stmt(vc); -b20: if ((v6) == (0UL)) { goto b18; } -b19: zcommit(vc); -b18: zleave(vc, 15UL); -b22: return 1UL; + v6 = zpeg_P_else_stmt(vc); + if (v6 == 0) goto b18; + zcommit(vc); +b18: zleave(vc, 15); + return 1; b1: zfail(vc); -b23: return 0UL; + return 0; } -u zpeg_P_index_expr(u vc) { +u zpeg_P_index_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: zenter(vc, 58UL); -b2: v1 = zliteral(vc, (u)"["); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_expr(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zliteral(vc, (u)"]"); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zpeg_P_sp(vc); -b12: if ((v5) == (0UL)) { goto b1; } -b11: zleave(vc, 58UL); -b13: return 1UL; + zenter(vc, 58); + v1 = zliteral(vc, (u)"["); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_expr(vc); + if (v3 == 0) goto b1; + v4 = zliteral(vc, (u)"]"); + if (v4 == 0) goto b1; + v5 = zpeg_P_sp(vc); + if (v5 == 0) goto b1; + zleave(vc, 58); + return 1; b1: zfail(vc); -b14: return 0UL; + return 0; } -u zpeg_P_int(u vc) { +u zpeg_P_int(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 83UL); -b2: v1 = zliteral(vc, (u)"int"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 83); + v1 = zliteral(vc, (u)"int"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 83UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 83); + return 1; } -u zpeg_P_label_stmt(u vc) { +u zpeg_P_label_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: zenter(vc, 21UL); -b2: v1 = zpeg_P_ident(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zliteral(vc, (u)":"); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: zleave(vc, 21UL); -b11: return 1UL; + zenter(vc, 21); + v1 = zpeg_P_ident(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zliteral(vc, (u)":"); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + zleave(vc, 21); + return 1; b1: zfail(vc); -b12: return 0UL; + return 0; } -u zpeg_P_le_op(u vc) { +u zpeg_P_le_op(u vc){ u v1 = 0; -b0: zenter(vc, 31UL); -b2: v1 = zliteral(vc, (u)"<="); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 31UL); -b5: return 1UL; + zenter(vc, 31); + v1 = zliteral(vc, (u)"<="); + if (v1 == 0) goto b1; + zleave(vc, 31); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_loop(u vc) { +u zpeg_P_loop(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 75UL); -b2: v1 = zliteral(vc, (u)"loop"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 75); + v1 = zliteral(vc, (u)"loop"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 75UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 75); + return 1; } -u zpeg_P_loop_stmt(u vc) { +u zpeg_P_loop_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: zenter(vc, 16UL); -b2: v1 = zpeg_P_loop(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_compound_stmt(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: zleave(vc, 16UL); -b11: return 1UL; + zenter(vc, 16); + v1 = zpeg_P_loop(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_compound_stmt(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + zleave(vc, 16); + return 1; b1: zfail(vc); -b12: return 0UL; + return 0; } -u zpeg_P_lsh_op(u vc) { +u zpeg_P_lsh_op(u vc){ u v1 = 0; -b0: zenter(vc, 48UL); -b2: v1 = zliteral(vc, (u)"<<"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 48UL); -b5: return 1UL; + zenter(vc, 48); + v1 = zliteral(vc, (u)"<<"); + if (v1 == 0) goto b1; + zleave(vc, 48); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_lt_op(u vc) { +u zpeg_P_lt_op(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 33UL); -b2: v1 = zliteral(vc, (u)"<"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zliteral(vc, (u)"="); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 33); + v1 = zliteral(vc, (u)"<"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zliteral(vc, (u)"="); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b18: return 0UL; + return 0; b5: zchoice(vc); -b12: v3 = zliteral(vc, (u)"<"); -b14: if ((v3) == (0UL)) { goto b11; } -b13: zfail(vc); -b15: zfail(vc); + v3 = zliteral(vc, (u)"<"); + if (v3 == 0) goto b11; + zfail(vc); + zfail(vc); goto b1; -b11: zleave(vc, 33UL); -b17: return 1UL; +b11: zleave(vc, 33); + return 1; } -u zpeg_P_member_decl(u vc) { +u zpeg_P_member_decl(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -26244,56 +25738,56 @@ u zpeg_P_member_decl(u vc) { u v5 = 0; u v6 = 0; u v7 = 0; -b0: zenter(vc, 3UL); -b2: v1 = zpeg_P_ident(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zliteral(vc, (u)":"); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zpeg_P_type(vc); -b12: if ((v5) == (0UL)) { goto b1; } -b11: v6 = zliteral(vc, (u)";"); -b14: if ((v6) == (0UL)) { goto b1; } -b13: v7 = zpeg_P_sp(vc); -b16: if ((v7) == (0UL)) { goto b1; } -b15: zleave(vc, 3UL); -b17: return 1UL; + zenter(vc, 3); + v1 = zpeg_P_ident(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zliteral(vc, (u)":"); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zpeg_P_type(vc); + if (v5 == 0) goto b1; + v6 = zliteral(vc, (u)";"); + if (v6 == 0) goto b1; + v7 = zpeg_P_sp(vc); + if (v7 == 0) goto b1; + zleave(vc, 3); + return 1; b1: zfail(vc); -b18: return 0UL; + return 0; } -u zpeg_P_member_expr(u vc) { +u zpeg_P_member_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: zenter(vc, 60UL); -b2: v1 = zliteral(vc, (u)"."); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_ident(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: zleave(vc, 60UL); -b11: return 1UL; + zenter(vc, 60); + v1 = zliteral(vc, (u)"."); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_ident(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + zleave(vc, 60); + return 1; b1: zfail(vc); -b12: return 0UL; + return 0; } -u zpeg_P_mod_op(u vc) { +u zpeg_P_mod_op(u vc){ u v1 = 0; -b0: zenter(vc, 45UL); -b2: v1 = zliteral(vc, (u)"%"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 45UL); -b5: return 1UL; + zenter(vc, 45); + v1 = zliteral(vc, (u)"%"); + if (v1 == 0) goto b1; + zleave(vc, 45); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_mul_expr(u vc) { +u zpeg_P_mul_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -26301,157 +25795,157 @@ u zpeg_P_mul_expr(u vc) { u v5 = 0; u v6 = 0; u v7 = 0; -b0: zenter(vc, 47UL); -b2: v1 = zpeg_P_shift_expr(vc); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 47); + v1 = zpeg_P_shift_expr(vc); + if (v1 == 0) goto b1; b5: zchoice(vc); -b8: zchoice(vc); -b11: v2 = zpeg_P_mul_op(vc); -b13: if ((v2) == (0UL)) { goto b10; } + zchoice(vc); + v2 = zpeg_P_mul_op(vc); + if (v2 == 0) goto b10; b9: zcommit(vc); -b27: v6 = zpeg_P_sp(vc); -b29: if ((v6) == (0UL)) { goto b6; } -b28: v7 = zpeg_P_shift_expr(vc); -b31: if ((v7) == (0UL)) { goto b6; } -b30: zcommit(vc); + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b6; + v7 = zpeg_P_shift_expr(vc); + if (v7 == 0) goto b6; + zcommit(vc); goto b5; -b6: zleave(vc, 47UL); -b33: return 1UL; +b6: zleave(vc, 47); + return 1; b10: zchoice(vc); -b15: v3 = zpeg_P_div_op(vc); -b17: if ((v3) == (0UL)) { goto b14; } + v3 = zpeg_P_div_op(vc); + if (v3 == 0) goto b14; goto b9; b14: zchoice(vc); -b19: v4 = zpeg_P_mod_op(vc); -b21: if ((v4) == (0UL)) { goto b18; } + v4 = zpeg_P_mod_op(vc); + if (v4 == 0) goto b18; goto b9; b18: zchoice(vc); -b23: v5 = zpeg_P_and_op(vc); -b25: if ((v5) == (0UL)) { goto b22; } + v5 = zpeg_P_and_op(vc); + if (v5 == 0) goto b22; goto b9; b22: zfail(vc); goto b6; b1: zfail(vc); -b34: return 0UL; + return 0; } -u zpeg_P_mul_op(u vc) { +u zpeg_P_mul_op(u vc){ u v1 = 0; -b0: zenter(vc, 43UL); -b2: v1 = zliteral(vc, (u)"*"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 43UL); -b5: return 1UL; + zenter(vc, 43); + v1 = zliteral(vc, (u)"*"); + if (v1 == 0) goto b1; + zleave(vc, 43); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_ne_op(u vc) { +u zpeg_P_ne_op(u vc){ u v1 = 0; -b0: zenter(vc, 36UL); -b2: v1 = zliteral(vc, (u)"!="); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 36UL); -b5: return 1UL; + zenter(vc, 36); + v1 = zliteral(vc, (u)"!="); + if (v1 == 0) goto b1; + zleave(vc, 36); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_neg_op(u vc) { +u zpeg_P_neg_op(u vc){ u v1 = 0; -b0: zenter(vc, 54UL); -b2: v1 = zliteral(vc, (u)"-"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 54UL); -b5: return 1UL; + zenter(vc, 54); + v1 = zliteral(vc, (u)"-"); + if (v1 == 0) goto b1; + zleave(vc, 54); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_nil(u vc) { +u zpeg_P_nil(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 87UL); -b2: v1 = zliteral(vc, (u)"nil"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 87); + v1 = zliteral(vc, (u)"nil"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 87UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 87); + return 1; } -u zpeg_P_not_op(u vc) { +u zpeg_P_not_op(u vc){ u v1 = 0; -b0: zenter(vc, 55UL); -b2: v1 = zliteral(vc, (u)"~"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 55UL); -b5: return 1UL; + zenter(vc, 55); + v1 = zliteral(vc, (u)"~"); + if (v1 == 0) goto b1; + zleave(vc, 55); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_or_op(u vc) { +u zpeg_P_or_op(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 40UL); -b2: v1 = zliteral(vc, (u)"|"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zliteral(vc, (u)"|"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 40); + v1 = zliteral(vc, (u)"|"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zliteral(vc, (u)"|"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 40UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 40); + return 1; } -u zpeg_P_peg_alternative(u vc) { +u zpeg_P_peg_alternative(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 94UL); -b2: v1 = zpeg_P_peg_lookahead(vc); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 94); + v1 = zpeg_P_peg_lookahead(vc); + if (v1 == 0) goto b1; b5: zchoice(vc); -b7: v2 = zpeg_P_peg_lookahead(vc); -b9: if ((v2) == (0UL)) { goto b6; } -b8: zcommit(vc); + v2 = zpeg_P_peg_lookahead(vc); + if (v2 == 0) goto b6; + zcommit(vc); goto b5; -b6: zleave(vc, 94UL); -b11: return 1UL; +b6: zleave(vc, 94); + return 1; b1: zfail(vc); -b12: return 0UL; + return 0; } -u zpeg_P_peg_any(u vc) { +u zpeg_P_peg_any(u vc){ u v1 = 0; -b0: zenter(vc, 100UL); -b2: v1 = zliteral(vc, (u)"."); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 100UL); -b5: return 1UL; + zenter(vc, 100); + v1 = zliteral(vc, (u)"."); + if (v1 == 0) goto b1; + zleave(vc, 100); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_peg_call(u vc) { +u zpeg_P_peg_call(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 103UL); -b2: v1 = zpeg_P_peg_identifier(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zpeg_P_sp(vc); -b8: if ((v2) == (0UL)) { goto b5; } -b7: v3 = zliteral(vc, (u)"<-"); -b10: if ((v3) == (0UL)) { goto b5; } -b9: zfail(vc); -b11: zfail(vc); + zenter(vc, 103); + v1 = zpeg_P_peg_identifier(vc); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b5; + v3 = zliteral(vc, (u)"<-"); + if (v3 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b14: return 0UL; -b5: zleave(vc, 103UL); -b13: return 1UL; + return 0; +b5: zleave(vc, 103); + return 1; } -u zpeg_P_peg_class(u vc) { +u zpeg_P_peg_class(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -26459,49 +25953,49 @@ u zpeg_P_peg_class(u vc) { u v5 = 0; u v6 = 0; u v7 = 0; -b0: zenter(vc, 102UL); -b2: v1 = zliteral(vc, (u)"["); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 102); + v1 = zliteral(vc, (u)"["); + if (v1 == 0) goto b1; b5: zchoice(vc); -b7: zchoice(vc); -b9: v2 = zliteral(vc, (u)"]"); -b11: if ((v2) == (0UL)) { goto b14; } -b10: zfail(vc); -b12: zfail(vc); + zchoice(vc); + v2 = zliteral(vc, (u)"]"); + if (v2 == 0) goto b14; + zfail(vc); + zfail(vc); b6: v7 = zliteral(vc, (u)"]"); -b32: if ((v7) == (0UL)) { goto b1; } -b31: zleave(vc, 102UL); -b33: return 1UL; + if (v7 == 0) goto b1; + zleave(vc, 102); + return 1; b1: zfail(vc); -b34: return 0UL; + return 0; b14: zchoice(vc); -b17: v3 = zany(vc); -b19: if ((v3) == (0UL)) { goto b16; } -b18: v4 = zliteral(vc, (u)"-"); -b21: if ((v4) == (0UL)) { goto b16; } -b20: v5 = zany(vc); -b23: if ((v5) == (0UL)) { goto b16; } + v3 = zany(vc); + if (v3 == 0) goto b16; + v4 = zliteral(vc, (u)"-"); + if (v4 == 0) goto b16; + v5 = zany(vc); + if (v5 == 0) goto b16; b15: zcommit(vc); -b29: zcommit(vc); + zcommit(vc); goto b5; b16: zchoice(vc); -b25: v6 = zany(vc); -b27: if ((v6) == (0UL)) { goto b24; } + v6 = zany(vc); + if (v6 == 0) goto b24; goto b15; b24: zfail(vc); goto b6; } -u zpeg_P_peg_countop(u vc) { +u zpeg_P_peg_countop(u vc){ u v1 = 0; -b0: zenter(vc, 97UL); -b2: v1 = zcharset(vc, (u)"*+?"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 97UL); -b5: return 1UL; + zenter(vc, 97); + v1 = zcharset(vc, (u)"*+?"); + if (v1 == 0) goto b1; + zleave(vc, 97); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_peg_grammar(u vc) { +u zpeg_P_peg_grammar(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -26510,159 +26004,159 @@ u zpeg_P_peg_grammar(u vc) { u v6 = 0; u v7 = 0; u v8 = 0; -b0: zenter(vc, 90UL); -b2: v1 = zliteral(vc, (u)"%{"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b7: zchoice(vc); -b10: v3 = zpeg_P_peg_rule(vc); -b12: if ((v3) == (0UL)) { goto b9; } + zenter(vc, 90); + v1 = zliteral(vc, (u)"%{"); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + zchoice(vc); + v3 = zpeg_P_peg_rule(vc); + if (v3 == 0) goto b9; b8: zcommit(vc); b19: zchoice(vc); -b22: zchoice(vc); -b25: v5 = zpeg_P_peg_rule(vc); -b27: if ((v5) == (0UL)) { goto b24; } + zchoice(vc); + v5 = zpeg_P_peg_rule(vc); + if (v5 == 0) goto b24; b23: zcommit(vc); -b33: zcommit(vc); + zcommit(vc); goto b19; b24: zchoice(vc); -b29: v6 = zpeg_P_peg_prefix(vc); -b31: if ((v6) == (0UL)) { goto b28; } + v6 = zpeg_P_peg_prefix(vc); + if (v6 == 0) goto b28; goto b23; b28: zfail(vc); -b20: v7 = zliteral(vc, (u)"%}"); -b36: if ((v7) == (0UL)) { goto b1; } -b35: v8 = zpeg_P_sp(vc); -b38: if ((v8) == (0UL)) { goto b1; } -b37: zleave(vc, 90UL); -b39: return 1UL; + v7 = zliteral(vc, (u)"%}"); + if (v7 == 0) goto b1; + v8 = zpeg_P_sp(vc); + if (v8 == 0) goto b1; + zleave(vc, 90); + return 1; b1: zfail(vc); -b40: return 0UL; + return 0; b9: zchoice(vc); -b14: v4 = zpeg_P_peg_prefix(vc); -b16: if ((v4) == (0UL)) { goto b13; } + v4 = zpeg_P_peg_prefix(vc); + if (v4 == 0) goto b13; goto b8; b13: zfail(vc); goto b1; } -u zpeg_P_peg_identifier(u vc) { +u zpeg_P_peg_identifier(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 104UL); -b2: v1 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 104); + v1 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v1 == 0) goto b1; b5: zchoice(vc); -b7: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b9: if ((v2) == (0UL)) { goto b6; } -b8: zcommit(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b6; + zcommit(vc); goto b5; -b6: zleave(vc, 104UL); -b11: return 1UL; +b6: zleave(vc, 104); + return 1; b1: zfail(vc); -b12: return 0UL; + return 0; } -u zpeg_P_peg_literal(u vc) { +u zpeg_P_peg_literal(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: zenter(vc, 101UL); -b2: v1 = zcharset(vc, (u)"'"); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 101); + v1 = zcharset(vc, (u)"'"); + if (v1 == 0) goto b1; b5: zchoice(vc); -b7: zchoice(vc); -b9: v2 = zcharset(vc, (u)"'"); -b11: if ((v2) == (0UL)) { goto b8; } -b10: zfail(vc); -b12: zfail(vc); + zchoice(vc); + v2 = zcharset(vc, (u)"'"); + if (v2 == 0) goto b8; + zfail(vc); + zfail(vc); b6: v4 = zcharset(vc, (u)"'"); -b18: if ((v4) == (0UL)) { goto b1; } -b17: zleave(vc, 101UL); -b19: return 1UL; + if (v4 == 0) goto b1; + zleave(vc, 101); + return 1; b1: zfail(vc); -b20: return 0UL; + return 0; b8: v3 = zany(vc); -b15: if ((v3) == (0UL)) { goto b6; } -b14: zcommit(vc); + if (v3 == 0) goto b6; + zcommit(vc); goto b5; } -u zpeg_P_peg_lookahead(u vc) { +u zpeg_P_peg_lookahead(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 96UL); -b2: zchoice(vc); -b3: v1 = zpeg_P_peg_lookop(vc); -b6: if ((v1) == (0UL)) { goto b4; } -b5: v2 = zpeg_P_sp(vc); -b8: if ((v2) == (0UL)) { goto b4; } -b7: zcommit(vc); + zenter(vc, 96); + zchoice(vc); + v1 = zpeg_P_peg_lookop(vc); + if (v1 == 0) goto b4; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b4; + zcommit(vc); b4: v3 = zpeg_P_peg_suffix(vc); -b11: if ((v3) == (0UL)) { goto b1; } -b10: zleave(vc, 96UL); -b12: return 1UL; + if (v3 == 0) goto b1; + zleave(vc, 96); + return 1; b1: zfail(vc); -b13: return 0UL; + return 0; } -u zpeg_P_peg_lookop(u vc) { +u zpeg_P_peg_lookop(u vc){ u v1 = 0; -b0: zenter(vc, 95UL); -b2: v1 = zcharset(vc, (u)"!&"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 95UL); -b5: return 1UL; + zenter(vc, 95); + v1 = zcharset(vc, (u)"!&"); + if (v1 == 0) goto b1; + zleave(vc, 95); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_peg_pattern(u vc) { +u zpeg_P_peg_pattern(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: zenter(vc, 93UL); -b2: v1 = zpeg_P_peg_alternative(vc); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 93); + v1 = zpeg_P_peg_alternative(vc); + if (v1 == 0) goto b1; b5: zchoice(vc); -b7: v2 = zliteral(vc, (u)"/"); -b9: if ((v2) == (0UL)) { goto b6; } -b8: zchoice(vc); -b11: v3 = zliteral(vc, (u)"/"); -b13: if ((v3) == (0UL)) { goto b10; } -b12: zfail(vc); -b14: zfail(vc); -b6: zleave(vc, 93UL); -b21: return 1UL; + v2 = zliteral(vc, (u)"/"); + if (v2 == 0) goto b6; + zchoice(vc); + v3 = zliteral(vc, (u)"/"); + if (v3 == 0) goto b10; + zfail(vc); + zfail(vc); +b6: zleave(vc, 93); + return 1; b10: v4 = zpeg_P_sp(vc); -b17: if ((v4) == (0UL)) { goto b6; } -b16: v5 = zpeg_P_peg_alternative(vc); -b19: if ((v5) == (0UL)) { goto b6; } -b18: zcommit(vc); + if (v4 == 0) goto b6; + v5 = zpeg_P_peg_alternative(vc); + if (v5 == 0) goto b6; + zcommit(vc); goto b5; b1: zfail(vc); -b22: return 0UL; + return 0; } -u zpeg_P_peg_prefix(u vc) { +u zpeg_P_peg_prefix(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: zenter(vc, 92UL); -b2: v1 = zliteral(vc, (u)"%prefix"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_peg_identifier(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: zleave(vc, 92UL); -b11: return 1UL; + zenter(vc, 92); + v1 = zliteral(vc, (u)"%prefix"); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_peg_identifier(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + zleave(vc, 92); + return 1; b1: zfail(vc); -b12: return 0UL; + return 0; } -u zpeg_P_peg_primary(u vc) { +u zpeg_P_peg_primary(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -26672,128 +26166,128 @@ u zpeg_P_peg_primary(u vc) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: zenter(vc, 99UL); -b3: zchoice(vc); -b6: v1 = zliteral(vc, (u)"("); -b8: if ((v1) == (0UL)) { goto b5; } -b7: v2 = zpeg_P_sp(vc); -b10: if ((v2) == (0UL)) { goto b5; } -b9: v3 = zpeg_P_peg_pattern(vc); -b12: if ((v3) == (0UL)) { goto b5; } -b11: v4 = zliteral(vc, (u)")"); -b14: if ((v4) == (0UL)) { goto b5; } + zenter(vc, 99); + zchoice(vc); + v1 = zliteral(vc, (u)"("); + if (v1 == 0) goto b5; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b5; + v3 = zpeg_P_peg_pattern(vc); + if (v3 == 0) goto b5; + v4 = zliteral(vc, (u)")"); + if (v4 == 0) goto b5; b4: zcommit(vc); -b32: v9 = zpeg_P_sp(vc); -b34: if ((v9) == (0UL)) { goto b1; } -b33: zleave(vc, 99UL); -b35: return 1UL; + v9 = zpeg_P_sp(vc); + if (v9 == 0) goto b1; + zleave(vc, 99); + return 1; b1: zfail(vc); -b36: return 0UL; + return 0; b5: zchoice(vc); -b16: v5 = zpeg_P_peg_any(vc); -b18: if ((v5) == (0UL)) { goto b15; } + v5 = zpeg_P_peg_any(vc); + if (v5 == 0) goto b15; goto b4; b15: zchoice(vc); -b20: v6 = zpeg_P_peg_literal(vc); -b22: if ((v6) == (0UL)) { goto b19; } + v6 = zpeg_P_peg_literal(vc); + if (v6 == 0) goto b19; goto b4; b19: zchoice(vc); -b24: v7 = zpeg_P_peg_class(vc); -b26: if ((v7) == (0UL)) { goto b23; } + v7 = zpeg_P_peg_class(vc); + if (v7 == 0) goto b23; goto b4; b23: zchoice(vc); -b28: v8 = zpeg_P_peg_call(vc); -b30: if ((v8) == (0UL)) { goto b27; } + v8 = zpeg_P_peg_call(vc); + if (v8 == 0) goto b27; goto b4; b27: zfail(vc); goto b1; } -u zpeg_P_peg_rule(u vc) { +u zpeg_P_peg_rule(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: zenter(vc, 91UL); -b2: v1 = zpeg_P_peg_identifier(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zliteral(vc, (u)"<-"); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zpeg_P_peg_pattern(vc); -b12: if ((v5) == (0UL)) { goto b1; } -b11: zleave(vc, 91UL); -b13: return 1UL; + zenter(vc, 91); + v1 = zpeg_P_peg_identifier(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zliteral(vc, (u)"<-"); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zpeg_P_peg_pattern(vc); + if (v5 == 0) goto b1; + zleave(vc, 91); + return 1; b1: zfail(vc); -b14: return 0UL; + return 0; } -u zpeg_P_peg_suffix(u vc) { +u zpeg_P_peg_suffix(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 98UL); -b2: v1 = zpeg_P_peg_primary(vc); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 98); + v1 = zpeg_P_peg_primary(vc); + if (v1 == 0) goto b1; b5: zchoice(vc); -b7: v2 = zpeg_P_peg_countop(vc); -b9: if ((v2) == (0UL)) { goto b6; } -b8: v3 = zpeg_P_sp(vc); -b11: if ((v3) == (0UL)) { goto b6; } -b10: zcommit(vc); + v2 = zpeg_P_peg_countop(vc); + if (v2 == 0) goto b6; + v3 = zpeg_P_sp(vc); + if (v3 == 0) goto b6; + zcommit(vc); goto b5; -b6: zleave(vc, 98UL); -b13: return 1UL; +b6: zleave(vc, 98); + return 1; b1: zfail(vc); -b14: return 0UL; + return 0; } -u zpeg_P_pos_op(u vc) { +u zpeg_P_pos_op(u vc){ u v1 = 0; -b0: zenter(vc, 53UL); -b2: v1 = zliteral(vc, (u)"+"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 53UL); -b5: return 1UL; + zenter(vc, 53); + v1 = zliteral(vc, (u)"+"); + if (v1 == 0) goto b1; + zleave(vc, 53); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_post_expr(u vc) { +u zpeg_P_post_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: zenter(vc, 62UL); -b2: v1 = zpeg_P_primary(vc); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 62); + v1 = zpeg_P_primary(vc); + if (v1 == 0) goto b1; b5: zchoice(vc); -b8: zchoice(vc); -b11: v2 = zpeg_P_index_expr(vc); -b13: if ((v2) == (0UL)) { goto b10; } + zchoice(vc); + v2 = zpeg_P_index_expr(vc); + if (v2 == 0) goto b10; b9: zcommit(vc); -b27: zcommit(vc); + zcommit(vc); goto b5; b10: zchoice(vc); -b15: v3 = zpeg_P_call_expr(vc); -b17: if ((v3) == (0UL)) { goto b14; } + v3 = zpeg_P_call_expr(vc); + if (v3 == 0) goto b14; goto b9; b14: zchoice(vc); -b19: v4 = zpeg_P_member_expr(vc); -b21: if ((v4) == (0UL)) { goto b18; } + v4 = zpeg_P_member_expr(vc); + if (v4 == 0) goto b18; goto b9; b18: zchoice(vc); -b23: v5 = zpeg_P_cast_expr(vc); -b25: if ((v5) == (0UL)) { goto b22; } + v5 = zpeg_P_cast_expr(vc); + if (v5 == 0) goto b22; goto b9; b22: zfail(vc); -b6: zleave(vc, 62UL); -b29: return 1UL; + zleave(vc, 62); + return 1; b1: zfail(vc); -b30: return 0UL; + return 0; } -u zpeg_P_primary(u vc) { +u zpeg_P_primary(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -26812,98 +26306,98 @@ u zpeg_P_primary(u vc) { u v16 = 0; u v17 = 0; u v18 = 0; -b0: zenter(vc, 63UL); -b3: zchoice(vc); -b6: v1 = zpeg_P_ident(vc); -b8: if ((v1) == (0UL)) { goto b5; } -b7: v2 = zpeg_P_sp(vc); -b10: if ((v2) == (0UL)) { goto b5; } + zenter(vc, 63); + zchoice(vc); + v1 = zpeg_P_ident(vc); + if (v1 == 0) goto b5; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b5; b4: zcommit(vc); -b58: zleave(vc, 63UL); -b59: return 1UL; + zleave(vc, 63); + return 1; b5: zchoice(vc); -b12: v3 = zpeg_P_hex(vc); -b14: if ((v3) == (0UL)) { goto b11; } -b13: v4 = zpeg_P_sp(vc); -b16: if ((v4) == (0UL)) { goto b11; } + v3 = zpeg_P_hex(vc); + if (v3 == 0) goto b11; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b11; goto b4; b11: zchoice(vc); -b18: v5 = zpeg_P_dec(vc); -b20: if ((v5) == (0UL)) { goto b17; } -b19: v6 = zpeg_P_sp(vc); -b22: if ((v6) == (0UL)) { goto b17; } + v5 = zpeg_P_dec(vc); + if (v5 == 0) goto b17; + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b17; goto b4; b17: zchoice(vc); -b24: v7 = zpeg_P_str(vc); -b26: if ((v7) == (0UL)) { goto b23; } -b25: v8 = zpeg_P_sp(vc); -b28: if ((v8) == (0UL)) { goto b23; } + v7 = zpeg_P_str(vc); + if (v7 == 0) goto b23; + v8 = zpeg_P_sp(vc); + if (v8 == 0) goto b23; goto b4; b23: zchoice(vc); -b30: v9 = zpeg_P_char(vc); -b32: if ((v9) == (0UL)) { goto b29; } -b31: v10 = zpeg_P_sp(vc); -b34: if ((v10) == (0UL)) { goto b29; } + v9 = zpeg_P_char(vc); + if (v9 == 0) goto b29; + v10 = zpeg_P_sp(vc); + if (v10 == 0) goto b29; goto b4; b29: zchoice(vc); -b36: v11 = zpeg_P_sizeof_expr(vc); -b38: if ((v11) == (0UL)) { goto b35; } + v11 = zpeg_P_sizeof_expr(vc); + if (v11 == 0) goto b35; goto b4; b35: zchoice(vc); -b40: v12 = zpeg_P_nil(vc); -b42: if ((v12) == (0UL)) { goto b39; } -b41: v13 = zpeg_P_sp(vc); -b44: if ((v13) == (0UL)) { goto b39; } + v12 = zpeg_P_nil(vc); + if (v12 == 0) goto b39; + v13 = zpeg_P_sp(vc); + if (v13 == 0) goto b39; goto b4; b39: zchoice(vc); -b46: v14 = zliteral(vc, (u)"("); -b48: if ((v14) == (0UL)) { goto b45; } -b47: v15 = zpeg_P_sp(vc); -b50: if ((v15) == (0UL)) { goto b45; } -b49: v16 = zpeg_P_expr(vc); -b52: if ((v16) == (0UL)) { goto b45; } -b51: v17 = zliteral(vc, (u)")"); -b54: if ((v17) == (0UL)) { goto b45; } -b53: v18 = zpeg_P_sp(vc); -b56: if ((v18) == (0UL)) { goto b45; } + v14 = zliteral(vc, (u)"("); + if (v14 == 0) goto b45; + v15 = zpeg_P_sp(vc); + if (v15 == 0) goto b45; + v16 = zpeg_P_expr(vc); + if (v16 == 0) goto b45; + v17 = zliteral(vc, (u)")"); + if (v17 == 0) goto b45; + v18 = zpeg_P_sp(vc); + if (v18 == 0) goto b45; goto b4; b45: zfail(vc); -b1: zfail(vc); -b60: return 0UL; + zfail(vc); + return 0; } -u zpeg_P_ptr_type(u vc) { +u zpeg_P_ptr_type(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; -b0: zenter(vc, 8UL); -b2: v1 = zliteral(vc, (u)"*"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_type(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: zleave(vc, 8UL); -b9: return 1UL; + zenter(vc, 8); + v1 = zliteral(vc, (u)"*"); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_type(vc); + if (v3 == 0) goto b1; + zleave(vc, 8); + return 1; b1: zfail(vc); -b10: return 0UL; + return 0; } -u zpeg_P_ref_op(u vc) { +u zpeg_P_ref_op(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 51UL); -b2: v1 = zliteral(vc, (u)"&"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zliteral(vc, (u)"&"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 51); + v1 = zliteral(vc, (u)"&"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zliteral(vc, (u)"&"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 51UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 51); + return 1; } -u zpeg_P_reserved(u vc) { +u zpeg_P_reserved(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -26922,186 +26416,186 @@ u zpeg_P_reserved(u vc) { u v16 = 0; u v17 = 0; u v18 = 0; -b0: zenter(vc, 69UL); -b3: zchoice(vc); -b6: v1 = zpeg_P_return(vc); -b8: if ((v1) == (0UL)) { goto b5; } + zenter(vc, 69); + zchoice(vc); + v1 = zpeg_P_return(vc); + if (v1 == 0) goto b5; b4: zcommit(vc); -b78: zleave(vc, 69UL); -b79: return 1UL; + zleave(vc, 69); + return 1; b5: zchoice(vc); -b10: v2 = zpeg_P_break(vc); -b12: if ((v2) == (0UL)) { goto b9; } + v2 = zpeg_P_break(vc); + if (v2 == 0) goto b9; goto b4; b9: zchoice(vc); -b14: v3 = zpeg_P_sizeof(vc); -b16: if ((v3) == (0UL)) { goto b13; } + v3 = zpeg_P_sizeof(vc); + if (v3 == 0) goto b13; goto b4; b13: zchoice(vc); -b18: v4 = zpeg_P_if(vc); -b20: if ((v4) == (0UL)) { goto b17; } + v4 = zpeg_P_if(vc); + if (v4 == 0) goto b17; goto b4; b17: zchoice(vc); -b22: v5 = zpeg_P_else(vc); -b24: if ((v5) == (0UL)) { goto b21; } + v5 = zpeg_P_else(vc); + if (v5 == 0) goto b21; goto b4; b21: zchoice(vc); -b26: v6 = zpeg_P_loop(vc); -b28: if ((v6) == (0UL)) { goto b25; } + v6 = zpeg_P_loop(vc); + if (v6 == 0) goto b25; goto b4; b25: zchoice(vc); -b30: v7 = zpeg_P_continue(vc); -b32: if ((v7) == (0UL)) { goto b29; } + v7 = zpeg_P_continue(vc); + if (v7 == 0) goto b29; goto b4; b29: zchoice(vc); -b34: v8 = zpeg_P_goto(vc); -b36: if ((v8) == (0UL)) { goto b33; } + v8 = zpeg_P_goto(vc); + if (v8 == 0) goto b33; goto b4; b33: zchoice(vc); -b38: v9 = zpeg_P_var(vc); -b40: if ((v9) == (0UL)) { goto b37; } + v9 = zpeg_P_var(vc); + if (v9 == 0) goto b37; goto b4; b37: zchoice(vc); -b42: v10 = zpeg_P_enum(vc); -b44: if ((v10) == (0UL)) { goto b41; } + v10 = zpeg_P_enum(vc); + if (v10 == 0) goto b41; goto b4; b41: zchoice(vc); -b46: v11 = zpeg_P_struct(vc); -b48: if ((v11) == (0UL)) { goto b45; } + v11 = zpeg_P_struct(vc); + if (v11 == 0) goto b45; goto b4; b45: zchoice(vc); -b50: v12 = zpeg_P_union(vc); -b52: if ((v12) == (0UL)) { goto b49; } + v12 = zpeg_P_union(vc); + if (v12 == 0) goto b49; goto b4; b49: zchoice(vc); -b54: v13 = zpeg_P_byte(vc); -b56: if ((v13) == (0UL)) { goto b53; } + v13 = zpeg_P_byte(vc); + if (v13 == 0) goto b53; goto b4; b53: zchoice(vc); -b58: v14 = zpeg_P_int(vc); -b60: if ((v14) == (0UL)) { goto b57; } + v14 = zpeg_P_int(vc); + if (v14 == 0) goto b57; goto b4; b57: zchoice(vc); -b62: v15 = zpeg_P_void(vc); -b64: if ((v15) == (0UL)) { goto b61; } + v15 = zpeg_P_void(vc); + if (v15 == 0) goto b61; goto b4; b61: zchoice(vc); -b66: v16 = zpeg_P_func(vc); -b68: if ((v16) == (0UL)) { goto b65; } + v16 = zpeg_P_func(vc); + if (v16 == 0) goto b65; goto b4; b65: zchoice(vc); -b70: v17 = zpeg_P_as(vc); -b72: if ((v17) == (0UL)) { goto b69; } + v17 = zpeg_P_as(vc); + if (v17 == 0) goto b69; goto b4; b69: zchoice(vc); -b74: v18 = zpeg_P_nil(vc); -b76: if ((v18) == (0UL)) { goto b73; } + v18 = zpeg_P_nil(vc); + if (v18 == 0) goto b73; goto b4; b73: zfail(vc); -b1: zfail(vc); -b80: return 0UL; + zfail(vc); + return 0; } -u zpeg_P_return(u vc) { +u zpeg_P_return(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 70UL); -b2: v1 = zliteral(vc, (u)"return"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 70); + v1 = zliteral(vc, (u)"return"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 70UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 70); + return 1; } -u zpeg_P_return_stmt(u vc) { +u zpeg_P_return_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; -b0: zenter(vc, 19UL); -b2: v1 = zpeg_P_return(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: zchoice(vc); -b7: v3 = zpeg_P_expr(vc); -b10: if ((v3) == (0UL)) { goto b8; } -b9: zcommit(vc); + zenter(vc, 19); + v1 = zpeg_P_return(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + zchoice(vc); + v3 = zpeg_P_expr(vc); + if (v3 == 0) goto b8; + zcommit(vc); b8: v4 = zpeg_P_sp(vc); -b13: if ((v4) == (0UL)) { goto b1; } -b12: v5 = zliteral(vc, (u)";"); -b15: if ((v5) == (0UL)) { goto b1; } -b14: v6 = zpeg_P_sp(vc); -b17: if ((v6) == (0UL)) { goto b1; } -b16: zleave(vc, 19UL); -b18: return 1UL; + if (v4 == 0) goto b1; + v5 = zliteral(vc, (u)";"); + if (v5 == 0) goto b1; + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b1; + zleave(vc, 19); + return 1; b1: zfail(vc); -b19: return 0UL; + return 0; } -u zpeg_P_rsh_op(u vc) { +u zpeg_P_rsh_op(u vc){ u v1 = 0; -b0: zenter(vc, 49UL); -b2: v1 = zliteral(vc, (u)">>"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 49UL); -b5: return 1UL; + zenter(vc, 49); + v1 = zliteral(vc, (u)">>"); + if (v1 == 0) goto b1; + zleave(vc, 49); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_shift_expr(u vc) { +u zpeg_P_shift_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: zenter(vc, 50UL); -b2: v1 = zpeg_P_unary_expr(vc); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 50); + v1 = zpeg_P_unary_expr(vc); + if (v1 == 0) goto b1; b5: zchoice(vc); -b8: zchoice(vc); -b11: v2 = zpeg_P_lsh_op(vc); -b13: if ((v2) == (0UL)) { goto b10; } + zchoice(vc); + v2 = zpeg_P_lsh_op(vc); + if (v2 == 0) goto b10; b9: zcommit(vc); -b19: v4 = zpeg_P_sp(vc); -b21: if ((v4) == (0UL)) { goto b6; } -b20: v5 = zpeg_P_unary_expr(vc); -b23: if ((v5) == (0UL)) { goto b6; } -b22: zcommit(vc); + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b6; + v5 = zpeg_P_unary_expr(vc); + if (v5 == 0) goto b6; + zcommit(vc); goto b5; -b6: zleave(vc, 50UL); -b25: return 1UL; +b6: zleave(vc, 50); + return 1; b10: zchoice(vc); -b15: v3 = zpeg_P_rsh_op(vc); -b17: if ((v3) == (0UL)) { goto b14; } + v3 = zpeg_P_rsh_op(vc); + if (v3 == 0) goto b14; goto b9; b14: zfail(vc); goto b6; b1: zfail(vc); -b26: return 0UL; + return 0; } -u zpeg_P_sizeof(u vc) { +u zpeg_P_sizeof(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 72UL); -b2: v1 = zliteral(vc, (u)"sizeof"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 72); + v1 = zliteral(vc, (u)"sizeof"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 72UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 72); + return 1; } -u zpeg_P_sizeof_expr(u vc) { +u zpeg_P_sizeof_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -27109,58 +26603,58 @@ u zpeg_P_sizeof_expr(u vc) { u v5 = 0; u v6 = 0; u v7 = 0; -b0: zenter(vc, 64UL); -b2: v1 = zpeg_P_sizeof(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zliteral(vc, (u)"("); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zpeg_P_expr(vc); -b12: if ((v5) == (0UL)) { goto b1; } -b11: v6 = zliteral(vc, (u)")"); -b14: if ((v6) == (0UL)) { goto b1; } -b13: v7 = zpeg_P_sp(vc); -b16: if ((v7) == (0UL)) { goto b1; } -b15: zleave(vc, 64UL); -b17: return 1UL; + zenter(vc, 64); + v1 = zpeg_P_sizeof(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zliteral(vc, (u)"("); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zpeg_P_expr(vc); + if (v5 == 0) goto b1; + v6 = zliteral(vc, (u)")"); + if (v6 == 0) goto b1; + v7 = zpeg_P_sp(vc); + if (v7 == 0) goto b1; + zleave(vc, 64); + return 1; b1: zfail(vc); -b18: return 0UL; + return 0; } -u zpeg_P_sp(u vc) { +u zpeg_P_sp(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; -b0: zenter(vc, 89UL); + zenter(vc, 89); b3: zchoice(vc); -b6: zchoice(vc); -b9: v1 = zcharset(vc, (u)"\011\012\015 "); -b11: if ((v1) == (0UL)) { goto b8; } + zchoice(vc); + v1 = zcharset(vc, (u)"\011\012\015 "); + if (v1 == 0) goto b8; b7: zcommit(vc); -b29: zcommit(vc); + zcommit(vc); goto b3; b8: zchoice(vc); -b13: v2 = zliteral(vc, (u)"//"); -b15: if ((v2) == (0UL)) { goto b12; } + v2 = zliteral(vc, (u)"//"); + if (v2 == 0) goto b12; b16: zchoice(vc); -b18: zchoice(vc); -b20: v3 = zcharset(vc, (u)"\012\015"); -b22: if ((v3) == (0UL)) { goto b19; } -b21: zfail(vc); -b23: zfail(vc); + zchoice(vc); + v3 = zcharset(vc, (u)"\012\015"); + if (v3 == 0) goto b19; + zfail(vc); + zfail(vc); goto b7; b19: v4 = zany(vc); -b26: if ((v4) == (0UL)) { goto b7; } -b25: zcommit(vc); + if (v4 == 0) goto b7; + zcommit(vc); goto b16; b12: zfail(vc); -b4: zleave(vc, 89UL); -b31: return 1UL; + zleave(vc, 89); + return 1; } -u zpeg_P_stmt(u vc) { +u zpeg_P_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -27173,114 +26667,114 @@ u zpeg_P_stmt(u vc) { u v10 = 0; u v11 = 0; u v12 = 0; -b0: zenter(vc, 12UL); -b3: zchoice(vc); -b6: v1 = zpeg_P_if_stmt(vc); -b8: if ((v1) == (0UL)) { goto b5; } + zenter(vc, 12); + zchoice(vc); + v1 = zpeg_P_if_stmt(vc); + if (v1 == 0) goto b5; b4: zcommit(vc); -b54: zleave(vc, 12UL); -b55: return 1UL; + zleave(vc, 12); + return 1; b5: zchoice(vc); -b10: v2 = zpeg_P_loop_stmt(vc); -b12: if ((v2) == (0UL)) { goto b9; } + v2 = zpeg_P_loop_stmt(vc); + if (v2 == 0) goto b9; goto b4; b9: zchoice(vc); -b14: v3 = zpeg_P_break_stmt(vc); -b16: if ((v3) == (0UL)) { goto b13; } + v3 = zpeg_P_break_stmt(vc); + if (v3 == 0) goto b13; goto b4; b13: zchoice(vc); -b18: v4 = zpeg_P_continue_stmt(vc); -b20: if ((v4) == (0UL)) { goto b17; } + v4 = zpeg_P_continue_stmt(vc); + if (v4 == 0) goto b17; goto b4; b17: zchoice(vc); -b22: v5 = zpeg_P_return_stmt(vc); -b24: if ((v5) == (0UL)) { goto b21; } + v5 = zpeg_P_return_stmt(vc); + if (v5 == 0) goto b21; goto b4; b21: zchoice(vc); -b26: v6 = zpeg_P_var_stmt(vc); -b28: if ((v6) == (0UL)) { goto b25; } + v6 = zpeg_P_var_stmt(vc); + if (v6 == 0) goto b25; goto b4; b25: zchoice(vc); -b30: v7 = zpeg_P_label_stmt(vc); -b32: if ((v7) == (0UL)) { goto b29; } + v7 = zpeg_P_label_stmt(vc); + if (v7 == 0) goto b29; goto b4; b29: zchoice(vc); -b34: v8 = zpeg_P_goto_stmt(vc); -b36: if ((v8) == (0UL)) { goto b33; } + v8 = zpeg_P_goto_stmt(vc); + if (v8 == 0) goto b33; goto b4; b33: zchoice(vc); -b38: v9 = zpeg_P_assign_stmt(vc); -b40: if ((v9) == (0UL)) { goto b37; } + v9 = zpeg_P_assign_stmt(vc); + if (v9 == 0) goto b37; goto b4; b37: zchoice(vc); -b42: v10 = zpeg_P_expr_stmt(vc); -b44: if ((v10) == (0UL)) { goto b41; } + v10 = zpeg_P_expr_stmt(vc); + if (v10 == 0) goto b41; goto b4; b41: zchoice(vc); -b46: v11 = zpeg_P_empty_stmt(vc); -b48: if ((v11) == (0UL)) { goto b45; } + v11 = zpeg_P_empty_stmt(vc); + if (v11 == 0) goto b45; goto b4; b45: zchoice(vc); -b50: v12 = zpeg_P_compound_stmt(vc); -b52: if ((v12) == (0UL)) { goto b49; } + v12 = zpeg_P_compound_stmt(vc); + if (v12 == 0) goto b49; goto b4; b49: zfail(vc); -b1: zfail(vc); -b56: return 0UL; + zfail(vc); + return 0; } -u zpeg_P_str(u vc) { +u zpeg_P_str(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; -b0: zenter(vc, 67UL); -b2: v1 = zcharset(vc, (u)"\042"); -b4: if ((v1) == (0UL)) { goto b1; } + zenter(vc, 67); + v1 = zcharset(vc, (u)"\042"); + if (v1 == 0) goto b1; b5: zchoice(vc); -b8: zchoice(vc); -b11: v2 = zcharset(vc, (u)"\134"); -b13: if ((v2) == (0UL)) { goto b10; } -b12: v3 = zany(vc); -b15: if ((v3) == (0UL)) { goto b10; } + zchoice(vc); + v2 = zcharset(vc, (u)"\134"); + if (v2 == 0) goto b10; + v3 = zany(vc); + if (v3 == 0) goto b10; b9: zcommit(vc); -b27: zcommit(vc); + zcommit(vc); goto b5; b10: zchoice(vc); -b17: zchoice(vc); -b19: v4 = zcharset(vc, (u)"\042"); -b21: if ((v4) == (0UL)) { goto b18; } -b20: zfail(vc); -b22: zfail(vc); + zchoice(vc); + v4 = zcharset(vc, (u)"\042"); + if (v4 == 0) goto b18; + zfail(vc); + zfail(vc); b16: zfail(vc); -b6: v6 = zcharset(vc, (u)"\042"); -b30: if ((v6) == (0UL)) { goto b1; } -b29: zleave(vc, 67UL); -b31: return 1UL; + v6 = zcharset(vc, (u)"\042"); + if (v6 == 0) goto b1; + zleave(vc, 67); + return 1; b1: zfail(vc); -b32: return 0UL; + return 0; b18: v5 = zany(vc); -b25: if ((v5) == (0UL)) { goto b16; } + if (v5 == 0) goto b16; goto b9; } -u zpeg_P_struct(u vc) { +u zpeg_P_struct(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 80UL); -b2: v1 = zliteral(vc, (u)"struct"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 80); + v1 = zliteral(vc, (u)"struct"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 80UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 80); + return 1; } -u zpeg_P_struct_decl(u vc) { +u zpeg_P_struct_decl(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -27290,44 +26784,44 @@ u zpeg_P_struct_decl(u vc) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: zenter(vc, 4UL); -b2: v1 = zpeg_P_struct(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_ident(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zliteral(vc, (u)"{"); -b12: if ((v5) == (0UL)) { goto b1; } -b11: v6 = zpeg_P_sp(vc); -b14: if ((v6) == (0UL)) { goto b1; } + zenter(vc, 4); + v1 = zpeg_P_struct(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_ident(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zliteral(vc, (u)"{"); + if (v5 == 0) goto b1; + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b1; b15: zchoice(vc); -b17: v7 = zpeg_P_member_decl(vc); -b19: if ((v7) == (0UL)) { goto b16; } -b18: zcommit(vc); + v7 = zpeg_P_member_decl(vc); + if (v7 == 0) goto b16; + zcommit(vc); goto b15; b16: v8 = zliteral(vc, (u)"}"); -b22: if ((v8) == (0UL)) { goto b1; } -b21: v9 = zpeg_P_sp(vc); -b24: if ((v9) == (0UL)) { goto b1; } -b23: zleave(vc, 4UL); -b25: return 1UL; + if (v8 == 0) goto b1; + v9 = zpeg_P_sp(vc); + if (v9 == 0) goto b1; + zleave(vc, 4); + return 1; b1: zfail(vc); -b26: return 0UL; + return 0; } -u zpeg_P_sub_op(u vc) { +u zpeg_P_sub_op(u vc){ u v1 = 0; -b0: zenter(vc, 39UL); -b2: v1 = zliteral(vc, (u)"-"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 39UL); -b5: return 1UL; + zenter(vc, 39); + v1 = zliteral(vc, (u)"-"); + if (v1 == 0) goto b1; + zleave(vc, 39); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_P_type(u vc) { +u zpeg_P_type(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -27345,62 +26839,62 @@ u zpeg_P_type(u vc) { u v15 = 0; u v16 = 0; u v17 = 0; -b0: zenter(vc, 7UL); -b3: zchoice(vc); -b6: v1 = zpeg_P_ident(vc); -b8: if ((v1) == (0UL)) { goto b5; } -b7: v2 = zpeg_P_sp(vc); -b10: if ((v2) == (0UL)) { goto b5; } + zenter(vc, 7); + zchoice(vc); + v1 = zpeg_P_ident(vc); + if (v1 == 0) goto b5; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b5; b4: zcommit(vc); -b54: zleave(vc, 7UL); -b55: return 1UL; + zleave(vc, 7); + return 1; b5: zchoice(vc); -b12: v3 = zpeg_P_byte(vc); -b14: if ((v3) == (0UL)) { goto b11; } -b13: v4 = zpeg_P_sp(vc); -b16: if ((v4) == (0UL)) { goto b11; } + v3 = zpeg_P_byte(vc); + if (v3 == 0) goto b11; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b11; goto b4; b11: zchoice(vc); -b18: v5 = zpeg_P_int(vc); -b20: if ((v5) == (0UL)) { goto b17; } -b19: v6 = zpeg_P_sp(vc); -b22: if ((v6) == (0UL)) { goto b17; } + v5 = zpeg_P_int(vc); + if (v5 == 0) goto b17; + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b17; goto b4; b17: zchoice(vc); -b24: v7 = zpeg_P_void(vc); -b26: if ((v7) == (0UL)) { goto b23; } -b25: v8 = zpeg_P_sp(vc); -b28: if ((v8) == (0UL)) { goto b23; } + v7 = zpeg_P_void(vc); + if (v7 == 0) goto b23; + v8 = zpeg_P_sp(vc); + if (v8 == 0) goto b23; goto b4; b23: zchoice(vc); -b30: v9 = zpeg_P_func(vc); -b32: if ((v9) == (0UL)) { goto b29; } -b31: v10 = zpeg_P_sp(vc); -b34: if ((v10) == (0UL)) { goto b29; } -b33: v11 = zpeg_P_func_type(vc); -b36: if ((v11) == (0UL)) { goto b29; } + v9 = zpeg_P_func(vc); + if (v9 == 0) goto b29; + v10 = zpeg_P_sp(vc); + if (v10 == 0) goto b29; + v11 = zpeg_P_func_type(vc); + if (v11 == 0) goto b29; goto b4; b29: zchoice(vc); -b38: v12 = zpeg_P_ptr_type(vc); -b40: if ((v12) == (0UL)) { goto b37; } + v12 = zpeg_P_ptr_type(vc); + if (v12 == 0) goto b37; goto b4; b37: zchoice(vc); -b42: v13 = zliteral(vc, (u)"("); -b44: if ((v13) == (0UL)) { goto b41; } -b43: v14 = zpeg_P_sp(vc); -b46: if ((v14) == (0UL)) { goto b41; } -b45: v15 = zpeg_P_type(vc); -b48: if ((v15) == (0UL)) { goto b41; } -b47: v16 = zliteral(vc, (u)")"); -b50: if ((v16) == (0UL)) { goto b41; } -b49: v17 = zpeg_P_sp(vc); -b52: if ((v17) == (0UL)) { goto b41; } + v13 = zliteral(vc, (u)"("); + if (v13 == 0) goto b41; + v14 = zpeg_P_sp(vc); + if (v14 == 0) goto b41; + v15 = zpeg_P_type(vc); + if (v15 == 0) goto b41; + v16 = zliteral(vc, (u)")"); + if (v16 == 0) goto b41; + v17 = zpeg_P_sp(vc); + if (v17 == 0) goto b41; goto b4; b41: zfail(vc); -b1: zfail(vc); -b56: return 0UL; + zfail(vc); + return 0; } -u zpeg_P_unary_expr(u vc) { +u zpeg_P_unary_expr(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -27409,62 +26903,62 @@ u zpeg_P_unary_expr(u vc) { u v6 = 0; u v7 = 0; u v8 = 0; -b0: zenter(vc, 57UL); + zenter(vc, 57); b3: zchoice(vc); -b6: zchoice(vc); -b9: v1 = zpeg_P_ref_op(vc); -b11: if ((v1) == (0UL)) { goto b8; } + zchoice(vc); + v1 = zpeg_P_ref_op(vc); + if (v1 == 0) goto b8; b7: zcommit(vc); -b33: v7 = zpeg_P_sp(vc); -b35: if ((v7) == (0UL)) { goto b4; } -b34: zcommit(vc); + v7 = zpeg_P_sp(vc); + if (v7 == 0) goto b4; + zcommit(vc); goto b3; b4: v8 = zpeg_P_post_expr(vc); -b38: if ((v8) == (0UL)) { goto b1; } -b37: zleave(vc, 57UL); -b39: return 1UL; + if (v8 == 0) goto b1; + zleave(vc, 57); + return 1; b1: zfail(vc); -b40: return 0UL; + return 0; b8: zchoice(vc); -b13: v2 = zpeg_P_deref_op(vc); -b15: if ((v2) == (0UL)) { goto b12; } + v2 = zpeg_P_deref_op(vc); + if (v2 == 0) goto b12; goto b7; b12: zchoice(vc); -b17: v3 = zpeg_P_pos_op(vc); -b19: if ((v3) == (0UL)) { goto b16; } + v3 = zpeg_P_pos_op(vc); + if (v3 == 0) goto b16; goto b7; b16: zchoice(vc); -b21: v4 = zpeg_P_neg_op(vc); -b23: if ((v4) == (0UL)) { goto b20; } + v4 = zpeg_P_neg_op(vc); + if (v4 == 0) goto b20; goto b7; b20: zchoice(vc); -b25: v5 = zpeg_P_not_op(vc); -b27: if ((v5) == (0UL)) { goto b24; } + v5 = zpeg_P_not_op(vc); + if (v5 == 0) goto b24; goto b7; b24: zchoice(vc); -b29: v6 = zpeg_P_bnot_op(vc); -b31: if ((v6) == (0UL)) { goto b28; } + v6 = zpeg_P_bnot_op(vc); + if (v6 == 0) goto b28; goto b7; b28: zfail(vc); goto b4; } -u zpeg_P_union(u vc) { +u zpeg_P_union(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 81UL); -b2: v1 = zliteral(vc, (u)"union"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 81); + v1 = zliteral(vc, (u)"union"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 81UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 81); + return 1; } -u zpeg_P_union_decl(u vc) { +u zpeg_P_union_decl(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -27474,50 +26968,50 @@ u zpeg_P_union_decl(u vc) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: zenter(vc, 5UL); -b2: v1 = zpeg_P_union(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_ident(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zliteral(vc, (u)"{"); -b12: if ((v5) == (0UL)) { goto b1; } -b11: v6 = zpeg_P_sp(vc); -b14: if ((v6) == (0UL)) { goto b1; } + zenter(vc, 5); + v1 = zpeg_P_union(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_ident(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zliteral(vc, (u)"{"); + if (v5 == 0) goto b1; + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b1; b15: zchoice(vc); -b17: v7 = zpeg_P_member_decl(vc); -b19: if ((v7) == (0UL)) { goto b16; } -b18: zcommit(vc); + v7 = zpeg_P_member_decl(vc); + if (v7 == 0) goto b16; + zcommit(vc); goto b15; b16: v8 = zliteral(vc, (u)"}"); -b22: if ((v8) == (0UL)) { goto b1; } -b21: v9 = zpeg_P_sp(vc); -b24: if ((v9) == (0UL)) { goto b1; } -b23: zleave(vc, 5UL); -b25: return 1UL; + if (v8 == 0) goto b1; + v9 = zpeg_P_sp(vc); + if (v9 == 0) goto b1; + zleave(vc, 5); + return 1; b1: zfail(vc); -b26: return 0UL; + return 0; } -u zpeg_P_var(u vc) { +u zpeg_P_var(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 78UL); -b2: v1 = zliteral(vc, (u)"var"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 78); + v1 = zliteral(vc, (u)"var"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 78UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 78); + return 1; } -u zpeg_P_var_stmt(u vc) { +u zpeg_P_var_stmt(u vc){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -27527,68 +27021,68 @@ u zpeg_P_var_stmt(u vc) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: zenter(vc, 20UL); -b2: v1 = zpeg_P_var(vc); -b4: if ((v1) == (0UL)) { goto b1; } -b3: v2 = zpeg_P_sp(vc); -b6: if ((v2) == (0UL)) { goto b1; } -b5: v3 = zpeg_P_ident(vc); -b8: if ((v3) == (0UL)) { goto b1; } -b7: v4 = zpeg_P_sp(vc); -b10: if ((v4) == (0UL)) { goto b1; } -b9: v5 = zliteral(vc, (u)":"); -b12: if ((v5) == (0UL)) { goto b1; } -b11: v6 = zpeg_P_sp(vc); -b14: if ((v6) == (0UL)) { goto b1; } -b13: v7 = zpeg_P_type(vc); -b16: if ((v7) == (0UL)) { goto b1; } -b15: v8 = zliteral(vc, (u)";"); -b18: if ((v8) == (0UL)) { goto b1; } -b17: v9 = zpeg_P_sp(vc); -b20: if ((v9) == (0UL)) { goto b1; } -b19: zleave(vc, 20UL); -b21: return 1UL; + zenter(vc, 20); + v1 = zpeg_P_var(vc); + if (v1 == 0) goto b1; + v2 = zpeg_P_sp(vc); + if (v2 == 0) goto b1; + v3 = zpeg_P_ident(vc); + if (v3 == 0) goto b1; + v4 = zpeg_P_sp(vc); + if (v4 == 0) goto b1; + v5 = zliteral(vc, (u)":"); + if (v5 == 0) goto b1; + v6 = zpeg_P_sp(vc); + if (v6 == 0) goto b1; + v7 = zpeg_P_type(vc); + if (v7 == 0) goto b1; + v8 = zliteral(vc, (u)";"); + if (v8 == 0) goto b1; + v9 = zpeg_P_sp(vc); + if (v9 == 0) goto b1; + zleave(vc, 20); + return 1; b1: zfail(vc); -b22: return 0UL; + return 0; } -u zpeg_P_void(u vc) { +u zpeg_P_void(u vc){ u v1 = 0; u v2 = 0; -b0: zenter(vc, 84UL); -b2: v1 = zliteral(vc, (u)"void"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zchoice(vc); -b6: v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); -b8: if ((v2) == (0UL)) { goto b5; } -b7: zfail(vc); -b9: zfail(vc); + zenter(vc, 84); + v1 = zliteral(vc, (u)"void"); + if (v1 == 0) goto b1; + zchoice(vc); + v2 = zcharset(vc, (u)"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz"); + if (v2 == 0) goto b5; + zfail(vc); + zfail(vc); b1: zfail(vc); -b12: return 0UL; -b5: zleave(vc, 84UL); -b11: return 1UL; + return 0; +b5: zleave(vc, 84); + return 1; } -u zpeg_P_xor_op(u vc) { +u zpeg_P_xor_op(u vc){ u v1 = 0; -b0: zenter(vc, 41UL); -b2: v1 = zliteral(vc, (u)"^"); -b4: if ((v1) == (0UL)) { goto b1; } -b3: zleave(vc, 41UL); -b5: return 1UL; + zenter(vc, 41); + v1 = zliteral(vc, (u)"^"); + if (v1 == 0) goto b1; + zleave(vc, 41); + return 1; b1: zfail(vc); -b6: return 0UL; + return 0; } -u zpeg_compile(u vc, u vpn, u verr) { +u zpeg_compile(u vc, u vpn, u verr){ u v3 = 0; u v4 = 0; u v5 = 0; u v6 = 0; -b0: v3 = (u)ztranslate; + v3 = (u)ztranslate; v4 = vc; v5 = vpn; - v6 = ((u (*)())(v3))(v4, v5); -b1: return 0UL; + v6 = ((u(*)())v3)(v4, v5); + return 0; } -u zpeg_new(u vfilename, u vsrc, u vlen, u va, u vgrammar, u vtag_to_str) { +u zpeg_new(u vfilename, u vsrc, u vlen, u va, u vgrammar, u vtag_to_str){ u vc = 0; u v7 = 0; u v8 = 0; @@ -27602,48 +27096,48 @@ u zpeg_new(u vfilename, u vsrc, u vlen, u va, u vgrammar, u vtag_to_str) { u v16 = 0; u v17 = 0; u v18 = 0; -b0: v7 = (u)zalloc; + v7 = (u)zalloc; v8 = va; - v9 = 200UL; - v10 = ((u (*)())(v7))(v8, v9); -b1: vc = v10; - *(u *)(vc) = va; - *(u *)((vc) + (8UL)) = vgrammar; - *(u *)((vc) + (16UL)) = vtag_to_str; - *(u *)((vc) + (24UL)) = vfilename; - *(u *)((vc) + (32UL)) = vsrc; - *(u *)((vc) + (40UL)) = vlen; - *(u *)((vc) + (48UL)) = 0UL; - *(u *)((vc) + (72UL)) = 0UL; - *(u *)((vc) + (56UL)) = 1UL; - *(u *)((vc) + (64UL)) = 1UL; - *(u *)((vc) + (72UL)) = 0UL; - *(u *)((vc) + (80UL)) = 0UL; - *(u *)((vc) + (88UL)) = 0UL; - *(u *)((vc) + (96UL)) = 0UL; - *(u *)((vc) + (104UL)) = 0UL; - *(u *)((vc) + (112UL)) = 0UL; - *(u *)((vc) + (136UL)) = 1024UL; + v9 = 200; + v10 = ((u(*)())v7)(v8, v9); + vc = v10; + *(u*)vc = va; + *(u*)(vc + 8) = vgrammar; + *(u*)(vc + 16) = vtag_to_str; + *(u*)(vc + 24) = vfilename; + *(u*)(vc + 32) = vsrc; + *(u*)(vc + 40) = vlen; + *(u*)(vc + 48) = 0; + *(u*)(vc + 72) = 0; + *(u*)(vc + 56) = 1; + *(u*)(vc + 64) = 1; + *(u*)(vc + 72) = 0; + *(u*)(vc + 80) = 0; + *(u*)(vc + 88) = 0; + *(u*)(vc + 96) = 0; + *(u*)(vc + 104) = 0; + *(u*)(vc + 112) = 0; + *(u*)(vc + 136) = 1024; v11 = (u)zalloc; v12 = va; - v13 = (*(u *)((vc) + (136UL))) * (48UL); - v14 = ((u (*)())(v11))(v12, v13); -b2: *(u *)((vc) + (120UL)) = v14; - *(u *)((vc) + (128UL)) = 0UL; - *(u *)((vc) + (144UL)) = 0UL; - *(u *)((vc) + (152UL)) = 0UL; - *(u *)((vc) + (160UL)) = 0UL; - *(u *)((vc) + (168UL)) = 0UL; - *(u *)((vc) + (192UL)) = 1024UL; + v13 = *(u*)(vc + 136) * 48; + v14 = ((u(*)())v11)(v12, v13); + *(u*)(vc + 120) = v14; + *(u*)(vc + 128) = 0; + *(u*)(vc + 144) = 0; + *(u*)(vc + 152) = 0; + *(u*)(vc + 160) = 0; + *(u*)(vc + 168) = 0; + *(u*)(vc + 192) = 1024; v15 = (u)zalloc; v16 = va; - v17 = (*(u *)((vc) + (192UL))) * (8UL); - v18 = ((u (*)())(v15))(v16, v17); -b3: *(u *)((vc) + (176UL)) = v18; - *(u *)((vc) + (184UL)) = 0UL; + v17 = *(u*)(vc + 192) * 8; + v18 = ((u(*)())v15)(v16, v17); + *(u*)(vc + 176) = v18; + *(u*)(vc + 184) = 0; return vc; } -u zpeg_parse(u vc, u vsp, u verr) { +u zpeg_parse(u vc, u vsp, u verr){ u v3 = 0; u v4 = 0; u v5 = 0; @@ -27712,103 +27206,102 @@ u zpeg_parse(u vc, u vsp, u verr) { u v68 = 0; u v69 = 0; u v70 = 0; -b0: v3 = (u)zchoice; + v3 = (u)zchoice; v4 = vc; - v5 = ((u (*)())(v3))(v4); -b1: v7 = *(u *)((vc) + (8UL)); + v5 = ((u(*)())v3)(v4); + v7 = *(u*)(vc + 8); v8 = vc; - v9 = ((u (*)())(v7))(v8); -b8: if (!(v9)) { goto b6; } -b5: v6 = 0UL; - goto b7; -b7: if (!(v6)) { goto b2; } -b3: v10 = (u)zfputs; + v9 = ((u(*)())v7)(v8); + if (!v9) goto b6; + v6 = 0; +b7: if (!v6) goto b2; + v10 = (u)zfputs; v11 = verr; v12 = (u)"syntax error at "; - v13 = ((u (*)())(v10))(v11, v12); -b9: v14 = (u)zfputs; + v13 = ((u(*)())v10)(v11, v12); + v14 = (u)zfputs; v15 = verr; - v16 = *(u *)((vc) + (24UL)); - v17 = ((u (*)())(v14))(v15, v16); -b10: v18 = (u)zfputs; + v16 = *(u*)(vc + 24); + v17 = ((u(*)())v14)(v15, v16); + v18 = (u)zfputs; v19 = verr; v20 = (u)":"; - v21 = ((u (*)())(v18))(v19, v20); -b11: v22 = (u)zfputd; + v21 = ((u(*)())v18)(v19, v20); + v22 = (u)zfputd; v23 = verr; - v24 = *(u *)((vc) + (96UL)); - v25 = ((u (*)())(v22))(v23, v24); -b12: v26 = (u)zfputs; + v24 = *(u*)(vc + 96); + v25 = ((u(*)())v22)(v23, v24); + v26 = (u)zfputs; v27 = verr; v28 = (u)":"; - v29 = ((u (*)())(v26))(v27, v28); -b13: v30 = (u)zfputd; + v29 = ((u(*)())v26)(v27, v28); + v30 = (u)zfputd; v31 = verr; - v32 = *(u *)((vc) + (104UL)); - v33 = ((u (*)())(v30))(v31, v32); -b14: v34 = (u)zfputs; + v32 = *(u*)(vc + 104); + v33 = ((u(*)())v30)(v31, v32); + v34 = (u)zfputs; v35 = verr; v36 = (u)" expected "; - v37 = ((u (*)())(v34))(v35, v36); -b15: v38 = (u)zfputs; + v37 = ((u(*)())v34)(v35, v36); + v38 = (u)zfputs; v39 = verr; - v41 = *(u *)((vc) + (16UL)); - v42 = *(u *)((vc) + (88UL)); - v43 = ((u (*)())(v41))(v42); -b16: v40 = v43; - v44 = ((u (*)())(v38))(v39, v40); -b17: if (!(*(u *)((vc) + (112UL)))) { goto b18; } -b19: v45 = (u)zfputs; + v41 = *(u*)(vc + 16); + v42 = *(u*)(vc + 88); + v43 = ((u(*)())v41)(v42); + v40 = v43; + v44 = ((u(*)())v38)(v39, v40); + if (!*(u*)(vc + 112)) goto b18; + v45 = (u)zfputs; v46 = verr; v47 = (u)" '"; - v48 = ((u (*)())(v45))(v46, v47); -b21: v49 = (u)zfputs; + v48 = ((u(*)())v45)(v46, v47); + v49 = (u)zfputs; v50 = verr; - v51 = *(u *)((vc) + (112UL)); - v52 = ((u (*)())(v49))(v50, v51); -b22: v53 = (u)zfputs; + v51 = *(u*)(vc + 112); + v52 = ((u(*)())v49)(v50, v51); + v53 = (u)zfputs; v54 = verr; v55 = (u)"'"; - v56 = ((u (*)())(v53))(v54, v55); + v56 = ((u(*)())v53)(v54, v55); b18: v57 = (u)zfputs; v58 = verr; v59 = (u)"\012"; - v60 = ((u (*)())(v57))(v58, v59); -b24: v61 = (u)zexit; - v62 = 1UL; - v63 = ((u (*)())(v61))(v62); + v60 = ((u(*)())v57)(v58, v59); + v61 = (u)zexit; + v62 = 1; + v63 = ((u(*)())v61)(v62); b2: v64 = (u)zcommit; v65 = vc; - v66 = ((u (*)())(v64))(v65); -b26: v67 = (u)zconstruct; + v66 = ((u(*)())v64)(v65); + v67 = (u)zconstruct; v68 = vc; v69 = vsp; - v70 = ((u (*)())(v67))(v68, v69); -b27: return v70; -b6: v6 = 1UL; + v70 = ((u(*)())v67)(v68, v69); + return v70; +b6: v6 = 1; goto b7; } -u zpeg_reset(u vc, u vfilename, u vsrc, u vlen) { -b0: *(u *)((vc) + (24UL)) = vfilename; - *(u *)((vc) + (32UL)) = vsrc; - *(u *)((vc) + (40UL)) = vlen; - *(u *)((vc) + (48UL)) = 0UL; - *(u *)((vc) + (72UL)) = 0UL; - *(u *)((vc) + (56UL)) = 1UL; - *(u *)((vc) + (64UL)) = 1UL; - *(u *)((vc) + (72UL)) = 0UL; - *(u *)((vc) + (80UL)) = 0UL; - *(u *)((vc) + (88UL)) = 0UL; - *(u *)((vc) + (96UL)) = 0UL; - *(u *)((vc) + (104UL)) = 0UL; - *(u *)((vc) + (112UL)) = 0UL; - *(u *)((vc) + (144UL)) = 0UL; - *(u *)((vc) + (128UL)) = 0UL; - *(u *)((vc) + (152UL)) = 0UL; - *(u *)((vc) + (184UL)) = 0UL; - return 0UL; -} -u zprototype(u vc, u vn) { +u zpeg_reset(u vc, u vfilename, u vsrc, u vlen){ + *(u*)(vc + 24) = vfilename; + *(u*)(vc + 32) = vsrc; + *(u*)(vc + 40) = vlen; + *(u*)(vc + 48) = 0; + *(u*)(vc + 72) = 0; + *(u*)(vc + 56) = 1; + *(u*)(vc + 64) = 1; + *(u*)(vc + 72) = 0; + *(u*)(vc + 80) = 0; + *(u*)(vc + 88) = 0; + *(u*)(vc + 96) = 0; + *(u*)(vc + 104) = 0; + *(u*)(vc + 112) = 0; + *(u*)(vc + 144) = 0; + *(u*)(vc + 128) = 0; + *(u*)(vc + 152) = 0; + *(u*)(vc + 184) = 0; + return 0; +} +u zprototype(u vc, u vn){ u va = 0; u vb = 0; u vst = 0; @@ -27922,250 +27415,233 @@ u zprototype(u vc, u vn) { u v112 = 0; u v113 = 0; u v114 = 0; -b0: if (!(vn)) { goto b5; } -b4: v6 = 0UL; - goto b6; -b6: if (!(v6)) { goto b1; } -b2: return 0UL; -b1: *(u *)((vc) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((vc) + (40UL)) = 0UL; - vkind = *(u *)(vn); - if ((vkind) != (0UL)) { goto b9; } -b8: v8 = (u)zstrcmp; - v9 = *(u *)((vn) + (56UL)); + if (!vn) goto b5; + v6 = 0; +b6: if (!v6) goto b1; + return 0; +b1: *(u*)(vc + 32) = *(u*)(vn + 32); + *(u*)(vc + 40) = 0; + vkind = *(u*)vn; + if (vkind != 0) goto b9; + v8 = (u)zstrcmp; + v9 = *(u*)(vn + 56); v10 = (u)"void"; - v11 = ((u (*)())(v8))(v9, v10); -b16: if (!(v11)) { goto b14; } -b13: v7 = 0UL; - goto b15; -b15: if (!(v7)) { goto b10; } -b11: v12 = (u)zmktype0; + v11 = ((u(*)())v8)(v9, v10); + if (!v11) goto b14; + v7 = 0; +b15: if (!v7) goto b10; + v12 = (u)zmktype0; v13 = vc; - v14 = 1UL; - v15 = ((u (*)())(v12))(v13, v14); -b17: return v15; + v14 = 1; + v15 = ((u(*)())v12)(v13, v14); + return v15; b10: v17 = (u)zstrcmp; - v18 = *(u *)((vn) + (56UL)); + v18 = *(u*)(vn + 56); v19 = (u)"int"; - v20 = ((u (*)())(v17))(v18, v19); -b24: if (!(v20)) { goto b22; } -b21: v16 = 0UL; - goto b23; -b23: if (!(v16)) { goto b18; } -b19: v21 = (u)zmktype0; + v20 = ((u(*)())v17)(v18, v19); + if (!v20) goto b22; + v16 = 0; +b23: if (!v16) goto b18; + v21 = (u)zmktype0; v22 = vc; - v23 = 2UL; - v24 = ((u (*)())(v21))(v22, v23); -b25: return v24; + v23 = 2; + v24 = ((u(*)())v21)(v22, v23); + return v24; b18: v26 = (u)zstrcmp; - v27 = *(u *)((vn) + (56UL)); + v27 = *(u*)(vn + 56); v28 = (u)"byte"; - v29 = ((u (*)())(v26))(v27, v28); -b32: if (!(v29)) { goto b30; } -b29: v25 = 0UL; - goto b31; -b31: if (!(v25)) { goto b26; } -b27: v30 = (u)zmktype0; + v29 = ((u(*)())v26)(v27, v28); + if (!v29) goto b30; + v25 = 0; +b31: if (!v25) goto b26; + v30 = (u)zmktype0; v31 = vc; - v32 = 3UL; - v33 = ((u (*)())(v30))(v31, v32); -b33: return v33; + v32 = 3; + v33 = ((u(*)())v30)(v31, v32); + return v33; b26: v34 = (u)zfind; v35 = vc; - v36 = *(u *)((vn) + (56UL)); - v37 = 0UL; - v38 = 0UL; - v39 = ((u (*)())(v34))(v35, v36, v37, v38); -b34: vst = v39; - if (!(vst)) { goto b43; } -b42: v41 = 0UL; - goto b44; -b44: if (!(v41)) { goto b39; } -b38: v40 = 1UL; - goto b41; -b41: if (!(v40)) { goto b35; } -b36: v43 = (u)zcdie; + v36 = *(u*)(vn + 56); + v37 = 0; + v38 = 0; + v39 = ((u(*)())v34)(v35, v36, v37, v38); + vst = v39; + if (!vst) goto b43; + v41 = 0; +b44: if (!v41) goto b39; + v40 = 1; +b41: if (!v40) goto b35; + v43 = (u)zcdie; v44 = vc; v45 = (u)"unknown struct"; - v46 = ((u (*)())(v43))(v44, v45); -b35: if ((*(u *)(*(u *)((vst) + (136UL)))) != (17UL)) { goto b52; } -b51: v47 = (u)zmktype_struct; + v46 = ((u(*)())v43)(v44, v45); +b35: if (*(u*)*(u*)(vst + 136) != 17) goto b52; + v47 = (u)zmktype_struct; v48 = vc; v49 = vst; - v50 = ((u (*)())(v47))(v48, v49); -b53: return v50; + v50 = ((u(*)())v47)(v48, v49); + return v50; b52: v51 = (u)zmktype_union; v52 = vc; v53 = vst; - v54 = ((u (*)())(v51))(v52, v53); -b54: return v54; -b39: if (!(*(u *)((vst) + (112UL)))) { goto b47; } -b46: v42 = 0UL; - goto b48; -b48: if (!(v42)) { goto b45; } -b40: v40 = 1UL; + v54 = ((u(*)())v51)(v52, v53); + return v54; +b39: if (!*(u*)(vst + 112)) goto b47; + v42 = 0; +b48: if (!v42) goto b45; + v40 = 1; goto b41; -b45: v40 = 0UL; +b45: v40 = 0; goto b41; -b47: v42 = 1UL; +b47: v42 = 1; goto b48; -b43: v41 = 1UL; +b43: v41 = 1; goto b44; -b30: v25 = 1UL; +b30: v25 = 1; goto b31; -b22: v16 = 1UL; +b22: v16 = 1; goto b23; -b14: v7 = 1UL; +b14: v7 = 1; goto b15; -b9: if ((vkind) != (10UL)) { goto b56; } -b55: v55 = (u)zprototype; +b9: if (vkind != 10) goto b56; + v55 = (u)zprototype; v56 = vc; - v57 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v58 = ((u (*)())(v55))(v56, v57); -b57: va = v58; + v57 = *(u*)(*(u*)(vn + 8) + 16); + v58 = ((u(*)())v55)(v56, v57); + va = v58; v59 = (u)zprototype; v60 = vc; - v61 = *(u *)((vn) + (16UL)); - v62 = ((u (*)())(v59))(v60, v61); -b58: vb = v62; - vkind = *(u *)(va); - if ((vkind) == (2UL)) { goto b63; } -b62: if ((vkind) == (3UL)) { goto b67; } -b66: if ((vkind) == (4UL)) { goto b71; } -b70: if ((vkind) == (6UL)) { goto b71; } -b72: v65 = 1UL; - goto b73; -b73: if (!(v65)) { goto b67; } -b68: v64 = 1UL; - goto b69; -b69: if (!(v64)) { goto b63; } -b64: v63 = 1UL; - goto b65; -b65: if (!(v63)) { goto b59; } -b60: v66 = (u)zcdie; + v61 = *(u*)(vn + 16); + v62 = ((u(*)())v59)(v60, v61); + vb = v62; + vkind = *(u*)va; + if (vkind == 2) goto b63; + if (vkind == 3) goto b67; + if (vkind == 4) goto b71; + if (vkind == 6) goto b71; + v65 = 1; +b73: if (!v65) goto b67; + v64 = 1; +b69: if (!v64) goto b63; + v63 = 1; +b65: if (!v63) goto b59; + v66 = (u)zcdie; v67 = vc; v68 = (u)"not a ptr arg"; - v69 = ((u (*)())(v66))(v67, v68); + v69 = ((u(*)())v66)(v67, v68); b59: v70 = (u)zmktype2; v71 = vc; - v72 = 5UL; + v72 = 5; v73 = va; v74 = vb; - v75 = ((u (*)())(v70))(v71, v72, v73, v74); -b75: return v75; -b63: v63 = 0UL; + v75 = ((u(*)())v70)(v71, v72, v73, v74); + return v75; +b63: v63 = 0; goto b65; -b67: v64 = 0UL; +b67: v64 = 0; goto b69; -b71: v65 = 0UL; +b71: v65 = 0; goto b73; -b56: if ((vkind) != (15UL)) { goto b77; } -b76: if (!(*(u *)((vn) + (16UL)))) { goto b80; } -b79: v76 = (u)zprototype; +b56: if (vkind != 15) goto b77; + if (!*(u*)(vn + 16)) goto b80; + v76 = (u)zprototype; v77 = vc; - v78 = *(u *)((vn) + (16UL)); - v79 = ((u (*)())(v76))(v77, v78); -b81: va = v79; - goto b78; + v78 = *(u*)(vn + 16); + v79 = ((u(*)())v76)(v77, v78); + va = v79; b78: v84 = (u)zprototype; v85 = vc; - v86 = *(u *)((vn) + (8UL)); - v87 = ((u (*)())(v84))(v85, v86); -b83: vb = v87; - vkind = *(u *)(va); - if ((vkind) == (1UL)) { goto b88; } -b87: if ((vkind) == (2UL)) { goto b92; } -b91: if ((vkind) == (3UL)) { goto b96; } -b95: if ((vkind) == (4UL)) { goto b100; } -b99: if ((vkind) == (6UL)) { goto b100; } -b101: v91 = 1UL; - goto b102; -b102: if (!(v91)) { goto b96; } -b97: v90 = 1UL; - goto b98; -b98: if (!(v90)) { goto b92; } -b93: v89 = 1UL; - goto b94; -b94: if (!(v89)) { goto b88; } -b89: v88 = 1UL; - goto b90; -b90: if (!(v88)) { goto b84; } -b85: v92 = (u)zcdie; + v86 = *(u*)(vn + 8); + v87 = ((u(*)())v84)(v85, v86); + vb = v87; + vkind = *(u*)va; + if (vkind == 1) goto b88; + if (vkind == 2) goto b92; + if (vkind == 3) goto b96; + if (vkind == 4) goto b100; + if (vkind == 6) goto b100; + v91 = 1; +b102: if (!v91) goto b96; + v90 = 1; +b98: if (!v90) goto b92; + v89 = 1; +b94: if (!v89) goto b88; + v88 = 1; +b90: if (!v88) goto b84; + v92 = (u)zcdie; v93 = vc; v94 = (u)"not a ptr return"; - v95 = ((u (*)())(v92))(v93, v94); + v95 = ((u(*)())v92)(v93, v94); b84: v96 = (u)zmktype2; v97 = vc; - v98 = 6UL; + v98 = 6; v99 = va; v100 = vb; - v101 = ((u (*)())(v96))(v97, v98, v99, v100); -b104: return v101; -b88: v88 = 0UL; + v101 = ((u(*)())v96)(v97, v98, v99, v100); + return v101; +b88: v88 = 0; goto b90; -b92: v89 = 0UL; +b92: v89 = 0; goto b94; -b96: v90 = 0UL; +b96: v90 = 0; goto b98; -b100: v91 = 0UL; +b100: v91 = 0; goto b102; b80: v80 = (u)zmktype0; v81 = vc; - v82 = 1UL; - v83 = ((u (*)())(v80))(v81, v82); -b82: va = v83; + v82 = 1; + v83 = ((u(*)())v80)(v81, v82); + va = v83; goto b78; -b77: if ((vkind) != (16UL)) { goto b106; } -b105: v102 = (u)zmktype1; +b77: if (vkind != 16) goto b106; + v102 = (u)zmktype1; v103 = vc; - v104 = 4UL; + v104 = 4; v106 = (u)zprototype; v107 = vc; - v108 = *(u *)((vn) + (8UL)); - v109 = ((u (*)())(v106))(v107, v108); -b107: v105 = v109; - v110 = ((u (*)())(v102))(v103, v104, v105); -b108: return v110; + v108 = *(u*)(vn + 8); + v109 = ((u(*)())v106)(v107, v108); + v105 = v109; + v110 = ((u(*)())v102)(v103, v104, v105); + return v110; b106: v111 = (u)zcdie; v112 = vc; v113 = (u)"prototype: invalid type"; - v114 = ((u (*)())(v111))(v112, v113); -b109: return 0UL; -b5: v6 = 1UL; + v114 = ((u(*)())v111)(v112, v113); + return 0; +b5: v6 = 1; goto b6; } -u zputchar(u vc, u vch) { +u zputchar(u vc, u vch){ u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: v2 = (u)zfputc; - v3 = *(u *)((vc) + (8UL)); + v2 = (u)zfputc; + v3 = *(u*)(vc + 8); v4 = vch; - v5 = ((u (*)())(v2))(v3, v4); -b1: return 0UL; + v5 = ((u(*)())v2)(v3, v4); + return 0; } -u zrb_first(u vn) { +u zrb_first(u vn){ u v1 = 0; u v2 = 0; -b0: if (!(vn)) { goto b5; } -b4: v1 = 0UL; - goto b6; -b6: if (!(v1)) { goto b7; } -b2: return 0UL; -b7: if (!(*(u *)((vn) + (16UL)))) { goto b13; } -b12: v2 = 0UL; - goto b14; -b14: if (!(v2)) { goto b9; } -b8: return vn; -b9: vn = *(u *)((vn) + (16UL)); + if (!vn) goto b5; + v1 = 0; +b6: if (!v1) goto b7; + return 0; +b7: if (!*(u*)(vn + 16)) goto b13; + v2 = 0; +b14: if (!v2) goto b9; + return vn; +b9: vn = *(u*)(vn + 16); goto b7; -b13: v2 = 1UL; +b13: v2 = 1; goto b14; -b5: v1 = 1UL; +b5: v1 = 1; goto b6; } -u zrb_link(u vtree, u vlink, u vparent, u vn) { +u zrb_link(u vtree, u vlink, u vparent, u vn){ u vl = 0; u vr = 0; u vg = 0; @@ -28200,180 +27676,167 @@ u zrb_link(u vtree, u vlink, u vparent, u vn) { u v35 = 0; u v36 = 0; u v37 = 0; -b0: *(u *)(vn) = 1UL; - *(u *)((vn) + (8UL)) = vparent; - *(u *)((vn) + (16UL)) = 0UL; - *(u *)((vn) + (24UL)) = 0UL; - *(u *)(vlink) = vn; - goto b1; -b1: vp = *(u *)((vn) + (8UL)); - if (!(vp)) { goto b7; } -b6: v8 = 0UL; - goto b8; -b8: if (!(v8)) { goto b3; } -b4: *(u *)(vn) = 0UL; - return 0UL; -b3: if (!(*(u *)(vp))) { goto b13; } -b12: v9 = 0UL; - goto b14; -b14: if (!(v9)) { goto b9; } -b10: return 0UL; -b9: vg = *(u *)((vp) + (8UL)); - if (!(vg)) { goto b19; } -b18: v10 = 0UL; - goto b20; -b20: if (!(v10)) { goto b15; } -b16: *(u *)(vp) = 0UL; - return 0UL; -b15: vl = *(u *)((vg) + (16UL)); - vr = *(u *)((vg) + (24UL)); - if (!(vl)) { goto b25; } -b24: if (!(vr)) { goto b29; } -b28: if (!(*(u *)(vl))) { goto b33; } -b32: if (!(*(u *)(vr))) { goto b33; } -b34: v13 = 1UL; - goto b35; -b35: if (!(v13)) { goto b29; } -b30: v12 = 1UL; - goto b31; -b31: if (!(v12)) { goto b25; } -b26: v11 = 1UL; - goto b27; -b27: if (!(v11)) { goto b21; } -b22: *(u *)(vl) = 0UL; - *(u *)(vr) = 0UL; - *(u *)(vg) = 1UL; + *(u*)vn = 1; + *(u*)(vn + 8) = vparent; + *(u*)(vn + 16) = 0; + *(u*)(vn + 24) = 0; + *(u*)vlink = vn; +b1: vp = *(u*)(vn + 8); + if (!vp) goto b7; + v8 = 0; +b8: if (!v8) goto b3; + *(u*)vn = 0; + return 0; +b3: if (!*(u*)vp) goto b13; + v9 = 0; +b14: if (!v9) goto b9; + return 0; +b9: vg = *(u*)(vp + 8); + if (!vg) goto b19; + v10 = 0; +b20: if (!v10) goto b15; + *(u*)vp = 0; + return 0; +b15: vl = *(u*)(vg + 16); + vr = *(u*)(vg + 24); + if (!vl) goto b25; + if (!vr) goto b29; + if (!*(u*)vl) goto b33; + if (!*(u*)vr) goto b33; + v13 = 1; +b35: if (!v13) goto b29; + v12 = 1; +b31: if (!v12) goto b25; + v11 = 1; +b27: if (!v11) goto b21; + *(u*)vl = 0; + *(u*)vr = 0; + *(u*)vg = 1; vn = vg; goto b1; -b21: if ((vp) != (*(u *)((vg) + (16UL)))) { goto b38; } -b37: if ((vn) != (*(u *)((vp) + (16UL)))) { goto b41; } -b40: *(u *)(vn) = 0UL; +b21: if (vp != *(u*)(vg + 16)) goto b38; + if (vn != *(u*)(vp + 16)) goto b41; + *(u*)vn = 0; v14 = (u)zrb_rotate_right; v15 = vtree; v16 = vp; - v17 = ((u (*)())(v14))(v15, v16); -b42: vn = vp; + v17 = ((u(*)())v14)(v15, v16); + vn = vp; goto b1; -b41: *(u *)(vp) = 0UL; +b41: *(u*)vp = 0; v18 = (u)zrb_rotate_left; v19 = vtree; v20 = vn; - v21 = ((u (*)())(v18))(v19, v20); -b43: v22 = (u)zrb_rotate_right; + v21 = ((u(*)())v18)(v19, v20); + v22 = (u)zrb_rotate_right; v23 = vtree; v24 = vn; - v25 = ((u (*)())(v22))(v23, v24); + v25 = ((u(*)())v22)(v23, v24); goto b1; -b38: if ((vn) != (*(u *)((vp) + (16UL)))) { goto b47; } -b46: *(u *)(vp) = 0UL; +b38: if (vn != *(u*)(vp + 16)) goto b47; + *(u*)vp = 0; v26 = (u)zrb_rotate_right; v27 = vtree; v28 = vn; - v29 = ((u (*)())(v26))(v27, v28); -b48: v30 = (u)zrb_rotate_left; + v29 = ((u(*)())v26)(v27, v28); + v30 = (u)zrb_rotate_left; v31 = vtree; v32 = vn; - v33 = ((u (*)())(v30))(v31, v32); + v33 = ((u(*)())v30)(v31, v32); goto b1; -b47: *(u *)(vn) = 0UL; +b47: *(u*)vn = 0; v34 = (u)zrb_rotate_left; v35 = vtree; v36 = vp; - v37 = ((u (*)())(v34))(v35, v36); -b50: vn = vp; + v37 = ((u(*)())v34)(v35, v36); + vn = vp; goto b1; -b25: v11 = 0UL; +b25: v11 = 0; goto b27; -b29: v12 = 0UL; +b29: v12 = 0; goto b31; -b33: v13 = 0UL; +b33: v13 = 0; goto b35; -b19: v10 = 1UL; +b19: v10 = 1; goto b20; -b13: v9 = 1UL; +b13: v9 = 1; goto b14; -b7: v8 = 1UL; +b7: v8 = 1; goto b8; } -u zrb_next(u vn) { +u zrb_next(u vn){ u v1 = 0; u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: if (!(vn)) { goto b5; } -b4: v1 = 0UL; - goto b6; -b6: if (!(v1)) { goto b1; } -b2: return 0UL; -b1: if (!(*(u *)((vn) + (24UL)))) { goto b11; } -b8: v2 = (u)zrb_first; - v3 = *(u *)((vn) + (24UL)); - v4 = ((u (*)())(v2))(v3); -b10: return v4; -b11: if (!(*(u *)((vn) + (8UL)))) { goto b17; } -b16: v5 = 0UL; - goto b18; -b18: if (!(v5)) { goto b13; } -b14: return 0UL; -b13: if ((*(u *)((*(u *)((vn) + (8UL))) + (16UL))) != (vn)) { goto b19; } -b20: return *(u *)((vn) + (8UL)); -b19: vn = *(u *)((vn) + (8UL)); + if (!vn) goto b5; + v1 = 0; +b6: if (!v1) goto b1; + return 0; +b1: if (!*(u*)(vn + 24)) goto b11; + v2 = (u)zrb_first; + v3 = *(u*)(vn + 24); + v4 = ((u(*)())v2)(v3); + return v4; +b11: if (!*(u*)(vn + 8)) goto b17; + v5 = 0; +b18: if (!v5) goto b13; + return 0; +b13: if (*(u*)(*(u*)(vn + 8) + 16) != vn) goto b19; + return *(u*)(vn + 8); +b19: vn = *(u*)(vn + 8); goto b11; -b17: v5 = 1UL; +b17: v5 = 1; goto b18; -b5: v1 = 1UL; +b5: v1 = 1; goto b6; } -u zrb_rotate_left(u vtree, u vn) { +u zrb_rotate_left(u vtree, u vn){ u vg = 0; u vp = 0; u vs = 0; -b0: vs = *(u *)((vn) + (16UL)); - vp = *(u *)((vn) + (8UL)); - vg = *(u *)((vp) + (8UL)); - *(u *)((vn) + (16UL)) = vp; - *(u *)((vp) + (8UL)) = vn; - *(u *)((vp) + (24UL)) = vs; - if (!(vs)) { goto b1; } -b2: *(u *)((vs) + (8UL)) = vp; - goto b1; -b1: *(u *)((vn) + (8UL)) = vg; - if (!(vg)) { goto b6; } -b5: if ((*(u *)((vg) + (16UL))) != (vp)) { goto b9; } -b8: *(u *)((vg) + (16UL)) = vn; + vs = *(u*)(vn + 16); + vp = *(u*)(vn + 8); + vg = *(u*)(vp + 8); + *(u*)(vn + 16) = vp; + *(u*)(vp + 8) = vn; + *(u*)(vp + 24) = vs; + if (!vs) goto b1; + *(u*)(vs + 8) = vp; +b1: *(u*)(vn + 8) = vg; + if (!vg) goto b6; + if (*(u*)(vg + 16) != vp) goto b9; + *(u*)(vg + 16) = vn; +b4: return 0; +b9: *(u*)(vg + 24) = vn; goto b4; -b4: return 0UL; -b9: *(u *)((vg) + (24UL)) = vn; - goto b4; -b6: *(u *)(vtree) = vn; +b6: *(u*)vtree = vn; goto b4; } -u zrb_rotate_right(u vtree, u vn) { +u zrb_rotate_right(u vtree, u vn){ u vg = 0; u vp = 0; u vs = 0; -b0: vs = *(u *)((vn) + (24UL)); - vp = *(u *)((vn) + (8UL)); - vg = *(u *)((vp) + (8UL)); - *(u *)((vn) + (24UL)) = vp; - *(u *)((vp) + (8UL)) = vn; - *(u *)((vp) + (16UL)) = vs; - if (!(vs)) { goto b1; } -b2: *(u *)((vs) + (8UL)) = vp; - goto b1; -b1: *(u *)((vn) + (8UL)) = vg; - if (!(vg)) { goto b6; } -b5: if ((*(u *)((vg) + (16UL))) != (vp)) { goto b9; } -b8: *(u *)((vg) + (16UL)) = vn; + vs = *(u*)(vn + 24); + vp = *(u*)(vn + 8); + vg = *(u*)(vp + 8); + *(u*)(vn + 24) = vp; + *(u*)(vp + 8) = vn; + *(u*)(vp + 16) = vs; + if (!vs) goto b1; + *(u*)(vs + 8) = vp; +b1: *(u*)(vn + 8) = vg; + if (!vg) goto b6; + if (*(u*)(vg + 16) != vp) goto b9; + *(u*)(vg + 16) = vn; +b4: return 0; +b9: *(u*)(vg + 24) = vn; goto b4; -b4: return 0UL; -b9: *(u *)((vg) + (24UL)) = vn; - goto b4; -b6: *(u *)(vtree) = vn; +b6: *(u*)vtree = vn; goto b4; } -u zread(u vfd, u vbuf, u vn) { +u zread(u vfd, u vbuf, u vn){ u v3 = 0; u v4 = 0; u v5 = 0; @@ -28383,18 +27846,18 @@ u zread(u vfd, u vbuf, u vn) { u v9 = 0; u v10 = 0; u v11 = 0; -b0: v3 = (u)zsyscall; - v4 = 0UL; + v3 = (u)zsyscall; + v4 = 0; v5 = vfd; v6 = vbuf; v7 = vn; - v8 = 0UL; - v9 = 0UL; - v10 = 0UL; - v11 = ((u (*)())(v3))(v4, v5, v6, v7, v8, v9, v10); -b1: return v11; + v8 = 0; + v9 = 0; + v10 = 0; + v11 = ((u(*)())v3)(v4, v5, v6, v7, v8, v9, v10); + return v11; } -u zreadall(u vfd, u vlen, u va) { +u zreadall(u vfd, u vlen, u va){ u vbuf = 0; u vtmp = 0; u vcap = 0; @@ -28422,49 +27885,46 @@ u zreadall(u vfd, u vlen, u va) { u v27 = 0; u v28 = 0; u v29 = 0; -b0: vcap = 0UL; - vn = 0UL; - goto b1; -b1: if ((vn) != (vcap)) { goto b3; } -b4: if ((vcap) != (0UL)) { goto b8; } -b7: vnewcap = 4096UL; - goto b6; + vcap = 0; + vn = 0; +b1: if (vn != vcap) goto b3; + if (vcap != 0) goto b8; + vnewcap = 4096; b6: v9 = (u)zalloc; v10 = va; v11 = vnewcap; - v12 = ((u (*)())(v9))(v10, v11); -b9: vtmp = v12; + v12 = ((u(*)())v9)(v10, v11); + vtmp = v12; v13 = (u)zmemcpy; v14 = vtmp; v15 = vbuf; v16 = vn; - v17 = ((u (*)())(v13))(v14, v15, v16); -b10: v18 = (u)zfree; + v17 = ((u(*)())v13)(v14, v15, v16); + v18 = (u)zfree; v19 = va; v20 = vbuf; - v21 = ((u (*)())(v18))(v19, v20); -b11: vbuf = vtmp; + v21 = ((u(*)())v18)(v19, v20); + vbuf = vtmp; vcap = vnewcap; - goto b3; b3: v22 = (u)zread; v23 = vfd; - v24 = (vbuf) + (vn); - v25 = (vcap) - (vn); - v26 = ((u (*)())(v22))(v23, v24, v25); -b12: vret = v26; - if ((s)(vret) >= (s)(0UL)) { goto b13; } -b14: v27 = (u)zdie; + v24 = vbuf + vn; + v25 = vcap - vn; + v26 = ((u(*)())v22)(v23, v24, v25); + vret = v26; + if ((s)vret >= (s)0) goto b13; + v27 = (u)zdie; v28 = (u)"readall failed"; - v29 = ((u (*)())(v27))(v28); -b13: if ((vret) != (0UL)) { goto b17; } -b2: *(u *)(vlen) = vn; + v29 = ((u(*)())v27)(v28); +b13: if (vret != 0) goto b17; + *(u*)vlen = vn; return vbuf; -b17: vn = (vn) + (vret); +b17: vn = vn + vret; goto b1; -b8: vnewcap = (vcap) * (2UL); +b8: vnewcap = vcap * 2; goto b6; } -u zreconstruct(u vc, u vpn) { +u zreconstruct(u vc, u vpn){ u vret = 0; u vlink = 0; u vn = 0; @@ -28507,77 +27967,74 @@ u zreconstruct(u vc, u vpn) { u v41 = 0; u v42 = 0; u v43 = 0; -b0: v6 = (u)zassert; - v7 = (u)((*(u *)(vpn)) == (0UL)); + v6 = (u)zassert; + v7 = (u)(*(u*)vpn == 0); v8 = (u)"grammar"; - v9 = ((u (*)())(v6))(v7, v8); -b1: vret = 0UL; + v9 = ((u(*)())v6)(v7, v8); + vret = 0; vlink = (u)&vret; - vpn = *(u *)((vpn) + (16UL)); - goto b2; -b2: if (!(vpn)) { goto b8; } -b7: v10 = 0UL; - goto b9; -b9: if (!(v10)) { goto b4; } -b3: return vret; -b4: if ((*(u *)(vpn)) != (2UL)) { goto b12; } -b11: v11 = (u)zreconstruct_enum; + vpn = *(u*)(vpn + 16); +b2: if (!vpn) goto b8; + v10 = 0; +b9: if (!v10) goto b4; + return vret; +b4: if (*(u*)vpn != 2) goto b12; + v11 = (u)zreconstruct_enum; v12 = vc; v13 = vpn; - v14 = ((u (*)())(v11))(v12, v13); -b13: vn = v14; - goto b10; + v14 = ((u(*)())v11)(v12, v13); + vn = v14; b10: v35 = (u)zmknode1; v36 = vc; - v37 = 14UL; + v37 = 14; v38 = vn; - v39 = ((u (*)())(v35))(v36, v37, v38); -b27: vp = v39; + v39 = ((u(*)())v35)(v36, v37, v38); + vp = v39; v40 = (u)zcopypos; v41 = vp; v42 = vpn; - v43 = ((u (*)())(v40))(v41, v42); -b28: *(u *)(vlink) = vp; - vlink = (vp) + (16UL); - vpn = *(u *)((vpn) + (8UL)); + v43 = ((u(*)())v40)(v41, v42); + *(u*)vlink = vp; + vlink = vp + 16; + vpn = *(u*)(vpn + 8); goto b2; -b12: if ((*(u *)(vpn)) != (4UL)) { goto b15; } -b14: v15 = (u)zreconstruct_struct; +b12: if (*(u*)vpn != 4) goto b15; + v15 = (u)zreconstruct_struct; v16 = vc; v17 = vpn; - v18 = ((u (*)())(v15))(v16, v17); -b16: vn = v18; + v18 = ((u(*)())v15)(v16, v17); + vn = v18; goto b10; -b15: if ((*(u *)(vpn)) != (5UL)) { goto b18; } -b17: v19 = (u)zreconstruct_union; +b15: if (*(u*)vpn != 5) goto b18; + v19 = (u)zreconstruct_union; v20 = vc; v21 = vpn; - v22 = ((u (*)())(v19))(v20, v21); -b19: vn = v22; + v22 = ((u(*)())v19)(v20, v21); + vn = v22; goto b10; -b18: if ((*(u *)(vpn)) != (6UL)) { goto b21; } -b20: v23 = (u)zreconstruct_func; +b18: if (*(u*)vpn != 6) goto b21; + v23 = (u)zreconstruct_func; v24 = vc; v25 = vpn; - v26 = ((u (*)())(v23))(v24, v25); -b22: vn = v26; + v26 = ((u(*)())v23)(v24, v25); + vn = v26; goto b10; -b21: if ((*(u *)(vpn)) != (90UL)) { goto b24; } -b23: v27 = (u)zpeg_compile; - v28 = *(u *)((vc) + (16UL)); +b21: if (*(u*)vpn != 90) goto b24; + v27 = (u)zpeg_compile; + v28 = *(u*)(vc + 16); v29 = vpn; - v30 = *(u *)((vc) + (24UL)); - v31 = ((u (*)())(v27))(v28, v29, v30); -b25: vpn = *(u *)((vpn) + (8UL)); + v30 = *(u*)(vc + 24); + v31 = ((u(*)())v27)(v28, v29, v30); + vpn = *(u*)(vpn + 8); goto b2; b24: v32 = (u)zdie; v33 = (u)"invalid decl"; - v34 = ((u (*)())(v32))(v33); + v34 = ((u(*)())v32)(v33); goto b10; -b8: v10 = 1UL; +b8: v10 = 1; goto b9; } -u zreconstruct_add(u vc, u vpn) { +u zreconstruct_add(u vc, u vpn){ u vret = 0; u vn = 0; u vlink = 0; @@ -28608,61 +28065,58 @@ u zreconstruct_add(u vc, u vpn) { u v29 = 0; u v30 = 0; u v31 = 0; -b0: v6 = (u)zassert; - v7 = (u)((*(u *)(vpn)) == (42UL)); + v6 = (u)zassert; + v7 = (u)(*(u*)vpn == 42); v8 = (u)"add_expr"; - v9 = ((u (*)())(v6))(v7, v8); -b1: v10 = (u)zreconstruct_mul; + v9 = ((u(*)())v6)(v7, v8); + v10 = (u)zreconstruct_mul; v11 = vc; - v12 = *(u *)((vpn) + (16UL)); - v13 = ((u (*)())(v10))(v11, v12); -b2: vret = v13; + v12 = *(u*)(vpn + 16); + v13 = ((u(*)())v10)(v11, v12); + vret = v13; vlink = (u)&vret; - vpn = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - goto b3; -b3: if (!(vpn)) { goto b9; } -b8: v14 = 0UL; - goto b10; -b10: if (!(v14)) { goto b5; } -b4: return vret; -b5: if ((*(u *)(vpn)) != (38UL)) { goto b13; } -b12: vkind = 45UL; - goto b11; + vpn = *(u*)(*(u*)(vpn + 16) + 8); +b3: if (!vpn) goto b9; + v14 = 0; +b10: if (!v14) goto b5; + return vret; +b5: if (*(u*)vpn != 38) goto b13; + vkind = 45; b11: v18 = (u)zreconstruct_mul; v19 = vc; - v20 = *(u *)((vpn) + (8UL)); - v21 = ((u (*)())(v18))(v19, v20); -b21: vn = v21; + v20 = *(u*)(vpn + 8); + v21 = ((u(*)())v18)(v19, v20); + vn = v21; v22 = (u)zmknode; v23 = vc; v24 = vkind; - v25 = *(u *)(vlink); + v25 = *(u*)vlink; v26 = vn; - v27 = ((u (*)())(v22))(v23, v24, v25, v26); -b22: *(u *)(vlink) = v27; + v27 = ((u(*)())v22)(v23, v24, v25, v26); + *(u*)vlink = v27; v28 = (u)zcopypos; - v29 = *(u *)(vlink); + v29 = *(u*)vlink; v30 = vpn; - v31 = ((u (*)())(v28))(v29, v30); -b23: vpn = *(u *)((*(u *)((vpn) + (8UL))) + (8UL)); + v31 = ((u(*)())v28)(v29, v30); + vpn = *(u*)(*(u*)(vpn + 8) + 8); goto b3; -b13: if ((*(u *)(vpn)) != (39UL)) { goto b15; } -b14: vkind = 46UL; +b13: if (*(u*)vpn != 39) goto b15; + vkind = 46; goto b11; -b15: if ((*(u *)(vpn)) != (40UL)) { goto b17; } -b16: vkind = 54UL; +b15: if (*(u*)vpn != 40) goto b17; + vkind = 54; goto b11; -b17: if ((*(u *)(vpn)) != (41UL)) { goto b19; } -b18: vkind = 55UL; +b17: if (*(u*)vpn != 41) goto b19; + vkind = 55; goto b11; b19: v15 = (u)zdie; v16 = (u)"invalid addop"; - v17 = ((u (*)())(v15))(v16); + v17 = ((u(*)())v15)(v16); goto b11; -b9: v14 = 1UL; +b9: v14 = 1; goto b10; } -u zreconstruct_arg_decl(u vc, u vpn) { +u zreconstruct_arg_decl(u vc, u vpn){ u va = 0; u vb = 0; u vn = 0; @@ -28688,34 +28142,34 @@ u zreconstruct_arg_decl(u vc, u vpn) { u v24 = 0; u v25 = 0; u v26 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (10UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 10); v7 = (u)"arg_decl"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zreconstruct_ident; + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zreconstruct_ident; v10 = vc; - v11 = *(u *)((vpn) + (16UL)); - v12 = ((u (*)())(v9))(v10, v11); -b2: va = v12; + v11 = *(u*)(vpn + 16); + v12 = ((u(*)())v9)(v10, v11); + va = v12; v13 = (u)zreconstruct_type; v14 = vc; - v15 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v16 = ((u (*)())(v13))(v14, v15); -b3: vb = v16; + v15 = *(u*)(*(u*)(vpn + 16) + 8); + v16 = ((u(*)())v13)(v14, v15); + vb = v16; v17 = (u)zmknode; v18 = vc; - v19 = 12UL; + v19 = 12; v20 = va; v21 = vb; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b4: vn = v22; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + vn = v22; v23 = (u)zcopypos; v24 = vn; v25 = vpn; - v26 = ((u (*)())(v23))(v24, v25); -b5: return vn; + v26 = ((u(*)())v23)(v24, v25); + return vn; } -u zreconstruct_args(u vc, u vpn) { +u zreconstruct_args(u vc, u vpn){ u vret = 0; u vlink = 0; u va = 0; @@ -28734,37 +28188,35 @@ u zreconstruct_args(u vc, u vpn) { u v17 = 0; u v18 = 0; u v19 = 0; -b0: vret = 0UL; - vlink = (u)&vret; - goto b1; -b1: if (!(vpn)) { goto b7; } -b6: v6 = 0UL; - goto b8; -b8: if (!(v6)) { goto b3; } -b2: return vret; + vret = 0; + vlink = (u)&vret; +b1: if (!vpn) goto b7; + v6 = 0; +b8: if (!v6) goto b3; + return vret; b3: v7 = (u)zreconstruct_expr; v8 = vc; v9 = vpn; - v10 = ((u (*)())(v7))(v8, v9); -b9: va = v10; + v10 = ((u(*)())v7)(v8, v9); + va = v10; v11 = (u)zmknode1; v12 = vc; - v13 = 6UL; + v13 = 6; v14 = va; - v15 = ((u (*)())(v11))(v12, v13, v14); -b10: vn = v15; + v15 = ((u(*)())v11)(v12, v13, v14); + vn = v15; v16 = (u)zcopypos; v17 = vn; v18 = vpn; - v19 = ((u (*)())(v16))(v17, v18); -b11: *(u *)(vlink) = vn; - vlink = (vn) + (16UL); - vpn = *(u *)((vpn) + (8UL)); + v19 = ((u(*)())v16)(v17, v18); + *(u*)vlink = vn; + vlink = vn + 16; + vpn = *(u*)(vpn + 8); goto b1; -b7: v6 = 1UL; +b7: v6 = 1; goto b8; } -u zreconstruct_assign(u vc, u vpn) { +u zreconstruct_assign(u vc, u vpn){ u va = 0; u vb = 0; u vn = 0; @@ -28790,34 +28242,34 @@ u zreconstruct_assign(u vc, u vpn) { u v24 = 0; u v25 = 0; u v26 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (23UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 23); v7 = (u)"assign_stmt"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zreconstruct_unary; + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zreconstruct_unary; v10 = vc; - v11 = *(u *)((vpn) + (16UL)); - v12 = ((u (*)())(v9))(v10, v11); -b2: va = v12; + v11 = *(u*)(vpn + 16); + v12 = ((u(*)())v9)(v10, v11); + va = v12; v13 = (u)zreconstruct_expr; v14 = vc; - v15 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v16 = ((u (*)())(v13))(v14, v15); -b3: vb = v16; + v15 = *(u*)(*(u*)(vpn + 16) + 8); + v16 = ((u(*)())v13)(v14, v15); + vb = v16; v17 = (u)zmknode; v18 = vc; - v19 = 33UL; + v19 = 33; v20 = va; v21 = vb; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b4: vn = v22; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + vn = v22; v23 = (u)zcopypos; v24 = vn; v25 = vpn; - v26 = ((u (*)())(v23))(v24, v25); -b5: return vn; + v26 = ((u(*)())v23)(v24, v25); + return vn; } -u zreconstruct_bool(u vc, u vpn) { +u zreconstruct_bool(u vc, u vpn){ u vret = 0; u vn = 0; u vlink = 0; @@ -28848,56 +28300,53 @@ u zreconstruct_bool(u vc, u vpn) { u v29 = 0; u v30 = 0; u v31 = 0; -b0: v6 = (u)zassert; - v7 = (u)((*(u *)(vpn)) == (30UL)); + v6 = (u)zassert; + v7 = (u)(*(u*)vpn == 30); v8 = (u)"bool_expr"; - v9 = ((u (*)())(v6))(v7, v8); -b1: v10 = (u)zreconstruct_comp; + v9 = ((u(*)())v6)(v7, v8); + v10 = (u)zreconstruct_comp; v11 = vc; - v12 = *(u *)((vpn) + (16UL)); - v13 = ((u (*)())(v10))(v11, v12); -b2: vret = v13; + v12 = *(u*)(vpn + 16); + v13 = ((u(*)())v10)(v11, v12); + vret = v13; vlink = (u)&vret; - vpn = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - goto b3; -b3: if (!(vpn)) { goto b9; } -b8: v14 = 0UL; - goto b10; -b10: if (!(v14)) { goto b5; } -b4: return vret; -b5: if ((*(u *)(vpn)) != (28UL)) { goto b13; } -b12: vkind = 52UL; - goto b11; + vpn = *(u*)(*(u*)(vpn + 16) + 8); +b3: if (!vpn) goto b9; + v14 = 0; +b10: if (!v14) goto b5; + return vret; +b5: if (*(u*)vpn != 28) goto b13; + vkind = 52; b11: v18 = (u)zreconstruct_comp; v19 = vc; - v20 = *(u *)((vpn) + (8UL)); - v21 = ((u (*)())(v18))(v19, v20); -b17: vn = v21; + v20 = *(u*)(vpn + 8); + v21 = ((u(*)())v18)(v19, v20); + vn = v21; v22 = (u)zmknode; v23 = vc; v24 = vkind; - v25 = *(u *)(vlink); + v25 = *(u*)vlink; v26 = vn; - v27 = ((u (*)())(v22))(v23, v24, v25, v26); -b18: *(u *)(vlink) = v27; + v27 = ((u(*)())v22)(v23, v24, v25, v26); + *(u*)vlink = v27; v28 = (u)zcopypos; - v29 = *(u *)(vlink); + v29 = *(u*)vlink; v30 = vpn; - v31 = ((u (*)())(v28))(v29, v30); -b19: vlink = (*(u *)(vlink)) + (16UL); - vpn = *(u *)((*(u *)((vpn) + (8UL))) + (8UL)); + v31 = ((u(*)())v28)(v29, v30); + vlink = *(u*)vlink + 16; + vpn = *(u*)(*(u*)(vpn + 8) + 8); goto b3; -b13: if ((*(u *)(vpn)) != (29UL)) { goto b15; } -b14: vkind = 51UL; +b13: if (*(u*)vpn != 29) goto b15; + vkind = 51; goto b11; b15: v15 = (u)zdie; v16 = (u)"invalid boolop"; - v17 = ((u (*)())(v15))(v16); + v17 = ((u(*)())v15)(v16); goto b11; -b9: v14 = 1UL; +b9: v14 = 1; goto b10; } -u zreconstruct_break(u vc, u vpn) { +u zreconstruct_break(u vc, u vpn){ u vn = 0; u v3 = 0; u v4 = 0; @@ -28911,22 +28360,22 @@ u zreconstruct_break(u vc, u vpn) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: v3 = (u)zassert; - v4 = (u)((*(u *)(vpn)) == (17UL)); + v3 = (u)zassert; + v4 = (u)(*(u*)vpn == 17); v5 = (u)"break_stmt"; - v6 = ((u (*)())(v3))(v4, v5); -b1: v7 = (u)zmknode0; + v6 = ((u(*)())v3)(v4, v5); + v7 = (u)zmknode0; v8 = vc; - v9 = 27UL; - v10 = ((u (*)())(v7))(v8, v9); -b2: vn = v10; + v9 = 27; + v10 = ((u(*)())v7)(v8, v9); + vn = v10; v11 = (u)zcopypos; v12 = vn; v13 = vpn; - v14 = ((u (*)())(v11))(v12, v13); -b3: return vn; + v14 = ((u(*)())v11)(v12, v13); + return vn; } -u zreconstruct_char(u vc, u vpn) { +u zreconstruct_char(u vc, u vpn){ u vi = 0; u vx = 0; u vok = 0; @@ -28954,48 +28403,46 @@ u zreconstruct_char(u vc, u vpn) { u v26 = 0; u v27 = 0; u v28 = 0; -b0: v6 = (u)zassert; - v7 = (u)((*(u *)(vpn)) == (68UL)); + v6 = (u)zassert; + v7 = (u)(*(u*)vpn == 68); v8 = (u)"char"; - v9 = ((u (*)())(v6))(v7, v8); -b1: vi = 1UL; + v9 = ((u(*)())v6)(v7, v8); + vi = 1; v10 = (u)zunescape; - v11 = *(u *)((vpn) + (24UL)); + v11 = *(u*)(vpn + 24); v12 = (u)&vi; - v13 = (*(u *)((vpn) + (32UL))) - (1UL); + v13 = *(u*)(vpn + 32) - 1; v14 = (u)&vok; - v15 = ((u (*)())(v10))(v11, v12, v13, v14); -b2: vx = v15; - if (!(vok)) { goto b11; } -b10: v17 = 0UL; - goto b12; -b12: if (!(v17)) { goto b7; } -b6: v16 = 1UL; - goto b9; -b9: if (!(v16)) { goto b3; } -b4: v18 = (u)zdie; + v15 = ((u(*)())v10)(v11, v12, v13, v14); + vx = v15; + if (!vok) goto b11; + v17 = 0; +b12: if (!v17) goto b7; + v16 = 1; +b9: if (!v16) goto b3; + v18 = (u)zdie; v19 = (u)"invalid character"; - v20 = ((u (*)())(v18))(v19); + v20 = ((u(*)())v18)(v19); b3: v21 = (u)zmknode0; v22 = vc; - v23 = 2UL; - v24 = ((u (*)())(v21))(v22, v23); -b15: vn = v24; + v23 = 2; + v24 = ((u(*)())v21)(v22, v23); + vn = v24; v25 = (u)zcopypos; v26 = vn; v27 = vpn; - v28 = ((u (*)())(v25))(v26, v27); -b16: *(u *)((vn) + (48UL)) = vx; + v28 = ((u(*)())v25)(v26, v27); + *(u*)(vn + 48) = vx; return vn; -b7: if ((vi) == ((*(u *)((vpn) + (32UL))) - (1UL))) { goto b13; } -b8: v16 = 1UL; +b7: if (vi == *(u*)(vpn + 32) - 1) goto b13; + v16 = 1; goto b9; -b13: v16 = 0UL; +b13: v16 = 0; goto b9; -b11: v17 = 1UL; +b11: v17 = 1; goto b12; } -u zreconstruct_comp(u vc, u vpn) { +u zreconstruct_comp(u vc, u vpn){ u va = 0; u vb = 0; u vn = 0; @@ -29027,64 +28474,62 @@ u zreconstruct_comp(u vc, u vpn) { u v30 = 0; u v31 = 0; u v32 = 0; -b0: v7 = (u)zassert; - v8 = (u)((*(u *)(vpn)) == (37UL)); + v7 = (u)zassert; + v8 = (u)(*(u*)vpn == 37); v9 = (u)"comp_expr"; - v10 = ((u (*)())(v7))(v8, v9); -b1: v11 = (u)zreconstruct_add; + v10 = ((u(*)())v7)(v8, v9); + v11 = (u)zreconstruct_add; v12 = vc; - v13 = *(u *)((vpn) + (16UL)); - v14 = ((u (*)())(v11))(v12, v13); -b2: va = v14; - if (!(*(u *)((*(u *)((vpn) + (16UL))) + (8UL)))) { goto b7; } -b6: v15 = 0UL; - goto b8; -b8: if (!(v15)) { goto b3; } -b4: return va; -b3: vtag = *(u *)(*(u *)((*(u *)((vpn) + (16UL))) + (8UL))); - if ((vtag) != (31UL)) { goto b11; } -b10: vkind = 41UL; - goto b9; + v13 = *(u*)(vpn + 16); + v14 = ((u(*)())v11)(v12, v13); + va = v14; + if (!*(u*)(*(u*)(vpn + 16) + 8)) goto b7; + v15 = 0; +b8: if (!v15) goto b3; + return va; +b3: vtag = *(u*)*(u*)(*(u*)(vpn + 16) + 8); + if (vtag != 31) goto b11; + vkind = 41; b9: v19 = (u)zreconstruct_add; v20 = vc; - v21 = *(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL)); - v22 = ((u (*)())(v19))(v20, v21); -b23: vb = v22; + v21 = *(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8); + v22 = ((u(*)())v19)(v20, v21); + vb = v22; v23 = (u)zmknode; v24 = vc; v25 = vkind; v26 = va; v27 = vb; - v28 = ((u (*)())(v23))(v24, v25, v26, v27); -b24: vn = v28; + v28 = ((u(*)())v23)(v24, v25, v26, v27); + vn = v28; v29 = (u)zcopypos; v30 = vn; v31 = vpn; - v32 = ((u (*)())(v29))(v30, v31); -b25: return vn; -b11: if ((vtag) != (32UL)) { goto b13; } -b12: vkind = 42UL; + v32 = ((u(*)())v29)(v30, v31); + return vn; +b11: if (vtag != 32) goto b13; + vkind = 42; goto b9; -b13: if ((vtag) != (33UL)) { goto b15; } -b14: vkind = 39UL; +b13: if (vtag != 33) goto b15; + vkind = 39; goto b9; -b15: if ((vtag) != (34UL)) { goto b17; } -b16: vkind = 40UL; +b15: if (vtag != 34) goto b17; + vkind = 40; goto b9; -b17: if ((vtag) != (35UL)) { goto b19; } -b18: vkind = 43UL; +b17: if (vtag != 35) goto b19; + vkind = 43; goto b9; -b19: if ((vtag) != (36UL)) { goto b21; } -b20: vkind = 44UL; +b19: if (vtag != 36) goto b21; + vkind = 44; goto b9; b21: v16 = (u)zdie; v17 = (u)"invalid compop"; - v18 = ((u (*)())(v16))(v17); + v18 = ((u(*)())v16)(v17); goto b9; -b7: v15 = 1UL; +b7: v15 = 1; goto b8; } -u zreconstruct_compound(u vc, u vpn) { +u zreconstruct_compound(u vc, u vpn){ u vret = 0; u vn = 0; u va = 0; @@ -29107,44 +28552,41 @@ u zreconstruct_compound(u vc, u vpn) { u v21 = 0; u v22 = 0; u v23 = 0; -b0: v6 = (u)zassert; - v7 = (u)((*(u *)(vpn)) == (26UL)); + v6 = (u)zassert; + v7 = (u)(*(u*)vpn == 26); v8 = (u)"compound_stmt"; - v9 = ((u (*)())(v6))(v7, v8); -b1: vpn = *(u *)((vpn) + (16UL)); - vret = 0UL; + v9 = ((u(*)())v6)(v7, v8); + vpn = *(u*)(vpn + 16); + vret = 0; vlink = (u)&vret; - goto b2; -b2: if (!(vpn)) { goto b8; } -b7: v10 = 0UL; - goto b9; -b9: if (!(v10)) { goto b4; } -b3: return vret; +b2: if (!vpn) goto b8; + v10 = 0; +b9: if (!v10) goto b4; + return vret; b4: v11 = (u)zreconstruct_stmt; v12 = vc; v13 = vpn; - v14 = ((u (*)())(v11))(v12, v13); -b10: va = v14; - if (!(va)) { goto b11; } -b12: v15 = (u)zmknode1; + v14 = ((u(*)())v11)(v12, v13); + va = v14; + if (!va) goto b11; + v15 = (u)zmknode1; v16 = vc; - v17 = 5UL; + v17 = 5; v18 = va; - v19 = ((u (*)())(v15))(v16, v17, v18); -b14: vn = v19; + v19 = ((u(*)())v15)(v16, v17, v18); + vn = v19; v20 = (u)zcopypos; v21 = vn; v22 = vpn; - v23 = ((u (*)())(v20))(v21, v22); -b15: *(u *)(vlink) = vn; - vlink = (vn) + (16UL); - goto b11; -b11: vpn = *(u *)((vpn) + (8UL)); + v23 = ((u(*)())v20)(v21, v22); + *(u*)vlink = vn; + vlink = vn + 16; +b11: vpn = *(u*)(vpn + 8); goto b2; -b8: v10 = 1UL; +b8: v10 = 1; goto b9; } -u zreconstruct_continue(u vc, u vpn) { +u zreconstruct_continue(u vc, u vpn){ u vn = 0; u v3 = 0; u v4 = 0; @@ -29158,22 +28600,22 @@ u zreconstruct_continue(u vc, u vpn) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: v3 = (u)zassert; - v4 = (u)((*(u *)(vpn)) == (18UL)); + v3 = (u)zassert; + v4 = (u)(*(u*)vpn == 18); v5 = (u)"continue_stmt"; - v6 = ((u (*)())(v3))(v4, v5); -b1: v7 = (u)zmknode0; + v6 = ((u(*)())v3)(v4, v5); + v7 = (u)zmknode0; v8 = vc; - v9 = 28UL; - v10 = ((u (*)())(v7))(v8, v9); -b2: vn = v10; + v9 = 28; + v10 = ((u(*)())v7)(v8, v9); + vn = v10; v11 = (u)zcopypos; v12 = vn; v13 = vpn; - v14 = ((u (*)())(v11))(v12, v13); -b3: return vn; + v14 = ((u(*)())v11)(v12, v13); + return vn; } -u zreconstruct_dec(u vc, u vpn) { +u zreconstruct_dec(u vc, u vpn){ u vx = 0; u vn = 0; u vok = 0; @@ -29198,49 +28640,48 @@ u zreconstruct_dec(u vc, u vpn) { u v23 = 0; u v24 = 0; u v25 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (66UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 66); v7 = (u)"dec"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zdec2int; - v10 = *(u *)((vpn) + (24UL)); - v11 = *(u *)((vpn) + (32UL)); + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zdec2int; + v10 = *(u*)(vpn + 24); + v11 = *(u*)(vpn + 32); v12 = (u)&vok; - v13 = ((u (*)())(v9))(v10, v11, v12); -b2: vx = v13; - if (!(vok)) { goto b7; } -b6: v14 = 0UL; - goto b8; -b8: if (!(v14)) { goto b3; } -b4: v15 = (u)zdie; + v13 = ((u(*)())v9)(v10, v11, v12); + vx = v13; + if (!vok) goto b7; + v14 = 0; +b8: if (!v14) goto b3; + v15 = (u)zdie; v16 = (u)"invalid dec"; - v17 = ((u (*)())(v15))(v16); + v17 = ((u(*)())v15)(v16); b3: v18 = (u)zmknode0; v19 = vc; - v20 = 1UL; - v21 = ((u (*)())(v18))(v19, v20); -b10: vn = v21; + v20 = 1; + v21 = ((u(*)())v18)(v19, v20); + vn = v21; v22 = (u)zcopypos; v23 = vn; v24 = vpn; - v25 = ((u (*)())(v22))(v23, v24); -b11: *(u *)((vn) + (48UL)) = vx; + v25 = ((u(*)())v22)(v23, v24); + *(u*)(vn + 48) = vx; return vn; -b7: v14 = 1UL; +b7: v14 = 1; goto b8; } -u zreconstruct_empty(u vc, u vpn) { +u zreconstruct_empty(u vc, u vpn){ u v2 = 0; u v3 = 0; u v4 = 0; u v5 = 0; -b0: v2 = (u)zassert; - v3 = (u)((*(u *)(vpn)) == (25UL)); + v2 = (u)zassert; + v3 = (u)(*(u*)vpn == 25); v4 = (u)"empty_stmt"; - v5 = ((u (*)())(v2))(v3, v4); -b1: return 0UL; + v5 = ((u(*)())v2)(v3, v4); + return 0; } -u zreconstruct_enum(u vc, u vpn) { +u zreconstruct_enum(u vc, u vpn){ u va = 0; u vlink = 0; u vn = 0; @@ -29272,51 +28713,49 @@ u zreconstruct_enum(u vc, u vpn) { u v30 = 0; u v31 = 0; u v32 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (2UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 2); v7 = (u)"enum_decl"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zmknode; + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zmknode; v10 = vc; - v11 = 23UL; - v12 = 0UL; - v13 = 0UL; - v14 = ((u (*)())(v9))(v10, v11, v12, v13); -b2: vn = v14; + v11 = 23; + v12 = 0; + v13 = 0; + v14 = ((u(*)())v9)(v10, v11, v12, v13); + vn = v14; v15 = (u)zcopypos; v16 = vn; v17 = vpn; - v18 = ((u (*)())(v15))(v16, v17); -b3: vpn = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - vlink = (vn) + (16UL); - goto b4; -b4: if (!(vpn)) { goto b10; } -b9: v19 = 0UL; - goto b11; -b11: if (!(v19)) { goto b6; } -b5: return vn; + v18 = ((u(*)())v15)(v16, v17); + vpn = *(u*)(*(u*)(vpn + 16) + 8); + vlink = vn + 16; +b4: if (!vpn) goto b10; + v19 = 0; +b11: if (!v19) goto b6; + return vn; b6: v20 = (u)zmknode1; v21 = vc; - v22 = 25UL; + v22 = 25; v24 = (u)zreconstruct_enum_item; v25 = vc; v26 = vpn; - v27 = ((u (*)())(v24))(v25, v26); -b12: v23 = v27; - v28 = ((u (*)())(v20))(v21, v22, v23); -b13: va = v28; + v27 = ((u(*)())v24)(v25, v26); + v23 = v27; + v28 = ((u(*)())v20)(v21, v22, v23); + va = v28; v29 = (u)zcopypos; v30 = va; v31 = vpn; - v32 = ((u (*)())(v29))(v30, v31); -b14: *(u *)(vlink) = va; - vlink = (va) + (16UL); - vpn = *(u *)((vpn) + (8UL)); + v32 = ((u(*)())v29)(v30, v31); + *(u*)vlink = va; + vlink = va + 16; + vpn = *(u*)(vpn + 8); goto b4; -b10: v19 = 1UL; +b10: v19 = 1; goto b11; } -u zreconstruct_enum_item(u vc, u vpn) { +u zreconstruct_enum_item(u vc, u vpn){ u va = 0; u vb = 0; u vn = 0; @@ -29346,40 +28785,40 @@ u zreconstruct_enum_item(u vc, u vpn) { u v28 = 0; u v29 = 0; u v30 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (1UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 1); v7 = (u)"enum_item"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zreconstruct_ident; + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zreconstruct_ident; v10 = vc; - v11 = *(u *)((vpn) + (16UL)); - v12 = ((u (*)())(v9))(v10, v11); -b2: va = v12; - vb = 0UL; - if (!(*(u *)((*(u *)((vpn) + (16UL))) + (8UL)))) { goto b3; } -b4: v13 = (u)zreconstruct_expr; + v11 = *(u*)(vpn + 16); + v12 = ((u(*)())v9)(v10, v11); + va = v12; + vb = 0; + if (!*(u*)(*(u*)(vpn + 16) + 8)) goto b3; + v13 = (u)zreconstruct_expr; v14 = vc; - v15 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v16 = ((u (*)())(v13))(v14, v15); -b6: vb = v16; + v15 = *(u*)(*(u*)(vpn + 16) + 8); + v16 = ((u(*)())v13)(v14, v15); + vb = v16; v17 = (u)zassert; - v18 = (u)((*(u *)(vb)) == (1UL)); + v18 = (u)(*(u*)vb == 1); v19 = (u)"enum must be num"; - v20 = ((u (*)())(v17))(v18, v19); + v20 = ((u(*)())v17)(v18, v19); b3: v21 = (u)zmknode; v22 = vc; - v23 = 24UL; + v23 = 24; v24 = va; v25 = vb; - v26 = ((u (*)())(v21))(v22, v23, v24, v25); -b8: vn = v26; + v26 = ((u(*)())v21)(v22, v23, v24, v25); + vn = v26; v27 = (u)zcopypos; v28 = vn; v29 = vpn; - v30 = ((u (*)())(v27))(v28, v29); -b9: return vn; + v30 = ((u(*)())v27)(v28, v29); + return vn; } -u zreconstruct_expr(u vc, u vpn) { +u zreconstruct_expr(u vc, u vpn){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -29388,17 +28827,17 @@ u zreconstruct_expr(u vc, u vpn) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v2 = (u)zassert; - v3 = (u)((*(u *)(vpn)) == (27UL)); + v2 = (u)zassert; + v3 = (u)(*(u*)vpn == 27); v4 = (u)"expr"; - v5 = ((u (*)())(v2))(v3, v4); -b1: v6 = (u)zreconstruct_bool; + v5 = ((u(*)())v2)(v3, v4); + v6 = (u)zreconstruct_bool; v7 = vc; - v8 = *(u *)((vpn) + (16UL)); - v9 = ((u (*)())(v6))(v7, v8); -b2: return v9; + v8 = *(u*)(vpn + 16); + v9 = ((u(*)())v6)(v7, v8); + return v9; } -u zreconstruct_expr_stmt(u vc, u vpn) { +u zreconstruct_expr_stmt(u vc, u vpn){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -29407,17 +28846,17 @@ u zreconstruct_expr_stmt(u vc, u vpn) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v2 = (u)zassert; - v3 = (u)((*(u *)(vpn)) == (24UL)); + v2 = (u)zassert; + v3 = (u)(*(u*)vpn == 24); v4 = (u)"expr_stmt"; - v5 = ((u (*)())(v2))(v3, v4); -b1: v6 = (u)zreconstruct_expr; + v5 = ((u(*)())v2)(v3, v4); + v6 = (u)zreconstruct_expr; v7 = vc; - v8 = *(u *)((vpn) + (16UL)); - v9 = ((u (*)())(v6))(v7, v8); -b2: return v9; + v8 = *(u*)(vpn + 16); + v9 = ((u(*)())v6)(v7, v8); + return v9; } -u zreconstruct_func(u vc, u vpn) { +u zreconstruct_func(u vc, u vpn){ u va = 0; u vb = 0; u vd = 0; @@ -29459,57 +28898,56 @@ u zreconstruct_func(u vc, u vpn) { u v40 = 0; u v41 = 0; u v42 = 0; -b0: v6 = (u)zassert; - v7 = (u)((*(u *)(vpn)) == (6UL)); + v6 = (u)zassert; + v7 = (u)(*(u*)vpn == 6); v8 = (u)"func_def"; - v9 = ((u (*)())(v6))(v7, v8); -b1: v10 = (u)zreconstruct_ident; + v9 = ((u(*)())v6)(v7, v8); + v10 = (u)zreconstruct_ident; v11 = vc; - v12 = *(u *)((vpn) + (16UL)); - v13 = ((u (*)())(v10))(v11, v12); -b2: va = v13; + v12 = *(u*)(vpn + 16); + v13 = ((u(*)())v10)(v11, v12); + va = v13; v14 = (u)zreconstruct_func_type; v15 = vc; - v16 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v17 = ((u (*)())(v14))(v15, v16); -b3: vb = v17; + v16 = *(u*)(*(u*)(vpn + 16) + 8); + v17 = ((u(*)())v14)(v15, v16); + vb = v17; v18 = (u)zmknode; v19 = vc; - v20 = 13UL; + v20 = 13; v21 = va; v22 = vb; - v23 = ((u (*)())(v18))(v19, v20, v21, v22); -b4: vd = v23; + v23 = ((u(*)())v18)(v19, v20, v21, v22); + vd = v23; v24 = (u)zcopypos; v25 = vd; v26 = vpn; - v27 = ((u (*)())(v24))(v25, v26); -b5: if (!(*(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL)))) { goto b10; } -b9: v28 = 0UL; - goto b11; -b11: if (!(v28)) { goto b6; } -b7: return vd; + v27 = ((u(*)())v24)(v25, v26); + if (!*(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8)) goto b10; + v28 = 0; +b11: if (!v28) goto b6; + return vd; b6: v29 = (u)zreconstruct_compound; v30 = vc; - v31 = *(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL)); - v32 = ((u (*)())(v29))(v30, v31); -b12: vb = v32; + v31 = *(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8); + v32 = ((u(*)())v29)(v30, v31); + vb = v32; v33 = (u)zmknode; v34 = vc; - v35 = 11UL; + v35 = 11; v36 = vd; v37 = vb; - v38 = ((u (*)())(v33))(v34, v35, v36, v37); -b13: vn = v38; + v38 = ((u(*)())v33)(v34, v35, v36, v37); + vn = v38; v39 = (u)zcopypos; v40 = vn; v41 = vpn; - v42 = ((u (*)())(v39))(v40, v41); -b14: return vn; -b10: v28 = 1UL; + v42 = ((u(*)())v39)(v40, v41); + return vn; +b10: v28 = 1; goto b11; } -u zreconstruct_func_type(u vc, u vpn) { +u zreconstruct_func_type(u vc, u vpn){ u va = 0; u vn = 0; u vlink = 0; @@ -29548,65 +28986,63 @@ u zreconstruct_func_type(u vc, u vpn) { u v38 = 0; u v39 = 0; u v40 = 0; -b0: v6 = (u)zassert; - v7 = (u)((*(u *)(vpn)) == (11UL)); + v6 = (u)zassert; + v7 = (u)(*(u*)vpn == 11); v8 = (u)"func_type"; - v9 = ((u (*)())(v6))(v7, v8); -b1: v10 = (u)zmknode; + v9 = ((u(*)())v6)(v7, v8); + v10 = (u)zmknode; v11 = vc; - v12 = 15UL; - v13 = 0UL; - v14 = 0UL; - v15 = ((u (*)())(v10))(v11, v12, v13, v14); -b2: vn = v15; + v12 = 15; + v13 = 0; + v14 = 0; + v15 = ((u(*)())v10)(v11, v12, v13, v14); + vn = v15; v16 = (u)zcopypos; v17 = vn; v18 = vpn; - v19 = ((u (*)())(v16))(v17, v18); -b3: vpn = *(u *)((vpn) + (16UL)); - vlink = (vn) + (8UL); - goto b4; -b4: if (!(vpn)) { goto b10; } -b9: v20 = 0UL; - goto b11; -b11: if (!(v20)) { goto b6; } -b5: return vn; -b6: if ((*(u *)(vpn)) != (9UL)) { goto b14; } -b12: vpn = *(u *)((vpn) + (8UL)); + v19 = ((u(*)())v16)(v17, v18); + vpn = *(u*)(vpn + 16); + vlink = vn + 8; +b4: if (!vpn) goto b10; + v20 = 0; +b11: if (!v20) goto b6; + return vn; +b6: if (*(u*)vpn != 9) goto b14; +b12: vpn = *(u*)(vpn + 8); goto b4; -b14: if ((*(u *)(vpn)) != (10UL)) { goto b16; } -b15: v21 = (u)zmknode1; +b14: if (*(u*)vpn != 10) goto b16; + v21 = (u)zmknode1; v22 = vc; - v23 = 10UL; + v23 = 10; v25 = (u)zreconstruct_arg_decl; v26 = vc; v27 = vpn; - v28 = ((u (*)())(v25))(v26, v27); -b17: v24 = v28; - v29 = ((u (*)())(v21))(v22, v23, v24); -b18: va = v29; + v28 = ((u(*)())v25)(v26, v27); + v24 = v28; + v29 = ((u(*)())v21)(v22, v23, v24); + va = v29; v30 = (u)zcopypos; v31 = va; v32 = vpn; - v33 = ((u (*)())(v30))(v31, v32); -b19: *(u *)(vlink) = va; - vlink = (va) + (16UL); + v33 = ((u(*)())v30)(v31, v32); + *(u*)vlink = va; + vlink = va + 16; goto b12; -b16: if ((*(u *)(vpn)) != (7UL)) { goto b21; } -b20: v34 = (u)zreconstruct_type; +b16: if (*(u*)vpn != 7) goto b21; + v34 = (u)zreconstruct_type; v35 = vc; v36 = vpn; - v37 = ((u (*)())(v34))(v35, v36); -b22: *(u *)((vn) + (16UL)) = v37; + v37 = ((u(*)())v34)(v35, v36); + *(u*)(vn + 16) = v37; goto b12; b21: v38 = (u)zdie; v39 = (u)"invalid func_type"; - v40 = ((u (*)())(v38))(v39); + v40 = ((u(*)())v38)(v39); goto b12; -b10: v20 = 1UL; +b10: v20 = 1; goto b11; } -u zreconstruct_goto(u vc, u vpn) { +u zreconstruct_goto(u vc, u vpn){ u va = 0; u vn = 0; u v4 = 0; @@ -29626,28 +29062,28 @@ u zreconstruct_goto(u vc, u vpn) { u v18 = 0; u v19 = 0; u v20 = 0; -b0: v4 = (u)zassert; - v5 = (u)((*(u *)(vpn)) == (22UL)); + v4 = (u)zassert; + v5 = (u)(*(u*)vpn == 22); v6 = (u)"goto_stmt"; - v7 = ((u (*)())(v4))(v5, v6); -b1: v8 = (u)zreconstruct_ident; + v7 = ((u(*)())v4)(v5, v6); + v8 = (u)zreconstruct_ident; v9 = vc; - v10 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v11 = ((u (*)())(v8))(v9, v10); -b2: va = v11; + v10 = *(u*)(*(u*)(vpn + 16) + 8); + v11 = ((u(*)())v8)(v9, v10); + va = v11; v12 = (u)zmknode1; v13 = vc; - v14 = 32UL; + v14 = 32; v15 = va; - v16 = ((u (*)())(v12))(v13, v14, v15); -b3: vn = v16; + v16 = ((u(*)())v12)(v13, v14, v15); + vn = v16; v17 = (u)zcopypos; v18 = vn; v19 = vpn; - v20 = ((u (*)())(v17))(v18, v19); -b4: return vn; + v20 = ((u(*)())v17)(v18, v19); + return vn; } -u zreconstruct_hex(u vc, u vpn) { +u zreconstruct_hex(u vc, u vpn){ u vx = 0; u vn = 0; u vok = 0; @@ -29672,38 +29108,37 @@ u zreconstruct_hex(u vc, u vpn) { u v23 = 0; u v24 = 0; u v25 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (65UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 65); v7 = (u)"hex"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zhex2int; - v10 = (*(u *)((vpn) + (24UL))) + (2UL); - v11 = (*(u *)((vpn) + (32UL))) - (2UL); + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zhex2int; + v10 = *(u*)(vpn + 24) + 2; + v11 = *(u*)(vpn + 32) - 2; v12 = (u)&vok; - v13 = ((u (*)())(v9))(v10, v11, v12); -b2: vx = v13; - if (!(vok)) { goto b7; } -b6: v14 = 0UL; - goto b8; -b8: if (!(v14)) { goto b3; } -b4: v15 = (u)zdie; + v13 = ((u(*)())v9)(v10, v11, v12); + vx = v13; + if (!vok) goto b7; + v14 = 0; +b8: if (!v14) goto b3; + v15 = (u)zdie; v16 = (u)"invalid hex"; - v17 = ((u (*)())(v15))(v16); + v17 = ((u(*)())v15)(v16); b3: v18 = (u)zmknode0; v19 = vc; - v20 = 1UL; - v21 = ((u (*)())(v18))(v19, v20); -b10: vn = v21; + v20 = 1; + v21 = ((u(*)())v18)(v19, v20); + vn = v21; v22 = (u)zcopypos; v23 = vn; v24 = vpn; - v25 = ((u (*)())(v22))(v23, v24); -b11: *(u *)((vn) + (48UL)) = vx; + v25 = ((u(*)())v22)(v23, v24); + *(u*)(vn + 48) = vx; return vn; -b7: v14 = 1UL; +b7: v14 = 1; goto b8; } -u zreconstruct_ident(u vc, u vpn) { +u zreconstruct_ident(u vc, u vpn){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -29714,19 +29149,19 @@ u zreconstruct_ident(u vc, u vpn) { u v9 = 0; u v10 = 0; u v11 = 0; -b0: v2 = (u)zassert; - v3 = (u)((*(u *)(vpn)) == (88UL)); + v2 = (u)zassert; + v3 = (u)(*(u*)vpn == 88); v4 = (u)"ident"; - v5 = ((u (*)())(v2))(v3, v4); -b1: v6 = (u)zreconstruct_intern; + v5 = ((u(*)())v2)(v3, v4); + v6 = (u)zreconstruct_intern; v7 = vc; v8 = vpn; - v9 = *(u *)((vpn) + (24UL)); - v10 = *(u *)((vpn) + (32UL)); - v11 = ((u (*)())(v6))(v7, v8, v9, v10); -b2: return v11; + v9 = *(u*)(vpn + 24); + v10 = *(u*)(vpn + 32); + v11 = ((u(*)())v6)(v7, v8, v9, v10); + return v11; } -u zreconstruct_if(u vc, u vpn) { +u zreconstruct_if(u vc, u vpn){ u vret = 0; u vlink = 0; u va = 0; @@ -29817,122 +29252,119 @@ u zreconstruct_if(u vc, u vpn) { u v89 = 0; u v90 = 0; u v91 = 0; -b0: v7 = (u)zassert; - v8 = (u)((*(u *)(vpn)) == (15UL)); + v7 = (u)zassert; + v8 = (u)(*(u*)vpn == 15); v9 = (u)"if_stmt"; - v10 = ((u (*)())(v7))(v8, v9); -b1: v11 = (u)zreconstruct_expr; + v10 = ((u(*)())v7)(v8, v9); + v11 = (u)zreconstruct_expr; v12 = vc; - v13 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v14 = ((u (*)())(v11))(v12, v13); -b2: va = v14; + v13 = *(u*)(*(u*)(vpn + 16) + 8); + v14 = ((u(*)())v11)(v12, v13); + va = v14; v15 = (u)zreconstruct_compound; v16 = vc; - v17 = *(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL)); - v18 = ((u (*)())(v15))(v16, v17); -b3: vb = v18; + v17 = *(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8); + v18 = ((u(*)())v15)(v16, v17); + vb = v18; v19 = (u)zmknode1; v20 = vc; - v21 = 21UL; + v21 = 21; v23 = (u)zmknode; v24 = vc; - v25 = 22UL; + v25 = 22; v26 = va; v27 = vb; - v28 = ((u (*)())(v23))(v24, v25, v26, v27); -b4: v22 = v28; - v29 = ((u (*)())(v19))(v20, v21, v22); -b5: vret = v29; + v28 = ((u(*)())v23)(v24, v25, v26, v27); + v22 = v28; + v29 = ((u(*)())v19)(v20, v21, v22); + vret = v29; v30 = (u)zcopypos; v31 = vret; v32 = vpn; - v33 = ((u (*)())(v30))(v31, v32); -b6: v34 = (u)zcopypos; - v35 = *(u *)((vret) + (8UL)); + v33 = ((u(*)())v30)(v31, v32); + v34 = (u)zcopypos; + v35 = *(u*)(vret + 8); v36 = vpn; - v37 = ((u (*)())(v34))(v35, v36); -b7: vlink = (vret) + (16UL); - vpn = *(u *)((*(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL))) + (8UL)); - goto b8; -b8: if (!(vpn)) { goto b14; } -b13: v38 = 0UL; - goto b15; -b15: if (!(v38)) { goto b10; } + v37 = ((u(*)())v34)(v35, v36); + vlink = vret + 16; + vpn = *(u*)(*(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8) + 8); +b8: if (!vpn) goto b14; + v38 = 0; +b15: if (!v38) goto b10; b9: return vret; -b10: if ((*(u *)(vpn)) != (13UL)) { goto b18; } -b17: v39 = (u)zreconstruct_expr; +b10: if (*(u*)vpn != 13) goto b18; + v39 = (u)zreconstruct_expr; v40 = vc; - v41 = *(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL)); - v42 = ((u (*)())(v39))(v40, v41); -b19: va = v42; + v41 = *(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8); + v42 = ((u(*)())v39)(v40, v41); + va = v42; v43 = (u)zreconstruct_compound; v44 = vc; - v45 = *(u *)((*(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL))) + (8UL)); - v46 = ((u (*)())(v43))(v44, v45); -b20: vb = v46; + v45 = *(u*)(*(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8) + 8); + v46 = ((u(*)())v43)(v44, v45); + vb = v46; v47 = (u)zmknode1; v48 = vc; - v49 = 21UL; + v49 = 21; v51 = (u)zmknode; v52 = vc; - v53 = 22UL; + v53 = 22; v54 = va; v55 = vb; - v56 = ((u (*)())(v51))(v52, v53, v54, v55); -b21: v50 = v56; - v57 = ((u (*)())(v47))(v48, v49, v50); -b22: vn = v57; + v56 = ((u(*)())v51)(v52, v53, v54, v55); + v50 = v56; + v57 = ((u(*)())v47)(v48, v49, v50); + vn = v57; v58 = (u)zcopypos; v59 = vn; v60 = vpn; - v61 = ((u (*)())(v58))(v59, v60); -b23: v62 = (u)zcopypos; - v63 = *(u *)((vn) + (8UL)); + v61 = ((u(*)())v58)(v59, v60); + v62 = (u)zcopypos; + v63 = *(u*)(vn + 8); v64 = vpn; - v65 = ((u (*)())(v62))(v63, v64); -b24: *(u *)(vlink) = vn; - vlink = (vn) + (16UL); - goto b16; -b16: vpn = *(u *)((vpn) + (8UL)); + v65 = ((u(*)())v62)(v63, v64); + *(u*)vlink = vn; + vlink = vn + 16; +b16: vpn = *(u*)(vpn + 8); goto b8; -b18: if ((*(u *)(vpn)) != (14UL)) { goto b26; } -b25: va = 0UL; +b18: if (*(u*)vpn != 14) goto b26; + va = 0; v66 = (u)zreconstruct_compound; v67 = vc; - v68 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v69 = ((u (*)())(v66))(v67, v68); -b27: vb = v69; + v68 = *(u*)(*(u*)(vpn + 16) + 8); + v69 = ((u(*)())v66)(v67, v68); + vb = v69; v70 = (u)zmknode1; v71 = vc; - v72 = 21UL; + v72 = 21; v74 = (u)zmknode; v75 = vc; - v76 = 22UL; + v76 = 22; v77 = va; v78 = vb; - v79 = ((u (*)())(v74))(v75, v76, v77, v78); -b28: v73 = v79; - v80 = ((u (*)())(v70))(v71, v72, v73); -b29: vn = v80; + v79 = ((u(*)())v74)(v75, v76, v77, v78); + v73 = v79; + v80 = ((u(*)())v70)(v71, v72, v73); + vn = v80; v81 = (u)zcopypos; v82 = vn; v83 = vpn; - v84 = ((u (*)())(v81))(v82, v83); -b30: v85 = (u)zcopypos; - v86 = *(u *)((vn) + (8UL)); + v84 = ((u(*)())v81)(v82, v83); + v85 = (u)zcopypos; + v86 = *(u*)(vn + 8); v87 = vpn; - v88 = ((u (*)())(v85))(v86, v87); -b31: *(u *)(vlink) = vn; - vlink = (vn) + (16UL); + v88 = ((u(*)())v85)(v86, v87); + *(u*)vlink = vn; + vlink = vn + 16; goto b9; b26: v89 = (u)zdie; v90 = (u)"invalid if_stmt"; - v91 = ((u (*)())(v89))(v90); + v91 = ((u(*)())v89)(v90); goto b16; -b14: v38 = 1UL; +b14: v38 = 1; goto b15; } -u zreconstruct_intern(u vc, u vpn, u vs, u vlen) { +u zreconstruct_intern(u vc, u vpn, u vs, u vlen){ u vn = 0; u vi = 0; u v6 = 0; @@ -29947,30 +29379,29 @@ u zreconstruct_intern(u vc, u vpn, u vs, u vlen) { u v15 = 0; u v16 = 0; u v17 = 0; -b0: v6 = (u)zmknode0; + v6 = (u)zmknode0; v7 = vc; - v8 = 0UL; - v9 = ((u (*)())(v6))(v7, v8); -b1: vn = v9; + v8 = 0; + v9 = ((u(*)())v6)(v7, v8); + vn = v9; v10 = (u)zcopypos; v11 = vn; v12 = vpn; - v13 = ((u (*)())(v10))(v11, v12); -b2: vi = 0UL; + v13 = ((u(*)())v10)(v11, v12); + vi = 0; v14 = (u)zalloc; - v15 = *(u *)(vc); - v16 = (vlen) + (1UL); - v17 = ((u (*)())(v14))(v15, v16); -b3: *(u *)((vn) + (56UL)) = v17; - goto b4; -b4: if ((vi) != (vlen)) { goto b6; } -b5: *(b *)((*(u *)((vn) + (56UL))) + (vi)) = 0UL; + v15 = *(u*)vc; + v16 = vlen + 1; + v17 = ((u(*)())v14)(v15, v16); + *(u*)(vn + 56) = v17; +b4: if (vi != vlen) goto b6; + *(b*)(*(u*)(vn + 56) + vi) = 0; return vn; -b6: *(b *)((*(u *)((vn) + (56UL))) + (vi)) = (u)*(b *)((vs) + (vi)); - vi = (vi) + (1UL); +b6: *(b*)(*(u*)(vn + 56) + vi) = (u)*(b*)(vs + vi); + vi = vi + 1; goto b4; } -u zreconstruct_label(u vc, u vpn) { +u zreconstruct_label(u vc, u vpn){ u va = 0; u vn = 0; u v4 = 0; @@ -29990,28 +29421,28 @@ u zreconstruct_label(u vc, u vpn) { u v18 = 0; u v19 = 0; u v20 = 0; -b0: v4 = (u)zassert; - v5 = (u)((*(u *)(vpn)) == (21UL)); + v4 = (u)zassert; + v5 = (u)(*(u*)vpn == 21); v6 = (u)"label_stmt"; - v7 = ((u (*)())(v4))(v5, v6); -b1: v8 = (u)zreconstruct_ident; + v7 = ((u(*)())v4)(v5, v6); + v8 = (u)zreconstruct_ident; v9 = vc; - v10 = *(u *)((vpn) + (16UL)); - v11 = ((u (*)())(v8))(v9, v10); -b2: va = v11; + v10 = *(u*)(vpn + 16); + v11 = ((u(*)())v8)(v9, v10); + va = v11; v12 = (u)zmknode1; v13 = vc; - v14 = 31UL; + v14 = 31; v15 = va; - v16 = ((u (*)())(v12))(v13, v14, v15); -b3: vn = v16; + v16 = ((u(*)())v12)(v13, v14, v15); + vn = v16; v17 = (u)zcopypos; v18 = vn; v19 = vpn; - v20 = ((u (*)())(v17))(v18, v19); -b4: return vn; + v20 = ((u(*)())v17)(v18, v19); + return vn; } -u zreconstruct_loop(u vc, u vpn) { +u zreconstruct_loop(u vc, u vpn){ u vn = 0; u va = 0; u v4 = 0; @@ -30031,28 +29462,28 @@ u zreconstruct_loop(u vc, u vpn) { u v18 = 0; u v19 = 0; u v20 = 0; -b0: v4 = (u)zassert; - v5 = (u)((*(u *)(vpn)) == (16UL)); + v4 = (u)zassert; + v5 = (u)(*(u*)vpn == 16); v6 = (u)"loop_stmt"; - v7 = ((u (*)())(v4))(v5, v6); -b1: v8 = (u)zreconstruct_compound; + v7 = ((u(*)())v4)(v5, v6); + v8 = (u)zreconstruct_compound; v9 = vc; - v10 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v11 = ((u (*)())(v8))(v9, v10); -b2: va = v11; + v10 = *(u*)(*(u*)(vpn + 16) + 8); + v11 = ((u(*)())v8)(v9, v10); + va = v11; v12 = (u)zmknode1; v13 = vc; - v14 = 26UL; + v14 = 26; v15 = va; - v16 = ((u (*)())(v12))(v13, v14, v15); -b3: vn = v16; + v16 = ((u(*)())v12)(v13, v14, v15); + vn = v16; v17 = (u)zcopypos; v18 = vn; v19 = vpn; - v20 = ((u (*)())(v17))(v18, v19); -b4: return vn; + v20 = ((u(*)())v17)(v18, v19); + return vn; } -u zreconstruct_member_decl(u vc, u vpn) { +u zreconstruct_member_decl(u vc, u vpn){ u va = 0; u vb = 0; u vn = 0; @@ -30078,34 +29509,34 @@ u zreconstruct_member_decl(u vc, u vpn) { u v24 = 0; u v25 = 0; u v26 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (3UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 3); v7 = (u)"member_decl"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zreconstruct_ident; + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zreconstruct_ident; v10 = vc; - v11 = *(u *)((vpn) + (16UL)); - v12 = ((u (*)())(v9))(v10, v11); -b2: va = v12; + v11 = *(u*)(vpn + 16); + v12 = ((u(*)())v9)(v10, v11); + va = v12; v13 = (u)zreconstruct_type; v14 = vc; - v15 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v16 = ((u (*)())(v13))(v14, v15); -b3: vb = v16; + v15 = *(u*)(*(u*)(vpn + 16) + 8); + v16 = ((u(*)())v13)(v14, v15); + vb = v16; v17 = (u)zmknode; v18 = vc; - v19 = 19UL; + v19 = 19; v20 = va; v21 = vb; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b4: vn = v22; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + vn = v22; v23 = (u)zcopypos; v24 = vn; v25 = vpn; - v26 = ((u (*)())(v23))(v24, v25); -b5: return vn; + v26 = ((u(*)())v23)(v24, v25); + return vn; } -u zreconstruct_member_list(u vc, u vpn) { +u zreconstruct_member_list(u vc, u vpn){ u vn = 0; u va = 0; u vret = 0; @@ -30124,37 +29555,35 @@ u zreconstruct_member_list(u vc, u vpn) { u v17 = 0; u v18 = 0; u v19 = 0; -b0: vret = 0UL; + vret = 0; vlink = (u)&vret; - goto b1; -b1: if (!(vpn)) { goto b7; } -b6: v6 = 0UL; - goto b8; -b8: if (!(v6)) { goto b3; } -b2: return vret; +b1: if (!vpn) goto b7; + v6 = 0; +b8: if (!v6) goto b3; + return vret; b3: v7 = (u)zreconstruct_member_decl; v8 = vc; v9 = vpn; - v10 = ((u (*)())(v7))(v8, v9); -b9: va = v10; + v10 = ((u(*)())v7)(v8, v9); + va = v10; v11 = (u)zmknode1; v12 = vc; - v13 = 20UL; + v13 = 20; v14 = va; - v15 = ((u (*)())(v11))(v12, v13, v14); -b10: vn = v15; + v15 = ((u(*)())v11)(v12, v13, v14); + vn = v15; v16 = (u)zcopypos; v17 = vn; v18 = vpn; - v19 = ((u (*)())(v16))(v17, v18); -b11: *(u *)(vlink) = vn; - vlink = (vn) + (16UL); - vpn = *(u *)((vpn) + (8UL)); + v19 = ((u(*)())v16)(v17, v18); + *(u*)vlink = vn; + vlink = vn + 16; + vpn = *(u*)(vpn + 8); goto b1; -b7: v6 = 1UL; +b7: v6 = 1; goto b8; } -u zreconstruct_mul(u vc, u vpn) { +u zreconstruct_mul(u vc, u vpn){ u vret = 0; u vn = 0; u vlink = 0; @@ -30185,61 +29614,58 @@ u zreconstruct_mul(u vc, u vpn) { u v29 = 0; u v30 = 0; u v31 = 0; -b0: v6 = (u)zassert; - v7 = (u)((*(u *)(vpn)) == (47UL)); + v6 = (u)zassert; + v7 = (u)(*(u*)vpn == 47); v8 = (u)"mul_expr"; - v9 = ((u (*)())(v6))(v7, v8); -b1: v10 = (u)zreconstruct_shift; + v9 = ((u(*)())v6)(v7, v8); + v10 = (u)zreconstruct_shift; v11 = vc; - v12 = *(u *)((vpn) + (16UL)); - v13 = ((u (*)())(v10))(v11, v12); -b2: vret = v13; + v12 = *(u*)(vpn + 16); + v13 = ((u(*)())v10)(v11, v12); + vret = v13; vlink = (u)&vret; - vpn = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - goto b3; -b3: if (!(vpn)) { goto b9; } -b8: v14 = 0UL; - goto b10; -b10: if (!(v14)) { goto b5; } -b4: return vret; -b5: if ((*(u *)(vpn)) != (43UL)) { goto b13; } -b12: vkind = 47UL; - goto b11; + vpn = *(u*)(*(u*)(vpn + 16) + 8); +b3: if (!vpn) goto b9; + v14 = 0; +b10: if (!v14) goto b5; + return vret; +b5: if (*(u*)vpn != 43) goto b13; + vkind = 47; b11: v18 = (u)zreconstruct_shift; v19 = vc; - v20 = *(u *)((vpn) + (8UL)); - v21 = ((u (*)())(v18))(v19, v20); -b21: vn = v21; + v20 = *(u*)(vpn + 8); + v21 = ((u(*)())v18)(v19, v20); + vn = v21; v22 = (u)zmknode; v23 = vc; v24 = vkind; - v25 = *(u *)(vlink); + v25 = *(u*)vlink; v26 = vn; - v27 = ((u (*)())(v22))(v23, v24, v25, v26); -b22: *(u *)(vlink) = v27; + v27 = ((u(*)())v22)(v23, v24, v25, v26); + *(u*)vlink = v27; v28 = (u)zcopypos; - v29 = *(u *)(vlink); + v29 = *(u*)vlink; v30 = vpn; - v31 = ((u (*)())(v28))(v29, v30); -b23: vpn = *(u *)((*(u *)((vpn) + (8UL))) + (8UL)); + v31 = ((u(*)())v28)(v29, v30); + vpn = *(u*)(*(u*)(vpn + 8) + 8); goto b3; -b13: if ((*(u *)(vpn)) != (44UL)) { goto b15; } -b14: vkind = 59UL; +b13: if (*(u*)vpn != 44) goto b15; + vkind = 59; goto b11; -b15: if ((*(u *)(vpn)) != (45UL)) { goto b17; } -b16: vkind = 60UL; +b15: if (*(u*)vpn != 45) goto b17; + vkind = 60; goto b11; -b17: if ((*(u *)(vpn)) != (46UL)) { goto b19; } -b18: vkind = 53UL; +b17: if (*(u*)vpn != 46) goto b19; + vkind = 53; goto b11; b19: v15 = (u)zdie; v16 = (u)"invalid mulop"; - v17 = ((u (*)())(v15))(v16); + v17 = ((u(*)())v15)(v16); goto b11; -b9: v14 = 1UL; +b9: v14 = 1; goto b10; } -u zreconstruct_nil(u vc, u vpn) { +u zreconstruct_nil(u vc, u vpn){ u vn = 0; u v3 = 0; u v4 = 0; @@ -30253,22 +29679,22 @@ u zreconstruct_nil(u vc, u vpn) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: v3 = (u)zassert; - v4 = (u)((*(u *)(vpn)) == (87UL)); + v3 = (u)zassert; + v4 = (u)(*(u*)vpn == 87); v5 = (u)"nil"; - v6 = ((u (*)())(v3))(v4, v5); -b1: v7 = (u)zmknode0; + v6 = ((u(*)())v3)(v4, v5); + v7 = (u)zmknode0; v8 = vc; - v9 = 4UL; - v10 = ((u (*)())(v7))(v8, v9); -b2: vn = v10; + v9 = 4; + v10 = ((u(*)())v7)(v8, v9); + vn = v10; v11 = (u)zcopypos; v12 = vn; v13 = vpn; - v14 = ((u (*)())(v11))(v12, v13); -b3: return vn; + v14 = ((u(*)())v11)(v12, v13); + return vn; } -u zreconstruct_post(u vc, u vpn) { +u zreconstruct_post(u vc, u vpn){ u vret = 0; u vn = 0; u vtag = 0; @@ -30340,104 +29766,102 @@ u zreconstruct_post(u vc, u vpn) { u v70 = 0; u v71 = 0; u v72 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (62UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 62); v7 = (u)"post_expr"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zreconstruct_primary; + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zreconstruct_primary; v10 = vc; - v11 = *(u *)((vpn) + (16UL)); - v12 = ((u (*)())(v9))(v10, v11); -b2: vret = v12; - vpn = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - goto b3; -b3: if (!(vpn)) { goto b9; } -b8: v13 = 0UL; - goto b10; -b10: if (!(v13)) { goto b5; } -b4: return vret; -b5: vtag = *(u *)(vpn); - if ((vtag) != (58UL)) { goto b13; } -b12: v14 = (u)zreconstruct_expr; + v11 = *(u*)(vpn + 16); + v12 = ((u(*)())v9)(v10, v11); + vret = v12; + vpn = *(u*)(*(u*)(vpn + 16) + 8); +b3: if (!vpn) goto b9; + v13 = 0; +b10: if (!v13) goto b5; + return vret; +b5: vtag = *(u*)vpn; + if (vtag != 58) goto b13; + v14 = (u)zreconstruct_expr; v15 = vc; - v16 = *(u *)((vpn) + (16UL)); - v17 = ((u (*)())(v14))(v15, v16); -b14: vn = v17; + v16 = *(u*)(vpn + 16); + v17 = ((u(*)())v14)(v15, v16); + vn = v17; v18 = (u)zmknode; v19 = vc; - v20 = 38UL; + v20 = 38; v21 = vret; v22 = vn; - v23 = ((u (*)())(v18))(v19, v20, v21, v22); -b15: vret = v23; + v23 = ((u(*)())v18)(v19, v20, v21, v22); + vret = v23; v24 = (u)zcopypos; v25 = vret; v26 = vpn; - v27 = ((u (*)())(v24))(v25, v26); -b11: vpn = *(u *)((vpn) + (8UL)); + v27 = ((u(*)())v24)(v25, v26); +b11: vpn = *(u*)(vpn + 8); goto b3; -b13: if ((vtag) != (59UL)) { goto b18; } -b17: v28 = (u)zreconstruct_args; +b13: if (vtag != 59) goto b18; + v28 = (u)zreconstruct_args; v29 = vc; - v30 = *(u *)((vpn) + (16UL)); - v31 = ((u (*)())(v28))(v29, v30); -b19: vn = v31; + v30 = *(u*)(vpn + 16); + v31 = ((u(*)())v28)(v29, v30); + vn = v31; v32 = (u)zmknode; v33 = vc; - v34 = 7UL; + v34 = 7; v35 = vret; v36 = vn; - v37 = ((u (*)())(v32))(v33, v34, v35, v36); -b20: vret = v37; + v37 = ((u(*)())v32)(v33, v34, v35, v36); + vret = v37; v38 = (u)zcopypos; v39 = vret; v40 = vpn; - v41 = ((u (*)())(v38))(v39, v40); + v41 = ((u(*)())v38)(v39, v40); goto b11; -b18: if ((vtag) != (60UL)) { goto b23; } -b22: v42 = (u)zreconstruct_ident; +b18: if (vtag != 60) goto b23; + v42 = (u)zreconstruct_ident; v43 = vc; - v44 = *(u *)((vpn) + (16UL)); - v45 = ((u (*)())(v42))(v43, v44); -b24: vn = v45; + v44 = *(u*)(vpn + 16); + v45 = ((u(*)())v42)(v43, v44); + vn = v45; v46 = (u)zmknode; v47 = vc; - v48 = 9UL; + v48 = 9; v49 = vret; v50 = vn; - v51 = ((u (*)())(v46))(v47, v48, v49, v50); -b25: vret = v51; + v51 = ((u(*)())v46)(v47, v48, v49, v50); + vret = v51; v52 = (u)zcopypos; v53 = vret; v54 = vpn; - v55 = ((u (*)())(v52))(v53, v54); + v55 = ((u(*)())v52)(v53, v54); goto b11; -b23: if ((vtag) != (61UL)) { goto b28; } -b27: v56 = (u)zreconstruct_type; +b23: if (vtag != 61) goto b28; + v56 = (u)zreconstruct_type; v57 = vc; - v58 = *(u *)((vpn) + (16UL)); - v59 = ((u (*)())(v56))(v57, v58); -b29: vn = v59; + v58 = *(u*)(vpn + 16); + v59 = ((u(*)())v56)(v57, v58); + vn = v59; v60 = (u)zmknode; v61 = vc; - v62 = 37UL; + v62 = 37; v63 = vret; v64 = vn; - v65 = ((u (*)())(v60))(v61, v62, v63, v64); -b30: vret = v65; + v65 = ((u(*)())v60)(v61, v62, v63, v64); + vret = v65; v66 = (u)zcopypos; v67 = vret; v68 = vpn; - v69 = ((u (*)())(v66))(v67, v68); + v69 = ((u(*)())v66)(v67, v68); goto b11; b28: v70 = (u)zdie; v71 = (u)"invalid post_expr"; - v72 = ((u (*)())(v70))(v71); + v72 = ((u(*)())v70)(v71); goto b11; -b9: v13 = 1UL; +b9: v13 = 1; goto b10; } -u zreconstruct_primary(u vc, u vpn) { +u zreconstruct_primary(u vc, u vpn){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -30477,65 +29901,65 @@ u zreconstruct_primary(u vc, u vpn) { u v38 = 0; u v39 = 0; u v40 = 0; -b0: v2 = (u)zassert; - v3 = (u)((*(u *)(vpn)) == (63UL)); + v2 = (u)zassert; + v3 = (u)(*(u*)vpn == 63); v4 = (u)"primary"; - v5 = ((u (*)())(v2))(v3, v4); -b1: vpn = *(u *)((vpn) + (16UL)); - if ((*(u *)(vpn)) != (88UL)) { goto b4; } -b3: v6 = (u)zreconstruct_ident; + v5 = ((u(*)())v2)(v3, v4); + vpn = *(u*)(vpn + 16); + if (*(u*)vpn != 88) goto b4; + v6 = (u)zreconstruct_ident; v7 = vc; v8 = vpn; - v9 = ((u (*)())(v6))(v7, v8); -b5: return v9; -b4: if ((*(u *)(vpn)) != (65UL)) { goto b7; } -b6: v10 = (u)zreconstruct_hex; + v9 = ((u(*)())v6)(v7, v8); + return v9; +b4: if (*(u*)vpn != 65) goto b7; + v10 = (u)zreconstruct_hex; v11 = vc; v12 = vpn; - v13 = ((u (*)())(v10))(v11, v12); -b8: return v13; -b7: if ((*(u *)(vpn)) != (66UL)) { goto b10; } -b9: v14 = (u)zreconstruct_dec; + v13 = ((u(*)())v10)(v11, v12); + return v13; +b7: if (*(u*)vpn != 66) goto b10; + v14 = (u)zreconstruct_dec; v15 = vc; v16 = vpn; - v17 = ((u (*)())(v14))(v15, v16); -b11: return v17; -b10: if ((*(u *)(vpn)) != (67UL)) { goto b13; } -b12: v18 = (u)zreconstruct_str; + v17 = ((u(*)())v14)(v15, v16); + return v17; +b10: if (*(u*)vpn != 67) goto b13; + v18 = (u)zreconstruct_str; v19 = vc; v20 = vpn; - v21 = ((u (*)())(v18))(v19, v20); -b14: return v21; -b13: if ((*(u *)(vpn)) != (68UL)) { goto b16; } -b15: v22 = (u)zreconstruct_char; + v21 = ((u(*)())v18)(v19, v20); + return v21; +b13: if (*(u*)vpn != 68) goto b16; + v22 = (u)zreconstruct_char; v23 = vc; v24 = vpn; - v25 = ((u (*)())(v22))(v23, v24); -b17: return v25; -b16: if ((*(u *)(vpn)) != (64UL)) { goto b19; } -b18: v26 = (u)zreconstruct_sizeof; + v25 = ((u(*)())v22)(v23, v24); + return v25; +b16: if (*(u*)vpn != 64) goto b19; + v26 = (u)zreconstruct_sizeof; v27 = vc; v28 = vpn; - v29 = ((u (*)())(v26))(v27, v28); -b20: return v29; -b19: if ((*(u *)(vpn)) != (87UL)) { goto b22; } -b21: v30 = (u)zreconstruct_nil; + v29 = ((u(*)())v26)(v27, v28); + return v29; +b19: if (*(u*)vpn != 87) goto b22; + v30 = (u)zreconstruct_nil; v31 = vc; v32 = vpn; - v33 = ((u (*)())(v30))(v31, v32); -b23: return v33; -b22: if ((*(u *)(vpn)) != (27UL)) { goto b25; } -b24: v34 = (u)zreconstruct_expr; + v33 = ((u(*)())v30)(v31, v32); + return v33; +b22: if (*(u*)vpn != 27) goto b25; + v34 = (u)zreconstruct_expr; v35 = vc; v36 = vpn; - v37 = ((u (*)())(v34))(v35, v36); -b26: return v37; + v37 = ((u(*)())v34)(v35, v36); + return v37; b25: v38 = (u)zdie; v39 = (u)"invalid primary"; - v40 = ((u (*)())(v38))(v39); -b27: return 0UL; + v40 = ((u(*)())v38)(v39); + return 0; } -u zreconstruct_return(u vc, u vpn) { +u zreconstruct_return(u vc, u vpn){ u va = 0; u vn = 0; u v4 = 0; @@ -30555,31 +29979,30 @@ u zreconstruct_return(u vc, u vpn) { u v18 = 0; u v19 = 0; u v20 = 0; -b0: v4 = (u)zassert; - v5 = (u)((*(u *)(vpn)) == (19UL)); + v4 = (u)zassert; + v5 = (u)(*(u*)vpn == 19); v6 = (u)"return_stmt"; - v7 = ((u (*)())(v4))(v5, v6); -b1: va = 0UL; - if (!(*(u *)((*(u *)((vpn) + (16UL))) + (8UL)))) { goto b2; } -b3: v8 = (u)zreconstruct_expr; + v7 = ((u(*)())v4)(v5, v6); + va = 0; + if (!*(u*)(*(u*)(vpn + 16) + 8)) goto b2; + v8 = (u)zreconstruct_expr; v9 = vc; - v10 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v11 = ((u (*)())(v8))(v9, v10); -b5: va = v11; - goto b2; + v10 = *(u*)(*(u*)(vpn + 16) + 8); + v11 = ((u(*)())v8)(v9, v10); + va = v11; b2: v12 = (u)zmknode1; v13 = vc; - v14 = 29UL; + v14 = 29; v15 = va; - v16 = ((u (*)())(v12))(v13, v14, v15); -b6: vn = v16; + v16 = ((u(*)())v12)(v13, v14, v15); + vn = v16; v17 = (u)zcopypos; v18 = vn; v19 = vpn; - v20 = ((u (*)())(v17))(v18, v19); -b7: return vn; + v20 = ((u(*)())v17)(v18, v19); + return vn; } -u zreconstruct_shift(u vc, u vpn) { +u zreconstruct_shift(u vc, u vpn){ u vret = 0; u vn = 0; u vlink = 0; @@ -30610,55 +30033,52 @@ u zreconstruct_shift(u vc, u vpn) { u v29 = 0; u v30 = 0; u v31 = 0; -b0: v6 = (u)zassert; - v7 = (u)((*(u *)(vpn)) == (50UL)); + v6 = (u)zassert; + v7 = (u)(*(u*)vpn == 50); v8 = (u)"shift_expr"; - v9 = ((u (*)())(v6))(v7, v8); -b1: v10 = (u)zreconstruct_unary; + v9 = ((u(*)())v6)(v7, v8); + v10 = (u)zreconstruct_unary; v11 = vc; - v12 = *(u *)((vpn) + (16UL)); - v13 = ((u (*)())(v10))(v11, v12); -b2: vret = v13; + v12 = *(u*)(vpn + 16); + v13 = ((u(*)())v10)(v11, v12); + vret = v13; vlink = (u)&vret; - vpn = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - goto b3; -b3: if (!(vpn)) { goto b9; } -b8: v14 = 0UL; - goto b10; -b10: if (!(v14)) { goto b5; } -b4: return vret; -b5: if ((*(u *)(vpn)) != (48UL)) { goto b13; } -b12: vkind = 48UL; - goto b11; + vpn = *(u*)(*(u*)(vpn + 16) + 8); +b3: if (!vpn) goto b9; + v14 = 0; +b10: if (!v14) goto b5; + return vret; +b5: if (*(u*)vpn != 48) goto b13; + vkind = 48; b11: v18 = (u)zreconstruct_unary; v19 = vc; - v20 = *(u *)((vpn) + (8UL)); - v21 = ((u (*)())(v18))(v19, v20); -b17: vn = v21; + v20 = *(u*)(vpn + 8); + v21 = ((u(*)())v18)(v19, v20); + vn = v21; v22 = (u)zmknode; v23 = vc; v24 = vkind; - v25 = *(u *)(vlink); + v25 = *(u*)vlink; v26 = vn; - v27 = ((u (*)())(v22))(v23, v24, v25, v26); -b18: *(u *)(vlink) = v27; + v27 = ((u(*)())v22)(v23, v24, v25, v26); + *(u*)vlink = v27; v28 = (u)zcopypos; - v29 = *(u *)(vlink); + v29 = *(u*)vlink; v30 = vpn; - v31 = ((u (*)())(v28))(v29, v30); -b19: vpn = *(u *)((*(u *)((vpn) + (8UL))) + (8UL)); + v31 = ((u(*)())v28)(v29, v30); + vpn = *(u*)(*(u*)(vpn + 8) + 8); goto b3; -b13: if ((*(u *)(vpn)) != (49UL)) { goto b15; } -b14: vkind = 49UL; +b13: if (*(u*)vpn != 49) goto b15; + vkind = 49; goto b11; b15: v15 = (u)zdie; v16 = (u)"invalid shift"; - v17 = ((u (*)())(v15))(v16); + v17 = ((u(*)())v15)(v16); goto b11; -b9: v14 = 1UL; +b9: v14 = 1; goto b10; } -u zreconstruct_sizeof(u vc, u vpn) { +u zreconstruct_sizeof(u vc, u vpn){ u vn = 0; u va = 0; u v4 = 0; @@ -30678,28 +30098,28 @@ u zreconstruct_sizeof(u vc, u vpn) { u v18 = 0; u v19 = 0; u v20 = 0; -b0: v4 = (u)zassert; - v5 = (u)((*(u *)(vpn)) == (64UL)); + v4 = (u)zassert; + v5 = (u)(*(u*)vpn == 64); v6 = (u)"sizeof_expr"; - v7 = ((u (*)())(v4))(v5, v6); -b1: v8 = (u)zreconstruct_expr; + v7 = ((u(*)())v4)(v5, v6); + v8 = (u)zreconstruct_expr; v9 = vc; - v10 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v11 = ((u (*)())(v8))(v9, v10); -b2: va = v11; + v10 = *(u*)(*(u*)(vpn + 16) + 8); + v11 = ((u(*)())v8)(v9, v10); + va = v11; v12 = (u)zmknode1; v13 = vc; - v14 = 34UL; + v14 = 34; v15 = va; - v16 = ((u (*)())(v12))(v13, v14, v15); -b3: vn = v16; + v16 = ((u(*)())v12)(v13, v14, v15); + vn = v16; v17 = (u)zcopypos; v18 = vn; v19 = vpn; - v20 = ((u (*)())(v17))(v18, v19); -b4: return vn; + v20 = ((u(*)())v17)(v18, v19); + return vn; } -u zreconstruct_stmt(u vc, u vpn) { +u zreconstruct_stmt(u vc, u vpn){ u v2 = 0; u v3 = 0; u v4 = 0; @@ -30755,89 +30175,89 @@ u zreconstruct_stmt(u vc, u vpn) { u v54 = 0; u v55 = 0; u v56 = 0; -b0: v2 = (u)zassert; - v3 = (u)((*(u *)(vpn)) == (12UL)); + v2 = (u)zassert; + v3 = (u)(*(u*)vpn == 12); v4 = (u)"stmt"; - v5 = ((u (*)())(v2))(v3, v4); -b1: vpn = *(u *)((vpn) + (16UL)); - if ((*(u *)(vpn)) != (15UL)) { goto b4; } -b3: v6 = (u)zreconstruct_if; + v5 = ((u(*)())v2)(v3, v4); + vpn = *(u*)(vpn + 16); + if (*(u*)vpn != 15) goto b4; + v6 = (u)zreconstruct_if; v7 = vc; v8 = vpn; - v9 = ((u (*)())(v6))(v7, v8); -b5: return v9; -b4: if ((*(u *)(vpn)) != (16UL)) { goto b7; } -b6: v10 = (u)zreconstruct_loop; + v9 = ((u(*)())v6)(v7, v8); + return v9; +b4: if (*(u*)vpn != 16) goto b7; + v10 = (u)zreconstruct_loop; v11 = vc; v12 = vpn; - v13 = ((u (*)())(v10))(v11, v12); -b8: return v13; -b7: if ((*(u *)(vpn)) != (17UL)) { goto b10; } -b9: v14 = (u)zreconstruct_break; + v13 = ((u(*)())v10)(v11, v12); + return v13; +b7: if (*(u*)vpn != 17) goto b10; + v14 = (u)zreconstruct_break; v15 = vc; v16 = vpn; - v17 = ((u (*)())(v14))(v15, v16); -b11: return v17; -b10: if ((*(u *)(vpn)) != (18UL)) { goto b13; } -b12: v18 = (u)zreconstruct_continue; + v17 = ((u(*)())v14)(v15, v16); + return v17; +b10: if (*(u*)vpn != 18) goto b13; + v18 = (u)zreconstruct_continue; v19 = vc; v20 = vpn; - v21 = ((u (*)())(v18))(v19, v20); -b14: return v21; -b13: if ((*(u *)(vpn)) != (19UL)) { goto b16; } -b15: v22 = (u)zreconstruct_return; + v21 = ((u(*)())v18)(v19, v20); + return v21; +b13: if (*(u*)vpn != 19) goto b16; + v22 = (u)zreconstruct_return; v23 = vc; v24 = vpn; - v25 = ((u (*)())(v22))(v23, v24); -b17: return v25; -b16: if ((*(u *)(vpn)) != (20UL)) { goto b19; } -b18: v26 = (u)zreconstruct_var; + v25 = ((u(*)())v22)(v23, v24); + return v25; +b16: if (*(u*)vpn != 20) goto b19; + v26 = (u)zreconstruct_var; v27 = vc; v28 = vpn; - v29 = ((u (*)())(v26))(v27, v28); -b20: return v29; -b19: if ((*(u *)(vpn)) != (21UL)) { goto b22; } -b21: v30 = (u)zreconstruct_label; + v29 = ((u(*)())v26)(v27, v28); + return v29; +b19: if (*(u*)vpn != 21) goto b22; + v30 = (u)zreconstruct_label; v31 = vc; v32 = vpn; - v33 = ((u (*)())(v30))(v31, v32); -b23: return v33; -b22: if ((*(u *)(vpn)) != (22UL)) { goto b25; } -b24: v34 = (u)zreconstruct_goto; + v33 = ((u(*)())v30)(v31, v32); + return v33; +b22: if (*(u*)vpn != 22) goto b25; + v34 = (u)zreconstruct_goto; v35 = vc; v36 = vpn; - v37 = ((u (*)())(v34))(v35, v36); -b26: return v37; -b25: if ((*(u *)(vpn)) != (23UL)) { goto b28; } -b27: v38 = (u)zreconstruct_assign; + v37 = ((u(*)())v34)(v35, v36); + return v37; +b25: if (*(u*)vpn != 23) goto b28; + v38 = (u)zreconstruct_assign; v39 = vc; v40 = vpn; - v41 = ((u (*)())(v38))(v39, v40); -b29: return v41; -b28: if ((*(u *)(vpn)) != (24UL)) { goto b31; } -b30: v42 = (u)zreconstruct_expr_stmt; + v41 = ((u(*)())v38)(v39, v40); + return v41; +b28: if (*(u*)vpn != 24) goto b31; + v42 = (u)zreconstruct_expr_stmt; v43 = vc; v44 = vpn; - v45 = ((u (*)())(v42))(v43, v44); -b32: return v45; -b31: if ((*(u *)(vpn)) != (25UL)) { goto b34; } -b33: v46 = (u)zreconstruct_empty; + v45 = ((u(*)())v42)(v43, v44); + return v45; +b31: if (*(u*)vpn != 25) goto b34; + v46 = (u)zreconstruct_empty; v47 = vc; v48 = vpn; - v49 = ((u (*)())(v46))(v47, v48); -b35: return v49; -b34: if ((*(u *)(vpn)) != (26UL)) { goto b37; } -b36: v50 = (u)zreconstruct_compound; + v49 = ((u(*)())v46)(v47, v48); + return v49; +b34: if (*(u*)vpn != 26) goto b37; + v50 = (u)zreconstruct_compound; v51 = vc; v52 = vpn; - v53 = ((u (*)())(v50))(v51, v52); -b38: return v53; + v53 = ((u(*)())v50)(v51, v52); + return v53; b37: v54 = (u)zdie; v55 = (u)"invalid stmt"; - v56 = ((u (*)())(v54))(v55); -b39: return 0UL; + v56 = ((u(*)())v54)(v55); + return 0; } -u zreconstruct_str(u vc, u vpn) { +u zreconstruct_str(u vc, u vpn){ u vi = 0; u vj = 0; u vlen = 0; @@ -30871,53 +30291,51 @@ u zreconstruct_str(u vc, u vpn) { u v32 = 0; u v33 = 0; u v34 = 0; -b0: v9 = (u)zassert; - v10 = (u)((*(u *)(vpn)) == (67UL)); + v9 = (u)zassert; + v10 = (u)(*(u*)vpn == 67); v11 = (u)"str"; - v12 = ((u (*)())(v9))(v10, v11); -b1: v13 = (u)zalloc; - v14 = *(u *)(vc); - v15 = *(u *)((vpn) + (32UL)); - v16 = ((u (*)())(v13))(v14, v15); -b2: vs = v16; - vi = 1UL; - vj = 0UL; - vlen = (*(u *)((vpn) + (32UL))) - (1UL); - goto b3; -b3: if ((vi) != (vlen)) { goto b5; } -b4: *(b *)((vs) + (vj)) = 0UL; + v12 = ((u(*)())v9)(v10, v11); + v13 = (u)zalloc; + v14 = *(u*)vc; + v15 = *(u*)(vpn + 32); + v16 = ((u(*)())v13)(v14, v15); + vs = v16; + vi = 1; + vj = 0; + vlen = *(u*)(vpn + 32) - 1; +b3: if (vi != vlen) goto b5; + *(b*)(vs + vj) = 0; v27 = (u)zmknode0; v28 = vc; - v29 = 3UL; - v30 = ((u (*)())(v27))(v28, v29); -b16: vn = v30; + v29 = 3; + v30 = ((u(*)())v27)(v28, v29); + vn = v30; v31 = (u)zcopypos; v32 = vn; v33 = vpn; - v34 = ((u (*)())(v31))(v32, v33); -b17: *(u *)((vn) + (56UL)) = vs; + v34 = ((u(*)())v31)(v32, v33); + *(u*)(vn + 56) = vs; return vn; b5: v17 = (u)zunescape; - v18 = *(u *)((vpn) + (24UL)); + v18 = *(u*)(vpn + 24); v19 = (u)&vi; v20 = vlen; v21 = (u)&vok; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b8: vch = v22; - if (!(vok)) { goto b13; } -b12: v23 = 0UL; - goto b14; -b14: if (!(v23)) { goto b9; } -b10: v24 = (u)zdie; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + vch = v22; + if (!vok) goto b13; + v23 = 0; +b14: if (!v23) goto b9; + v24 = (u)zdie; v25 = (u)"invalid escape"; - v26 = ((u (*)())(v24))(v25); -b9: *(b *)((vs) + (vj)) = vch; - vj = (vj) + (1UL); + v26 = ((u(*)())v24)(v25); +b9: *(b*)(vs + vj) = vch; + vj = vj + 1; goto b3; -b13: v23 = 1UL; +b13: v23 = 1; goto b14; } -u zreconstruct_struct(u vc, u vpn) { +u zreconstruct_struct(u vc, u vpn){ u vn = 0; u va = 0; u vb = 0; @@ -30943,34 +30361,34 @@ u zreconstruct_struct(u vc, u vpn) { u v24 = 0; u v25 = 0; u v26 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (4UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 4); v7 = (u)"struct_def"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zreconstruct_ident; + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zreconstruct_ident; v10 = vc; - v11 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v12 = ((u (*)())(v9))(v10, v11); -b2: va = v12; + v11 = *(u*)(*(u*)(vpn + 16) + 8); + v12 = ((u(*)())v9)(v10, v11); + va = v12; v13 = (u)zreconstruct_member_list; v14 = vc; - v15 = *(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL)); - v16 = ((u (*)())(v13))(v14, v15); -b3: vb = v16; + v15 = *(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8); + v16 = ((u(*)())v13)(v14, v15); + vb = v16; v17 = (u)zmknode; v18 = vc; - v19 = 17UL; + v19 = 17; v20 = va; v21 = vb; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b4: vn = v22; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + vn = v22; v23 = (u)zcopypos; v24 = vn; v25 = vpn; - v26 = ((u (*)())(v23))(v24, v25); -b5: return vn; + v26 = ((u(*)())v23)(v24, v25); + return vn; } -u zreconstruct_type(u vc, u vpn) { +u zreconstruct_type(u vc, u vpn){ u vn = 0; u v3 = 0; u v4 = 0; @@ -31022,75 +30440,75 @@ u zreconstruct_type(u vc, u vpn) { u v50 = 0; u v51 = 0; u v52 = 0; -b0: v3 = (u)zassert; - v4 = (u)((*(u *)(vpn)) == (7UL)); + v3 = (u)zassert; + v4 = (u)(*(u*)vpn == 7); v5 = (u)"type"; - v6 = ((u (*)())(v3))(v4, v5); -b1: vpn = *(u *)((vpn) + (16UL)); - if ((*(u *)(vpn)) != (88UL)) { goto b4; } -b3: v7 = (u)zreconstruct_ident; + v6 = ((u(*)())v3)(v4, v5); + vpn = *(u*)(vpn + 16); + if (*(u*)vpn != 88) goto b4; + v7 = (u)zreconstruct_ident; v8 = vc; v9 = vpn; - v10 = ((u (*)())(v7))(v8, v9); -b5: return v10; -b4: if ((*(u *)(vpn)) != (82UL)) { goto b7; } -b6: v11 = (u)zreconstruct_intern; + v10 = ((u(*)())v7)(v8, v9); + return v10; +b4: if (*(u*)vpn != 82) goto b7; + v11 = (u)zreconstruct_intern; v12 = vc; v13 = vpn; v14 = (u)"byte"; - v15 = 4UL; - v16 = ((u (*)())(v11))(v12, v13, v14, v15); -b8: return v16; -b7: if ((*(u *)(vpn)) != (83UL)) { goto b10; } -b9: v17 = (u)zreconstruct_intern; + v15 = 4; + v16 = ((u(*)())v11)(v12, v13, v14, v15); + return v16; +b7: if (*(u*)vpn != 83) goto b10; + v17 = (u)zreconstruct_intern; v18 = vc; v19 = vpn; v20 = (u)"int"; - v21 = 3UL; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b11: return v22; -b10: if ((*(u *)(vpn)) != (84UL)) { goto b13; } -b12: v23 = (u)zreconstruct_intern; + v21 = 3; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + return v22; +b10: if (*(u*)vpn != 84) goto b13; + v23 = (u)zreconstruct_intern; v24 = vc; v25 = vpn; v26 = (u)"void"; - v27 = 4UL; - v28 = ((u (*)())(v23))(v24, v25, v26, v27); -b14: return v28; -b13: if ((*(u *)(vpn)) != (8UL)) { goto b16; } -b15: v29 = (u)zmknode1; + v27 = 4; + v28 = ((u(*)())v23)(v24, v25, v26, v27); + return v28; +b13: if (*(u*)vpn != 8) goto b16; + v29 = (u)zmknode1; v30 = vc; - v31 = 16UL; + v31 = 16; v33 = (u)zreconstruct_type; v34 = vc; - v35 = *(u *)((vpn) + (16UL)); - v36 = ((u (*)())(v33))(v34, v35); -b17: v32 = v36; - v37 = ((u (*)())(v29))(v30, v31, v32); -b18: vn = v37; + v35 = *(u*)(vpn + 16); + v36 = ((u(*)())v33)(v34, v35); + v32 = v36; + v37 = ((u(*)())v29)(v30, v31, v32); + vn = v37; v38 = (u)zcopypos; v39 = vn; v40 = vpn; - v41 = ((u (*)())(v38))(v39, v40); -b19: return vn; -b16: if ((*(u *)(vpn)) != (85UL)) { goto b21; } -b20: v42 = (u)zreconstruct_func_type; + v41 = ((u(*)())v38)(v39, v40); + return vn; +b16: if (*(u*)vpn != 85) goto b21; + v42 = (u)zreconstruct_func_type; v43 = vc; - v44 = *(u *)((vpn) + (8UL)); - v45 = ((u (*)())(v42))(v43, v44); -b22: return v45; -b21: if ((*(u *)(vpn)) != (7UL)) { goto b24; } -b23: v46 = (u)zreconstruct_type; + v44 = *(u*)(vpn + 8); + v45 = ((u(*)())v42)(v43, v44); + return v45; +b21: if (*(u*)vpn != 7) goto b24; + v46 = (u)zreconstruct_type; v47 = vc; v48 = vpn; - v49 = ((u (*)())(v46))(v47, v48); -b25: return v49; + v49 = ((u(*)())v46)(v47, v48); + return v49; b24: v50 = (u)zdie; v51 = (u)"reconstruct_type: invalid type"; - v52 = ((u (*)())(v50))(v51); -b26: return 0UL; + v52 = ((u(*)())v50)(v51); + return 0; } -u zreconstruct_unary(u vc, u vpn) { +u zreconstruct_unary(u vc, u vpn){ u vn = 0; u vret = 0; u vlink = 0; @@ -31115,58 +30533,56 @@ u zreconstruct_unary(u vc, u vpn) { u v23 = 0; u v24 = 0; u v25 = 0; -b0: v7 = (u)zassert; - v8 = (u)((*(u *)(vpn)) == (57UL)); + v7 = (u)zassert; + v8 = (u)(*(u*)vpn == 57); v9 = (u)"unary_expr"; - v10 = ((u (*)())(v7))(v8, v9); -b1: vlink = (u)&vret; - vpn = *(u *)((vpn) + (16UL)); - goto b2; -b2: vtag = *(u *)(vpn); - if ((vtag) != (51UL)) { goto b6; } -b5: vkind = 35UL; - goto b4; + v10 = ((u(*)())v7)(v8, v9); + vlink = (u)&vret; + vpn = *(u*)(vpn + 16); +b2: vtag = *(u*)vpn; + if (vtag != 51) goto b6; + vkind = 35; b4: v18 = (u)zmknode0; v19 = vc; v20 = vkind; - v21 = ((u (*)())(v18))(v19, v20); -b21: vn = v21; + v21 = ((u(*)())v18)(v19, v20); + vn = v21; v22 = (u)zcopypos; v23 = vn; v24 = vpn; - v25 = ((u (*)())(v22))(v23, v24); -b22: *(u *)(vlink) = vn; - vlink = (vn) + (8UL); - vpn = *(u *)((vpn) + (8UL)); + v25 = ((u(*)())v22)(v23, v24); + *(u*)vlink = vn; + vlink = vn + 8; + vpn = *(u*)(vpn + 8); goto b2; -b6: if ((vtag) != (52UL)) { goto b8; } -b7: vkind = 36UL; +b6: if (vtag != 52) goto b8; + vkind = 36; goto b4; -b8: if ((vtag) != (53UL)) { goto b10; } -b9: vkind = 57UL; +b8: if (vtag != 53) goto b10; + vkind = 57; goto b4; -b10: if ((vtag) != (54UL)) { goto b12; } -b11: vkind = 58UL; +b10: if (vtag != 54) goto b12; + vkind = 58; goto b4; -b12: if ((vtag) != (55UL)) { goto b14; } -b13: vkind = 56UL; +b12: if (vtag != 55) goto b14; + vkind = 56; goto b4; -b14: if ((vtag) != (56UL)) { goto b16; } -b15: vkind = 50UL; +b14: if (vtag != 56) goto b16; + vkind = 50; goto b4; -b16: if ((vtag) != (62UL)) { goto b18; } -b17: v11 = (u)zreconstruct_post; +b16: if (vtag != 62) goto b18; + v11 = (u)zreconstruct_post; v12 = vc; v13 = vpn; - v14 = ((u (*)())(v11))(v12, v13); -b19: *(u *)(vlink) = v14; + v14 = ((u(*)())v11)(v12, v13); + *(u*)vlink = v14; return vret; b18: v15 = (u)zdie; v16 = (u)"invalid unary_expr"; - v17 = ((u (*)())(v15))(v16); + v17 = ((u(*)())v15)(v16); goto b4; } -u zreconstruct_union(u vc, u vpn) { +u zreconstruct_union(u vc, u vpn){ u vn = 0; u va = 0; u vb = 0; @@ -31192,34 +30608,34 @@ u zreconstruct_union(u vc, u vpn) { u v24 = 0; u v25 = 0; u v26 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (5UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 5); v7 = (u)"union_def"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zreconstruct_ident; + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zreconstruct_ident; v10 = vc; - v11 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v12 = ((u (*)())(v9))(v10, v11); -b2: va = v12; + v11 = *(u*)(*(u*)(vpn + 16) + 8); + v12 = ((u(*)())v9)(v10, v11); + va = v12; v13 = (u)zreconstruct_member_list; v14 = vc; - v15 = *(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL)); - v16 = ((u (*)())(v13))(v14, v15); -b3: vb = v16; + v15 = *(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8); + v16 = ((u(*)())v13)(v14, v15); + vb = v16; v17 = (u)zmknode; v18 = vc; - v19 = 18UL; + v19 = 18; v20 = va; v21 = vb; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b4: vn = v22; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + vn = v22; v23 = (u)zcopypos; v24 = vn; v25 = vpn; - v26 = ((u (*)())(v23))(v24, v25); -b5: return vn; + v26 = ((u(*)())v23)(v24, v25); + return vn; } -u zreconstruct_var(u vc, u vpn) { +u zreconstruct_var(u vc, u vpn){ u va = 0; u vb = 0; u vn = 0; @@ -31245,34 +30661,34 @@ u zreconstruct_var(u vc, u vpn) { u v24 = 0; u v25 = 0; u v26 = 0; -b0: v5 = (u)zassert; - v6 = (u)((*(u *)(vpn)) == (20UL)); + v5 = (u)zassert; + v6 = (u)(*(u*)vpn == 20); v7 = (u)"var_stmt"; - v8 = ((u (*)())(v5))(v6, v7); -b1: v9 = (u)zreconstruct_ident; + v8 = ((u(*)())v5)(v6, v7); + v9 = (u)zreconstruct_ident; v10 = vc; - v11 = *(u *)((*(u *)((vpn) + (16UL))) + (8UL)); - v12 = ((u (*)())(v9))(v10, v11); -b2: va = v12; + v11 = *(u*)(*(u*)(vpn + 16) + 8); + v12 = ((u(*)())v9)(v10, v11); + va = v12; v13 = (u)zreconstruct_type; v14 = vc; - v15 = *(u *)((*(u *)((*(u *)((vpn) + (16UL))) + (8UL))) + (8UL)); - v16 = ((u (*)())(v13))(v14, v15); -b3: vb = v16; + v15 = *(u*)(*(u*)(*(u*)(vpn + 16) + 8) + 8); + v16 = ((u(*)())v13)(v14, v15); + vb = v16; v17 = (u)zmknode; v18 = vc; - v19 = 30UL; + v19 = 30; v20 = va; v21 = vb; - v22 = ((u (*)())(v17))(v18, v19, v20, v21); -b4: vn = v22; + v22 = ((u(*)())v17)(v18, v19, v20, v21); + vn = v22; v23 = (u)zcopypos; v24 = vn; v25 = vpn; - v26 = ((u (*)())(v23))(v24, v25); -b5: return vn; + v26 = ((u(*)())v23)(v24, v25); + return vn; } -u zreserve(u vc, u vn) { +u zreserve(u vc, u vn){ u vm = 0; u vb = 0; u v4 = 0; @@ -31284,41 +30700,38 @@ u zreserve(u vc, u vn) { u v10 = 0; u v11 = 0; u v12 = 0; -b0: if (!(*(u *)((vc) + (40UL)))) { goto b5; } -b4: if ((s)((*(u *)((*(u *)((vc) + (40UL))) + (24UL))) - (*(u *)((*(u *)((vc) + (40UL))) + (16UL)))) < (s)(vn)) { goto b5; } -b6: v4 = 1UL; - goto b7; -b7: if (!(v4)) { goto b1; } -b2: return 0UL; -b1: if ((s)(vn) >= (s)(4096UL)) { goto b8; } -b9: vn = 4096UL; - goto b8; + if (!*(u*)(vc + 40)) goto b5; + if ((s)(*(u*)(*(u*)(vc + 40) + 24) - *(u*)(*(u*)(vc + 40) + 16)) < (s)vn) goto b5; + v4 = 1; +b7: if (!v4) goto b1; + return 0; +b1: if ((s)vn >= (s)4096) goto b8; + vn = 4096; b8: v5 = (u)zalloc; - v6 = *(u *)(vc); + v6 = *(u*)vc; v7 = vn; - v8 = ((u (*)())(v5))(v6, v7); -b11: vm = v8; + v8 = ((u(*)())v5)(v6, v7); + vm = v8; v9 = (u)zalloc; - v10 = *(u *)(vc); - v11 = 32UL; - v12 = ((u (*)())(v9))(v10, v11); -b12: vb = v12; - *(u *)((vb) + (8UL)) = vm; - *(u *)((vb) + (16UL)) = 0UL; - *(u *)((vb) + (24UL)) = vn; - *(u *)(vb) = 0UL; - if (!(*(u *)((vc) + (40UL)))) { goto b15; } -b14: *(u *)(*(u *)((vc) + (40UL))) = vb; - *(u *)((vc) + (40UL)) = vb; - goto b13; -b13: return 0UL; -b15: *(u *)((vc) + (32UL)) = vb; - *(u *)((vc) + (40UL)) = vb; + v10 = *(u*)vc; + v11 = 32; + v12 = ((u(*)())v9)(v10, v11); + vb = v12; + *(u*)(vb + 8) = vm; + *(u*)(vb + 16) = 0; + *(u*)(vb + 24) = vn; + *(u*)vb = 0; + if (!*(u*)(vc + 40)) goto b15; + *(u*)*(u*)(vc + 40) = vb; + *(u*)(vc + 40) = vb; +b13: return 0; +b15: *(u*)(vc + 32) = vb; + *(u*)(vc + 40) = vb; goto b13; -b5: v4 = 0UL; +b5: v4 = 0; goto b7; } -u zsetprefix(u vc, u vs, u vn) { +u zsetprefix(u vc, u vs, u vn){ u vp = 0; u v4 = 0; u v5 = 0; @@ -31329,26 +30742,26 @@ u zsetprefix(u vc, u vs, u vn) { u v10 = 0; u v11 = 0; u v12 = 0; -b0: v4 = (u)zalloc; - v5 = *(u *)(vc); - v6 = (vn) + (1UL); - v7 = ((u (*)())(v4))(v5, v6); -b1: vp = v7; + v4 = (u)zalloc; + v5 = *(u*)vc; + v6 = vn + 1; + v7 = ((u(*)())v4)(v5, v6); + vp = v7; v8 = (u)zmemcpy; v9 = vp; v10 = vs; v11 = vn; - v12 = ((u (*)())(v8))(v9, v10, v11); -b2: *(b *)((vp) + (vn)) = 0UL; - *(u *)((vc) + (32UL)) = vp; - *(u *)((vc) + (40UL)) = vn; - return 0UL; + v12 = ((u(*)())v8)(v9, v10, v11); + *(b*)(vp + vn) = 0; + *(u*)(vc + 32) = vp; + *(u*)(vc + 40) = vn; + return 0; } -u zsetup_alloc(u vc) { -b0: *(u *)(vc) = 0UL; - return 0UL; +u zsetup_alloc(u vc){ + *(u*)vc = 0; + return 0; } -u zsetup_assembler(u va) { +u zsetup_assembler(u va){ u vc = 0; u v2 = 0; u v3 = 0; @@ -31364,32 +30777,32 @@ u zsetup_assembler(u va) { u v13 = 0; u v14 = 0; u v15 = 0; -b0: v2 = (u)zalloc; + v2 = (u)zalloc; v3 = va; - v4 = 128UL; - v5 = ((u (*)())(v2))(v3, v4); -b1: vc = v5; - *(u *)(vc) = va; - *(u *)((vc) + (8UL)) = 0UL; - *(u *)((vc) + (24UL)) = 160UL; - *(u *)((vc) + (32UL)) = 0UL; - *(u *)((vc) + (40UL)) = 0UL; - *(u *)((vc) + (48UL)) = 0UL; - *(u *)((vc) + (56UL)) = 0UL; - *(u *)((vc) + (72UL)) = 0UL; + v4 = 128; + v5 = ((u(*)())v2)(v3, v4); + vc = v5; + *(u*)vc = va; + *(u*)(vc + 8) = 0; + *(u*)(vc + 24) = 160; + *(u*)(vc + 32) = 0; + *(u*)(vc + 40) = 0; + *(u*)(vc + 48) = 0; + *(u*)(vc + 56) = 0; + *(u*)(vc + 72) = 0; v6 = (u)zadd_section; v7 = vc; v8 = (u)""; - v9 = 0UL; - v10 = ((u (*)())(v6))(v7, v8, v9); -b2: v11 = (u)zadd_section; + v9 = 0; + v10 = ((u(*)())v6)(v7, v8, v9); + v11 = (u)zadd_section; v12 = vc; v13 = (u)".text"; - v14 = 1UL; - v15 = ((u (*)())(v11))(v12, v13, v14); -b3: return vc; + v14 = 1; + v15 = ((u(*)())v11)(v12, v13, v14); + return vc; } -u zsetup_parser(u vcc, u verr) { +u zsetup_parser(u vcc, u verr){ u vc = 0; u v3 = 0; u v4 = 0; @@ -31406,29 +30819,29 @@ u zsetup_parser(u vcc, u verr) { u v15 = 0; u v16 = 0; u v17 = 0; -b0: v3 = (u)zalloc; - v4 = *(u *)(vcc); - v5 = 32UL; - v6 = ((u (*)())(v3))(v4, v5); -b1: vc = v6; - *(u *)(vc) = *(u *)(vcc); + v3 = (u)zalloc; + v4 = *(u*)vcc; + v5 = 32; + v6 = ((u(*)())v3)(v4, v5); + vc = v6; + *(u*)vc = *(u*)vcc; v7 = (u)zpeg_new; v8 = (u)""; v9 = (u)""; - v10 = 0UL; - v11 = *(u *)(vcc); + v10 = 0; + v11 = *(u*)vcc; v12 = (u)zpeg_P_grammar; v13 = (u)zP_tag_to_str; - v14 = ((u (*)())(v7))(v8, v9, v10, v11, v12, v13); -b2: *(u *)((vc) + (8UL)) = v14; + v14 = ((u(*)())v7)(v8, v9, v10, v11, v12, v13); + *(u*)(vc + 8) = v14; v15 = (u)zsetup_peg; v16 = vcc; - v17 = ((u (*)())(v15))(v16); -b3: *(u *)((vc) + (16UL)) = v17; - *(u *)((vc) + (24UL)) = verr; + v17 = ((u(*)())v15)(v16); + *(u*)(vc + 16) = v17; + *(u*)(vc + 24) = verr; return vc; } -u zsetup_peg(u vcc) { +u zsetup_peg(u vcc){ u vc = 0; u v2 = 0; u v3 = 0; @@ -31438,22 +30851,22 @@ u zsetup_peg(u vcc) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v2 = (u)zalloc; - v3 = *(u *)(vcc); - v4 = 48UL; - v5 = ((u (*)())(v2))(v3, v4); -b1: vc = v5; - *(u *)(vc) = *(u *)(vcc); - *(u *)((vc) + (32UL)) = (u)""; + v2 = (u)zalloc; + v3 = *(u*)vcc; + v4 = 48; + v5 = ((u(*)())v2)(v3, v4); + vc = v5; + *(u*)vc = *(u*)vcc; + *(u*)(vc + 32) = (u)""; v6 = (u)zalloc; - v7 = *(u *)(vcc); - v8 = 256UL; - v9 = ((u (*)())(v6))(v7, v8); -b2: *(u *)((vc) + (24UL)) = v9; - *(u *)((vc) + (16UL)) = vcc; + v7 = *(u*)vcc; + v8 = 256; + v9 = ((u(*)())v6)(v7, v8); + *(u*)(vc + 24) = v9; + *(u*)(vc + 16) = vcc; return vc; } -u zshow_node(u vout, u vn) { +u zshow_node(u vout, u vn){ u vi = 0; u vch = 0; u vhex = 0; @@ -31533,129 +30946,123 @@ u zshow_node(u vout, u vn) { u v78 = 0; u v79 = 0; u v80 = 0; -b0: vhex = (u)"0123456789abcdef"; - if (!(vn)) { goto b5; } -b4: v5 = 0UL; - goto b6; -b6: if (!(v5)) { goto b1; } -b2: return 0UL; + vhex = (u)"0123456789abcdef"; + if (!vn) goto b5; + v5 = 0; +b6: if (!v5) goto b1; + return 0; b1: v6 = (u)zfputc; v7 = vout; - v8 = 40UL; - v9 = ((u (*)())(v6))(v7, v8); -b7: v10 = (u)zfputs; + v8 = 40; + v9 = ((u(*)())v6)(v7, v8); + v10 = (u)zfputs; v11 = vout; v13 = (u)znode_to_str; - v14 = *(u *)(vn); - v15 = ((u (*)())(v13))(v14); -b8: v12 = v15; - v16 = ((u (*)())(v10))(v11, v12); -b9: if ((*(u *)(vn)) != (1UL)) { goto b10; } -b11: v17 = (u)zfputc; + v14 = *(u*)vn; + v15 = ((u(*)())v13)(v14); + v12 = v15; + v16 = ((u(*)())v10)(v11, v12); + if (*(u*)vn != 1) goto b10; + v17 = (u)zfputc; v18 = vout; - v19 = 32UL; - v20 = ((u (*)())(v17))(v18, v19); -b13: v21 = (u)zfputd; + v19 = 32; + v20 = ((u(*)())v17)(v18, v19); + v21 = (u)zfputd; v22 = vout; - v23 = *(u *)((vn) + (48UL)); - v24 = ((u (*)())(v21))(v22, v23); -b10: if (!(*(u *)((vn) + (56UL)))) { goto b15; } -b16: v25 = (u)zfputc; + v23 = *(u*)(vn + 48); + v24 = ((u(*)())v21)(v22, v23); +b10: if (!*(u*)(vn + 56)) goto b15; + v25 = (u)zfputc; v26 = vout; - v27 = 32UL; - v28 = ((u (*)())(v25))(v26, v27); -b18: v29 = (u)zfputc; + v27 = 32; + v28 = ((u(*)())v25)(v26, v27); + v29 = (u)zfputc; v30 = vout; - v31 = 34UL; - v32 = ((u (*)())(v29))(v30, v31); -b19: vi = 0UL; - goto b20; -b20: vch = (u)*(b *)((*(u *)((vn) + (56UL))) + (vi)); - if (!(vch)) { goto b26; } -b25: v33 = 0UL; - goto b27; -b27: if (!(v33)) { goto b22; } -b21: v57 = (u)zfputc; + v31 = 34; + v32 = ((u(*)())v29)(v30, v31); + vi = 0; +b20: vch = (u)*(b*)(*(u*)(vn + 56) + vi); + if (!vch) goto b26; + v33 = 0; +b27: if (!v33) goto b22; + v57 = (u)zfputc; v58 = vout; - v59 = 34UL; - v60 = ((u (*)())(v57))(v58, v59); -b15: if (!(*(u *)((vn) + (8UL)))) { goto b52; } -b53: v61 = (u)zfputc; + v59 = 34; + v60 = ((u(*)())v57)(v58, v59); +b15: if (!*(u*)(vn + 8)) goto b52; + v61 = (u)zfputc; v62 = vout; - v63 = 32UL; - v64 = ((u (*)())(v61))(v62, v63); -b55: v65 = (u)zshow_node; + v63 = 32; + v64 = ((u(*)())v61)(v62, v63); + v65 = (u)zshow_node; v66 = vout; - v67 = *(u *)((vn) + (8UL)); - v68 = ((u (*)())(v65))(v66, v67); -b52: if (!(*(u *)((vn) + (16UL)))) { goto b57; } -b58: v69 = (u)zfputc; + v67 = *(u*)(vn + 8); + v68 = ((u(*)())v65)(v66, v67); +b52: if (!*(u*)(vn + 16)) goto b57; + v69 = (u)zfputc; v70 = vout; - v71 = 32UL; - v72 = ((u (*)())(v69))(v70, v71); -b60: v73 = (u)zshow_node; + v71 = 32; + v72 = ((u(*)())v69)(v70, v71); + v73 = (u)zshow_node; v74 = vout; - v75 = *(u *)((vn) + (16UL)); - v76 = ((u (*)())(v73))(v74, v75); + v75 = *(u*)(vn + 16); + v76 = ((u(*)())v73)(v74, v75); b57: v77 = (u)zfputc; v78 = vout; - v79 = 41UL; - v80 = ((u (*)())(v77))(v78, v79); -b62: return 0UL; -b22: if ((s)(vch) >= (s)(32UL)) { goto b32; } -b31: v34 = 1UL; - goto b34; -b34: if (!(v34)) { goto b30; } -b29: v37 = (u)zfputc; + v79 = 41; + v80 = ((u(*)())v77)(v78, v79); + return 0; +b22: if ((s)vch >= (s)32) goto b32; + v34 = 1; +b34: if (!v34) goto b30; + v37 = (u)zfputc; v38 = vout; - v39 = 92UL; - v40 = ((u (*)())(v37))(v38, v39); -b46: v41 = (u)zfputc; + v39 = 92; + v40 = ((u(*)())v37)(v38, v39); + v41 = (u)zfputc; v42 = vout; - v43 = 120UL; - v44 = ((u (*)())(v41))(v42, v43); -b47: v45 = (u)zfputc; + v43 = 120; + v44 = ((u(*)())v41)(v42, v43); + v45 = (u)zfputc; v46 = vout; - v47 = (u)*(b *)((vhex) + ((vch) >> (4UL))); - v48 = ((u (*)())(v45))(v46, v47); -b48: v49 = (u)zfputc; + v47 = (u)*(b*)(vhex + (vch >> 4)); + v48 = ((u(*)())v45)(v46, v47); + v49 = (u)zfputc; v50 = vout; - v51 = (u)*(b *)((vhex) + ((vch) & (15UL))); - v52 = ((u (*)())(v49))(v50, v51); -b28: vi = (vi) + (1UL); + v51 = (u)*(b*)(vhex + (vch & 15)); + v52 = ((u(*)())v49)(v50, v51); +b28: vi = vi + 1; goto b20; b30: v53 = (u)zfputc; v54 = vout; v55 = vch; - v56 = ((u (*)())(v53))(v54, v55); + v56 = ((u(*)())v53)(v54, v55); goto b28; -b32: if ((s)(vch) <= (s)(127UL)) { goto b37; } -b36: v35 = 1UL; - goto b39; -b39: if (!(v35)) { goto b35; } -b33: v34 = 1UL; +b32: if ((s)vch <= (s)127) goto b37; + v35 = 1; +b39: if (!v35) goto b35; + v34 = 1; goto b34; -b35: v34 = 0UL; +b35: v34 = 0; goto b34; -b37: if ((vch) != (92UL)) { goto b42; } -b41: v36 = 1UL; - goto b44; -b44: if (!(v36)) { goto b40; } -b38: v35 = 1UL; +b37: if (vch != 92) goto b42; + v36 = 1; +b44: if (!v36) goto b40; + v35 = 1; goto b39; -b40: v35 = 0UL; +b40: v35 = 0; goto b39; -b42: if ((vch) != (34UL)) { goto b45; } -b43: v36 = 1UL; +b42: if (vch != 34) goto b45; + v36 = 1; goto b44; -b45: v36 = 0UL; +b45: v36 = 0; goto b44; -b26: v33 = 1UL; +b26: v33 = 1; goto b27; -b5: v5 = 1UL; +b5: v5 = 1; goto b6; } -u zstmt_to_ir(u vic, u vn) { +u zstmt_to_ir(u vic, u vn){ u vloopctx[3] = {0}; u vcond_body = 0; u vcond_next = 0; @@ -31788,232 +31195,222 @@ u zstmt_to_ir(u vic, u vn) { u v131 = 0; u v132 = 0; u v133 = 0; -b0: if (!(vn)) { goto b5; } -b4: v9 = 0UL; - goto b6; -b6: if (!(v9)) { goto b1; } -b2: return 0UL; -b1: *(u *)((*(u *)(vic)) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((*(u *)(vic)) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((*(u *)(vic)) + (40UL)) = *(u *)((vn) + (40UL)); - vkind = *(u *)(vn); - if ((vkind) != (21UL)) { goto b9; } -b8: v10 = (u)zmkirblock; + if (!vn) goto b5; + v9 = 0; +b6: if (!v9) goto b1; + return 0; +b1: *(u*)(*(u*)vic + 24) = *(u*)(vn + 24); + *(u*)(*(u*)vic + 32) = *(u*)(vn + 32); + *(u*)(*(u*)vic + 40) = *(u*)(vn + 40); + vkind = *(u*)vn; + if (vkind != 21) goto b9; + v10 = (u)zmkirblock; v11 = vic; - v12 = ((u (*)())(v10))(v11); -b10: vcond_out = v12; - goto b11; -b11: if (!(vn)) { goto b17; } -b16: v13 = 0UL; - goto b18; -b18: if (!(v13)) { goto b13; } + v12 = ((u(*)())v10)(v11); + vcond_out = v12; +b11: if (!vn) goto b17; + v13 = 0; +b18: if (!v13) goto b13; b12: v44 = (u)zirjump; v45 = vic; v46 = vcond_out; v47 = vcond_out; - v48 = ((u (*)())(v44))(v45, v46, v47); -b7: return 0UL; -b13: if (!(*(u *)((*(u *)((vn) + (8UL))) + (8UL)))) { goto b23; } -b22: v14 = 0UL; - goto b24; -b24: if (!(v14)) { goto b19; } -b20: v15 = (u)zstmt_to_ir; + v48 = ((u(*)())v44)(v45, v46, v47); +b7: return 0; +b13: if (!*(u*)(*(u*)(vn + 8) + 8)) goto b23; + v14 = 0; +b24: if (!v14) goto b19; + v15 = (u)zstmt_to_ir; v16 = vic; - v17 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v18 = ((u (*)())(v15))(v16, v17); + v17 = *(u*)(*(u*)(vn + 8) + 16); + v18 = ((u(*)())v15)(v16, v17); goto b12; b19: v19 = (u)zmkirblock; v20 = vic; - v21 = ((u (*)())(v19))(v20); -b26: vcond_body = v21; + v21 = ((u(*)())v19)(v20); + vcond_body = v21; v22 = (u)zmkirblock; v23 = vic; - v24 = ((u (*)())(v22))(v23); -b27: vcond_next = v24; + v24 = ((u(*)())v22)(v23); + vcond_next = v24; v25 = (u)zexpr_to_ir; v26 = vic; - v27 = *(u *)((*(u *)((vn) + (8UL))) + (8UL)); - v28 = ((u (*)())(v25))(v26, v27); -b28: vvalue = v28; + v27 = *(u*)(*(u*)(vn + 8) + 8); + v28 = ((u(*)())v25)(v26, v27); + vvalue = v28; v29 = (u)zirbranch; v30 = vic; v31 = vvalue; v32 = vcond_next; v33 = vcond_body; - v34 = ((u (*)())(v29))(v30, v31, v32, v33); -b29: v35 = (u)zstmt_to_ir; + v34 = ((u(*)())v29)(v30, v31, v32, v33); + v35 = (u)zstmt_to_ir; v36 = vic; - v37 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v38 = ((u (*)())(v35))(v36, v37); -b30: v39 = (u)zirjump; + v37 = *(u*)(*(u*)(vn + 8) + 16); + v38 = ((u(*)())v35)(v36, v37); + v39 = (u)zirjump; v40 = vic; v41 = vcond_out; v42 = vcond_next; - v43 = ((u (*)())(v39))(v40, v41, v42); -b31: vn = *(u *)((vn) + (16UL)); + v43 = ((u(*)())v39)(v40, v41, v42); + vn = *(u*)(vn + 16); goto b11; -b23: v14 = 1UL; +b23: v14 = 1; goto b24; -b17: v13 = 1UL; +b17: v13 = 1; goto b18; -b9: if ((vkind) != (5UL)) { goto b34; } -b35: if (!(vn)) { goto b41; } -b40: v49 = 0UL; - goto b42; -b42: if (!(v49)) { goto b37; } +b9: if (vkind != 5) goto b34; +b35: if (!vn) goto b41; + v49 = 0; +b42: if (!v49) goto b37; goto b7; b37: v50 = (u)zstmt_to_ir; v51 = vic; - v52 = *(u *)((vn) + (8UL)); - v53 = ((u (*)())(v50))(v51, v52); -b43: vn = *(u *)((vn) + (16UL)); + v52 = *(u*)(vn + 8); + v53 = ((u(*)())v50)(v51, v52); + vn = *(u*)(vn + 16); goto b35; -b41: v49 = 1UL; +b41: v49 = 1; goto b42; -b34: if ((vkind) != (26UL)) { goto b45; } -b44: *vloopctx = *(u *)((vic) + (56UL)); +b34: if (vkind != 26) goto b45; + *vloopctx = *(u*)(vic + 56); v54 = (u)zmkirblock; v55 = vic; - v56 = ((u (*)())(v54))(v55); -b46: *(u *)(((u)vloopctx) + (8UL)) = v56; + v56 = ((u(*)())v54)(v55); + *(u*)((u)vloopctx + 8) = v56; v57 = (u)zmkirblock; v58 = vic; - v59 = ((u (*)())(v57))(v58); -b47: *(u *)(((u)vloopctx) + (16UL)) = v59; - *(u *)((vic) + (56UL)) = (u)vloopctx; + v59 = ((u(*)())v57)(v58); + *(u*)((u)vloopctx + 16) = v59; + *(u*)(vic + 56) = (u)vloopctx; v60 = (u)zirjump; v61 = vic; - v62 = *(u *)(((u)vloopctx) + (8UL)); - v63 = *(u *)(((u)vloopctx) + (8UL)); - v64 = ((u (*)())(v60))(v61, v62, v63); -b48: v65 = (u)zstmt_to_ir; + v62 = *(u*)((u)vloopctx + 8); + v63 = *(u*)((u)vloopctx + 8); + v64 = ((u(*)())v60)(v61, v62, v63); + v65 = (u)zstmt_to_ir; v66 = vic; - v67 = *(u *)((vn) + (8UL)); - v68 = ((u (*)())(v65))(v66, v67); -b49: v69 = (u)zirjump; + v67 = *(u*)(vn + 8); + v68 = ((u(*)())v65)(v66, v67); + v69 = (u)zirjump; v70 = vic; - v71 = *(u *)(((u)vloopctx) + (8UL)); - v72 = *(u *)(((u)vloopctx) + (16UL)); - v73 = ((u (*)())(v69))(v70, v71, v72); -b50: *(u *)((vic) + (56UL)) = *vloopctx; + v71 = *(u*)((u)vloopctx + 8); + v72 = *(u*)((u)vloopctx + 16); + v73 = ((u(*)())v69)(v70, v71, v72); + *(u*)(vic + 56) = *vloopctx; goto b7; -b45: if ((vkind) != (27UL)) { goto b52; } -b51: if (!(*(u *)((vic) + (56UL)))) { goto b57; } -b56: v74 = 0UL; - goto b58; -b58: if (!(v74)) { goto b53; } -b54: v75 = (u)zcdie; - v76 = *(u *)(vic); +b45: if (vkind != 27) goto b52; + if (!*(u*)(vic + 56)) goto b57; + v74 = 0; +b58: if (!v74) goto b53; + v75 = (u)zcdie; + v76 = *(u*)vic; v77 = (u)"break not in loop"; - v78 = ((u (*)())(v75))(v76, v77); + v78 = ((u(*)())v75)(v76, v77); b53: v79 = (u)zirjump; v80 = vic; - v81 = *(u *)((*(u *)((vic) + (56UL))) + (16UL)); - v82 = 0UL; - v83 = ((u (*)())(v79))(v80, v81, v82); + v81 = *(u*)(*(u*)(vic + 56) + 16); + v82 = 0; + v83 = ((u(*)())v79)(v80, v81, v82); goto b7; -b57: v74 = 1UL; +b57: v74 = 1; goto b58; -b52: if ((vkind) != (28UL)) { goto b62; } -b61: if (!(*(u *)((vic) + (56UL)))) { goto b67; } -b66: v84 = 0UL; - goto b68; -b68: if (!(v84)) { goto b63; } -b64: v85 = (u)zcdie; - v86 = *(u *)(vic); +b52: if (vkind != 28) goto b62; + if (!*(u*)(vic + 56)) goto b67; + v84 = 0; +b68: if (!v84) goto b63; + v85 = (u)zcdie; + v86 = *(u*)vic; v87 = (u)"continue not in loop"; - v88 = ((u (*)())(v85))(v86, v87); + v88 = ((u(*)())v85)(v86, v87); b63: v89 = (u)zirjump; v90 = vic; - v91 = *(u *)((*(u *)((vic) + (56UL))) + (8UL)); - v92 = 0UL; - v93 = ((u (*)())(v89))(v90, v91, v92); + v91 = *(u*)(*(u*)(vic + 56) + 8); + v92 = 0; + v93 = ((u(*)())v89)(v90, v91, v92); goto b7; -b67: v84 = 1UL; +b67: v84 = 1; goto b68; -b62: if ((vkind) != (29UL)) { goto b72; } -b71: if (!(*(u *)((vn) + (8UL)))) { goto b75; } -b74: v94 = (u)zexpr_to_ir; +b62: if (vkind != 29) goto b72; + if (!*(u*)(vn + 8)) goto b75; + v94 = (u)zexpr_to_ir; v95 = vic; - v96 = *(u *)((vn) + (8UL)); - v97 = ((u (*)())(v94))(v95, v96); -b76: vvalue = v97; - goto b73; + v96 = *(u*)(vn + 8); + v97 = ((u(*)())v94)(v95, v96); + vvalue = v97; b73: v102 = (u)zirreturn; v103 = vic; v104 = vvalue; - v105 = ((u (*)())(v102))(v103, v104); + v105 = ((u(*)())v102)(v103, v104); goto b7; b75: v98 = (u)zmkirconst; v99 = vic; - v100 = 0UL; - v101 = ((u (*)())(v98))(v99, v100); -b77: vvalue = v101; + v100 = 0; + v101 = ((u(*)())v98)(v99, v100); + vvalue = v101; goto b73; -b72: if ((vkind) != (31UL)) { goto b80; } -b79: v106 = (u)zirfind_block; +b72: if (vkind != 31) goto b80; + v106 = (u)zirfind_block; v107 = vic; - v108 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - v109 = 0UL; - v110 = ((u (*)())(v106))(v107, v108, v109); -b81: vlabel = v110; + v108 = *(u*)(*(u*)(vn + 8) + 56); + v109 = 0; + v110 = ((u(*)())v106)(v107, v108, v109); + vlabel = v110; v111 = (u)zirjump; v112 = vic; v113 = vlabel; v114 = vlabel; - v115 = ((u (*)())(v111))(v112, v113, v114); + v115 = ((u(*)())v111)(v112, v113, v114); goto b7; -b80: if ((vkind) != (32UL)) { goto b84; } -b83: v116 = (u)zirfind_block; +b80: if (vkind != 32) goto b84; + v116 = (u)zirfind_block; v117 = vic; - v118 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - v119 = 0UL; - v120 = ((u (*)())(v116))(v117, v118, v119); -b85: vlabel = v120; + v118 = *(u*)(*(u*)(vn + 8) + 56); + v119 = 0; + v120 = ((u(*)())v116)(v117, v118, v119); + vlabel = v120; v121 = (u)zirjump; v122 = vic; v123 = vlabel; - v124 = 0UL; - v125 = ((u (*)())(v121))(v122, v123, v124); + v124 = 0; + v125 = ((u(*)())v121)(v122, v123, v124); goto b7; -b84: if ((vkind) != (30UL)) { goto b88; } +b84: if (vkind != 30) goto b88; goto b7; b88: v126 = (u)zexpr_to_ir; v127 = vic; v128 = vn; - v129 = ((u (*)())(v126))(v127, v128); -b89: vvalue = v129; + v129 = ((u(*)())v126)(v127, v128); + vvalue = v129; v130 = (u)ziraddop; v131 = vic; v132 = vvalue; - v133 = ((u (*)())(v130))(v131, v132); + v133 = ((u(*)())v130)(v131, v132); goto b7; -b5: v9 = 1UL; +b5: v9 = 1; goto b6; } -u zstrcmp(u va, u vb) { +u zstrcmp(u va, u vb){ u vi = 0; -b0: vi = 0UL; - goto b1; -b1: if ((s)((u)*(b *)((va) + (vi))) <= (s)((u)*(b *)((vb) + (vi)))) { goto b3; } -b4: return 1UL; -b3: if ((s)((u)*(b *)((va) + (vi))) >= (s)((u)*(b *)((vb) + (vi)))) { goto b6; } -b7: return -1UL; -b6: if (((u)*(b *)((va) + (vi))) != (0UL)) { goto b9; } -b10: return 0UL; -b9: vi = (vi) + (1UL); + vi = 0; +b1: if ((s)(u)*(b*)(va + vi) <= (s)(u)*(b*)(vb + vi)) goto b3; + return 1; +b3: if ((s)(u)*(b*)(va + vi) >= (s)(u)*(b*)(vb + vi)) goto b6; + return -1UL; +b6: if ((u)*(b*)(va + vi) != 0) goto b9; + return 0; +b9: vi = vi + 1; goto b1; } -u zstrlen(u vs) { +u zstrlen(u vs){ u vret = 0; -b0: vret = 0UL; - goto b1; -b1: if (((u)*(b *)((vs) + (vret))) != (0UL)) { goto b3; } -b4: return vret; -b3: vret = (vret) + (1UL); + vret = 0; +b1: if ((u)*(b*)(vs + vret) != 0) goto b3; + return vret; +b3: vret = vret + 1; goto b1; } -u ztranslate(u vc, u vn) { +u ztranslate(u vc, u vn){ u vv = 0; u vi = 0; u vnum_rules = 0; @@ -32056,77 +31453,71 @@ u ztranslate(u vc, u vn) { u v41 = 0; u v42 = 0; u v43 = 0; -b0: vv = *(u *)((vn) + (16UL)); - vnum_rules = 0UL; - goto b1; -b1: if (!(vv)) { goto b7; } -b6: v8 = 0UL; - goto b8; -b8: if (!(v8)) { goto b3; } -b2: v14 = (u)zalloc; - v15 = *(u *)(vc); - v16 = (vnum_rules) * (8UL); - v17 = ((u (*)())(v14))(v15, v16); -b16: vtags = v17; + vv = *(u*)(vn + 16); + vnum_rules = 0; +b1: if (!vv) goto b7; + v8 = 0; +b8: if (!v8) goto b3; + v14 = (u)zalloc; + v15 = *(u*)vc; + v16 = vnum_rules * 8; + v17 = ((u(*)())v14)(v15, v16); + vtags = v17; v18 = (u)zalloc; - v19 = *(u *)(vc); - v20 = (vnum_rules) * (8UL); - v21 = ((u (*)())(v18))(v19, v20); -b17: vnodes = v21; - vi = 0UL; - vv = *(u *)((vn) + (16UL)); - goto b18; -b18: if (!(vv)) { goto b24; } -b23: v22 = 0UL; - goto b25; -b25: if (!(v22)) { goto b20; } -b19: v33 = (u)ztranslate_tag_to_str; + v19 = *(u*)vc; + v20 = vnum_rules * 8; + v21 = ((u(*)())v18)(v19, v20); + vnodes = v21; + vi = 0; + vv = *(u*)(vn + 16); +b18: if (!vv) goto b24; + v22 = 0; +b25: if (!v22) goto b20; + v33 = (u)ztranslate_tag_to_str; v34 = vc; v35 = vtags; v36 = vnum_rules; - v37 = ((u (*)())(v33))(v34, v35, v36); -b31: v38 = (u)ztranslate_rules; + v37 = ((u(*)())v33)(v34, v35, v36); + v38 = (u)ztranslate_rules; v39 = vc; v40 = vtags; v41 = vnodes; v42 = vnum_rules; - v43 = ((u (*)())(v38))(v39, v40, v41, v42); -b32: return 0UL; -b20: if ((*(u *)(vv)) != (91UL)) { goto b26; } -b27: v23 = (u)zmake_tag; + v43 = ((u(*)())v38)(v39, v40, v41, v42); + return 0; +b20: if (*(u*)vv != 91) goto b26; + v23 = (u)zmake_tag; v24 = vc; - v25 = *(u *)((*(u *)((vv) + (16UL))) + (24UL)); - v26 = *(u *)((*(u *)((vv) + (16UL))) + (32UL)); - v27 = ((u (*)())(v23))(v24, v25, v26); -b29: vtag = v27; + v25 = *(u*)(*(u*)(vv + 16) + 24); + v26 = *(u*)(*(u*)(vv + 16) + 32); + v27 = ((u(*)())v23)(v24, v25, v26); + vtag = v27; v28 = (u)zdefine_enum_tag; - v29 = *(u *)((vc) + (16UL)); + v29 = *(u*)(vc + 16); v30 = vtag; v31 = vi; - v32 = ((u (*)())(v28))(v29, v30, v31); -b30: *(u *)((vtags) + ((vi) * (8UL))) = vtag; - *(u *)((vnodes) + ((vi) * (8UL))) = vv; - vi = (vi) + (1UL); - goto b26; -b26: vv = *(u *)((vv) + (8UL)); + v32 = ((u(*)())v28)(v29, v30, v31); + *(u*)(vtags + vi * 8) = vtag; + *(u*)(vnodes + vi * 8) = vv; + vi = vi + 1; +b26: vv = *(u*)(vv + 8); goto b18; -b24: v22 = 1UL; +b24: v22 = 1; goto b25; -b3: if ((*(u *)(vv)) != (92UL)) { goto b9; } -b10: v9 = (u)zsetprefix; +b3: if (*(u*)vv != 92) goto b9; + v9 = (u)zsetprefix; v10 = vc; - v11 = *(u *)((*(u *)((vv) + (16UL))) + (24UL)); - v12 = *(u *)((*(u *)((vv) + (16UL))) + (32UL)); - v13 = ((u (*)())(v9))(v10, v11, v12); -b9: if ((*(u *)(vv)) != (91UL)) { goto b13; } -b14: vnum_rules = (vnum_rules) + (1UL); - goto b13; -b13: vv = *(u *)((vv) + (8UL)); + v11 = *(u*)(*(u*)(vv + 16) + 24); + v12 = *(u*)(*(u*)(vv + 16) + 32); + v13 = ((u(*)())v9)(v10, v11, v12); +b9: if (*(u*)vv != 91) goto b13; + vnum_rules = vnum_rules + 1; +b13: vv = *(u*)(vv + 8); goto b1; -b7: v8 = 1UL; +b7: v8 = 1; goto b8; } -u ztranslate_call(u vc, u vic, u vfail, u vn) { +u ztranslate_call(u vc, u vic, u vfail, u vn){ u vprefix = 0; u vprefix_len = 0; u vresult = 0; @@ -32217,104 +31608,104 @@ u ztranslate_call(u vc, u vic, u vfail, u vn) { u v91 = 0; u v92 = 0; u v93 = 0; -b0: vprefix = *(u *)((vc) + (32UL)); + vprefix = *(u*)(vc + 32); v14 = (u)zstrlen; v15 = vprefix; - v16 = ((u (*)())(v14))(v15); -b1: vprefix_len = v16; - vlen = ((vprefix_len) + (*(u *)((vn) + (32UL)))) + (4UL); + v16 = ((u(*)())v14)(v15); + vprefix_len = v16; + vlen = vprefix_len + *(u*)(vn + 32) + 4; v17 = (u)zalloc; - v18 = *(u *)(vc); - v19 = (vlen) + (1UL); - v20 = ((u (*)())(v17))(v18, v19); -b2: vresult = v20; + v18 = *(u*)vc; + v19 = vlen + 1; + v20 = ((u(*)())v17)(v18, v19); + vresult = v20; v21 = (u)zmemcpy; v22 = vresult; v23 = (u)"peg_"; - v24 = 4UL; - v25 = ((u (*)())(v21))(v22, v23, v24); -b3: v26 = (u)zmemcpy; - v27 = (vresult) + (4UL); + v24 = 4; + v25 = ((u(*)())v21)(v22, v23, v24); + v26 = (u)zmemcpy; + v27 = vresult + 4; v28 = vprefix; v29 = vprefix_len; - v30 = ((u (*)())(v26))(v27, v28, v29); -b4: v31 = (u)zmemcpy; - v32 = (vresult) + ((4UL) + (vprefix_len)); - v33 = *(u *)((vn) + (24UL)); - v34 = *(u *)((vn) + (32UL)); - v35 = ((u (*)())(v31))(v32, v33, v34); -b5: *(b *)((vresult) + (vlen)) = 0UL; + v30 = ((u(*)())v26)(v27, v28, v29); + v31 = (u)zmemcpy; + v32 = vresult + 4 + vprefix_len; + v33 = *(u*)(vn + 24); + v34 = *(u*)(vn + 32); + v35 = ((u(*)())v31)(v32, v33, v34); + *(b*)(vresult + vlen) = 0; v36 = (u)zmkirblock; v37 = vic; - v38 = ((u (*)())(v36))(v37); -b6: vnext = v38; + v38 = ((u(*)())v36)(v37); + vnext = v38; v39 = (u)zmktype0; - v40 = *(u *)((vc) + (16UL)); - v41 = 2UL; - v42 = ((u (*)())(v39))(v40, v41); -b7: vt = v42; + v40 = *(u*)(vc + 16); + v41 = 2; + v42 = ((u(*)())v39)(v40, v41); + vt = v42; v43 = (u)zmkirtmp; v44 = vic; v45 = vt; - v46 = ((u (*)())(v43))(v44, v45); -b8: vret = v46; + v46 = ((u(*)())v43)(v44, v45); + vret = v46; v47 = (u)zmkirvarop; v48 = vic; v49 = (u)"c"; - v50 = ((u (*)())(v47))(v48, v49); -b9: va = v50; + v50 = ((u(*)())v47)(v48, v49); + va = v50; v51 = (u)zmkirarg; v52 = vic; - v53 = 0UL; + v53 = 0; v54 = va; - v55 = ((u (*)())(v51))(v52, v53, v54); -b10: vo = v55; + v55 = ((u(*)())v51)(v52, v53, v54); + vo = v55; v56 = (u)ziraddop; v57 = vic; v58 = vo; - v59 = ((u (*)())(v56))(v57, v58); -b11: v60 = (u)zmkirretval; + v59 = ((u(*)())v56)(v57, v58); + v60 = (u)zmkirretval; v61 = vic; v62 = vret; v63 = vt; - v64 = ((u (*)())(v60))(v61, v62, v63); -b12: vo = v64; + v64 = ((u(*)())v60)(v61, v62, v63); + vo = v64; v65 = (u)ziraddop; v66 = vic; v67 = vo; - v68 = ((u (*)())(v65))(v66, v67); -b13: v69 = (u)zmkirfuncref; + v68 = ((u(*)())v65)(v66, v67); + v69 = (u)zmkirfuncref; v70 = vic; v71 = vresult; - v72 = ((u (*)())(v69))(v70, v71); -b14: va = v72; + v72 = ((u(*)())v69)(v70, v71); + va = v72; v73 = (u)zircall; v74 = vic; v75 = va; - v76 = 1UL; - v77 = ((u (*)())(v73))(v74, v75, v76); -b15: va = vret; + v76 = 1; + v77 = ((u(*)())v73)(v74, v75, v76); + va = vret; v78 = (u)zmkirconst; v79 = vic; - v80 = 0UL; - v81 = ((u (*)())(v78))(v79, v80); -b16: vb = v81; + v80 = 0; + v81 = ((u(*)())v78)(v79, v80); + vb = v81; v82 = (u)zmkirop; v83 = vic; - v84 = 22UL; + v84 = 22; v85 = va; v86 = vb; - v87 = ((u (*)())(v82))(v83, v84, v85, v86); -b17: vo = v87; + v87 = ((u(*)())v82)(v83, v84, v85, v86); + vo = v87; v88 = (u)zirbranch; v89 = vic; v90 = vo; v91 = vfail; v92 = vnext; - v93 = ((u (*)())(v88))(v89, v90, v91, v92); -b18: return 0UL; + v93 = ((u(*)())v88)(v89, v90, v91, v92); + return 0; } -u ztranslate_charset(u vc, u vic, u vfail, u vn) { +u ztranslate_charset(u vc, u vic, u vfail, u vn){ u vi = 0; u vj = 0; u vlen = 0; @@ -32430,174 +31821,166 @@ u ztranslate_charset(u vc, u vic, u vfail, u vn) { u v116 = 0; u v117 = 0; u v118 = 0; -b0: vhex = (u)"0123456789abcdef"; + vhex = (u)"0123456789abcdef"; v19 = (u)zmemset; - v20 = *(u *)((vc) + (24UL)); - v21 = 0UL; - v22 = 256UL; - v23 = ((u (*)())(v19))(v20, v21, v22); -b1: vi = 1UL; - vlen = (*(u *)((vn) + (32UL))) - (1UL); - goto b2; -b2: if ((vi) != (vlen)) { goto b4; } -b3: vcount = 0UL; - vi = 1UL; - goto b31; -b31: if ((vi) != (256UL)) { goto b33; } -b32: vi = 1UL; - vj = 0UL; - goto b36; -b36: if ((vi) != (256UL)) { goto b38; } -b37: *(b *)((*(u *)((vc) + (24UL))) + (vj)) = 0UL; + v20 = *(u*)(vc + 24); + v21 = 0; + v22 = 256; + v23 = ((u(*)())v19)(v20, v21, v22); + vi = 1; + vlen = *(u*)(vn + 32) - 1; +b2: if (vi != vlen) goto b4; + vcount = 0; + vi = 1; +b31: if (vi != 256) goto b33; + vi = 1; + vj = 0; +b36: if (vi != 256) goto b38; + *(b*)(*(u*)(vc + 24) + vj) = 0; v38 = (u)zalloc; - v39 = *(u *)(vc); - v40 = (vj) + (1UL); - v41 = ((u (*)())(v38))(v39, v40); -b44: vs = v41; + v39 = *(u*)vc; + v40 = vj + 1; + v41 = ((u(*)())v38)(v39, v40); + vs = v41; v42 = (u)zmemcpy; v43 = vs; - v44 = *(u *)((vc) + (24UL)); + v44 = *(u*)(vc + 24); v45 = vj; - v46 = ((u (*)())(v42))(v43, v44, v45); -b45: *(b *)((vs) + (vj)) = 0UL; + v46 = ((u(*)())v42)(v43, v44, v45); + *(b*)(vs + vj) = 0; v47 = (u)zmktype0; - v48 = *(u *)((vc) + (16UL)); - v49 = 2UL; - v50 = ((u (*)())(v47))(v48, v49); -b46: vt = v50; + v48 = *(u*)(vc + 16); + v49 = 2; + v50 = ((u(*)())v47)(v48, v49); + vt = v50; v51 = (u)zmkirblock; v52 = vic; - v53 = ((u (*)())(v51))(v52); -b47: vnext = v53; + v53 = ((u(*)())v51)(v52); + vnext = v53; v54 = (u)zmkirtmp; v55 = vic; v56 = vt; - v57 = ((u (*)())(v54))(v55, v56); -b48: vret = v57; + v57 = ((u(*)())v54)(v55, v56); + vret = v57; v58 = (u)zmkirretval; v59 = vic; v60 = vret; v61 = vt; - v62 = ((u (*)())(v58))(v59, v60, v61); -b49: vo = v62; + v62 = ((u(*)())v58)(v59, v60, v61); + vo = v62; v63 = (u)ziraddop; v64 = vic; v65 = vo; - v66 = ((u (*)())(v63))(v64, v65); -b50: v67 = (u)zmkirvarop; + v66 = ((u(*)())v63)(v64, v65); + v67 = (u)zmkirvarop; v68 = vic; v69 = (u)"c"; - v70 = ((u (*)())(v67))(v68, v69); -b51: voa = v70; + v70 = ((u(*)())v67)(v68, v69); + voa = v70; v71 = (u)zmkirarg; v72 = vic; - v73 = 0UL; + v73 = 0; v74 = voa; - v75 = ((u (*)())(v71))(v72, v73, v74); -b52: vo = v75; + v75 = ((u(*)())v71)(v72, v73, v74); + vo = v75; v76 = (u)ziraddop; v77 = vic; v78 = vo; - v79 = ((u (*)())(v76))(v77, v78); -b53: v80 = (u)zmkirstr; + v79 = ((u(*)())v76)(v77, v78); + v80 = (u)zmkirstr; v81 = vic; v82 = vs; v83 = vj; - v84 = ((u (*)())(v80))(v81, v82, v83); -b54: voa = v84; + v84 = ((u(*)())v80)(v81, v82, v83); + voa = v84; v85 = (u)zmkirarg; v86 = vic; - v87 = 1UL; + v87 = 1; v88 = voa; - v89 = ((u (*)())(v85))(v86, v87, v88); -b55: vo = v89; + v89 = ((u(*)())v85)(v86, v87, v88); + vo = v89; v90 = (u)ziraddop; v91 = vic; v92 = vo; - v93 = ((u (*)())(v90))(v91, v92); -b56: v94 = (u)zmkirfuncref; + v93 = ((u(*)())v90)(v91, v92); + v94 = (u)zmkirfuncref; v95 = vic; v96 = (u)"charset"; - v97 = ((u (*)())(v94))(v95, v96); -b57: voa = v97; + v97 = ((u(*)())v94)(v95, v96); + voa = v97; v98 = (u)zircall; v99 = vic; v100 = voa; - v101 = 2UL; - v102 = ((u (*)())(v98))(v99, v100, v101); -b58: voa = vret; + v101 = 2; + v102 = ((u(*)())v98)(v99, v100, v101); + voa = vret; v103 = (u)zmkirconst; v104 = vic; - v105 = 0UL; - v106 = ((u (*)())(v103))(v104, v105); -b59: vob = v106; + v105 = 0; + v106 = ((u(*)())v103)(v104, v105); + vob = v106; v107 = (u)zmkirop; v108 = vic; - v109 = 22UL; + v109 = 22; v110 = voa; v111 = vob; - v112 = ((u (*)())(v107))(v108, v109, v110, v111); -b60: vo = v112; + v112 = ((u(*)())v107)(v108, v109, v110, v111); + vo = v112; v113 = (u)zirbranch; v114 = vic; v115 = vo; v116 = vfail; v117 = vnext; - v118 = ((u (*)())(v113))(v114, v115, v116, v117); -b61: return 0UL; -b38: if (!((u)*(b *)((*(u *)((vc) + (24UL))) + (vi)))) { goto b41; } -b42: *(b *)((*(u *)((vc) + (24UL))) + (vj)) = vi; - vj = (vj) + (1UL); - goto b41; -b41: vi = (vi) + (1UL); + v118 = ((u(*)())v113)(v114, v115, v116, v117); + return 0; +b38: if (!(u)*(b*)(*(u*)(vc + 24) + vi)) goto b41; + *(b*)(*(u*)(vc + 24) + vj) = vi; + vj = vj + 1; +b41: vi = vi + 1; goto b36; -b33: vcount = (vcount) + ((u)*(b *)((*(u *)((vc) + (24UL))) + (vi))); - vi = (vi) + (1UL); +b33: vcount = vcount + (u)*(b*)(*(u*)(vc + 24) + vi); + vi = vi + 1; goto b31; -b4: vch = (u)*(b *)((*(u *)((vn) + (24UL))) + (vi)); - vi = (vi) + (1UL); - if ((vch) != (92UL)) { goto b7; } -b8: v24 = (u)zparse_escape; - v25 = *(u *)((vn) + (24UL)); +b4: vch = (u)*(b*)(*(u*)(vn + 24) + vi); + vi = vi + 1; + if (vch != 92) goto b7; + v24 = (u)zparse_escape; + v25 = *(u*)(vn + 24); v26 = (u)&vi; v27 = vlen; - v28 = ((u (*)())(v24))(v25, v26, v27); -b10: vch = v28; - goto b7; -b7: if ((s)(vi) >= (s)(vlen)) { goto b15; } -b14: if (((u)*(b *)((*(u *)((vn) + (24UL))) + (vi))) != (45UL)) { goto b15; } -b16: v29 = 1UL; - goto b17; -b17: if (!(v29)) { goto b13; } -b12: vi = (vi) + (1UL); - if ((vi) != (vlen)) { goto b18; } -b19: v30 = (u)zdie; + v28 = ((u(*)())v24)(v25, v26, v27); + vch = v28; +b7: if ((s)vi >= (s)vlen) goto b15; + if ((u)*(b*)(*(u*)(vn + 24) + vi) != 45) goto b15; + v29 = 1; +b17: if (!v29) goto b13; + vi = vi + 1; + if (vi != vlen) goto b18; + v30 = (u)zdie; v31 = (u)"invalid range"; - v32 = ((u (*)())(v30))(v31); + v32 = ((u(*)())v30)(v31); b18: va = vch; - vch = (u)*(b *)((*(u *)((vn) + (24UL))) + (vi)); - vi = (vi) + (1UL); - if ((vch) != (92UL)) { goto b22; } -b23: v33 = (u)zparse_escape; - v34 = *(u *)((vn) + (24UL)); + vch = (u)*(b*)(*(u*)(vn + 24) + vi); + vi = vi + 1; + if (vch != 92) goto b22; + v33 = (u)zparse_escape; + v34 = *(u*)(vn + 24); v35 = (u)&vi; v36 = vlen; - v37 = ((u (*)())(v33))(v34, v35, v36); -b25: vch = v37; - goto b22; + v37 = ((u(*)())v33)(v34, v35, v36); + vch = v37; b22: vb = vch; - goto b26; -b26: if ((s)(va) <= (s)(vb)) { goto b28; } +b26: if ((s)va <= (s)vb) goto b28; goto b2; -b28: *(b *)((*(u *)((vc) + (24UL))) + (va)) = 1UL; - va = (va) + (1UL); +b28: *(b*)(*(u*)(vc + 24) + va) = 1; + va = va + 1; goto b26; -b13: *(b *)((*(u *)((vc) + (24UL))) + (vch)) = 1UL; +b13: *(b*)(*(u*)(vc + 24) + vch) = 1; goto b2; -b15: v29 = 0UL; +b15: v29 = 0; goto b17; } -u ztranslate_literal(u vc, u vic, u vfail, u vn) { +u ztranslate_literal(u vc, u vic, u vfail, u vn){ u va = 0; u vb = 0; u vo = 0; @@ -32686,104 +32069,104 @@ u ztranslate_literal(u vc, u vic, u vfail, u vn) { u v89 = 0; u v90 = 0; u v91 = 0; -b0: v11 = (u)zalloc; - v12 = *(u *)(vc); - v13 = (*(u *)((vn) + (32UL))) - (1UL); - v14 = ((u (*)())(v11))(v12, v13); -b1: vs = v14; + v11 = (u)zalloc; + v12 = *(u*)vc; + v13 = *(u*)(vn + 32) - 1; + v14 = ((u(*)())v11)(v12, v13); + vs = v14; v15 = (u)zmemcpy; v16 = vs; - v17 = (*(u *)((vn) + (24UL))) + (1UL); - v18 = (*(u *)((vn) + (32UL))) - (2UL); - v19 = ((u (*)())(v15))(v16, v17, v18); -b2: *(b *)((vs) + ((*(u *)((vn) + (32UL))) - (1UL))) = 0UL; + v17 = *(u*)(vn + 24) + 1; + v18 = *(u*)(vn + 32) - 2; + v19 = ((u(*)())v15)(v16, v17, v18); + *(b*)(vs + *(u*)(vn + 32) - 1) = 0; v20 = (u)zmktype0; - v21 = *(u *)((vc) + (16UL)); - v22 = 2UL; - v23 = ((u (*)())(v20))(v21, v22); -b3: vt = v23; + v21 = *(u*)(vc + 16); + v22 = 2; + v23 = ((u(*)())v20)(v21, v22); + vt = v23; v24 = (u)zmkirblock; v25 = vic; - v26 = ((u (*)())(v24))(v25); -b4: vnext = v26; + v26 = ((u(*)())v24)(v25); + vnext = v26; v27 = (u)zmkirtmp; v28 = vic; v29 = vt; - v30 = ((u (*)())(v27))(v28, v29); -b5: vret = v30; + v30 = ((u(*)())v27)(v28, v29); + vret = v30; v31 = (u)zmkirretval; v32 = vic; v33 = vret; v34 = vt; - v35 = ((u (*)())(v31))(v32, v33, v34); -b6: vo = v35; + v35 = ((u(*)())v31)(v32, v33, v34); + vo = v35; v36 = (u)ziraddop; v37 = vic; v38 = vo; - v39 = ((u (*)())(v36))(v37, v38); -b7: v40 = (u)zmkirvarop; + v39 = ((u(*)())v36)(v37, v38); + v40 = (u)zmkirvarop; v41 = vic; v42 = (u)"c"; - v43 = ((u (*)())(v40))(v41, v42); -b8: va = v43; + v43 = ((u(*)())v40)(v41, v42); + va = v43; v44 = (u)zmkirarg; v45 = vic; - v46 = 0UL; + v46 = 0; v47 = va; - v48 = ((u (*)())(v44))(v45, v46, v47); -b9: vo = v48; + v48 = ((u(*)())v44)(v45, v46, v47); + vo = v48; v49 = (u)ziraddop; v50 = vic; v51 = vo; - v52 = ((u (*)())(v49))(v50, v51); -b10: v53 = (u)zmkirstr; + v52 = ((u(*)())v49)(v50, v51); + v53 = (u)zmkirstr; v54 = vic; v55 = vs; - v56 = (*(u *)((vn) + (32UL))) - (2UL); - v57 = ((u (*)())(v53))(v54, v55, v56); -b11: va = v57; + v56 = *(u*)(vn + 32) - 2; + v57 = ((u(*)())v53)(v54, v55, v56); + va = v57; v58 = (u)zmkirarg; v59 = vic; - v60 = 1UL; + v60 = 1; v61 = va; - v62 = ((u (*)())(v58))(v59, v60, v61); -b12: vo = v62; + v62 = ((u(*)())v58)(v59, v60, v61); + vo = v62; v63 = (u)ziraddop; v64 = vic; v65 = vo; - v66 = ((u (*)())(v63))(v64, v65); -b13: v67 = (u)zmkirfuncref; + v66 = ((u(*)())v63)(v64, v65); + v67 = (u)zmkirfuncref; v68 = vic; v69 = (u)"literal"; - v70 = ((u (*)())(v67))(v68, v69); -b14: va = v70; + v70 = ((u(*)())v67)(v68, v69); + va = v70; v71 = (u)zircall; v72 = vic; v73 = va; - v74 = 2UL; - v75 = ((u (*)())(v71))(v72, v73, v74); -b15: va = vret; + v74 = 2; + v75 = ((u(*)())v71)(v72, v73, v74); + va = vret; v76 = (u)zmkirconst; v77 = vic; - v78 = 0UL; - v79 = ((u (*)())(v76))(v77, v78); -b16: vb = v79; + v78 = 0; + v79 = ((u(*)())v76)(v77, v78); + vb = v79; v80 = (u)zmkirop; v81 = vic; - v82 = 22UL; + v82 = 22; v83 = va; v84 = vb; - v85 = ((u (*)())(v80))(v81, v82, v83, v84); -b17: vo = v85; + v85 = ((u(*)())v80)(v81, v82, v83, v84); + vo = v85; v86 = (u)zirbranch; v87 = vic; v88 = vo; v89 = vfail; v90 = vnext; - v91 = ((u (*)())(v86))(v87, v88, v89, v90); -b18: return 0UL; + v91 = ((u(*)())v86)(v87, v88, v89, v90); + return 0; } -u ztranslate_pattern(u vc, u vic, u vfail, u vn) { +u ztranslate_pattern(u vc, u vic, u vfail, u vn){ u vcount = 0; u vlook = 0; u vd = 0; @@ -33318,657 +32701,651 @@ u ztranslate_pattern(u vc, u vic, u vfail, u vn) { u v535 = 0; u v536 = 0; u v537 = 0; -b0: goto b2; -b2: if ((*(u *)(vn)) != (93UL)) { goto b6; } -b5: vd = *(u *)((vn) + (16UL)); - if (!(*(u *)((vd) + (8UL)))) { goto b11; } -b10: v14 = 0UL; - goto b12; -b12: if (!(v14)) { goto b9; } -b8: v15 = (u)ztranslate_pattern; +b2: if (*(u*)vn != 93) goto b6; + vd = *(u*)(vn + 16); + if (!*(u*)(vd + 8)) goto b11; + v14 = 0; +b12: if (!v14) goto b9; + v15 = (u)ztranslate_pattern; v16 = vc; v17 = vic; v18 = vfail; v19 = vd; - v20 = ((u (*)())(v15))(v16, v17, v18, v19); -b3: return 0UL; + v20 = ((u(*)())v15)(v16, v17, v18, v19); +b3: return 0; b9: v21 = (u)zmkirblock; v22 = vic; - v23 = ((u (*)())(v21))(v22); -b14: vnext = v23; + v23 = ((u(*)())v21)(v22); + vnext = v23; v24 = (u)zmkirblock; v25 = vic; - v26 = ((u (*)())(v24))(v25); -b15: vout = v26; + v26 = ((u(*)())v24)(v25); + vout = v26; v27 = (u)zirjump; v28 = vic; v29 = vnext; v30 = vnext; - v31 = ((u (*)())(v27))(v28, v29, v30); -b17: if (!(vd)) { goto b23; } -b22: v32 = 0UL; - goto b24; -b24: if (!(v32)) { goto b19; } -b18: v69 = (u)zmkirvarop; + v31 = ((u(*)())v27)(v28, v29, v30); +b17: if (!vd) goto b23; + v32 = 0; +b24: if (!v32) goto b19; + v69 = (u)zmkirvarop; v70 = vic; v71 = (u)"c"; - v72 = ((u (*)())(v69))(v70, v71); -b33: va = v72; + v72 = ((u(*)())v69)(v70, v71); + va = v72; v73 = (u)zmkirarg; v74 = vic; - v75 = 0UL; + v75 = 0; v76 = va; - v77 = ((u (*)())(v73))(v74, v75, v76); -b34: vo = v77; + v77 = ((u(*)())v73)(v74, v75, v76); + vo = v77; v78 = (u)ziraddop; v79 = vic; v80 = vo; - v81 = ((u (*)())(v78))(v79, v80); -b35: v82 = (u)zmkirfuncref; + v81 = ((u(*)())v78)(v79, v80); + v82 = (u)zmkirfuncref; v83 = vic; v84 = (u)"fail"; - v85 = ((u (*)())(v82))(v83, v84); -b36: va = v85; + v85 = ((u(*)())v82)(v83, v84); + va = v85; v86 = (u)zircall; v87 = vic; v88 = va; - v89 = 1UL; - v90 = ((u (*)())(v86))(v87, v88, v89); -b37: v91 = (u)zirjump; + v89 = 1; + v90 = ((u(*)())v86)(v87, v88, v89); + v91 = (u)zirjump; v92 = vic; v93 = vfail; v94 = vout; - v95 = ((u (*)())(v91))(v92, v93, v94); -b38: v96 = (u)zmkirvarop; + v95 = ((u(*)())v91)(v92, v93, v94); + v96 = (u)zmkirvarop; v97 = vic; v98 = (u)"c"; - v99 = ((u (*)())(v96))(v97, v98); -b39: va = v99; + v99 = ((u(*)())v96)(v97, v98); + va = v99; v100 = (u)zmkirarg; v101 = vic; - v102 = 0UL; + v102 = 0; v103 = va; - v104 = ((u (*)())(v100))(v101, v102, v103); -b40: vo = v104; + v104 = ((u(*)())v100)(v101, v102, v103); + vo = v104; v105 = (u)ziraddop; v106 = vic; v107 = vo; - v108 = ((u (*)())(v105))(v106, v107); -b41: v109 = (u)zmkirfuncref; + v108 = ((u(*)())v105)(v106, v107); + v109 = (u)zmkirfuncref; v110 = vic; v111 = (u)"commit"; - v112 = ((u (*)())(v109))(v110, v111); -b42: va = v112; + v112 = ((u(*)())v109)(v110, v111); + va = v112; v113 = (u)zircall; v114 = vic; v115 = va; - v116 = 1UL; - v117 = ((u (*)())(v113))(v114, v115, v116); + v116 = 1; + v117 = ((u(*)())v113)(v114, v115, v116); goto b3; b19: v33 = (u)zmkirblock; v34 = vic; - v35 = ((u (*)())(v33))(v34); -b25: vnext = v35; + v35 = ((u(*)())v33)(v34); + vnext = v35; v36 = (u)zmkirvarop; v37 = vic; v38 = (u)"c"; - v39 = ((u (*)())(v36))(v37, v38); -b26: va = v39; + v39 = ((u(*)())v36)(v37, v38); + va = v39; v40 = (u)zmkirarg; v41 = vic; - v42 = 0UL; + v42 = 0; v43 = va; - v44 = ((u (*)())(v40))(v41, v42, v43); -b27: vo = v44; + v44 = ((u(*)())v40)(v41, v42, v43); + vo = v44; v45 = (u)ziraddop; v46 = vic; v47 = vo; - v48 = ((u (*)())(v45))(v46, v47); -b28: v49 = (u)zmkirfuncref; + v48 = ((u(*)())v45)(v46, v47); + v49 = (u)zmkirfuncref; v50 = vic; v51 = (u)"choice"; - v52 = ((u (*)())(v49))(v50, v51); -b29: va = v52; + v52 = ((u(*)())v49)(v50, v51); + va = v52; v53 = (u)zircall; v54 = vic; v55 = va; - v56 = 1UL; - v57 = ((u (*)())(v53))(v54, v55, v56); -b30: v58 = (u)ztranslate_pattern; + v56 = 1; + v57 = ((u(*)())v53)(v54, v55, v56); + v58 = (u)ztranslate_pattern; v59 = vc; v60 = vic; v61 = vnext; v62 = vd; - v63 = ((u (*)())(v58))(v59, v60, v61, v62); -b31: v64 = (u)zirjump; + v63 = ((u(*)())v58)(v59, v60, v61, v62); + v64 = (u)zirjump; v65 = vic; v66 = vout; v67 = vnext; - v68 = ((u (*)())(v64))(v65, v66, v67); -b32: vd = *(u *)((vd) + (8UL)); + v68 = ((u(*)())v64)(v65, v66, v67); + vd = *(u*)(vd + 8); goto b17; -b23: v32 = 1UL; +b23: v32 = 1; goto b24; -b11: v14 = 1UL; +b11: v14 = 1; goto b12; -b6: if ((*(u *)(vn)) != (94UL)) { goto b45; } -b44: vd = *(u *)((vn) + (16UL)); +b6: if (*(u*)vn != 94) goto b45; + vd = *(u*)(vn + 16); v118 = (u)ztranslate_pattern; v119 = vc; v120 = vic; v121 = vfail; v122 = vd; - v123 = ((u (*)())(v118))(v119, v120, v121, v122); -b46: vd = *(u *)((vd) + (8UL)); - goto b47; -b47: if (!(vd)) { goto b53; } -b52: v124 = 0UL; - goto b54; -b54: if (!(v124)) { goto b49; } + v123 = ((u(*)())v118)(v119, v120, v121, v122); + vd = *(u*)(vd + 8); +b47: if (!vd) goto b53; + v124 = 0; +b54: if (!v124) goto b49; goto b3; b49: v125 = (u)ztranslate_pattern; v126 = vc; v127 = vic; v128 = vfail; v129 = vd; - v130 = ((u (*)())(v125))(v126, v127, v128, v129); -b55: vd = *(u *)((vd) + (8UL)); + v130 = ((u(*)())v125)(v126, v127, v128, v129); + vd = *(u*)(vd + 8); goto b47; -b53: v124 = 1UL; +b53: v124 = 1; goto b54; -b45: if ((*(u *)(vn)) != (96UL)) { goto b57; } -b56: v131 = (u)zdecode_look; +b45: if (*(u*)vn != 96) goto b57; + v131 = (u)zdecode_look; v132 = vn; - v133 = ((u (*)())(v131))(v132); -b58: vlook = v133; - vd = *(u *)((vn) + (16UL)); - if ((*(u *)(vd)) != (95UL)) { goto b59; } -b60: vd = *(u *)((vd) + (8UL)); - goto b59; -b59: if ((vlook) != (2UL)) { goto b64; } -b63: v134 = (u)zmkirblock; + v133 = ((u(*)())v131)(v132); + vlook = v133; + vd = *(u*)(vn + 16); + if (*(u*)vd != 95) goto b59; + vd = *(u*)(vd + 8); +b59: if (vlook != 2) goto b64; + v134 = (u)zmkirblock; v135 = vic; - v136 = ((u (*)())(v134))(v135); -b65: vout = v136; + v136 = ((u(*)())v134)(v135); + vout = v136; v137 = (u)zmkirblock; v138 = vic; - v139 = ((u (*)())(v137))(v138); -b66: vnext = v139; + v139 = ((u(*)())v137)(v138); + vnext = v139; v140 = (u)zmkirvarop; v141 = vic; v142 = (u)"c"; - v143 = ((u (*)())(v140))(v141, v142); -b67: va = v143; + v143 = ((u(*)())v140)(v141, v142); + va = v143; v144 = (u)zmkirarg; v145 = vic; - v146 = 0UL; + v146 = 0; v147 = va; - v148 = ((u (*)())(v144))(v145, v146, v147); -b68: vo = v148; + v148 = ((u(*)())v144)(v145, v146, v147); + vo = v148; v149 = (u)ziraddop; v150 = vic; v151 = vo; - v152 = ((u (*)())(v149))(v150, v151); -b69: v153 = (u)zmkirfuncref; + v152 = ((u(*)())v149)(v150, v151); + v153 = (u)zmkirfuncref; v154 = vic; v155 = (u)"choice"; - v156 = ((u (*)())(v153))(v154, v155); -b70: va = v156; + v156 = ((u(*)())v153)(v154, v155); + va = v156; v157 = (u)zircall; v158 = vic; v159 = va; - v160 = 1UL; - v161 = ((u (*)())(v157))(v158, v159, v160); -b71: v162 = (u)ztranslate_pattern; + v160 = 1; + v161 = ((u(*)())v157)(v158, v159, v160); + v162 = (u)ztranslate_pattern; v163 = vc; v164 = vic; v165 = vnext; v166 = vd; - v167 = ((u (*)())(v162))(v163, v164, v165, v166); -b72: v168 = (u)zmkirvarop; + v167 = ((u(*)())v162)(v163, v164, v165, v166); + v168 = (u)zmkirvarop; v169 = vic; v170 = (u)"c"; - v171 = ((u (*)())(v168))(v169, v170); -b73: va = v171; + v171 = ((u(*)())v168)(v169, v170); + va = v171; v172 = (u)zmkirarg; v173 = vic; - v174 = 0UL; + v174 = 0; v175 = va; - v176 = ((u (*)())(v172))(v173, v174, v175); -b74: vo = v176; + v176 = ((u(*)())v172)(v173, v174, v175); + vo = v176; v177 = (u)ziraddop; v178 = vic; v179 = vo; - v180 = ((u (*)())(v177))(v178, v179); -b75: v181 = (u)zmkirfuncref; + v180 = ((u(*)())v177)(v178, v179); + v181 = (u)zmkirfuncref; v182 = vic; v183 = (u)"fail"; - v184 = ((u (*)())(v181))(v182, v183); -b76: va = v184; + v184 = ((u(*)())v181)(v182, v183); + va = v184; v185 = (u)zircall; v186 = vic; v187 = va; - v188 = 1UL; - v189 = ((u (*)())(v185))(v186, v187, v188); -b77: v190 = (u)zirjump; + v188 = 1; + v189 = ((u(*)())v185)(v186, v187, v188); + v190 = (u)zirjump; v191 = vic; v192 = vout; v193 = vnext; - v194 = ((u (*)())(v190))(v191, v192, v193); -b78: v195 = (u)zmkirvarop; + v194 = ((u(*)())v190)(v191, v192, v193); + v195 = (u)zmkirvarop; v196 = vic; v197 = (u)"c"; - v198 = ((u (*)())(v195))(v196, v197); -b79: va = v198; + v198 = ((u(*)())v195)(v196, v197); + va = v198; v199 = (u)zmkirarg; v200 = vic; - v201 = 0UL; + v201 = 0; v202 = va; - v203 = ((u (*)())(v199))(v200, v201, v202); -b80: vo = v203; + v203 = ((u(*)())v199)(v200, v201, v202); + vo = v203; v204 = (u)ziraddop; v205 = vic; v206 = vo; - v207 = ((u (*)())(v204))(v205, v206); -b81: v208 = (u)zmkirfuncref; + v207 = ((u(*)())v204)(v205, v206); + v208 = (u)zmkirfuncref; v209 = vic; v210 = (u)"fail"; - v211 = ((u (*)())(v208))(v209, v210); -b82: va = v211; + v211 = ((u(*)())v208)(v209, v210); + va = v211; v212 = (u)zircall; v213 = vic; v214 = va; - v215 = 1UL; - v216 = ((u (*)())(v212))(v213, v214, v215); -b83: v217 = (u)zirjump; + v215 = 1; + v216 = ((u(*)())v212)(v213, v214, v215); + v217 = (u)zirjump; v218 = vic; v219 = vfail; v220 = vout; - v221 = ((u (*)())(v217))(v218, v219, v220); + v221 = ((u(*)())v217)(v218, v219, v220); goto b3; -b64: if ((vlook) != (1UL)) { goto b86; } -b85: v222 = (u)zmkirblock; +b64: if (vlook != 1) goto b86; + v222 = (u)zmkirblock; v223 = vic; - v224 = ((u (*)())(v222))(v223); -b87: vout = v224; + v224 = ((u(*)())v222)(v223); + vout = v224; v225 = (u)zmkirvarop; v226 = vic; v227 = (u)"c"; - v228 = ((u (*)())(v225))(v226, v227); -b88: va = v228; + v228 = ((u(*)())v225)(v226, v227); + va = v228; v229 = (u)zmkirarg; v230 = vic; - v231 = 0UL; + v231 = 0; v232 = va; - v233 = ((u (*)())(v229))(v230, v231, v232); -b89: vo = v233; + v233 = ((u(*)())v229)(v230, v231, v232); + vo = v233; v234 = (u)ziraddop; v235 = vic; v236 = vo; - v237 = ((u (*)())(v234))(v235, v236); -b90: v238 = (u)zmkirfuncref; + v237 = ((u(*)())v234)(v235, v236); + v238 = (u)zmkirfuncref; v239 = vic; v240 = (u)"choice"; - v241 = ((u (*)())(v238))(v239, v240); -b91: va = v241; + v241 = ((u(*)())v238)(v239, v240); + va = v241; v242 = (u)zircall; v243 = vic; v244 = va; - v245 = 1UL; - v246 = ((u (*)())(v242))(v243, v244, v245); -b92: v247 = (u)ztranslate_pattern; + v245 = 1; + v246 = ((u(*)())v242)(v243, v244, v245); + v247 = (u)ztranslate_pattern; v248 = vc; v249 = vic; v250 = vout; v251 = vd; - v252 = ((u (*)())(v247))(v248, v249, v250, v251); -b93: v253 = (u)zmkirvarop; + v252 = ((u(*)())v247)(v248, v249, v250, v251); + v253 = (u)zmkirvarop; v254 = vic; v255 = (u)"c"; - v256 = ((u (*)())(v253))(v254, v255); -b94: va = v256; + v256 = ((u(*)())v253)(v254, v255); + va = v256; v257 = (u)zmkirarg; v258 = vic; - v259 = 0UL; + v259 = 0; v260 = va; - v261 = ((u (*)())(v257))(v258, v259, v260); -b95: vo = v261; + v261 = ((u(*)())v257)(v258, v259, v260); + vo = v261; v262 = (u)ziraddop; v263 = vic; v264 = vo; - v265 = ((u (*)())(v262))(v263, v264); -b96: v266 = (u)zmkirfuncref; + v265 = ((u(*)())v262)(v263, v264); + v266 = (u)zmkirfuncref; v267 = vic; v268 = (u)"fail"; - v269 = ((u (*)())(v266))(v267, v268); -b97: va = v269; + v269 = ((u(*)())v266)(v267, v268); + va = v269; v270 = (u)zircall; v271 = vic; v272 = va; - v273 = 1UL; - v274 = ((u (*)())(v270))(v271, v272, v273); -b98: v275 = (u)zmkirvarop; + v273 = 1; + v274 = ((u(*)())v270)(v271, v272, v273); + v275 = (u)zmkirvarop; v276 = vic; v277 = (u)"c"; - v278 = ((u (*)())(v275))(v276, v277); -b99: va = v278; + v278 = ((u(*)())v275)(v276, v277); + va = v278; v279 = (u)zmkirarg; v280 = vic; - v281 = 0UL; + v281 = 0; v282 = va; - v283 = ((u (*)())(v279))(v280, v281, v282); -b100: vo = v283; + v283 = ((u(*)())v279)(v280, v281, v282); + vo = v283; v284 = (u)ziraddop; v285 = vic; v286 = vo; - v287 = ((u (*)())(v284))(v285, v286); -b101: v288 = (u)zmkirfuncref; + v287 = ((u(*)())v284)(v285, v286); + v288 = (u)zmkirfuncref; v289 = vic; v290 = (u)"fail"; - v291 = ((u (*)())(v288))(v289, v290); -b102: va = v291; + v291 = ((u(*)())v288)(v289, v290); + va = v291; v292 = (u)zircall; v293 = vic; v294 = va; - v295 = 1UL; - v296 = ((u (*)())(v292))(v293, v294, v295); -b103: v297 = (u)zirjump; + v295 = 1; + v296 = ((u(*)())v292)(v293, v294, v295); + v297 = (u)zirjump; v298 = vic; v299 = vfail; v300 = vout; - v301 = ((u (*)())(v297))(v298, v299, v300); + v301 = ((u(*)())v297)(v298, v299, v300); goto b3; -b86: if ((vlook) != (0UL)) { goto b106; } -b105: v302 = (u)ztranslate_pattern; +b86: if (vlook != 0) goto b106; + v302 = (u)ztranslate_pattern; v303 = vc; v304 = vic; v305 = vfail; v306 = vd; - v307 = ((u (*)())(v302))(v303, v304, v305, v306); + v307 = ((u(*)())v302)(v303, v304, v305, v306); goto b3; b106: v308 = (u)zdie; v309 = (u)"invalid lookop"; - v310 = ((u (*)())(v308))(v309); + v310 = ((u(*)())v308)(v309); goto b3; -b57: if ((*(u *)(vn)) != (98UL)) { goto b110; } -b109: v311 = (u)zdecode_count; +b57: if (*(u*)vn != 98) goto b110; + v311 = (u)zdecode_count; v312 = vn; - v313 = ((u (*)())(v311))(v312); -b111: vcount = v313; - if ((vcount) != (0UL)) { goto b114; } -b113: v314 = (u)zmkirvarop; + v313 = ((u(*)())v311)(v312); + vcount = v313; + if (vcount != 0) goto b114; + v314 = (u)zmkirvarop; v315 = vic; v316 = (u)"c"; - v317 = ((u (*)())(v314))(v315, v316); -b115: va = v317; + v317 = ((u(*)())v314)(v315, v316); + va = v317; v318 = (u)zmkirarg; v319 = vic; - v320 = 0UL; + v320 = 0; v321 = va; - v322 = ((u (*)())(v318))(v319, v320, v321); -b116: vo = v322; + v322 = ((u(*)())v318)(v319, v320, v321); + vo = v322; v323 = (u)ziraddop; v324 = vic; v325 = vo; - v326 = ((u (*)())(v323))(v324, v325); -b117: v327 = (u)zmkirfuncref; + v326 = ((u(*)())v323)(v324, v325); + v327 = (u)zmkirfuncref; v328 = vic; v329 = (u)"choice"; - v330 = ((u (*)())(v327))(v328, v329); -b118: va = v330; + v330 = ((u(*)())v327)(v328, v329); + va = v330; v331 = (u)zircall; v332 = vic; v333 = va; - v334 = 1UL; - v335 = ((u (*)())(v331))(v332, v333, v334); -b119: v336 = (u)zmkirblock; + v334 = 1; + v335 = ((u(*)())v331)(v332, v333, v334); + v336 = (u)zmkirblock; v337 = vic; - v338 = ((u (*)())(v336))(v337); -b120: vout = v338; + v338 = ((u(*)())v336)(v337); + vout = v338; v339 = (u)ztranslate_pattern; v340 = vc; v341 = vic; v342 = vout; - v343 = *(u *)((vn) + (16UL)); - v344 = ((u (*)())(v339))(v340, v341, v342, v343); -b121: v345 = (u)zmkirvarop; + v343 = *(u*)(vn + 16); + v344 = ((u(*)())v339)(v340, v341, v342, v343); + v345 = (u)zmkirvarop; v346 = vic; v347 = (u)"c"; - v348 = ((u (*)())(v345))(v346, v347); -b122: va = v348; + v348 = ((u(*)())v345)(v346, v347); + va = v348; v349 = (u)zmkirarg; v350 = vic; - v351 = 0UL; + v351 = 0; v352 = va; - v353 = ((u (*)())(v349))(v350, v351, v352); -b123: vo = v353; + v353 = ((u(*)())v349)(v350, v351, v352); + vo = v353; v354 = (u)ziraddop; v355 = vic; v356 = vo; - v357 = ((u (*)())(v354))(v355, v356); -b124: v358 = (u)zmkirfuncref; + v357 = ((u(*)())v354)(v355, v356); + v358 = (u)zmkirfuncref; v359 = vic; v360 = (u)"commit"; - v361 = ((u (*)())(v358))(v359, v360); -b125: va = v361; + v361 = ((u(*)())v358)(v359, v360); + va = v361; v362 = (u)zircall; v363 = vic; v364 = va; - v365 = 1UL; - v366 = ((u (*)())(v362))(v363, v364, v365); -b126: v367 = (u)zirjump; + v365 = 1; + v366 = ((u(*)())v362)(v363, v364, v365); + v367 = (u)zirjump; v368 = vic; v369 = vout; v370 = vout; - v371 = ((u (*)())(v367))(v368, v369, v370); + v371 = ((u(*)())v367)(v368, v369, v370); goto b3; -b114: if ((vcount) != (1UL)) { goto b129; } -b128: v372 = (u)ztranslate_pattern; +b114: if (vcount != 1) goto b129; + v372 = (u)ztranslate_pattern; v373 = vc; v374 = vic; v375 = vfail; - v376 = *(u *)((vn) + (16UL)); - v377 = ((u (*)())(v372))(v373, v374, v375, v376); + v376 = *(u*)(vn + 16); + v377 = ((u(*)())v372)(v373, v374, v375, v376); goto b3; -b129: if ((vcount) != (2UL)) { goto b132; } +b129: if (vcount != 2) goto b132; b1: v378 = (u)zmkirblock; v379 = vic; - v380 = ((u (*)())(v378))(v379); -b133: vnext = v380; + v380 = ((u(*)())v378)(v379); + vnext = v380; v381 = (u)zmkirblock; v382 = vic; - v383 = ((u (*)())(v381))(v382); -b134: vout = v383; + v383 = ((u(*)())v381)(v382); + vout = v383; v384 = (u)zirjump; v385 = vic; v386 = vnext; v387 = vnext; - v388 = ((u (*)())(v384))(v385, v386, v387); -b135: v389 = (u)zmkirvarop; + v388 = ((u(*)())v384)(v385, v386, v387); + v389 = (u)zmkirvarop; v390 = vic; v391 = (u)"c"; - v392 = ((u (*)())(v389))(v390, v391); -b136: va = v392; + v392 = ((u(*)())v389)(v390, v391); + va = v392; v393 = (u)zmkirarg; v394 = vic; - v395 = 0UL; + v395 = 0; v396 = va; - v397 = ((u (*)())(v393))(v394, v395, v396); -b137: vo = v397; + v397 = ((u(*)())v393)(v394, v395, v396); + vo = v397; v398 = (u)ziraddop; v399 = vic; v400 = vo; - v401 = ((u (*)())(v398))(v399, v400); -b138: v402 = (u)zmkirfuncref; + v401 = ((u(*)())v398)(v399, v400); + v402 = (u)zmkirfuncref; v403 = vic; v404 = (u)"choice"; - v405 = ((u (*)())(v402))(v403, v404); -b139: va = v405; + v405 = ((u(*)())v402)(v403, v404); + va = v405; v406 = (u)zircall; v407 = vic; v408 = va; - v409 = 1UL; - v410 = ((u (*)())(v406))(v407, v408, v409); -b140: v411 = (u)ztranslate_pattern; + v409 = 1; + v410 = ((u(*)())v406)(v407, v408, v409); + v411 = (u)ztranslate_pattern; v412 = vc; v413 = vic; v414 = vout; - v415 = *(u *)((vn) + (16UL)); - v416 = ((u (*)())(v411))(v412, v413, v414, v415); -b141: v417 = (u)zmkirvarop; + v415 = *(u*)(vn + 16); + v416 = ((u(*)())v411)(v412, v413, v414, v415); + v417 = (u)zmkirvarop; v418 = vic; v419 = (u)"c"; - v420 = ((u (*)())(v417))(v418, v419); -b142: va = v420; + v420 = ((u(*)())v417)(v418, v419); + va = v420; v421 = (u)zmkirarg; v422 = vic; - v423 = 0UL; + v423 = 0; v424 = va; - v425 = ((u (*)())(v421))(v422, v423, v424); -b143: vo = v425; + v425 = ((u(*)())v421)(v422, v423, v424); + vo = v425; v426 = (u)ziraddop; v427 = vic; v428 = vo; - v429 = ((u (*)())(v426))(v427, v428); -b144: v430 = (u)zmkirfuncref; + v429 = ((u(*)())v426)(v427, v428); + v430 = (u)zmkirfuncref; v431 = vic; v432 = (u)"commit"; - v433 = ((u (*)())(v430))(v431, v432); -b145: va = v433; + v433 = ((u(*)())v430)(v431, v432); + va = v433; v434 = (u)zircall; v435 = vic; v436 = va; - v437 = 1UL; - v438 = ((u (*)())(v434))(v435, v436, v437); -b146: v439 = (u)zirjump; + v437 = 1; + v438 = ((u(*)())v434)(v435, v436, v437); + v439 = (u)zirjump; v440 = vic; v441 = vnext; v442 = vout; - v443 = ((u (*)())(v439))(v440, v441, v442); + v443 = ((u(*)())v439)(v440, v441, v442); goto b3; -b132: if ((vcount) != (3UL)) { goto b149; } -b148: v444 = (u)ztranslate_pattern; +b132: if (vcount != 3) goto b149; + v444 = (u)ztranslate_pattern; v445 = vc; v446 = vic; v447 = vfail; - v448 = *(u *)((vn) + (16UL)); - v449 = ((u (*)())(v444))(v445, v446, v447, v448); + v448 = *(u*)(vn + 16); + v449 = ((u(*)())v444)(v445, v446, v447, v448); goto b1; b149: v450 = (u)zdie; v451 = (u)"invalid countop"; - v452 = ((u (*)())(v450))(v451); + v452 = ((u(*)())v450)(v451); goto b3; -b110: if ((*(u *)(vn)) != (99UL)) { goto b153; } -b152: v453 = (u)ztranslate_pattern; +b110: if (*(u*)vn != 99) goto b153; + v453 = (u)ztranslate_pattern; v454 = vc; v455 = vic; v456 = vfail; - v457 = *(u *)((vn) + (16UL)); - v458 = ((u (*)())(v453))(v454, v455, v456, v457); + v457 = *(u*)(vn + 16); + v458 = ((u(*)())v453)(v454, v455, v456, v457); goto b3; -b153: if ((*(u *)(vn)) != (100UL)) { goto b156; } -b155: v459 = (u)zmkirblock; +b153: if (*(u*)vn != 100) goto b156; + v459 = (u)zmkirblock; v460 = vic; - v461 = ((u (*)())(v459))(v460); -b157: vnext = v461; + v461 = ((u(*)())v459)(v460); + vnext = v461; v462 = (u)zmktype0; - v463 = *(u *)((vc) + (16UL)); - v464 = 2UL; - v465 = ((u (*)())(v462))(v463, v464); -b158: vt = v465; + v463 = *(u*)(vc + 16); + v464 = 2; + v465 = ((u(*)())v462)(v463, v464); + vt = v465; v466 = (u)zmkirtmp; v467 = vic; v468 = vt; - v469 = ((u (*)())(v466))(v467, v468); -b159: vret = v469; + v469 = ((u(*)())v466)(v467, v468); + vret = v469; v470 = (u)zmkirvarop; v471 = vic; v472 = (u)"c"; - v473 = ((u (*)())(v470))(v471, v472); -b160: va = v473; + v473 = ((u(*)())v470)(v471, v472); + va = v473; v474 = (u)zmkirarg; v475 = vic; - v476 = 0UL; + v476 = 0; v477 = va; - v478 = ((u (*)())(v474))(v475, v476, v477); -b161: vo = v478; + v478 = ((u(*)())v474)(v475, v476, v477); + vo = v478; v479 = (u)ziraddop; v480 = vic; v481 = vo; - v482 = ((u (*)())(v479))(v480, v481); -b162: v483 = (u)zmkirretval; + v482 = ((u(*)())v479)(v480, v481); + v483 = (u)zmkirretval; v484 = vic; v485 = vret; v486 = vt; - v487 = ((u (*)())(v483))(v484, v485, v486); -b163: vo = v487; + v487 = ((u(*)())v483)(v484, v485, v486); + vo = v487; v488 = (u)ziraddop; v489 = vic; v490 = vo; - v491 = ((u (*)())(v488))(v489, v490); -b164: v492 = (u)zmkirfuncref; + v491 = ((u(*)())v488)(v489, v490); + v492 = (u)zmkirfuncref; v493 = vic; v494 = (u)"any"; - v495 = ((u (*)())(v492))(v493, v494); -b165: va = v495; + v495 = ((u(*)())v492)(v493, v494); + va = v495; v496 = (u)zircall; v497 = vic; v498 = va; - v499 = 1UL; - v500 = ((u (*)())(v496))(v497, v498, v499); -b166: va = vret; + v499 = 1; + v500 = ((u(*)())v496)(v497, v498, v499); + va = vret; v501 = (u)zmkirconst; v502 = vic; - v503 = 0UL; - v504 = ((u (*)())(v501))(v502, v503); -b167: vb = v504; + v503 = 0; + v504 = ((u(*)())v501)(v502, v503); + vb = v504; v505 = (u)zmkirop; v506 = vic; - v507 = 22UL; + v507 = 22; v508 = va; v509 = vb; - v510 = ((u (*)())(v505))(v506, v507, v508, v509); -b168: vo = v510; + v510 = ((u(*)())v505)(v506, v507, v508, v509); + vo = v510; v511 = (u)zirbranch; v512 = vic; v513 = vo; v514 = vfail; v515 = vnext; - v516 = ((u (*)())(v511))(v512, v513, v514, v515); + v516 = ((u(*)())v511)(v512, v513, v514, v515); goto b3; -b156: if ((*(u *)(vn)) != (101UL)) { goto b171; } -b170: v517 = (u)ztranslate_literal; +b156: if (*(u*)vn != 101) goto b171; + v517 = (u)ztranslate_literal; v518 = vc; v519 = vic; v520 = vfail; v521 = vn; - v522 = ((u (*)())(v517))(v518, v519, v520, v521); + v522 = ((u(*)())v517)(v518, v519, v520, v521); goto b3; -b171: if ((*(u *)(vn)) != (102UL)) { goto b174; } -b173: v523 = (u)ztranslate_charset; +b171: if (*(u*)vn != 102) goto b174; + v523 = (u)ztranslate_charset; v524 = vc; v525 = vic; v526 = vfail; v527 = vn; - v528 = ((u (*)())(v523))(v524, v525, v526, v527); + v528 = ((u(*)())v523)(v524, v525, v526, v527); goto b3; -b174: if ((*(u *)(vn)) != (103UL)) { goto b177; } -b176: v529 = (u)ztranslate_call; +b174: if (*(u*)vn != 103) goto b177; + v529 = (u)ztranslate_call; v530 = vc; v531 = vic; v532 = vfail; v533 = vn; - v534 = ((u (*)())(v529))(v530, v531, v532, v533); + v534 = ((u(*)())v529)(v530, v531, v532, v533); goto b3; -b177: if ((*(u *)(vn)) != (89UL)) { goto b180; } -b179: vn = *(u *)((vn) + (8UL)); +b177: if (*(u*)vn != 89) goto b180; + vn = *(u*)(vn + 8); goto b2; b180: v535 = (u)zdie; v536 = (u)"invalid tag"; - v537 = ((u (*)())(v535))(v536); + v537 = ((u(*)())v535)(v536); goto b3; } -u ztranslate_rule(u vc, u vi, u vtag, u vv) { +u ztranslate_rule(u vc, u vi, u vtag, u vv){ u vd = 0; u varg1_type = 0; u vargs_type = 0; @@ -34164,219 +33541,219 @@ u ztranslate_rule(u vc, u vi, u vtag, u vv) { u v198 = 0; u v199 = 0; u v200 = 0; -b0: v18 = (u)zstrlen; + v18 = (u)zstrlen; v19 = vtag; - v20 = ((u (*)())(v18))(v19); -b1: vtag_len = v20; - vname_len = (vtag_len) + (4UL); + v20 = ((u(*)())v18)(v19); + vtag_len = v20; + vname_len = vtag_len + 4; v21 = (u)zalloc; - v22 = *(u *)(vc); - v23 = (vname_len) + (1UL); - v24 = ((u (*)())(v21))(v22, v23); -b2: vname = v24; + v22 = *(u*)vc; + v23 = vname_len + 1; + v24 = ((u(*)())v21)(v22, v23); + vname = v24; v25 = (u)zmemcpy; v26 = vname; v27 = (u)"peg_"; - v28 = 4UL; - v29 = ((u (*)())(v25))(v26, v27, v28); -b3: v30 = (u)zmemcpy; - v31 = (vname) + (4UL); + v28 = 4; + v29 = ((u(*)())v25)(v26, v27, v28); + v30 = (u)zmemcpy; + v31 = vname + 4; v32 = vtag; v33 = vtag_len; - v34 = ((u (*)())(v30))(v31, v32, v33); -b4: *(b *)((vname) + (vname_len)) = 0UL; + v34 = ((u(*)())v30)(v31, v32, v33); + *(b*)(vname + vname_len) = 0; v35 = (u)zfind; - v36 = *(u *)((vc) + (16UL)); + v36 = *(u*)(vc + 16); v37 = (u)"peg"; - v38 = 0UL; - v39 = 1UL; - v40 = ((u (*)())(v35))(v36, v37, v38, v39); -b5: vd = v40; + v38 = 0; + v39 = 1; + v40 = ((u(*)())v35)(v36, v37, v38, v39); + vd = v40; v41 = (u)zmktype_struct; - v42 = *(u *)((vc) + (16UL)); + v42 = *(u*)(vc + 16); v43 = vd; - v44 = ((u (*)())(v41))(v42, v43); -b6: varg1_type = v44; + v44 = ((u(*)())v41)(v42, v43); + varg1_type = v44; v45 = (u)zmktype1; - v46 = *(u *)((vc) + (16UL)); - v47 = 4UL; + v46 = *(u*)(vc + 16); + v47 = 4; v48 = varg1_type; - v49 = ((u (*)())(v45))(v46, v47, v48); -b7: varg1_type = v49; + v49 = ((u(*)())v45)(v46, v47, v48); + varg1_type = v49; v50 = (u)zmktype1; - v51 = *(u *)((vc) + (16UL)); - v52 = 5UL; + v51 = *(u*)(vc + 16); + v52 = 5; v53 = varg1_type; - v54 = ((u (*)())(v50))(v51, v52, v53); -b8: vargs_type = v54; + v54 = ((u(*)())v50)(v51, v52, v53); + vargs_type = v54; v55 = (u)zmktype0; - v56 = *(u *)((vc) + (16UL)); - v57 = 2UL; - v58 = ((u (*)())(v55))(v56, v57); -b9: vret_type = v58; + v56 = *(u*)(vc + 16); + v57 = 2; + v58 = ((u(*)())v55)(v56, v57); + vret_type = v58; v59 = (u)zmktype2; - v60 = *(u *)((vc) + (16UL)); - v61 = 6UL; + v60 = *(u*)(vc + 16); + v61 = 6; v62 = vret_type; v63 = vargs_type; - v64 = ((u (*)())(v59))(v60, v61, v62, v63); -b10: vfunc_type = v64; + v64 = ((u(*)())v59)(v60, v61, v62, v63); + vfunc_type = v64; v65 = (u)zmkirfunc; - v66 = *(u *)((vc) + (16UL)); + v66 = *(u*)(vc + 16); v67 = vname; - v68 = ((u (*)())(v65))(v66, v67); -b11: vic = v68; + v68 = ((u(*)())v65)(v66, v67); + vic = v68; v69 = (u)ziraddarg; v70 = vic; v71 = (u)"c"; v72 = varg1_type; - v73 = ((u (*)())(v69))(v70, v71, v72); -b12: v74 = (u)zmkirblock; + v73 = ((u(*)())v69)(v70, v71, v72); + v74 = (u)zmkirblock; v75 = vic; - v76 = ((u (*)())(v74))(v75); -b13: vfail = v76; + v76 = ((u(*)())v74)(v75); + vfail = v76; v77 = (u)zmkirvarop; v78 = vic; v79 = (u)"c"; - v80 = ((u (*)())(v77))(v78, v79); -b14: va = v80; + v80 = ((u(*)())v77)(v78, v79); + va = v80; v81 = (u)zmkirarg; v82 = vic; - v83 = 0UL; + v83 = 0; v84 = va; - v85 = ((u (*)())(v81))(v82, v83, v84); -b15: vo = v85; + v85 = ((u(*)())v81)(v82, v83, v84); + vo = v85; v86 = (u)ziraddop; v87 = vic; v88 = vo; - v89 = ((u (*)())(v86))(v87, v88); -b16: v90 = (u)zmkirconst; + v89 = ((u(*)())v86)(v87, v88); + v90 = (u)zmkirconst; v91 = vic; v92 = vi; - v93 = ((u (*)())(v90))(v91, v92); -b17: va = v93; + v93 = ((u(*)())v90)(v91, v92); + va = v93; v94 = (u)zmkirarg; v95 = vic; - v96 = 1UL; + v96 = 1; v97 = va; - v98 = ((u (*)())(v94))(v95, v96, v97); -b18: vo = v98; + v98 = ((u(*)())v94)(v95, v96, v97); + vo = v98; v99 = (u)ziraddop; v100 = vic; v101 = vo; - v102 = ((u (*)())(v99))(v100, v101); -b19: v103 = (u)zmkirfuncref; + v102 = ((u(*)())v99)(v100, v101); + v103 = (u)zmkirfuncref; v104 = vic; v105 = (u)"enter"; - v106 = ((u (*)())(v103))(v104, v105); -b20: va = v106; + v106 = ((u(*)())v103)(v104, v105); + va = v106; v107 = (u)zircall; v108 = vic; v109 = va; - v110 = 2UL; - v111 = ((u (*)())(v107))(v108, v109, v110); -b21: v112 = (u)ztranslate_pattern; + v110 = 2; + v111 = ((u(*)())v107)(v108, v109, v110); + v112 = (u)ztranslate_pattern; v113 = vc; v114 = vic; v115 = vfail; - v116 = *(u *)((*(u *)((vv) + (16UL))) + (8UL)); - v117 = ((u (*)())(v112))(v113, v114, v115, v116); -b22: v118 = (u)zmkirvarop; + v116 = *(u*)(*(u*)(vv + 16) + 8); + v117 = ((u(*)())v112)(v113, v114, v115, v116); + v118 = (u)zmkirvarop; v119 = vic; v120 = (u)"c"; - v121 = ((u (*)())(v118))(v119, v120); -b23: va = v121; + v121 = ((u(*)())v118)(v119, v120); + va = v121; v122 = (u)zmkirarg; v123 = vic; - v124 = 0UL; + v124 = 0; v125 = va; - v126 = ((u (*)())(v122))(v123, v124, v125); -b24: vo = v126; + v126 = ((u(*)())v122)(v123, v124, v125); + vo = v126; v127 = (u)ziraddop; v128 = vic; v129 = vo; - v130 = ((u (*)())(v127))(v128, v129); -b25: v131 = (u)zmkirconst; + v130 = ((u(*)())v127)(v128, v129); + v131 = (u)zmkirconst; v132 = vic; v133 = vi; - v134 = ((u (*)())(v131))(v132, v133); -b26: va = v134; + v134 = ((u(*)())v131)(v132, v133); + va = v134; v135 = (u)zmkirarg; v136 = vic; - v137 = 1UL; + v137 = 1; v138 = va; - v139 = ((u (*)())(v135))(v136, v137, v138); -b27: vo = v139; + v139 = ((u(*)())v135)(v136, v137, v138); + vo = v139; v140 = (u)ziraddop; v141 = vic; v142 = vo; - v143 = ((u (*)())(v140))(v141, v142); -b28: v144 = (u)zmkirfuncref; + v143 = ((u(*)())v140)(v141, v142); + v144 = (u)zmkirfuncref; v145 = vic; v146 = (u)"leave"; - v147 = ((u (*)())(v144))(v145, v146); -b29: va = v147; + v147 = ((u(*)())v144)(v145, v146); + va = v147; v148 = (u)zircall; v149 = vic; v150 = va; - v151 = 2UL; - v152 = ((u (*)())(v148))(v149, v150, v151); -b30: v153 = (u)zmkirconst; + v151 = 2; + v152 = ((u(*)())v148)(v149, v150, v151); + v153 = (u)zmkirconst; v154 = vic; - v155 = 1UL; - v156 = ((u (*)())(v153))(v154, v155); -b31: vo = v156; + v155 = 1; + v156 = ((u(*)())v153)(v154, v155); + vo = v156; v157 = (u)zirreturn; v158 = vic; v159 = vo; - v160 = ((u (*)())(v157))(v158, v159); -b32: v161 = (u)zirjump; + v160 = ((u(*)())v157)(v158, v159); + v161 = (u)zirjump; v162 = vic; v163 = vfail; v164 = vfail; - v165 = ((u (*)())(v161))(v162, v163, v164); -b33: v166 = (u)zmkirvarop; + v165 = ((u(*)())v161)(v162, v163, v164); + v166 = (u)zmkirvarop; v167 = vic; v168 = (u)"c"; - v169 = ((u (*)())(v166))(v167, v168); -b34: va = v169; + v169 = ((u(*)())v166)(v167, v168); + va = v169; v170 = (u)zmkirarg; v171 = vic; - v172 = 0UL; + v172 = 0; v173 = va; - v174 = ((u (*)())(v170))(v171, v172, v173); -b35: vo = v174; + v174 = ((u(*)())v170)(v171, v172, v173); + vo = v174; v175 = (u)ziraddop; v176 = vic; v177 = vo; - v178 = ((u (*)())(v175))(v176, v177); -b36: v179 = (u)zmkirfuncref; + v178 = ((u(*)())v175)(v176, v177); + v179 = (u)zmkirfuncref; v180 = vic; v181 = (u)"fail"; - v182 = ((u (*)())(v179))(v180, v181); -b37: va = v182; + v182 = ((u(*)())v179)(v180, v181); + va = v182; v183 = (u)zircall; v184 = vic; v185 = va; - v186 = 1UL; - v187 = ((u (*)())(v183))(v184, v185, v186); -b38: v188 = (u)zmkirconst; + v186 = 1; + v187 = ((u(*)())v183)(v184, v185, v186); + v188 = (u)zmkirconst; v189 = vic; - v190 = 0UL; - v191 = ((u (*)())(v188))(v189, v190); -b39: vo = v191; + v190 = 0; + v191 = ((u(*)())v188)(v189, v190); + vo = v191; v192 = (u)zirreturn; v193 = vic; v194 = vo; - v195 = ((u (*)())(v192))(v193, v194); -b40: v196 = (u)zdefine_ir_func; - v197 = *(u *)((vc) + (16UL)); + v195 = ((u(*)())v192)(v193, v194); + v196 = (u)zdefine_ir_func; + v197 = *(u*)(vc + 16); v198 = vic; v199 = vfunc_type; - v200 = ((u (*)())(v196))(v197, v198, v199); -b41: return 0UL; + v200 = ((u(*)())v196)(v197, v198, v199); + return 0; } -u ztranslate_rules(u vc, u vtags, u vnodes, u vnum_rules) { +u ztranslate_rules(u vc, u vtags, u vnodes, u vnum_rules){ u vi = 0; u v5 = 0; u v6 = 0; @@ -34384,20 +33761,19 @@ u ztranslate_rules(u vc, u vtags, u vnodes, u vnum_rules) { u v8 = 0; u v9 = 0; u v10 = 0; -b0: vi = 0UL; - goto b1; -b1: if ((vi) != (vnum_rules)) { goto b3; } -b2: return 0UL; + vi = 0; +b1: if (vi != vnum_rules) goto b3; + return 0; b3: v5 = (u)ztranslate_rule; v6 = vc; v7 = vi; - v8 = *(u *)((vtags) + ((vi) * (8UL))); - v9 = *(u *)((vnodes) + ((vi) * (8UL))); - v10 = ((u (*)())(v5))(v6, v7, v8, v9); -b6: vi = (vi) + (1UL); + v8 = *(u*)(vtags + vi * 8); + v9 = *(u*)(vnodes + vi * 8); + v10 = ((u(*)())v5)(v6, v7, v8, v9); + vi = vi + 1; goto b1; } -u ztranslate_tag_to_str(u vc, u vtags, u vnum_rules) { +u ztranslate_tag_to_str(u vc, u vtags, u vnum_rules){ u vname = 0; u vtag = 0; u vtaglen = 0; @@ -34508,156 +33884,152 @@ u ztranslate_tag_to_str(u vc, u vtags, u vnum_rules) { u v110 = 0; u v111 = 0; u v112 = 0; -b0: v17 = (u)zmake_tag; + v17 = (u)zmake_tag; v18 = vc; v19 = (u)"tag_to_str"; - v20 = 10UL; - v21 = ((u (*)())(v17))(v18, v19, v20); -b1: vname = v21; + v20 = 10; + v21 = ((u(*)())v17)(v18, v19, v20); + vname = v21; v22 = (u)zmktype0; - v23 = *(u *)((vc) + (16UL)); - v24 = 2UL; - v25 = ((u (*)())(v22))(v23, v24); -b2: varg1_type = v25; + v23 = *(u*)(vc + 16); + v24 = 2; + v25 = ((u(*)())v22)(v23, v24); + varg1_type = v25; v26 = (u)zmktype1; - v27 = *(u *)((vc) + (16UL)); - v28 = 5UL; + v27 = *(u*)(vc + 16); + v28 = 5; v29 = varg1_type; - v30 = ((u (*)())(v26))(v27, v28, v29); -b3: vargs_type = v30; + v30 = ((u(*)())v26)(v27, v28, v29); + vargs_type = v30; v31 = (u)zmktype0; - v32 = *(u *)((vc) + (16UL)); - v33 = 3UL; - v34 = ((u (*)())(v31))(v32, v33); -b4: vret_type = v34; + v32 = *(u*)(vc + 16); + v33 = 3; + v34 = ((u(*)())v31)(v32, v33); + vret_type = v34; v35 = (u)zmktype1; - v36 = *(u *)((vc) + (16UL)); - v37 = 4UL; + v36 = *(u*)(vc + 16); + v37 = 4; v38 = vret_type; - v39 = ((u (*)())(v35))(v36, v37, v38); -b5: vret_type = v39; + v39 = ((u(*)())v35)(v36, v37, v38); + vret_type = v39; v40 = (u)zmktype2; - v41 = *(u *)((vc) + (16UL)); - v42 = 6UL; + v41 = *(u*)(vc + 16); + v42 = 6; v43 = vret_type; v44 = vargs_type; - v45 = ((u (*)())(v40))(v41, v42, v43, v44); -b6: vfunc_type = v45; + v45 = ((u(*)())v40)(v41, v42, v43, v44); + vfunc_type = v45; v46 = (u)zmkirfunc; - v47 = *(u *)((vc) + (16UL)); + v47 = *(u*)(vc + 16); v48 = vname; - v49 = ((u (*)())(v46))(v47, v48); -b7: vic = v49; + v49 = ((u(*)())v46)(v47, v48); + vic = v49; v50 = (u)ziraddarg; v51 = vic; v52 = (u)"tag"; v53 = varg1_type; - v54 = ((u (*)())(v50))(v51, v52, v53); -b8: vi = 0UL; - goto b9; -b9: if ((vi) != (vnum_rules)) { goto b11; } -b10: v100 = (u)zmkirconst; + v54 = ((u(*)())v50)(v51, v52, v53); + vi = 0; +b9: if (vi != vnum_rules) goto b11; + v100 = (u)zmkirconst; v101 = vic; - v102 = 0UL; - v103 = ((u (*)())(v100))(v101, v102); -b24: vo = v103; + v102 = 0; + v103 = ((u(*)())v100)(v101, v102); + vo = v103; v104 = (u)zirreturn; v105 = vic; v106 = vo; - v107 = ((u (*)())(v104))(v105, v106); -b25: v108 = (u)zdefine_ir_func; - v109 = *(u *)((vc) + (16UL)); + v107 = ((u(*)())v104)(v105, v106); + v108 = (u)zdefine_ir_func; + v109 = *(u*)(vc + 16); v110 = vic; v111 = vfunc_type; - v112 = ((u (*)())(v108))(v109, v110, v111); -b26: return 0UL; -b11: vtag = *(u *)((vtags) + ((vi) * (8UL))); + v112 = ((u(*)())v108)(v109, v110, v111); + return 0; +b11: vtag = *(u*)(vtags + vi * 8); v55 = (u)zstrlen; v56 = vtag; - v57 = ((u (*)())(v55))(v56); -b14: vtaglen = v57; + v57 = ((u(*)())v55)(v56); + vtaglen = v57; v58 = (u)zmkirblock; v59 = vic; - v60 = ((u (*)())(v58))(v59); -b15: vthis = v60; + v60 = ((u(*)())v58)(v59); + vthis = v60; v61 = (u)zmkirblock; v62 = vic; - v63 = ((u (*)())(v61))(v62); -b16: vnext = v63; + v63 = ((u(*)())v61)(v62); + vnext = v63; v64 = (u)zmkirop; v65 = vic; - v66 = 0UL; - v67 = 0UL; - v68 = 0UL; - v69 = ((u (*)())(v64))(v65, v66, v67, v68); -b17: va = v69; - *(u *)((va) + (24UL)) = 0UL; + v66 = 0; + v67 = 0; + v68 = 0; + v69 = ((u(*)())v64)(v65, v66, v67, v68); + va = v69; + *(u*)(va + 24) = 0; v70 = (u)zmkirconst; v71 = vic; v72 = vi; - v73 = ((u (*)())(v70))(v71, v72); -b18: vb = v73; + v73 = ((u(*)())v70)(v71, v72); + vb = v73; v74 = (u)zmkirop; v75 = vic; - v76 = 21UL; + v76 = 21; v77 = va; v78 = vb; - v79 = ((u (*)())(v74))(v75, v76, v77, v78); -b19: vo = v79; + v79 = ((u(*)())v74)(v75, v76, v77, v78); + vo = v79; v80 = (u)zirbranch; v81 = vic; v82 = vo; v83 = vnext; v84 = vthis; - v85 = ((u (*)())(v80))(v81, v82, v83, v84); -b20: v86 = (u)zmkirstr; + v85 = ((u(*)())v80)(v81, v82, v83, v84); + v86 = (u)zmkirstr; v87 = vic; v88 = vtag; v89 = vtaglen; - v90 = ((u (*)())(v86))(v87, v88, v89); -b21: vo = v90; + v90 = ((u(*)())v86)(v87, v88, v89); + vo = v90; v91 = (u)zirreturn; v92 = vic; v93 = vo; - v94 = ((u (*)())(v91))(v92, v93); -b22: v95 = (u)zirjump; + v94 = ((u(*)())v91)(v92, v93); + v95 = (u)zirjump; v96 = vic; v97 = vnext; v98 = vnext; - v99 = ((u (*)())(v95))(v96, v97, v98); -b23: vi = (vi) + (1UL); + v99 = ((u(*)())v95)(v96, v97, v98); + vi = vi + 1; goto b9; } -u ztype_isint(u vt) { +u ztype_isint(u vt){ u v1 = 0; -b0: if ((*(u *)(vt)) != (2UL)) { goto b2; } -b1: v1 = 1UL; - goto b4; + if (*(u*)vt != 2) goto b2; + v1 = 1; b4: return v1; -b2: if ((*(u *)(vt)) != (3UL)) { goto b5; } -b3: v1 = 1UL; +b2: if (*(u*)vt != 3) goto b5; + v1 = 1; goto b4; -b5: v1 = 0UL; +b5: v1 = 0; goto b4; } -u ztype_isprim(u vt) { +u ztype_isprim(u vt){ u v1 = 0; u v2 = 0; -b0: if ((*(u *)(vt)) == (1UL)) { goto b2; } -b1: if ((*(u *)(vt)) == (7UL)) { goto b6; } -b5: if ((*(u *)(vt)) == (8UL)) { goto b6; } -b7: v2 = 1UL; - goto b8; -b8: if (!(v2)) { goto b2; } -b3: v1 = 1UL; - goto b4; + if (*(u*)vt == 1) goto b2; + if (*(u*)vt == 7) goto b6; + if (*(u*)vt == 8) goto b6; + v2 = 1; +b8: if (!v2) goto b2; + v1 = 1; b4: return v1; -b2: v1 = 0UL; +b2: v1 = 0; goto b4; -b6: v2 = 0UL; +b6: v2 = 0; goto b8; } -u ztype_sizeof(u vc, u vt) { +u ztype_sizeof(u vc, u vt){ u vkind = 0; u v3 = 0; u v4 = 0; @@ -34671,36 +34043,36 @@ u ztype_sizeof(u vc, u vt) { u v12 = 0; u v13 = 0; u v14 = 0; -b0: vkind = *(u *)(vt); - if ((vkind) != (0UL)) { goto b3; } -b2: return 8UL; -b3: if ((vkind) != (2UL)) { goto b5; } -b4: return 8UL; -b5: if ((vkind) != (3UL)) { goto b7; } -b6: return 8UL; -b7: if ((vkind) != (4UL)) { goto b9; } -b8: return 8UL; -b9: if ((vkind) != (6UL)) { goto b11; } -b10: return 8UL; -b11: if ((vkind) != (7UL)) { goto b13; } -b12: v3 = (u)zlayout_struct; + vkind = *(u*)vt; + if (vkind != 0) goto b3; + return 8; +b3: if (vkind != 2) goto b5; + return 8; +b5: if (vkind != 3) goto b7; + return 8; +b7: if (vkind != 4) goto b9; + return 8; +b9: if (vkind != 6) goto b11; + return 8; +b11: if (vkind != 7) goto b13; + v3 = (u)zlayout_struct; v4 = vc; - v5 = *(u *)((vt) + (8UL)); - v6 = ((u (*)())(v3))(v4, v5); -b14: return *(u *)((*(u *)((vt) + (8UL))) + (120UL)); -b13: if ((vkind) != (8UL)) { goto b16; } -b15: v7 = (u)zlayout_union; + v5 = *(u*)(vt + 8); + v6 = ((u(*)())v3)(v4, v5); + return *(u*)(*(u*)(vt + 8) + 120); +b13: if (vkind != 8) goto b16; + v7 = (u)zlayout_union; v8 = vc; - v9 = *(u *)((vt) + (8UL)); - v10 = ((u (*)())(v7))(v8, v9); -b17: return *(u *)((*(u *)((vt) + (8UL))) + (120UL)); + v9 = *(u*)(vt + 8); + v10 = ((u(*)())v7)(v8, v9); + return *(u*)(*(u*)(vt + 8) + 120); b16: v11 = (u)zcdie; v12 = vc; v13 = (u)"sizeof: invalid type"; - v14 = ((u (*)())(v11))(v12, v13); -b18: return 0UL; + v14 = ((u(*)())v11)(v12, v13); + return 0; } -u ztypecheck_expr(u vc, u vd, u vn, u vrhs) { +u ztypecheck_expr(u vc, u vd, u vn, u vrhs){ u vv = 0; u vkind = 0; u v6 = 0; @@ -35664,1503 +35036,1425 @@ u ztypecheck_expr(u vc, u vd, u vn, u vrhs) { u v964 = 0; u v965 = 0; u v966 = 0; -b0: *(u *)((vc) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((vc) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((vc) + (40UL)) = *(u *)((vn) + (40UL)); - vkind = *(u *)(vn); - if ((vkind) != (3UL)) { goto b3; } -b2: if (!(vrhs)) { goto b8; } -b7: v6 = 0UL; - goto b9; -b9: if (!(v6)) { goto b4; } -b5: v7 = (u)zcdie; + *(u*)(vc + 24) = *(u*)(vn + 24); + *(u*)(vc + 32) = *(u*)(vn + 32); + *(u*)(vc + 40) = *(u*)(vn + 40); + vkind = *(u*)vn; + if (vkind != 3) goto b3; + if (!vrhs) goto b8; + v6 = 0; +b9: if (!v6) goto b4; + v7 = (u)zcdie; v8 = vc; v9 = (u)"str is not an lexpr"; - v10 = ((u (*)())(v7))(v8, v9); + v10 = ((u(*)())v7)(v8, v9); b4: v11 = (u)zmktype1; v12 = vc; - v13 = 4UL; + v13 = 4; v15 = (u)zmktype0; v16 = vc; - v17 = 3UL; - v18 = ((u (*)())(v15))(v16, v17); -b11: v14 = v18; - v19 = ((u (*)())(v11))(v12, v13, v14); -b12: *(u *)((vn) + (64UL)) = v19; - goto b1; -b1: return 0UL; -b8: v6 = 1UL; + v17 = 3; + v18 = ((u(*)())v15)(v16, v17); + v14 = v18; + v19 = ((u(*)())v11)(v12, v13, v14); + *(u*)(vn + 64) = v19; +b1: return 0; +b8: v6 = 1; goto b9; -b3: if ((vkind) != (4UL)) { goto b14; } -b13: if (!(vrhs)) { goto b19; } -b18: v20 = 0UL; - goto b20; -b20: if (!(v20)) { goto b15; } -b16: v21 = (u)zcdie; +b3: if (vkind != 4) goto b14; + if (!vrhs) goto b19; + v20 = 0; +b20: if (!v20) goto b15; + v21 = (u)zcdie; v22 = vc; v23 = (u)"nil is not an lexpr"; - v24 = ((u (*)())(v21))(v22, v23); + v24 = ((u(*)())v21)(v22, v23); b15: v25 = (u)zmktype0; v26 = vc; - v27 = 0UL; - v28 = ((u (*)())(v25))(v26, v27); -b22: *(u *)((vn) + (64UL)) = v28; + v27 = 0; + v28 = ((u(*)())v25)(v26, v27); + *(u*)(vn + 64) = v28; goto b1; -b19: v20 = 1UL; +b19: v20 = 1; goto b20; -b14: if ((vkind) != (1UL)) { goto b24; } -b23: if (!(vrhs)) { goto b29; } -b28: v29 = 0UL; - goto b30; -b30: if (!(v29)) { goto b25; } -b26: v30 = (u)zcdie; +b14: if (vkind != 1) goto b24; + if (!vrhs) goto b29; + v29 = 0; +b30: if (!v29) goto b25; + v30 = (u)zcdie; v31 = vc; v32 = (u)"num is not an lexpr"; - v33 = ((u (*)())(v30))(v31, v32); + v33 = ((u(*)())v30)(v31, v32); b25: v34 = (u)zmktype0; v35 = vc; - v36 = 2UL; - v37 = ((u (*)())(v34))(v35, v36); -b32: *(u *)((vn) + (64UL)) = v37; + v36 = 2; + v37 = ((u(*)())v34)(v35, v36); + *(u*)(vn + 64) = v37; goto b1; -b29: v29 = 1UL; +b29: v29 = 1; goto b30; -b24: if ((vkind) != (2UL)) { goto b34; } -b33: if (!(vrhs)) { goto b39; } -b38: v38 = 0UL; - goto b40; -b40: if (!(v38)) { goto b35; } -b36: v39 = (u)zcdie; +b24: if (vkind != 2) goto b34; + if (!vrhs) goto b39; + v38 = 0; +b40: if (!v38) goto b35; + v39 = (u)zcdie; v40 = vc; v41 = (u)"char is not an lexpr"; - v42 = ((u (*)())(v39))(v40, v41); + v42 = ((u(*)())v39)(v40, v41); b35: v43 = (u)zmktype0; v44 = vc; - v45 = 2UL; - v46 = ((u (*)())(v43))(v44, v45); -b42: *(u *)((vn) + (64UL)) = v46; + v45 = 2; + v46 = ((u(*)())v43)(v44, v45); + *(u*)(vn + 64) = v46; goto b1; -b39: v38 = 1UL; +b39: v38 = 1; goto b40; -b34: if ((vkind) != (6UL)) { goto b44; } -b43: if (!(vrhs)) { goto b49; } -b48: v47 = 0UL; - goto b50; -b50: if (!(v47)) { goto b45; } -b46: v48 = (u)zcdie; +b34: if (vkind != 6) goto b44; + if (!vrhs) goto b49; + v47 = 0; +b50: if (!v47) goto b45; + v48 = (u)zcdie; v49 = vc; v50 = (u)"call is not an lexpr"; - v51 = ((u (*)())(v48))(v49, v50); -b45: if (!(*(u *)((vn) + (16UL)))) { goto b52; } -b53: v52 = (u)ztypecheck_expr; + v51 = ((u(*)())v48)(v49, v50); +b45: if (!*(u*)(vn + 16)) goto b52; + v52 = (u)ztypecheck_expr; v53 = vc; v54 = vd; - v55 = *(u *)((vn) + (16UL)); - v56 = 1UL; - v57 = ((u (*)())(v52))(v53, v54, v55, v56); + v55 = *(u*)(vn + 16); + v56 = 1; + v57 = ((u(*)())v52)(v53, v54, v55, v56); b52: v58 = (u)ztypecheck_expr; v59 = vc; v60 = vd; - v61 = *(u *)((vn) + (8UL)); - v62 = 1UL; - v63 = ((u (*)())(v58))(v59, v60, v61, v62); -b56: if (!(*(u *)((vn) + (16UL)))) { goto b59; } -b58: v64 = (u)zmktype2; + v61 = *(u*)(vn + 8); + v62 = 1; + v63 = ((u(*)())v58)(v59, v60, v61, v62); + if (!*(u*)(vn + 16)) goto b59; + v64 = (u)zmktype2; v65 = vc; - v66 = 5UL; - v67 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v68 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v69 = ((u (*)())(v64))(v65, v66, v67, v68); -b60: *(u *)((vn) + (64UL)) = v69; + v66 = 5; + v67 = *(u*)(*(u*)(vn + 8) + 64); + v68 = *(u*)(*(u*)(vn + 16) + 64); + v69 = ((u(*)())v64)(v65, v66, v67, v68); + *(u*)(vn + 64) = v69; goto b1; b59: v70 = (u)zmktype1; v71 = vc; - v72 = 5UL; - v73 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v74 = ((u (*)())(v70))(v71, v72, v73); -b61: *(u *)((vn) + (64UL)) = v74; + v72 = 5; + v73 = *(u*)(*(u*)(vn + 8) + 64); + v74 = ((u(*)())v70)(v71, v72, v73); + *(u*)(vn + 64) = v74; goto b1; -b49: v47 = 1UL; +b49: v47 = 1; goto b50; -b44: if ((vkind) != (7UL)) { goto b63; } -b62: if (!(vrhs)) { goto b68; } -b67: v75 = 0UL; - goto b69; -b69: if (!(v75)) { goto b64; } -b65: v76 = (u)zcdie; +b44: if (vkind != 7) goto b63; + if (!vrhs) goto b68; + v75 = 0; +b69: if (!v75) goto b64; + v76 = (u)zcdie; v77 = vc; v78 = (u)"call is not an lexpr"; - v79 = ((u (*)())(v76))(v77, v78); -b64: if (!(*(u *)((vn) + (16UL)))) { goto b71; } -b72: v80 = (u)ztypecheck_expr; + v79 = ((u(*)())v76)(v77, v78); +b64: if (!*(u*)(vn + 16)) goto b71; + v80 = (u)ztypecheck_expr; v81 = vc; v82 = vd; - v83 = *(u *)((vn) + (16UL)); - v84 = 1UL; - v85 = ((u (*)())(v80))(v81, v82, v83, v84); -b71: if ((*(u *)(*(u *)((vn) + (8UL)))) != (0UL)) { goto b77; } -b76: v86 = (u)zfind; + v83 = *(u*)(vn + 16); + v84 = 1; + v85 = ((u(*)())v80)(v81, v82, v83, v84); +b71: if (*(u*)*(u*)(vn + 8) != 0) goto b77; + v86 = (u)zfind; v87 = vc; - v88 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - v89 = 0UL; - v90 = 0UL; - v91 = ((u (*)())(v86))(v87, v88, v89, v90); -b78: vv = v91; - if (!(vv)) { goto b83; } -b82: if (!(*(u *)((vv) + (176UL)))) { goto b83; } -b84: v92 = 1UL; - goto b85; -b85: if (!(v92)) { goto b79; } -b80: v93 = (u)zcdie; + v88 = *(u*)(*(u*)(vn + 8) + 56); + v89 = 0; + v90 = 0; + v91 = ((u(*)())v86)(v87, v88, v89, v90); + vv = v91; + if (!vv) goto b83; + if (!*(u*)(vv + 176)) goto b83; + v92 = 1; +b85: if (!v92) goto b79; + v93 = (u)zcdie; v94 = vc; v95 = (u)"type error"; - v96 = ((u (*)())(v93))(v94, v95); + v96 = ((u(*)())v93)(v94, v95); b79: v97 = (u)zfind; v98 = vc; - v99 = *(u *)((vd) + (32UL)); - v100 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - v101 = 0UL; - v102 = ((u (*)())(v97))(v98, v99, v100, v101); -b87: vv = v102; - if (!(vv)) { goto b92; } -b91: if (!(*(u *)((vv) + (192UL)))) { goto b92; } -b93: v103 = 1UL; - goto b94; -b94: if (!(v103)) { goto b90; } -b89: *(u *)((*(u *)((vn) + (8UL))) + (64UL)) = *(u *)((vv) + (200UL)); - goto b75; -b75: if ((*(u *)(*(u *)((*(u *)((vn) + (8UL))) + (64UL)))) == (6UL)) { goto b134; } -b135: v141 = (u)zcdie; + v99 = *(u*)(vd + 32); + v100 = *(u*)(*(u*)(vn + 8) + 56); + v101 = 0; + v102 = ((u(*)())v97)(v98, v99, v100, v101); + vv = v102; + if (!vv) goto b92; + if (!*(u*)(vv + 192)) goto b92; + v103 = 1; +b94: if (!v103) goto b90; + *(u*)(*(u*)(vn + 8) + 64) = *(u*)(vv + 200); +b75: if (*(u*)*(u*)(*(u*)(vn + 8) + 64) == 6) goto b134; + v141 = (u)zcdie; v142 = vc; v143 = (u)"calling not a function"; - v144 = ((u (*)())(v141))(v142, v143); -b134: if (!(*(u *)((vn) + (16UL)))) { goto b140; } -b139: v145 = (u)zunify; + v144 = ((u(*)())v141)(v142, v143); +b134: if (!*(u*)(vn + 16)) goto b140; + v145 = (u)zunify; v146 = vc; - v147 = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (24UL)); - v148 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v149 = ((u (*)())(v145))(v146, v147, v148); -b138: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (16UL)); + v147 = *(u*)(*(u*)(*(u*)(vn + 8) + 64) + 24); + v148 = *(u*)(*(u*)(vn + 16) + 64); + v149 = ((u(*)())v145)(v146, v147, v148); +b138: *(u*)(vn + 64) = *(u*)(*(u*)(*(u*)(vn + 8) + 64) + 16); goto b1; b140: v150 = (u)zunify; v151 = vc; - v152 = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (24UL)); - v153 = 0UL; - v154 = ((u (*)())(v150))(v151, v152, v153); + v152 = *(u*)(*(u*)(*(u*)(vn + 8) + 64) + 24); + v153 = 0; + v154 = ((u(*)())v150)(v151, v152, v153); goto b138; b90: v105 = (u)zstrcmp; - v106 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); + v106 = *(u*)(*(u*)(vn + 8) + 56); v107 = (u)"_include"; - v108 = ((u (*)())(v105))(v106, v107); -b100: if (!(v108)) { goto b98; } -b97: v104 = 0UL; - goto b99; -b99: if (!(v104)) { goto b96; } -b95: v109 = (u)zfind; + v108 = ((u(*)())v105)(v106, v107); + if (!v108) goto b98; + v104 = 0; +b99: if (!v104) goto b96; + v109 = (u)zfind; v110 = vc; - v111 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - v112 = 0UL; - v113 = 0UL; - v114 = ((u (*)())(v109))(v110, v111, v112, v113); -b101: vv = v114; - if (!(vv)) { goto b110; } -b109: v116 = 0UL; - goto b111; -b111: if (!(v116)) { goto b106; } -b105: v115 = 1UL; - goto b108; -b108: if (!(v115)) { goto b102; } -b103: v118 = (u)zcdie; + v111 = *(u*)(*(u*)(vn + 8) + 56); + v112 = 0; + v113 = 0; + v114 = ((u(*)())v109)(v110, v111, v112, v113); + vv = v114; + if (!vv) goto b110; + v116 = 0; +b111: if (!v116) goto b106; + v115 = 1; +b108: if (!v115) goto b102; + v118 = (u)zcdie; v119 = vc; v120 = (u)"no such function"; - v121 = ((u (*)())(v118))(v119, v120); -b102: *(u *)((*(u *)((vn) + (8UL))) + (64UL)) = *(u *)((vv) + (80UL)); + v121 = ((u(*)())v118)(v119, v120); +b102: *(u*)(*(u*)(vn + 8) + 64) = *(u*)(vv + 80); goto b75; -b106: if (!(*(u *)((vv) + (72UL)))) { goto b114; } -b113: v117 = 0UL; - goto b115; -b115: if (!(v117)) { goto b112; } -b107: v115 = 1UL; +b106: if (!*(u*)(vv + 72)) goto b114; + v117 = 0; +b115: if (!v117) goto b112; + v115 = 1; goto b108; -b112: v115 = 0UL; +b112: v115 = 0; goto b108; -b114: v117 = 1UL; +b114: v117 = 1; goto b115; -b110: v116 = 1UL; +b110: v116 = 1; goto b111; b96: v122 = (u)zfind; v123 = vc; - v124 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - v125 = 0UL; - v126 = 0UL; - v127 = ((u (*)())(v122))(v123, v124, v125, v126); -b117: vv = v127; - if (!(vv)) { goto b126; } -b125: v129 = 0UL; - goto b127; -b127: if (!(v129)) { goto b122; } -b121: v128 = 1UL; - goto b124; -b124: if (!(v128)) { goto b118; } -b119: v131 = (u)zcdie; + v124 = *(u*)(*(u*)(vn + 8) + 56); + v125 = 0; + v126 = 0; + v127 = ((u(*)())v122)(v123, v124, v125, v126); + vv = v127; + if (!vv) goto b126; + v129 = 0; +b127: if (!v129) goto b122; + v128 = 1; +b124: if (!v128) goto b118; + v131 = (u)zcdie; v132 = vc; v133 = (u)"no such function"; - v134 = ((u (*)())(v131))(v132, v133); -b118: *(u *)((*(u *)((vn) + (8UL))) + (64UL)) = *(u *)((vv) + (80UL)); + v134 = ((u(*)())v131)(v132, v133); +b118: *(u*)(*(u*)(vn + 8) + 64) = *(u*)(vv + 80); goto b75; -b122: if (!(*(u *)((vv) + (72UL)))) { goto b130; } -b129: v130 = 0UL; - goto b131; -b131: if (!(v130)) { goto b128; } -b123: v128 = 1UL; +b122: if (!*(u*)(vv + 72)) goto b130; + v130 = 0; +b131: if (!v130) goto b128; + v128 = 1; goto b124; -b128: v128 = 0UL; +b128: v128 = 0; goto b124; -b130: v130 = 1UL; +b130: v130 = 1; goto b131; -b126: v129 = 1UL; +b126: v129 = 1; goto b127; -b98: v104 = 1UL; +b98: v104 = 1; goto b99; -b92: v103 = 0UL; +b92: v103 = 0; goto b94; -b83: v92 = 0UL; +b83: v92 = 0; goto b85; b77: v135 = (u)ztypecheck_expr; v136 = vc; v137 = vd; - v138 = *(u *)((vn) + (8UL)); - v139 = 1UL; - v140 = ((u (*)())(v135))(v136, v137, v138, v139); + v138 = *(u*)(vn + 8); + v139 = 1; + v140 = ((u(*)())v135)(v136, v137, v138, v139); goto b75; -b68: v75 = 1UL; +b68: v75 = 1; goto b69; -b63: if ((vkind) != (9UL)) { goto b144; } -b143: v155 = (u)ztypecheck_expr; +b63: if (vkind != 9) goto b144; + v155 = (u)ztypecheck_expr; v156 = vc; v157 = vd; - v158 = *(u *)((vn) + (8UL)); - v159 = 0UL; - v160 = ((u (*)())(v155))(v156, v157, v158, v159); -b145: if ((*(u *)(*(u *)((*(u *)((vn) + (8UL))) + (64UL)))) != (4UL)) { goto b148; } -b147: if ((*(u *)(*(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (16UL)))) == (7UL)) { goto b153; } -b152: if ((*(u *)(*(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (16UL)))) == (8UL)) { goto b153; } -b154: v161 = 1UL; - goto b155; -b155: if (!(v161)) { goto b149; } -b150: v162 = (u)zcdie; + v158 = *(u*)(vn + 8); + v159 = 0; + v160 = ((u(*)())v155)(v156, v157, v158, v159); + if (*(u*)*(u*)(*(u*)(vn + 8) + 64) != 4) goto b148; + if (*(u*)*(u*)(*(u*)(*(u*)(vn + 8) + 64) + 16) == 7) goto b153; + if (*(u*)*(u*)(*(u*)(*(u*)(vn + 8) + 64) + 16) == 8) goto b153; + v161 = 1; +b155: if (!v161) goto b149; + v162 = (u)zcdie; v163 = vc; v164 = (u)"dot not a struct"; - v165 = ((u (*)())(v162))(v163, v164); + v165 = ((u(*)())v162)(v163, v164); b149: v166 = (u)zfind; v167 = vc; - v168 = *(u *)((*(u *)((*(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (16UL))) + (8UL))) + (32UL)); - v169 = *(u *)((*(u *)((vn) + (16UL))) + (56UL)); - v170 = 0UL; - v171 = ((u (*)())(v166))(v167, v168, v169, v170); -b157: vv = v171; - goto b146; -b146: if (!(vv)) { goto b175; } -b174: v184 = 0UL; - goto b176; -b176: if (!(v184)) { goto b171; } -b170: v183 = 1UL; - goto b173; -b173: if (!(v183)) { goto b167; } -b168: v186 = (u)zcdie; + v168 = *(u*)(*(u*)(*(u*)(*(u*)(*(u*)(vn + 8) + 64) + 16) + 8) + 32); + v169 = *(u*)(*(u*)(vn + 16) + 56); + v170 = 0; + v171 = ((u(*)())v166)(v167, v168, v169, v170); + vv = v171; +b146: if (!vv) goto b175; + v184 = 0; +b176: if (!v184) goto b171; + v183 = 1; +b173: if (!v183) goto b167; + v186 = (u)zcdie; v187 = vc; v188 = (u)"no such member"; - v189 = ((u (*)())(v186))(v187, v188); -b167: *(u *)((vn) + (64UL)) = *(u *)((vv) + (160UL)); + v189 = ((u(*)())v186)(v187, v188); +b167: *(u*)(vn + 64) = *(u*)(vv + 160); goto b1; -b171: if (!(*(u *)((vv) + (152UL)))) { goto b179; } -b178: v185 = 0UL; - goto b180; -b180: if (!(v185)) { goto b177; } -b172: v183 = 1UL; +b171: if (!*(u*)(vv + 152)) goto b179; + v185 = 0; +b180: if (!v185) goto b177; + v183 = 1; goto b173; -b177: v183 = 0UL; +b177: v183 = 0; goto b173; -b179: v185 = 1UL; +b179: v185 = 1; goto b180; -b175: v184 = 1UL; +b175: v184 = 1; goto b176; -b153: v161 = 0UL; +b153: v161 = 0; goto b155; -b148: if ((*(u *)(*(u *)((*(u *)((vn) + (8UL))) + (64UL)))) == (7UL)) { goto b162; } -b161: if ((*(u *)(*(u *)((*(u *)((vn) + (8UL))) + (64UL)))) == (8UL)) { goto b162; } -b163: v172 = 1UL; - goto b164; -b164: if (!(v172)) { goto b158; } -b159: v173 = (u)zcdie; +b148: if (*(u*)*(u*)(*(u*)(vn + 8) + 64) == 7) goto b162; + if (*(u*)*(u*)(*(u*)(vn + 8) + 64) == 8) goto b162; + v172 = 1; +b164: if (!v172) goto b158; + v173 = (u)zcdie; v174 = vc; v175 = (u)"dot not a struct"; - v176 = ((u (*)())(v173))(v174, v175); + v176 = ((u(*)())v173)(v174, v175); b158: v177 = (u)zfind; v178 = vc; - v179 = *(u *)((*(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (8UL))) + (32UL)); - v180 = *(u *)((*(u *)((vn) + (16UL))) + (56UL)); - v181 = 0UL; - v182 = ((u (*)())(v177))(v178, v179, v180, v181); -b166: vv = v182; + v179 = *(u*)(*(u*)(*(u*)(*(u*)(vn + 8) + 64) + 8) + 32); + v180 = *(u*)(*(u*)(vn + 16) + 56); + v181 = 0; + v182 = ((u(*)())v177)(v178, v179, v180, v181); + vv = v182; goto b146; -b162: v172 = 0UL; +b162: v172 = 0; goto b164; -b144: if ((vkind) != (0UL)) { goto b183; } -b182: v190 = (u)zfind; +b144: if (vkind != 0) goto b183; + v190 = (u)zfind; v191 = vc; - v192 = *(u *)((vn) + (56UL)); - v193 = 0UL; - v194 = 0UL; - v195 = ((u (*)())(v190))(v191, v192, v193, v194); -b184: vv = v195; - if (!(vv)) { goto b189; } -b188: if (!(*(u *)((vv) + (176UL)))) { goto b189; } -b190: v196 = 1UL; - goto b191; -b191: if (!(v196)) { goto b185; } -b186: v197 = (u)zmktype0; + v192 = *(u*)(vn + 56); + v193 = 0; + v194 = 0; + v195 = ((u(*)())v190)(v191, v192, v193, v194); + vv = v195; + if (!vv) goto b189; + if (!*(u*)(vv + 176)) goto b189; + v196 = 1; +b191: if (!v196) goto b185; + v197 = (u)zmktype0; v198 = vc; - v199 = 2UL; - v200 = ((u (*)())(v197))(v198, v199); -b192: *(u *)((vn) + (64UL)) = v200; - return 0UL; + v199 = 2; + v200 = ((u(*)())v197)(v198, v199); + *(u*)(vn + 64) = v200; + return 0; b185: v201 = (u)zfind; v202 = vc; - v203 = *(u *)((vd) + (32UL)); - v204 = *(u *)((vn) + (56UL)); - v205 = 0UL; - v206 = ((u (*)())(v201))(v202, v203, v204, v205); -b193: vv = v206; - if (!(vv)) { goto b198; } -b197: if (!(*(u *)((vv) + (192UL)))) { goto b198; } -b199: v207 = 1UL; - goto b200; -b200: if (!(v207)) { goto b194; } -b195: *(u *)((vn) + (64UL)) = *(u *)((vv) + (200UL)); - return 0UL; + v203 = *(u*)(vd + 32); + v204 = *(u*)(vn + 56); + v205 = 0; + v206 = ((u(*)())v201)(v202, v203, v204, v205); + vv = v206; + if (!vv) goto b198; + if (!*(u*)(vv + 192)) goto b198; + v207 = 1; +b200: if (!v207) goto b194; + *(u*)(vn + 64) = *(u*)(vv + 200); + return 0; b194: v208 = (u)zfind; v209 = vc; - v210 = *(u *)((vn) + (56UL)); - v211 = 0UL; - v212 = 0UL; - v213 = ((u (*)())(v208))(v209, v210, v211, v212); -b201: vv = v213; - if (!(vv)) { goto b206; } -b205: if (!(*(u *)((vv) + (72UL)))) { goto b206; } -b207: v214 = 1UL; - goto b208; -b208: if (!(v214)) { goto b202; } -b203: *(u *)((vn) + (64UL)) = *(u *)((vv) + (80UL)); - return 0UL; + v210 = *(u*)(vn + 56); + v211 = 0; + v212 = 0; + v213 = ((u(*)())v208)(v209, v210, v211, v212); + vv = v213; + if (!vv) goto b206; + if (!*(u*)(vv + 72)) goto b206; + v214 = 1; +b208: if (!v214) goto b202; + *(u*)(vn + 64) = *(u*)(vv + 80); + return 0; b202: v215 = (u)zcdie; v216 = vc; v217 = (u)"no such variable"; - v218 = ((u (*)())(v215))(v216, v217); + v218 = ((u(*)())v215)(v216, v217); goto b1; -b206: v214 = 0UL; +b206: v214 = 0; goto b208; -b198: v207 = 0UL; +b198: v207 = 0; goto b200; -b189: v196 = 0UL; +b189: v196 = 0; goto b191; -b183: if ((vkind) != (33UL)) { goto b211; } -b210: if (!(vrhs)) { goto b216; } -b215: v219 = 0UL; - goto b217; -b217: if (!(v219)) { goto b212; } -b213: v220 = (u)zcdie; +b183: if (vkind != 33) goto b211; + if (!vrhs) goto b216; + v219 = 0; +b217: if (!v219) goto b212; + v220 = (u)zcdie; v221 = vc; v222 = (u)"assign is not an lexpr"; - v223 = ((u (*)())(v220))(v221, v222); + v223 = ((u(*)())v220)(v221, v222); b212: v224 = (u)ztypecheck_expr; v225 = vc; v226 = vd; - v227 = *(u *)((vn) + (16UL)); - v228 = 1UL; - v229 = ((u (*)())(v224))(v225, v226, v227, v228); -b219: v230 = (u)ztypecheck_expr; + v227 = *(u*)(vn + 16); + v228 = 1; + v229 = ((u(*)())v224)(v225, v226, v227, v228); + v230 = (u)ztypecheck_expr; v231 = vc; v232 = vd; - v233 = *(u *)((vn) + (8UL)); - v234 = 0UL; - v235 = ((u (*)())(v230))(v231, v232, v233, v234); -b220: v236 = (u)zunify; + v233 = *(u*)(vn + 8); + v234 = 0; + v235 = ((u(*)())v230)(v231, v232, v233, v234); + v236 = (u)zunify; v237 = vc; - v238 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v239 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v240 = ((u (*)())(v236))(v237, v238, v239); -b221: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v238 = *(u*)(*(u*)(vn + 8) + 64); + v239 = *(u*)(*(u*)(vn + 16) + 64); + v240 = ((u(*)())v236)(v237, v238, v239); + *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b216: v219 = 1UL; +b216: v219 = 1; goto b217; -b211: if ((vkind) != (34UL)) { goto b223; } -b222: if (!(vrhs)) { goto b228; } -b227: v241 = 0UL; - goto b229; -b229: if (!(v241)) { goto b224; } -b225: v242 = (u)zcdie; +b211: if (vkind != 34) goto b223; + if (!vrhs) goto b228; + v241 = 0; +b229: if (!v241) goto b224; + v242 = (u)zcdie; v243 = vc; v244 = (u)"sizeof is not an lexpr"; - v245 = ((u (*)())(v242))(v243, v244); + v245 = ((u(*)())v242)(v243, v244); b224: v246 = (u)ztypecheck_expr; v247 = vc; v248 = vd; - v249 = *(u *)((vn) + (8UL)); - v250 = 0UL; - v251 = ((u (*)())(v246))(v247, v248, v249, v250); -b231: v252 = (u)zmktype0; + v249 = *(u*)(vn + 8); + v250 = 0; + v251 = ((u(*)())v246)(v247, v248, v249, v250); + v252 = (u)zmktype0; v253 = vc; - v254 = 2UL; - v255 = ((u (*)())(v252))(v253, v254); -b232: *(u *)((vn) + (64UL)) = v255; + v254 = 2; + v255 = ((u(*)())v252)(v253, v254); + *(u*)(vn + 64) = v255; goto b1; -b228: v241 = 1UL; +b228: v241 = 1; goto b229; -b223: if ((vkind) != (35UL)) { goto b234; } -b233: if (!(vrhs)) { goto b239; } -b238: v256 = 0UL; - goto b240; -b240: if (!(v256)) { goto b235; } -b236: v257 = (u)zcdie; +b223: if (vkind != 35) goto b234; + if (!vrhs) goto b239; + v256 = 0; +b240: if (!v256) goto b235; + v257 = (u)zcdie; v258 = vc; v259 = (u)"ref is not an lexpr"; - v260 = ((u (*)())(v257))(v258, v259); + v260 = ((u(*)())v257)(v258, v259); b235: v261 = (u)ztypecheck_expr; v262 = vc; v263 = vd; - v264 = *(u *)((vn) + (8UL)); - v265 = 0UL; - v266 = ((u (*)())(v261))(v262, v263, v264, v265); -b242: v267 = (u)zmktype1; + v264 = *(u*)(vn + 8); + v265 = 0; + v266 = ((u(*)())v261)(v262, v263, v264, v265); + v267 = (u)zmktype1; v268 = vc; - v269 = 4UL; - v270 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v271 = ((u (*)())(v267))(v268, v269, v270); -b243: *(u *)((vn) + (64UL)) = v271; + v269 = 4; + v270 = *(u*)(*(u*)(vn + 8) + 64); + v271 = ((u(*)())v267)(v268, v269, v270); + *(u*)(vn + 64) = v271; goto b1; -b239: v256 = 1UL; +b239: v256 = 1; goto b240; -b234: if ((vkind) != (36UL)) { goto b245; } -b244: v272 = (u)ztypecheck_expr; +b234: if (vkind != 36) goto b245; + v272 = (u)ztypecheck_expr; v273 = vc; v274 = vd; - v275 = *(u *)((vn) + (8UL)); - v276 = 1UL; - v277 = ((u (*)())(v272))(v273, v274, v275, v276); -b246: if ((*(u *)(*(u *)((*(u *)((vn) + (8UL))) + (64UL)))) == (4UL)) { goto b247; } -b248: v278 = (u)zcdie; + v275 = *(u*)(vn + 8); + v276 = 1; + v277 = ((u(*)())v272)(v273, v274, v275, v276); + if (*(u*)*(u*)(*(u*)(vn + 8) + 64) == 4) goto b247; + v278 = (u)zcdie; v279 = vc; v280 = (u)"deref not a pointer"; - v281 = ((u (*)())(v278))(v279, v280); -b247: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (16UL)); + v281 = ((u(*)())v278)(v279, v280); +b247: *(u*)(vn + 64) = *(u*)(*(u*)(*(u*)(vn + 8) + 64) + 16); goto b1; -b245: if ((vkind) != (38UL)) { goto b252; } -b251: v282 = (u)ztypecheck_expr; +b245: if (vkind != 38) goto b252; + v282 = (u)ztypecheck_expr; v283 = vc; v284 = vd; - v285 = *(u *)((vn) + (8UL)); - v286 = 1UL; - v287 = ((u (*)())(v282))(v283, v284, v285, v286); -b253: v288 = (u)ztypecheck_expr; + v285 = *(u*)(vn + 8); + v286 = 1; + v287 = ((u(*)())v282)(v283, v284, v285, v286); + v288 = (u)ztypecheck_expr; v289 = vc; v290 = vd; - v291 = *(u *)((vn) + (16UL)); - v292 = 1UL; - v293 = ((u (*)())(v288))(v289, v290, v291, v292); -b254: if ((*(u *)(*(u *)((*(u *)((vn) + (8UL))) + (64UL)))) == (4UL)) { goto b255; } -b256: v294 = (u)zcdie; + v291 = *(u*)(vn + 16); + v292 = 1; + v293 = ((u(*)())v288)(v289, v290, v291, v292); + if (*(u*)*(u*)(*(u*)(vn + 8) + 64) == 4) goto b255; + v294 = (u)zcdie; v295 = vc; v296 = (u)"not a pointer"; - v297 = ((u (*)())(v294))(v295, v296); + v297 = ((u(*)())v294)(v295, v296); b255: v299 = (u)ztype_isint; - v300 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v301 = ((u (*)())(v299))(v300); -b265: if (!(v301)) { goto b263; } -b262: v298 = 0UL; - goto b264; -b264: if (!(v298)) { goto b259; } -b260: v302 = (u)zcdie; + v300 = *(u*)(*(u*)(vn + 16) + 64); + v301 = ((u(*)())v299)(v300); + if (!v301) goto b263; + v298 = 0; +b264: if (!v298) goto b259; + v302 = (u)zcdie; v303 = vc; v304 = (u)"index: not an int"; - v305 = ((u (*)())(v302))(v303, v304); -b259: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((*(u *)((vn) + (8UL))) + (64UL))) + (16UL)); + v305 = ((u(*)())v302)(v303, v304); +b259: *(u*)(vn + 64) = *(u*)(*(u*)(*(u*)(vn + 8) + 64) + 16); goto b1; -b263: v298 = 1UL; +b263: v298 = 1; goto b264; -b252: if ((vkind) != (39UL)) { goto b268; } -b267: if (!(vrhs)) { goto b273; } -b272: v306 = 0UL; - goto b274; -b274: if (!(v306)) { goto b269; } -b270: v307 = (u)zcdie; +b252: if (vkind != 39) goto b268; + if (!vrhs) goto b273; + v306 = 0; +b274: if (!v306) goto b269; + v307 = (u)zcdie; v308 = vc; v309 = (u)"not lexpr"; - v310 = ((u (*)())(v307))(v308, v309); + v310 = ((u(*)())v307)(v308, v309); b269: v311 = (u)ztypecheck_expr; v312 = vc; v313 = vd; - v314 = *(u *)((vn) + (16UL)); - v315 = 1UL; - v316 = ((u (*)())(v311))(v312, v313, v314, v315); -b276: v317 = (u)ztypecheck_expr; + v314 = *(u*)(vn + 16); + v315 = 1; + v316 = ((u(*)())v311)(v312, v313, v314, v315); + v317 = (u)ztypecheck_expr; v318 = vc; v319 = vd; - v320 = *(u *)((vn) + (8UL)); - v321 = 1UL; - v322 = ((u (*)())(v317))(v318, v319, v320, v321); -b277: v323 = (u)zunify; + v320 = *(u*)(vn + 8); + v321 = 1; + v322 = ((u(*)())v317)(v318, v319, v320, v321); + v323 = (u)zunify; v324 = vc; - v325 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v326 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v327 = ((u (*)())(v323))(v324, v325, v326); -b278: v329 = (u)ztype_isprim; - v330 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v331 = ((u (*)())(v329))(v330); -b285: if (!(v331)) { goto b283; } -b282: v328 = 0UL; - goto b284; -b284: if (!(v328)) { goto b279; } -b280: v332 = (u)zcdie; + v325 = *(u*)(*(u*)(vn + 8) + 64); + v326 = *(u*)(*(u*)(vn + 16) + 64); + v327 = ((u(*)())v323)(v324, v325, v326); + v329 = (u)ztype_isprim; + v330 = *(u*)(*(u*)(vn + 8) + 64); + v331 = ((u(*)())v329)(v330); + if (!v331) goto b283; + v328 = 0; +b284: if (!v328) goto b279; + v332 = (u)zcdie; v333 = vc; v334 = (u)"lt: not an int"; - v335 = ((u (*)())(v332))(v333, v334); -b279: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v335 = ((u(*)())v332)(v333, v334); +b279: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b283: v328 = 1UL; +b283: v328 = 1; goto b284; -b273: v306 = 1UL; +b273: v306 = 1; goto b274; -b268: if ((vkind) != (40UL)) { goto b288; } -b287: if (!(vrhs)) { goto b293; } -b292: v336 = 0UL; - goto b294; -b294: if (!(v336)) { goto b289; } -b290: v337 = (u)zcdie; +b268: if (vkind != 40) goto b288; + if (!vrhs) goto b293; + v336 = 0; +b294: if (!v336) goto b289; + v337 = (u)zcdie; v338 = vc; v339 = (u)"not lexpr"; - v340 = ((u (*)())(v337))(v338, v339); + v340 = ((u(*)())v337)(v338, v339); b289: v341 = (u)ztypecheck_expr; v342 = vc; v343 = vd; - v344 = *(u *)((vn) + (16UL)); - v345 = 1UL; - v346 = ((u (*)())(v341))(v342, v343, v344, v345); -b296: v347 = (u)ztypecheck_expr; + v344 = *(u*)(vn + 16); + v345 = 1; + v346 = ((u(*)())v341)(v342, v343, v344, v345); + v347 = (u)ztypecheck_expr; v348 = vc; v349 = vd; - v350 = *(u *)((vn) + (8UL)); - v351 = 1UL; - v352 = ((u (*)())(v347))(v348, v349, v350, v351); -b297: v353 = (u)zunify; + v350 = *(u*)(vn + 8); + v351 = 1; + v352 = ((u(*)())v347)(v348, v349, v350, v351); + v353 = (u)zunify; v354 = vc; - v355 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v356 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v357 = ((u (*)())(v353))(v354, v355, v356); -b298: v359 = (u)ztype_isprim; - v360 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v361 = ((u (*)())(v359))(v360); -b305: if (!(v361)) { goto b303; } -b302: v358 = 0UL; - goto b304; -b304: if (!(v358)) { goto b299; } -b300: v362 = (u)zcdie; + v355 = *(u*)(*(u*)(vn + 8) + 64); + v356 = *(u*)(*(u*)(vn + 16) + 64); + v357 = ((u(*)())v353)(v354, v355, v356); + v359 = (u)ztype_isprim; + v360 = *(u*)(*(u*)(vn + 8) + 64); + v361 = ((u(*)())v359)(v360); + if (!v361) goto b303; + v358 = 0; +b304: if (!v358) goto b299; + v362 = (u)zcdie; v363 = vc; v364 = (u)"gt: not an int"; - v365 = ((u (*)())(v362))(v363, v364); -b299: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v365 = ((u(*)())v362)(v363, v364); +b299: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b303: v358 = 1UL; +b303: v358 = 1; goto b304; -b293: v336 = 1UL; +b293: v336 = 1; goto b294; -b288: if ((vkind) != (41UL)) { goto b308; } -b307: if (!(vrhs)) { goto b313; } -b312: v366 = 0UL; - goto b314; -b314: if (!(v366)) { goto b309; } -b310: v367 = (u)zcdie; +b288: if (vkind != 41) goto b308; + if (!vrhs) goto b313; + v366 = 0; +b314: if (!v366) goto b309; + v367 = (u)zcdie; v368 = vc; v369 = (u)"not lexpr"; - v370 = ((u (*)())(v367))(v368, v369); + v370 = ((u(*)())v367)(v368, v369); b309: v371 = (u)ztypecheck_expr; v372 = vc; v373 = vd; - v374 = *(u *)((vn) + (16UL)); - v375 = 1UL; - v376 = ((u (*)())(v371))(v372, v373, v374, v375); -b316: v377 = (u)ztypecheck_expr; + v374 = *(u*)(vn + 16); + v375 = 1; + v376 = ((u(*)())v371)(v372, v373, v374, v375); + v377 = (u)ztypecheck_expr; v378 = vc; v379 = vd; - v380 = *(u *)((vn) + (8UL)); - v381 = 1UL; - v382 = ((u (*)())(v377))(v378, v379, v380, v381); -b317: v383 = (u)zunify; + v380 = *(u*)(vn + 8); + v381 = 1; + v382 = ((u(*)())v377)(v378, v379, v380, v381); + v383 = (u)zunify; v384 = vc; - v385 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v386 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v387 = ((u (*)())(v383))(v384, v385, v386); -b318: v389 = (u)ztype_isprim; - v390 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v391 = ((u (*)())(v389))(v390); -b325: if (!(v391)) { goto b323; } -b322: v388 = 0UL; - goto b324; -b324: if (!(v388)) { goto b319; } -b320: v392 = (u)zcdie; + v385 = *(u*)(*(u*)(vn + 8) + 64); + v386 = *(u*)(*(u*)(vn + 16) + 64); + v387 = ((u(*)())v383)(v384, v385, v386); + v389 = (u)ztype_isprim; + v390 = *(u*)(*(u*)(vn + 8) + 64); + v391 = ((u(*)())v389)(v390); + if (!v391) goto b323; + v388 = 0; +b324: if (!v388) goto b319; + v392 = (u)zcdie; v393 = vc; v394 = (u)"le: not an int"; - v395 = ((u (*)())(v392))(v393, v394); -b319: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v395 = ((u(*)())v392)(v393, v394); +b319: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b323: v388 = 1UL; +b323: v388 = 1; goto b324; -b313: v366 = 1UL; +b313: v366 = 1; goto b314; -b308: if ((vkind) != (42UL)) { goto b328; } -b327: if (!(vrhs)) { goto b333; } -b332: v396 = 0UL; - goto b334; -b334: if (!(v396)) { goto b329; } -b330: v397 = (u)zcdie; +b308: if (vkind != 42) goto b328; + if (!vrhs) goto b333; + v396 = 0; +b334: if (!v396) goto b329; + v397 = (u)zcdie; v398 = vc; v399 = (u)"not lexpr"; - v400 = ((u (*)())(v397))(v398, v399); + v400 = ((u(*)())v397)(v398, v399); b329: v401 = (u)ztypecheck_expr; v402 = vc; v403 = vd; - v404 = *(u *)((vn) + (16UL)); - v405 = 1UL; - v406 = ((u (*)())(v401))(v402, v403, v404, v405); -b336: v407 = (u)ztypecheck_expr; + v404 = *(u*)(vn + 16); + v405 = 1; + v406 = ((u(*)())v401)(v402, v403, v404, v405); + v407 = (u)ztypecheck_expr; v408 = vc; v409 = vd; - v410 = *(u *)((vn) + (8UL)); - v411 = 1UL; - v412 = ((u (*)())(v407))(v408, v409, v410, v411); -b337: v413 = (u)zunify; + v410 = *(u*)(vn + 8); + v411 = 1; + v412 = ((u(*)())v407)(v408, v409, v410, v411); + v413 = (u)zunify; v414 = vc; - v415 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v416 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v417 = ((u (*)())(v413))(v414, v415, v416); -b338: v419 = (u)ztype_isprim; - v420 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v421 = ((u (*)())(v419))(v420); -b345: if (!(v421)) { goto b343; } -b342: v418 = 0UL; - goto b344; -b344: if (!(v418)) { goto b339; } -b340: v422 = (u)zcdie; + v415 = *(u*)(*(u*)(vn + 8) + 64); + v416 = *(u*)(*(u*)(vn + 16) + 64); + v417 = ((u(*)())v413)(v414, v415, v416); + v419 = (u)ztype_isprim; + v420 = *(u*)(*(u*)(vn + 8) + 64); + v421 = ((u(*)())v419)(v420); + if (!v421) goto b343; + v418 = 0; +b344: if (!v418) goto b339; + v422 = (u)zcdie; v423 = vc; v424 = (u)"ge: not an int"; - v425 = ((u (*)())(v422))(v423, v424); -b339: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v425 = ((u(*)())v422)(v423, v424); +b339: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b343: v418 = 1UL; +b343: v418 = 1; goto b344; -b333: v396 = 1UL; +b333: v396 = 1; goto b334; -b328: if ((vkind) != (43UL)) { goto b348; } -b347: if (!(vrhs)) { goto b353; } -b352: v426 = 0UL; - goto b354; -b354: if (!(v426)) { goto b349; } -b350: v427 = (u)zcdie; +b328: if (vkind != 43) goto b348; + if (!vrhs) goto b353; + v426 = 0; +b354: if (!v426) goto b349; + v427 = (u)zcdie; v428 = vc; v429 = (u)"not lexpr"; - v430 = ((u (*)())(v427))(v428, v429); + v430 = ((u(*)())v427)(v428, v429); b349: v431 = (u)ztypecheck_expr; v432 = vc; v433 = vd; - v434 = *(u *)((vn) + (16UL)); - v435 = 1UL; - v436 = ((u (*)())(v431))(v432, v433, v434, v435); -b356: v437 = (u)ztypecheck_expr; + v434 = *(u*)(vn + 16); + v435 = 1; + v436 = ((u(*)())v431)(v432, v433, v434, v435); + v437 = (u)ztypecheck_expr; v438 = vc; v439 = vd; - v440 = *(u *)((vn) + (8UL)); - v441 = 1UL; - v442 = ((u (*)())(v437))(v438, v439, v440, v441); -b357: v443 = (u)zunify; + v440 = *(u*)(vn + 8); + v441 = 1; + v442 = ((u(*)())v437)(v438, v439, v440, v441); + v443 = (u)zunify; v444 = vc; - v445 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v446 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v447 = ((u (*)())(v443))(v444, v445, v446); -b358: v449 = (u)ztype_isprim; - v450 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v451 = ((u (*)())(v449))(v450); -b365: if (!(v451)) { goto b363; } -b362: v448 = 0UL; - goto b364; -b364: if (!(v448)) { goto b359; } -b360: v452 = (u)zcdie; + v445 = *(u*)(*(u*)(vn + 8) + 64); + v446 = *(u*)(*(u*)(vn + 16) + 64); + v447 = ((u(*)())v443)(v444, v445, v446); + v449 = (u)ztype_isprim; + v450 = *(u*)(*(u*)(vn + 8) + 64); + v451 = ((u(*)())v449)(v450); + if (!v451) goto b363; + v448 = 0; +b364: if (!v448) goto b359; + v452 = (u)zcdie; v453 = vc; v454 = (u)"eq: not an int"; - v455 = ((u (*)())(v452))(v453, v454); -b359: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v455 = ((u(*)())v452)(v453, v454); +b359: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b363: v448 = 1UL; +b363: v448 = 1; goto b364; -b353: v426 = 1UL; +b353: v426 = 1; goto b354; -b348: if ((vkind) != (44UL)) { goto b368; } -b367: if (!(vrhs)) { goto b373; } -b372: v456 = 0UL; - goto b374; -b374: if (!(v456)) { goto b369; } -b370: v457 = (u)zcdie; +b348: if (vkind != 44) goto b368; + if (!vrhs) goto b373; + v456 = 0; +b374: if (!v456) goto b369; + v457 = (u)zcdie; v458 = vc; v459 = (u)"not lexpr"; - v460 = ((u (*)())(v457))(v458, v459); + v460 = ((u(*)())v457)(v458, v459); b369: v461 = (u)ztypecheck_expr; v462 = vc; v463 = vd; - v464 = *(u *)((vn) + (16UL)); - v465 = 1UL; - v466 = ((u (*)())(v461))(v462, v463, v464, v465); -b376: v467 = (u)ztypecheck_expr; + v464 = *(u*)(vn + 16); + v465 = 1; + v466 = ((u(*)())v461)(v462, v463, v464, v465); + v467 = (u)ztypecheck_expr; v468 = vc; v469 = vd; - v470 = *(u *)((vn) + (8UL)); - v471 = 1UL; - v472 = ((u (*)())(v467))(v468, v469, v470, v471); -b377: v473 = (u)zunify; + v470 = *(u*)(vn + 8); + v471 = 1; + v472 = ((u(*)())v467)(v468, v469, v470, v471); + v473 = (u)zunify; v474 = vc; - v475 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v476 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v477 = ((u (*)())(v473))(v474, v475, v476); -b378: v479 = (u)ztype_isprim; - v480 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v481 = ((u (*)())(v479))(v480); -b385: if (!(v481)) { goto b383; } -b382: v478 = 0UL; - goto b384; -b384: if (!(v478)) { goto b379; } -b380: v482 = (u)zcdie; + v475 = *(u*)(*(u*)(vn + 8) + 64); + v476 = *(u*)(*(u*)(vn + 16) + 64); + v477 = ((u(*)())v473)(v474, v475, v476); + v479 = (u)ztype_isprim; + v480 = *(u*)(*(u*)(vn + 8) + 64); + v481 = ((u(*)())v479)(v480); + if (!v481) goto b383; + v478 = 0; +b384: if (!v478) goto b379; + v482 = (u)zcdie; v483 = vc; v484 = (u)"ne: not an int"; - v485 = ((u (*)())(v482))(v483, v484); -b379: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v485 = ((u(*)())v482)(v483, v484); +b379: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b383: v478 = 1UL; +b383: v478 = 1; goto b384; -b373: v456 = 1UL; +b373: v456 = 1; goto b374; -b368: if ((vkind) != (50UL)) { goto b388; } -b387: if (!(vrhs)) { goto b393; } -b392: v486 = 0UL; - goto b394; -b394: if (!(v486)) { goto b389; } -b390: v487 = (u)zcdie; +b368: if (vkind != 50) goto b388; + if (!vrhs) goto b393; + v486 = 0; +b394: if (!v486) goto b389; + v487 = (u)zcdie; v488 = vc; v489 = (u)"not lexpr"; - v490 = ((u (*)())(v487))(v488, v489); + v490 = ((u(*)())v487)(v488, v489); b389: v491 = (u)ztypecheck_expr; v492 = vc; v493 = vd; - v494 = *(u *)((vn) + (8UL)); - v495 = 1UL; - v496 = ((u (*)())(v491))(v492, v493, v494, v495); -b396: v498 = (u)ztype_isprim; - v499 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v500 = ((u (*)())(v498))(v499); -b403: if (!(v500)) { goto b401; } -b400: v497 = 0UL; - goto b402; -b402: if (!(v497)) { goto b397; } -b398: v501 = (u)zcdie; + v494 = *(u*)(vn + 8); + v495 = 1; + v496 = ((u(*)())v491)(v492, v493, v494, v495); + v498 = (u)ztype_isprim; + v499 = *(u*)(*(u*)(vn + 8) + 64); + v500 = ((u(*)())v498)(v499); + if (!v500) goto b401; + v497 = 0; +b402: if (!v497) goto b397; + v501 = (u)zcdie; v502 = vc; v503 = (u)"not an prim"; - v504 = ((u (*)())(v501))(v502, v503); + v504 = ((u(*)())v501)(v502, v503); b397: v505 = (u)zmktype0; v506 = vc; - v507 = 2UL; - v508 = ((u (*)())(v505))(v506, v507); -b405: *(u *)((vn) + (64UL)) = v508; + v507 = 2; + v508 = ((u(*)())v505)(v506, v507); + *(u*)(vn + 64) = v508; goto b1; -b401: v497 = 1UL; +b401: v497 = 1; goto b402; -b393: v486 = 1UL; +b393: v486 = 1; goto b394; -b388: if ((vkind) != (51UL)) { goto b407; } -b406: if (!(vrhs)) { goto b412; } -b411: v509 = 0UL; - goto b413; -b413: if (!(v509)) { goto b408; } -b409: v510 = (u)zcdie; +b388: if (vkind != 51) goto b407; + if (!vrhs) goto b412; + v509 = 0; +b413: if (!v509) goto b408; + v510 = (u)zcdie; v511 = vc; v512 = (u)"not lexpr"; - v513 = ((u (*)())(v510))(v511, v512); + v513 = ((u(*)())v510)(v511, v512); b408: v514 = (u)ztypecheck_expr; v515 = vc; v516 = vd; - v517 = *(u *)((vn) + (8UL)); - v518 = 1UL; - v519 = ((u (*)())(v514))(v515, v516, v517, v518); -b415: v520 = (u)ztypecheck_expr; + v517 = *(u*)(vn + 8); + v518 = 1; + v519 = ((u(*)())v514)(v515, v516, v517, v518); + v520 = (u)ztypecheck_expr; v521 = vc; v522 = vd; - v523 = *(u *)((vn) + (16UL)); - v524 = 1UL; - v525 = ((u (*)())(v520))(v521, v522, v523, v524); -b416: v527 = (u)ztype_isprim; - v528 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v529 = ((u (*)())(v527))(v528); -b423: if (!(v529)) { goto b421; } -b420: v526 = 0UL; - goto b422; -b422: if (!(v526)) { goto b417; } -b418: v530 = (u)zcdie; + v523 = *(u*)(vn + 16); + v524 = 1; + v525 = ((u(*)())v520)(v521, v522, v523, v524); + v527 = (u)ztype_isprim; + v528 = *(u*)(*(u*)(vn + 8) + 64); + v529 = ((u(*)())v527)(v528); + if (!v529) goto b421; + v526 = 0; +b422: if (!v526) goto b417; + v530 = (u)zcdie; v531 = vc; v532 = (u)"not an prim"; - v533 = ((u (*)())(v530))(v531, v532); + v533 = ((u(*)())v530)(v531, v532); b417: v535 = (u)ztype_isprim; - v536 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v537 = ((u (*)())(v535))(v536); -b431: if (!(v537)) { goto b429; } -b428: v534 = 0UL; - goto b430; -b430: if (!(v534)) { goto b425; } -b426: v538 = (u)zcdie; + v536 = *(u*)(*(u*)(vn + 16) + 64); + v537 = ((u(*)())v535)(v536); + if (!v537) goto b429; + v534 = 0; +b430: if (!v534) goto b425; + v538 = (u)zcdie; v539 = vc; v540 = (u)"not an prim"; - v541 = ((u (*)())(v538))(v539, v540); + v541 = ((u(*)())v538)(v539, v540); b425: v542 = (u)zmktype0; v543 = vc; - v544 = 2UL; - v545 = ((u (*)())(v542))(v543, v544); -b433: *(u *)((vn) + (64UL)) = v545; + v544 = 2; + v545 = ((u(*)())v542)(v543, v544); + *(u*)(vn + 64) = v545; goto b1; -b429: v534 = 1UL; +b429: v534 = 1; goto b430; -b421: v526 = 1UL; +b421: v526 = 1; goto b422; -b412: v509 = 1UL; +b412: v509 = 1; goto b413; -b407: if ((vkind) != (52UL)) { goto b435; } -b434: if (!(vrhs)) { goto b440; } -b439: v546 = 0UL; - goto b441; -b441: if (!(v546)) { goto b436; } -b437: v547 = (u)zcdie; +b407: if (vkind != 52) goto b435; + if (!vrhs) goto b440; + v546 = 0; +b441: if (!v546) goto b436; + v547 = (u)zcdie; v548 = vc; v549 = (u)"not lexpr"; - v550 = ((u (*)())(v547))(v548, v549); + v550 = ((u(*)())v547)(v548, v549); b436: v551 = (u)ztypecheck_expr; v552 = vc; v553 = vd; - v554 = *(u *)((vn) + (8UL)); - v555 = 1UL; - v556 = ((u (*)())(v551))(v552, v553, v554, v555); -b443: v557 = (u)ztypecheck_expr; + v554 = *(u*)(vn + 8); + v555 = 1; + v556 = ((u(*)())v551)(v552, v553, v554, v555); + v557 = (u)ztypecheck_expr; v558 = vc; v559 = vd; - v560 = *(u *)((vn) + (16UL)); - v561 = 1UL; - v562 = ((u (*)())(v557))(v558, v559, v560, v561); -b444: v564 = (u)ztype_isprim; - v565 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v566 = ((u (*)())(v564))(v565); -b451: if (!(v566)) { goto b449; } -b448: v563 = 0UL; - goto b450; -b450: if (!(v563)) { goto b445; } -b446: v567 = (u)zcdie; + v560 = *(u*)(vn + 16); + v561 = 1; + v562 = ((u(*)())v557)(v558, v559, v560, v561); + v564 = (u)ztype_isprim; + v565 = *(u*)(*(u*)(vn + 8) + 64); + v566 = ((u(*)())v564)(v565); + if (!v566) goto b449; + v563 = 0; +b450: if (!v563) goto b445; + v567 = (u)zcdie; v568 = vc; v569 = (u)"not an prim"; - v570 = ((u (*)())(v567))(v568, v569); + v570 = ((u(*)())v567)(v568, v569); b445: v572 = (u)ztype_isprim; - v573 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v574 = ((u (*)())(v572))(v573); -b459: if (!(v574)) { goto b457; } -b456: v571 = 0UL; - goto b458; -b458: if (!(v571)) { goto b453; } -b454: v575 = (u)zcdie; + v573 = *(u*)(*(u*)(vn + 16) + 64); + v574 = ((u(*)())v572)(v573); + if (!v574) goto b457; + v571 = 0; +b458: if (!v571) goto b453; + v575 = (u)zcdie; v576 = vc; v577 = (u)"not an prim"; - v578 = ((u (*)())(v575))(v576, v577); + v578 = ((u(*)())v575)(v576, v577); b453: v579 = (u)zmktype0; v580 = vc; - v581 = 2UL; - v582 = ((u (*)())(v579))(v580, v581); -b461: *(u *)((vn) + (64UL)) = v582; + v581 = 2; + v582 = ((u(*)())v579)(v580, v581); + *(u*)(vn + 64) = v582; goto b1; -b457: v571 = 1UL; +b457: v571 = 1; goto b458; -b449: v563 = 1UL; +b449: v563 = 1; goto b450; -b440: v546 = 1UL; +b440: v546 = 1; goto b441; -b435: if ((vkind) != (57UL)) { goto b463; } -b462: if (!(vrhs)) { goto b468; } -b467: v583 = 0UL; - goto b469; -b469: if (!(v583)) { goto b464; } -b465: v584 = (u)zcdie; +b435: if (vkind != 57) goto b463; + if (!vrhs) goto b468; + v583 = 0; +b469: if (!v583) goto b464; + v584 = (u)zcdie; v585 = vc; v586 = (u)"not lexpr"; - v587 = ((u (*)())(v584))(v585, v586); + v587 = ((u(*)())v584)(v585, v586); b464: v588 = (u)ztypecheck_expr; v589 = vc; v590 = vd; - v591 = *(u *)((vn) + (8UL)); - v592 = 1UL; - v593 = ((u (*)())(v588))(v589, v590, v591, v592); -b471: v595 = (u)ztype_isint; - v596 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v597 = ((u (*)())(v595))(v596); -b478: if (!(v597)) { goto b476; } -b475: v594 = 0UL; - goto b477; -b477: if (!(v594)) { goto b472; } -b473: v598 = (u)zcdie; + v591 = *(u*)(vn + 8); + v592 = 1; + v593 = ((u(*)())v588)(v589, v590, v591, v592); + v595 = (u)ztype_isint; + v596 = *(u*)(*(u*)(vn + 8) + 64); + v597 = ((u(*)())v595)(v596); + if (!v597) goto b476; + v594 = 0; +b477: if (!v594) goto b472; + v598 = (u)zcdie; v599 = vc; v600 = (u)"pos: not an int"; - v601 = ((u (*)())(v598))(v599, v600); -b472: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v601 = ((u(*)())v598)(v599, v600); +b472: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b476: v594 = 1UL; +b476: v594 = 1; goto b477; -b468: v583 = 1UL; +b468: v583 = 1; goto b469; -b463: if ((vkind) != (58UL)) { goto b481; } -b480: if (!(vrhs)) { goto b486; } -b485: v602 = 0UL; - goto b487; -b487: if (!(v602)) { goto b482; } -b483: v603 = (u)zcdie; +b463: if (vkind != 58) goto b481; + if (!vrhs) goto b486; + v602 = 0; +b487: if (!v602) goto b482; + v603 = (u)zcdie; v604 = vc; v605 = (u)"not lexpr"; - v606 = ((u (*)())(v603))(v604, v605); + v606 = ((u(*)())v603)(v604, v605); b482: v607 = (u)ztypecheck_expr; v608 = vc; v609 = vd; - v610 = *(u *)((vn) + (8UL)); - v611 = 1UL; - v612 = ((u (*)())(v607))(v608, v609, v610, v611); -b489: v614 = (u)ztype_isint; - v615 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v616 = ((u (*)())(v614))(v615); -b496: if (!(v616)) { goto b494; } -b493: v613 = 0UL; - goto b495; -b495: if (!(v613)) { goto b490; } -b491: v617 = (u)zcdie; + v610 = *(u*)(vn + 8); + v611 = 1; + v612 = ((u(*)())v607)(v608, v609, v610, v611); + v614 = (u)ztype_isint; + v615 = *(u*)(*(u*)(vn + 8) + 64); + v616 = ((u(*)())v614)(v615); + if (!v616) goto b494; + v613 = 0; +b495: if (!v613) goto b490; + v617 = (u)zcdie; v618 = vc; v619 = (u)"neg: not an int"; - v620 = ((u (*)())(v617))(v618, v619); -b490: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v620 = ((u(*)())v617)(v618, v619); +b490: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b494: v613 = 1UL; +b494: v613 = 1; goto b495; -b486: v602 = 1UL; +b486: v602 = 1; goto b487; -b481: if ((vkind) != (56UL)) { goto b499; } -b498: if (!(vrhs)) { goto b504; } -b503: v621 = 0UL; - goto b505; -b505: if (!(v621)) { goto b500; } -b501: v622 = (u)zcdie; +b481: if (vkind != 56) goto b499; + if (!vrhs) goto b504; + v621 = 0; +b505: if (!v621) goto b500; + v622 = (u)zcdie; v623 = vc; v624 = (u)"not lexpr"; - v625 = ((u (*)())(v622))(v623, v624); + v625 = ((u(*)())v622)(v623, v624); b500: v626 = (u)ztypecheck_expr; v627 = vc; v628 = vd; - v629 = *(u *)((vn) + (8UL)); - v630 = 1UL; - v631 = ((u (*)())(v626))(v627, v628, v629, v630); -b507: v633 = (u)ztype_isint; - v634 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v635 = ((u (*)())(v633))(v634); -b514: if (!(v635)) { goto b512; } -b511: v632 = 0UL; - goto b513; -b513: if (!(v632)) { goto b508; } -b509: v636 = (u)zcdie; + v629 = *(u*)(vn + 8); + v630 = 1; + v631 = ((u(*)())v626)(v627, v628, v629, v630); + v633 = (u)ztype_isint; + v634 = *(u*)(*(u*)(vn + 8) + 64); + v635 = ((u(*)())v633)(v634); + if (!v635) goto b512; + v632 = 0; +b513: if (!v632) goto b508; + v636 = (u)zcdie; v637 = vc; v638 = (u)"not: not an int"; - v639 = ((u (*)())(v636))(v637, v638); -b508: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v639 = ((u(*)())v636)(v637, v638); +b508: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b512: v632 = 1UL; +b512: v632 = 1; goto b513; -b504: v621 = 1UL; +b504: v621 = 1; goto b505; -b499: if ((vkind) != (45UL)) { goto b517; } -b516: if (!(vrhs)) { goto b522; } -b521: v640 = 0UL; - goto b523; -b523: if (!(v640)) { goto b518; } -b519: v641 = (u)zcdie; +b499: if (vkind != 45) goto b517; + if (!vrhs) goto b522; + v640 = 0; +b523: if (!v640) goto b518; + v641 = (u)zcdie; v642 = vc; v643 = (u)"not lexpr"; - v644 = ((u (*)())(v641))(v642, v643); + v644 = ((u(*)())v641)(v642, v643); b518: v645 = (u)ztypecheck_expr; v646 = vc; v647 = vd; - v648 = *(u *)((vn) + (16UL)); - v649 = 1UL; - v650 = ((u (*)())(v645))(v646, v647, v648, v649); -b525: v651 = (u)ztypecheck_expr; + v648 = *(u*)(vn + 16); + v649 = 1; + v650 = ((u(*)())v645)(v646, v647, v648, v649); + v651 = (u)ztypecheck_expr; v652 = vc; v653 = vd; - v654 = *(u *)((vn) + (8UL)); - v655 = 1UL; - v656 = ((u (*)())(v651))(v652, v653, v654, v655); -b526: v657 = (u)zunify; + v654 = *(u*)(vn + 8); + v655 = 1; + v656 = ((u(*)())v651)(v652, v653, v654, v655); + v657 = (u)zunify; v658 = vc; - v659 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v660 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v661 = ((u (*)())(v657))(v658, v659, v660); -b527: v663 = (u)ztype_isint; - v664 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v665 = ((u (*)())(v663))(v664); -b534: if (!(v665)) { goto b532; } -b531: v662 = 0UL; - goto b533; -b533: if (!(v662)) { goto b528; } -b529: v666 = (u)zcdie; + v659 = *(u*)(*(u*)(vn + 8) + 64); + v660 = *(u*)(*(u*)(vn + 16) + 64); + v661 = ((u(*)())v657)(v658, v659, v660); + v663 = (u)ztype_isint; + v664 = *(u*)(*(u*)(vn + 8) + 64); + v665 = ((u(*)())v663)(v664); + if (!v665) goto b532; + v662 = 0; +b533: if (!v662) goto b528; + v666 = (u)zcdie; v667 = vc; v668 = (u)"add: not an int"; - v669 = ((u (*)())(v666))(v667, v668); -b528: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v669 = ((u(*)())v666)(v667, v668); +b528: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b532: v662 = 1UL; +b532: v662 = 1; goto b533; -b522: v640 = 1UL; +b522: v640 = 1; goto b523; -b517: if ((vkind) != (46UL)) { goto b537; } -b536: if (!(vrhs)) { goto b542; } -b541: v670 = 0UL; - goto b543; -b543: if (!(v670)) { goto b538; } -b539: v671 = (u)zcdie; +b517: if (vkind != 46) goto b537; + if (!vrhs) goto b542; + v670 = 0; +b543: if (!v670) goto b538; + v671 = (u)zcdie; v672 = vc; v673 = (u)"not lexpr"; - v674 = ((u (*)())(v671))(v672, v673); + v674 = ((u(*)())v671)(v672, v673); b538: v675 = (u)ztypecheck_expr; v676 = vc; v677 = vd; - v678 = *(u *)((vn) + (16UL)); - v679 = 1UL; - v680 = ((u (*)())(v675))(v676, v677, v678, v679); -b545: v681 = (u)ztypecheck_expr; + v678 = *(u*)(vn + 16); + v679 = 1; + v680 = ((u(*)())v675)(v676, v677, v678, v679); + v681 = (u)ztypecheck_expr; v682 = vc; v683 = vd; - v684 = *(u *)((vn) + (8UL)); - v685 = 1UL; - v686 = ((u (*)())(v681))(v682, v683, v684, v685); -b546: v687 = (u)zunify; + v684 = *(u*)(vn + 8); + v685 = 1; + v686 = ((u(*)())v681)(v682, v683, v684, v685); + v687 = (u)zunify; v688 = vc; - v689 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v690 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v691 = ((u (*)())(v687))(v688, v689, v690); -b547: v693 = (u)ztype_isint; - v694 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v695 = ((u (*)())(v693))(v694); -b554: if (!(v695)) { goto b552; } -b551: v692 = 0UL; - goto b553; -b553: if (!(v692)) { goto b548; } -b549: v696 = (u)zcdie; + v689 = *(u*)(*(u*)(vn + 8) + 64); + v690 = *(u*)(*(u*)(vn + 16) + 64); + v691 = ((u(*)())v687)(v688, v689, v690); + v693 = (u)ztype_isint; + v694 = *(u*)(*(u*)(vn + 8) + 64); + v695 = ((u(*)())v693)(v694); + if (!v695) goto b552; + v692 = 0; +b553: if (!v692) goto b548; + v696 = (u)zcdie; v697 = vc; v698 = (u)"sub: not an int"; - v699 = ((u (*)())(v696))(v697, v698); -b548: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v699 = ((u(*)())v696)(v697, v698); +b548: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b552: v692 = 1UL; +b552: v692 = 1; goto b553; -b542: v670 = 1UL; +b542: v670 = 1; goto b543; -b537: if ((vkind) != (47UL)) { goto b557; } -b556: if (!(vrhs)) { goto b562; } -b561: v700 = 0UL; - goto b563; -b563: if (!(v700)) { goto b558; } -b559: v701 = (u)zcdie; +b537: if (vkind != 47) goto b557; + if (!vrhs) goto b562; + v700 = 0; +b563: if (!v700) goto b558; + v701 = (u)zcdie; v702 = vc; v703 = (u)"not lexpr"; - v704 = ((u (*)())(v701))(v702, v703); + v704 = ((u(*)())v701)(v702, v703); b558: v705 = (u)ztypecheck_expr; v706 = vc; v707 = vd; - v708 = *(u *)((vn) + (16UL)); - v709 = 1UL; - v710 = ((u (*)())(v705))(v706, v707, v708, v709); -b565: v711 = (u)ztypecheck_expr; + v708 = *(u*)(vn + 16); + v709 = 1; + v710 = ((u(*)())v705)(v706, v707, v708, v709); + v711 = (u)ztypecheck_expr; v712 = vc; v713 = vd; - v714 = *(u *)((vn) + (8UL)); - v715 = 1UL; - v716 = ((u (*)())(v711))(v712, v713, v714, v715); -b566: v717 = (u)zunify; + v714 = *(u*)(vn + 8); + v715 = 1; + v716 = ((u(*)())v711)(v712, v713, v714, v715); + v717 = (u)zunify; v718 = vc; - v719 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v720 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v721 = ((u (*)())(v717))(v718, v719, v720); -b567: v723 = (u)ztype_isint; - v724 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v725 = ((u (*)())(v723))(v724); -b574: if (!(v725)) { goto b572; } -b571: v722 = 0UL; - goto b573; -b573: if (!(v722)) { goto b568; } -b569: v726 = (u)zcdie; + v719 = *(u*)(*(u*)(vn + 8) + 64); + v720 = *(u*)(*(u*)(vn + 16) + 64); + v721 = ((u(*)())v717)(v718, v719, v720); + v723 = (u)ztype_isint; + v724 = *(u*)(*(u*)(vn + 8) + 64); + v725 = ((u(*)())v723)(v724); + if (!v725) goto b572; + v722 = 0; +b573: if (!v722) goto b568; + v726 = (u)zcdie; v727 = vc; v728 = (u)"mul: not an int"; - v729 = ((u (*)())(v726))(v727, v728); -b568: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v729 = ((u(*)())v726)(v727, v728); +b568: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b572: v722 = 1UL; +b572: v722 = 1; goto b573; -b562: v700 = 1UL; +b562: v700 = 1; goto b563; -b557: if ((vkind) != (59UL)) { goto b577; } -b576: if (!(vrhs)) { goto b582; } -b581: v730 = 0UL; - goto b583; -b583: if (!(v730)) { goto b578; } -b579: v731 = (u)zcdie; +b557: if (vkind != 59) goto b577; + if (!vrhs) goto b582; + v730 = 0; +b583: if (!v730) goto b578; + v731 = (u)zcdie; v732 = vc; v733 = (u)"not lexpr"; - v734 = ((u (*)())(v731))(v732, v733); + v734 = ((u(*)())v731)(v732, v733); b578: v735 = (u)ztypecheck_expr; v736 = vc; v737 = vd; - v738 = *(u *)((vn) + (16UL)); - v739 = 1UL; - v740 = ((u (*)())(v735))(v736, v737, v738, v739); -b585: v741 = (u)ztypecheck_expr; + v738 = *(u*)(vn + 16); + v739 = 1; + v740 = ((u(*)())v735)(v736, v737, v738, v739); + v741 = (u)ztypecheck_expr; v742 = vc; v743 = vd; - v744 = *(u *)((vn) + (8UL)); - v745 = 1UL; - v746 = ((u (*)())(v741))(v742, v743, v744, v745); -b586: v747 = (u)zunify; + v744 = *(u*)(vn + 8); + v745 = 1; + v746 = ((u(*)())v741)(v742, v743, v744, v745); + v747 = (u)zunify; v748 = vc; - v749 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v750 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v751 = ((u (*)())(v747))(v748, v749, v750); -b587: v753 = (u)ztype_isint; - v754 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v755 = ((u (*)())(v753))(v754); -b594: if (!(v755)) { goto b592; } -b591: v752 = 0UL; - goto b593; -b593: if (!(v752)) { goto b588; } -b589: v756 = (u)zcdie; + v749 = *(u*)(*(u*)(vn + 8) + 64); + v750 = *(u*)(*(u*)(vn + 16) + 64); + v751 = ((u(*)())v747)(v748, v749, v750); + v753 = (u)ztype_isint; + v754 = *(u*)(*(u*)(vn + 8) + 64); + v755 = ((u(*)())v753)(v754); + if (!v755) goto b592; + v752 = 0; +b593: if (!v752) goto b588; + v756 = (u)zcdie; v757 = vc; v758 = (u)"div: not an int"; - v759 = ((u (*)())(v756))(v757, v758); -b588: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v759 = ((u(*)())v756)(v757, v758); +b588: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b592: v752 = 1UL; +b592: v752 = 1; goto b593; -b582: v730 = 1UL; +b582: v730 = 1; goto b583; -b577: if ((vkind) != (60UL)) { goto b597; } -b596: if (!(vrhs)) { goto b602; } -b601: v760 = 0UL; - goto b603; -b603: if (!(v760)) { goto b598; } -b599: v761 = (u)zcdie; +b577: if (vkind != 60) goto b597; + if (!vrhs) goto b602; + v760 = 0; +b603: if (!v760) goto b598; + v761 = (u)zcdie; v762 = vc; v763 = (u)"not lexpr"; - v764 = ((u (*)())(v761))(v762, v763); + v764 = ((u(*)())v761)(v762, v763); b598: v765 = (u)ztypecheck_expr; v766 = vc; v767 = vd; - v768 = *(u *)((vn) + (16UL)); - v769 = 1UL; - v770 = ((u (*)())(v765))(v766, v767, v768, v769); -b605: v771 = (u)ztypecheck_expr; + v768 = *(u*)(vn + 16); + v769 = 1; + v770 = ((u(*)())v765)(v766, v767, v768, v769); + v771 = (u)ztypecheck_expr; v772 = vc; v773 = vd; - v774 = *(u *)((vn) + (8UL)); - v775 = 1UL; - v776 = ((u (*)())(v771))(v772, v773, v774, v775); -b606: v777 = (u)zunify; + v774 = *(u*)(vn + 8); + v775 = 1; + v776 = ((u(*)())v771)(v772, v773, v774, v775); + v777 = (u)zunify; v778 = vc; - v779 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v780 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v781 = ((u (*)())(v777))(v778, v779, v780); -b607: v783 = (u)ztype_isint; - v784 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v785 = ((u (*)())(v783))(v784); -b614: if (!(v785)) { goto b612; } -b611: v782 = 0UL; - goto b613; -b613: if (!(v782)) { goto b608; } -b609: v786 = (u)zcdie; + v779 = *(u*)(*(u*)(vn + 8) + 64); + v780 = *(u*)(*(u*)(vn + 16) + 64); + v781 = ((u(*)())v777)(v778, v779, v780); + v783 = (u)ztype_isint; + v784 = *(u*)(*(u*)(vn + 8) + 64); + v785 = ((u(*)())v783)(v784); + if (!v785) goto b612; + v782 = 0; +b613: if (!v782) goto b608; + v786 = (u)zcdie; v787 = vc; v788 = (u)"mod: not an int"; - v789 = ((u (*)())(v786))(v787, v788); -b608: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v789 = ((u(*)())v786)(v787, v788); +b608: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b612: v782 = 1UL; +b612: v782 = 1; goto b613; -b602: v760 = 1UL; +b602: v760 = 1; goto b603; -b597: if ((vkind) != (48UL)) { goto b617; } -b616: if (!(vrhs)) { goto b622; } -b621: v790 = 0UL; - goto b623; -b623: if (!(v790)) { goto b618; } -b619: v791 = (u)zcdie; +b597: if (vkind != 48) goto b617; + if (!vrhs) goto b622; + v790 = 0; +b623: if (!v790) goto b618; + v791 = (u)zcdie; v792 = vc; v793 = (u)"not lexpr"; - v794 = ((u (*)())(v791))(v792, v793); + v794 = ((u(*)())v791)(v792, v793); b618: v795 = (u)ztypecheck_expr; v796 = vc; v797 = vd; - v798 = *(u *)((vn) + (16UL)); - v799 = 1UL; - v800 = ((u (*)())(v795))(v796, v797, v798, v799); -b625: v801 = (u)ztypecheck_expr; + v798 = *(u*)(vn + 16); + v799 = 1; + v800 = ((u(*)())v795)(v796, v797, v798, v799); + v801 = (u)ztypecheck_expr; v802 = vc; v803 = vd; - v804 = *(u *)((vn) + (8UL)); - v805 = 1UL; - v806 = ((u (*)())(v801))(v802, v803, v804, v805); -b626: v807 = (u)zunify; + v804 = *(u*)(vn + 8); + v805 = 1; + v806 = ((u(*)())v801)(v802, v803, v804, v805); + v807 = (u)zunify; v808 = vc; - v809 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v810 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v811 = ((u (*)())(v807))(v808, v809, v810); -b627: v813 = (u)ztype_isint; - v814 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v815 = ((u (*)())(v813))(v814); -b634: if (!(v815)) { goto b632; } -b631: v812 = 0UL; - goto b633; -b633: if (!(v812)) { goto b628; } -b629: v816 = (u)zcdie; + v809 = *(u*)(*(u*)(vn + 8) + 64); + v810 = *(u*)(*(u*)(vn + 16) + 64); + v811 = ((u(*)())v807)(v808, v809, v810); + v813 = (u)ztype_isint; + v814 = *(u*)(*(u*)(vn + 8) + 64); + v815 = ((u(*)())v813)(v814); + if (!v815) goto b632; + v812 = 0; +b633: if (!v812) goto b628; + v816 = (u)zcdie; v817 = vc; v818 = (u)"lsh: not an int"; - v819 = ((u (*)())(v816))(v817, v818); -b628: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v819 = ((u(*)())v816)(v817, v818); +b628: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b632: v812 = 1UL; +b632: v812 = 1; goto b633; -b622: v790 = 1UL; +b622: v790 = 1; goto b623; -b617: if ((vkind) != (49UL)) { goto b637; } -b636: if (!(vrhs)) { goto b642; } -b641: v820 = 0UL; - goto b643; -b643: if (!(v820)) { goto b638; } -b639: v821 = (u)zcdie; +b617: if (vkind != 49) goto b637; + if (!vrhs) goto b642; + v820 = 0; +b643: if (!v820) goto b638; + v821 = (u)zcdie; v822 = vc; v823 = (u)"not lexpr"; - v824 = ((u (*)())(v821))(v822, v823); + v824 = ((u(*)())v821)(v822, v823); b638: v825 = (u)ztypecheck_expr; v826 = vc; v827 = vd; - v828 = *(u *)((vn) + (16UL)); - v829 = 1UL; - v830 = ((u (*)())(v825))(v826, v827, v828, v829); -b645: v831 = (u)ztypecheck_expr; + v828 = *(u*)(vn + 16); + v829 = 1; + v830 = ((u(*)())v825)(v826, v827, v828, v829); + v831 = (u)ztypecheck_expr; v832 = vc; v833 = vd; - v834 = *(u *)((vn) + (8UL)); - v835 = 1UL; - v836 = ((u (*)())(v831))(v832, v833, v834, v835); -b646: v837 = (u)zunify; + v834 = *(u*)(vn + 8); + v835 = 1; + v836 = ((u(*)())v831)(v832, v833, v834, v835); + v837 = (u)zunify; v838 = vc; - v839 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v840 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v841 = ((u (*)())(v837))(v838, v839, v840); -b647: v843 = (u)ztype_isint; - v844 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v845 = ((u (*)())(v843))(v844); -b654: if (!(v845)) { goto b652; } -b651: v842 = 0UL; - goto b653; -b653: if (!(v842)) { goto b648; } -b649: v846 = (u)zcdie; + v839 = *(u*)(*(u*)(vn + 8) + 64); + v840 = *(u*)(*(u*)(vn + 16) + 64); + v841 = ((u(*)())v837)(v838, v839, v840); + v843 = (u)ztype_isint; + v844 = *(u*)(*(u*)(vn + 8) + 64); + v845 = ((u(*)())v843)(v844); + if (!v845) goto b652; + v842 = 0; +b653: if (!v842) goto b648; + v846 = (u)zcdie; v847 = vc; v848 = (u)"rsh: not an int"; - v849 = ((u (*)())(v846))(v847, v848); -b648: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v849 = ((u(*)())v846)(v847, v848); +b648: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b652: v842 = 1UL; +b652: v842 = 1; goto b653; -b642: v820 = 1UL; +b642: v820 = 1; goto b643; -b637: if ((vkind) != (53UL)) { goto b657; } -b656: if (!(vrhs)) { goto b662; } -b661: v850 = 0UL; - goto b663; -b663: if (!(v850)) { goto b658; } -b659: v851 = (u)zcdie; +b637: if (vkind != 53) goto b657; + if (!vrhs) goto b662; + v850 = 0; +b663: if (!v850) goto b658; + v851 = (u)zcdie; v852 = vc; v853 = (u)"not lexpr"; - v854 = ((u (*)())(v851))(v852, v853); + v854 = ((u(*)())v851)(v852, v853); b658: v855 = (u)ztypecheck_expr; v856 = vc; v857 = vd; - v858 = *(u *)((vn) + (16UL)); - v859 = 1UL; - v860 = ((u (*)())(v855))(v856, v857, v858, v859); -b665: v861 = (u)ztypecheck_expr; + v858 = *(u*)(vn + 16); + v859 = 1; + v860 = ((u(*)())v855)(v856, v857, v858, v859); + v861 = (u)ztypecheck_expr; v862 = vc; v863 = vd; - v864 = *(u *)((vn) + (8UL)); - v865 = 1UL; - v866 = ((u (*)())(v861))(v862, v863, v864, v865); -b666: v867 = (u)zunify; + v864 = *(u*)(vn + 8); + v865 = 1; + v866 = ((u(*)())v861)(v862, v863, v864, v865); + v867 = (u)zunify; v868 = vc; - v869 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v870 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v871 = ((u (*)())(v867))(v868, v869, v870); -b667: v873 = (u)ztype_isint; - v874 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v875 = ((u (*)())(v873))(v874); -b674: if (!(v875)) { goto b672; } -b671: v872 = 0UL; - goto b673; -b673: if (!(v872)) { goto b668; } -b669: v876 = (u)zcdie; + v869 = *(u*)(*(u*)(vn + 8) + 64); + v870 = *(u*)(*(u*)(vn + 16) + 64); + v871 = ((u(*)())v867)(v868, v869, v870); + v873 = (u)ztype_isint; + v874 = *(u*)(*(u*)(vn + 8) + 64); + v875 = ((u(*)())v873)(v874); + if (!v875) goto b672; + v872 = 0; +b673: if (!v872) goto b668; + v876 = (u)zcdie; v877 = vc; v878 = (u)"and: not an int"; - v879 = ((u (*)())(v876))(v877, v878); -b668: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v879 = ((u(*)())v876)(v877, v878); +b668: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b672: v872 = 1UL; +b672: v872 = 1; goto b673; -b662: v850 = 1UL; +b662: v850 = 1; goto b663; -b657: if ((vkind) != (54UL)) { goto b677; } -b676: if (!(vrhs)) { goto b682; } -b681: v880 = 0UL; - goto b683; -b683: if (!(v880)) { goto b678; } -b679: v881 = (u)zcdie; +b657: if (vkind != 54) goto b677; + if (!vrhs) goto b682; + v880 = 0; +b683: if (!v880) goto b678; + v881 = (u)zcdie; v882 = vc; v883 = (u)"not lexpr"; - v884 = ((u (*)())(v881))(v882, v883); + v884 = ((u(*)())v881)(v882, v883); b678: v885 = (u)ztypecheck_expr; v886 = vc; v887 = vd; - v888 = *(u *)((vn) + (16UL)); - v889 = 1UL; - v890 = ((u (*)())(v885))(v886, v887, v888, v889); -b685: v891 = (u)ztypecheck_expr; + v888 = *(u*)(vn + 16); + v889 = 1; + v890 = ((u(*)())v885)(v886, v887, v888, v889); + v891 = (u)ztypecheck_expr; v892 = vc; v893 = vd; - v894 = *(u *)((vn) + (8UL)); - v895 = 1UL; - v896 = ((u (*)())(v891))(v892, v893, v894, v895); -b686: v897 = (u)zunify; + v894 = *(u*)(vn + 8); + v895 = 1; + v896 = ((u(*)())v891)(v892, v893, v894, v895); + v897 = (u)zunify; v898 = vc; - v899 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v900 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v901 = ((u (*)())(v897))(v898, v899, v900); -b687: v903 = (u)ztype_isint; - v904 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v905 = ((u (*)())(v903))(v904); -b694: if (!(v905)) { goto b692; } -b691: v902 = 0UL; - goto b693; -b693: if (!(v902)) { goto b688; } -b689: v906 = (u)zcdie; + v899 = *(u*)(*(u*)(vn + 8) + 64); + v900 = *(u*)(*(u*)(vn + 16) + 64); + v901 = ((u(*)())v897)(v898, v899, v900); + v903 = (u)ztype_isint; + v904 = *(u*)(*(u*)(vn + 8) + 64); + v905 = ((u(*)())v903)(v904); + if (!v905) goto b692; + v902 = 0; +b693: if (!v902) goto b688; + v906 = (u)zcdie; v907 = vc; v908 = (u)"or: not an int"; - v909 = ((u (*)())(v906))(v907, v908); -b688: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v909 = ((u(*)())v906)(v907, v908); +b688: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b692: v902 = 1UL; +b692: v902 = 1; goto b693; -b682: v880 = 1UL; +b682: v880 = 1; goto b683; -b677: if ((vkind) != (55UL)) { goto b697; } -b696: if (!(vrhs)) { goto b702; } -b701: v910 = 0UL; - goto b703; -b703: if (!(v910)) { goto b698; } -b699: v911 = (u)zcdie; +b677: if (vkind != 55) goto b697; + if (!vrhs) goto b702; + v910 = 0; +b703: if (!v910) goto b698; + v911 = (u)zcdie; v912 = vc; v913 = (u)"not lexpr"; - v914 = ((u (*)())(v911))(v912, v913); + v914 = ((u(*)())v911)(v912, v913); b698: v915 = (u)ztypecheck_expr; v916 = vc; v917 = vd; - v918 = *(u *)((vn) + (16UL)); - v919 = 1UL; - v920 = ((u (*)())(v915))(v916, v917, v918, v919); -b705: v921 = (u)ztypecheck_expr; + v918 = *(u*)(vn + 16); + v919 = 1; + v920 = ((u(*)())v915)(v916, v917, v918, v919); + v921 = (u)ztypecheck_expr; v922 = vc; v923 = vd; - v924 = *(u *)((vn) + (8UL)); - v925 = 1UL; - v926 = ((u (*)())(v921))(v922, v923, v924, v925); -b706: v927 = (u)zunify; + v924 = *(u*)(vn + 8); + v925 = 1; + v926 = ((u(*)())v921)(v922, v923, v924, v925); + v927 = (u)zunify; v928 = vc; - v929 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v930 = *(u *)((*(u *)((vn) + (16UL))) + (64UL)); - v931 = ((u (*)())(v927))(v928, v929, v930); -b707: v933 = (u)ztype_isint; - v934 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v935 = ((u (*)())(v933))(v934); -b714: if (!(v935)) { goto b712; } -b711: v932 = 0UL; - goto b713; -b713: if (!(v932)) { goto b708; } -b709: v936 = (u)zcdie; + v929 = *(u*)(*(u*)(vn + 8) + 64); + v930 = *(u*)(*(u*)(vn + 16) + 64); + v931 = ((u(*)())v927)(v928, v929, v930); + v933 = (u)ztype_isint; + v934 = *(u*)(*(u*)(vn + 8) + 64); + v935 = ((u(*)())v933)(v934); + if (!v935) goto b712; + v932 = 0; +b713: if (!v932) goto b708; + v936 = (u)zcdie; v937 = vc; v938 = (u)"xor: not an int"; - v939 = ((u (*)())(v936))(v937, v938); -b708: *(u *)((vn) + (64UL)) = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); + v939 = ((u(*)())v936)(v937, v938); +b708: *(u*)(vn + 64) = *(u*)(*(u*)(vn + 8) + 64); goto b1; -b712: v932 = 1UL; +b712: v932 = 1; goto b713; -b702: v910 = 1UL; +b702: v910 = 1; goto b703; -b697: if ((vkind) != (37UL)) { goto b717; } -b716: if (!(vrhs)) { goto b722; } -b721: v940 = 0UL; - goto b723; -b723: if (!(v940)) { goto b718; } -b719: v941 = (u)zcdie; +b697: if (vkind != 37) goto b717; + if (!vrhs) goto b722; + v940 = 0; +b723: if (!v940) goto b718; + v941 = (u)zcdie; v942 = vc; v943 = (u)"not lexpr"; - v944 = ((u (*)())(v941))(v942, v943); + v944 = ((u(*)())v941)(v942, v943); b718: v945 = (u)ztypecheck_expr; v946 = vc; v947 = vd; - v948 = *(u *)((vn) + (8UL)); - v949 = 1UL; - v950 = ((u (*)())(v945))(v946, v947, v948, v949); -b725: v952 = (u)ztype_isprim; - v953 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v954 = ((u (*)())(v952))(v953); -b732: if (!(v954)) { goto b730; } -b729: v951 = 0UL; - goto b731; -b731: if (!(v951)) { goto b726; } -b727: v955 = (u)zcdie; + v948 = *(u*)(vn + 8); + v949 = 1; + v950 = ((u(*)())v945)(v946, v947, v948, v949); + v952 = (u)ztype_isprim; + v953 = *(u*)(*(u*)(vn + 8) + 64); + v954 = ((u(*)())v952)(v953); + if (!v954) goto b730; + v951 = 0; +b731: if (!v951) goto b726; + v955 = (u)zcdie; v956 = vc; v957 = (u)"not a primitive"; - v958 = ((u (*)())(v955))(v956, v957); + v958 = ((u(*)())v955)(v956, v957); b726: v959 = (u)zprototype; v960 = vc; - v961 = *(u *)((vn) + (16UL)); - v962 = ((u (*)())(v959))(v960, v961); -b734: *(u *)((vn) + (64UL)) = v962; + v961 = *(u*)(vn + 16); + v962 = ((u(*)())v959)(v960, v961); + *(u*)(vn + 64) = v962; goto b1; -b730: v951 = 1UL; +b730: v951 = 1; goto b731; -b722: v940 = 1UL; +b722: v940 = 1; goto b723; b717: v963 = (u)zcdie; v964 = vc; v965 = (u)"not an expression"; - v966 = ((u (*)())(v963))(v964, v965); + v966 = ((u(*)())v963)(v964, v965); goto b1; } -u ztypecheck_stmt(u vc, u vd, u vn) { +u ztypecheck_stmt(u vc, u vd, u vn){ u vv = 0; u vkind = 0; u v5 = 0; @@ -37239,149 +36533,143 @@ u ztypecheck_stmt(u vc, u vd, u vn) { u v78 = 0; u v79 = 0; u v80 = 0; -b0: if (!(vn)) { goto b5; } -b4: v5 = 0UL; - goto b6; -b6: if (!(v5)) { goto b1; } -b2: return 0UL; -b1: *(u *)((vc) + (24UL)) = *(u *)((vn) + (24UL)); - *(u *)((vc) + (32UL)) = *(u *)((vn) + (32UL)); - *(u *)((vc) + (40UL)) = *(u *)((vn) + (40UL)); - vkind = *(u *)(vn); - if ((vkind) != (21UL)) { goto b9; } -b10: if (!(vn)) { goto b16; } -b15: v6 = 0UL; - goto b17; -b17: if (!(v6)) { goto b12; } -b7: return 0UL; -b12: if (!(*(u *)((*(u *)((vn) + (8UL))) + (8UL)))) { goto b18; } -b19: v7 = (u)ztypecheck_expr; + if (!vn) goto b5; + v5 = 0; +b6: if (!v5) goto b1; + return 0; +b1: *(u*)(vc + 24) = *(u*)(vn + 24); + *(u*)(vc + 32) = *(u*)(vn + 32); + *(u*)(vc + 40) = *(u*)(vn + 40); + vkind = *(u*)vn; + if (vkind != 21) goto b9; +b10: if (!vn) goto b16; + v6 = 0; +b17: if (!v6) goto b12; +b7: return 0; +b12: if (!*(u*)(*(u*)(vn + 8) + 8)) goto b18; + v7 = (u)ztypecheck_expr; v8 = vc; v9 = vd; - v10 = *(u *)((*(u *)((vn) + (8UL))) + (8UL)); - v11 = 1UL; - v12 = ((u (*)())(v7))(v8, v9, v10, v11); + v10 = *(u*)(*(u*)(vn + 8) + 8); + v11 = 1; + v12 = ((u(*)())v7)(v8, v9, v10, v11); b18: v13 = (u)ztypecheck_stmt; v14 = vc; v15 = vd; - v16 = *(u *)((*(u *)((vn) + (8UL))) + (16UL)); - v17 = ((u (*)())(v13))(v14, v15, v16); -b22: vn = *(u *)((vn) + (16UL)); + v16 = *(u*)(*(u*)(vn + 8) + 16); + v17 = ((u(*)())v13)(v14, v15, v16); + vn = *(u*)(vn + 16); goto b10; -b16: v6 = 1UL; +b16: v6 = 1; goto b17; -b9: if ((vkind) != (5UL)) { goto b24; } -b25: if (!(vn)) { goto b31; } -b30: v18 = 0UL; - goto b32; -b32: if (!(v18)) { goto b27; } +b9: if (vkind != 5) goto b24; +b25: if (!vn) goto b31; + v18 = 0; +b32: if (!v18) goto b27; goto b7; b27: v19 = (u)ztypecheck_stmt; v20 = vc; v21 = vd; - v22 = *(u *)((vn) + (8UL)); - v23 = ((u (*)())(v19))(v20, v21, v22); -b33: vn = *(u *)((vn) + (16UL)); + v22 = *(u*)(vn + 8); + v23 = ((u(*)())v19)(v20, v21, v22); + vn = *(u*)(vn + 16); goto b25; -b31: v18 = 1UL; +b31: v18 = 1; goto b32; -b24: if ((vkind) != (26UL)) { goto b35; } -b34: v24 = (u)ztypecheck_stmt; +b24: if (vkind != 26) goto b35; + v24 = (u)ztypecheck_stmt; v25 = vc; v26 = vd; - v27 = *(u *)((vn) + (8UL)); - v28 = ((u (*)())(v24))(v25, v26, v27); + v27 = *(u*)(vn + 8); + v28 = ((u(*)())v24)(v25, v26, v27); goto b7; -b35: if ((vkind) != (27UL)) { goto b38; } +b35: if (vkind != 27) goto b38; goto b7; -b38: if ((vkind) != (28UL)) { goto b40; } +b38: if (vkind != 28) goto b40; goto b7; -b40: if ((vkind) != (29UL)) { goto b42; } -b41: if (!(*(u *)((vn) + (8UL)))) { goto b45; } -b44: if ((*(u *)(*(u *)((*(u *)((vd) + (80UL))) + (16UL)))) != (1UL)) { goto b46; } -b47: v29 = (u)zcdie; +b40: if (vkind != 29) goto b42; + if (!*(u*)(vn + 8)) goto b45; + if (*(u*)*(u*)(*(u*)(vd + 80) + 16) != 1) goto b46; + v29 = (u)zcdie; v30 = vc; v31 = (u)"returning a value in a void function"; - v32 = ((u (*)())(v29))(v30, v31); + v32 = ((u(*)())v29)(v30, v31); b46: v33 = (u)zcall_check; v34 = vc; - v35 = *(u *)((vn) + (8UL)); - v36 = ((u (*)())(v33))(v34, v35); -b50: v37 = (u)ztypecheck_expr; + v35 = *(u*)(vn + 8); + v36 = ((u(*)())v33)(v34, v35); + v37 = (u)ztypecheck_expr; v38 = vc; v39 = vd; - v40 = *(u *)((vn) + (8UL)); - v41 = 1UL; - v42 = ((u (*)())(v37))(v38, v39, v40, v41); -b51: v43 = (u)zunify; + v40 = *(u*)(vn + 8); + v41 = 1; + v42 = ((u(*)())v37)(v38, v39, v40, v41); + v43 = (u)zunify; v44 = vc; - v45 = *(u *)((*(u *)((vn) + (8UL))) + (64UL)); - v46 = *(u *)((*(u *)((vd) + (80UL))) + (16UL)); - v47 = ((u (*)())(v43))(v44, v45, v46); + v45 = *(u*)(*(u*)(vn + 8) + 64); + v46 = *(u*)(*(u*)(vd + 80) + 16); + v47 = ((u(*)())v43)(v44, v45, v46); goto b7; -b45: if ((*(u *)(*(u *)((*(u *)((vd) + (80UL))) + (16UL)))) == (1UL)) { goto b7; } -b54: v48 = (u)zcdie; +b45: if (*(u*)*(u*)(*(u*)(vd + 80) + 16) == 1) goto b7; + v48 = (u)zcdie; v49 = vc; v50 = (u)"returning void in a non void function"; - v51 = ((u (*)())(v48))(v49, v50); + v51 = ((u(*)())v48)(v49, v50); goto b7; -b42: if ((vkind) != (31UL)) { goto b58; } -b57: v52 = (u)zfind; +b42: if (vkind != 31) goto b58; + v52 = (u)zfind; v53 = vc; - v54 = *(u *)((vd) + (32UL)); - v55 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - v56 = 0UL; - v57 = ((u (*)())(v52))(v53, v54, v55, v56); -b59: vv = v57; + v54 = *(u*)(vd + 32); + v55 = *(u*)(*(u*)(vn + 8) + 56); + v56 = 0; + v57 = ((u(*)())v52)(v53, v54, v55, v56); + vv = v57; goto b7; -b58: if ((vkind) != (32UL)) { goto b61; } -b60: v58 = (u)zfind; +b58: if (vkind != 32) goto b61; + v58 = (u)zfind; v59 = vc; - v60 = *(u *)((vd) + (32UL)); - v61 = *(u *)((*(u *)((vn) + (8UL))) + (56UL)); - v62 = 0UL; - v63 = ((u (*)())(v58))(v59, v60, v61, v62); -b62: vv = v63; - if (!(vv)) { goto b71; } -b70: v65 = 0UL; - goto b72; -b72: if (!(v65)) { goto b67; } -b66: v64 = 1UL; - goto b69; -b69: if (!(v64)) { goto b7; } -b64: v67 = (u)zcdie; + v60 = *(u*)(vd + 32); + v61 = *(u*)(*(u*)(vn + 8) + 56); + v62 = 0; + v63 = ((u(*)())v58)(v59, v60, v61, v62); + vv = v63; + if (!vv) goto b71; + v65 = 0; +b72: if (!v65) goto b67; + v64 = 1; +b69: if (!v64) goto b7; + v67 = (u)zcdie; v68 = vc; v69 = (u)"label not defined"; - v70 = ((u (*)())(v67))(v68, v69); + v70 = ((u(*)())v67)(v68, v69); goto b7; -b67: if (!(*(u *)((vv) + (208UL)))) { goto b75; } -b74: v66 = 0UL; - goto b76; -b76: if (!(v66)) { goto b73; } -b68: v64 = 1UL; +b67: if (!*(u*)(vv + 208)) goto b75; + v66 = 0; +b76: if (!v66) goto b73; + v64 = 1; goto b69; -b73: v64 = 0UL; +b73: v64 = 0; goto b69; -b75: v66 = 1UL; +b75: v66 = 1; goto b76; -b71: v65 = 1UL; +b71: v65 = 1; goto b72; -b61: if ((vkind) == (30UL)) { goto b7; } -b78: v71 = (u)zcall_check; +b61: if (vkind == 30) goto b7; + v71 = (u)zcall_check; v72 = vc; v73 = vn; - v74 = ((u (*)())(v71))(v72, v73); -b80: v75 = (u)ztypecheck_expr; + v74 = ((u(*)())v71)(v72, v73); + v75 = (u)ztypecheck_expr; v76 = vc; v77 = vd; v78 = vn; - v79 = 1UL; - v80 = ((u (*)())(v75))(v76, v77, v78, v79); + v79 = 1; + v80 = ((u(*)())v75)(v76, v77, v78, v79); goto b7; -b5: v5 = 1UL; +b5: v5 = 1; goto b6; } -u zunescape(u vs, u vi, u vlen, u vok) { +u zunescape(u vs, u vi, u vlen, u vok){ u vch = 0; u vhex = 0; u v6 = 0; @@ -37394,71 +36682,69 @@ u zunescape(u vs, u vi, u vlen, u vok) { u v13 = 0; u v14 = 0; u v15 = 0; -b0: *(u *)(vok) = 1UL; - if ((s)(*(u *)(vi)) < (s)(vlen)) { goto b1; } -b2: *(u *)(vok) = 0UL; - return 0UL; -b1: vch = (u)*(b *)((vs) + (*(u *)(vi))); - *(u *)(vi) = (*(u *)(vi)) + (1UL); - if ((vch) == (92UL)) { goto b4; } -b5: return vch; -b4: if ((s)(*(u *)(vi)) < (s)(vlen)) { goto b7; } -b8: *(u *)(vok) = 0UL; - return 0UL; -b7: vch = (u)*(b *)((vs) + (*(u *)(vi))); - *(u *)(vi) = (*(u *)(vi)) + (1UL); - if ((vch) != (116UL)) { goto b12; } -b11: return 9UL; -b12: if ((vch) != (114UL)) { goto b14; } -b13: return 13UL; -b14: if ((vch) != (110UL)) { goto b16; } -b15: return 10UL; -b16: if ((vch) != (92UL)) { goto b18; } -b17: return 92UL; -b18: if ((vch) != (39UL)) { goto b20; } -b19: return 39UL; -b20: if ((vch) != (34UL)) { goto b22; } -b21: return 34UL; -b22: if ((vch) != (120UL)) { goto b24; } -b23: if ((s)(*(u *)(vi)) < (s)(vlen)) { goto b25; } -b26: *(u *)(vok) = 0UL; - return 0UL; -b25: vch = (u)*(b *)((vs) + (*(u *)(vi))); - *(u *)(vi) = (*(u *)(vi)) + (1UL); + *(u*)vok = 1; + if ((s)*(u*)vi < (s)vlen) goto b1; + *(u*)vok = 0; + return 0; +b1: vch = (u)*(b*)(vs + *(u*)vi); + *(u*)vi = *(u*)vi + 1; + if (vch == 92) goto b4; + return vch; +b4: if ((s)*(u*)vi < (s)vlen) goto b7; + *(u*)vok = 0; + return 0; +b7: vch = (u)*(b*)(vs + *(u*)vi); + *(u*)vi = *(u*)vi + 1; + if (vch != 116) goto b12; + return 9; +b12: if (vch != 114) goto b14; + return 13; +b14: if (vch != 110) goto b16; + return 10; +b16: if (vch != 92) goto b18; + return 92; +b18: if (vch != 39) goto b20; + return 39; +b20: if (vch != 34) goto b22; + return 34; +b22: if (vch != 120) goto b24; + if ((s)*(u*)vi < (s)vlen) goto b25; + *(u*)vok = 0; + return 0; +b25: vch = (u)*(b*)(vs + *(u*)vi); + *(u*)vi = *(u*)vi + 1; v6 = (u)zhexdig; v7 = vch; v8 = vok; - v9 = ((u (*)())(v6))(v7, v8); -b28: vhex = (v9) * (16UL); - if (!(*(u *)(vok))) { goto b33; } -b32: v10 = 0UL; - goto b34; -b34: if (!(v10)) { goto b29; } -b30: return 0UL; -b29: if ((s)(*(u *)(vi)) < (s)(vlen)) { goto b35; } -b36: *(u *)(vok) = 0UL; - return 0UL; -b35: vch = (u)*(b *)((vs) + (*(u *)(vi))); - *(u *)(vi) = (*(u *)(vi)) + (1UL); + v9 = ((u(*)())v6)(v7, v8); + vhex = v9 * 16; + if (!*(u*)vok) goto b33; + v10 = 0; +b34: if (!v10) goto b29; + return 0; +b29: if ((s)*(u*)vi < (s)vlen) goto b35; + *(u*)vok = 0; + return 0; +b35: vch = (u)*(b*)(vs + *(u*)vi); + *(u*)vi = *(u*)vi + 1; v11 = (u)zhexdig; v12 = vch; v13 = vok; - v14 = ((u (*)())(v11))(v12, v13); -b38: vhex = (vhex) | (v14); - if (!(*(u *)(vok))) { goto b43; } -b42: v15 = 0UL; - goto b44; -b44: if (!(v15)) { goto b39; } -b40: return 0UL; + v14 = ((u(*)())v11)(v12, v13); + vhex = vhex | v14; + if (!*(u*)vok) goto b43; + v15 = 0; +b44: if (!v15) goto b39; + return 0; b39: return vhex; -b43: v15 = 1UL; +b43: v15 = 1; goto b44; -b33: v10 = 1UL; +b33: v10 = 1; goto b34; -b24: *(u *)(vok) = 0UL; - return 0UL; +b24: *(u*)vok = 0; + return 0; } -u zunify(u vc, u va, u vb) { +u zunify(u vc, u va, u vb){ u vkind = 0; u v4 = 0; u v5 = 0; @@ -37514,151 +36800,138 @@ u zunify(u vc, u va, u vb) { u v55 = 0; u v56 = 0; u v57 = 0; -b0: if ((va) != (vb)) { goto b1; } -b2: return 0UL; -b1: if (!(va)) { goto b8; } -b7: if (!(vb)) { goto b12; } -b11: if ((*(u *)(va)) != (0UL)) { goto b20; } -b19: if ((*(u *)(vb)) != (4UL)) { goto b20; } -b21: v7 = 1UL; - goto b22; -b22: if (!(v7)) { goto b16; } -b15: v6 = 1UL; - goto b18; -b18: if (!(v6)) { goto b12; } -b13: v5 = 1UL; - goto b14; -b14: if (!(v5)) { goto b8; } -b9: v4 = 1UL; - goto b10; -b10: if (!(v4)) { goto b4; } -b5: return 0UL; -b4: if (!(va)) { goto b36; } -b35: if (!(vb)) { goto b40; } -b39: v11 = 0UL; - goto b41; -b41: if (!(v11)) { goto b36; } -b37: v10 = 1UL; - goto b38; -b38: if (!(v10)) { goto b32; } -b31: v9 = 1UL; - goto b34; -b34: if (!(v9)) { goto b28; } -b29: v15 = (u)zcdie; + if (va != vb) goto b1; + return 0; +b1: if (!va) goto b8; + if (!vb) goto b12; + if (*(u*)va != 0) goto b20; + if (*(u*)vb != 4) goto b20; + v7 = 1; +b22: if (!v7) goto b16; + v6 = 1; +b18: if (!v6) goto b12; + v5 = 1; +b14: if (!v5) goto b8; + v4 = 1; +b10: if (!v4) goto b4; + return 0; +b4: if (!va) goto b36; + if (!vb) goto b40; + v11 = 0; +b41: if (!v11) goto b36; + v10 = 1; +b38: if (!v10) goto b32; + v9 = 1; +b34: if (!v9) goto b28; + v15 = (u)zcdie; v16 = vc; v17 = (u)"type error"; - v18 = ((u (*)())(v15))(v16, v17); -b28: vkind = *(u *)(va); - if ((vkind) != (4UL)) { goto b58; } -b57: v19 = (u)zunify; + v18 = ((u(*)())v15)(v16, v17); +b28: vkind = *(u*)va; + if (vkind != 4) goto b58; + v19 = (u)zunify; v20 = vc; - v21 = *(u *)((va) + (16UL)); - v22 = *(u *)((vb) + (16UL)); - v23 = ((u (*)())(v19))(v20, v21, v22); -b56: return 0UL; -b58: if ((vkind) != (6UL)) { goto b61; } -b60: v24 = (u)zunify; + v21 = *(u*)(va + 16); + v22 = *(u*)(vb + 16); + v23 = ((u(*)())v19)(v20, v21, v22); +b56: return 0; +b58: if (vkind != 6) goto b61; + v24 = (u)zunify; v25 = vc; - v26 = *(u *)((va) + (16UL)); - v27 = *(u *)((vb) + (16UL)); - v28 = ((u (*)())(v24))(v25, v26, v27); -b62: v29 = (u)zunify; + v26 = *(u*)(va + 16); + v27 = *(u*)(vb + 16); + v28 = ((u(*)())v24)(v25, v26, v27); + v29 = (u)zunify; v30 = vc; - v31 = *(u *)((va) + (24UL)); - v32 = *(u *)((vb) + (24UL)); - v33 = ((u (*)())(v29))(v30, v31, v32); + v31 = *(u*)(va + 24); + v32 = *(u*)(vb + 24); + v33 = ((u(*)())v29)(v30, v31, v32); goto b56; -b61: if ((vkind) != (5UL)) { goto b65; } -b64: v34 = (u)zunify; +b61: if (vkind != 5) goto b65; + v34 = (u)zunify; v35 = vc; - v36 = *(u *)((va) + (16UL)); - v37 = *(u *)((vb) + (16UL)); - v38 = ((u (*)())(v34))(v35, v36, v37); -b66: v39 = (u)zunify; + v36 = *(u*)(va + 16); + v37 = *(u*)(vb + 16); + v38 = ((u(*)())v34)(v35, v36, v37); + v39 = (u)zunify; v40 = vc; - v41 = *(u *)((va) + (24UL)); - v42 = *(u *)((vb) + (24UL)); - v43 = ((u (*)())(v39))(v40, v41, v42); + v41 = *(u*)(va + 24); + v42 = *(u*)(vb + 24); + v43 = ((u(*)())v39)(v40, v41, v42); goto b56; -b65: if ((vkind) != (7UL)) { goto b69; } -b68: if ((*(u *)((va) + (8UL))) == (*(u *)((vb) + (8UL)))) { goto b56; } -b71: v44 = (u)zcdie; +b65: if (vkind != 7) goto b69; + if (*(u*)(va + 8) == *(u*)(vb + 8)) goto b56; + v44 = (u)zcdie; v45 = vc; v46 = (u)"type error"; - v47 = ((u (*)())(v44))(v45, v46); + v47 = ((u(*)())v44)(v45, v46); goto b56; -b69: if ((vkind) != (8UL)) { goto b75; } -b74: if ((*(u *)((va) + (8UL))) == (*(u *)((vb) + (8UL)))) { goto b56; } -b77: v48 = (u)zcdie; +b69: if (vkind != 8) goto b75; + if (*(u*)(va + 8) == *(u*)(vb + 8)) goto b56; + v48 = (u)zcdie; v49 = vc; v50 = (u)"type error"; - v51 = ((u (*)())(v48))(v49, v50); + v51 = ((u(*)())v48)(v49, v50); goto b56; -b75: if ((vkind) == (1UL)) { goto b83; } -b82: if ((vkind) == (2UL)) { goto b87; } -b86: if ((vkind) == (3UL)) { goto b87; } -b88: v53 = 1UL; - goto b89; -b89: if (!(v53)) { goto b83; } -b84: v52 = 1UL; - goto b85; -b85: if (!(v52)) { goto b56; } -b80: v54 = (u)zcdie; +b75: if (vkind == 1) goto b83; + if (vkind == 2) goto b87; + if (vkind == 3) goto b87; + v53 = 1; +b89: if (!v53) goto b83; + v52 = 1; +b85: if (!v52) goto b56; + v54 = (u)zcdie; v55 = vc; v56 = (u)"unify: invalid type"; - v57 = ((u (*)())(v54))(v55, v56); + v57 = ((u(*)())v54)(v55, v56); goto b56; -b83: v52 = 0UL; +b83: v52 = 0; goto b85; -b87: v53 = 0UL; +b87: v53 = 0; goto b89; -b32: if (!(vb)) { goto b48; } -b47: if (!(va)) { goto b52; } -b51: v14 = 0UL; - goto b53; -b53: if (!(v14)) { goto b48; } -b49: v13 = 1UL; - goto b50; -b50: if (!(v13)) { goto b44; } -b43: v12 = 1UL; - goto b46; -b46: if (!(v12)) { goto b42; } -b33: v9 = 1UL; +b32: if (!vb) goto b48; + if (!va) goto b52; + v14 = 0; +b53: if (!v14) goto b48; + v13 = 1; +b50: if (!v13) goto b44; + v12 = 1; +b46: if (!v12) goto b42; + v9 = 1; goto b34; -b42: v9 = 0UL; +b42: v9 = 0; goto b34; -b44: if ((*(u *)(va)) == (*(u *)(vb))) { goto b54; } -b45: v12 = 1UL; +b44: if (*(u*)va == *(u*)vb) goto b54; + v12 = 1; goto b46; -b54: v12 = 0UL; +b54: v12 = 0; goto b46; -b48: v13 = 0UL; +b48: v13 = 0; goto b50; -b52: v14 = 1UL; +b52: v14 = 1; goto b53; -b36: v10 = 0UL; +b36: v10 = 0; goto b38; -b40: v11 = 1UL; +b40: v11 = 1; goto b41; -b8: v4 = 0UL; +b8: v4 = 0; goto b10; -b12: v5 = 0UL; +b12: v5 = 0; goto b14; -b16: if ((*(u *)(va)) != (4UL)) { goto b25; } -b24: if ((*(u *)(vb)) != (0UL)) { goto b25; } -b26: v8 = 1UL; - goto b27; -b27: if (!(v8)) { goto b23; } -b17: v6 = 1UL; +b16: if (*(u*)va != 4) goto b25; + if (*(u*)vb != 0) goto b25; + v8 = 1; +b27: if (!v8) goto b23; + v6 = 1; goto b18; -b23: v6 = 0UL; +b23: v6 = 0; goto b18; -b25: v8 = 0UL; +b25: v8 = 0; goto b27; -b20: v7 = 0UL; +b20: v7 = 0; goto b22; } -u zunlink(u vname) { +u zunlink(u vname){ u v1 = 0; u v2 = 0; u v3 = 0; @@ -37668,18 +36941,18 @@ u zunlink(u vname) { u v7 = 0; u v8 = 0; u v9 = 0; -b0: v1 = (u)zsyscall; - v2 = 87UL; + v1 = (u)zsyscall; + v2 = 87; v3 = vname; - v4 = 0UL; - v5 = 0UL; - v6 = 0UL; - v7 = 0UL; - v8 = 0UL; - v9 = ((u (*)())(v1))(v2, v3, v4, v5, v6, v7, v8); -b1: return v9; -} -u zwrite(u vfd, u vbuf, u vn) { + v4 = 0; + v5 = 0; + v6 = 0; + v7 = 0; + v8 = 0; + v9 = ((u(*)())v1)(v2, v3, v4, v5, v6, v7, v8); + return v9; +} +u zwrite(u vfd, u vbuf, u vn){ u v3 = 0; u v4 = 0; u v5 = 0; @@ -37689,18 +36962,18 @@ u zwrite(u vfd, u vbuf, u vn) { u v9 = 0; u v10 = 0; u v11 = 0; -b0: v3 = (u)zsyscall; - v4 = 1UL; + v3 = (u)zsyscall; + v4 = 1; v5 = vfd; v6 = vbuf; v7 = vn; - v8 = 0UL; - v9 = 0UL; - v10 = 0UL; - v11 = ((u (*)())(v3))(v4, v5, v6, v7, v8, v9, v10); -b1: return v11; + v8 = 0; + v9 = 0; + v10 = 0; + v11 = ((u(*)())v3)(v4, v5, v6, v7, v8, v9, v10); + return v11; } -u zwriteout(u vc, u vstart, u vkstart) { +u zwriteout(u vc, u vstart, u vkstart){ u vb = 0; u vi = 0; u vtext_size = 0; @@ -38384,738 +37657,728 @@ u zwriteout(u vc, u vstart, u vkstart) { u v683 = 0; u v684 = 0; u v685 = 0; -b0: if (!(*(u *)((vc) + (8UL)))) { goto b5; } -b4: v16 = 0UL; - goto b6; -b6: if (!(v16)) { goto b1; } -b2: v17 = (u)zdie; + if (!*(u*)(vc + 8)) goto b5; + v16 = 0; +b6: if (!v16) goto b1; + v17 = (u)zdie; v18 = (u)"output not opened"; - v19 = ((u (*)())(v17))(v18); + v19 = ((u(*)())v17)(v18); b1: vload_addr = 1048576UL; - if (!(vstart)) { goto b16; } -b15: v21 = 0UL; - goto b17; -b17: if (!(v21)) { goto b12; } -b11: v20 = 1UL; - goto b14; -b14: if (!(v20)) { goto b10; } -b9: if (!(vkstart)) { goto b26; } -b25: v23 = 0UL; - goto b27; -b27: if (!(v23)) { goto b8; } -b23: v24 = (u)zdie; + if (!vstart) goto b16; + v21 = 0; +b17: if (!v21) goto b12; + v20 = 1; +b14: if (!v20) goto b10; + if (!vkstart) goto b26; + v23 = 0; +b27: if (!v23) goto b8; + v24 = (u)zdie; v25 = (u)"_start is not defined"; - v26 = ((u (*)())(v24))(v25); + v26 = ((u(*)())v24)(v25); b8: vmb_magic = 464367618UL; vmb_flags = 65539UL; - vmb_checksum = -((vmb_magic) + (vmb_flags)); - vmb_addr = (vload_addr) + (120UL); - if (!(vkstart)) { goto b33; } -b32: if (!(*(u *)((vkstart) + (16UL)))) { goto b33; } -b34: v27 = 1UL; - goto b35; -b35: if (!(v27)) { goto b31; } -b30: vkentry = (vload_addr) + (*(u *)((vkstart) + (8UL))); - goto b29; + vmb_checksum = -(vmb_magic + vmb_flags); + vmb_addr = vload_addr + 120; + if (!vkstart) goto b33; + if (!*(u*)(vkstart + 16)) goto b33; + v27 = 1; +b35: if (!v27) goto b31; + vkentry = vload_addr + *(u*)(vkstart + 8); b29: v28 = (u)zemit_sections; v29 = vc; - v30 = ((u (*)())(v28))(v29); -b36: vshoff = v30; - vtext_size = *(u *)((vc) + (24UL)); - vtext_end = (vload_addr) + (vtext_size); + v30 = ((u(*)())v28)(v29); + vshoff = v30; + vtext_size = *(u*)(vc + 24); + vtext_end = vload_addr + vtext_size; v31 = (u)zputchar; v32 = vc; - v33 = 127UL; - v34 = ((u (*)())(v31))(v32, v33); -b37: v35 = (u)zputchar; + v33 = 127; + v34 = ((u(*)())v31)(v32, v33); + v35 = (u)zputchar; v36 = vc; - v37 = 69UL; - v38 = ((u (*)())(v35))(v36, v37); -b38: v39 = (u)zputchar; + v37 = 69; + v38 = ((u(*)())v35)(v36, v37); + v39 = (u)zputchar; v40 = vc; - v41 = 76UL; - v42 = ((u (*)())(v39))(v40, v41); -b39: v43 = (u)zputchar; + v41 = 76; + v42 = ((u(*)())v39)(v40, v41); + v43 = (u)zputchar; v44 = vc; - v45 = 70UL; - v46 = ((u (*)())(v43))(v44, v45); -b40: v47 = (u)zputchar; + v45 = 70; + v46 = ((u(*)())v43)(v44, v45); + v47 = (u)zputchar; v48 = vc; - v49 = 2UL; - v50 = ((u (*)())(v47))(v48, v49); -b41: v51 = (u)zputchar; + v49 = 2; + v50 = ((u(*)())v47)(v48, v49); + v51 = (u)zputchar; v52 = vc; - v53 = 1UL; - v54 = ((u (*)())(v51))(v52, v53); -b42: v55 = (u)zputchar; + v53 = 1; + v54 = ((u(*)())v51)(v52, v53); + v55 = (u)zputchar; v56 = vc; - v57 = 1UL; - v58 = ((u (*)())(v55))(v56, v57); -b43: v59 = (u)zputchar; + v57 = 1; + v58 = ((u(*)())v55)(v56, v57); + v59 = (u)zputchar; v60 = vc; - v61 = 0UL; - v62 = ((u (*)())(v59))(v60, v61); -b44: v63 = (u)zputchar; + v61 = 0; + v62 = ((u(*)())v59)(v60, v61); + v63 = (u)zputchar; v64 = vc; - v65 = 0UL; - v66 = ((u (*)())(v63))(v64, v65); -b45: v67 = (u)zputchar; + v65 = 0; + v66 = ((u(*)())v63)(v64, v65); + v67 = (u)zputchar; v68 = vc; - v69 = 0UL; - v70 = ((u (*)())(v67))(v68, v69); -b46: v71 = (u)zputchar; + v69 = 0; + v70 = ((u(*)())v67)(v68, v69); + v71 = (u)zputchar; v72 = vc; - v73 = 0UL; - v74 = ((u (*)())(v71))(v72, v73); -b47: v75 = (u)zputchar; + v73 = 0; + v74 = ((u(*)())v71)(v72, v73); + v75 = (u)zputchar; v76 = vc; - v77 = 0UL; - v78 = ((u (*)())(v75))(v76, v77); -b48: v79 = (u)zputchar; + v77 = 0; + v78 = ((u(*)())v75)(v76, v77); + v79 = (u)zputchar; v80 = vc; - v81 = 0UL; - v82 = ((u (*)())(v79))(v80, v81); -b49: v83 = (u)zputchar; + v81 = 0; + v82 = ((u(*)())v79)(v80, v81); + v83 = (u)zputchar; v84 = vc; - v85 = 0UL; - v86 = ((u (*)())(v83))(v84, v85); -b50: v87 = (u)zputchar; + v85 = 0; + v86 = ((u(*)())v83)(v84, v85); + v87 = (u)zputchar; v88 = vc; - v89 = 0UL; - v90 = ((u (*)())(v87))(v88, v89); -b51: v91 = (u)zputchar; + v89 = 0; + v90 = ((u(*)())v87)(v88, v89); + v91 = (u)zputchar; v92 = vc; - v93 = 0UL; - v94 = ((u (*)())(v91))(v92, v93); -b52: v95 = (u)zputchar; + v93 = 0; + v94 = ((u(*)())v91)(v92, v93); + v95 = (u)zputchar; v96 = vc; - v97 = 2UL; - v98 = ((u (*)())(v95))(v96, v97); -b53: v99 = (u)zputchar; + v97 = 2; + v98 = ((u(*)())v95)(v96, v97); + v99 = (u)zputchar; v100 = vc; - v101 = 0UL; - v102 = ((u (*)())(v99))(v100, v101); -b54: v103 = (u)zputchar; + v101 = 0; + v102 = ((u(*)())v99)(v100, v101); + v103 = (u)zputchar; v104 = vc; - v105 = 62UL; - v106 = ((u (*)())(v103))(v104, v105); -b55: v107 = (u)zputchar; + v105 = 62; + v106 = ((u(*)())v103)(v104, v105); + v107 = (u)zputchar; v108 = vc; - v109 = 0UL; - v110 = ((u (*)())(v107))(v108, v109); -b56: v111 = (u)zputchar; + v109 = 0; + v110 = ((u(*)())v107)(v108, v109); + v111 = (u)zputchar; v112 = vc; - v113 = 1UL; - v114 = ((u (*)())(v111))(v112, v113); -b57: v115 = (u)zputchar; + v113 = 1; + v114 = ((u(*)())v111)(v112, v113); + v115 = (u)zputchar; v116 = vc; - v117 = 0UL; - v118 = ((u (*)())(v115))(v116, v117); -b58: v119 = (u)zputchar; + v117 = 0; + v118 = ((u(*)())v115)(v116, v117); + v119 = (u)zputchar; v120 = vc; - v121 = 0UL; - v122 = ((u (*)())(v119))(v120, v121); -b59: v123 = (u)zputchar; + v121 = 0; + v122 = ((u(*)())v119)(v120, v121); + v123 = (u)zputchar; v124 = vc; - v125 = 0UL; - v126 = ((u (*)())(v123))(v124, v125); -b60: v127 = (u)zputchar; + v125 = 0; + v126 = ((u(*)())v123)(v124, v125); + v127 = (u)zputchar; v128 = vc; v129 = ventry; - v130 = ((u (*)())(v127))(v128, v129); -b61: v131 = (u)zputchar; + v130 = ((u(*)())v127)(v128, v129); + v131 = (u)zputchar; v132 = vc; - v133 = (ventry) >> (8UL); - v134 = ((u (*)())(v131))(v132, v133); -b62: v135 = (u)zputchar; + v133 = ventry >> 8; + v134 = ((u(*)())v131)(v132, v133); + v135 = (u)zputchar; v136 = vc; - v137 = (ventry) >> (16UL); - v138 = ((u (*)())(v135))(v136, v137); -b63: v139 = (u)zputchar; + v137 = ventry >> 16; + v138 = ((u(*)())v135)(v136, v137); + v139 = (u)zputchar; v140 = vc; - v141 = (ventry) >> (24UL); - v142 = ((u (*)())(v139))(v140, v141); -b64: v143 = (u)zputchar; + v141 = ventry >> 24; + v142 = ((u(*)())v139)(v140, v141); + v143 = (u)zputchar; v144 = vc; - v145 = 0UL; - v146 = ((u (*)())(v143))(v144, v145); -b65: v147 = (u)zputchar; + v145 = 0; + v146 = ((u(*)())v143)(v144, v145); + v147 = (u)zputchar; v148 = vc; - v149 = 0UL; - v150 = ((u (*)())(v147))(v148, v149); -b66: v151 = (u)zputchar; + v149 = 0; + v150 = ((u(*)())v147)(v148, v149); + v151 = (u)zputchar; v152 = vc; - v153 = 0UL; - v154 = ((u (*)())(v151))(v152, v153); -b67: v155 = (u)zputchar; + v153 = 0; + v154 = ((u(*)())v151)(v152, v153); + v155 = (u)zputchar; v156 = vc; - v157 = 0UL; - v158 = ((u (*)())(v155))(v156, v157); -b68: v159 = (u)zputchar; + v157 = 0; + v158 = ((u(*)())v155)(v156, v157); + v159 = (u)zputchar; v160 = vc; - v161 = 64UL; - v162 = ((u (*)())(v159))(v160, v161); -b69: v163 = (u)zputchar; + v161 = 64; + v162 = ((u(*)())v159)(v160, v161); + v163 = (u)zputchar; v164 = vc; - v165 = 0UL; - v166 = ((u (*)())(v163))(v164, v165); -b70: v167 = (u)zputchar; + v165 = 0; + v166 = ((u(*)())v163)(v164, v165); + v167 = (u)zputchar; v168 = vc; - v169 = 0UL; - v170 = ((u (*)())(v167))(v168, v169); -b71: v171 = (u)zputchar; + v169 = 0; + v170 = ((u(*)())v167)(v168, v169); + v171 = (u)zputchar; v172 = vc; - v173 = 0UL; - v174 = ((u (*)())(v171))(v172, v173); -b72: v175 = (u)zputchar; + v173 = 0; + v174 = ((u(*)())v171)(v172, v173); + v175 = (u)zputchar; v176 = vc; - v177 = 0UL; - v178 = ((u (*)())(v175))(v176, v177); -b73: v179 = (u)zputchar; + v177 = 0; + v178 = ((u(*)())v175)(v176, v177); + v179 = (u)zputchar; v180 = vc; - v181 = 0UL; - v182 = ((u (*)())(v179))(v180, v181); -b74: v183 = (u)zputchar; + v181 = 0; + v182 = ((u(*)())v179)(v180, v181); + v183 = (u)zputchar; v184 = vc; - v185 = 0UL; - v186 = ((u (*)())(v183))(v184, v185); -b75: v187 = (u)zputchar; + v185 = 0; + v186 = ((u(*)())v183)(v184, v185); + v187 = (u)zputchar; v188 = vc; - v189 = 0UL; - v190 = ((u (*)())(v187))(v188, v189); -b76: v191 = (u)zputchar; + v189 = 0; + v190 = ((u(*)())v187)(v188, v189); + v191 = (u)zputchar; v192 = vc; v193 = vshoff; - v194 = ((u (*)())(v191))(v192, v193); -b77: v195 = (u)zputchar; + v194 = ((u(*)())v191)(v192, v193); + v195 = (u)zputchar; v196 = vc; - v197 = (vshoff) >> (8UL); - v198 = ((u (*)())(v195))(v196, v197); -b78: v199 = (u)zputchar; + v197 = vshoff >> 8; + v198 = ((u(*)())v195)(v196, v197); + v199 = (u)zputchar; v200 = vc; - v201 = (vshoff) >> (16UL); - v202 = ((u (*)())(v199))(v200, v201); -b79: v203 = (u)zputchar; + v201 = vshoff >> 16; + v202 = ((u(*)())v199)(v200, v201); + v203 = (u)zputchar; v204 = vc; - v205 = (vshoff) >> (24UL); - v206 = ((u (*)())(v203))(v204, v205); -b80: v207 = (u)zputchar; + v205 = vshoff >> 24; + v206 = ((u(*)())v203)(v204, v205); + v207 = (u)zputchar; v208 = vc; - v209 = (vshoff) >> (32UL); - v210 = ((u (*)())(v207))(v208, v209); -b81: v211 = (u)zputchar; + v209 = vshoff >> 32; + v210 = ((u(*)())v207)(v208, v209); + v211 = (u)zputchar; v212 = vc; - v213 = (vshoff) >> (40UL); - v214 = ((u (*)())(v211))(v212, v213); -b82: v215 = (u)zputchar; + v213 = vshoff >> 40; + v214 = ((u(*)())v211)(v212, v213); + v215 = (u)zputchar; v216 = vc; - v217 = (vshoff) >> (48UL); - v218 = ((u (*)())(v215))(v216, v217); -b83: v219 = (u)zputchar; + v217 = vshoff >> 48; + v218 = ((u(*)())v215)(v216, v217); + v219 = (u)zputchar; v220 = vc; - v221 = (vshoff) >> (56UL); - v222 = ((u (*)())(v219))(v220, v221); -b84: v223 = (u)zputchar; + v221 = vshoff >> 56; + v222 = ((u(*)())v219)(v220, v221); + v223 = (u)zputchar; v224 = vc; - v225 = 0UL; - v226 = ((u (*)())(v223))(v224, v225); -b85: v227 = (u)zputchar; + v225 = 0; + v226 = ((u(*)())v223)(v224, v225); + v227 = (u)zputchar; v228 = vc; - v229 = 0UL; - v230 = ((u (*)())(v227))(v228, v229); -b86: v231 = (u)zputchar; + v229 = 0; + v230 = ((u(*)())v227)(v228, v229); + v231 = (u)zputchar; v232 = vc; - v233 = 0UL; - v234 = ((u (*)())(v231))(v232, v233); -b87: v235 = (u)zputchar; + v233 = 0; + v234 = ((u(*)())v231)(v232, v233); + v235 = (u)zputchar; v236 = vc; - v237 = 0UL; - v238 = ((u (*)())(v235))(v236, v237); -b88: v239 = (u)zputchar; + v237 = 0; + v238 = ((u(*)())v235)(v236, v237); + v239 = (u)zputchar; v240 = vc; - v241 = 64UL; - v242 = ((u (*)())(v239))(v240, v241); -b89: v243 = (u)zputchar; + v241 = 64; + v242 = ((u(*)())v239)(v240, v241); + v243 = (u)zputchar; v244 = vc; - v245 = 0UL; - v246 = ((u (*)())(v243))(v244, v245); -b90: v247 = (u)zputchar; + v245 = 0; + v246 = ((u(*)())v243)(v244, v245); + v247 = (u)zputchar; v248 = vc; - v249 = 56UL; - v250 = ((u (*)())(v247))(v248, v249); -b91: v251 = (u)zputchar; + v249 = 56; + v250 = ((u(*)())v247)(v248, v249); + v251 = (u)zputchar; v252 = vc; - v253 = 0UL; - v254 = ((u (*)())(v251))(v252, v253); -b92: v255 = (u)zputchar; + v253 = 0; + v254 = ((u(*)())v251)(v252, v253); + v255 = (u)zputchar; v256 = vc; - v257 = 1UL; - v258 = ((u (*)())(v255))(v256, v257); -b93: v259 = (u)zputchar; + v257 = 1; + v258 = ((u(*)())v255)(v256, v257); + v259 = (u)zputchar; v260 = vc; - v261 = 0UL; - v262 = ((u (*)())(v259))(v260, v261); -b94: v263 = (u)zputchar; + v261 = 0; + v262 = ((u(*)())v259)(v260, v261); + v263 = (u)zputchar; v264 = vc; - v265 = 64UL; - v266 = ((u (*)())(v263))(v264, v265); -b95: v267 = (u)zputchar; + v265 = 64; + v266 = ((u(*)())v263)(v264, v265); + v267 = (u)zputchar; v268 = vc; - v269 = 0UL; - v270 = ((u (*)())(v267))(v268, v269); -b96: v271 = (u)zputchar; + v269 = 0; + v270 = ((u(*)())v267)(v268, v269); + v271 = (u)zputchar; v272 = vc; - v273 = *(u *)((vc) + (72UL)); - v274 = ((u (*)())(v271))(v272, v273); -b97: v275 = (u)zputchar; + v273 = *(u*)(vc + 72); + v274 = ((u(*)())v271)(v272, v273); + v275 = (u)zputchar; v276 = vc; - v277 = (*(u *)((vc) + (72UL))) >> (8UL); - v278 = ((u (*)())(v275))(v276, v277); -b98: v279 = (u)zfind_section; + v277 = *(u*)(vc + 72) >> 8; + v278 = ((u(*)())v275)(v276, v277); + v279 = (u)zfind_section; v280 = vc; v281 = (u)".shstrtab"; - v282 = ((u (*)())(v279))(v280, v281); -b99: vs = v282; + v282 = ((u(*)())v279)(v280, v281); + vs = v282; v283 = (u)zputchar; v284 = vc; - v285 = *(u *)((vs) + (32UL)); - v286 = ((u (*)())(v283))(v284, v285); -b100: v287 = (u)zputchar; + v285 = *(u*)(vs + 32); + v286 = ((u(*)())v283)(v284, v285); + v287 = (u)zputchar; v288 = vc; - v289 = (*(u *)((vs) + (32UL))) >> (8UL); - v290 = ((u (*)())(v287))(v288, v289); -b101: v291 = (u)zputchar; + v289 = *(u*)(vs + 32) >> 8; + v290 = ((u(*)())v287)(v288, v289); + v291 = (u)zputchar; v292 = vc; - v293 = 1UL; - v294 = ((u (*)())(v291))(v292, v293); -b102: v295 = (u)zputchar; + v293 = 1; + v294 = ((u(*)())v291)(v292, v293); + v295 = (u)zputchar; v296 = vc; - v297 = 0UL; - v298 = ((u (*)())(v295))(v296, v297); -b103: v299 = (u)zputchar; + v297 = 0; + v298 = ((u(*)())v295)(v296, v297); + v299 = (u)zputchar; v300 = vc; - v301 = 0UL; - v302 = ((u (*)())(v299))(v300, v301); -b104: v303 = (u)zputchar; + v301 = 0; + v302 = ((u(*)())v299)(v300, v301); + v303 = (u)zputchar; v304 = vc; - v305 = 0UL; - v306 = ((u (*)())(v303))(v304, v305); -b105: v307 = (u)zputchar; + v305 = 0; + v306 = ((u(*)())v303)(v304, v305); + v307 = (u)zputchar; v308 = vc; - v309 = 5UL; - v310 = ((u (*)())(v307))(v308, v309); -b106: v311 = (u)zputchar; + v309 = 5; + v310 = ((u(*)())v307)(v308, v309); + v311 = (u)zputchar; v312 = vc; - v313 = 0UL; - v314 = ((u (*)())(v311))(v312, v313); -b107: v315 = (u)zputchar; + v313 = 0; + v314 = ((u(*)())v311)(v312, v313); + v315 = (u)zputchar; v316 = vc; - v317 = 0UL; - v318 = ((u (*)())(v315))(v316, v317); -b108: v319 = (u)zputchar; + v317 = 0; + v318 = ((u(*)())v315)(v316, v317); + v319 = (u)zputchar; v320 = vc; - v321 = 0UL; - v322 = ((u (*)())(v319))(v320, v321); -b109: v323 = (u)zputchar; + v321 = 0; + v322 = ((u(*)())v319)(v320, v321); + v323 = (u)zputchar; v324 = vc; - v325 = 0UL; - v326 = ((u (*)())(v323))(v324, v325); -b110: v327 = (u)zputchar; + v325 = 0; + v326 = ((u(*)())v323)(v324, v325); + v327 = (u)zputchar; v328 = vc; - v329 = 0UL; - v330 = ((u (*)())(v327))(v328, v329); -b111: v331 = (u)zputchar; + v329 = 0; + v330 = ((u(*)())v327)(v328, v329); + v331 = (u)zputchar; v332 = vc; - v333 = 0UL; - v334 = ((u (*)())(v331))(v332, v333); -b112: v335 = (u)zputchar; + v333 = 0; + v334 = ((u(*)())v331)(v332, v333); + v335 = (u)zputchar; v336 = vc; - v337 = 0UL; - v338 = ((u (*)())(v335))(v336, v337); -b113: v339 = (u)zputchar; + v337 = 0; + v338 = ((u(*)())v335)(v336, v337); + v339 = (u)zputchar; v340 = vc; - v341 = 0UL; - v342 = ((u (*)())(v339))(v340, v341); -b114: v343 = (u)zputchar; + v341 = 0; + v342 = ((u(*)())v339)(v340, v341); + v343 = (u)zputchar; v344 = vc; - v345 = 0UL; - v346 = ((u (*)())(v343))(v344, v345); -b115: v347 = (u)zputchar; + v345 = 0; + v346 = ((u(*)())v343)(v344, v345); + v347 = (u)zputchar; v348 = vc; - v349 = 0UL; - v350 = ((u (*)())(v347))(v348, v349); -b116: v351 = (u)zputchar; + v349 = 0; + v350 = ((u(*)())v347)(v348, v349); + v351 = (u)zputchar; v352 = vc; - v353 = 0UL; - v354 = ((u (*)())(v351))(v352, v353); -b117: v355 = (u)zputchar; + v353 = 0; + v354 = ((u(*)())v351)(v352, v353); + v355 = (u)zputchar; v356 = vc; - v357 = 0UL; - v358 = ((u (*)())(v355))(v356, v357); -b118: v359 = (u)zputchar; + v357 = 0; + v358 = ((u(*)())v355)(v356, v357); + v359 = (u)zputchar; v360 = vc; - v361 = 0UL; - v362 = ((u (*)())(v359))(v360, v361); -b119: v363 = (u)zputchar; + v361 = 0; + v362 = ((u(*)())v359)(v360, v361); + v363 = (u)zputchar; v364 = vc; - v365 = 16UL; - v366 = ((u (*)())(v363))(v364, v365); -b120: v367 = (u)zputchar; + v365 = 16; + v366 = ((u(*)())v363)(v364, v365); + v367 = (u)zputchar; v368 = vc; - v369 = 0UL; - v370 = ((u (*)())(v367))(v368, v369); -b121: v371 = (u)zputchar; + v369 = 0; + v370 = ((u(*)())v367)(v368, v369); + v371 = (u)zputchar; v372 = vc; - v373 = 0UL; - v374 = ((u (*)())(v371))(v372, v373); -b122: v375 = (u)zputchar; + v373 = 0; + v374 = ((u(*)())v371)(v372, v373); + v375 = (u)zputchar; v376 = vc; - v377 = 0UL; - v378 = ((u (*)())(v375))(v376, v377); -b123: v379 = (u)zputchar; + v377 = 0; + v378 = ((u(*)())v375)(v376, v377); + v379 = (u)zputchar; v380 = vc; - v381 = 0UL; - v382 = ((u (*)())(v379))(v380, v381); -b124: v383 = (u)zputchar; + v381 = 0; + v382 = ((u(*)())v379)(v380, v381); + v383 = (u)zputchar; v384 = vc; - v385 = 0UL; - v386 = ((u (*)())(v383))(v384, v385); -b125: v387 = (u)zputchar; + v385 = 0; + v386 = ((u(*)())v383)(v384, v385); + v387 = (u)zputchar; v388 = vc; - v389 = 0UL; - v390 = ((u (*)())(v387))(v388, v389); -b126: v391 = (u)zputchar; + v389 = 0; + v390 = ((u(*)())v387)(v388, v389); + v391 = (u)zputchar; v392 = vc; - v393 = 0UL; - v394 = ((u (*)())(v391))(v392, v393); -b127: v395 = (u)zputchar; + v393 = 0; + v394 = ((u(*)())v391)(v392, v393); + v395 = (u)zputchar; v396 = vc; - v397 = 0UL; - v398 = ((u (*)())(v395))(v396, v397); -b128: v399 = (u)zputchar; + v397 = 0; + v398 = ((u(*)())v395)(v396, v397); + v399 = (u)zputchar; v400 = vc; - v401 = 0UL; - v402 = ((u (*)())(v399))(v400, v401); -b129: v403 = (u)zputchar; + v401 = 0; + v402 = ((u(*)())v399)(v400, v401); + v403 = (u)zputchar; v404 = vc; - v405 = 0UL; - v406 = ((u (*)())(v403))(v404, v405); -b130: v407 = (u)zputchar; + v405 = 0; + v406 = ((u(*)())v403)(v404, v405); + v407 = (u)zputchar; v408 = vc; - v409 = 0UL; - v410 = ((u (*)())(v407))(v408, v409); -b131: v411 = (u)zputchar; + v409 = 0; + v410 = ((u(*)())v407)(v408, v409); + v411 = (u)zputchar; v412 = vc; - v413 = 0UL; - v414 = ((u (*)())(v411))(v412, v413); -b132: v415 = (u)zputchar; + v413 = 0; + v414 = ((u(*)())v411)(v412, v413); + v415 = (u)zputchar; v416 = vc; - v417 = 0UL; - v418 = ((u (*)())(v415))(v416, v417); -b133: v419 = (u)zputchar; + v417 = 0; + v418 = ((u(*)())v415)(v416, v417); + v419 = (u)zputchar; v420 = vc; v421 = vtext_size; - v422 = ((u (*)())(v419))(v420, v421); -b134: v423 = (u)zputchar; + v422 = ((u(*)())v419)(v420, v421); + v423 = (u)zputchar; v424 = vc; - v425 = (vtext_size) >> (8UL); - v426 = ((u (*)())(v423))(v424, v425); -b135: v427 = (u)zputchar; + v425 = vtext_size >> 8; + v426 = ((u(*)())v423)(v424, v425); + v427 = (u)zputchar; v428 = vc; - v429 = (vtext_size) >> (16UL); - v430 = ((u (*)())(v427))(v428, v429); -b136: v431 = (u)zputchar; + v429 = vtext_size >> 16; + v430 = ((u(*)())v427)(v428, v429); + v431 = (u)zputchar; v432 = vc; - v433 = (vtext_size) >> (24UL); - v434 = ((u (*)())(v431))(v432, v433); -b137: v435 = (u)zputchar; + v433 = vtext_size >> 24; + v434 = ((u(*)())v431)(v432, v433); + v435 = (u)zputchar; v436 = vc; - v437 = 0UL; - v438 = ((u (*)())(v435))(v436, v437); -b138: v439 = (u)zputchar; + v437 = 0; + v438 = ((u(*)())v435)(v436, v437); + v439 = (u)zputchar; v440 = vc; - v441 = 0UL; - v442 = ((u (*)())(v439))(v440, v441); -b139: v443 = (u)zputchar; + v441 = 0; + v442 = ((u(*)())v439)(v440, v441); + v443 = (u)zputchar; v444 = vc; - v445 = 0UL; - v446 = ((u (*)())(v443))(v444, v445); -b140: v447 = (u)zputchar; + v445 = 0; + v446 = ((u(*)())v443)(v444, v445); + v447 = (u)zputchar; v448 = vc; - v449 = 0UL; - v450 = ((u (*)())(v447))(v448, v449); -b141: v451 = (u)zputchar; + v449 = 0; + v450 = ((u(*)())v447)(v448, v449); + v451 = (u)zputchar; v452 = vc; v453 = vtext_size; - v454 = ((u (*)())(v451))(v452, v453); -b142: v455 = (u)zputchar; + v454 = ((u(*)())v451)(v452, v453); + v455 = (u)zputchar; v456 = vc; - v457 = (vtext_size) >> (8UL); - v458 = ((u (*)())(v455))(v456, v457); -b143: v459 = (u)zputchar; + v457 = vtext_size >> 8; + v458 = ((u(*)())v455)(v456, v457); + v459 = (u)zputchar; v460 = vc; - v461 = (vtext_size) >> (16UL); - v462 = ((u (*)())(v459))(v460, v461); -b144: v463 = (u)zputchar; + v461 = vtext_size >> 16; + v462 = ((u(*)())v459)(v460, v461); + v463 = (u)zputchar; v464 = vc; - v465 = (vtext_size) >> (24UL); - v466 = ((u (*)())(v463))(v464, v465); -b145: v467 = (u)zputchar; + v465 = vtext_size >> 24; + v466 = ((u(*)())v463)(v464, v465); + v467 = (u)zputchar; v468 = vc; - v469 = 0UL; - v470 = ((u (*)())(v467))(v468, v469); -b146: v471 = (u)zputchar; + v469 = 0; + v470 = ((u(*)())v467)(v468, v469); + v471 = (u)zputchar; v472 = vc; - v473 = 0UL; - v474 = ((u (*)())(v471))(v472, v473); -b147: v475 = (u)zputchar; + v473 = 0; + v474 = ((u(*)())v471)(v472, v473); + v475 = (u)zputchar; v476 = vc; - v477 = 0UL; - v478 = ((u (*)())(v475))(v476, v477); -b148: v479 = (u)zputchar; + v477 = 0; + v478 = ((u(*)())v475)(v476, v477); + v479 = (u)zputchar; v480 = vc; - v481 = 0UL; - v482 = ((u (*)())(v479))(v480, v481); -b149: v483 = (u)zputchar; + v481 = 0; + v482 = ((u(*)())v479)(v480, v481); + v483 = (u)zputchar; v484 = vc; - v485 = 0UL; - v486 = ((u (*)())(v483))(v484, v485); -b150: v487 = (u)zputchar; + v485 = 0; + v486 = ((u(*)())v483)(v484, v485); + v487 = (u)zputchar; v488 = vc; - v489 = 0UL; - v490 = ((u (*)())(v487))(v488, v489); -b151: v491 = (u)zputchar; + v489 = 0; + v490 = ((u(*)())v487)(v488, v489); + v491 = (u)zputchar; v492 = vc; - v493 = 0UL; - v494 = ((u (*)())(v491))(v492, v493); -b152: v495 = (u)zputchar; + v493 = 0; + v494 = ((u(*)())v491)(v492, v493); + v495 = (u)zputchar; v496 = vc; - v497 = 0UL; - v498 = ((u (*)())(v495))(v496, v497); -b153: v499 = (u)zputchar; + v497 = 0; + v498 = ((u(*)())v495)(v496, v497); + v499 = (u)zputchar; v500 = vc; - v501 = 0UL; - v502 = ((u (*)())(v499))(v500, v501); -b154: v503 = (u)zputchar; + v501 = 0; + v502 = ((u(*)())v499)(v500, v501); + v503 = (u)zputchar; v504 = vc; - v505 = 0UL; - v506 = ((u (*)())(v503))(v504, v505); -b155: v507 = (u)zputchar; + v505 = 0; + v506 = ((u(*)())v503)(v504, v505); + v507 = (u)zputchar; v508 = vc; - v509 = 0UL; - v510 = ((u (*)())(v507))(v508, v509); -b156: v511 = (u)zputchar; + v509 = 0; + v510 = ((u(*)())v507)(v508, v509); + v511 = (u)zputchar; v512 = vc; - v513 = 0UL; - v514 = ((u (*)())(v511))(v512, v513); -b157: v515 = (u)zputchar; + v513 = 0; + v514 = ((u(*)())v511)(v512, v513); + v515 = (u)zputchar; v516 = vc; v517 = vmb_magic; - v518 = ((u (*)())(v515))(v516, v517); -b158: v519 = (u)zputchar; + v518 = ((u(*)())v515)(v516, v517); + v519 = (u)zputchar; v520 = vc; - v521 = (vmb_magic) >> (8UL); - v522 = ((u (*)())(v519))(v520, v521); -b159: v523 = (u)zputchar; + v521 = vmb_magic >> 8; + v522 = ((u(*)())v519)(v520, v521); + v523 = (u)zputchar; v524 = vc; - v525 = (vmb_magic) >> (16UL); - v526 = ((u (*)())(v523))(v524, v525); -b160: v527 = (u)zputchar; + v525 = vmb_magic >> 16; + v526 = ((u(*)())v523)(v524, v525); + v527 = (u)zputchar; v528 = vc; - v529 = (vmb_magic) >> (24UL); - v530 = ((u (*)())(v527))(v528, v529); -b161: v531 = (u)zputchar; + v529 = vmb_magic >> 24; + v530 = ((u(*)())v527)(v528, v529); + v531 = (u)zputchar; v532 = vc; v533 = vmb_flags; - v534 = ((u (*)())(v531))(v532, v533); -b162: v535 = (u)zputchar; + v534 = ((u(*)())v531)(v532, v533); + v535 = (u)zputchar; v536 = vc; - v537 = (vmb_flags) >> (8UL); - v538 = ((u (*)())(v535))(v536, v537); -b163: v539 = (u)zputchar; + v537 = vmb_flags >> 8; + v538 = ((u(*)())v535)(v536, v537); + v539 = (u)zputchar; v540 = vc; - v541 = (vmb_flags) >> (16UL); - v542 = ((u (*)())(v539))(v540, v541); -b164: v543 = (u)zputchar; + v541 = vmb_flags >> 16; + v542 = ((u(*)())v539)(v540, v541); + v543 = (u)zputchar; v544 = vc; - v545 = (vmb_flags) >> (24UL); - v546 = ((u (*)())(v543))(v544, v545); -b165: v547 = (u)zputchar; + v545 = vmb_flags >> 24; + v546 = ((u(*)())v543)(v544, v545); + v547 = (u)zputchar; v548 = vc; v549 = vmb_checksum; - v550 = ((u (*)())(v547))(v548, v549); -b166: v551 = (u)zputchar; + v550 = ((u(*)())v547)(v548, v549); + v551 = (u)zputchar; v552 = vc; - v553 = (vmb_checksum) >> (8UL); - v554 = ((u (*)())(v551))(v552, v553); -b167: v555 = (u)zputchar; + v553 = vmb_checksum >> 8; + v554 = ((u(*)())v551)(v552, v553); + v555 = (u)zputchar; v556 = vc; - v557 = (vmb_checksum) >> (16UL); - v558 = ((u (*)())(v555))(v556, v557); -b168: v559 = (u)zputchar; + v557 = vmb_checksum >> 16; + v558 = ((u(*)())v555)(v556, v557); + v559 = (u)zputchar; v560 = vc; - v561 = (vmb_checksum) >> (24UL); - v562 = ((u (*)())(v559))(v560, v561); -b169: v563 = (u)zputchar; + v561 = vmb_checksum >> 24; + v562 = ((u(*)())v559)(v560, v561); + v563 = (u)zputchar; v564 = vc; v565 = vmb_addr; - v566 = ((u (*)())(v563))(v564, v565); -b170: v567 = (u)zputchar; + v566 = ((u(*)())v563)(v564, v565); + v567 = (u)zputchar; v568 = vc; - v569 = (vmb_addr) >> (8UL); - v570 = ((u (*)())(v567))(v568, v569); -b171: v571 = (u)zputchar; + v569 = vmb_addr >> 8; + v570 = ((u(*)())v567)(v568, v569); + v571 = (u)zputchar; v572 = vc; - v573 = (vmb_addr) >> (16UL); - v574 = ((u (*)())(v571))(v572, v573); -b172: v575 = (u)zputchar; + v573 = vmb_addr >> 16; + v574 = ((u(*)())v571)(v572, v573); + v575 = (u)zputchar; v576 = vc; - v577 = (vmb_addr) >> (24UL); - v578 = ((u (*)())(v575))(v576, v577); -b173: v579 = (u)zputchar; + v577 = vmb_addr >> 24; + v578 = ((u(*)())v575)(v576, v577); + v579 = (u)zputchar; v580 = vc; v581 = vload_addr; - v582 = ((u (*)())(v579))(v580, v581); -b174: v583 = (u)zputchar; + v582 = ((u(*)())v579)(v580, v581); + v583 = (u)zputchar; v584 = vc; - v585 = (vload_addr) >> (8UL); - v586 = ((u (*)())(v583))(v584, v585); -b175: v587 = (u)zputchar; + v585 = vload_addr >> 8; + v586 = ((u(*)())v583)(v584, v585); + v587 = (u)zputchar; v588 = vc; - v589 = (vload_addr) >> (16UL); - v590 = ((u (*)())(v587))(v588, v589); -b176: v591 = (u)zputchar; + v589 = vload_addr >> 16; + v590 = ((u(*)())v587)(v588, v589); + v591 = (u)zputchar; v592 = vc; - v593 = (vload_addr) >> (24UL); - v594 = ((u (*)())(v591))(v592, v593); -b177: v595 = (u)zputchar; + v593 = vload_addr >> 24; + v594 = ((u(*)())v591)(v592, v593); + v595 = (u)zputchar; v596 = vc; v597 = vtext_end; - v598 = ((u (*)())(v595))(v596, v597); -b178: v599 = (u)zputchar; + v598 = ((u(*)())v595)(v596, v597); + v599 = (u)zputchar; v600 = vc; - v601 = (vtext_end) >> (8UL); - v602 = ((u (*)())(v599))(v600, v601); -b179: v603 = (u)zputchar; + v601 = vtext_end >> 8; + v602 = ((u(*)())v599)(v600, v601); + v603 = (u)zputchar; v604 = vc; - v605 = (vtext_end) >> (16UL); - v606 = ((u (*)())(v603))(v604, v605); -b180: v607 = (u)zputchar; + v605 = vtext_end >> 16; + v606 = ((u(*)())v603)(v604, v605); + v607 = (u)zputchar; v608 = vc; - v609 = (vtext_end) >> (24UL); - v610 = ((u (*)())(v607))(v608, v609); -b181: v611 = (u)zputchar; + v609 = vtext_end >> 24; + v610 = ((u(*)())v607)(v608, v609); + v611 = (u)zputchar; v612 = vc; - v613 = 0UL; - v614 = ((u (*)())(v611))(v612, v613); -b182: v615 = (u)zputchar; + v613 = 0; + v614 = ((u(*)())v611)(v612, v613); + v615 = (u)zputchar; v616 = vc; - v617 = 0UL; - v618 = ((u (*)())(v615))(v616, v617); -b183: v619 = (u)zputchar; + v617 = 0; + v618 = ((u(*)())v615)(v616, v617); + v619 = (u)zputchar; v620 = vc; - v621 = 0UL; - v622 = ((u (*)())(v619))(v620, v621); -b184: v623 = (u)zputchar; + v621 = 0; + v622 = ((u(*)())v619)(v620, v621); + v623 = (u)zputchar; v624 = vc; - v625 = 0UL; - v626 = ((u (*)())(v623))(v624, v625); -b185: v627 = (u)zputchar; + v625 = 0; + v626 = ((u(*)())v623)(v624, v625); + v627 = (u)zputchar; v628 = vc; v629 = vkentry; - v630 = ((u (*)())(v627))(v628, v629); -b186: v631 = (u)zputchar; + v630 = ((u(*)())v627)(v628, v629); + v631 = (u)zputchar; v632 = vc; - v633 = (vkentry) >> (8UL); - v634 = ((u (*)())(v631))(v632, v633); -b187: v635 = (u)zputchar; + v633 = vkentry >> 8; + v634 = ((u(*)())v631)(v632, v633); + v635 = (u)zputchar; v636 = vc; - v637 = (vkentry) >> (16UL); - v638 = ((u (*)())(v635))(v636, v637); -b188: v639 = (u)zputchar; + v637 = vkentry >> 16; + v638 = ((u(*)())v635)(v636, v637); + v639 = (u)zputchar; v640 = vc; - v641 = (vkentry) >> (24UL); - v642 = ((u (*)())(v639))(v640, v641); -b189: v643 = (u)zputchar; + v641 = vkentry >> 24; + v642 = ((u(*)())v639)(v640, v641); + v643 = (u)zputchar; v644 = vc; - v645 = 144UL; - v646 = ((u (*)())(v643))(v644, v645); -b190: v647 = (u)zputchar; + v645 = 144; + v646 = ((u(*)())v643)(v644, v645); + v647 = (u)zputchar; v648 = vc; - v649 = 144UL; - v650 = ((u (*)())(v647))(v648, v649); -b191: v651 = (u)zputchar; + v649 = 144; + v650 = ((u(*)())v647)(v648, v649); + v651 = (u)zputchar; v652 = vc; - v653 = 144UL; - v654 = ((u (*)())(v651))(v652, v653); -b192: v655 = (u)zputchar; + v653 = 144; + v654 = ((u(*)())v651)(v652, v653); + v655 = (u)zputchar; v656 = vc; - v657 = 144UL; - v658 = ((u (*)())(v655))(v656, v657); -b193: v659 = (u)zputchar; + v657 = 144; + v658 = ((u(*)())v655)(v656, v657); + v659 = (u)zputchar; v660 = vc; - v661 = 144UL; - v662 = ((u (*)())(v659))(v660, v661); -b194: v663 = (u)zputchar; + v661 = 144; + v662 = ((u(*)())v659)(v660, v661); + v663 = (u)zputchar; v664 = vc; - v665 = 144UL; - v666 = ((u (*)())(v663))(v664, v665); -b195: v667 = (u)zputchar; + v665 = 144; + v666 = ((u(*)())v663)(v664, v665); + v667 = (u)zputchar; v668 = vc; - v669 = 144UL; - v670 = ((u (*)())(v667))(v668, v669); -b196: v671 = (u)zputchar; + v669 = 144; + v670 = ((u(*)())v667)(v668, v669); + v671 = (u)zputchar; v672 = vc; - v673 = 144UL; - v674 = ((u (*)())(v671))(v672, v673); -b197: vb = *(u *)((vc) + (32UL)); - goto b198; -b198: if (!(vb)) { goto b204; } -b203: v675 = 0UL; - goto b205; -b205: if (!(v675)) { goto b200; } -b199: v680 = (u)zfflush; - v681 = *(u *)((vc) + (8UL)); - v682 = ((u (*)())(v680))(v681); -b212: if (!(*(u *)((vc) + (80UL)))) { goto b213; } -b214: v683 = (u)zfflush; - v684 = *(u *)((vc) + (80UL)); - v685 = ((u (*)())(v683))(v684); -b213: return 0UL; -b200: vi = 0UL; - goto b206; -b206: if ((s)(vi) < (s)(*(u *)((vb) + (16UL)))) { goto b208; } -b207: vb = *(u *)(vb); + v673 = 144; + v674 = ((u(*)())v671)(v672, v673); + vb = *(u*)(vc + 32); +b198: if (!vb) goto b204; + v675 = 0; +b205: if (!v675) goto b200; + v680 = (u)zfflush; + v681 = *(u*)(vc + 8); + v682 = ((u(*)())v680)(v681); + if (!*(u*)(vc + 80)) goto b213; + v683 = (u)zfflush; + v684 = *(u*)(vc + 80); + v685 = ((u(*)())v683)(v684); +b213: return 0; +b200: vi = 0; +b206: if ((s)vi < (s)*(u*)(vb + 16)) goto b208; + vb = *(u*)vb; goto b198; b208: v676 = (u)zputchar; v677 = vc; - v678 = (u)*(b *)((*(u *)((vb) + (8UL))) + (vi)); - v679 = ((u (*)())(v676))(v677, v678); -b211: vi = (vi) + (1UL); + v678 = (u)*(b*)(*(u*)(vb + 8) + vi); + v679 = ((u(*)())v676)(v677, v678); + vi = vi + 1; goto b206; -b204: v675 = 1UL; +b204: v675 = 1; goto b205; -b31: vmb_magic = 0UL; - vkentry = 0UL; +b31: vmb_magic = 0; + vkentry = 0; goto b29; -b33: v27 = 0UL; +b33: v27 = 0; goto b35; -b26: v23 = 1UL; +b26: v23 = 1; goto b27; -b10: ventry = (vload_addr) + (*(u *)((vstart) + (8UL))); +b10: ventry = vload_addr + *(u*)(vstart + 8); goto b8; -b12: if (!(*(u *)((vstart) + (16UL)))) { goto b20; } -b19: v22 = 0UL; - goto b21; -b21: if (!(v22)) { goto b18; } -b13: v20 = 1UL; +b12: if (!*(u*)(vstart + 16)) goto b20; + v22 = 0; +b21: if (!v22) goto b18; + v20 = 1; goto b14; -b18: v20 = 0UL; +b18: v20 = 0; goto b14; -b20: v22 = 1UL; +b20: v22 = 1; goto b21; -b16: v21 = 1UL; +b16: v21 = 1; goto b17; -b5: v16 = 1UL; +b5: v16 = 1; goto b6; } diff --git a/cc1.om b/cc1.om @@ -209,7 +209,9 @@ func compile(c: *compiler, p: *node) { check_usage(c); - fflush(c.call_out); + if c.call_out { + fflush(c.call_out); + } // Do optimization passes d = first_decl(c); diff --git a/ircout.om b/ircout.om @@ -20,14 +20,9 @@ func ircout(c: *compiler) { } // Real entry point to translated entry point - fputs(c.cout, "int main(int argc, char **argv) {\n"); - fputs(c.cout, "\tz_start((u)argc, (u)argv, 0);\n"); - fputs(c.cout, "\treturn 0;\n"); - fputs(c.cout, "}\n"); fputs(c.cout, "s syscall();\n"); - fputs(c.cout, "u zsyscall(u nr, u a, u b, u c, u d, u e, u f) {\n"); - fputs(c.cout, "\treturn (u)syscall((s)nr, (s)a, (s)b, (s)c, (s)d, (s)e, (s)f);\n"); - fputs(c.cout, "}\n"); + fputs(c.cout, "int main(int argc,char**argv){return z_start((u)argc,(u)argv,0);}\n"); + fputs(c.cout, "u zsyscall(u n,u a,u b,u c,u d,u e,u f){return syscall(n,a,b,c,d,e,f);}\n"); // Define used functions d = first_decl(c); @@ -116,10 +111,9 @@ func ircdefine(c: *compiler, d: *decl) { top = ic.blocks[0]; ircuse(c, ic, top); - irreset(top); ircdecl(c, ic); - fputs(c.cout, " {\n"); + fputs(c.cout, "{\n"); i = ic.arg_count; loop { @@ -134,7 +128,8 @@ func ircdefine(c: *compiler, d: *decl) { continue; } - fputs(c.cout, "\tu "); + fputs(c.cout, "\t"); + fputs(c.cout, "u "); if iv.name { fputs(c.cout, "v"); @@ -185,11 +180,16 @@ func ircdefine(c: *compiler, d: *decl) { func ircuse(c: *compiler, ic: *irfunc, ib: *irblock) { var i: int; - if !ib || ib.mark { + if !ib { + return; + } + + if ib.mark { + ib.mark = 6; return; } - ib.mark = 1; + ib.mark = 2; i = 0; loop { @@ -208,6 +208,7 @@ func ircuse(c: *compiler, ic: *irfunc, ib: *irblock) { if ib.alt && ib.ops[ib.ops_len - 1].kind == IOP_BRANCH { ircuse(c, ic, ib.alt); + ib.alt.mark = 6; } } @@ -239,11 +240,11 @@ func ircuseop(c: *compiler, ic: *irfunc, ib: *irblock, op: *irop) { } func ircbody(c: *compiler, ic: *irfunc, ib: *irblock) { - if !ib || ib.mark { + if !ib || ib.mark & 1 { return; } - ib.mark = 1; + ib.mark = ib.mark | 1; ircblock(c, ic, ib); @@ -262,6 +263,8 @@ func ircblock(c: *compiler, ic: *irfunc, ib: *irblock) { var kind: int; var didlabel: int; + didlabel = (ib.mark & 4) == 0; + loop { if i + 1 == ib.ops_len { break; @@ -285,7 +288,7 @@ func ircblock(c: *compiler, ic: *irfunc, ib: *irblock) { } fputs(c.cout, "\t"); - ircop(c, ic, ib, op); + ircop(c, ic, ib, op, 20); fputs(c.cout, ";\n"); i = i + 1; @@ -315,9 +318,12 @@ func ircblock(c: *compiler, ic: *irfunc, ib: *irblock) { didlabel = 1; } - fputs(c.cout, "\tgoto b"); - fputd(c.cout, ib.out.n); - fputs(c.cout, ";\n"); + if ib.out.mark & 1 { + fputs(c.cout, "\t"); + fputs(c.cout, "goto b"); + fputd(c.cout, ib.out.n); + fputs(c.cout, ";\n"); + } } else if kind == IOP_BRANCH { ircline(c, op); @@ -328,15 +334,17 @@ func ircblock(c: *compiler, ic: *irfunc, ib: *irblock) { didlabel = 1; } - fputs(c.cout, "\tif ("); - ircop_neg(c, ic, ib, op.a); - fputs(c.cout, ") { goto b"); + fputs(c.cout, "\t"); + fputs(c.cout, "if ("); + ircop_neg(c, ic, ib, op.a, 20); + fputs(c.cout, ") goto b"); fputd(c.cout, ib.alt.n); - fputs(c.cout, "; }\n"); + fputs(c.cout, ";\n"); - if ib.out.mark { + if ib.out.mark & 1 { ircline(c, op); - fputs(c.cout, "\tgoto b"); + fputs(c.cout, "\t"); + fputs(c.cout, "goto b"); fputd(c.cout, ib.out.n); fputs(c.cout, ";\n"); } @@ -350,8 +358,9 @@ func ircblock(c: *compiler, ic: *irfunc, ib: *irblock) { didlabel = 1; } - fputs(c.cout, "\treturn "); - ircop(c, ic, ib, op.a); + fputs(c.cout, "\t"); + fputs(c.cout, "return "); + ircop(c, ic, ib, op.a, 20); fputs(c.cout, ";\n"); } else { die("invalid op"); @@ -399,60 +408,118 @@ func ircstr(c: *compiler, s: *byte, n: int) { fputs(c.cout, "\""); } -func ircop_neg(c: *compiler, ic: *irfunc, ib: *irblock, op: *irop) { +func ircop_neg(c: *compiler, ic: *irfunc, ib: *irblock, op: *irop, pri: int) { var kind: int; kind = op.kind; if kind == IOP_EQ { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") != ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + ircop(c, ic, ib, op.a, 7); + fputs(c.cout, " != "); + ircop(c, ic, ib, op.b, 7); } else if kind == IOP_NE { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") == ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + ircop(c, ic, ib, op.a, 7); + fputs(c.cout, " == "); + ircop(c, ic, ib, op.b, 7); } else if kind == IOP_GT { - fputs(c.cout, "(s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") <= (s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + fputs(c.cout, "(s)"); + ircop(c, ic, ib, op.a, 2); + fputs(c.cout, " <= (s)"); + ircop(c, ic, ib, op.b, 2); } else if kind == IOP_GE { - fputs(c.cout, "(s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") < (s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + fputs(c.cout, "(s)"); + ircop(c, ic, ib, op.a, 2); + fputs(c.cout, " < (s)"); + ircop(c, ic, ib, op.b, 2); } else if kind == IOP_LT { - fputs(c.cout, "(s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") >= (s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + fputs(c.cout, "(s)"); + ircop(c, ic, ib, op.a, 2); + fputs(c.cout, " >= (s)"); + ircop(c, ic, ib, op.b, 2); } else if kind == IOP_LE { - fputs(c.cout, "(s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") > (s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + fputs(c.cout, "(s)"); + ircop(c, ic, ib, op.a, 2); + fputs(c.cout, " > (s)"); + ircop(c, ic, ib, op.b, 2); } else { - fputs(c.cout, "!("); - ircop(c, ic, ib, op); - fputs(c.cout, ")"); + fputs(c.cout, "!"); + ircop(c, ic, ib, op, 2); } } -func ircop(c: *compiler, ic: *irfunc, ib: *irblock, op: *irop) { +func ircop(c: *compiler, ic: *irfunc, ib: *irblock, op: *irop, pri: int) { var kind: int; var iv: *irvar; var size: int; - + var mypri: int; + + // C Operator Precedence + // 1 call() + // 2 ! ~ * - & (cast) + // 3 * / % + // 4 + - + // 5 << >> + // 6 < <= > >= + // 7 == != + // 8 & + // 9 | kind = op.kind; if kind == IOP_VAR || kind == IOP_VARREF { + mypri = 2; + } else if kind == IOP_FUNC { + mypri = 2; + } else if kind == IOP_CONST { + mypri = 1; + } else if kind == IOP_STR { + mypri = 2; + } else if kind == IOP_LOAD { + mypri = 2; + } else if kind == IOP_STORE { + mypri = 2; + } else if kind == IOP_NEG { + mypri = 2; + } else if kind == IOP_NOT { + mypri = 2; + } else if kind == IOP_ADD { + mypri = 4; + } else if kind == IOP_AND { + mypri = 8; + } else if kind == IOP_OR { + mypri = 10; + } else if kind == IOP_XOR { + mypri = 9; + } else if kind == IOP_DIV { + mypri = 2; + } else if kind == IOP_MOD { + mypri = 2; + } else if kind == IOP_LSH { + mypri = 6; + } else if kind == IOP_RSH { + mypri = 6; + } else if kind == IOP_MUL { + mypri = 3; + } else if kind == IOP_SUB { + mypri = 4; + } else if kind == IOP_EQ { + mypri = 7; + } else if kind == IOP_NE { + mypri = 7; + } else if kind == IOP_GT { + mypri = 2; + } else if kind == IOP_GE { + mypri = 2; + } else if kind == IOP_LT { + mypri = 2; + } else if kind == IOP_LE { + mypri = 2; + } else { + die("invalid op"); + } + + if mypri > pri { + fputs(c.cout, "("); + } + + if kind == IOP_VAR || kind == IOP_VARREF { iv = ic.vars[op.n]; if iv.t && iv.t.kind != TY_VOID { @@ -485,144 +552,130 @@ func ircop(c: *compiler, ic: *irfunc, ib: *irblock, op: *irop) { fputs(c.cout, op.s); } else if kind == IOP_CONST { fputd(c.cout, op.n); - fputs(c.cout, "UL"); + if op.n > (1 << 15) || op.n < 0 { + fputs(c.cout, "UL"); + } } else if kind == IOP_STR { fputs(c.cout, "(u)"); ircstr(c, op.s, op.slen); } else if kind == IOP_LOAD { if op.t.kind == TY_BYTE { - fputs(c.cout, "(u)*(b *)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")"); + fputs(c.cout, "(u)*(b*)"); + ircop(c, ic, ib, op.a, 2); } else { - fputs(c.cout, "*(u *)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")"); + fputs(c.cout, "*(u*)"); + ircop(c, ic, ib, op.a, 2); } } else if kind == IOP_STORE { if op.a.kind == IOP_VAR { - ircop(c, ic, ib, op.a); + ircop(c, ic, ib, op.a, 14); fputs(c.cout, " = "); - ircop(c, ic, ib, op.b); + ircop(c, ic, ib, op.b, 14); } else if op.a.kind == IOP_LOAD { if op.t.kind == TY_BYTE { - fputs(c.cout, "*(b *)("); + fputs(c.cout, "*(b*)"); } else { - fputs(c.cout, "*(u *)("); + fputs(c.cout, "*(u*)"); } - ircop(c, ic, ib, op.a.a); - fputs(c.cout, ") = "); - ircop(c, ic, ib, op.b); + ircop(c, ic, ib, op.a.a, 2); + fputs(c.cout, " = "); + ircop(c, ic, ib, op.b, 14); } else { die("invalid store"); } } else if kind == IOP_NEG { - fputs(c.cout, "-("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")"); + fputs(c.cout, "-"); + ircop(c, ic, ib, op.a, 2); } else if kind == IOP_NOT { - fputs(c.cout, "~("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")"); + fputs(c.cout, "~"); + ircop(c, ic, ib, op.a, 2); } else if kind == IOP_ADD { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") + ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + ircop(c, ic, ib, op.a, 4); + fputs(c.cout, " + "); + ircop(c, ic, ib, op.b, 4); } else if kind == IOP_AND { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") & ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + ircop(c, ic, ib, op.a, 8); + fputs(c.cout, " & "); + ircop(c, ic, ib, op.b, 8); } else if kind == IOP_OR { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") | ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + ircop(c, ic, ib, op.a, 10); + fputs(c.cout, " | "); + ircop(c, ic, ib, op.b, 10); } else if kind == IOP_XOR { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") ^ ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + ircop(c, ic, ib, op.a, 9); + fputs(c.cout, " ^ "); + ircop(c, ic, ib, op.b, 9); } else if kind == IOP_DIV { - fputs(c.cout, "(u)(((s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")) / ((s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")))"); + fputs(c.cout, "(u)((s)"); + ircop(c, ic, ib, op.a, 2); + fputs(c.cout, " / (s)"); + ircop(c, ic, ib, op.b, 2); + fputs(c.cout, ")"); } else if kind == IOP_MOD { - fputs(c.cout, "(u)(((s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")) % ((s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")))"); - } else if kind == IOP_LSH { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") << ("); - ircop(c, ic, ib, op.b); + fputs(c.cout, "(u)((s)"); + ircop(c, ic, ib, op.a, 2); + fputs(c.cout, " % (s)"); + ircop(c, ic, ib, op.b, 2); fputs(c.cout, ")"); + } else if kind == IOP_LSH { + ircop(c, ic, ib, op.a, 6); + fputs(c.cout, " << "); + ircop(c, ic, ib, op.b, 6); } else if kind == IOP_RSH { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") >> ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + ircop(c, ic, ib, op.a, 6); + fputs(c.cout, " >> "); + ircop(c, ic, ib, op.b, 6); } else if kind == IOP_MUL { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") * ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + ircop(c, ic, ib, op.a, 3); + fputs(c.cout, " * "); + ircop(c, ic, ib, op.b, 3); } else if kind == IOP_SUB { - fputs(c.cout, "("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") - ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")"); + ircop(c, ic, ib, op.a, 4); + fputs(c.cout, " - "); + ircop(c, ic, ib, op.b, 4); } else if kind == IOP_EQ { - fputs(c.cout, "(u)(("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") == ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, "))"); + fputs(c.cout, "(u)("); + ircop(c, ic, ib, op.a, 7); + fputs(c.cout, " == "); + ircop(c, ic, ib, op.b, 7); + fputs(c.cout, ")"); } else if kind == IOP_NE { - fputs(c.cout, "(u)(("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ") != ("); - ircop(c, ic, ib, op.b); - fputs(c.cout, "))"); + fputs(c.cout, "(u)("); + ircop(c, ic, ib, op.a, 7); + fputs(c.cout, " != "); + ircop(c, ic, ib, op.b, 7); + fputs(c.cout, ")"); } else if kind == IOP_GT { - fputs(c.cout, "(u)(((s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")) > ((s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")))"); + fputs(c.cout, "(u)((s)"); + ircop(c, ic, ib, op.a, 6); + fputs(c.cout, " > (s)"); + ircop(c, ic, ib, op.b, 6); + fputs(c.cout, ")"); } else if kind == IOP_GE { - fputs(c.cout, "(u)(((s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")) >= ((s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")))"); + fputs(c.cout, "(u)((s)"); + ircop(c, ic, ib, op.a, 6); + fputs(c.cout, " >= (s)"); + ircop(c, ic, ib, op.b, 6); + fputs(c.cout, ")"); } else if kind == IOP_LT { - fputs(c.cout, "(u)(((s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")) < ((s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")))"); + fputs(c.cout, "(u)((s)"); + ircop(c, ic, ib, op.a, 6); + fputs(c.cout, " < (s)"); + ircop(c, ic, ib, op.b, 6); + fputs(c.cout, ")"); } else if kind == IOP_LE { - fputs(c.cout, "(u)(((s)("); - ircop(c, ic, ib, op.a); - fputs(c.cout, ")) <= ((s)("); - ircop(c, ic, ib, op.b); - fputs(c.cout, ")))"); + fputs(c.cout, "(u)((s)"); + ircop(c, ic, ib, op.a, 6); + fputs(c.cout, " <= (s)"); + ircop(c, ic, ib, op.b, 6); + fputs(c.cout, ")"); } else { die("invalid op"); } + + if mypri > pri { + fputs(c.cout, ")"); + } } func irccall(c: *compiler, ic: *irfunc, ib: *irblock, op: *irop) { @@ -630,9 +683,9 @@ func irccall(c: *compiler, ic: *irfunc, ib: *irblock, op: *irop) { ircretval(c, ic, ib); if op.a.kind != IOP_FUNC { - fputs(c.cout, "((u (*)())("); - ircop(c, ic, ib, op.a); - fputs(c.cout, "))("); + fputs(c.cout, "((u(*)())"); + ircop(c, ic, ib, op.a, 2); + fputs(c.cout, ")("); } else { fputs(c.cout, "z"); fputs(c.cout, op.a.s); @@ -642,9 +695,10 @@ func irccall(c: *compiler, ic: *irfunc, ib: *irblock, op: *irop) { ircargs(c, ic, ib, op.n); fputs(c.cout, ");\n"); - if ib.out.mark { + if ib.out.mark & 1 { ircline(c, op); - fputs(c.cout, "\tgoto b"); + fputs(c.cout, "\t"); + fputs(c.cout, "goto b"); fputd(c.cout, ib.out.n); fputs(c.cout, ";\n"); } @@ -663,7 +717,7 @@ func ircretval(c: *compiler, ic: *irfunc, ib: *irblock) { op = ib.ops[i]; if op.kind == IOP_RETVAL { - ircop(c, ic, ib, op.a); + ircop(c, ic, ib, op.a, 14); fputs(c.cout, " = "); break; } @@ -701,7 +755,7 @@ func ircargs(c: *compiler, ic: *irfunc, ib: *irblock, n: int) { } if args[i] { - ircop(c, ic, ib, args[i]); + ircop(c, ic, ib, args[i], 15); } else { fputs(c.cout, "0UL"); }