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
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add (ats_ptr_type arg0, ats_ptr_type arg1, ats_ptr_type arg2) {
    /* local vardec */
// ATSlocal_void (tmp21) ;
    ATSlocal (ats_ptr_type, tmp22) ;
    ATSlocal (ats_bool_type, tmp23) ;
// ATSlocal_void (tmp24) ;
// ATSlocal_void (tmp25) ;
// ATSlocal_void (tmp28) ;
// ATSlocal_void (tmp29) ;
// ATSlocal_void (tmp30) ;
// ATSlocal_void (tmp31) ;
    ATSlocal (ats_ptr_type, tmp32) ;
// ATSlocal_void (tmp33) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add:
    tmp22 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_util_2esats__s2hnf2exp (arg2) ;
    tmp23 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_get_isasp (arg1) ;
    if (tmp23) {
        /* tmp25 = */ prerr_warning3_loc_02052_ (arg0) ;
        /* tmp28 = */ atspre_prerr_string (ATSstrcst(": the static constant [")) ;
        /* tmp29 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__prerr_s2cst (arg1) ;
        /* tmp30 = */ atspre_prerr_string (ATSstrcst("] is not abstract at this point.")) ;
        /* tmp24 = */ atspre_prerr_newline () ;
    } else {
        /* empty */
    } /* end of [if] */
    tmp32 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
    ats_selptrset_mac(anairiats_sum_2, tmp32, atslab_0, tmp22) ;
    /* tmp31 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_set_def (arg1, tmp32) ;
    /* tmp33 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__s2cst_set_isasp (arg1, ats_true_bool) ;
    /* tmp21 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2cstbindlst_add (arg1) ;
    return /* (tmp21) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_s2cstbindlst_bind_and_add] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2edats__dynload () {
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2edats__dynload_flag = 1 ;
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2edats__staload () ;

#ifdef _ATS_PROOFCHECK
#endif /* _ATS_PROOFCHECK */

/* marking static variables for GC */
ATS_GC_MARKROOT(&statmp78, sizeof(ats_ptr_type)) ;

/* marking external values for GC */

/* code for dynamic loading */
statmp78 = ATS_MALLOC(sizeof(anairiats_rec_0)) ;
ats_selptrset_mac(anairiats_rec_0, statmp78, atslab_filename, _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy) ;
ats_selptrset_mac(anairiats_rec_0, statmp78, atslab_beg_ntot, -1L) ;
ats_selptrset_mac(anairiats_rec_0, statmp78, atslab_beg_nrow, -1) ;
ats_selptrset_mac(anairiats_rec_0, statmp78, atslab_beg_ncol, -1) ;
ats_selptrset_mac(anairiats_rec_0, statmp78, atslab_end_ntot, -1L) ;
ats_selptrset_mac(anairiats_rec_0, statmp78, atslab_end_nrow, -1) ;
ats_selptrset_mac(anairiats_rec_0, statmp78, atslab_end_ncol, -1) ;

ATS_GC_MARKROOT(&_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_dummy, sizeof(ats_ptr_type)) ;
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_dummy = statmp78 ;
return ;
} /* end of [dynload function] */
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_make_fil_pos_pos (ats_ptr_type arg0, pats_position_struct arg1, pats_position_struct arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp81) ;
ATSlocal (ats_lint_type, tmp82) ;
ATSlocal (ats_int_type, tmp83) ;
ATSlocal (ats_int_type, tmp84) ;
ATSlocal (ats_lint_type, tmp85) ;
ATSlocal (ats_int_type, tmp86) ;
ATSlocal (ats_int_type, tmp87) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_make_fil_pos_pos:
tmp82 = ats_select_mac(arg1, ntot) ;
tmp83 = ats_select_mac(arg1, nrow) ;
tmp84 = ats_select_mac(arg1, ncol) ;
tmp85 = ats_select_mac(arg2, ntot) ;
tmp86 = ats_select_mac(arg2, nrow) ;
tmp87 = ats_select_mac(arg2, ncol) ;
tmp81 = ATS_MALLOC(sizeof(anairiats_rec_0)) ;
ats_selptrset_mac(anairiats_rec_0, tmp81, atslab_filename, arg0) ;
ats_selptrset_mac(anairiats_rec_0, tmp81, atslab_beg_ntot, tmp82) ;
ats_selptrset_mac(anairiats_rec_0, tmp81, atslab_beg_nrow, tmp83) ;
ats_selptrset_mac(anairiats_rec_0, tmp81, atslab_beg_ncol, tmp84) ;
ats_selptrset_mac(anairiats_rec_0, tmp81, atslab_end_ntot, tmp85) ;
ats_selptrset_mac(anairiats_rec_0, tmp81, atslab_end_nrow, tmp86) ;
ats_selptrset_mac(anairiats_rec_0, tmp81, atslab_end_ncol, tmp87) ;

return (tmp81) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__location_make_fil_pos_pos] */
ats_ptr_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_string (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;
ATSlocal (pats_tokbuf_struct, tmp1) ;
// ATSlocal_void (tmp2) ;
ATSlocal (ats_int_type, tmp3) ;
ATSlocal (ats_ptr_type, tmp4) ;
ATSlocal (ats_ptr_type, tmp5) ;
// ATSlocal_void (tmp6) ;
ATSlocal (ats_bool_type, tmp7) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_string:
/* pats_tokbuf_struct tmp1 ; */
/* tmp2 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_initialize_string ((&tmp1), arg0) ;
/* ats_int_type tmp3 ; */
tmp3 = 0 ;
tmp4 = ((ats_ptr_type(*)(ats_ref_type, ats_int_type, ats_ref_type))arg1) ((&tmp1), 0, (&tmp3)) ;
tmp5 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__p_EOF ((&tmp1), 0, (&tmp3)) ;
/* tmp6 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_tokbuf_2esats__tokbuf_uninitialize ((&tmp1)) ;
tmp7 = atspre_eq_int_int (tmp3, 0) ;
if (tmp7) {
tmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ;
ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_0, tmp4) ;
} else {
tmp0 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
return (tmp0) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_string] */
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
_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_make () {
/* local vardec */
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_ptr_type, tmp2) ;
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) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_make:
tmp5 = _2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symmap_make () ;
tmp2 = ref_make_elt_02048_ats_ptr_type (tmp5) ;
tmp7 = (ats_sum_ptr_type)0 ;
tmp6 = ref_make_elt_02048_ats_ptr_type (tmp7) ;
tmp9 = (ats_sum_ptr_type)0 ;
tmp8 = ref_make_elt_02048_ats_ptr_type (tmp9) ;
tmp11 = (ats_sum_ptr_type)0 ;
tmp10 = ref_make_elt_02048_ats_ptr_type (tmp11) ;
tmp1 = ATS_MALLOC(sizeof(anairiats_rec_0)) ;
ats_selptrset_mac(anairiats_rec_0, tmp1, atslab_map, tmp2) ;
ats_selptrset_mac(anairiats_rec_0, tmp1, atslab_maplst, tmp6) ;
ats_selptrset_mac(anairiats_rec_0, tmp1, atslab_savedlst, tmp8) ;
ats_selptrset_mac(anairiats_rec_0, tmp1, atslab_pervasive, tmp10) ;

return (tmp1) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_symenv_2esats__symenv_make] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_get_sym (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp8) ;
ATSlocal (ats_ptr_type, tmp9) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_get_sym:
do {
/* branch: __ats_lab_6 */
__ats_lab_6_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_7_0 ; }
__ats_lab_6_1:
tmp9 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp8 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp8, atslab_0, tmp9) ;
break ;

/* branch: __ats_lab_7 */
__ats_lab_7_0:
__ats_lab_7_1:
tmp8 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp8) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_get_sym] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_get_int (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp6) ;
ATSlocal (ats_int_type, tmp7) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_get_int:
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp7 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ;
tmp6 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp6, atslab_0, tmp7) ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
// if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; }
__ats_lab_3_1:
tmp6 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp6) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_get_int] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rtopt_tr (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp75) ;
ATSlocal (ats_ptr_type, tmp76) ;
ATSlocal (ats_ptr_type, tmp77) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rtopt_tr:
do {
/* branch: __ats_lab_17 */
__ats_lab_17_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_18_0 ; }
__ats_lab_17_1:
tmp76 = ats_caselptrlab_mac(anairiats_sum_6, arg0, atslab_0) ;
tmp77 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rt_tr (tmp76) ;
tmp75 = ATS_MALLOC(sizeof(anairiats_sum_6)) ;
ats_selptrset_mac(anairiats_sum_6, tmp75, atslab_0, tmp77) ;
break ;

/* branch: __ats_lab_18 */
__ats_lab_18_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_18_1:
tmp75 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp75) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans2_2esats__s1rtopt_tr] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_save () {
/* local vardec */
// ATSlocal_void (tmp62) ;
ATSlocal (ats_ptr_type, tmp63) ;
ATSlocal (ats_ptr_type, tmp64) ;
ATSlocal (ats_ptr_type, tmp65) ;
ATSlocal (ats_ptr_type, tmp66) ;
ATSlocal (ats_ptr_type, tmp67) ;
ATSlocal (ats_ptr_type, tmp68) ;
ATSlocal (ats_ptr_type, tmp69) ;
ATSlocal (ats_ptr_type, tmp70) ;
ATSlocal (anairiats_rec_2, tmp71) ;
ATSlocal (ats_ptr_type, tmp72) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_save:
tmp63 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp8), atslab_1) ;
tmp64 = ats_ptrget_mac(ats_ptr_type, tmp63) ;
tmp65 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, tmp63) = tmp65 ;
tmp66 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp12), atslab_1) ;
tmp67 = ats_ptrget_mac(ats_ptr_type, tmp66) ;
tmp68 = (ats_sum_ptr_type)0 ;
ats_ptrget_mac(ats_ptr_type, tmp66) = tmp68 ;
tmp69 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp14), atslab_1) ;
tmp71.atslab_0 = tmp64 ;
tmp71.atslab_1 = tmp67 ;

tmp72 = ats_ptrget_mac(ats_ptr_type, tmp69) ;
tmp70 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
ats_selptrset_mac(anairiats_sum_3, tmp70, atslab_0, tmp71) ;
ats_selptrset_mac(anairiats_sum_3, tmp70, atslab_1, tmp72) ;
ats_ptrget_mac(ats_ptr_type, tmp69) = tmp70 ;
return /* (tmp62) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_namespace_2esats__the_namespace_save] */
ats_ptr_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv (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) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (arg2 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp1 = ats_caselptrlab_mac(anairiats_sum_0, arg2, atslab_0) ;
tmp2 = ats_caselptrlab_mac(anairiats_sum_0, arg2, atslab_1) ;
tmp3 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_2esats__hidexp_ccompv (arg0, arg1, tmp1) ;
tmp4 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv (arg0, arg1, tmp2) ;
tmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ;
ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_0, tmp3) ;
ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_1, tmp4) ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
// if (arg2 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_1_1:
tmp0 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp0) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_ccomp_caseof_2edats__hidexplst_ccompv] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_get_sym (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp4) ;
ATSlocal (ats_ptr_type, tmp5) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_get_sym:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (((ats_sum_ptr_type)arg0)->tag != 1) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp5 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp4 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp4, atslab_0, tmp5) ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
// if (((ats_sum_ptr_type)arg0)->tag != 0) { ats_deadcode_failure_handle () ; }
__ats_lab_1_1:
tmp4 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp4) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_get_sym] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_lamlpenv_top () {
/* local vardec */
ATSlocal (ats_ptr_type, tmp5) ;
ATSlocal (ats_ptr_type, tmp6) ;
ATSlocal (ats_ptr_type, tmp7) ;
ATSlocal (ats_ptr_type, tmp8) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_lamlpenv_top:
tmp6 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ;
tmp7 = ats_ptrget_mac(ats_ptr_type, tmp6) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (tmp7 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp8 = ats_caselptrlab_mac(anairiats_sum_1, tmp7, atslab_0) ;
tmp5 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp5, atslab_0, tmp8) ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
// if (tmp7 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_1_1:
tmp5 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp5) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_lamlpenv_top] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur (ats_ref_type arg0) {
/* local vardec */
// ATSlocal_void (tmp41) ;
ATSlocal (ats_ptr_type, tmp42) ;
ATSlocal (ats_ptr_type, tmp43) ;
ATSlocal (ats_ptr_type, tmp44) ;
ATSlocal (ats_ptr_type, tmp45) ;
ATSlocal (ats_ptr_type, tmp46) ;
ATSlocal (anairiats_rec_3, tmp47) ;
ATSlocal (ats_ptr_type, tmp48) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur:
tmp42 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) ;
tmp43 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_symmap_2esats__symmap_make_nil () ;
ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_map) = tmp43 ;
tmp44 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) ;
tmp45 = (ats_sum_ptr_type)0 ;
ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_maplst) = tmp45 ;
tmp47.atslab_0 = tmp42 ;
tmp47.atslab_1 = tmp44 ;

tmp48 = ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_savedlst) ;
tmp46 = ATS_MALLOC(sizeof(anairiats_sum_4)) ;
ats_selptrset_mac(anairiats_sum_4, tmp46, atslab_0, tmp47) ;
ats_selptrset_mac(anairiats_sum_4, tmp46, atslab_1, tmp48) ;
ats_select_mac(ats_ptrget_mac(anairiats_rec_2, arg0), atslab_savedlst) = tmp46 ;
return /* (tmp41) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_symenv_2esats__symenv_savecur] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_get_int (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp5) ;
ATSlocal (ats_int_type, tmp6) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_get_int:
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_3_0 ; }
__ats_lab_2_1:
tmp6 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ;
tmp5 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp5, atslab_0, tmp6) ;
break ;

/* branch: __ats_lab_3 */
__ats_lab_3_0:
__ats_lab_3_1:
tmp5 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp5) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_get_int] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_remote_2esats__download_file (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_ptr_type, tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;
// ATSlocal_void (tmp4) ;
ATSlocal (ats_ptr_type, tmp5) ;
ATSlocal (ats_bool_type, tmp6) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_remote_2esats__download_file:
tmp1 = atsopt_ATSHOME_getenv_exn () ;
tmp2 = atsopt_filename_append (tmp1, ATSstrcst(".remote")) ;
tmp3 = atsopt_get_relative_url (arg0) ;
/* tmp4 = */ atsopt_encode_path (tmp3) ;
tmp5 = atsopt_filename_append (tmp2, tmp3) ;
tmp6 = atsopt_download_file_to_remote (arg0, tmp5) ;
if (tmp6) {
tmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ;
ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_0, tmp5) ;
} else {
tmp0 = (ats_sum_ptr_type)0 ;
} /* end of [if] */
return (tmp0) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_remote_2esats__download_file] */
ats_ptr_type
loop_4 (ats_ptr_type arg0) {
/* local vardec */
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 (ats_ptr_type, tmp15) ;

__ats_lab_loop_4:
do {
/* branch: __ats_lab_2 */
__ats_lab_2_0:
if (arg0 == (ats_sum_ptr_type)0) { goto __ats_lab_6_0 ; }
__ats_lab_2_1:
tmp11 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp12 = &ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_1) ;
do {
/* branch: __ats_lab_3 */
__ats_lab_3_0:
if (((ats_sum_ptr_type)tmp11)->tag != 0) { goto __ats_lab_4_0 ; }
__ats_lab_3_1:
tmp13 = ats_caselptrlab_mac(anairiats_sum_3, tmp11, atslab_0) ;
tmp10 = ATS_MALLOC(sizeof(anairiats_sum_2)) ;
ats_selptrset_mac(anairiats_sum_2, tmp10, atslab_0, tmp13) ;
break ;

/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (((ats_sum_ptr_type)tmp11)->tag != 1) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp14 = ats_ptrget_mac(ats_ptr_type, tmp12) ;
arg0 = tmp14 ;
goto __ats_lab_loop_4 ; // tail call
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (((ats_sum_ptr_type)tmp11)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
tmp15 = ats_ptrget_mac(ats_ptr_type, tmp12) ;
arg0 = tmp15 ;
goto __ats_lab_loop_4 ; // tail call
break ;
} while (0) ;
break ;

/* branch: __ats_lab_6 */
__ats_lab_6_0:
// if (arg0 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_6_1:
tmp10 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp10) ;
} /* end of [loop_4] */
ats_ptr_type
atslib_getcwd0 () {
  char *buf, *res ;
  int sz = __GETCWD_BUFSZ ;
//
  buf = (char*)ATS_MALLOC (__GETCWD_BUFSZ) ;
  while (1) {
    res = getcwd (buf, sz) ;
    if (!res) {
      ATS_FREE (buf) ;
      sz = sz + sz ; buf = (char*)ATS_MALLOC (sz) ;
      continue ;
    }
    break ;
  } // end of [while]
//
  return buf ;
} // end of [atslib_getcwd0]
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int (ats_int_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int:
tmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ;
((ats_sum_ptr_type)tmp0)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_0, arg0) ;
return (tmp0) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_int] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_sym (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp1) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_sym:
tmp1 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
((ats_sum_ptr_type)tmp1)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_0, arg0) ;
return (tmp1) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_sym] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_make_sym (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp3) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_make_sym:
tmp3 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
((ats_sum_ptr_type)tmp3)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_1, tmp3, atslab_0, arg0) ;
return (tmp3) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_make_sym] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_make_int (ats_int_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp0) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_make_int:
tmp0 = ATS_MALLOC(sizeof(anairiats_sum_0)) ;
((ats_sum_ptr_type)tmp0)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_0, tmp0, atslab_0, arg0) ;
return (tmp0) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_make_int] */
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp22) ;
ATSlocal (ats_ptr_type, tmp23) ;
ATSlocal (ats_ptr_type, tmp24) ;
ATSlocal (ats_ptr_type, tmp25) ;
ATSlocal (ats_ptr_type, tmp26) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam:
tmp23 = ats_selsin_mac(ats_castfn_mac(ats_ptr_type, statmp1), atslab_1) ;
tmp25 = ATS_MALLOC(sizeof(anairiats_sum_3)) ;
((ats_sum_ptr_type)tmp25)->tag = 0 ;
ats_selptrset_mac(anairiats_sum_3, tmp25, atslab_0, arg0) ;
tmp26 = ats_ptrget_mac(ats_ptr_type, tmp23) ;
tmp24 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
ats_selptrset_mac(anairiats_sum_1, tmp24, atslab_0, tmp25) ;
ats_selptrset_mac(anairiats_sum_1, tmp24, atslab_1, tmp26) ;
ats_ptrget_mac(ats_ptr_type, tmp23) = tmp24 ;
return /* (tmp22) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_trans3_env_2esats__the_lamlpenv_push_lam] */
ats_ptr_type
_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_make_string (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp1) ;
ATSlocal (ats_ptr_type, tmp2) ;

__ats_lab__2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_make_string:
tmp2 = _2opt_2ats_2d0_2e2_2e9_2src_2ats_symbol_2esats__symbol_make_string (arg0) ;
tmp1 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
((ats_sum_ptr_type)tmp1)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_1, tmp1, atslab_0, tmp2) ;
return (tmp1) ;
} /* end of [_2opt_2ats_2d0_2e2_2e9_2src_2ats_label_2esats__label_make_string] */
ats_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_string (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_string:
tmp3 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (arg0) ;
tmp2 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
((ats_sum_ptr_type)tmp2)->tag = 1 ;
ats_selptrset_mac(anairiats_sum_1, tmp2, atslab_0, tmp3) ;
return (tmp2) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_make_string] */
ats_ptr_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel (ats_int_type arg0, ats_ptr_type arg1, ats_ref_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp40) ;
ATSlocal (ats_ptr_type, tmp41) ;
ATSlocal (ats_ptr_type, 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_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel:
tmp41 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__filenameopt_make_local (arg1) ;
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (tmp41 == (ats_sum_ptr_type)0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
tmp42 = ats_caselptrlab_mac(anairiats_sum_0, tmp41, atslab_0) ;
ATS_FREE(tmp41) ;
ats_ptrget_mac(ats_ptr_type, arg2) = tmp42 ;
tmp43 = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_filename_toplevel (arg0, tmp42) ;
/* tmp44 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__the_filenamelst_ppush (tmp42) ;
tmp40 = tmp43 ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
// if (tmp41 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_1_1:
ats_ptrget_mac(ats_ptr_type, arg2) = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__filename_dummy ;
/* tmp45 = */ atspre_prerr_string (ATSstrcst("patsopt: error(0)")) ;
/* tmp46 = */ atspre_prerr_string (ATSstrcst(": the given file [")) ;
/* tmp47 = */ atspre_prerr_string (arg1) ;
/* tmp48 = */ atspre_prerr_string (ATSstrcst("] cannot be accessed.")) ;
/* tmp49 = */ atspre_prerr_newline () ;
tmp51 = ATS_MALLOC(sizeof(anairiats_sum_1)) ;
((ats_exn_ptr_type)tmp51)->tag = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN.tag ;
((ats_exn_ptr_type)tmp51)->name = _2home_2hwxi_2research_2Postiats_2git_2src_2pats_error_2esats__PATSOPT_FILENONE_EXN.name ;
ats_selptrset_mac(anairiats_sum_1, tmp51, atslab_0, arg1) ;
/* tmp50 = */ ats_raise_exn (tmp51) ;
tmp40 = (ats_sum_ptr_type)0 ;
break ;
} while (0) ;
return (tmp40) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_parsing_2esats__parse_from_givename_toplevel] */