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_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_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_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_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
_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_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_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_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_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__a1msrt_tr_symsrt (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp89) ;
ATSlocal (ats_ptr_type, tmp90) ;
ATSlocal (ats_ptr_type, tmp102) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__a1msrt_tr_symsrt:
tmp102 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_9, arg0), atslab_a1msrt_arg) ;
tmp90 = list_map_fun_01413_ats_ptr_type_anairiats_rec_1 (tmp102, &_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__a1srt_tr_symsrt) ;
tmp89 = ats_castfn_mac(ats_ptr_type, tmp90) ;
return (tmp89) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__a1msrt_tr_symsrt] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp49) ;
// ATSlocal_void (tmp50) ;
ATSlocal (ats_lint_type, tmp51) ;
ATSlocal (ats_lint_type, tmp52) ;
// ATSlocal_void (tmp53) ;
// ATSlocal_void (tmp54) ;
ATSlocal (ats_int_type, tmp55) ;
ATSlocal (ats_int_type, tmp56) ;
// ATSlocal_void (tmp57) ;
// ATSlocal_void (tmp58) ;
ATSlocal (ats_int_type, tmp59) ;
ATSlocal (ats_int_type, tmp60) ;
// ATSlocal_void (tmp61) ;
// ATSlocal_void (tmp62) ;
// ATSlocal_void (tmp63) ;
ATSlocal (ats_lint_type, tmp64) ;
ATSlocal (ats_lint_type, tmp65) ;
// ATSlocal_void (tmp66) ;
// ATSlocal_void (tmp67) ;
ATSlocal (ats_int_type, tmp68) ;
ATSlocal (ats_int_type, tmp69) ;
// ATSlocal_void (tmp70) ;
// ATSlocal_void (tmp71) ;
ATSlocal (ats_int_type, tmp72) ;
ATSlocal (ats_int_type, tmp73) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange:
tmp52 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_beg_ntot) ;
tmp51 = atspre_add_lint_lint (tmp52, 1L) ;
/* tmp50 = */ atspre_fprint_lint (arg0, tmp51) ;
/* tmp53 = */ atspre_fprint_string (arg0, ATSstrcst("(line=")) ;
tmp56 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_beg_nrow) ;
tmp55 = atspre_add_int_int (tmp56, 1) ;
/* tmp54 = */ atspre_fprint_int (arg0, tmp55) ;
/* tmp57 = */ atspre_fprint_string (arg0, ATSstrcst(", offs=")) ;
tmp60 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_beg_ncol) ;
tmp59 = atspre_add_int_int (tmp60, 1) ;
/* tmp58 = */ atspre_fprint_int (arg0, tmp59) ;
/* tmp61 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
/* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst(" -- ")) ;
tmp65 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_end_ntot) ;
tmp64 = atspre_add_lint_lint (tmp65, 1L) ;
/* tmp63 = */ atspre_fprint_lint (arg0, tmp64) ;
/* tmp66 = */ atspre_fprint_string (arg0, ATSstrcst("(line=")) ;
tmp69 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_end_nrow) ;
tmp68 = atspre_add_int_int (tmp69, 1) ;
/* tmp67 = */ atspre_fprint_int (arg0, tmp68) ;
/* tmp70 = */ atspre_fprint_string (arg0, ATSstrcst(", offs=")) ;
tmp73 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_end_ncol) ;
tmp72 = atspre_add_int_int (tmp73, 1) ;
/* tmp71 = */ atspre_fprint_int (arg0, tmp72) ;
/* tmp49 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
return /* (tmp49) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange] */
ats_void_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_swap (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp23) ;
ATSlocal (ats_ptr_type, tmp24) ;
ATSlocal (ats_ptr_type, tmp25) ;
ATSlocal (ats_ptr_type, tmp26) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_swap:
tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_map) ;
tmp24 = atspre_ref_get_view_ptr (tmp25) ;
tmp26 = ats_selsin_mac(tmp24, atslab_1) ;
/* tmp23 = */ ref_swap_02055_ats_ptr_type (arg1, tmp26) ;
return /* (tmp23) */ ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_swap] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint2_location (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp74) ;
ATSlocal (ats_ptr_type, tmp75) ;
// ATSlocal_void (tmp76) ;
// ATSlocal_void (tmp77) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint2_location:
tmp75 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_filename) ;
/* tmp76 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__fprint2_filename_full (arg0, tmp75) ;
/* tmp77 = */ atspre_fprint_string (arg0, ATSstrcst(": ")) ;
/* tmp74 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_locrange (arg0, arg1) ;
return /* (tmp74) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint2_location] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_top_get (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp48) ;
ATSlocal (ats_ptr_type, tmp49) ;
ATSlocal (ats_ptr_type, tmp50) ;
ATSlocal (ats_ptr_type, tmp51) ;
ATSlocal (ats_ptr_type, tmp52) ;
ATSlocal (ats_ptr_type, tmp53) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_top_get:
tmp49 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_map) ;
tmp50 = atspre_ref_get_view_ptr (tmp49) ;
tmp51 = ats_selsin_mac(tmp50, atslab_1) ;
tmp52 = ats_ptrget_mac(ats_ptr_type, tmp51) ;
tmp53 = _2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symmap_make () ;
ats_ptrget_mac(ats_ptr_type, tmp51) = tmp53 ;
tmp48 = tmp52 ;
return (tmp48) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_top_get] */
ats_void_type
loop_err_12 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp19) ;
// ATSlocal_void (tmp20) ;
ATSlocal (ats_ptr_type, tmp23) ;
// ATSlocal_void (tmp24) ;
// ATSlocal_void (tmp25) ;
// ATSlocal_void (tmp26) ;
// ATSlocal_void (tmp27) ;

__ats_lab_loop_err_12:
tmp23 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_e0fftag_loc) ;
/* tmp20 = */ prerr_error1_loc_01893_ (tmp23) ;
/* tmp24 = */ atspre_prerr_string (ATSstrcst(": unrecognized effect constant: [")) ;
/* tmp25 = */ atspre_prerr_string (arg1) ;
/* tmp26 = */ atspre_prerr_string (ATSstrcst("]")) ;
/* tmp27 = */ atspre_prerr_newline () ;
/* tmp19 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_error_2esats__abort_interr () ;
return /* (tmp19) */ ;
} /* end of [loop_err_12] */
ats_void_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_pervasive_add (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp55) ;
ATSlocal (ats_ptr_type, tmp56) ;
ATSlocal (ats_ptr_type, tmp57) ;
ATSlocal (ats_ptr_type, tmp58) ;
ATSlocal (ats_ptr_type, tmp59) ;
ATSlocal (ats_ptr_type, tmp60) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_pervasive_add:
tmp57 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_pervasive) ;
tmp56 = atspre_ref_get_view_ptr (tmp57) ;
tmp58 = ats_selsin_mac(tmp56, atslab_1) ;
tmp60 = ats_ptrget_mac(ats_ptr_type, tmp58) ;
tmp59 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp59, atslab_0, arg1) ;
ats_selptrset_mac(anairiats_sum_1, tmp59, atslab_1, tmp60) ;
ats_ptrget_mac(ats_ptr_type, tmp58) = tmp59 ;
return /* (tmp55) */ ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_pervasive_add] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_qid (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;
ATSlocal (ats_ptr_type, tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;
ATSlocal (ats_ptr_type, tmp35) ;
// ATSlocal_void (tmp36) ;
// ATSlocal_void (tmp37) ;
// ATSlocal_void (tmp38) ;
// ATSlocal_void (tmp39) ;
// ATSlocal_void (tmp40) ;
// ATSlocal_void (tmp41) ;
// ATSlocal_void (tmp42) ;
ATSlocal (ats_ptr_type, tmp43) ;
// ATSlocal_void (tmp44) ;
// ATSlocal_void (tmp45) ;
// ATSlocal_void (tmp46) ;
// ATSlocal_void (tmp47) ;
// ATSlocal_void (tmp48) ;
// ATSlocal_void (tmp49) ;
// ATSlocal_void (tmp50) ;
ATSlocal (ats_ptr_type, tmp51) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_qid:
tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ;
tmp33 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_env_2esats__the_s2rtenv_find_qua (arg1, arg2) ;
do {
/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (tmp33 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; }
__ats_lab_6_1:
tmp34 = ats_caselptrlab_mac(anairiats_sum_6, tmp33, atslab_0) ;
ATS_FREE(tmp33) ;
do {
/* branch: __ats_lab_7 */
__ats_lab_7_0:
if (((ats_sum_ptr_type)tmp34)->tag != 0) { goto __ats_lab_8_0 ; }
__ats_lab_7_1:
tmp35 = ats_caselptrlab_mac(anairiats_sum_4, tmp34, atslab_0) ;
tmp31 = tmp35 ;
break ;

/* branch: __ats_lab_8 */
__ats_lab_8_0:
__ats_lab_8_1:
/* tmp36 = */ prerr_error2_loc_02085_ (tmp32) ;
/* tmp37 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/ATS-Postiats/src/pats_trans2_sort.dats"), ATSstrcst("s1rt_tr_qid")) ;
/* tmp38 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ;
/* tmp39 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__prerr_symbol (arg2) ;
/* tmp40 = */ atspre_prerr_string (ATSstrcst("] is expected to refer to a sort (instead of a subset sort).")) ;
/* tmp41 = */ atspre_prerr_newline () ;
tmp43 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp43)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_4, tmp43, atslab_0, arg0) ;
/* tmp42 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp43) ;
tmp31 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2rt_err () ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
// if (tmp33 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_9_1:
/* tmp44 = */ prerr_error2_loc_02085_ (tmp32) ;
/* tmp45 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/ATS-Postiats/src/pats_trans2_sort.dats"), ATSstrcst("s1rt_tr_qid")) ;
/* tmp46 = */ atspre_prerr_string (ATSstrcst(": the identifier [")) ;
/* tmp47 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__prerr_symbol (arg2) ;
/* tmp48 = */ atspre_prerr_string (ATSstrcst("] does not refer to any recognized sort.")) ;
/* tmp49 = */ atspre_prerr_newline () ;
tmp51 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp51)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_4, tmp51, atslab_0, arg0) ;
/* tmp50 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp51) ;
tmp31 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2rt_err () ;
break ;
} while (0) ;
return (tmp31) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_qid] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_app (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_ptr_type, tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;
ATSlocal (ats_bool_type, tmp4) ;
ATSlocal (ats_ptr_type, 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_ptr_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;
// ATSlocal_void (tmp15) ;
// ATSlocal_void (tmp20) ;
// ATSlocal_void (tmp21) ;
// ATSlocal_void (tmp22) ;
ATSlocal (ats_ptr_type, tmp25) ;
// ATSlocal_void (tmp26) ;
// ATSlocal_void (tmp27) ;
// ATSlocal_void (tmp28) ;
// ATSlocal_void (tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_app:
tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ;
tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg1), atslab_s1rt_node) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
__ats_lab_0_1:
tmp4 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp1_2esats__s1rt_is_arrow (arg1) ;
if (!tmp4) { goto __ats_lab_5_1 ; }
do {
/* branch: __ats_lab_1 */
__ats_lab_1_0:
if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; }
tmp5 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_1) ;
if (tmp5 == (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; }
tmp6 = ats_caselptrlab_mac(anairiats_sum_3, tmp5, atslab_1) ;
if (tmp6 != (ats_sum_ptr_type)0) { goto __ats_lab_4_0 ; }
__ats_lab_1_1:
tmp7 = ats_caselptrlab_mac(anairiats_sum_3, arg2, atslab_0) ;
tmp8 = ats_caselptrlab_mac(anairiats_sum_3, tmp5, atslab_0) ;
tmp10 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, tmp7), atslab_s1rt_node) ;
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)tmp10)->tag != 1) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp11 = ats_caselptrlab_mac(anairiats_sum_4, tmp10, atslab_0) ;
tmp9 = tmp11 ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
__ats_lab_3_1:
tmp12 = (ats_sum_ptr_type)0 ;
tmp9 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_0, tmp7) ;
ats_selptrset_mac(anairiats_sum_3, tmp9, atslab_1, tmp12) ;
break ;
} while (0) ;
tmp13 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rtlst_tr (tmp9) ;
tmp14 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rt_tr (tmp8) ;
tmp1 = ATS_MALLOC(sizeof(anairiats_sum_5)) ;
((ats_sum_ptr_type)tmp1)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_5, tmp1, atslab_0, tmp13) ;
ats_selptrset_mac(anairiats_sum_5, tmp1, atslab_1, tmp14) ;
break ;

/* branch: __ats_lab_4 */
__ats_lab_4_0:
__ats_lab_4_1:
/* tmp15 = */ prerr_interror_loc_02083_ (tmp2) ;
/* tmp20 = */ atspre_prerr_string (ATSstrcst(": s1rt_tr_app: [->] is not an infix operator!")) ;
/* tmp21 = */ atspre_prerr_newline () ;
/* tmp1 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_error_2esats__abort_interr () ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
__ats_lab_5_1:
tmp25 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ;
/* tmp22 = */ prerr_error2_loc_02085_ (tmp25) ;
/* tmp26 = */ patsopt_prerrf_ifdebug (ATSstrcst(": [%s]: %s"), ATSstrcst("/home/hwxi/Research/ATS-Postiats/src/pats_trans2_sort.dats"), ATSstrcst("s1rt_tr_app")) ;
/* tmp27 = */ atspre_prerr_string (ATSstrcst(": sort application is not supported.")) ;
/* tmp28 = */ atspre_prerr_newline () ;
tmp30 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp30)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_4, tmp30, atslab_0, arg0) ;
/* tmp29 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__the_trans2errlst_add (tmp30) ;
tmp1 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2rt_err () ;
break ;
} while (0) ;
return (tmp1) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_app] */
ats_ptr_type
location_combine_main_25 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp106) ;
ATSlocal (ats_lint_type, tmp107) ;
ATSlocal (ats_int_type, tmp108) ;
ATSlocal (ats_int_type, tmp109) ;
ATSlocal (ats_lint_type, tmp110) ;
ATSlocal (ats_int_type, tmp111) ;
ATSlocal (ats_int_type, tmp112) ;
ATSlocal (ats_bool_type, tmp114) ;
ATSlocal (ats_lint_type, tmp115) ;
ATSlocal (ats_lint_type, tmp116) ;
ATSlocal (ats_int_type, tmp117) ;
ATSlocal (ats_int_type, tmp118) ;
ATSlocal (ats_lint_type, tmp119) ;
ATSlocal (ats_int_type, tmp120) ;
ATSlocal (ats_int_type, tmp121) ;
ATSlocal (ats_lint_type, tmp122) ;
ATSlocal (ats_bool_type, tmp124) ;
ATSlocal (ats_lint_type, tmp125) ;
ATSlocal (ats_lint_type, tmp126) ;
ATSlocal (ats_int_type, tmp127) ;
ATSlocal (ats_int_type, tmp128) ;
ATSlocal (ats_lint_type, tmp129) ;
ATSlocal (ats_int_type, tmp130) ;
ATSlocal (ats_int_type, tmp131) ;
ATSlocal (ats_lint_type, tmp132) ;
ATSlocal (ats_ptr_type, tmp133) ;

__ats_lab_location_combine_main_25:
/* ats_lint_type tmp107 ; */
/* ats_int_type tmp108 ; */
/* ats_int_type tmp109 ; */
/* ats_lint_type tmp110 ; */
/* ats_int_type tmp111 ; */
/* ats_int_type tmp112 ; */
tmp115 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_ntot) ;
tmp116 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_beg_ntot) ;
tmp114 = atspre_lte_lint_lint (tmp115, tmp116) ;
if (tmp114) {
tmp117 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_nrow) ;
tmp108 = tmp117 ;
tmp118 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_ncol) ;
tmp109 = tmp118 ;
tmp119 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_beg_ntot) ;
tmp107 = tmp119 ;
} else {
tmp120 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_beg_nrow) ;
tmp108 = tmp120 ;
tmp121 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_beg_ncol) ;
tmp109 = tmp121 ;
tmp122 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_beg_ntot) ;
tmp107 = tmp122 ;
} /* end of [if] */
tmp125 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_ntot) ;
tmp126 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_end_ntot) ;
tmp124 = atspre_gte_lint_lint (tmp125, tmp126) ;
if (tmp124) {
tmp127 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_nrow) ;
tmp111 = tmp127 ;
tmp128 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_ncol) ;
tmp112 = tmp128 ;
tmp129 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_end_ntot) ;
tmp110 = tmp129 ;
} else {
tmp130 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_end_nrow) ;
tmp111 = tmp130 ;
tmp131 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_end_ncol) ;
tmp112 = tmp131 ;
tmp132 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_end_ntot) ;
tmp110 = tmp132 ;
} /* end of [if] */
tmp133 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg0), atslab_filename) ;
tmp106 = ATS_MALLOC(sizeof(anairiats_rec_0)) ;
ats_selptrset_mac(anairiats_rec_0, tmp106, atslab_filename, tmp133) ;
ats_selptrset_mac(anairiats_rec_0, tmp106, atslab_beg_ntot, tmp107) ;
ats_selptrset_mac(anairiats_rec_0, tmp106, atslab_beg_nrow, tmp108) ;
ats_selptrset_mac(anairiats_rec_0, tmp106, atslab_beg_ncol, tmp109) ;
ats_selptrset_mac(anairiats_rec_0, tmp106, atslab_end_ntot, tmp110) ;
ats_selptrset_mac(anairiats_rec_0, tmp106, atslab_end_nrow, tmp111) ;
ats_selptrset_mac(anairiats_rec_0, tmp106, atslab_end_ncol, tmp112) ;

return (tmp106) ;
} /* end of [location_combine_main_25] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp_loop (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_ptr_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 (ats_ptr_type, tmp9) ;
ATSlocal (ats_ptr_type, tmp10) ;
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_ptr_type, tmp12) ;
ATSlocal (ats_ptr_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;
// ATSlocal_void (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) ;
ATSlocal (ats_ptr_type, tmp23) ;
ATSlocal (ats_ptr_type, tmp24) ;
ATSlocal (ats_ptr_type, tmp25) ;
// ATSlocal_void (tmp26) ;
ATSlocal (ats_ptr_type, tmp27) ;
// ATSlocal_void (tmp28) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp_loop:
tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_loc) ;
tmp2 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_type) ;
tmp3 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg2), atslab_hidexp_node) ;
if (((ats_sum_ptr_type)tmp3)->tag != 51) { ats_caseof_failure_handle ("/home/hwxi/Research/ATS-Postiats/src/pats_ccomp_looping.dats: 1664(line=54, offs=5) -- 1715(line=54, offs=56)") ; }
tmp4 = ats_caselptrlab_mac(anairiats_sum_1, tmp3, atslab_0) ;
tmp5 = ats_caselptrlab_mac(anairiats_sum_1, tmp3, atslab_1) ;
tmp6 = ats_caselptrlab_mac(anairiats_sum_1, tmp3, atslab_2) ;
tmp7 = ats_caselptrlab_mac(anairiats_sum_1, tmp3, atslab_3) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (tmp4 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp9 = ats_caselptrlab_mac(anairiats_sum_2, tmp4, atslab_0) ;
/* ats_ptr_type tmp10 ; */
tmp10 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_make_nil () ;
tmp11 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp10, tmp9) ;
tmp8 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_get_free (tmp10) ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
// if (tmp4 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_1_1:
tmp8 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
tmp12 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmplab_make (tmp1) ;
tmp13 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmplab_make (tmp1) ;
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (tmp6 == (ats_sum_ptr_type)0) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp14 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__tmplab_make (tmp1) ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
// if (tmp6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_3_1:
tmp14 = tmp12 ;
break ;
} while (0) ;
/* tmp15 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__ccompenv_inc_loopexnenv (arg0, tmp12, tmp13, tmp14) ;
tmp16 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_make_nil () ;
tmp17 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp16, tmp5) ;
tmp18 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_get_free (tmp16) ;
do {
/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (tmp6 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp20 = ats_caselptrlab_mac(anairiats_sum_2, tmp6, atslab_0) ;
/* ats_ptr_type tmp21 ; */
tmp21 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_make_nil () ;
tmp22 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp21, tmp20) ;
tmp19 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_get_free (tmp21) ;
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (tmp6 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
tmp19 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
tmp23 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_make_nil () ;
tmp24 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp (arg0, tmp23, tmp7) ;
tmp25 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_get_free (tmp23) ;
/* tmp26 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__ccompenv_dec_loopexnenv (arg0) ;
tmp27 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instr_loop (tmp1, tmp12, tmp13, tmp14, tmp8, tmp17, tmp18, tmp19, tmp25) ;
/* tmp28 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__instrseq_add (arg1, tmp27) ;
tmp0 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__primval_empty (tmp1, tmp2) ;
return (tmp0) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_ccomp_2esats__hidexp_ccomp_loop] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rt_tr (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp52) ;
ATSlocal (ats_ptr_type, tmp53) ;
ATSlocal (ats_ptr_type, tmp54) ;
ATSlocal (ats_ptr_type, tmp55) ;
ATSlocal (ats_ptr_type, tmp56) ;
ATSlocal (ats_int_type, tmp57) ;
ATSlocal (ats_ptr_type, tmp58) ;
ATSlocal (ats_ptr_type, tmp59) ;
ATSlocal (ats_ptr_type, tmp60) ;
ATSlocal (ats_ptr_type, tmp61) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rt_tr:
tmp53 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_loc) ;
tmp54 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_2, arg0), atslab_s1rt_node) ;
do {
/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (((ats_sum_ptr_type)tmp54)->tag != 0) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
tmp55 = ats_caselptrlab_mac(anairiats_sum_5, tmp54, atslab_0) ;
tmp56 = ats_caselptrlab_mac(anairiats_sum_5, tmp54, atslab_1) ;
tmp52 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_app (arg0, tmp55, tmp56) ;
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
if (((ats_sum_ptr_type)tmp54)->tag != 3) { goto __ats_lab_12_0 ; }
__ats_lab_11_1:
tmp57 = ats_caselptrlab_mac(anairiats_sum_7, tmp54, atslab_0) ;
tmp52 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2rt_impred (tmp57) ;
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
if (((ats_sum_ptr_type)tmp54)->tag != 2) { goto __ats_lab_13_0 ; }
__ats_lab_12_1:
tmp58 = ats_caselptrlab_mac(anairiats_sum_5, tmp54, atslab_0) ;
tmp59 = ats_caselptrlab_mac(anairiats_sum_5, tmp54, atslab_1) ;
tmp52 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_sort_2edats__s1rt_tr_qid (arg0, tmp58, tmp59) ;
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
if (((ats_sum_ptr_type)tmp54)->tag != 1) { goto __ats_lab_14_0 ; }
__ats_lab_13_1:
tmp60 = ats_caselptrlab_mac(anairiats_sum_4, tmp54, atslab_0) ;
tmp61 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rtlst_tr (tmp60) ;
tmp52 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
((ats_sum_ptr_type)tmp52)->tag = 2 ;
ats_selptrset_mac(anairiats_sum_4, tmp52, atslab_0, tmp61) ;
break ;

/* branch: __ats_lab_14 */
__ats_lab_14_0:
// if (((ats_sum_ptr_type)tmp54)->tag != 4) { ats_deadcode_failure_handle () ; }
__ats_lab_14_1:
tmp52 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2rt_err () ;
break ;
} while (0) ;
return (tmp52) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rt_tr] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp0) ;
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_ptr_type, tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;
// ATSlocal_void (tmp4) ;
// ATSlocal_void (tmp5) ;
// ATSlocal_void (tmp6) ;
// ATSlocal_void (tmp7) ;
ATSlocal (ats_ptr_type, tmp8) ;
// ATSlocal_void (tmp9) ;
// ATSlocal_void (tmp10) ;
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_ptr_type, tmp12) ;
// ATSlocal_void (tmp13) ;
// ATSlocal_void (tmp14) ;
// ATSlocal_void (tmp15) ;
// ATSlocal_void (tmp16) ;
ATSlocal (ats_ptr_type, tmp17) ;
// ATSlocal_void (tmp18) ;
// ATSlocal_void (tmp19) ;
ATSlocal (ats_int_type, tmp28) ;
ATSlocal (ats_ptr_type, tmp29) ;
// ATSlocal_void (tmp30) ;
// ATSlocal_void (tmp31) ;
// ATSlocal_void (tmp32) ;
// ATSlocal_void (tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;
// ATSlocal_void (tmp35) ;
// ATSlocal_void (tmp36) ;
ATSlocal (ats_ptr_type, tmp37) ;
ATSlocal (ats_ptr_type, tmp38) ;
// ATSlocal_void (tmp39) ;
// ATSlocal_void (tmp40) ;
// ATSlocal_void (tmp41) ;
// ATSlocal_void (tmp42) ;
ATSlocal (ats_ptr_type, tmp43) ;
ATSlocal (ats_ptr_type, tmp44) ;
// ATSlocal_void (tmp45) ;
// ATSlocal_void (tmp46) ;
// ATSlocal_void (tmp47) ;
// ATSlocal_void (tmp48) ;
ATSlocal (ats_ptr_type, tmp49) ;
// ATSlocal_void (tmp50) ;
// ATSlocal_void (tmp51) ;
ATSlocal (ats_ptr_type, tmp52) ;
ATSlocal (ats_ptr_type, tmp53) ;
// ATSlocal_void (tmp54) ;
// ATSlocal_void (tmp55) ;
// ATSlocal_void (tmp56) ;
// ATSlocal_void (tmp57) ;
ATSlocal (ats_ptr_type, tmp58) ;
// ATSlocal_void (tmp59) ;
// ATSlocal_void (tmp60) ;
ATSlocal (ats_ptr_type, tmp61) ;
// ATSlocal_void (tmp62) ;
// ATSlocal_void (tmp63) ;
ATSlocal (ats_ptr_type, tmp64) ;
// ATSlocal_void (tmp65) ;
// ATSlocal_void (tmp66) ;
ATSlocal (ats_ptr_type, tmp67) ;
// ATSlocal_void (tmp68) ;
// ATSlocal_void (tmp69) ;
ATSlocal (ats_ptr_type, tmp70) ;
// ATSlocal_void (tmp71) ;
// ATSlocal_void (tmp72) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp:
tmp1 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_hisexp_node) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (((ats_sum_ptr_type)tmp1)->tag != 5) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp2 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_1) ;
tmp3 = ats_caselptrlab_mac(anairiats_sum_1, tmp1, atslab_2) ;
/* tmp4 = */ atspre_fprint_string (arg0, ATSstrcst("HSEfun(")) ;
/* tmp5 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst (arg0, tmp2) ;
/* tmp6 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp7 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp3) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
if (((ats_sum_ptr_type)tmp1)->tag != 0) { goto __ats_lab_2_0 ; }
__ats_lab_1_1:
tmp8 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ;
/* tmp9 = */ atspre_fprint_string (arg0, ATSstrcst("HSEcst(")) ;
/* tmp10 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2cst (arg0, tmp8) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)tmp1)->tag != 3) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp11 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ;
tmp12 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ;
/* tmp13 = */ atspre_fprint_string (arg0, ATSstrcst("HSEapp(")) ;
/* tmp14 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp11) ;
/* tmp15 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp16 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst (arg0, tmp12) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
if (((ats_sum_ptr_type)tmp1)->tag != 4) { goto __ats_lab_6_0 ; }
__ats_lab_3_1:
tmp17 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ;
/* tmp18 = */ atspre_fprint_string (arg0, ATSstrcst("HSEextype(")) ;
/* tmp19 = */ fprintlst_01694_ats_ptr_type (arg0, tmp17, ATSstrcst("; "), &_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (((ats_sum_ptr_type)tmp1)->tag != 6) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
tmp28 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_0) ;
tmp29 = ats_caselptrlab_mac(anairiats_sum_5, tmp1, atslab_1) ;
/* tmp30 = */ atspre_fprint_string (arg0, ATSstrcst("HSErefarg(")) ;
/* tmp31 = */ atspre_fprint_int (arg0, tmp28) ;
/* tmp32 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp33 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp29) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
if (((ats_sum_ptr_type)tmp1)->tag != 2) { goto __ats_lab_8_0 ; }
__ats_lab_7_1:
tmp34 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ;
/* tmp35 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyabs(")) ;
/* tmp36 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_symbol_2esats__fprint_symbol (arg0, tmp34) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (((ats_sum_ptr_type)tmp1)->tag != 1) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtybox()")) ;
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
if (((ats_sum_ptr_type)tmp1)->tag != 7) { goto __ats_lab_10_0 ; }
__ats_lab_9_1:
tmp37 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ;
tmp38 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ;
/* tmp39 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyarr(")) ;
/* tmp40 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp37) ;
/* tmp41 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp42 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2explst (arg0, tmp38) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_10 */
__ats_lab_10_0:
if (((ats_sum_ptr_type)tmp1)->tag != 8) { goto __ats_lab_11_0 ; }
__ats_lab_10_1:
tmp43 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ;
tmp44 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ;
/* tmp45 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyrec(")) ;
/* tmp46 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_tyreckind (arg0, tmp43) ;
/* tmp47 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp48 = */ fprintlst_01694_ats_ptr_type (arg0, tmp44, ATSstrcst(", "), &_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
if (((ats_sum_ptr_type)tmp1)->tag != 9) { goto __ats_lab_12_0 ; }
__ats_lab_11_1:
tmp49 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ;
/* tmp50 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyrecsin(")) ;
/* tmp51 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp (arg0, tmp49) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
if (((ats_sum_ptr_type)tmp1)->tag != 10) { goto __ats_lab_13_0 ; }
__ats_lab_12_1:
tmp52 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_0) ;
tmp53 = ats_caselptrlab_mac(anairiats_sum_3, tmp1, atslab_1) ;
/* tmp54 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtysum(")) ;
/* tmp55 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_d2con (arg0, tmp52) ;
/* tmp56 = */ atspre_fprint_string (arg0, ATSstrcst("; ")) ;
/* tmp57 = */ fprintlst_01694_ats_ptr_type (arg0, tmp53, ATSstrcst(", "), &_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
if (((ats_sum_ptr_type)tmp1)->tag != 11) { goto __ats_lab_14_0 ; }
__ats_lab_13_1:
tmp58 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ;
/* tmp59 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyvar(")) ;
/* tmp60 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp58) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_14 */
__ats_lab_14_0:
if (((ats_sum_ptr_type)tmp1)->tag != 12) { goto __ats_lab_15_0 ; }
__ats_lab_14_1:
tmp61 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ;
/* tmp62 = */ atspre_fprint_string (arg0, ATSstrcst("HSEtyclo(")) ;
/* tmp63 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_funlab (arg0, tmp61) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
if (((ats_sum_ptr_type)tmp1)->tag != 13) { goto __ats_lab_16_0 ; }
__ats_lab_15_1:
tmp64 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ;
/* tmp65 = */ atspre_fprint_string (arg0, ATSstrcst("HSEvararg(")) ;
/* tmp66 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp64) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_16 */
__ats_lab_16_0:
if (((ats_sum_ptr_type)tmp1)->tag != 14) { goto __ats_lab_17_0 ; }
__ats_lab_16_1:
tmp67 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ;
/* tmp68 = */ atspre_fprint_string (arg0, ATSstrcst("HSEs2exp(")) ;
/* tmp69 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_staexp2_2esats__fpprint_s2exp (arg0, tmp67) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;

/* branch: __ats_lab_17 */
__ats_lab_17_0:
// if (((ats_sum_ptr_type)tmp1)->tag != 15) { ats_deadcode_failure_handle () ; }
__ats_lab_17_1:
tmp70 = ats_caselptrlab_mac(anairiats_sum_2, tmp1, atslab_0) ;
/* tmp71 = */ atspre_fprint_string (arg0, ATSstrcst("HSEs2zexp(")) ;
/* tmp72 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_staexp2_2esats__fprint_s2zexp (arg0, tmp70) ;
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst(")")) ;
break ;
} while (0) ;
return /* (tmp0) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp] */
ats_void_type
loop_14 (ats_ref_type arg0, ats_ref_type arg1, ats_ref_type arg2, ats_ref_type arg3, ats_ref_type arg4, ats_ptr_type arg5) {
/* local vardec */
// ATSlocal_void (tmp28) ;
ATSlocal (ats_ptr_type, tmp29) ;
ATSlocal (ats_ptr_type, tmp30) ;
// ATSlocal_void (tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;
ATSlocal (ats_ptr_type, tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;
ATSlocal (ats_int_type, tmp35) ;
ATSlocal (ats_bool_type, tmp37) ;
ATSlocal (ats_bool_type, tmp38) ;
ATSlocal (ats_int_type, tmp39) ;
ATSlocal (ats_ptr_type, tmp40) ;
ATSlocal (ats_bool_type, tmp41) ;
ATSlocal (ats_bool_type, tmp42) ;
ATSlocal (ats_int_type, tmp43) ;
ATSlocal (ats_ptr_type, tmp44) ;
ATSlocal (ats_bool_type, tmp45) ;
ATSlocal (ats_bool_type, tmp46) ;
ATSlocal (ats_int_type, tmp47) ;
ATSlocal (ats_ptr_type, tmp48) ;
ATSlocal (ats_bool_type, tmp49) ;
ATSlocal (ats_bool_type, tmp51) ;
ATSlocal (ats_uint_type, tmp52) ;
ATSlocal (ats_bool_type, tmp53) ;
ATSlocal (ats_uint_type, tmp54) ;
ATSlocal (ats_int_type, tmp55) ;
ATSlocal (ats_ptr_type, tmp56) ;
ATSlocal (ats_bool_type, tmp57) ;
ATSlocal (ats_bool_type, tmp59) ;
ATSlocal (ats_uint_type, tmp60) ;
ATSlocal (ats_bool_type, tmp61) ;
ATSlocal (ats_uint_type, tmp62) ;
ATSlocal (ats_bool_type, tmp63) ;
ATSlocal (ats_bool_type, tmp65) ;
ATSlocal (ats_uint_type, tmp66) ;
ATSlocal (ats_bool_type, tmp67) ;
ATSlocal (ats_uint_type, tmp68) ;
ATSlocal (ats_bool_type, tmp69) ;
ATSlocal (ats_bool_type, tmp71) ;
ATSlocal (ats_uint_type, tmp72) ;
ATSlocal (ats_bool_type, tmp73) ;
ATSlocal (ats_uint_type, tmp74) ;
ATSlocal (ats_bool_type, tmp75) ;
ATSlocal (ats_bool_type, tmp77) ;
ATSlocal (ats_uint_type, tmp78) ;
ATSlocal (ats_bool_type, tmp79) ;
ATSlocal (ats_uint_type, tmp80) ;
ATSlocal (ats_bool_type, tmp81) ;
ATSlocal (ats_bool_type, tmp83) ;
ATSlocal (ats_uint_type, tmp84) ;
ATSlocal (ats_uint_type, tmp85) ;
ATSlocal (ats_bool_type, tmp86) ;
ATSlocal (ats_uint_type, tmp87) ;
ATSlocal (ats_uint_type, tmp88) ;
ATSlocal (ats_bool_type, tmp89) ;
ATSlocal (ats_bool_type, tmp91) ;
ATSlocal (ats_uint_type, tmp92) ;
ATSlocal (ats_uint_type, tmp93) ;
ATSlocal (ats_bool_type, tmp94) ;
ATSlocal (ats_uint_type, tmp95) ;
ATSlocal (ats_uint_type, tmp96) ;
ATSlocal (ats_bool_type, tmp97) ;
ATSlocal (ats_bool_type, tmp99) ;
ATSlocal (ats_uint_type, tmp100) ;
ATSlocal (ats_uint_type, tmp101) ;
ATSlocal (ats_uint_type, tmp102) ;
ATSlocal (ats_bool_type, tmp103) ;
ATSlocal (ats_uint_type, tmp104) ;
ATSlocal (ats_uint_type, tmp105) ;
ATSlocal (ats_uint_type, tmp106) ;
ATSlocal (ats_bool_type, tmp107) ;
ATSlocal (ats_bool_type, tmp109) ;
ATSlocal (ats_uint_type, tmp110) ;
ATSlocal (ats_uint_type, tmp111) ;
ATSlocal (ats_bool_type, tmp112) ;
ATSlocal (ats_uint_type, tmp113) ;
ATSlocal (ats_uint_type, tmp114) ;
ATSlocal (ats_int_type, tmp115) ;
ATSlocal (ats_bool_type, tmp116) ;
ATSlocal (ats_int_type, tmp117) ;
ATSlocal (ats_int_type, tmp118) ;
ATSlocal (ats_bool_type, tmp120) ;
ATSlocal (ats_ptr_type, tmp121) ;
ATSlocal (ats_ptr_type, tmp122) ;
ATSlocal (ats_bool_type, tmp123) ;
ATSlocal (ats_int_type, tmp124) ;
ATSlocal (ats_int_type, tmp125) ;
ATSlocal (ats_int_type, tmp126) ;
ATSlocal (ats_bool_type, tmp128) ;
ATSlocal (ats_ptr_type, tmp129) ;
ATSlocal (ats_ptr_type, tmp130) ;
ATSlocal (ats_bool_type, tmp131) ;

__ats_lab_loop_14:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (arg5 == (ats_sum_ptr_type)0) { goto __ats_lab_20_0 ; }
__ats_lab_0_1:
tmp29 = ats_caselptrlab_mac(anairiats_sum_1, arg5, atslab_0) ;
tmp30 = ats_caselptrlab_mac(anairiats_sum_1, arg5, atslab_1) ;
tmp32 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, tmp29), atslab_e0fftag_node) ;
do {
/* branch: __ats_lab_1 */
__ats_lab_1_0:
if (((ats_sum_ptr_type)tmp32)->tag != 2) { goto __ats_lab_2_0 ; }
__ats_lab_1_1:
tmp33 = ats_caselptrlab_mac(anairiats_sum_2, tmp32, atslab_0) ;
tmp34 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp34, atslab_0, tmp33) ;
ats_selptrset_mac(anairiats_sum_1, tmp34, atslab_1, ats_ptrget_mac(ats_ptr_type, arg4)) ;
ats_ptrget_mac(ats_ptr_type, arg4) = tmp34 ;
break ;

/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)tmp32)->tag != 0) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp35 = ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_0) ;
ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ;
tmp37 = atspre_eq_int_int (tmp35, 0) ;
if (tmp37) {
ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_nil ;
} else {
/* empty */
} /* end of [if] */
tmp38 = atspre_eq_int_int (tmp35, 1) ;
if (tmp38) {
ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_all ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
if (((ats_sum_ptr_type)tmp32)->tag != 1) { goto __ats_lab_4_0 ; }
__ats_lab_3_1:
tmp39 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_0) ;
tmp40 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_1) ;
tmp41 = name_is_all_2 (tmp40) ;
if (!tmp41) { goto __ats_lab_4_1 ; }
ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ;
tmp42 = atspre_gt_int_int (tmp39, 0) ;
if (tmp42) {
ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_nil ;
} else {
ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_all ;
} /* end of [if] */
break ;

/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (((ats_sum_ptr_type)tmp32)->tag != 1) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp43 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_0) ;
tmp44 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_1) ;
tmp45 = name_is_nil_1 (tmp44) ;
if (!tmp45) { goto __ats_lab_5_1 ; }
ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ;
tmp46 = atspre_gt_int_int (tmp43, 0) ;
if (tmp46) {
ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_all ;
} else {
ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_nil ;
} /* end of [if] */
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
if (((ats_sum_ptr_type)tmp32)->tag != 1) { goto __ats_lab_6_0 ; }
__ats_lab_5_1:
tmp47 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_0) ;
tmp48 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_1) ;
tmp49 = name_is_lazy_11 (tmp48) ;
if (!tmp49) { goto __ats_lab_6_1 ; }
ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ;
tmp51 = atspre_gt_int_int (tmp47, 0) ;
if (tmp51) {
tmp52 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_nil, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp52 ;
} else {
/* empty */
} /* end of [if] */
tmp53 = atspre_eq_int_int (tmp47, 0) ;
if (tmp53) {
tmp54 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_all, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp54 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (((ats_sum_ptr_type)tmp32)->tag != 1) { goto __ats_lab_16_0 ; }
__ats_lab_6_1:
tmp55 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_0) ;
tmp56 = ats_caselptrlab_mac(anairiats_sum_4, tmp32, atslab_1) ;
do {
/* branch: __ats_lab_7 */
__ats_lab_7_0:
__ats_lab_7_1:
tmp57 = name_is_ntm_3 (tmp56) ;
if (!tmp57) { goto __ats_lab_8_1 ; }
tmp59 = atspre_gt_int_int (tmp55, 0) ;
if (tmp59) {
tmp60 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ntm) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp60 ;
} else {
/* empty */
} /* end of [if] */
tmp61 = atspre_eq_int_int (tmp55, 0) ;
if (tmp61) {
tmp62 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ntm) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp62 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_8 */
__ats_lab_8_0:
__ats_lab_8_1:
tmp63 = name_is_exn_4 (tmp56) ;
if (!tmp63) { goto __ats_lab_9_1 ; }
tmp65 = atspre_gt_int_int (tmp55, 0) ;
if (tmp65) {
tmp66 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_exn) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp66 ;
} else {
/* empty */
} /* end of [if] */
tmp67 = atspre_eq_int_int (tmp55, 0) ;
if (tmp67) {
tmp68 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_exn) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp68 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
__ats_lab_9_1:
tmp69 = name_is_ref_5 (tmp56) ;
if (!tmp69) { goto __ats_lab_10_1 ; }
tmp71 = atspre_gt_int_int (tmp55, 0) ;
if (tmp71) {
tmp72 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp72 ;
} else {
/* empty */
} /* end of [if] */
tmp73 = atspre_eq_int_int (tmp55, 0) ;
if (tmp73) {
tmp74 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp74 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_10 */
__ats_lab_10_0:
__ats_lab_10_1:
tmp75 = name_is_wrt_6 (tmp56) ;
if (!tmp75) { goto __ats_lab_11_1 ; }
tmp77 = atspre_gt_int_int (tmp55, 0) ;
if (tmp77) {
tmp78 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_wrt) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp78 ;
} else {
/* empty */
} /* end of [if] */
tmp79 = atspre_eq_int_int (tmp55, 0) ;
if (tmp79) {
tmp80 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_wrt) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp80 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_11 */
__ats_lab_11_0:
__ats_lab_11_1:
tmp81 = name_is_exnref_7 (tmp56) ;
if (!tmp81) { goto __ats_lab_12_1 ; }
tmp83 = atspre_gt_int_int (tmp55, 0) ;
if (tmp83) {
tmp85 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_exn) ;
tmp84 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (tmp85, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp84 ;
} else {
/* empty */
} /* end of [if] */
tmp86 = atspre_eq_int_int (tmp55, 0) ;
if (tmp86) {
tmp88 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_exn) ;
tmp87 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (tmp88, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp87 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_12 */
__ats_lab_12_0:
__ats_lab_12_1:
tmp89 = name_is_exnwrt_8 (tmp56) ;
if (!tmp89) { goto __ats_lab_13_1 ; }
tmp91 = atspre_gt_int_int (tmp55, 0) ;
if (tmp91) {
tmp93 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_exn) ;
tmp92 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (tmp93, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_wrt) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp92 ;
} else {
/* empty */
} /* end of [if] */
tmp94 = atspre_eq_int_int (tmp55, 0) ;
if (tmp94) {
tmp96 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_exn) ;
tmp95 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (tmp96, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_wrt) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp95 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_13 */
__ats_lab_13_0:
__ats_lab_13_1:
tmp97 = name_is_exnrefwrt_9 (tmp56) ;
if (!tmp97) { goto __ats_lab_14_1 ; }
tmp99 = atspre_gt_int_int (tmp55, 0) ;
if (tmp99) {
tmp102 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_exn) ;
tmp101 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (tmp102, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
tmp100 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (tmp101, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_wrt) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp100 ;
} else {
/* empty */
} /* end of [if] */
tmp103 = atspre_eq_int_int (tmp55, 0) ;
if (tmp103) {
tmp106 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_exn) ;
tmp105 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (tmp106, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
tmp104 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (tmp105, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_wrt) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp104 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_14 */
__ats_lab_14_0:
__ats_lab_14_1:
tmp107 = name_is_refwrt_10 (tmp56) ;
if (!tmp107) { goto __ats_lab_15_1 ; }
tmp109 = atspre_gt_int_int (tmp55, 0) ;
if (tmp109) {
tmp111 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
tmp110 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_del (tmp111, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_wrt) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp110 ;
} else {
/* empty */
} /* end of [if] */
tmp112 = atspre_eq_int_int (tmp55, 0) ;
if (tmp112) {
tmp114 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (ats_ptrget_mac(ats_uint_type, arg3), _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_ref) ;
tmp113 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_add (tmp114, _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effect_wrt) ;
ats_ptrget_mac(ats_uint_type, arg3) = tmp113 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_15 */
__ats_lab_15_0:
__ats_lab_15_1:
/* tmp31 = */ loop_err_12 (tmp29, tmp56) ;
break ;
} while (0) ;
break ;

/* branch: __ats_lab_16 */
__ats_lab_16_0:
if (((ats_sum_ptr_type)tmp32)->tag != 3) { goto __ats_lab_17_0 ; }
__ats_lab_16_1:
ats_ptrget_mac(ats_int_type, arg2) = 1 ;
break ;

/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (((ats_sum_ptr_type)tmp32)->tag != 4) { goto __ats_lab_18_0 ; }
__ats_lab_17_1:
tmp115 = ats_caselptrlab_mac(anairiats_sum_3, tmp32, atslab_0) ;
ats_ptrget_mac(ats_int_type, arg1) = 1 ;
tmp116 = atspre_gt_int_int (tmp115, 0) ;
if (tmp116) {
ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_all ;
ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_18 */
__ats_lab_18_0:
if (((ats_sum_ptr_type)tmp32)->tag != 5) { goto __ats_lab_19_0 ; }
__ats_lab_18_1:
tmp117 = ats_caselptrlab_mac(anairiats_sum_5, tmp32, atslab_0) ;
tmp118 = ats_caselptrlab_mac(anairiats_sum_5, tmp32, atslab_1) ;
tmp120 = atspre_gte_int_int (tmp117, 0) ;
if (tmp120) {
ats_ptrget_mac(ats_int_type, arg1) = tmp117 ;
} else {
/* empty */
} /* end of [if] */
tmp122 = (ats_sum_ptr_type)0 ;
tmp121 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
ats_selptrset_mac(anairiats_sum_6, tmp121, atslab_0, tmp122) ;
ats_ptrget_mac(ats_ptr_type, arg0) = tmp121 ;
tmp123 = atspre_gt_int_int (tmp118, 0) ;
if (tmp123) {
ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_all ;
ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ;
} else {
/* empty */
} /* end of [if] */
break ;

/* branch: __ats_lab_19 */
__ats_lab_19_0:
// if (((ats_sum_ptr_type)tmp32)->tag != 6) { ats_deadcode_failure_handle () ; }
__ats_lab_19_1:
tmp124 = ats_caselptrlab_mac(anairiats_sum_7, tmp32, atslab_0) ;
tmp125 = ats_caselptrlab_mac(anairiats_sum_7, tmp32, atslab_1) ;
tmp126 = ats_caselptrlab_mac(anairiats_sum_7, tmp32, atslab_2) ;
tmp128 = atspre_gte_int_int (tmp124, 0) ;
if (tmp128) {
ats_ptrget_mac(ats_int_type, arg1) = tmp124 ;
} else {
/* empty */
} /* end of [if] */
tmp130 = ATS_MALLOC(sizeof(anairiats_sum_8)) ;
ats_selptrset_mac(anairiats_sum_8, tmp130, atslab_0, tmp125) ;
tmp129 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
ats_selptrset_mac(anairiats_sum_6, tmp129, atslab_0, tmp130) ;
ats_ptrget_mac(ats_ptr_type, arg0) = tmp129 ;
tmp131 = atspre_gt_int_int (tmp126, 0) ;
if (tmp131) {
ats_ptrget_mac(ats_uint_type, arg3) = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_effect_2esats__effset_all ;
ats_ptrget_mac(ats_ptr_type, arg4) = statmp18 ;
} else {
/* empty */
} /* end of [if] */
break ;
} while (0) ;
arg0 = arg0 ;
arg1 = arg1 ;
arg2 = arg2 ;
arg3 = arg3 ;
arg4 = arg4 ;
arg5 = tmp30 ;
goto __ats_lab_loop_14 ; // tail call
break ;

/* branch: __ats_lab_20 */
__ats_lab_20_0:
// if (arg5 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_20_1:
break ;
} while (0) ;
return /* (tmp28) */ ;
} /* end of [loop_14] */