ats_ptr_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil () {
/* local vardec */
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_ptr_type, tmp12) ;
ATSlocal (ats_ptr_type, tmp14) ;
ATSlocal (ats_ptr_type, tmp15) ;
ATSlocal (ats_ptr_type, tmp16) ;
ATSlocal (ats_ptr_type, tmp17) ;
ATSlocal (ats_ptr_type, tmp18) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil:
tmp12 = ptr_alloc_01070_anairiats_rec_2 () ;
tmp14 = ats_selsin_mac(tmp12, atslab_2) ;
tmp15 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp14), atslab_map) = tmp15 ;
tmp16 = (ats_sum_ptr_type)0 ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp14), atslab_maplst) = tmp16 ;
tmp17 = (ats_sum_ptr_type)0 ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp14), atslab_savedlst) = tmp17 ;
tmp18 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_2, tmp14), atslab_pervasive) = tmp18 ;
tmp11 = tmp14 ;
return (tmp11) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_make_nil] */
anairiats_rec_1
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__a1srt_tr_symsrt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (anairiats_rec_1, tmp83) ;
ATSlocal (ats_ptr_type, tmp84) ;
ATSlocal (ats_ptr_type, tmp85) ;
ATSlocal (ats_ptr_type, tmp86) ;
ATSlocal (ats_ptr_type, tmp87) ;
ATSlocal (ats_ptr_type, tmp88) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__a1srt_tr_symsrt:
tmp85 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_a1srt_sym) ;
do {
/* branch: __ats_lab_19 */
__ats_lab_19_0:
if (tmp85 != (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; }
__ats_lab_19_1:
tmp84 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_empty ;
break ;

/* branch: __ats_lab_20 */
__ats_lab_20_0:
// if (tmp85 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_20_1:
tmp86 = ats_caselptrlab_mac(anairiats_sum_6, tmp85, atslab_0) ;
tmp84 = tmp86 ;
break ;
} while (0) ;
tmp88 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_a1srt_srt) ;
tmp87 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rt_tr (tmp88) ;
tmp83.atslab_0 = tmp84 ;
tmp83.atslab_1 = tmp87 ;

return (tmp83) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__a1srt_tr_symsrt] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_symtbl_2esats__symtbl_make (ats_int_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_ptr_type, tmp2) ;
ATSlocal (ats_int_type, tmp3) ;
ATSlocal (ats_ptr_type, tmp4) ;
ATSlocal (ats_ptr_type, tmp5) ;
ATSlocal (ats_ptr_type, tmp6) ;
// ATSlocal_void (tmp7) ;
// ATSlocal_void (tmp13) ;
// ATSlocal_void (tmp14) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_symtbl_2esats__symtbl_make:
tmp1 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_0)) ;
tmp2 = ats_selsin_mac(tmp1, atslab_2) ;
tmp3 = atspre_imax (arg0, 1) ;
tmp4 = ats_array_ptr_alloc_tsz (tmp3, sizeof(ats_ptr_type)) ;
tmp5 = ats_selsin_mac(tmp4, atslab_2) ;
/* ats_ptr_type tmp6 ; */
tmp6 = (ats_sum_ptr_type)0 ;
/* tmp7 = */ array_ptr_initialize_elt_01930_ats_ptr_type (tmp5, tmp3, tmp6) ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp2), atslab_ptr) = tmp5 ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp2), atslab_size) = tmp3 ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp2), atslab_nitm) = 0 ;
/* tmp13 = */ atspre_vbox_make_view_ptr (tmp2) ;
/* tmp14 = ats_selsin_mac(tmp13, atslab_1) */ ;
tmp0 = tmp2 ;
return (tmp0) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_symtbl_2esats__symtbl_make] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp137) ;
ATSlocal (ats_int_type, tmp138) ;
ATSlocal (ats_bool_type, tmp139) ;
// ATSlocal_void (tmp140) ;
// ATSlocal_void (tmp141) ;
ATSlocal (ats_int_type, tmp142) ;
// ATSlocal_void (tmp143) ;
// ATSlocal_void (tmp144) ;
ATSlocal (ats_ptr_type, tmp145) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma:
tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_beg_nrow) ;
tmp139 = atspre_gte_int_int (tmp138, 0) ;
if (tmp139) {
/* tmp140 = */ atspre_fprint_string (arg0, ATSstrcst("#line ")) ;
tmp142 = atspre_add_int_int (tmp138, 1) ;
/* tmp141 = */ atspre_fprint_int (arg0, tmp142) ;
/* tmp143 = */ atspre_fprint_string (arg0, ATSstrcst(" \"")) ;
tmp145 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_filename) ;
/* tmp144 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp145) ;
/* tmp137 = */ atspre_fprint_string (arg0, ATSstrcst("\"\n")) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp137) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma] */
ats_void_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_push (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp12) ;
ATSlocal (ats_ptr_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;
ATSlocal (ats_ptr_type, tmp15) ;
ATSlocal (ats_ptr_type, tmp16) ;
ATSlocal (ats_ptr_type, tmp17) ;
ATSlocal (ats_ptr_type, tmp18) ;
ATSlocal (ats_ptr_type, tmp19) ;
ATSlocal (ats_ptr_type, tmp20) ;
ATSlocal (ats_ptr_type, tmp21) ;
ATSlocal (ats_ptr_type, tmp22) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_push:
tmp14 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_map) ;
tmp13 = atspre_ref_get_view_ptr (tmp14) ;
tmp15 = ats_selsin_mac(tmp13, atslab_1) ;
tmp16 = ats_ptrget_mac(ats_ptr_type, tmp15) ;
tmp17 = _2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symmap_make () ;
ats_ptrget_mac(ats_ptr_type, tmp15) = tmp17 ;
tmp19 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_maplst) ;
tmp18 = atspre_ref_get_view_ptr (tmp19) ;
tmp20 = ats_selsin_mac(tmp18, atslab_1) ;
tmp22 = ats_ptrget_mac(ats_ptr_type, tmp20) ;
tmp21 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp21, atslab_0, tmp16) ;
ats_selptrset_mac(anairiats_sum_1, tmp21, atslab_1, tmp22) ;
ats_ptrget_mac(ats_ptr_type, tmp20) = tmp21 ;
return /* (tmp12) */ ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_push] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp_loopexn (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;
ATSlocal (ats_ptr_type, tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;
ATSlocal (ats_int_type, tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;
ATSlocal (ats_bool_type, tmp35) ;
ATSlocal (ats_ptr_type, tmp36) ;
// ATSlocal_void (tmp37) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp_loopexn:
tmp30 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_loc) ;
tmp31 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_type) ;
tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_node) ;
if (((ats_sum_ptr_type)tmp32)->tag != 52) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_looping.dats: 3178(line=122, offs=5) -- 3214(line=122, offs=41)") ; }
tmp33 = ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_0) ;
tmp35 = atspre_eq_int_int (tmp33, 0) ;
if (tmp35) {
tmp34 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__ccompenv_get_loopfini (arg0) ;
} else {
tmp34 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__ccompenv_get_loopcont (arg0) ;
} /* end of [if] */
tmp36 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instr_loopexn (tmp30, tmp33, tmp34) ;
/* tmp37 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp36) ;
tmp29 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_empty (tmp30, tmp31) ;
return (tmp29) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp_loopexn] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_case (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp5) ;
ATSlocal (ats_ptr_type, tmp6) ;
ATSlocal (ats_ptr_type, tmp7) ;
ATSlocal (ats_ptr_type, tmp8) ;
ATSlocal (ats_ptr_type, tmp9) ;
ATSlocal (ats_ptr_type, tmp10) ;
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_ptr_type, tmp12) ;
ATSlocal (ats_int_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;
ATSlocal (ats_ptr_type, tmp15) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_case:
tmp6 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hidexp_loc) ;
tmp7 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hidexp_node) ;
if (((ats_sum_ptr_type)tmp7)->tag != 27) { ats_caseof_failure_handle ("/home/hwxi/research/Postiats/git/src/pats_ccomp_caseof.dats: 2230(line=85, offs=5) -- 2277(line=86, offs=40)") ; }
tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp7, atslab_0) ;
tmp9 = ats_caselptrlab_mac(anairiats_sum_2, tmp7, atslab_1) ;
tmp10 = ats_caselptrlab_mac(anairiats_sum_2, tmp7, atslab_2) ;
tmp11 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv (arg0, arg1, tmp9) ;
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)tmp8)->tag != 1) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp12 = (ats_sum_ptr_type)(&_2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__PTCKNTnone_0) ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
if (((ats_sum_ptr_type)tmp8)->tag != 0) { goto __ats_lab_4_0 ; }
__ats_lab_3_1:
tmp12 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp12)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_3, tmp12, atslab_0, tmp6) ;
break ;

/* branch: __ats_lab_4 */
__ats_lab_4_0:
// if (((ats_sum_ptr_type)tmp8)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_4_1:
tmp12 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp12)->tag = 4 ;
ats_selptrset_mac(anairiats_sum_3, tmp12, atslab_0, tmp6) ;
break ;
} while (0) ;
tmp13 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ;
tmp14 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hiclaulst_ccomp (arg0, tmp13, tmp11, tmp10, arg2, tmp12) ;
tmp15 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_caseof (tmp6, tmp14) ;
/* tmp5 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp15) ;
return /* (tmp5) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_case] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_trywith (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2, ats_ptr_type arg3) {
/* local vardec */
// ATSlocal_void (tmp0) ;
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_int_type, tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;
ATSlocal (ats_ptr_type, tmp4) ;
ATSlocal (ats_ptr_type, tmp5) ;
ATSlocal (ats_ptr_type, tmp6) ;
ATSlocal (ats_ptr_type, tmp7) ;
ATSlocal (ats_ptr_type, tmp8) ;
// ATSlocal_void (tmp9) ;
// ATSlocal_void (tmp10) ;
// ATSlocal_void (tmp11) ;
// ATSlocal_void (tmp12) ;
ATSlocal (ats_ptr_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;
ATSlocal (ats_ptr_type, tmp15) ;
ATSlocal (ats_ptr_type, tmp16) ;
ATSlocal (ats_ptr_type, tmp17) ;
ATSlocal (ats_ptr_type, tmp18) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_trywith:
tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hidexp_loc) ;
tmp2 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_trans2_env_2esats__the_d2varlev_get () ;
tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_1, arg3), atslab_hidexp_node) ;
if (((ats_sum_ptr_type)tmp3)->tag != 52) { ats_caseof_failure_handle ("/home/hwxi/research/Postiats/git/src/pats_ccomp_trywith.dats: 1818(line=63, offs=5) -- 1871(line=64, offs=43)") ; }
tmp4 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_0) ;
tmp5 = ats_caselptrlab_mac(anairiats_sum_2, tmp3, atslab_1) ;
tmp6 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__tmpvar_make (tmp1, _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__hisexp_exnconptr) ;
tmp7 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__primval_make_tmp (tmp1, tmp6) ;
tmp8 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_make_nil () ;
/* tmp9 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_push (arg0) ;
/* tmp10 = ats_selsin_mac(tmp9, atslab_1) */ ;
/* tmp11 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret (arg0, tmp8, arg2, tmp4) ;
/* tmp12 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__ccompenv_pop (arg0) ;
tmp13 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_get_free (tmp8) ;
tmp14 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
((ats_sum_ptr_type)tmp14)->tag = 6 ;
ats_selptrset_mac(anairiats_sum_2, tmp14, atslab_0, arg2) ;
ats_selptrset_mac(anairiats_sum_2, tmp14, atslab_1, tmp7) ;
tmp17 = (ats_sum_ptr_type)0 ;
tmp16 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp16, atslab_0, tmp7) ;
ats_selptrset_mac(anairiats_sum_3, tmp16, atslab_1, tmp17) ;
tmp15 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hiclaulst_ccomp (arg0, tmp2, tmp16, tmp5, arg2, tmp14) ;
tmp18 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__instr_trywith (tmp1, tmp6, tmp13, tmp15) ;
/* tmp0 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp18) ;
return /* (tmp0) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccomp_ret_trywith] */
ats_void_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_save (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;
ATSlocal (ats_ptr_type, tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;
ATSlocal (ats_ptr_type, tmp35) ;
ATSlocal (ats_ptr_type, tmp36) ;
ATSlocal (ats_ptr_type, tmp37) ;
ATSlocal (ats_ptr_type, tmp38) ;
ATSlocal (ats_ptr_type, tmp39) ;
ATSlocal (ats_ptr_type, tmp40) ;
ATSlocal (ats_ptr_type, tmp41) ;
ATSlocal (ats_ptr_type, tmp42) ;
ATSlocal (ats_ptr_type, tmp43) ;
ATSlocal (ats_ptr_type, tmp44) ;
ATSlocal (ats_ptr_type, tmp45) ;
ATSlocal (anairiats_rec_2, tmp46) ;
ATSlocal (ats_ptr_type, tmp47) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_save:
tmp33 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_map) ;
tmp32 = atspre_ref_get_view_ptr (tmp33) ;
tmp34 = ats_selsin_mac(tmp32, atslab_1) ;
tmp35 = ats_ptrget_mac(ats_ptr_type, tmp34) ;
tmp36 = _2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symmap_make () ;
ats_ptrget_mac(ats_ptr_type, tmp34) = tmp36 ;
tmp38 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_maplst) ;
tmp37 = atspre_ref_get_view_ptr (tmp38) ;
tmp39 = ats_selsin_mac(tmp37, atslab_1) ;
tmp40 = ats_ptrget_mac(ats_ptr_type, tmp39) ;
tmp41 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, tmp39) = tmp41 ;
tmp43 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_savedlst) ;
tmp42 = atspre_ref_get_view_ptr (tmp43) ;
tmp44 = ats_selsin_mac(tmp42, atslab_1) ;
tmp46.atslab_0 = tmp35 ;
tmp46.atslab_1 = tmp40 ;

tmp47 = ats_ptrget_mac(ats_ptr_type, tmp44) ;
tmp45 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_0, tmp46) ;
ats_selptrset_mac(anairiats_sum_3, tmp45, atslab_1, tmp47) ;
ats_ptrget_mac(ats_ptr_type, tmp44) = tmp45 ;
return /* (tmp31) */ ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_save] */
ats_int_type
_compare_d2con_d2con_22 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp64) ;
ATSlocal (ats_ptr_type, tmp65) ;
ATSlocal (atsopt_count_type, tmp66) ;
ATSlocal (ats_ptr_type, tmp67) ;
ATSlocal (atsopt_count_type, tmp68) ;

__ats_lab__compare_d2con_d2con_22:
tmp65 = ats_selsin_mac(arg0, atslab_1) ;
tmp66 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp65), atslab_d2con_stamp) ;
tmp67 = ats_selsin_mac(arg1, atslab_1) ;
tmp68 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp67), atslab_d2con_stamp) ;
tmp64 = _2opt_2ats_2d0_2e2_2e9_2src_2ats_stamp_2esats__compare_stamp_stamp (tmp66, tmp68) ;
return (tmp64) ;
} /* end of [_compare_d2con_d2con_22] */
ats_ptr_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp96) ;
ATSlocal (ats_ptr_type, tmp97) ;
ATSlocal (ats_lint_type, tmp98) ;
ATSlocal (ats_int_type, tmp99) ;
ATSlocal (ats_int_type, tmp100) ;
ATSlocal (ats_lint_type, tmp101) ;
ATSlocal (ats_int_type, tmp102) ;
ATSlocal (ats_int_type, tmp103) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost:
tmp97 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_filename) ;
tmp98 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_ntot) ;
tmp99 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_nrow) ;
tmp100 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_ncol) ;
tmp101 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_ntot) ;
tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_nrow) ;
tmp103 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_ncol) ;
tmp96 = ATS_MALLOC(sizeof(anairiats_rec_0)) ;
ats_selptrset_mac(anairiats_rec_0, tmp96, atslab_filename, tmp97) ;
ats_selptrset_mac(anairiats_rec_0, tmp96, atslab_beg_ntot, tmp98) ;
ats_selptrset_mac(anairiats_rec_0, tmp96, atslab_beg_nrow, tmp99) ;
ats_selptrset_mac(anairiats_rec_0, tmp96, atslab_beg_ncol, tmp100) ;
ats_selptrset_mac(anairiats_rec_0, tmp96, atslab_end_ntot, tmp101) ;
ats_selptrset_mac(anairiats_rec_0, tmp96, atslab_end_nrow, tmp102) ;
ats_selptrset_mac(anairiats_rec_0, tmp96, atslab_end_ncol, tmp103) ;

return (tmp96) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_rightmost] */
ats_ptr_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp88) ;
ATSlocal (ats_ptr_type, tmp89) ;
ATSlocal (ats_lint_type, tmp90) ;
ATSlocal (ats_int_type, tmp91) ;
ATSlocal (ats_int_type, tmp92) ;
ATSlocal (ats_lint_type, tmp93) ;
ATSlocal (ats_int_type, tmp94) ;
ATSlocal (ats_int_type, tmp95) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost:
tmp89 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_filename) ;
tmp90 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_ntot) ;
tmp91 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_nrow) ;
tmp92 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_ncol) ;
tmp93 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_ntot) ;
tmp94 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_nrow) ;
tmp95 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_ncol) ;
tmp88 = ATS_MALLOC(sizeof(anairiats_rec_0)) ;
ats_selptrset_mac(anairiats_rec_0, tmp88, atslab_filename, tmp89) ;
ats_selptrset_mac(anairiats_rec_0, tmp88, atslab_beg_ntot, tmp90) ;
ats_selptrset_mac(anairiats_rec_0, tmp88, atslab_beg_nrow, tmp91) ;
ats_selptrset_mac(anairiats_rec_0, tmp88, atslab_beg_ncol, tmp92) ;
ats_selptrset_mac(anairiats_rec_0, tmp88, atslab_end_ntot, tmp93) ;
ats_selptrset_mac(anairiats_rec_0, tmp88, atslab_end_nrow, tmp94) ;
ats_selptrset_mac(anairiats_rec_0, tmp88, atslab_end_ncol, tmp95) ;

return (tmp88) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_leftmost] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_make (ats_ptr_type arg0, ats_ptr_type arg1, ats_int_type arg2, ats_ptr_type arg3, ats_ptr_type arg4) {
    /* local vardec */
    ATSlocal (ats_ptr_type, tmp0) ;
    ATSlocal (ats_int_type, tmp4) ;
    ATSlocal (atsopt_count_type, tmp5) ;
    ATSlocal (ats_ptr_type, tmp6) ;
    ATSlocal (ats_ptr_type, tmp7) ;
// ATSlocal_void (tmp8) ;
// ATSlocal_void (tmp9) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_make:
    tmp4 = aux_1 (arg3) ;
    tmp5 = _2opt_2ats_2d0_2e2_2e9_2src_2ats_stamp_2esats__d2mac_stamp_make () ;
    tmp6 = atspre_ptr_alloc_tsz (sizeof(anairiats_rec_1)) ;
    tmp7 = ats_selsin_mac(tmp6, atslab_2) ;
    ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp7), atslab_d2mac_loc) = arg0 ;
    ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp7), atslab_d2mac_sym) = arg1 ;
    ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp7), atslab_d2mac_kind) = arg2 ;
    ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp7), atslab_d2mac_narg) = tmp4 ;
    ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp7), atslab_d2mac_arglst) = arg3 ;
    ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp7), atslab_d2mac_def) = arg4 ;
    ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp7), atslab_d2mac_stamp) = tmp5 ;
    /* tmp8 = */ atspre_vbox_make_view_ptr (tmp7) ;
    /* tmp9 = ats_selsin_mac(tmp8, atslab_1) */ ;
    tmp0 = tmp7 ;
    return (tmp0) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_make] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_reftop_get (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp54) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_reftop_get:
tmp54 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_map) ;
return (tmp54) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_reftop_get] */
ats_ptr_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_get_filename (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp42) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_get_filename:
tmp42 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_filename) ;
return (tmp42) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_get_filename] */
ats_int_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_beg_nrow (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_int_type, tmp39) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_beg_nrow:
tmp39 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_nrow) ;
return (tmp39) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_beg_nrow] */
ats_lint_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_end_ntot (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_lint_type, tmp41) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_end_ntot:
tmp41 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_ntot) ;
return (tmp41) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_end_ntot] */
ats_size_type
ATS_2d0_2e2_2e10_2prelude_2SATS_2matrix0_2esats__matrix0_col (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_size_type, tmp10) ;
ATSlocal (ats_ptr_type, tmp11) ;

__ats_lab_ATS_2d0_2e2_2e10_2prelude_2SATS_2matrix0_2esats__matrix0_col:
tmp11 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp10 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp11), atslab_5) ;
return (tmp10) ;
} /* end of [ATS_2d0_2e2_2e10_2prelude_2SATS_2matrix0_2esats__matrix0_col] */
ats_size_type
ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__hashtbl_total (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_size_type, tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;

__ats_lab_ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__hashtbl_total:
tmp3 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_2) ;
tmp2 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_0, tmp3), atslab_tot) ;
return (tmp2) ;
} /* end of [ATS_2d0_2e2_2e12_2libats_2SATS_2hashtable_linprb_2esats__hashtbl_total] */
atsopt_count_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_stamp (ats_ptr_type arg0) {
    /* local vardec */
    ATSlocal (atsopt_count_type, tmp24) ;
    ATSlocal (ats_ptr_type, tmp25) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_stamp:
    tmp25 = ats_selsin_mac(arg0, atslab_1) ;
    tmp24 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp25), atslab_d2mac_stamp) ;
    return (tmp24) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_stamp] */
ats_void_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_set_def (ats_ptr_type arg0, ats_ptr_type arg1) {
    /* local vardec */
// ATSlocal_void (tmp22) ;
    ATSlocal (ats_ptr_type, tmp23) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_set_def:
    tmp23 = ats_selsin_mac(arg0, atslab_1) ;
    ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp23), atslab_d2mac_def) = arg1 ;
    return /* (tmp22) */ ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_set_def] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_def (ats_ptr_type arg0) {
    /* local vardec */
    ATSlocal (ats_ptr_type, tmp20) ;
    ATSlocal (ats_ptr_type, tmp21) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_def:
    tmp21 = ats_selsin_mac(arg0, atslab_1) ;
    tmp20 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp21), atslab_d2mac_def) ;
    return (tmp20) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_def] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_arglst (ats_ptr_type arg0) {
    /* local vardec */
    ATSlocal (ats_ptr_type, tmp18) ;
    ATSlocal (ats_ptr_type, tmp19) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_arglst:
    tmp19 = ats_selsin_mac(arg0, atslab_1) ;
    tmp18 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp19), atslab_d2mac_arglst) ;
    return (tmp18) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_arglst] */
ats_int_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_narg (ats_ptr_type arg0) {
    /* local vardec */
    ATSlocal (ats_int_type, tmp16) ;
    ATSlocal (ats_ptr_type, tmp17) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_narg:
    tmp17 = ats_selsin_mac(arg0, atslab_1) ;
    tmp16 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp17), atslab_d2mac_narg) ;
    return (tmp16) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_narg] */
ats_int_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_kind (ats_ptr_type arg0) {
    /* local vardec */
    ATSlocal (ats_int_type, tmp14) ;
    ATSlocal (ats_ptr_type, tmp15) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_kind:
    tmp15 = ats_selsin_mac(arg0, atslab_1) ;
    tmp14 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp15), atslab_d2mac_kind) ;
    return (tmp14) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_kind] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_sym (ats_ptr_type arg0) {
    /* local vardec */
    ATSlocal (ats_ptr_type, tmp12) ;
    ATSlocal (ats_ptr_type, tmp13) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_sym:
    tmp13 = ats_selsin_mac(arg0, atslab_1) ;
    tmp12 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp13), atslab_d2mac_sym) ;
    return (tmp12) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_dynexp2_2esats__d2mac_get_sym] */
ats_bool_type
location_is_none_24 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp104) ;
ATSlocal (ats_lint_type, tmp105) ;

__ats_lab_location_is_none_24:
tmp105 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_ntot) ;
tmp104 = atspre_lt_lint_lint (tmp105, 0L) ;
return (tmp104) ;
} /* end of [location_is_none_24] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__a1srt_tr_srt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp78) ;
ATSlocal (ats_ptr_type, tmp79) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__a1srt_tr_srt:
tmp79 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_8, arg0), atslab_a1srt_srt) ;
tmp78 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rt_tr (tmp79) ;
return (tmp78) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__a1srt_tr_srt] */
ats_size_type
ATS_2d0_2e2_2e10_2prelude_2SATS_2matrix0_2esats__matrix0_row (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_size_type, tmp8) ;
ATSlocal (ats_ptr_type, tmp9) ;

__ats_lab_ATS_2d0_2e2_2e10_2prelude_2SATS_2matrix0_2esats__matrix0_row:
tmp9 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, arg0), atslab_1) ;
tmp8 = ats_selptr_mac(ats_castptr_mac(anairiats_rec_1, tmp9), atslab_4) ;
return (tmp8) ;
} /* end of [ATS_2d0_2e2_2e10_2prelude_2SATS_2matrix0_2esats__matrix0_row] */
ats_void_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_staexp2_2esats__d2con_set_tag (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp52) ;
ATSlocal (ats_ptr_type, tmp53) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_staexp2_2esats__d2con_set_tag:
tmp53 = ats_selsin_mac(arg0, atslab_1) ;
ats_selptr_mac(ats_castptr_mac(anairiats_rec_4, tmp53), atslab_d2con_tag) = arg1 ;
return /* (tmp52) */ ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_staexp2_2esats__d2con_set_tag] */