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_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
_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
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_caskind (ats_ptr_type arg0, ats_ptr_type arg1) {
    /* local vardec */
// ATSlocal_void (tmp33) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_caskind:
    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:
        /* tmp33 = */
        atspre_fprint_string (arg0, ATSstrcst("case")) ;
        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:
        /* tmp33 = */
        atspre_fprint_string (arg0, ATSstrcst("case+")) ;
        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:
        /* tmp33 = */
        atspre_fprint_string (arg0, ATSstrcst("case-")) ;
        break ;
    } while (0) ;
    return /* (tmp33) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_caskind] */
ats_void_type
__ats_fun_21 (ats_ptr_type env0, ats_ptr_type env1, ats_uint_type arg0, ats_ref_type arg1) {
/* local vardec */
// ATSlocal_void (tmp150) ;
// ATSlocal_void (tmp151) ;
// ATSlocal_void (tmp152) ;
// ATSlocal_void (tmp153) ;

__ats_lab___ats_fun_21:
/* tmp151 = */ atspre_fprint_uint (env0, arg0) ;
/* tmp152 = */ atspre_fprint_string (env0, ATSstrcst(" -> ")) ;
/* tmp153 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env1) (env0, ats_ptrget_mac(ats_ptr_type, arg1)) ;
/* tmp150 = */ atspre_fprint_newline (env0) ;
return /* (tmp150) */ ;
} /* end of [__ats_fun_21] */
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_void_type
_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp75) ;
ATSlocal (ats_ptr_type, tmp76) ;
ATSlocal (ats_ptr_type, tmp77) ;
// ATSlocal_void (tmp78) ;
// ATSlocal_void (tmp79) ;

__ats_lab__2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp:

tmp76 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_0) ;
tmp77 = ats_caselptrlab_mac(anairiats_sum_6, arg1, atslab_2) ;
/* tmp78 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_label_2esats__fprint_label (arg0, tmp76) ;
/* tmp79 = */ atspre_fprint_string (arg0, ATSstrcst("=")) ;
/* tmp75 = */ _2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_2esats__fprint_hisexp (arg0, tmp77) ;
return /* (tmp75) */ ;
} /* end of [_2home_2hwxi_2research_2Postiats_2git_2src_2pats_histaexp_print_2edats__fprint_labhisexp] */
ats_void_type
aux_6 (ats_ptr_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp30) ;
ATSlocal (anairiats_rec_2, tmp31) ;
ATSlocal (ats_ptr_type, tmp32) ;
// ATSlocal_void (tmp33) ;
ATSlocal (ats_ptr_type, tmp34) ;
// ATSlocal_void (tmp35) ;
// ATSlocal_void (tmp36) ;
ATSlocal (ats_ptr_type, tmp37) ;
// ATSlocal_void (tmp38) ;

__ats_lab_aux_6:
do {
/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
tmp31 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_0) ;
tmp32 = ats_caselptrlab_mac(anairiats_sum_3, arg1, atslab_1) ;
ATS_FREE(arg1) ;
tmp34 = ats_select_mac(tmp31, atslab_0) ;
/* tmp33 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2var (arg0, tmp34) ;
/* tmp35 = */ atspre_fprint_string (arg0, ATSstrcst(" -> ")) ;
tmp37 = ats_select_mac(tmp31, atslab_1) ;
/* tmp36 = */ _2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_staexp2_2esats__fprint_s2exp (arg0, tmp37) ;
/* tmp38 = */ atspre_fprint_newline (arg0) ;
arg0 = arg0 ;
arg1 = tmp32 ;
goto __ats_lab_aux_6 ; // tail call
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
break ;
} while (0) ;
return /* (tmp30) */ ;
} /* end of [aux_6] */
ats_void_type
aux_31 (ats_ref_type arg0, ats_ptr_type arg1, ats_int_type arg2) {
/* local vardec */
// ATSlocal_void (tmp91) ;
ATSlocal (ats_ptr_type, tmp92) ;
ATSlocal (ats_ptr_type, tmp93) ;
// ATSlocal_void (tmp94) ;
ATSlocal (ats_bool_type, tmp95) ;
// ATSlocal_void (tmp96) ;
ATSlocal (ats_int_type, tmp97) ;

__ats_lab_aux_31:
do {
/* branch: __ats_lab_8 */
__ats_lab_8_0:
if (arg1 == (ats_sum_ptr_type)0) { goto __ats_lab_9_0 ; }
__ats_lab_8_1:
tmp92 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_0) ;
tmp93 = ats_caselptrlab_mac(anairiats_sum_0, arg1, atslab_1) ;
tmp95 = atspre_gt_int_int (arg2, 0) ;
if (tmp95) {
/* tmp94 = */ atspre_fprint_string (arg0, ATSstrcst(", ")) ;
} else {
/* empty */
} /* end of [if] */
/* tmp96 = */ _2opt_2ats_2d0_2e2_2e9_2src_2ats_staexp2_2esats__fprint_d2con (arg0, tmp92) ;
tmp97 = atspre_add_int_int (arg2, 1) ;
arg0 = arg0 ;
arg1 = tmp93 ;
arg2 = tmp97 ;
goto __ats_lab_aux_31 ; // tail call
break ;

/* branch: __ats_lab_9 */
__ats_lab_9_0:
// if (arg1 != (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_9_1:
break ;
} while (0) ;
return /* (tmp91) */ ;
} /* end of [aux_31] */
ats_void_type
aux_2 (ats_ptr_type env0, ats_ptr_type env1, ats_ptr_type env2, ats_ptr_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp21) ;
ATSlocal (ats_ptr_type, tmp22) ;
ATSlocal (ats_ptr_type, tmp23) ;
// ATSlocal_void (tmp24) ;
ATSlocal (ats_bool_type, tmp25) ;
// ATSlocal_void (tmp26) ;
ATSlocal (ats_int_type, tmp27) ;

__ats_lab_aux_2:
do {
/* branch: __ats_lab_4 */
__ats_lab_4_0:
if (arg0 != (ats_sum_ptr_type)0) { goto __ats_lab_5_0 ; }
__ats_lab_4_1:
break ;

/* branch: __ats_lab_5 */
__ats_lab_5_0:
// if (arg0 == (ats_sum_ptr_type)0) { ats_deadcode_failure_handle () ; }
__ats_lab_5_1:
tmp22 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_0) ;
tmp23 = ats_caselptrlab_mac(anairiats_sum_4, arg0, atslab_1) ;
tmp25 = atspre_gt_int_int (arg1, 0) ;
if (tmp25) {
/* tmp24 = */ atspre_fprint_string (env0, env1) ;
} else {
/* empty */
} /* end of [if] */
/* tmp26 = */ ((ats_void_type(*)(ats_ptr_type, ats_ptr_type))env2) (env0, tmp22) ;
tmp27 = atspre_add_int_int (arg1, 1) ;
arg0 = tmp23 ;
arg1 = tmp27 ;
goto __ats_lab_aux_2 ; // tail call
break ;
} while (0) ;
return /* (tmp21) */ ;
} /* end of [aux_2] */
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
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_dcstkind (ats_ptr_type arg0, ats_ptr_type arg1) {
    /* local vardec */
// ATSlocal_void (tmp47) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_dcstkind:
    do {
        /* branch: __ats_lab_46 */
__ats_lab_46_0:
        if (((ats_sum_ptr_type)arg1)->tag != 0) {
            goto __ats_lab_47_0 ;
        }
__ats_lab_46_1:
        /* tmp47 = */
        atspre_fprint_string (arg0, ATSstrcst("DCKfun()")) ;
        break ;

        /* branch: __ats_lab_47 */
__ats_lab_47_0:
        if (((ats_sum_ptr_type)arg1)->tag != 1) {
            goto __ats_lab_48_0 ;
        }
__ats_lab_47_1:
        /* tmp47 = */
        atspre_fprint_string (arg0, ATSstrcst("DCKval()")) ;
        break ;

        /* branch: __ats_lab_48 */
__ats_lab_48_0:
        if (((ats_sum_ptr_type)arg1)->tag != 2) {
            goto __ats_lab_49_0 ;
        }
__ats_lab_48_1:
        /* tmp47 = */
        atspre_fprint_string (arg0, ATSstrcst("DCKpraxi()")) ;
        break ;

        /* branch: __ats_lab_49 */
__ats_lab_49_0:
        if (((ats_sum_ptr_type)arg1)->tag != 3) {
            goto __ats_lab_50_0 ;
        }
__ats_lab_49_1:
        /* tmp47 = */
        atspre_fprint_string (arg0, ATSstrcst("DCKprfun()")) ;
        break ;

        /* branch: __ats_lab_50 */
__ats_lab_50_0:
        if (((ats_sum_ptr_type)arg1)->tag != 4) {
            goto __ats_lab_51_0 ;
        }
__ats_lab_50_1:
        /* tmp47 = */
        atspre_fprint_string (arg0, ATSstrcst("DCKprval()")) ;
        break ;

        /* branch: __ats_lab_51 */
__ats_lab_51_0:
// if (((ats_sum_ptr_type)arg1)->tag != 5) { ats_deadcode_failure_handle () ; }
__ats_lab_51_1:
        /* tmp47 = */
        atspre_fprint_string (arg0, ATSstrcst("DCKcastfn()")) ;
        break ;
    } while (0) ;
    return /* (tmp47) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_dcstkind] */
ats_void_type
_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_funkind (ats_ptr_type arg0, ats_ptr_type arg1) {
    /* local vardec */
// ATSlocal_void (tmp37) ;

__ats_lab__2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_funkind:
    do {
        /* branch: __ats_lab_15 */
__ats_lab_15_0:
        if (((ats_sum_ptr_type)arg1)->tag != 0) {
            goto __ats_lab_16_0 ;
        }
__ats_lab_15_1:
        /* tmp37 = */
        atspre_fprint_string (arg0, ATSstrcst("fn")) ;
        break ;

        /* branch: __ats_lab_16 */
__ats_lab_16_0:
        if (((ats_sum_ptr_type)arg1)->tag != 1) {
            goto __ats_lab_17_0 ;
        }
__ats_lab_16_1:
        /* tmp37 = */
        atspre_fprint_string (arg0, ATSstrcst("fnx")) ;
        break ;

        /* branch: __ats_lab_17 */
__ats_lab_17_0:
        if (((ats_sum_ptr_type)arg1)->tag != 2) {
            goto __ats_lab_18_0 ;
        }
__ats_lab_17_1:
        /* tmp37 = */
        atspre_fprint_string (arg0, ATSstrcst("fun")) ;
        break ;

        /* branch: __ats_lab_18 */
__ats_lab_18_0:
        if (((ats_sum_ptr_type)arg1)->tag != 3) {
            goto __ats_lab_19_0 ;
        }
__ats_lab_18_1:
        /* tmp37 = */
        atspre_fprint_string (arg0, ATSstrcst("prfn")) ;
        break ;

        /* branch: __ats_lab_19 */
__ats_lab_19_0:
        if (((ats_sum_ptr_type)arg1)->tag != 4) {
            goto __ats_lab_20_0 ;
        }
__ats_lab_19_1:
        /* tmp37 = */
        atspre_fprint_string (arg0, ATSstrcst("prfun")) ;
        break ;

        /* branch: __ats_lab_20 */
__ats_lab_20_0:
        if (((ats_sum_ptr_type)arg1)->tag != 5) {
            goto __ats_lab_21_0 ;
        }
__ats_lab_20_1:
        /* tmp37 = */
        atspre_fprint_string (arg0, ATSstrcst("praxi")) ;
        break ;

        /* branch: __ats_lab_21 */
__ats_lab_21_0:
// if (((ats_sum_ptr_type)arg1)->tag != 6) { ats_deadcode_failure_handle () ; }
__ats_lab_21_1:
        /* tmp37 = */
        atspre_fprint_string (arg0, ATSstrcst("castfn")) ;
        break ;
    } while (0) ;
    return /* (tmp37) */ ;
} /* end of [_2home_2hwxi_2Research_2ATS_2dPostiats_2src_2pats_basics_2esats__fprint_funkind] */