let (global print_string : (char*) -> int)(v_117) = let print_string_118 = $external(%print_string : (char*) -> int, v_117) in $return print_string_118 in let make_var_defs_expr_119 : int = 0 in let (global print_int : (int) -> int)(v_120) = let print_int_121 = $external(%print_int : (int) -> int, v_120) in $return print_int_121 in let make_var_defs_expr_122 : int = 0 in let type item_123 = struct { int index; char[10] data; } in let (global f : (item_123) -> item_123)(a_124) = let (make_seq_rest_fun_125 : (item_123) -> item_123)(make_seq_expr_126) = $return make_seq_expr_126 in let addr_of_var_127 : item_123* = &a_124 in let project_expr_128 : int = addr_of_var_127->index in let uarith_expr_129 : int = project_expr_128 in let uarith_expr_temp_130 : int = project_expr_128 + 1 in project_expr_128 : int <- uarith_expr_temp_130; make_seq_rest_fun_125(a_124) in let (global print_struct : (char*, item_123*) -> int)(s_131, p_132) = let (make_seq_rest_fun_133 : (int) -> int)(make_seq_expr_134) = $return make_seq_expr_134 in let apply_expr_135 : int = print_string(s_131) in let make_string_136 = ".index=" in let apply_expr_137 : int = print_string(make_string_136) in let project_expr_138 : int = p_132->index in let apply_expr_139 : int = print_int(project_expr_138) in let make_string_140 = "\n" in let apply_expr_141 : int = print_string(make_string_140) in make_seq_rest_fun_133(apply_expr_141) in let (global main : (int, char**) -> int)(argc_142, argv_143) = let (make_seq_rest_fun_144 : (int) -> int)(make_seq_expr_145) = $return make_seq_expr_145 in let a_146 : item_123 = uninitialized in let b_147 : item_123 = uninitialized in let make_var_defs_expr_148 : int = 0 in let make_scalar_149 : int = 1 in let addr_of_var_150 : item_123* = &a_146 in let assign_project_151 : int = make_scalar_149 in addr_of_var_150->index : int <- make_scalar_149; let make_string_152 = "a" in let addr_of_var_153 : item_123* = &a_146 in let apply_expr_154 : int = print_struct(make_string_152, addr_of_var_153) in let make_string_155 = "b" in let addr_of_var_156 : item_123* = &b_147 in let apply_expr_157 : int = print_struct(make_string_155, addr_of_var_156) in let apply_expr_158 : item_123 = f(a_146) in let assign_var_159 : item_123 = apply_expr_158 in b_147 : item_123 <- assign_var_159; let make_string_160 = "a" in let addr_of_var_161 : item_123* = &a_146 in let apply_expr_162 : int = print_struct(make_string_160, addr_of_var_161) in let make_string_163 = "b" in let addr_of_var_164 : item_123* = &b_147 in let apply_expr_165 : int = print_struct(make_string_163, addr_of_var_164) in let make_scalar_166 : int = 0 in make_seq_rest_fun_144(make_scalar_166) in $return 0