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_ptr_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_dotize (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp10) ;
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_int_type, tmp12) ;
ATSlocal (ats_ptr_type, tmp13) ;
ATSlocal (ats_ptr_type, tmp14) ;
ATSlocal (ats_ptr_type, tmp15) ;
ATSlocal (ats_ptr_type, tmp16) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_dotize:
do {
/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (((ats_sum_ptr_type)arg0)->tag != 0) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
tmp12 = ats_caselptrlab_mac(anairiats_sum_0, arg0, atslab_0) ;
tmp13 = atspre_tostringf (ATSstrcst(".%i"), tmp12) ;
tmp11 = ats_castfn_mac(ats_ptr_type, tmp13) ;
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
// if (((ats_sum_ptr_type)arg0)->tag != 1) { ats_deadcode_failure_handle () ; }
__ats_lab_9_1:
tmp14 = ats_caselptrlab_mac(anairiats_sum_1, arg0, atslab_0) ;
tmp16 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_get_name (tmp14) ;
tmp15 = atspre_tostringf (ATSstrcst(".%s"), tmp16) ;
tmp11 = ats_castfn_mac(ats_ptr_type, tmp15) ;
break ;
} while (0) ;
tmp10 = _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_symbol_2esats__symbol_make_string (tmp11) ;
return (tmp10) ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_label_2esats__label_dotize] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp137) ;
ATSlocal (ats_int_type, tmp138) ;
ATSlocal (ats_bool_type, tmp139) ;
// ATSlocal_void (tmp140) ;
// ATSlocal_void (tmp141) ;
ATSlocal (ats_int_type, tmp142) ;
// ATSlocal_void (tmp143) ;
// ATSlocal_void (tmp144) ;
ATSlocal (ats_ptr_type, tmp145) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma:
tmp138 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_beg_nrow) ;
tmp139 = atspre_gte_int_int (tmp138, 0) ;
if (tmp139) {
/* tmp140 = */ atspre_fprint_string (arg0, ATSstrcst("#line ")) ;
tmp142 = atspre_add_int_int (tmp138, 1) ;
/* tmp141 = */ atspre_fprint_int (arg0, tmp142) ;
/* tmp143 = */ atspre_fprint_string (arg0, ATSstrcst(" \"")) ;
tmp145 = ats_selbox_mac(ats_castptr_mac(anairiats_rec_0, arg1), atslab_filename) ;
/* tmp144 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_filename_2esats__fprint_filename_full (arg0, tmp145) ;
/* tmp137 = */ atspre_fprint_string (arg0, ATSstrcst("\"\n")) ;
} else {
/* empty */
} /* end of [if] */
return /* (tmp137) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_location_2esats__fprint_line_pragma] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_assoc (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp0) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_assoc:
do {
/* branch: __ats_lab_0 */
__ats_lab_0_0:
if (((ats_sum_ptr_type)arg1)->tag != 0) { goto __ats_lab_1_0 ; }
__ats_lab_0_1:
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("ASSOCnon")) ;
break ;

/* branch: __ats_lab_1 */
__ats_lab_1_0:
if (((ats_sum_ptr_type)arg1)->tag != 1) { goto __ats_lab_2_0 ; }
__ats_lab_1_1:
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("ASSOClft")) ;
break ;

/* branch: __ats_lab_2 */
__ats_lab_2_0:
// if (((ats_sum_ptr_type)arg1)->tag != 2) { ats_deadcode_failure_handle () ; }
__ats_lab_2_1:
/* tmp0 = */ atspre_fprint_string (arg0, ATSstrcst("ASSOCrgt")) ;
break ;
} while (0) ;
return /* (tmp0) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_fixity_2esats__fprint_assoc] */
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_funclo (ats_ptr_type arg0, ats_ptr_type arg1) {
    /* local vardec */
// ATSlocal_void (tmp58) ;
    ATSlocal (ats_int_type, tmp59) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_funclo:
    do {
        /* branch: __ats_lab_61 */
__ats_lab_61_0:
        if (arg1 == (ats_sum_ptr_type)0) {
            goto __ats_lab_62_0 ;
        }
__ats_lab_61_1:
        tmp59 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ;
        /* tmp58 = */ atspre_fprintf_exn (arg0, ATSstrcst("CLO(%i)"), tmp59) ;
        break ;

        /* branch: __ats_lab_62 */
__ats_lab_62_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_62_1:
        /* tmp58 = */
        atspre_fprintf_exn (arg0, ATSstrcst("FUN")) ;
        break ;
    } while (0) ;
    return /* (tmp58) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_funclo] */
ats_void_type
ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats (ats_ref_type arg0) {
/* local vardec */
// ATSlocal_void (tmp0) ;
ATSlocal (ats_int_type, tmp1) ;
// ATSlocal_void (tmp2) ;
ATSlocal (ats_int_type, tmp3) ;
ATSlocal (ats_ptr_type, tmp4) ;
// ATSlocal_void (tmp5) ;

__ats_lab_ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats:
#line 198 "gcats1_top.dats"
tmp1 = the_chunk_count_get () ;
#line 200 "gcats1_top.dats"
/* tmp2 = */ atspre_fprintf_exn (arg0, ATSstrcst("the_chunk_count:\t%i\n"), tmp1) ;
#line 203 "gcats1_top.dats"
tmp4 = freeitmlst_chunk_data_get () ;
#line 203 "gcats1_top.dats"
tmp3 = freeitmlst_length (tmp4) ;
#line 205 "gcats1_top.dats"
/* tmp5 = */ atspre_fprintf_exn (arg0, ATSstrcst("the_free_chunk_data_count:\t%i\n"), tmp3) ;
#line 219 "gcats1_top.dats"
/* tmp0 = */ gcats1_top_loop_1 (arg0, 0) ;
return /* (tmp0) */ ;
} /* end of [ATS_2d0_2e2_2e10_2ccomp_2runtime_2GCATS1_2gcats1_2esats__gc_fprint_stats] */
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] */
ats_bool_type
name_is_wrt_6 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp11) ;
ATSlocal (ats_bool_type, tmp12) ;

__ats_lab_name_is_wrt_6:
tmp12 = atspre_eq_string_string (arg0, ATSstrcst("wrt")) ;
if (tmp12) {
tmp11 = ats_true_bool ;
} else {
tmp11 = atspre_eq_string_string (arg0, ATSstrcst("write")) ;
} /* end of [if] */
return (tmp11) ;
} /* end of [name_is_wrt_6] */
ats_void_type
prerr_interror_loc_02083_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp16) ;
// ATSlocal_void (tmp17) ;
// ATSlocal_void (tmp18) ;
// ATSlocal_void (tmp19) ;

__ats_lab_prerr_interror_loc_02083_:
/* tmp17 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp18 = */ atspre_prerr_string (ATSstrcst(": INTERROR(")) ;
/* tmp19 = */ prerr_FILENAME_02081_ () ;
/* tmp16 = */ atspre_prerr_string (ATSstrcst(")")) ;
return /* (tmp16) */ ;
} /* end of [prerr_interror_loc_02083_] */
ats_bool_type
name_is_exn_4 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp7) ;
ATSlocal (ats_bool_type, tmp8) ;

__ats_lab_name_is_exn_4:
tmp8 = atspre_eq_string_string (arg0, ATSstrcst("exn")) ;
if (tmp8) {
tmp7 = ats_true_bool ;
} else {
tmp7 = atspre_eq_string_string (arg0, ATSstrcst("exception")) ;
} /* end of [if] */
return (tmp7) ;
} /* end of [name_is_exn_4] */
ats_bool_type
name_is_ref_5 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp9) ;
ATSlocal (ats_bool_type, tmp10) ;

__ats_lab_name_is_ref_5:
tmp10 = atspre_eq_string_string (arg0, ATSstrcst("ref")) ;
if (tmp10) {
tmp9 = ats_true_bool ;
} else {
tmp9 = atspre_eq_string_string (arg0, ATSstrcst("reference")) ;
} /* end of [if] */
return (tmp9) ;
} /* end of [name_is_ref_5] */
ats_bool_type
name_is_ntm_3 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp5) ;
ATSlocal (ats_bool_type, tmp6) ;

__ats_lab_name_is_ntm_3:
tmp6 = atspre_eq_string_string (arg0, ATSstrcst("ntm")) ;
if (tmp6) {
tmp5 = ats_true_bool ;
} else {
tmp5 = atspre_eq_string_string (arg0, ATSstrcst("nonterm")) ;
} /* end of [if] */
return (tmp5) ;
} /* end of [name_is_ntm_3] */
ats_bool_type
name_is_all_2 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp3) ;
ATSlocal (ats_bool_type, tmp4) ;

__ats_lab_name_is_all_2:
tmp4 = atspre_eq_string_string (arg0, ATSstrcst("1")) ;
if (tmp4) {
tmp3 = ats_true_bool ;
} else {
tmp3 = atspre_eq_string_string (arg0, ATSstrcst("all")) ;
} /* end of [if] */
return (tmp3) ;
} /* end of [name_is_all_2] */
ats_bool_type
name_is_nil_1 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp1) ;
ATSlocal (ats_bool_type, tmp2) ;

__ats_lab_name_is_nil_1:
tmp2 = atspre_eq_string_string (arg0, ATSstrcst("0")) ;
if (tmp2) {
tmp1 = ats_true_bool ;
} else {
tmp1 = atspre_eq_string_string (arg0, ATSstrcst("nil")) ;
} /* end of [if] */
return (tmp1) ;
} /* end of [name_is_nil_1] */
ats_void_type
ATS_2d0_2e2_2e10_2libc_2sys_2SATS_2socket_in_2esats__connect_in_exn (ats_int_type arg0, ats_ref_type arg1) {
/* local vardec */
// ATSlocal_void (tmp6) ;
ATSlocal (ats_int_type, tmp7) ;
ATSlocal (ats_int_type, tmp8) ;
ATSlocal (ats_bool_type, tmp9) ;
// ATSlocal_void (tmp10) ;
// ATSlocal_void (tmp11) ;

__ats_lab_ATS_2d0_2e2_2e10_2libc_2sys_2SATS_2socket_in_2esats__connect_in_exn:
tmp7 = atslib_connect_err (arg0, arg1, atslib_socklen_in) ;
tmp8 = ats_selsin_mac(tmp7, atslab_1) ;
tmp9 = atspre_igte (tmp8, 0) ;
if (tmp9) {
/* empty */
} else {
/* tmp10 = */ atslib_perror (ATSstrcst("connect")) ;
/* tmp11 = */ ats_exit (EXIT_FAILURE) ;
arg0 = arg0 ;
arg1 = arg1 ;
goto __ats_lab_ATS_2d0_2e2_2e10_2libc_2sys_2SATS_2socket_in_2esats__connect_in_exn ; // tail call
} /* end of [if] */
return /* (tmp6) */ ;
} /* end of [ATS_2d0_2e2_2e10_2libc_2sys_2SATS_2socket_in_2esats__connect_in_exn] */
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_void_type
ATS_2d0_2e2_2e10_2libc_2sys_2SATS_2socket_in_2esats__bind_in_exn (ats_int_type arg0, ats_ref_type arg1) {
/* local vardec */
// ATSlocal_void (tmp0) ;
ATSlocal (ats_int_type, tmp1) ;
ATSlocal (ats_int_type, tmp2) ;
ATSlocal (ats_bool_type, tmp3) ;
// ATSlocal_void (tmp4) ;
// ATSlocal_void (tmp5) ;

__ats_lab_ATS_2d0_2e2_2e10_2libc_2sys_2SATS_2socket_in_2esats__bind_in_exn:
tmp1 = atslib_bind_err (arg0, arg1, atslib_socklen_in) ;
tmp2 = ats_selsin_mac(tmp1, atslab_1) ;
tmp3 = atspre_igte (tmp2, 0) ;
if (tmp3) {
/* empty */
} else {
/* tmp4 = */ atslib_perror (ATSstrcst("bind")) ;
/* tmp5 = */ ats_exit (EXIT_FAILURE) ;
arg0 = arg0 ;
arg1 = arg1 ;
goto __ats_lab_ATS_2d0_2e2_2e10_2libc_2sys_2SATS_2socket_in_2esats__bind_in_exn ; // tail call
} /* end of [if] */
return /* (tmp0) */ ;
} /* end of [ATS_2d0_2e2_2e10_2libc_2sys_2SATS_2socket_in_2esats__bind_in_exn] */
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_valkind (ats_ptr_type arg0, ats_ptr_type arg1) {
    /* local vardec */
// ATSlocal_void (tmp39) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_valkind:
    do {
        /* branch: __ats_lab_24 */
__ats_lab_24_0:
        if (((ats_sum_ptr_type)arg1)->tag != 0) {
            goto __ats_lab_25_0 ;
        }
__ats_lab_24_1:
        /* tmp39 = */
        atspre_fprint_string (arg0, ATSstrcst("val")) ;
        break ;

        /* branch: __ats_lab_25 */
__ats_lab_25_0:
        if (((ats_sum_ptr_type)arg1)->tag != 1) {
            goto __ats_lab_26_0 ;
        }
__ats_lab_25_1:
        /* tmp39 = */
        atspre_fprint_string (arg0, ATSstrcst("val+")) ;
        break ;

        /* branch: __ats_lab_26 */
__ats_lab_26_0:
        if (((ats_sum_ptr_type)arg1)->tag != 2) {
            goto __ats_lab_27_0 ;
        }
__ats_lab_26_1:
        /* tmp39 = */
        atspre_fprint_string (arg0, ATSstrcst("val-")) ;
        break ;

        /* branch: __ats_lab_27 */
__ats_lab_27_0:
// if (((ats_sum_ptr_type)arg1)->tag != 3) { ats_deadcode_failure_handle () ; }
__ats_lab_27_1:
        /* tmp39 = */
        atspre_fprint_string (arg0, ATSstrcst("prval")) ;
        break ;
    } while (0) ;
    return /* (tmp39) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_valkind] */
ats_void_type
prerr_FILENAME_01890_ () {
/* local vardec */
// ATSlocal_void (tmp0) ;

__ats_lab_prerr_FILENAME_01890_:
/* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans1_staexp")) ;
return /* (tmp0) */ ;
} /* end of [prerr_FILENAME_01890_] */
ats_bool_type
name_is_refwrt_10 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp16) ;

__ats_lab_name_is_refwrt_10:
tmp16 = atspre_eq_string_string (arg0, ATSstrcst("refwrt")) ;
return (tmp16) ;
} /* end of [name_is_refwrt_10] */
ats_bool_type
name_is_exnrefwrt_9 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp15) ;

__ats_lab_name_is_exnrefwrt_9:
tmp15 = atspre_eq_string_string (arg0, ATSstrcst("exnrefwrt")) ;
return (tmp15) ;
} /* end of [name_is_exnrefwrt_9] */
ats_bool_type
name_is_exnref_7 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp13) ;

__ats_lab_name_is_exnref_7:
tmp13 = atspre_eq_string_string (arg0, ATSstrcst("exnref")) ;
return (tmp13) ;
} /* end of [name_is_exnref_7] */
ats_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp80) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst:
/* tmp80 = */ fprintlst_01694_ats_ptr_type (arg0, arg1, ATSstrcst(", "), &_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp) ;
return /* (tmp80) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexplst] */
ats_void_type
prerr_FILENAME_02081_ () {
/* local vardec */
// ATSlocal_void (tmp0) ;

__ats_lab_prerr_FILENAME_02081_:
/* tmp0 = */ atspre_prerr_string (ATSstrcst("pats_trans2_sort.dats")) ;
return /* (tmp0) */ ;
} /* end of [prerr_FILENAME_02081_] */
ats_bool_type
name_is_lazy_11 (ats_ptr_type arg0) {
/* local vardec */
ATSlocal (ats_bool_type, tmp17) ;

__ats_lab_name_is_lazy_11:
tmp17 = atspre_eq_string_string (arg0, ATSstrcst("laz")) ;
return (tmp17) ;
} /* end of [name_is_lazy_11] */
ats_size_type
atslib_fildes_read_all_exn (ats_int_type arg0, ats_ref_type arg1, ats_size_type arg2) {
/* local vardec */
ATSlocal (ats_size_type, tmp30) ;
ATSlocal (ats_ssize_type, tmp31) ;
ATSlocal (ats_bool_type, tmp32) ;
// ATSlocal_void (tmp33) ;

__ats_lab_atslib_fildes_read_all_exn:
tmp31 = atslib_fildes_read_all_err (arg0, arg1, arg2) ;
tmp32 = atspre_gte_ssize1_int1 (tmp31, 0) ;
if (tmp32) {
tmp30 = ats_castfn_mac(ats_size_type, tmp31) ;
} else {
/* tmp33 = */ atslib_perror (ATSstrcst("read")) ;
/* tmp30 = */ ats_exit_errmsg (EXIT_FAILURE, ATSstrcst("exit(ATS): [read_all] failed\n")) ;
} /* end of [if] */
return (tmp30) ;
} /* end of [atslib_fildes_read_all_exn] */
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
prerr_error2_loc_02085_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp23) ;
// ATSlocal_void (tmp24) ;

__ats_lab_prerr_error2_loc_02085_:
/* tmp24 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp23 = */ atspre_prerr_string (ATSstrcst(": error(2)")) ;
return /* (tmp23) */ ;
} /* end of [prerr_error2_loc_02085_] */
ats_ptr_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count (ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp11) ;
ATSlocal (ats_ptr_type, tmp12) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count:
tmp12 = atspre_tostringf (ATSstrcst("%s%i"), arg0, arg1) ;
tmp11 = ats_castfn_mac(ats_ptr_type, tmp12) ;
return (tmp11) ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_counter_2esats__tostring_prefix_count] */
ats_void_type
prerr_error1_loc_01893_ (ats_ptr_type arg0) {
/* local vardec */
// ATSlocal_void (tmp21) ;
// ATSlocal_void (tmp22) ;

__ats_lab_prerr_error1_loc_01893_:
/* tmp22 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_location_2esats__prerr_location (arg0) ;
/* tmp21 = */ atspre_prerr_string (ATSstrcst(": error(1)")) ;
return /* (tmp21) */ ;
} /* end of [prerr_error1_loc_01893_] */